ChangeLog-2006-05-10   [plain text]


2006-05-10  Matt Gough  <matt@softchaos.com>

        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.

2006-05-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.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().

2006-05-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.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.

2006-05-09  Darin Adler  <darin@apple.com>

        - 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.

2006-05-09  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.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.

2006-05-09  Darin Adler  <darin@apple.com>

        - 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.

2006-05-09  Darin Adler  <darin@apple.com>

        Rubber stamped by Hyatt.

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

        - fix http://bugs.webkit.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.

2006-05-09  Tim Omernick  <timo@apple.com>

        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):

2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Fix Windows build.  Added TextDocument.cpp to vcproj.
        
        Reviewed by adele.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

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.

2006-05-09  David Hyatt  <hyatt@apple.com>

        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):

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

        Reviewed by Darin.

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

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

        Reviewed by Darin.

        http://bugs.webkit.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.

2006-05-09  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Anders.
        
        - renamed kxmlcore to wtf
        
        kxmlcore --> wtf
        KXMLCore --> WTF
        KXC --> 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:

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

        Reviewed by Maciej.

        http://bugs.webkit.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.

2006-05-09  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.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.

2006-05-08  Maciej Stachowiak  <mjs@apple.com>

        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://bugs.webkit.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):

2006-05-08  Levi Weintraub  <lweintraub@apple.com>

        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.

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

        Try fixing the Win32 build
        
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        Add XPath files to project.

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

        Reviewed by Darin, Eric and Maciej.

        http://bugs.webkit.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.

2006-05-08  David Hyatt  <hyatt@apple.com>

        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:

2006-05-07  Darin Adler  <darin@apple.com>
        
        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.
        
2006-05-07  David Hyatt  <hyatt@apple.com>

        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):

2006-05-07  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.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.

2006-05-06  David Hyatt  <hyatt@apple.com>

        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):

2006-05-05  Darin Adler  <darin@apple.com>

        - fix the Windows build

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

2006-05-05  Darin Adler  <darin@apple.com>

        * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
        Removed an extra ! that was causing everything to fail.

2006-05-05  Darin Adler  <darin@apple.com>

        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.

2006-05-05  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - http://bugs.webkit.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.

2006-05-05  Darin Adler  <darin@apple.com>

        - fix the Windows build (this time for sure)

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

2006-05-05  Darin Adler  <darin@apple.com>

        - fix the Windows build

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

2006-05-05  Darin Adler  <darin@apple.com>

        - get the Windows 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.

2006-05-05  Darin Adler  <darin@apple.com>

        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://bugs.webkit.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.

2006-05-05  Matt Gough  <matt@softchaos.com>

        Reviewed by Darin.

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

        Test: fast/doctypes/005-case-preserving.html

        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

2006-05-05  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8445:
        [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]):

2006-05-04  Darin Adler  <darin@apple.com>

        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.

2006-05-04  Justin Garcia  <justin.garcia@apple.com>

        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:

2006-05-04  Tim Omernick  <timo@apple.com>

        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.

2006-05-04  Tim Omernick  <timo@apple.com>

        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().

2006-05-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        Add drag & drop support to <input type="file">
        http://bugs.webkit.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:]):

2006-05-04  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.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.

2006-05-04  David Hyatt  <hyatt@apple.com>

        Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
        cached renderer.

        Reviewed by beth

        * bridge/mac/WebCoreStringTruncator.h:
        * bridge/mac/WebCoreStringTruncator.mm:
        (+[WebCoreStringTruncator clear]):
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory clearCaches]):

2006-05-03  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - http://bugs.webkit.org/show_bug.cgi?id=8696
          another round of GraphicsContext improvements

        * WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp.
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function.
        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
        (WebCore::CanvasRenderingContext2D::translate): Ditto.
        * kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch,
        but it's needed for one of my upcoming ones).

        * platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color
        instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added
        scale, rotate, and translate functions.
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32.
        (WebCore::GraphicsContext::fillColor): Ditto.

        * platform/GraphicsTypes.h: Moved HorizontalAlignment here.
        * platform/Widget.h: Removed HorizontalAlignment from here.

        * platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm.
        (WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext].
        (WebCore::GraphicsContext::drawLine): Ditto.
        (WebCore::GraphicsContext::drawEllipse): Ditto.
        (WebCore::GraphicsContext::drawArc): Ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::GraphicsContext::fillRect): Ditto.
        (WebCore::GraphicsContext::setLineWidth):  Added check of paintingDisabled(). 
        (WebCore::GraphicsContext::setMiterLimit): Ditto.
        (WebCore::GraphicsContext::setAlpha): Ditto.
        (WebCore::GraphicsContext::clearRect): Ditto.
        (WebCore::GraphicsContext::strokeRect): Ditto.
        (WebCore::GraphicsContext::setLineCap): Ditto.
        (WebCore::GraphicsContext::setLineJoin): Ditto.
        (WebCore::GraphicsContext::clip): Ditto.
        (WebCore::GraphicsContext::scale): Added.
        (WebCore::GraphicsContext::rotate): Added.
        (WebCore::GraphicsContext::translate): Added.

        * platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp.
        (WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().

        * platform/mac/WebCoreSystemInterface.h: Added declarations so this header
        stands alone.

2006-05-03  Darin Adler  <darin@apple.com>

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8159
          REGRESSION: Clicking outside new text field focuses the field

        This bug has always been present for "content editable" HTML, but
        now affects <input type=text> as well. The problem is with the editing
        concept of a "deep equivalent". When computing the deep equivalent,
        the code can move from outside an editable area to inside. To fix this,
        I removed all use of the "deep equivalent" concept.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
        Changed argument names from _x and _y to just x and y. When the element
        is the editable root, changed things so that clicks that are not within
        the element at all return positions before or after the element, rather than
        always choosing the closest point within the element. This gets us off on
        the right foot, by not choosing a position inside an editable root when you
        click outside that editable root. This code handles shadowParentNode as well,
        and also calls positionForCoordinates on children rather than calling
        positionForRenderer (which I believe is now a function that can be removed).

        * editing/VisiblePosition.h: Removed the deepEquivalent function.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::previousVisiblePosition): Removed use of the
        deepEquivalent function. Also, to make this function easier to understand
        I separated out the case where the start point is "in rendered content"
        and the case where it's not into two separate loops.
        (WebCore::VisiblePosition::nextVisiblePosition): Ditto.
        (WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent
        function. Also added code to make sure that this work never turns a position
        outside an editable element into a position inside that editable element, or
        vice versa. Reorganized the code a bit.

        * dom/Position.cpp:
        (WebCore::Position::upstream): Removed use of the deepEquivalent function.
        (WebCore::Position::downstream): Ditto.

        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget
        and isImage to determine if editing should ignore content.
        (WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement
        to have code to share with positionBeforeContainingSpecialElement. And changed
        to allow both the position just before a table and the position just inside a
        table to qualify. While this is slightly sloppy, the old code worked because
        of the "deep equivalent" technique. This change is needed to get the desired
        results even without that technique.
        (WebCore::lastInSpecialElement): Ditto.
        (WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function.
        (WebCore::positionBeforeContainingSpecialElement): Ditto.
        (WebCore::isLastVisiblePositionInSpecialElement): Ditto.
        (WebCore::positionAfterContainingSpecialElement): Ditto.

        * dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove
        special case for body tag.

        - other changes

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact
        that this won't merge neighboring text nodes the way setOuterText does.
        (WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that
        this creates a text node even when setting to empty text.
        (WebCore::HTMLElement::setOuterText): Ditto.

        * editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0.
        * editing/ReplaceSelectionCommand.cpp: A little reformatting.
        * rendering/render_button.h: Tiny formatting tweak.

2006-05-02  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Fix for <rdar://problem/4523671> 
        REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.

        * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]):
        Use the documentView to compute the correct rect for the element when the view is scrolled.

2006-05-02  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=8704>
        Fix a few end merge bugs
        <rdar://problem/4424044>
        REGRESSION: Extra line appears when typing

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): 
        Use renamed characterAfter.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        Regenerate a VisiblePosition that became stale during a text node split.
        Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved
        newlines into nbsps, 2) I think it should only be done during serialization, not after 
        every command (since editable regions now always have -webkit-nbsp-mode:space on them).
        Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders.
        
        * editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME.
        (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information.
        (WebCore::ReplaceSelectionCommand::doApply):
        Call shouldMergeEnd after the insertion so that it can use rendering information.
        Don't use positionAfterNode of the last node inserted to mark the position at the end 
        of inserted content because canonicalization can send it into content that was already
        in the document.
        
        * editing/ReplaceSelectionCommand.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::characterAfter): 
        Renamed.  When two candidates are visually equivalent, the rightmost candidate will be 
        the one inside the text node where the character will be.
        
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        (WebCore::enclosingTableCell): Added.
        (WebCore::enclosingList):
        * editing/htmlediting.h:

2006-05-02  David Hyatt  <hyatt@apple.com>

        Partial fix for the crash in bugzilla bug 8088.  There's a third crash
        even after fixing this though.

        Reviewed by darin

        * platform/mac/WebTextRenderer.mm:
        (WebCore::WidthMap::widths):
        (WebCore::extendWidthMap):
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory clearCaches]):

2006-05-02  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by eric.

        * WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin): turned on javascript.
        * kwq/KWQKHTMLSettings.h: 
        (KHTMLSettings::KHTMLSettings): initialized settings to 0

2006-05-02  David Hyatt  <hyatt@apple.com>

        Make sure to updateLayout on all scrolling functions (in particular when
        setting scrollLeft/Top).

        Reviewed by eric

        fast/overflow/008,html added as a test case.

        * dom/Element.cpp:
        (WebCore::Element::scrollIntoView):
        (WebCore::Element::scrollIntoViewIfNeeded):
        (WebCore::Element::setScrollLeft):
        (WebCore::Element::setScrollTop):

2006-05-02  Anders Carlsson  <andersca@mac.com>

        Reviewed by Dave Hyatt.
        
        http://bugs.webkit.org/show_bug.cgi?id=8688
        file URLs aren't being serialized correctly when using window.location
        
        * platform/KURL.cpp:
        (KURL::prettyURL):
        Append "//" for file URLs.
        
2006-05-01  David Hyatt  <hyatt@apple.com>

        Convert WebTextRenderer to be a C++ class.  Change the factory so
        that it uses pointer-based hashmaps instead of NSMutableDictionaries.
        Convert uses of malloc/free to new/delete so that they start using
        the fastMalloc/fastFree code.

        Reviewed by darin

        * bridge/mac/WebCoreStringTruncator.mm:
        (stringWidth):
        (truncateString):
        * kwq/KWQComboBox.mm:
        (QComboBox::sizeHint):
        * kwq/KWQLineEdit.mm:
        (QLineEdit::sizeForCharacterWidth):
        * kwq/KWQListBox.mm:
        (itemTextRenderer):
        (groupLabelTextRenderer):
        (QListBox::sizeForNumberOfLines):
        (QListBox::clearCachedTextRenderers):
        (-[KWQTableView drawRow:clipRect:]):
        * platform/FontDataSet.h:
        * platform/mac/FontMac.mm:
        (WebCore::FontDataSet::~FontDataSet):
        (WebCore::FontDataSet::getRenderer):
        (WebCore::FontDataSet::invalidate):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::xHeight):
        (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:
        (WebCore::WebTextRenderer::ascent):
        (WebCore::WebTextRenderer::descent):
        (WebCore::WebTextRenderer::lineSpacing):
        (WebCore::WebTextRenderer::lineGap):
        (WebCore::WebTextRenderer::misspellingLineThickness):
        (WebCore::WebTextRenderer::misspellingLinePatternWidth):
        (WebCore::WebTextRenderer::misspellingLinePatternGapWidth):
        * platform/mac/WebTextRenderer.mm:
        (WebCore::WebCoreInitializeFont):
        (WebCore::WebCoreInitializeTextRun):
        (WebCore::WebCoreInitializeEmptyTextStyle):
        (WebCore::WebCoreInitializeEmptyTextGeometry):
        (WebCore::widthForGlyph):
        (WebCore::overrideLayoutOperation):
        (WebCore::m_ATSUMirrors):
        (WebCore::WebTextRenderer::~WebTextRenderer):
        (WebCore::WebTextRenderer::xHeight):
        (WebCore::WebTextRenderer::drawRun):
        (WebCore::WebTextRenderer::floatWidthForRun):
        (WebCore::WebTextRenderer::drawLineForCharacters):
        (WebCore::WebTextRenderer::selectionRectForRun):
        (WebCore::WebTextRenderer::drawHighlightForRun):
        (WebCore::WebTextRenderer::drawLineForMisspelling):
        (WebCore::WebTextRenderer::pointToOffset):
        (WebCore::WebTextRenderer::setAlwaysUseATSU):
        (WebCore::getSmallCapsRenderer):
        (WebCore::findSubstituteFont):
        (WebCore::rendererForAlternateFont):
        (WebCore::computeWidthForSpace):
        (WebCore::setUpFont):
        (WebCore::CG_selectionRect):
        (WebCore::CG_draw):
        (WebCore::updateGlyphMapEntry):
        (WebCore::extendGlyphMap):
        (WebCore::extendWidthMap):
        (WebCore::initializeATSUStyle):
        (WebCore::createATSULayoutParameters):
        (WebCore::disposeATSULayoutParameters):
        (WebCore::addDirectionalOverride):
        (WebCore::ATSU_selectionRect):
        (WebCore::ATSU_draw):
        (WebCore::ATSU_pointToOffset):
        (WebCore::freeWidthMap):
        (WebCore::freeGlyphMap):
        (WebCore::glyphForCharacter):
        (WebCore::advanceWidthIterator):
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory clearCaches]):
        (-[WebTextRendererFactory init]):
        (-[WebTextRendererFactory dealloc]):
        (-[WebTextRendererFactory rendererWithFont:]):

2006-05-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8653>
        Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        Removed code that stopped the merge if the end of the selection to delete
        was in a fully selected line, which was nonsense.
        
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        Deletion does a bad job of updating the endpoints of the selection as it removes 
        content.  If the endpoints have been flip flipped, bail.
        If deletion has removed everything from the block that contained the
        start of the selection to delete, we can't create a visible position inside 
        that block to serve as a destination for the merge.  So, we insert a placeholder 
        at that position to prop the block open to let content in.
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Added an assert and two early returns for cases where we'll crash.
        Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info 
        and which was wrong.
        If we've already inserted content during the start merge, insertionPos will be 
        the position just after that content, so inserting new content before insertionPos 
        will reverse its order.

2006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - manual test for http://bugs.webkit.org/show_bug.cgi?id=8658
          Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
          (bridge is null) when clicking QuickTime object with href

        * manual-tests/plugin-controller-datasource.html: Added.
        * manual-tests/resources/orange.mov: Added.

2006-04-30  Rob Buis  <buis@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8651:
        CGContextSetLineDash: invalid dash array: emmited during WebKit tests

        Properly discard invalid stroke-dasharray properties like in
        invalid-css.svg.  (Tests updated.)

        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGStrokeDasharray):

2006-04-28  David Hyatt  <hyatt@apple.com>

        Make image buffer sizes in the loader more accurate, since we know we store
        buffers with 4 bytes per pixel.  Double sizes to account for this.  Also
        deal better with animated GIFs that may have thousands of frames by adding
        in a heuristic that will use the data size instead of a single frame RGBA32
        buffer size if it's larger.

        Reviewed by darin

        * loader/Cache.cpp:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::data):

2006-04-28  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by eric.

        No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::~FrameWin):
        * bridge/win/PageWin.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::saveDocumentState):
        (Path::contains):
        (Path::boundingRect):

2006-04-28  David Hyatt  <hyatt@apple.com>

        Merge WebCoreTextRenderer into WebTextRenderer.  Merge WebCoreTextRendererFactory
        into WebTextRendererFactory.  Change all callers to refer to the concrete classes
        now.  Change WebCoreTextRenderer.h to be the public API that WebKit uses when
        it calls in to WebCore.  Clean up the exports to remove things WebKit no longer
        needs.

        Reviewed by darin

        * WebCore.exp:
        * 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.h:
        * platform/FontDataSet.h:
        * platform/mac/FontMac.mm:
        (WebCore::FontDataSet::getWebCoreFont):
        (WebCore::FontDataSet::getRenderer):
        (WebCore::FontDataSet::determinePitch):
        * platform/mac/WebCoreTextRenderer.h:
        * platform/mac/WebCoreTextRendererFactory.mm:
        (-[WebCoreTextRendererFactory init]):
        * platform/mac/WebTextRenderer.h:
        * platform/mac/WebTextRenderer.mm:
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        (WebCoreInitializeFont):
        (WebCoreInitializeTextRun):
        (WebCoreInitializeEmptyTextStyle):
        (WebCoreInitializeEmptyTextGeometry):
        (-[WebTextRendererFactory clearCaches]):
        (+[WebTextRendererFactory createSharedFactory]):
        (+[WebTextRendererFactory sharedFactory]):
        (-[WebTextRendererFactory init]):

2006-04-28  David Hyatt  <hyatt@apple.com>

        Fix for 8586, move WebTextRenderer into WebCore.

        Reviewed by darin

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreStringTruncator.mm:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * platform/mac/WebCoreTextRenderer.h:
        * platform/mac/WebCoreTextRendererFactory.mm:
        (+[WebCoreTextRendererFactory sharedFactory]):
        * platform/mac/WebTextRenderer.h: Added.
        * platform/mac/WebTextRenderer.mm: Added.
        (widthForGlyph):
        (-[WebTextRenderer initWithFont:]):
        (destroy):
        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
        (findSubstituteFont):
        (setUpFont):
        (pathFromFont):
        (drawGlyphs):
        (CG_draw):
        (extendGlyphMap):
        (extendWidthMap):
        (initializeATSUStyle):
        (createATSULayoutParameters):
        (getTextBounds):
        (addDirectionalOverride):
        (ATSU_draw):
        (normalizeVoicingMarks):
        (advanceWidthIterator):
        (fillStyleWithAttributes):
        * platform/mac/WebTextRendererFactory.h: Added.
        * platform/mac/WebTextRendererFactory.mm: Added.
        (getAppDefaultValue):
        (getUserDefaultValue):
        (getLCDScaleParameters):
        (fontsChanged):
        (+[WebTextRendererFactory createSharedFactory]):
        (-[WebTextRendererFactory isFontFixedPitch:]):
        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
        (FontCacheKeyCopy):
        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):

2006-04-28  Eric Seidel  <eseidel@apple.com>

        Fix by beth.  Reviewed by darin.  Landed by eseidel.

        Make hackish fix to avoid crash in Xcode and Filemaker.
        <rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window)

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):

2006-04-28  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by hyatt.

        - http://bugs.webkit.org/show_bug.cgi?id=5855
          REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2, 
        <http://weblogs.mozillazine.org/hyatt/acid6.txt>.

2006-04-28  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - http://bugs.webkit.org/show_bug.cgi?id=8608
          make GraphicsContext more suitable for cross-platform use, step 2

        - Changed GraphicsContext to use NSGraphicsContext as little as possible.
        - Removed the printing flag from GraphicsContext.
        - Changed GraphicsContext to assume the NSGraphicsContext is always flipped,
          and got rid of parameters to pass the flipped boolean around.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove
        CompositeOperator.h/cpp.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
        * html/CanvasPattern.cpp: (WebCore::patternCallback):
        * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext):
        * platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus):
        Update for changes to GraphicsContext constructor (no flipped or printing boolean).

        * html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the
        LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining
        types here in this class. Changed m_platformContextStrokeStyleIsPattern and
        m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and
        m_appliedFillPattern and moved them outside the __APPLE__ ifdefs. Removed the
        platformContext() function. Moved applyStrokePattern and applyFillPattern out of
        the __APPLE__ ifdef.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern
        booleans out of Mac-specific ifdef.
        (WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead
        of using CGContext directly.
        (WebCore::CanvasRenderingContext2D::restore): Ditto.
        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto.
        (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
        (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto.
        (WebCore::CanvasRenderingContext2D::lineCap): Ditto.
        (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
        (WebCore::CanvasRenderingContext2D::lineJoin): Ditto.
        (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
        (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
        (WebCore::CanvasRenderingContext2D::shadowColor): Ditto.
        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
        (WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function
        no longer exists.
        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
        (WebCore::CanvasRenderingContext2D::translate): Ditto.
        (WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead
        of using CGContext directly.
        (WebCore::CanvasRenderingContext2D::closePath): Ditto.
        (WebCore::CanvasRenderingContext2D::moveTo): Ditto.
        (WebCore::CanvasRenderingContext2D::lineTo): Ditto.
        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto.
        (WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto.
        (WebCore::CanvasRenderingContext2D::arcTo): Ditto.
        (WebCore::CanvasRenderingContext2D::arc): Ditto.
        (WebCore::CanvasRenderingContext2D::rect): Ditto.
        (WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class
        instead of relying on the CGContext's current path.
        (WebCore::CanvasRenderingContext2D::stroke): Ditto.
        (WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the
        GraphicsContext instead of using CGContext directly.
        (WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead
        of using CGContext directly.
        (WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function
        no longer exists.
        (WebCore::CanvasRenderingContext2D::strokeRect): Ditto.
        (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
        (WebCore::CanvasRenderingContext2D::drawImage): Ditto.
        (WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto.
        (WebCore::CanvasRenderingContext2D::createPattern): Ditto.
        (WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function
        cross-platform. The bulk is still Mac-specific.
        (WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto.

        * html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the
        platform-specific stuff is in the implementation, not the header.
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting
        us one step closer to platform independence.
        (WebCore::CanvasStyle::applyFillColor): Ditto.

        * html/html_imageimpl.cpp:
        (WebCore::HTMLAreaElement::getRect): Update for changes to the Path class.
        (WebCore::HTMLAreaElement::getRegion): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::paint): Change to check printing flag on the document, rather than on
        the GraphicsContext, since there is no printing flag for GraphicsContext any more.
        (WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor.

        * platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the
        platform-specific getter and constructor don't have to be ifdef'd. Added clearRect,
        strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation,
        and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate.
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting.
        (WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto.
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        Removed NSGraphicsContext.
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        Ditto.
        (WebCore::GraphicsContext::GraphicsContext): Removed constructor that
        takes an NSGraphicsContext. Removed the flipText and forPrinting parameters
        to the other constructor.
        (WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code.
        (WebCore::GraphicsContext::restorePlatformState): Ditto.
        (WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely
        reflect the limitation of the current version of this function.
        (WebCore::GraphicsContext::setColorFromFillColor): Ditto.
        (WebCore::GraphicsContext::setColorFromPen): Ditto.
        (WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely
        reflect the limitation of the current version of this function.
        (WebCore::setCompositeOperation):
        (WebCore::GraphicsContext::fillRect): Ditto.
        (WebCore::GraphicsContext::setLineWidth): Added.
        (WebCore::GraphicsContext::setMiterLimit): Added.
        (WebCore::GraphicsContext::setAlpha): Added.
        (WebCore::GraphicsContext::setCompositeOperation): Added.
        (WebCore::GraphicsContext::clearRect): Added.
        (WebCore::GraphicsContext::strokeRect): Added.
        (WebCore::GraphicsContext::setLineCap): Added.
        (WebCore::GraphicsContext::setLineJoin): Added.
        (WebCore::GraphicsContext::clip): Added.

        * platform/CompositeOperator.cpp: Removed.
        * platform/CompositeOperator.h: Removed.
        * platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin.
        * platform/GraphicsTypes.h: Added.

        * platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.

        * platform/Path.h: Removed constructors that take a Rect and an array of points. Made
        the Path mutable. Changed the types for contains and boundingRect to be float-based
        instead of int-based. Changed translate to take a FloatSize instead of two integers.
        Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath,
        addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type
        so we don't have to ifdef the header so much.
        * platform/cg/PathCG.cpp:
        (WebCore::Path::Path): Changed class to always have a mutable path.
        (WebCore::Path::operator=): Changed to make a mutable copy.
        (WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint.
        (WebCore::Path::translate): Changed to use a FloatSize instead of two ints.
        (WebCore::Path::boundingRect): Changed to return a FloatRect.
        (WebCore::Path::moveTo): Added.
        (WebCore::Path::addLineTo): Added.
        (WebCore::Path::addQuadCurveTo): Added.
        (WebCore::Path::addBezierCurveTo): Added.
        (WebCore::Path::addArcTo): Added.
        (WebCore::Path::closeSubpath): Added.
        (WebCore::Path::addArc): Added.
        (WebCore::Path::addRect): Added.
        (WebCore::Path::addEllipse): Added.
        (WebCore::Path::clear): Added.

        * platform/mac/ImageMac.mm:
        (WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of
        a CGContext.
        (WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation
        in GraphicsContex.
        (WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect
        function that take GraphicsContext instead of CGContext.
        (WebCore::Image::drawTiled): Ditto.

        * platform/mac/PDFDocumentImage.h: Made most functions private. Changed to
        use GraphicsContext and FloatRect instead of CGContext and NSRect. Also
        removed the unused alpha and flipped booleans.
        * platform/mac/PDFDocumentImage.mm:
        (WebCore::PDFDocumentImage::bounds): Update for change in types.
        (WebCore::PDFDocumentImage::adjustCTM): Ditto.
        (WebCore::PDFDocumentImage::setCurrentPage): Ditto.
        (WebCore::PDFDocumentImage::draw): Ditto.

        * platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.

        * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get
        printing boolean from document instead graphics context.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren): Ditto.
        (WebCore::RenderBlock::paintObject): Ditto.
        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto.
        * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto.
        * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto.
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto.
        * rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto.
        * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto.

2006-04-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by hyatt, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6769
          REGRESSION: Incomplete repaint when a cell's extra bottom margin grows

        Test: fast/repaint/table-extra-bottom-grow.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and
        allow the normal overflow height to overlap with the bottom extra height.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout): Removed the code that resets the extra heights.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows): If the top extra height changed or the
        bottom extra height increased, just repaint the entire cell.

2006-04-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer.
        
        No tests affected.

        * kcanvas/KCanvasContainer.cpp:
        (WebCore::KCanvasContainer::canHaveChildren):
        (WebCore::KCanvasContainer::requiresLayer):
        (WebCore::KCanvasContainer::lineHeight):
        (WebCore::KCanvasContainer::baselinePosition):
        (WebCore::KCanvasContainer::calcMinMaxWidth):
        (WebCore::KCanvasContainer::layout):
        (WebCore::KCanvasContainer::paint):
        (WebCore::KCanvasContainer::setViewport):
        (WebCore::KCanvasContainer::viewport):
        (WebCore::KCanvasContainer::setViewBox):
        (WebCore::KCanvasContainer::viewBox):
        (WebCore::KCanvasContainer::setAlign):
        (WebCore::KCanvasContainer::align):
        (WebCore::KCanvasContainer::viewportTransform):
        (WebCore::KCanvasContainer::getAbsoluteRepaintRect):
        (WebCore::KCanvasContainer::absoluteTransform):
        (WebCore::KCanvasContainer::getAspectRatio):
        * kcanvas/KCanvasContainer.h:
        (WebCore::KCanvasContainer::renderName):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::createRenderer):
        * ksvg2/svg/SVGGElement.cpp:
        (SVGGElement::createRenderer):
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::createRenderer):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::createRenderer):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::createRenderer):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::createRenderer):
        * ksvg2/svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::createRenderer):
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::createRenderer):

2006-04-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Make WebCore accept any */*+xml type as XML.
        http://bugs.webkit.org/show_bug.cgi?id=5998
        <rdar://problem/4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml

        Test: http/tests/xmlhttprequest/supported-xml-content-types.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::isXMLMIMEType):

2006-04-27  Eric Seidel  <eseidel@apple.com>

        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix break from last checkin.

2006-04-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Added global constructor autogeneration for the following,
        many of which are required by *.live.com: Node, Element, Range,
        CSSRule, CSSValue, CSSPrimitiveValue, CSSStyleDeclaration, Event,
        MutationEvent, NodeFilter

        It works like so:
        
        - The autogenerator knows about the "Constructor" data type, which
        gets special treatment because it exists purely in the
        bindings. It also knows about the "GenerateConstructor" interface
        attribute, which does just that.

        - The window interface has many Constructor attributes

        - The hash table generator swizzles empty tables to tables with one
        empty bucket, to prevent crashes in Lookup::findEntry. (The old
        generator used to work this way, too.)

        - Window object property lookup gets special treatment to allow
        shadowing of its built-in global constructor properties. We'll
        need to expand this mechanism in the future and make it more
        flexible, but it works for now.
        
        * DerivedSources.make:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_css.cpp:
        (KJS::toJS):
        * bindings/js/kjs_css.h:
        * bindings/js/kjs_window.cpp: Removed 'namedFrameGetter' and its use
        because they were bogus; added FIXME describing what they were
        attempting to do.
        (KJS::Window::getValueProperty):
        (KJS::Window::getOverridePropertySlot):
        (KJS::Window::getOwnPropertySlot):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl: Added.
        * css/CSSValue.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/MutationEvent.idl:
        * dom/Node.idl:
        * dom/NodeFilter.idl:
        * dom/Range.idl:
        * page/DOMWindow.idl:

2006-04-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8607>
        Automate repaint tests

        * manual-tests/backgroundSizeRepaint.html: Removed.
        * manual-tests/border-repaint-glitch.html: Removed.
        * manual-tests/bugzilla-3509.html: Removed.
        * manual-tests/bugzilla-5699.html: Removed.
        * manual-tests/bugzilla-6278.html: Removed.
        * manual-tests/bugzilla-6388.html: Removed.
        * manual-tests/bugzilla-6473.html: Removed.
        * manual-tests/bugzilla-7235.html: Removed.
        * manual-tests/inline-outline-repaint.html: Removed.
        * manual-tests/outline-repaint-glitch.html: Removed.
        * manual-tests/repaint-resized-overflow.html: Removed.
        * manual-tests/table-cell-move.html: Removed.

2006-04-27  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8624>
        Placeholders aren't always removed during paste
        <rdar://problem/4059807>
        Seed: Mail: pasting quoted content sometimes adds a phantom newline

        * editing/CompositeEditCommand.cpp: Added a FIXME.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Removed two no-op setEndingSelection calls.
        Store away a br at the position where we'll start inserting content in case the 
        br a) is made unnecessary by the insertion (it's collapsed away) b) was acting 
        as a placeholder and should therefore be displaced by inserted content or c) was
        acting as a line break and, as a result of the insertion, is now acting as a 
        placeholder.  
        Don't only store away brs that have the webkit-block-placeholder class on them.
        Any br that does any of the three things just mentioned should be removed.
        The linePlaceholder removal was run after the code that makes sure to interpret 
        incoming brs strictly, and was negating that work in certain cases.
        
        (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): Described above.
        * editing/ReplaceSelectionCommand.h:
        * editing/VisiblePosition.cpp:
        (WebCore::isEqualIgnoringAffinity): 
        Added a workaround for 8622.  We want this function to return true even if one of 
        the two visible positions has been incorrectly canonicalized.

2006-04-26  Tim Omernick  <timo@apple.com>

        Reviewed by Hyatt.

        <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display
        Style is Toggled via Javascript

        * html/html_objectimpl.cpp:
        (WebCore::HTMLObjectElement::setComplete):
        Set needWidgetUpdate when finished parsing, even if the object element is not in
        a document.  That way, when the element attaches to a document, it will update its
        widget (creating the plug-in view if necessary).  This is important when the object
        is being inserted via setInnerHTML, since the parsed nodes are not added to the
        document until the whole HTML string is parsed.

2006-04-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Hyatt.

        - Fixed http://bugs.webkit.org/post_bug.cgi
        REGRESSION (r14048): Google calendar not parsing
        
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Rolling out grandparent NULL check
        because it caused this regression and there's no test case
        justifying it.
        
2006-04-26  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by hyatt
        
        <http://bugs.webkit.org/show_bug.cgi?id=8459>
        REGRESSION: Content lost during a delete/merge of whitespace:pre text

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::prune): 
        The function would prune a rendered leaf because it assumed that the 
        first node passed to it would be a container.
        The old code ascended using the DOM tree, and would remove the <b> when
        pruning the <div> in <b><div></div>foo</b>.  Now ascends using the render tree.

2006-04-26  Geoffrey Garen  <ggaren@apple.com>

        This time for sure. Fixed Windows build too.
        
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:

2006-04-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by TimO.

        Build fix.

        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_domnode.h:

2006-04-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by OMG DETHBAKIN.

        - Start autogenerating Node. This fixes many missing attributes in our
        DOM by making prototypes hold their relevant constants as properties.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMEventTargetNode::DOMEventTargetNode):
        (KJS::toJS):
        * bindings/js/kjs_dom.h:
        (KJS::DOMEventTargetNode::):
        * bindings/js/kjs_domnode.h: Had to break DOMNode into a separate
        header to avoid circular dependency in header includes. Gave it an
        old-school file name to keep distinguishing beteween old school and
        news school files easy.
        (KJS::DOMNode::impl):
        (KJS::DOMNode::classInfo):
        (KJS::DOMNode::):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/DocumentType.idl:
        * dom/Entity.idl:
        * dom/Node.idl: Added.
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:

2006-04-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        Committing the project file change jhaygood suggesed in
        http://bugs.webkit.org/show_bug.cgi?id=8044
        WebKit Visual Studio 2005 project shouldn't use the SolutionDir
        
        Instead of his patch, I used the following commands:

        sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g' Image\ Viewer/Image\
        Viewer.vcproj > Image\ Viewer/Image\ Viewer.vcproj_ && mv Image\
        Viewer/Image\ Viewer.vcproj_ Image\ Viewer/Image\ Viewer.vcproj

        sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g'
        WebCore/WebCore.vcproj > WebCore/WebCore.vcproj_ && mv
        WebCore/WebCore.vcproj_ WebCore/WebCore.vcproj

        * Viewer.vcproj:
        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-04-25  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison

        <http://bugs.webkit.org/show_bug.cgi?id=8583>
        Moving paste code around and some small fixes
        
        Moved code to make it easier to do the start merge after the fact, 
        with moveParagraph, instead of in the middle of the paste operation.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraph):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
        Moved code to make this decision to its own function.  Moved special case
        checks to the top.  Added m_forceMergeStart to override the special cases 
        because moveParagraph uses ReplaceSelectionCommand and expects a merge.
        
        (WebCore::ReplaceSelectionCommand::shouldMergeEnd): 
        No functional changes, just moved code here.
        (WebCore::ReplaceSelectionCommand::doApply):
        Do the end merge in the opposite direction.  Merging two paragraphs destroys
        the moved one's block level styles, and we prefer to use the styles of the 
        one that was in the document, not the one that's being pasted.
        
        * editing/ReplaceSelectionCommand.h:
        * editing/Selection.h:
        (WebCore::Selection::visibleStart): Added.
        (WebCore::Selection::visibleEnd): Added.
        * editing/htmlediting.cpp:
        (WebCore::enclosingList): Added.
        (WebCore::isMailBlockquote): 
        Don't require a renderer so that this can be used on nodes in fragments.
        
        * editing/htmlediting.h:

2006-04-25  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Removed special handling of attributes in the DOM. To match
        WinIE, we used to make all attributes available as properties of
        their elements in the DOM, but that has caused us more
        compatibility woes than it has solved, so, after talking with Darin
        and Maciej, I'm taking it out. (Firefox does not support it.)

        A layout test regression caused by this change led me to do the
        following as well:
        
        - Implemented DOM properties missing on EMBED elements: align, height,
        name, width, src, type. Since align, height, name, and width are
        common to all plugin elements, I factored them and some other common
        functionality out into a new abstract base class, HTMLPlugInElement.

        - Removed extraneous attribute-to-style mappings on EMBED elements:
        valign, border. Why they were there in the first place is a question
        for the ages. Neither FF nor IE supports them.

        * bindings/js/kjs_dom.cpp:
        (KJS::getRuntimeObject):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLElement::embedGetter):
        (KJS::JSHTMLElement::embedSetter):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Element.idl:
        * html/html_objectimpl.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::align):
        (WebCore::HTMLPlugInElement::setAlign):
        (WebCore::HTMLPlugInElement::height):
        (WebCore::HTMLPlugInElement::setHeight):
        (WebCore::HTMLPlugInElement::name):
        (WebCore::HTMLPlugInElement::setName):
        (WebCore::HTMLPlugInElement::width):
        (WebCore::HTMLPlugInElement::setWidth):
        (WebCore::HTMLPlugInElement::mapToEntry):
        (WebCore::HTMLPlugInElement::parseMappedAttribute):
        (WebCore::HTMLPlugInElement::checkDTD):
        (WebCore::HTMLAppletElement::HTMLAppletElement):
        (WebCore::HTMLAppletElement::~HTMLAppletElement):
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        (WebCore::HTMLAppletElement::insertedIntoDocument):
        (WebCore::HTMLAppletElement::removedFromDocument):
        (WebCore::HTMLAppletElement::getInstance):
        (WebCore::HTMLAppletElement::closeRenderer):
        (WebCore::HTMLAppletElement::detach):
        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::getInstance):
        (WebCore::HTMLEmbedElement::mapToEntry):
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::attach):
        (WebCore::HTMLEmbedElement::detach):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        (WebCore::HTMLEmbedElement::removedFromDocument):
        (WebCore::HTMLEmbedElement::src):
        (WebCore::HTMLEmbedElement::setSrc):
        (WebCore::HTMLEmbedElement::type):
        (WebCore::HTMLEmbedElement::setType):
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        (WebCore::HTMLObjectElement::getInstance):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        (WebCore::HTMLObjectElement::attach):
        (WebCore::HTMLObjectElement::closeRenderer):
        (WebCore::HTMLObjectElement::detach):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        (WebCore::HTMLObjectElement::recalcStyle):
        * html/html_objectimpl.h:
        (WebCore::HTMLPlugInElement::endTagRequirement):
        (WebCore::HTMLAppletElement::tagPriority):
        (WebCore::HTMLEmbedElement::tagPriority):
        (WebCore::HTMLObjectElement::tagPriority):

2006-04-25  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/4518632> getComputedStyle returns 'auto' 
        for dimensions like 'margin-left'

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): For 
        margin and padding, to match Firefox we now go to the renderer to 
        get the property value instead of calling valueForLength() on the 
        style attribute. valueForLength() will return the string 'auto' if 
        that was what was specified in the CSS, or a percentage if it was 
        specified as a percent. But to match Firefox, we always want to 
        return a pixel value for margin and padding.

2006-04-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Landed by eseidel.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8452
          mangleme(0x58c22e11): Random crashes

        Test: fast/frames/empty-cols-attribute.html

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::toLengthArray): If the string is empty, return 0
        but set len to 1. This gives the same behavior you get if you don't specify
        the attribute at all, matching WinIE and Firefox. Previously, the empty
        string resulted in len being set to 0 (and a memory smasher in
        RenderFrameSet::layout()).
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::layout): Added an assert.

2006-04-26  Oliver Hunt  <ojh16@student.canterbury.ac.nz>

        Reviewed by eseidel.  Landed by eseidel.

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::operator<<):
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::getVectorForChannel):
        (WebCore::genImageFromTable):
        (WebCore::filterForComponentFunc):
        (WebCore::setParametersForComponentFunc):
        (WebCore::getFilterForFunc):
        (WebCore::KCanvasFEComponentTransferQuartz::getFunctionFilter):
        (WebCore::KCanvasFEComponentTransferQuartz::getCIFilter):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Added.
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Added.
        (+[WKComponentMergeFilter initialize]):
        (+[WKComponentMergeFilter filterWithName:]):
        (-[WKComponentMergeFilter init]):
        (-[WKComponentMergeFilter outputImage]):
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Added.
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Added.
        (+[WKDiscreteTransferFilter initialize]):
        (+[WKDiscreteTransferFilter filterWithName:]):
        (-[WKDiscreteTransferFilter init]):
        (-[WKDiscreteTransferFilter outputImage]):
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Added.
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Added.
        (+[WKGammaTransferFilter initialize]):
        (+[WKGammaTransferFilter filterWithName:]):
        (-[WKGammaTransferFilter init]):
        (-[WKGammaTransferFilter outputImage]):
        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Added.
        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Added.
        (+[WKIdentityTransferFilter initialize]):
        (+[WKIdentityTransferFilter filterWithName:]):
        (-[WKIdentityTransferFilter init]):
        (-[WKIdentityTransferFilter outputImage]):
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Added.
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Added.
        (+[WKLinearTransferFilter initialize]):
        (+[WKLinearTransferFilter filterWithName:]):
        (-[WKLinearTransferFilter init]):
        (-[WKLinearTransferFilter outputImage]):
        * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Added.
        * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Added.
        (+[WKTableTransferFilter initialize]):
        (+[WKTableTransferFilter filterWithName:]):
        (-[WKTableTransferFilter init]):
        (-[WKTableTransferFilter outputImage]):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::parseMappedAttribute):
        (SVGComponentTransferFunctionElement::transferFunction):

2006-04-25  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Make trunk match the branch.  Now nodes are fully removed
        from the tree before calling detach.  There is (thankfully) no
        good way to test this, as no one should depend on this behavior.
        This change was made are part of fixing:
        <rdar://problem/4427024> repro crash on www.formassembly.com in khtml::RenderBlock::addChildToFlow
        <rdar://problem/4233435> CrashTracer: 2698 crashes in Safari at com.apple.WebCore: khtml::RenderBlock::addChildToFlow + 156
        on the branch.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2006-04-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adele.

        - don't have a fini method, since trying to call it will actually call the subclass method
        and mess up the bridge count.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge finalize]):

2006-04-25  Steve Falkenburg  <sfalkenburg@apple.com>

        Reviewed by eseidel.

        No test case needed

        * platform/win/TemporaryLinkStubs.cpp:
        (KWQFileButton::setFrameGeometry):

2006-04-25  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix reproducible crash in html parser code.
        http://bugs.webkit.org/show_bug.cgi?id=7137

        Test: fast/parser/remove-current-node-parent.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):

2006-04-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=8575
        New KWQFileButton leaks reported by buildbot

        * kwq/KWQFileButton.mm:
        (KWQFileButton::KWQFileButton): Add a missing release

2006-04-24  David Hyatt  <hyatt@apple.com>

        Fix for 8336, focus ring redrawing on top of itself.  Make sure
        not to include empty rects when doing the focus ring drawing, since
        that results in a draw with no clip set.

        Reviewed by adele

        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing):

2006-04-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Fix for 5th worst unresolved crasher:
        <rdar://problem/4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44

        Test: fast/dom/remove-style-element.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2006-04-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Speculative fix for our 7th worst crasher.
        Also added ASSERTs to help us better understand the issue.
        <rdar://problem/4153404> CrashTracer: 2412 crashes in Safari at com.apple.WebCore: khtml::RenderStyle::RenderStyle[unified] + 44

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        (WebCore::Document::setInPageCache):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):

2006-04-24  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4503438> REGRESSION (NativeTextField): Can't insert caret when 
        selection is active in field (Business/Unit)

        * css/html4.css: Added -webkit-user-select:text for input elements.

2006-04-24  Maciej Stachowiak  <mjs@apple.com>

        Build fix:
        
        - move some prematurely moved code back

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge fini]):

2006-04-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - move more code from WebFrameBridge to WebCoreFrameBridge

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge domain]):
        (-[WebCoreFrameBridge canTargetLoadInFrame:]):
        (-[WebCoreFrameBridge fini]):
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge finalize]):
        (_getPreSmartSet):
        (_getPostSmartSet):
        (-[WebCoreFrameBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]):
        (-[WebCoreFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
        (-[WebCoreFrameBridge keyboardUIMode]):

2006-04-24  Adele Peterson  <adele@apple.com>

        Reviewed by Tim O.

        Fix to send textFieldDidBeginEditing on the first editing change instead of on focus.
        This matches our old behavior.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent):
        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::subtreeHasChanged):

2006-04-24  Beth Dakin  <bdakin@apple.com>

        Reviewed by Eric.

        Fix for <rdar://problem/4513383> REGRESSION: Crash in 
        WebCore::shouldEmitTabBeforeNode() when iterating through document 
        text

        * editing/TextIterator.cpp:
        (WebCore::shouldEmitTabBeforeNode): Need to nil-check the renderer.

2006-04-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        * bindings/scripts/CodeGeneratorJS.pm: Removed confusing 'JS' prefix
        from string descriptions of DOM prototypes, so the prototype for, e.g.,
        Document serializes as 'Document,' not 'JSDocument.'

2006-04-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Took the larger snippets of C++ in the code generator and broke
        them into HERE documents in the hopes of improving readability.
        
        * bindings/scripts/CodeGeneratorJS.pm: I indented variable names
        level with their corresponding HERE documents to clearly
        "sandwich" the HERE documents between opening and closing EOF
        statements.

2006-04-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        - push WebFileButton and WebStringTruncator code down to WebCore
        http://bugs.webkit.org/show_bug.cgi?id=8552

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreStringTruncator.h: Added.
        * bridge/mac/WebCoreStringTruncator.mm: Added.
        (stringWidth):
        (truncateString):
        (+[WebCoreStringTruncator widthOfString:font:]):
        * bridge/mac/WebCoreViewFactory.h:
        * kwq/KWQFileButton.h:
        * kwq/KWQFileButton.mm:
        (-[WebFileChooserButton initWithWidget::]):
        (-[WebCoreFileButton positionButton]):
        (-[WebCoreFileButton initWithWidget:]):
        (-[WebCoreFileButton initWithFrame:]):
        (-[WebCoreFileButton dealloc]):
        (-[WebCoreFileButton isFlipped]):
        (-[WebCoreFileButton drawRect:]):
        (-[WebCoreFileButton updateLabel]):
        (-[WebCoreFileButton setFilename:]):
        (-[WebCoreFileButton filename]):
        (-[WebCoreFileButton setFrameSize:]):
        (-[WebCoreFileButton bestVisualFrameSizeForCharacterCount:]):
        (-[WebCoreFileButton visualFrame]):
        (-[WebCoreFileButton setVisualFrame:]):
        (-[WebCoreFileButton baseline]):
        (-[WebCoreFileButton beginSheet]):
        (-[WebCoreFileButton chooseFilename:]):
        (-[WebCoreFileButton cancel]):
        (-[WebCoreFileButton chooseButtonPressed:]):
        (-[WebCoreFileButton mouseDown:]):
        (-[WebCoreFileButton acceptsFirstResponder]):
        (-[WebCoreFileButton becomeFirstResponder]):
        (-[WebCoreFileButton nextKeyView]):
        (-[WebCoreFileButton previousKeyView]):
        (-[WebCoreFileButton nextValidKeyView]):
        (-[WebCoreFileButton previousValidKeyView]):
        (-[WebCoreFileButton performClick]):
        (-[WebFileChooserButton initWithWidget:]):
        (-[WebFileChooserButton nextValidKeyView]):
        (-[WebFileChooserButton previousValidKeyView]):
        (-[WebFileChooserButton resignFirstResponder]):
        (KWQFileButton::KWQFileButton):
        (KWQFileButton::setFilename):
        (KWQFileButton::click):
        (KWQFileButton::sizeForCharacterWidth):
        (KWQFileButton::frameGeometry):
        (KWQFileButton::setFrameGeometry):
        (KWQFileButton::baselinePosition):
        (KWQFileButton::filenameChanged):

2006-04-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - remove WebCoreCookieAdapter, instead make mac implementation of
        CookieJar use Foundation directly.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/CookieJar.mm:
        (WebCore::cookies):
        (WebCore::setCookies):
        (WebCore::cookiesEnabled):
        * platform/mac/WebCoreCookieAdapter.h: Removed.
        * platform/mac/WebCoreCookieAdapter.m: Removed.

2006-04-21  Rob Buis  <buis@kde.org>

        Reviewed by hyatt.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8170:
        SVG CSS property values with extra items do not get treated
        as invalid (they should)

        Fixes the handling of invalid svg css properties similar
        to how invalid html css properties are handled, ie. discard
        the property if there are more values in the value list than
        expected.

        Test: svg/custom/invalid-css.svg

        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):

2006-04-23  Michael Emmel  <mike.emmel@gmail.com>

        Reviewed by mjs.  Landed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=8517
        No test necessary, no functional change.

        * DerivedSources.make: use VPATH more consistently.

2006-04-23  Jon Shier  <jshier@iastate.edu>
        
        Reviewed by ggaren.  Landed by eseidel.
        
        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8511
        onerror JS property does not register listener properly

        Test: fast/dom/onerror-img.html       
 
        * bindings/js/kjs_dom.cpp:  
        (KJS::DOMEventTargetNode::getValueProperty): changed khtmlErrorEvent to errorEvent.
        (KJS::DOMEventTargetNode::putValueProperty): ditto.
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty): ditto.
        (KJS::Window::put):
        * dom/EventNames.h: Removed khtmlError macro.
        
2006-04-23  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Reproducible crasher with <li value=1234567890 type=A>
        http://bugs.webkit.org/show_bug.cgi?id=8542

        Fixed our alphabetical list generation to match WinIE (not FireFox)
        Previously our alphabetical lists were completely wrong past 26 items.

        Tests:
        * fast/lists/alpha-list-wrap.html
        * fast/lists/li-style-alpha-huge-value-crash.html

        * rendering/render_list.cpp:
        (WebCore::toLetterString):
        (WebCore::toHebrew):
        (WebCore::RenderListMarker::calcMinMaxWidth):

2006-04-22  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Finished autogeneration of Element

        * bindings/js/kjs_dom.cpp: Removed DOMElement class
        * bindings/js/kjs_dom.h: ditto
        * bindings/scripts/CodeGeneratorJS.pm: added support for special
        attribute lookup that elements do
        * dom/Element.idl: added new attribute, 
        "IncludeAttributesInPropertyLookup," which tells the code generator 
        to include HTML element attributes in property lookup

2006-04-22  Michael Emmel  <mike.emmel@gmail.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8529
          Extra Qaulification in header
        - fix http://bugs.webkit.org/show_bug.cgi?id=8530
          Missing assert.h include

        * rendering/RenderObject.h: Removed erroneous RenderObject::
        prefix from a member function name.
        * rendering/RenderText.h: Removed erroneous RenderText::
        prefix from a member function name.

        * platform/Arena.cpp: Added <assert.h> to list of includes.
        * platform/KURL.cpp: Ditto.
        * platform/StringImpl.cpp: Ditto.
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
        * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.

2006-04-22  Darin Adler  <darin@apple.com>

        * doc: Added.

2006-04-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - push down a bunch of WebCoreFrameBridge code to C++ (plus some reformatting)

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge isDescendantOfFrame:]):
        (-[WebCoreFrameBridge traverseNextFrameStayWithin:]):
        (-[WebCoreFrameBridge nextFrameWithWrap:]):
        (-[WebCoreFrameBridge previousFrameWithWrap:]):
        (+[WebCoreFrameBridge bridgeForDOMDocument:]):
        (-[WebCoreFrameBridge parent]):
        (-[WebCoreFrameBridge addData:]):
        (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
        (-[WebCoreFrameBridge restoreDocumentState]):
        (-[WebCoreFrameBridge _stringWithDocumentTypeStringAndMarkupString:]):
        (-[WebCoreFrameBridge nodesFromList:]):
        (-[WebCoreFrameBridge markupStringFromNode:nodes:]):
        (-[WebCoreFrameBridge markupStringFromRange:nodes:]):
        (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
        (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
        (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
        (-[WebCoreFrameBridge insertLineBreak]):
        (-[WebCoreFrameBridge insertParagraphSeparator]):
        (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
        (-[WebCoreFrameBridge insertText:selectInsertedText:]):
        (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]):
        (-[WebCoreFrameBridge ensureSelectionVisible]):
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
        * page/Frame.cpp:
        (WebCore::Frame::nodeInfoAtPoint):
        (WebCore::Frame::hasSelection):
        (WebCore::Frame::documentTypeString):
        * page/Frame.h:
        * page/FrameTree.cpp:
        (WebCore::FrameTree::traverseNextWithWrap):
        (WebCore::FrameTree::traversePreviousWithWrap):
        (WebCore::FrameTree::deepLastChild):
        * page/FrameTree.h:

2006-04-22  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6141 
        DOMCSSPrimitiveValue is always returning values in pixels when 
        using getComputedStyle:

        getFloatValue() took a unit type as a parameter, ignored it, and 
        returned m_value.num. This patch writes a second version of the 
        function that actually converts m_value.num to the specified unites 
        before returning it. Where a conversion is not required, I removed 
        the unit type from the caller so that it would go directly to the 
        inline version of the function.

        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthFloat): Remove type 
        parameter since a conversion is not needed.
        (WebCore::scaleFactorForConversion): Helper function for 
        conversion.
        (WebCore::CSSPrimitiveValue::getFloatValue): This version of 
        getFloatValue() takes a unit type parameter and converts 
        m_value.num.
        * css/css_valueimpl.h:
        (WebCore::CSSPrimitiveValue::getFloatValue): This version does not 
        take a parameter and just returns m_value.num.
        * css/cssparser.cpp:
        (WebCore::BorderImageParseContext::commitBorderImage): Remove type 
        parameter since a conversion is not needed.
        * css/cssstyleselector.cpp:
        (WebCore::convertToLength): Same.
        (WebCore::CSSStyleSelector::applyProperty): Same.
        (WebCore::CSSStyleSelector::mapBackgroundSize): Same.
        (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
        (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Same.
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty): Same.
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::cssPrimitiveToLength): Same.

2006-04-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by John.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=8509
        javascript:document.importNode(null)
        
        * dom/Document.cpp:
        (WebCore::Document::importNode): Throw an error if the node is null.
        This happens when the object provided in the JavaScript call is not
        a node.
        (WebCore::Document::adoptNode): Set the DOM exception code in all error
        cases instead of just a few, because that's what the spec requires.

2006-04-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by John.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=8510
        submit event doesn't bubble - it's supposed to.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Added recognition for the
        onsubmit attribute, so elements can use it
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::prepareSubmit): Changed bubbling attribute
        to 'true'

2006-04-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by TimO.

        - Fixed: error event does not bubble

        I discovered this bug while working on the "submit event does not
        bubble" bug. The DOM spec says the event should bubble, and that's how
        it works in Firefox.

        The DOM Spec also says that the error event is "valid for
        OBJECT elements, BODY elements, and FRAMESET element." But it doesn't
        say "valid ONLY." Firefox supports it on all elements and web
        developers tend to think it will work for things like <img> and
        <script>, so I went whole hog here.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Make onerror a mapped
        attribute for all elements, so containing elements can register for
        the event.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::notifyFinished): make onerror bubble
        * html/html_headimpl.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute): Remove special
        case for onerror because HTMLElement will take care of it
        (WebCore::HTMLScriptElement::notifyFinished): make onerror bubble
        * html/html_imageimpl.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute): Remove special
        case for onerror because HTMLElement will take care of it

2006-04-21  Adele Peterson  <adele@apple.com>

        Test for: http://bugs.webkit.org/show_bug.cgi?id=8181
        REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try

        * manual-tests/tabbing-input-google.html: Added.

2006-04-21  Kevin M. Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8507
          Compilation fixes for building on gcc 4.0.2, and without precomp headers

        * platform/Cursor.h: Created a fallback case that typedefs PlatformCursor
        to void * if it isn't defined to anything else. (Useful to help get new ports
        initially compiling.)
        
        * bindings/js/kjs_window.cpp:
        * rendering/RenderTextField.cpp:
        * rendering/RenderBox.cpp:
        Add missing headers to resolve issues when compiling without precompiled
        headers.
        
        * rendering/RenderText.h: Declare the InlineTextBox class before 
        friend declaration to resolve compilation issues with gcc 4.0.2.
        
2006-04-21  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8213
        REGRESSION: Can't tab out of text field if iframe comes after it

        Test: fast/forms/tabbing-input-iframe.html

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::nextKeyViewInFrame):
          If the next focusable node is a RenderWidget without a view, then continue in the loop.  We used to break out in this case. 
          I also made some formatting changes and reorganized the function to make it easier to read.

2006-04-21  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8496
        REGRESSION: Dragging to select text around a text field causes the text field to scroll.

        Test: manual-tests/text-field-autoscroll.html

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMouseMoveEvent): Start the frame's autoscroll timer
        even when we're calling over the bridge to handle the autoscroll.
        * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Clear out pointer to layer.

2006-04-21  Geoffrey Garen  <ggaren@apple.com>

        - And again.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-04-21  Geoffrey Garen  <ggaren@apple.com>

        - Futile attempt to fix Windows build.
        
        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-04-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Added autogeneration of JS bindings for CSSRule, CSSValue,
        Event, and NodeFilter.  

        - Made related prototype objects hold the relevant constants, to
        match Mozilla and the DOM 2 spec. (Previously, only the related
        constructor objects held those constants, in accordance with the
        DOM 3 spec.)

        - Fixed up remaining Windows build issues.

        * DerivedSources.make: Added new autogenerated files
        * WebCore.xcodeproj/project.pbxproj: ditto
        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSRule::classInfo):
        (KJS::DOMCSSRule::getOwnPropertySlot): scope call to classInfo()
        because it's virtual and DOMCSSRule has a derrived class now.
        (KJS::DOMCSSRule::put): ditto
        (KJS::DOMCSSRuleFunc::callAsFunction):
        (KJS::toJS):
        * bindings/js/kjs_css.h:
        * bindings/js/kjs_events.cpp:
        (KJS::toJS):
        * bindings/js/kjs_events.h:
        * bindings/js/kjs_html.cpp:
        (KJS::OptionConstructorImp::OptionConstructorImp):
        * bindings/js/kjs_traversal.cpp:
        (KJS::toJS):
        * bindings/js/kjs_traversal.h:
        * bindings/js/kjs_window.cpp: 
        (KJS::Window::getValueProperty): added CSSValue global object
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/scripts/CodeGeneratorJS.pm: Changed generator to write
        constants to prototype objects (previously only wrote constants to
        constructor objects)
        * css/CSSPrimitiveValue.idl: Removed LegacyParent since CSSValue now
        exists in IDL
        * css/CSSRule.idl: Added.
        * css/CSSValue.idl: Added.
        * css/css_ruleimpl.h:
        (WebCore::CSSRule::):
        * css/css_valueimpl.h:
        * dom/Event.idl: Added.
        * dom/MutationEvent.idl: Removed LegacyParent since Event now exists
        in IDL
        * dom/NodeFilter.idl: Added.
        * dom/UIEvent.idl: Removed LegacyParent since event now exists in IDL
        * dom/dom2_eventsimpl.h:
        (WebCore::Event::):

2006-04-21  Darin Adler  <darin@apple.com>

        - one more attempt to fix Windows build

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect): Update to use Color and match
        the similar function on GraphicsContextMac.

2006-04-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8495 
        REGRESSION: Sidebar on cnn.com is hosed

        * platform/mac/ImageMac.mm:
        (WebCore::Image::drawTiled): Use the size of the destination rect, 
        not the oneTileRect in the no-pattern case.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended): Initialize 
        scaledWidth and scaledHeight to the appropriate value (was wrong in 
        scroll case), adjust position at appropriate times, and take out 
        no-repeat clause for now since we don't have enough test cases yet 
        to be sure we won't cause massive regressions. 

2006-04-21  Darin Adler  <darin@apple.com>

        - attempt to fix Windows build after my last check-in

        * WebCore.vcproj/Image Viewer/ImageView.cpp: Changed calls to use the
        new IntRect-based API.

        * html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
        Put appropriate ifdefs around the m_platformImage initializer.

        * page/Frame.cpp: Make Frame::adjustPageHeight Mac-OS-X-only for now
        since it's used for printing and we don't have printing going on any
        other platforms yet.

        * platform/cairo/GraphicsContextCairo.cpp: Take out constructor that
        takes only the "for printing" boolean for now.

        * platform/cairo/ImageCairo.cpp: Include the GraphicsContext.h header.

        * platform/win/TemporaryLinkStubs.cpp: (GraphicsContext::setShadow):
        Fix up this stub and remove the GraphicsContext empty constructor stub.

2006-04-21  Darin Adler  <darin@apple.com>

        - fix build

        * WebCore.xcodeproj/project.pbxproj: Replaced absolute path on my system
        with a build-result-relative path; also removed some source files from the
        list of resources to install!

2006-04-20  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - make <canvas> element and related API behave more like the draft of
          the WhatWG Web Application specification, checking parameter validity
          and raising exceptions
        - changed HTMLCanvasElement bindings to be auto-generated, fixing all
          issues so we can generate bindings for classes drived from HTMLElement
        - change GraphicsContext API to use IntRect/Point/Size in more cases
        - change GraphicsContext so it is closer to truly wrapping a graphics
          context rather than representing the current NSGraphicsContext; there
          are still some things like text and rectangle fills that are tied to
          NSGraphicsContext, but we're most of the way there
        - removed Brush class since it just amounted to a color, using an RGBA32
          instead where we used to use a Brush

        * DerivedSources.make: Added JSHTMLCanvasElement.h.
        * WebCore.xcodeproj/project.pbxproj: Added new files.

        * bindings/js/JSCanvasRenderingContext2DBase.h: Added toJS.
        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        Added exception code handling for strokeRect, drawImage, and createPattern.
        Added version of createPattern that takes a canvas. Use TYPE_MISMATCH_ERR
        instead of JavaScript TypeError when parameter is neither an image or canvas
        element. Adapt for new HTMLCanvasElement binding.
        (WebCore::toJS): Added. Converts context object to JS wrapper.

        * bindings/js/JSHTMLElementWrapperFactory.h: Added.
        * bindings/js/JSHTMLElementWrapperFactory.cpp: Added. Creates a JavaScript
        wrapper for an arbitrary HTML element. Better than putting this all in the
        DOM node class toJS function.

        * bindings/js/JSXMLSerializer.cpp: Tweaked to make it build.
        * bindings/js/kjs_dom.cpp: (KJS::toJS): Changed to call the
        JSHTMLElementWrapperFactory function createJSWrapper, instead
        of always creating a JSHTMLElement.

        * bindings/js/kjs_html.h: Removed canvas-related stuff. Added HTMLElement
        prototype.
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::classInfo): Removed canvas element.
        (KJS::JSHTMLElement::accessors): Ditto.
        (KJS::JSHTMLElementProtoFunc::callAsFunction): Added, to help the auto-binding
        machiner cope with HTMLElement.
        (KJS::HTMLElementFunction::callAsFunction): Removed canvas element.

        * bindings/scripts/CodeGeneratorJS.pm: Added types needed for HTMLCanvasElement.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
        Changed to create a GraphicsContext with the new constructor that takes
        a CGContextRef.
        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
        Changed to create a GraphicsContext with the new constructor that takes
        a NSGraphicsContext.
        * page/Frame.cpp: (WebCore::Frame::adjustPageHeight): Changed to create a
        GraphicsContext with the new constructor that takes a CGContextRef.

        * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
        Eliminated a use of obsolete class Brush.

        * html/CanvasPattern.h:
        * html/CanvasPattern.cpp:
        (WebCore::CanvasPattern::parseRepetitionType): Added. Parses a repetition
        type. Different from the old logic in that it is case-sensitive and rejects
        anything other than null, empty string, or the four repeat types.
        (WebCore::CanvasPattern::CanvasPattern): Added constructor that takes
        a CGImageRef. Changed constructor to take two booleans instead of the repetition
        type string. It's the caller's responsibility to parse the string.
        (WebCore::CanvasPattern::~CanvasPattern): Release the CGImage.
        (WebCore::patternCallback): Handle the CGImage case. Also changed the code
        to create a GraphicsContext as needed and call the image drawing code with that.
        (WebCore::CanvasPattern::createPattern): Handle both the image element case and
        the canvas element case.
        
        * html/CanvasRenderingContext2D.h:
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::State::State): Change line cap, line join,
        and global composite to store enum values instead of strings.
        (WebCore::CanvasRenderingContext2D::setLineWidth): Do nothing if width is NaN
        or <= 0.
        (WebCore::CanvasRenderingContext2D::lineCap): Return a string based on a
        stored enum, rather than returning a stored string.
        (WebCore::CanvasRenderingContext2D::setLineCap): Do nothing if the string is
        not one of the standard line cap types. Also case sensitive and stores enum
        rather than the string.
        (WebCore::CanvasRenderingContext2D::lineJoin): Return a string based on a
        stored enum, rather than returning a stored string.
        (WebCore::CanvasRenderingContext2D::setLineJoin): Do nothing if the string is
        not one of the standard line join types. Also case sensitive and stores enum
        rather than the string.
        (WebCore::CanvasRenderingContext2D::setMiterLimit): Do nothing if limit is NaN
        or <= 0.
        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Do nothing if alpha is NaN
        or < 0 or > 1.
        (WebCore::CanvasRenderingContext2D::globalCompositeOperation): Return a string
        based on a stored enum, rather than returning a stored string.
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Do nothing if
        the string is not one of the standard compositing modes. Also case sensitive and
        stores enum rather than the string.
        (WebCore::CanvasRenderingContext2D::arcTo): Generate INDEX_SIZE_ERR exception
        if radius is NaN or <= 0.
        (WebCore::CanvasRenderingContext2D::arc): Ditto.
        (WebCore::CanvasRenderingContext2D::rect): Generate INDEX_SIZE_ERR exception
        if width or height is NaN or <= 0.
        (WebCore::CanvasRenderingContext2D::clearRect): Ditto.
        (WebCore::CanvasRenderingContext2D::fillRect): Ditto.
        (WebCore::CanvasRenderingContext2D::strokeRect): Ditto, same for line width.
        Changed the case where the line width is not specified to share code with the
        case where it is.
        (WebCore::size): Renamed from imageSize, since C++ overloads based on parameter
        types anyway.
        (WebCore::CanvasRenderingContext2D::drawImage): Generate INDEX_SIZE_ERR exception
        if the source rect is not entirely inside the image rect, or if the width or height
        of either the source or destination rect is NaN or <= 0. Changed image drawing
        code to be platform-independent for the image element case, but not yet for the
        canvas case.
        (WebCore::CanvasRenderingContext2D::drawImageFromRect): Change code to parse the
        composite operation to use the new code shared with Image.
        (WebCore::CanvasRenderingContext2D::createPattern): Added code to parse the
        repetition type separately before creating the pattern. Added an overload for
        canvas elements.
        (WebCore::CanvasRenderingContext2D::drawingContext): Changed to return a
        GraphicsContext*.
        (WebCore::CanvasRenderingContext2D::platformContext): Added. Now does what
        drawingContext used to do.

        * html/CanvasRenderingContext2D.idl: Added exception declarations as needed
        for changes above.

        * html/HTMLCanvasElement.h:
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Changed m_drawingContext
        to be a GraphicsContext instead of a CGContextRef.
        (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Ditto.
        (WebCore::HTMLCanvasElement::getContext): Removed special cases for null
        and empty string. Only give a 2D graphics context if the string is "2d".
        (WebCore::HTMLCanvasElement::reset): Updated for change to GraphicsContext
        from CGContextRef.
        (WebCore::HTMLCanvasElement::paint): Ditto.
        (WebCore::HTMLCanvasElement::createDrawingContext): Changed to create a
        GraphicsContext* instead of a CGContextRef.
        (WebCore::HTMLCanvasElement::drawingContext): Changed to return a
        GraphicsContext* instead of a CGContextRef.
        (WebCore::HTMLCanvasElement::createPlatformImage): Updated for changes above.

        * html/HTMLCanvasElement.idl: Added.

        * html/HTMLParser.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::canvasCreateErrorCheck): Added. An attempt to implement the
        fallback behavior for canvas elements when JavaScript is off.
        (WebCore::HTMLParser::getNode): Sorted list of functions. Added case for canvas.

        * html/html_imageimpl.h:
        * html/html_imageimpl.cpp:
        (WebCore::HTMLImageElement::HTMLImageElement): Changed m_compositeOperator to be
        an enum instead of a string.
        (WebCore::HTMLImageElement::parseMappedAttribute): Parse the enum here.

        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): Changed to take a
        GraphicsContext parameter.

        * kcanvas/RenderPath.h: Added GraphicsContext parameter to drawMarkersIfNeeded.

        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint):
        * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint):
        * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint):
        Changed to generate and use an appropriate GraphicsContext.

        * kcanvas/device/quartz/KCanvasItemQuartz.h: Added GraphicsContext parameter to
        drawMarkersIfNeeded.
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::DrawMarkersData::DrawMarkersData): Added GraphicsContext*.
        (WebCore::drawMarkerWithData): Pass along a GraphicsContext*.
        (WebCore::drawStartAndMidMarkers): Ditto.
        (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded): Pass a long a GraphicsContext*.

        * kcanvas/device/KRenderingDevice.h: Added a pure virtual createGraphicsContext
        to bridge back to a GraphicsContext. Long term that class will replace this one.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext): Added.

        * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent):
        Create and pass a GraphicsContext -- old code used the default constructor for
        GraphicsContext which meant "current context", and that no longer exists.
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile): Ditto.

        * platform/Brush.h: Removed.
        * platform/CompositeOperator.h: Added.
        * platform/CompositeOperator.cpp: Added.

        * platform/Font.h: Changed calls to use IntPoint instead of pairs of ints.
        Also removed the const from all the uses of GraphicsContext*.

        * platform/GraphicsContext.h: Eliminated default constructor and constructor
        that takes only a boolean. Replaced with constructors that take platform
        graphics contexts only. Replaced brush-related calls with fill color calls.
        Replaced use of Brush with use of Color. Changed Image::CompositeOperator to
        just plain CompositeOperator. Changed tuples of ints into IntRect and IntPoint.
        Moved setFocusRingClip and clearFocusRingClip out of ifdefs. Removed unused
        getCompositeOperation and string-based setCompositeOperation. Moved
        currentCGContext and the other setCompositeOperation out of the GraphicsContext
        class and made them global functions. Fixed platformContext so it won't always
        return the CGContextRef of the current NSGraphicsContext. Instead, it will
        return the appropriate CGContextRef for the GraphicsContext. This eliminates
        the need to use void* for the image-drawing functions.

        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState): Replaced Brush with
        an RGBA fill color.
        (WebCore::GraphicsContext::setFillColor): Renamed from setBrush.
        (WebCore::GraphicsContext::fillColor): Renamed from brush.
        (WebCore::GraphicsContext::drawImage): Changed to use IntRect.
        (WebCore::GraphicsContext::drawTiledImage): Moved here from GraphicsContextMac.mm.
        (WebCore::GraphicsContext::drawText): Changed to use IntPoint.
        (WebCore::GraphicsContext::drawHighlightForText): Ditto.
        (WebCore::GraphicsContext::drawLineForText): Ditto.
        (WebCore::GraphicsContext::drawLineForMisspelling): Ditto.

        * platform/Image.h: Removed CompositeOperator and related functions.
        Removed void* context parameters from draw functions.

        * platform/Image.cpp: Removed compositeOperatorFromString.

        * platform/Widget.h: Added a GraphicsContext* return value from lockDrawingFocus
        that you pass back to unlockDrawingFocus (for deletion).

        * platform/mac/FontMac.mm:
        (WebCore::Font::selectionRectForText): Changed parameter to point and removed
        const on GraphicsContext* parameter.
        (WebCore::Font::drawText): Ditto.
        (WebCore::Font::drawHighlightForText): Ditto.
        (WebCore::Font::drawLineForText): Ditto.
        (WebCore::Font::drawLineForMisspelling): Ditto.
        (WebCore::Font::misspellingLineThickness): Removed const.

        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        Added fields to store a CGContextRef and an NSGraphicsContext.
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        Release both the CGContextRef and the NSGraphicsContext.
        (WebCore::GraphicsContext::GraphicsContext): Implement to set up both the
        CGContextRef and the NSGraphicsContext in one case, and only the CGContextRef
        in the other.
        (WebCore::GraphicsContext::savePlatformState): Implement for the CGContext-only
        case.
        (WebCore::GraphicsContext::restorePlatformState): Ditto.
        (WebCore::GraphicsContext::drawRect): Assert that the NS context is present
        and 
        (WebCore::GraphicsContext::setColorFromFillColor): Renamed from
        setColorFromBrush.
        (WebCore::GraphicsContext::setColorFromPen): Added assertion.
        (WebCore::GraphicsContext::drawLine): Added assertion.
        (WebCore::GraphicsContext::drawEllipse): Get CGContext from the platformContext
        function instead of currentCGContext, and changed to use fillColor.
        (WebCore::GraphicsContext::drawArc): Ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::setCompositeOperation): Changed to global function and also changed
        to do the work here -- no need to use WebCoreImageRendererFactory.
        (WebCore::GraphicsContext::drawImage): Move most of this into GraphicsContext.cpp.
        Remove the void* context parameter. Changed to take rects instead of separate coordinates.
        (WebCore::GraphicsContext::fillRect): Changed to take color instead of Brush.
        (WebCore::GraphicsContext::addClip): Added assertion.
        (WebCore::GraphicsContext::addRoundedRectClip): Get CGContextRef from the platformContext
        function instead of currentCGContext.
        (WebCore::GraphicsContext::createRenderingDeviceContext): Ditto.
        (WebCore::GraphicsContext::beginTransparencyLayer): Ditto.
        (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
        (WebCore::GraphicsContext::setShadow): Change to take size instead of x,y. Also get
        CGCOntextRef from the platformContext function instead of currentCGContext.
        (WebCore::GraphicsContext::clearShadow): Get CGContextRef from the platformContext
        function instead of currentCGContext.
        (WebCore::GraphicsContext::platformContext): Added. Returns m_data->m_cgContext.

        * platform/mac/ImageMac.mm:
        (WebCore::fillSolidColorInRect): Updated for change in CompositeOperator type.
        (WebCore::Image::checkForSolidColor): Ditto.
        (WebCore::Image::draw): Removed void* context parameter and replaced it with
        a GraphicsContext* parameter. Renamed from drawInRect.
        (WebCore::Image::drawTiled): Ditto. Renamed from tileInRect and scaleAndTileInRect.

        * platform/mac/PDFDocumentImage.h: Updated for change in CompositeOperator type.
        * platform/mac/PDFDocumentImage.mm: (WebCore::PDFDocumentImage::draw): Ditto.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::lockDrawingFocus): Changed to return a GraphicsContext*.
        (WebCore::Widget::unlockDrawingFocus): Changed to take a GraphicsContext*.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect): Changed to pass IntPoint.
        (WebCore::InlineTextBox::paint): Changed to pass IntSize.
        (WebCore::InlineTextBox::paintSelection): More of the same.
        (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto.
        (WebCore::InlineTextBox::paintDecoration): Ditto.
        (WebCore::InlineTextBox::paintSpellingMarker): Ditto.
        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
        (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
        (WebCore::InlineTextBox::positionForOffset): Ditto.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::fillHorizontalSelectionGap): Ditto.
        (WebCore::RenderBlock::fillVerticalSelectionGap): Ditto.
        (WebCore::RenderBlock::fillLeftSelectionGap): Ditto.
        (WebCore::RenderBlock::fillRightSelectionGap): Ditto.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended): Ditto.
        (WebCore::RenderBox::outlineBox): Ditto.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint): Ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::setClip): Take out ifdefs. We'll do that inside GraphicsContext instead.
        (WebCore::restoreClip): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorder): More of the same.
        (WebCore::RenderObject::paintBorderImage): Ditto.
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::paintDecorations): Ditto.
        (WebCore::EllipsisBox::paint): Ditto.
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint): Ditto.

        * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Set up a graphics
        context by calling lockDrawingFocus. Also changed a color here to be a constant.

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawImage): Update for parameter type changes.
        (WebCore::GraphicsContext::drawScaledAndTiledImage):
        (WebCore::GraphicsContext::setFocusRingClip):
        (WebCore::GraphicsContext::clearFocusRingClip):
        * platform/cairo/ImageCairo.cpp:
        (WebCore::setCompositingOperation):
        (WebCore::Image::tileInRect):
        (WebCore::Image::scaleAndTileInRect):

2006-04-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        WebCore part of:
        - fix http://bugs.webkit.org/show_bug.cgi?id=8276
          REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
            a file: URL being pasted instead of just the file name
        - fix http://bugs.webkit.org/show_bug.cgi?id=8283
          REGRESSION: File's path doesn't appear after dragging file into input field

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge isDragCaretRichlyEditable]): Added.
        * manual-tests/plain-text-paste.html: Added.
        * manual-tests/resources/plain-text-paste: Added.
        * manual-tests/resources/plain-text-paste/1.textClipping: Added.
        * manual-tests/resources/plain-text-paste/2.textClipping: Added.
        * manual-tests/resources/plain-text-paste/3.gif: Added.
        * manual-tests/resources/plain-text-paste/4.txt: Added.
        * manual-tests/resources/plain-text-paste/5.webloc: Added.

2006-04-20  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=8505
          eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique

        * platform/mac/WebCoreGraphicsBridge.h: Removed.
        * platform/mac/WebCoreGraphicsBridge.m: Removed.
        * platform/mac/WebCoreSystemInterface.h: Added.
        * platform/mac/WebCoreSystemInterface.mm: Added.

        * WebCore.exp: Add new SystemInterface globals, remove WebCoreGraphicsBridge.

        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
        Sorted files.

        * bridge/mac/FrameMac.mm: Removed unneeded include of WebCoreGraphicsBridge.h.

        * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setDragImage):
        Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
        call wkSetDragImage.

        * platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing):
        Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
        call wkDrawFocusRing.

        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField):
        Call wkDrawBezeledTextFieldCell from WebCoreSystemInterface instead of using
        WebGraphicsBridge to do the same thing.

2006-04-20  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8273
        REGRESSION: Read only input text field renders at the wrong height when value attribute is not present

        Test: fast/forms/input-readonly-empty.html

        * rendering/RenderBlock.h: Added hasLineIfEmpty.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty): Added.  Checks for rootEditableElement as well as 
         a shadowNode who has an input element as a parent.
        (WebCore::RenderBlock::getBaselineOfLastLineBox): Calls hasLineIfEmpty instead of just checking for the rootEditableElement.
        * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): ditto.

2006-04-20  Darin Adler  <darin@apple.com>

        Reviewed by Timothy.

        Removed TO_NODE_OFFSET and TO_NODE_ADDRESS macros. These can just be done inline with pointer math.

        * platform/DeprecatedString.cpp:
        (allocateNode):
        (freeHandle):

2006-04-19  Adele Peterson  <adele@apple.com>

        Rubber-stamped by Darin.

        Removed optimizations recently added in setInnerHTML and setInnerText.  The setInnerHTML change broke a first-letter style test.
        The setInnerText change caused an empty text node to get added when setting inner text to an empty string.  The bug that this
        change went in with remains fixed.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerHTML):
        (WebCore::HTMLElement::setInnerText):

2006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Haytt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6770
          REGRESSION: Incomplete repaint when block with clipping grows

        * manual-tests/repaint-resized-overflow.html: Added.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::computeRepaintRects): Set the m_repaintOverflowOnResize
        flag to true if our object itself needs layout or if we're an overflow
        and have a normal child that needs layout, in which case if we end up
        resizing it will be because of the child, and that child might have not repainted
        itself correctly during its own layout.
        (WebCore::RenderLayer::updateLayerPositions): Do a full repaint if
        m_repaintOverflowOnResize is set and we resized but didn't move.
        * rendering/RenderLayer.h:

2006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8352
          CSS text-shadow does not repaint completely when changed

        * manual-tests/dynamic-shadow.html: Added.
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::diff): Changed to return Layout when text-shadow
        changes.

2006-04-19  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Added readOnly methods for HTMLInputElement and HTMLTextAreaElement so the DOM bindings can call
        a method with the same name.  This will make it easier to autogenerate the DOM bindings in the future.
 
        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::readOnly): Added. Calls isReadOnlyControl.
        * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::readOnly): ditto.
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::inputGetter): Calls readOnly instead of isReadOnlyControl.
        (KJS::JSHTMLElement::textAreaGetter): ditto.
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement readOnly]): ditto.
        (-[DOMHTMLTextAreaElement readOnly]): Calls readOnly instead of getting the attribute directly.
        (-[DOMHTMLTextAreaElement setReadOnly:]): Calls setReadOnly instead of setting the attribute directly.

2006-04-19  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8297
        REGRESSION: Input element extends outside of DIV element at http://www.macdock.com/

        * platform/Font.h: Added runRounding parameter to floatWidth.
        * platform/mac/FontMac.mm: (WebCore::Font::floatWidth): ditto.
        * platform/win/FontWin.cpp: (WebCore::Font::floatWidth): ditto.
        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
          Use new floatWidth parameter to turn off run rounding.

2006-04-19  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Fix for Windows build.

        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::determineState):
        Use isReadOnlyControl instead of isReadOnly.

 2006-04-19  Adele Peterson  <adele@apple.com>
 
         Reviewed by Beth.
 
         Fix to make readonly text fields have dimmed borders to match AppKit behavior.
 
         Test: fast/forms/input-readonly-dimmed.html
 
         * dom/Node.h: (WebCore::Node::isReadOnlyControl): Changed from const version of isReadOnly.
         * dom/Node.cpp:
         (WebCore::Node::isReadOnlyNode): Changed from isReadOnly.
         (WebCore::Node::setNodeValue): Uses isReadOnlyNode instead of isReadOnly.
         (WebCore::Node::checkSetPrefix): ditto.
         (WebCore::Node::checkAddChild): ditto.
         * dom/Attr.cpp: (WebCore::Attr::setValue): ditto.
         * dom/CharacterData.cpp:
         (WebCore::CharacterData::setData): ditto.
         (WebCore::CharacterData::appendData): ditto.
         (WebCore::CharacterData::checkCharDataOperation): ditto.
         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): ditto.
         * dom/Element.cpp: (WebCore::Element::setAttribute): ditto.
         * dom/NamedAttrMap.cpp:
         (WebCore::NamedAttrMap::setNamedItem): ditto.
         (WebCore::NamedAttrMap::removeNamedItem): ditto.
         * dom/NamedAttrMap.h: (WebCore::NamedAttrMap::isReadOnlyNode): ditto.
         * dom/NamedNodeMap.h: (WebCore::NamedNodeMap::isReadOnlyNode): ditto.
         * dom/Range.cpp:
         (WebCore::Range::checkDeleteExtract): ditto.
         (WebCore::Range::containedByReadOnly): ditto.
         * dom/Text.cpp: (WebCore::Text::splitText): ditto.
         * dom/dom_xmlimpl.cpp: (WebCore::ProcessingInstruction::setData): ditto.
 
         * bindings/js/kjs_html.cpp:
         (KJS::JSHTMLElement::inputGetter): Uses isReadOnlyControl instead of isReadOnly.
         (KJS::JSHTMLElement::textAreaGetter): ditto.
         * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement readOnly]): ditto.
         * rendering/render_form.cpp:
         (WebCore::RenderLineEdit::updateFromElement): ditto.
         (WebCore::RenderTextArea::updateFromElement): ditto.
         * rendering/RenderTextField.cpp:
         (WebCore::RenderTextField::createDivStyle): ditto.
         (WebCore::RenderTextField::updateFromElement): ditto.
 
         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::parseMappedAttribute): 
           When readonly attribute changes, update the theme so the control will repaint.
         * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::isReadOnlyControl): Renamed from readOnly.
         * html/HTMLInputElement.h: Removed isReadOnly, since isReadOnlyControl now exists on HTMLGenericFormElement.
         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isReadOnlyControl): Renamed from isReadOnly.
         * rendering/RenderTheme.h: (WebCore::): Added ReadOnlyState to ControlState enum.
         * rendering/RenderThemeMac.h: Removed NSTextFieldCell since it was only being used to store the enabled state.
           Removed setTextFieldState since it was updating the enabled state of the cell, which is only used in one place.
         * rendering/RenderThemeMac.mm:
         (WebCore::RenderThemeMac::RenderThemeMac): No longer initialized the NSTextFieldCell.
         (WebCore::RenderThemeMac::adjustRepaintRect): No longer calls setTextFieldState.
         (WebCore::RenderThemeMac::paintTextField): Uses the enabled state and the readonly state to determine whether to draw
          a dimmed version of the aqua border.
 
2006-04-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8467 Block 
        with percentage background-size doesn't repaint properly when it 
        grows

        * manual-tests/backgroundSizeRepaint.html: Added.
        * manual-tests/resources/apple.jpg: Added.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): We must 
        return true if we have a percentage background-size.

2006-04-19  David Hyatt  <hyatt@apple.com>

        Fix for a regression in the new text fields.  Don't allow the repaint
        rect created by dynamic line layout changes to spill out of an overflow
        area's clip region.

        (There is no test, since we have no way of testing cases where we repaint
         too much rather than too little.)

        Reviewed by darin

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Fix for bug 8449, incomplete repaint of table cell that moved.  This
        fix also solves some of the textfield repainting problems (e.g., on
        google.com and lxr.mozilla.org).

        Reviewed by hyatt

        * manual-tests/table-cell-move.html: Added.
        * rendering/RenderCanvas.cpp:
        (WebCore::RenderCanvas::repaintViewRectangle):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Eric, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8469
          CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed

        Test: fast/css/dashboard-regions-attr-crash.html

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseDashboardRegions): Added null check for args.

2006-04-18  Rob Buis  <buis@kde.org>

        Reviewed by eseidel & darin.  Landed by eseidel.

        No automated tests possible (from javascript).

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6664:
        Inspector does not highlight SVG elements properly

        Make sure RenderObject::absoluteBoundingBoxRect works for
        svg specific render objects by overriding absoluteRects.
        This fixes highlighting in the Inspector of svg shapes, paths,
        images and text.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::absoluteRects):
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        (WebCore::RenderSVGImage::absoluteRects):
        * kcanvas/RenderSVGImage.h:
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::absoluteRects):
        * kcanvas/RenderSVGText.h:

2006-04-17  Rob Buis  <buis@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Test: svg/custom/tref-update.svg

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6427:
        <tref> element not implemented

        Implementation of <tref> element.

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGTRefElement.cpp: Added.
        (SVGTRefElement::SVGTRefElement):
        (SVGTRefElement::~SVGTRefElement):
        (SVGTRefElement::parseMappedAttribute):
        (SVGTRefElement::closeRenderer):
        (SVGTRefElement::childShouldCreateRenderer):
        (SVGTRefElement::createRenderer):
        * ksvg2/svg/SVGTRefElement.h: Added.
        (WebCore::SVGTRefElement::rendererIsNeeded):
        * ksvg2/svg/SVGTSpanElement.cpp:
        (SVGTSpanElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::childShouldCreateRenderer):
        * ksvg2/svg/svgtags.in:

2006-04-18  Darin Adler  <darin@apple.com>

        * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement):
        Roll out accidentally-landed change for bug 8398.

2006-04-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for a leak exposed by background-size and detected by the 
        layout tests.

        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs.

2006-04-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Eric.

        Build fix for Windows. Just a few typos from background-size patch.

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::tileInRect):

2006-04-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Implementation of CSS3 background-size property. See 
        http://bugs.webkit.org/show_bug.cgi?id=8353 for details.

        * Viewer/ImageView.cpp: Adjust parameters to drawTiledImage()
        * css/CSSComputedStyleDeclaration.cpp: Add background-size
        * css/CSSPropertyNames.in: Same.
        * css/css_valueimpl.h: Add a constructor for Pair that takes the 
        two halves of the pair.
        * css/cssparser.cpp: Parse background-size. Still need to take care 
        of parsing the shorthand.
        * css/cssparser.h: Same.
        * css/cssstyleselector.cpp: Address background-size.
        * css/cssstyleselector.h: Same.
        * platform/GraphicsContext.h: drawTiledImage() now takes the 
        tileSize so that it can appropriately scale.
        * platform/Image.h: Same as above, but for tileInRect()
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::tileInRect): Take care of scaling image in 
        necessary in Cairo.
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawTiledImage): 
        * platform/mac/ImageMac.mm:
        (WebCore::Image::tileInRect): Take care of scaling image if 
        necessary in CG.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended): Compute appropriate 
        scale if background-size is set. If no-repeat is set, just call 
        drawImage() directly.
        * rendering/render_style.cpp: Add background-size to the style.
        (WebCore::m_next):
        (WebCore::BackgroundLayer::BackgroundLayer):
        (WebCore::BackgroundLayer::operator=):
        (WebCore::BackgroundLayer::operator==):
        (WebCore::BackgroundLayer::fillUnsetProperties):
        (WebCore::BackgroundLayer::cullEmptyLayers):
        * rendering/render_style.h: Same.
        (WebCore::BackgroundLayer::backgroundSize):
        (WebCore::BackgroundLayer::isBackgroundSizeSet):
        (WebCore::BackgroundLayer::setBackgroundSize):
        (WebCore::BackgroundLayer::clearBackgroundSize):
        (WebCore::RenderStyle::backgroundSize):
        (WebCore::RenderStyle::initialBackgroundSize):

2006-04-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraph): The placeholder that's inserted 
        to keep content from collapsing due to pruning was inserted at the position after 
        the moved paragraph.  That's only appropriate when moving the paragraph backward 
        into the previous paragraph.
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): The last paragraph of the incoming
        fragment should be merged with the paragraph after the end of the selection being pasted
        into even if the incoming fragment has only one block.   This fixes a bug and gets
        rid of a use of the info gathered during the test insertion.

2006-04-17  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8407
        REGRESSION (NativeTextField): Leading and trailing spaces trimmed from text field value attribute

        Test: fast/forms/input-spaces.html

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): 
        Use white-space:pre for the inner div to avoid collapsing spaces in the text field.

2006-04-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8437
          iExploder(#293): Crash in StringImpl::hash()

        * manual-tests/applet-param-no-name.html: Added.
        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with
        empty name.

2006-04-18  Darin Adler  <darin@apple.com>

        - try to fix the Windows build

        * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor):
        Update for changes to getRGBA.

2006-04-17  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8440
        iExploder(#3327): Crash in StringImpl::initWithQChar()

        Test: fast/parser/number-sign-in-map-name.html

        * html/html_imageimpl.cpp:
        (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'.

2006-04-17  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8269
        REGRESSION: disabled text field does not display greyed-out text

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle): 
        For disabled text fields, lighten or darken text color based on background color.
        Tries to get as close as possible to logic in AppKit for old text fields.
        * platform/Color.h: Removed hsv and setHsv since they were just used within Color.cpp.
        * platform/Color.cpp:
        (WebCore::parseHexColor): Cleanup.
        (WebCore::differenceSquared): Added. Returns the difference squared of two colors.
        (WebCore::convertRGBToHSV): Added static function. Replaces hsv and setHSV, and fixes bug in old implementation of the algorithm.
        (WebCore::convertHSVToRGB): ditto.
        (WebCore::Color::light): No longer takes in a factor, since all callers use the same factor.  Uses new conversion functions.
        (WebCore::Color::dark): ditto.
        * rendering/InlineTextBox.cpp: Removed simpleDifferenceBetweenColors.
        (WebCore::correctedTextColor):  Uses differenceSquared instead of simpleDifferenceBetweenColors.

2006-04-17  David Hyatt  <hyatt@apple.com>

        Fix for bug 8270, text highlights outside of textfield when it shouldn't.

        Reviewed by darin

        Added fast/forms/input-double-click-selection-gap-bug.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::fillInlineSelectionGaps):

2006-04-17  David Hyatt  <hyatt@apple.com>

        Fix for bug 8848, caret off by 1 pixel on numerous pixel tests.

        Reviewed by darin

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect):

2006-04-17  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4506601> TOT WebCore fails to build ppc64

        Switch many CG calls to use CGFloat for colors and gradients

        * bindings/objc/DOMCSS.mm:
        (-[DOMRGBColor dealloc]): cast _internal to uintptr_t
        (-[DOMRGBColor finalize]): cast _internal to uintptr_t
        (-[DOMRGBColor red]): cast _internal to uintptr_t
        (-[DOMRGBColor green]): cast _internal to uintptr_t
        (-[DOMRGBColor blue]): cast _internal to uintptr_t
        (-[DOMRGBColor alpha]): cast _internal to uintptr_t
        (-[DOMRGBColor _color]): cast _internal to uintptr_t
        * bridge/mac/FrameMac.mm:
        (WebCore::regExpForLabels): use CFIndex as the type returned from indexOfObject:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]): workaround for <rdar://problem/4509035>
        * config.h: define CGFloat if it isn't defined already
        * html/CanvasGradient.cpp:
        (WebCore::CanvasGradient::addColorStop):
        (WebCore::gradientCallback):
        (WebCore::CanvasGradient::platformShading):
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setShadow):
        (WebCore::CanvasRenderingContext2D::applyShadow):
        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
        (WebCore::CanvasRenderingContext2D::applyFillPattern):
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyStrokeColor):
        (WebCore::CanvasStyle::applyFillColor):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::alphaImageForImage):
        (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        (WebCore::applyLuminanceToAlphaFilter):
        (WebCore::applyExpandAlphatoGrayscaleFilter):
        (WebCore::transformImageIntoGrayscaleMask):
        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
        (WebCore::scratchContext):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::cgGradientCallback):
        (WebCore::CGShadingRefForLinearGradient):
        (WebCore::CGShadingRefForRadialGradient):
        (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        (WebCore::):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::applyStrokeStyleToContext):
        * kwq/WebCoreAXObject.mm:
        (CreateCGColorIfDifferent):
        * platform/Color.cpp:
        (WebCore::Color::getRGBA): new name, was getRgbaF. getRGBA uses float and has a double overload
        * platform/Color.h:
        * platform/mac/ClipboardMac.h: no need to define NSDragOperation
        * platform/mac/ColorMac.mm:
        (+[WebCoreControlTintObserver WebCore]):
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLine):
        * platform/mac/ImageMac.mm:
        (WebCore::Image::checkForSolidColor):
        (WebCore::Image::tileInRect):
        (WebCore::Image::scaleAndTileInRect):
        * platform/mac/TextEncodingMac.cpp:
        (WebCore::TextEncoding::fromUnicode):

2006-04-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8402>
        Fix interchange newline handling and avoid use of test rendering info

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Fixed bugs in handling of interchange newlines at the end of incoming 
        fragments.  Removed the use of !fragment.isBlockFlow since it isn't 
        correct and relies on information gathered during the test insertion, which 
        we're trying to get rid of. 
        * editing/VisiblePosition.h:
        (WebCore::VisiblePosition::rootEditableElement): Added for convenience.

2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8408
          Paint the highlight behind selected list markers

        Test: fast/lists/markers-in-selection.html

        * rendering/RenderObject.h: Added selectionColorImageOverlayAlpha constant -
        the maximum opacity of the selection color when painted over images.
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::RenderListMarker):
        (WebCore::RenderListMarker::paint): Paint the selection highlight
        if selected: over the marker for image markers, under the marker for all other
        markers.
        (WebCore::RenderListMarker::setSelectionState): Added.
        (WebCore::RenderListMarker::selectionRect): Added.
        (WebCore::RenderListMarker::selectionColor): Added. Ensures that the selection
        color is transparent for image markers.
        * rendering/render_list.h:
        (WebCore::RenderListMarker::selectionState):
        (WebCore::RenderListMarker::canBeSelectionLeaf):
        * rendering/render_replaced.cpp
        (WebCore::RenderReplaced::selectionColor): Changed to use the selectionColorImageOverlayAlpha
        constant.

2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8420
          iExploder(#12): Assertion failure in RenderContainer::removeChildNode

        Test: fast/forms/button-inner-block-reuse.html

        Buttons have a distinguished anonymous child that holds all their other
        descendants. Descendants ended up in a sibling anonymous block as the
        initial anonymous child was being reused to hold the initial part of an
        inline that got split.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow): Check if the anonymous block's parent
        allows us to reuse it.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::allowsReusingAnonymousChild): Added. Returns true.
        * rendering/render_button.h:
        (WebCore::RenderButton::allowsReusingAnonymousChild): Added. Returns false.

2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8394
          Editable region does not accept dropped text if there is no selection

        Test: editing/pasteboard/drop-text-without-selection.html

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow
        creating a fragment regardless of the selection.

2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324
          REGRESSION: textarea :focus not applied immediately

        * bridge/mac/WebCoreFrameBridge.h:
        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
        (-[KWQPopUpButton resignFirstResponder]): Cleaned up.
        * kwq/KWQListBox.mm: Ditto.
        (-[KWQTableView becomeFirstResponder]):
        (-[KWQTableView resignFirstResponder]):
        * kwq/KWQSlider.mm:
        (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and
        cleaned up.
        (-[KWQSlider resignFirstResponder]): Cleaned up.
        * platform/mac/WebCoreTextArea.mm:
        (-[WebCoreTextView becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
        (-[WebCoreTextView resignFirstResponder]): Cleaned up.
        * platform/mac/WebCoreTextField.mm:
        (-[KWQTextFieldController setHasFocus:]): Added call to formControlIsBecomingFirstResponder:.
        * manual-tests/textarea-focus.html: Added.

2006-04-16  Darin Adler  <darin@apple.com>

        Reviewed by Adele and Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8298
          REGRESSION: Crash occurs when attempting to drag selection into
          Depart/Return input fields at http://www.travelocity.com/
        - remove the mutation event listener that's installed all the time,
          since it slows things down a bit

        Calling SelectionController::nodeWillBeRemoved from Document::notifyBeforeNodeRemoval
        fixes the crash, which was happening because the call that was removing the text
        node, removeChildren, does not send a "node removed" mutation event (it sends a
        "subtree modified" mutation event instead). So this change alone fixes the crash.

        But I also changed setInnerText to not blow away the text node each time the value
        is changed, and that makes the test case behave even better -- you don't even lose
        the selection; it works as it did with the NSTextField-based text field.

        * manual-tests/input-empty-on-focus.html: Added.

        * page/Frame.h: Tweaked a few comments and functions related to selection.
        * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const.

        * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval):
        Call nodeWillBeRemoved on the two selection controllers before removing
        a node from the document.

        * editing/SelectionController.h: Tweak formatting. Remove MutationListener
        class and m_mutationListener field.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController): Remove code to set up
        the mutation event listener.
        (WebCore::SelectionController::setSelection): Remove code to maintain the
        mutation event listener.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerHTML): In cases where the container has only a
        single child use replaceChild, and in cases where the HTML being inserted
        also has only a single child and both are text nodes use setData. It's common
        to use setInnerHTML to set something that's just text.
        (WebCore::HTMLElement::setInnerText): Same as above, but simpler since the
        thing we're replacing with is always text.

2006-04-16  Kevin Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8417
          make-css-file-arrays.pl hangs when run on Linux

        * css/make-css-file-arrays.pl: Remove the "-" parameter from the invocation of cpp,
        which means "send output to stdout". It's optional on Mac OS X, and is causing a
        hang on Linux.
        * rendering/RenderArena.cpp: Added a missing include of <assert.h>.

2006-04-15  Darin Adler  <darin@apple.com>

        - removed references to a couple files that are obsolete
          but were still in the Windows project file

        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp.

2006-04-15  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8405
          REGRESSION: Web Inspector's Style pane is blank

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript): Use isEmpty() instead of isNull() for checking
        the domain to determine if the document in a local file. 

2006-04-14  David Hyatt  <hyatt@apple.com>

        CSS vendor-specific property/value cleanup.  Properly qualify background-clip,
        background-origin, border-image and the border-radius properties.  Make sure
        our overflow extensions of marquee and overlay are qualified as well.  Rename
        the -khtml- extension to -webkit.

        Reviewed by beth

        * bindings/js/kjs_css.cpp:
        (KJS::cssPropertyName):
        * bindings/objc/DOMCSS.mm:
        (-[DOMCSSStyleDeclaration _fontSizeDelta]):
        (-[DOMCSSStyleDeclaration _setFontSizeDelta:]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement _setAutofilled:]):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::valueForTextAlign):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y:
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/css_base.cpp:
        (WebCore::CSSSelector::extractPseudoType):
        * css/css_valueimpl.cpp:
        (WebCore::):
        * css/css_valueimpl.h:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseRule):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::parseBackgroundShorthand):
        (WebCore::CSSParser::parseBackgroundColor):
        (WebCore::CSSParser::parseBackgroundProperty):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseShadow):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * css/cssstyleselector.h:
        * css/html4.css:
        * css/quirks.css:
        * css/tokenizer.flex:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::blockPlaceholderClassString):
        * editing/JSEditor.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
        (WebCore::styleForNode):
        * editing/htmlediting.cpp:
        (WebCore::rebalanceWhitespaceInTextNode):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::addHTMLAlignment):
        (WebCore::HTMLElement::setContentEditable):
        * html/html_blockimpl.cpp:
        (WebCore::HTMLDivElement::parseMappedAttribute):
        (WebCore::HTMLParagraphElement::parseMappedAttribute):
        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
        * html/html_inlineimpl.cpp:
        (WebCore::HTMLFontElement::parseMappedAttribute):
        * html/html_tableimpl.cpp:
        (WebCore::HTMLTablePartElement::parseMappedAttribute):
        (WebCore::HTMLTableCellElement::parseMappedAttribute):
        * page/Frame.cpp:
        (WebCore::Frame::canMouseDownStartSelect):
        * page/Frame.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::draggableNode):

2006-04-14  Eric Seidel  <eseidel@apple.com>

        Reviewed by beth.

        Fix win32 build.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * page/FramePrivate.h:

2006-04-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fix build-warnings in cairo code.
        http://bugs.webkit.org/show_bug.cgi?id=8176

        * platform/cairo/cairo/src/cairo-win32-surface.c:
        (_cairo_win32_print_gdi_error):
        (_cairo_win32_surface_create_for_dc):
        (_composite_alpha_blend):
        (cairo_win32_surface_create):
        * platform/cairo/pixman/src/iccolor.c:
        (pixman_pixel_to_color):

2006-04-14  David Hyatt  <hyatt@apple.com>

        Fix for 8333, make sure newlines in whitespace:pre (and friends) get
        line boxes created for them.  This resolves all the weird selection/navigation
        issues that arise by not creating lines (and thus not having navigable positions
        on those lines).

        This checkin is also removing all of the layout test hacks that have piled
        up, so layout test results are being regenerated completely.

        Reviewed by eric

        * dom/Position.cpp:
        (WebCore::Position::downstream):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraph):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        * kwq/RenderTreeAsText.cpp:
        (getTagName):
        (operator<<):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionState):
        (WebCore::InlineTextBox::isLineBreak):
        (WebCore::InlineTextBox::nodeAtPoint):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/InlineTextBox.h:
        * rendering/RenderBR.cpp:
        * rendering/RenderBR.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::atLineWrap):
        (WebCore::RenderText::caretRect):
        (WebCore::RenderText::height):
        (WebCore::RenderText::inlineBox):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/render_line.h:
        (WebCore::InlineBox::isLineBreak):

2006-04-13  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - moved a few things out of kwq and cleaned up the
          Java-applet-related renderers

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location
        and name changes.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * kwq/JavaAppletWidget.h: Moved.
        * kwq/JavaAppletWidget.mm: Moved.
        * kwq/RegularExpression.cpp: Moved.
        * kwq/RegularExpression.h: Moved.
        * kwq/RenderTreeAsText.cpp: Moved.
        * kwq/RenderTreeAsText.h: Moved.
        * rendering/render_applet.cpp: Moved.
        * rendering/render_applet.h: Moved.

        * bridge/JavaAppletWidget.h: Moved here.
        * bridge/mac/JavaAppletWidget.mm: Moved here.
        * platform/RegularExpression.cpp: Moved here.
        * platform/RegularExpression.h: Moved here.
        * rendering/RenderTreeAsText.cpp: Moved here.
        * rendering/RenderTreeAsText.h: Moved here.

        * rendering/RenderApplet.h: Moved here and made changes.
        Removed unused element() function.
        * rendering/RenderApplet.cpp: Moved here and made changes.
        (WebCore::RenderApplet::RenderApplet): Changed parameter type to
        be more precise (HTMLAppletElement).
        (WebCore::RenderApplet::intrinsicWidth): Removed unnecessary type
        cast and simplified.
        (WebCore::RenderApplet::intrinsicHeight): Ditto.
        (WebCore::RenderApplet::createWidgetIfNecessary): Straightened out
        the if statements and changed to use node() instead of element().
        (WebCore::RenderApplet::layout): Removed unneeded check before
        calling createWidgetIfNecessary.

        * rendering/RenderEmptyApplet.h: Moved here and made changes.
        Removed unneeded overrides of intrinsicWidth and intrinsicHeight.
        * rendering/RenderEmptyApplet.cpp: Moved here and made changes.
        (WebCore::RenderEmptyApplet::RenderEmptyApplet): Added code to
        set the intrinsic width and height.

        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::RenderWidget): Initialize m_widget
        with contructor syntax.
        (WebCore::RenderWidget::paint): Changed _tx and _ty to be just
        tx and ty. Rearranged the code so the transparent wash will draw
        even if m_widget is 0.

        * html/html_objectimpl.cpp: Update includes for new file names.

2006-04-12  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Fixed <rdar://problem/4478467> document.defaultView should return 
        the window object
        
        Also made part of the window object autogenerated by IDL file.
        
        * DerivedSources.make: Added /page to IDL file search path, added
        JSDOMWindow.h, removed kjs_views.lut.h
        * WebCore.xcodeproj/project.pbxproj: Added missing files, removed
        obsolete files
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded):
        * bindings/js/kjs_views.cpp: Removed.
        * bindings/js/kjs_views.h: Removed.
        * bindings/js/kjs_window.cpp: Removed document property -- it now
        belongs to JSDOMWindow. Added toJS and toDOMWindow.
        (KJS::Window::Window):
        (KJS::Window::impl):
        (KJS::Window::getValueProperty):
        (KJS::Window::clear): Added call to setPrototype to ensure
        that the prototype gets cleared during navigation. (Previously
        this wasn't an issue because the window object had no real prototype.)
        (WebCore::toJS):
        (WebCore::toDOMWindow):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * bindings/objc/DOMCSS.mm: Added NULL checks for the AbstractView
        (Presumably this is an issue after the window is closed.) Typedef-ed
        AbstractView as DOMWindow. I could have just replaced AbstractView
        with DOMWindow, but I think it's clearer to say, "There's this thing
        called the AbstractView, but really it's just the window."
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getMatchedCSSRules::]):
        * bindings/objc/DOMViews.mm:
        * bindings/objc/DOMViewsInternal.h:
        * bindings/scripts/CodeGeneratorJS.pm: Removed unused
        GetLegacyImplementationIncludes. Added support for DOMWindow and new
        "DoNotCache" attribute. Replaced C macros with text because (1) it
        makes the generated source easier to read and debug and (2) it made 
        it much easier to implement the DoNotCache attribute.
        * bindings/scripts/IDLParser.pm: Return a hash reference instead of
        a hash, because otherwise an interface with more than one attribute
        returns too many arguments to be processed.
        * bridge/mac/FrameMac.mm:
        * dom/AbstractView.cpp: Removed.
        * dom/AbstractView.h: Removed.
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::defaultView):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/Position.cpp:
        * dom/UIEvent.idl:
        * dom/dom2_eventsimpl.h:
        * page/DOMWindow.cpp: Added.
        (WebCore::DOMWindow::DOMWindow):
        (WebCore::DOMWindow::frame):
        (WebCore::DOMWindow::disconnectFrame):
        (WebCore::DOMWindow::document):
        (WebCore::DOMWindow::getComputedStyle):
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/DOMWindow.h: Added.
        * page/DOMWindow.idl: Added.
        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Disconnect the new DOMWindow object in
        addition to the Window object. Maybe we can unify this in the future.
        (WebCore::Frame::tree):
        (WebCore::Frame::domWindow):
        * page/Frame.h:
        * page/FramePrivate.h:

2006-04-13  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7602
        Only use fixupChar for entities

        * html/HTMLTokenizer.cpp: Only use fixUpChar() when handling entities.
        (WebCore::HTMLTokenizer::parseSpecial):
        (WebCore::HTMLTokenizer::parseText):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::write):
        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::convert): Remove the special case for Latin-1, because it is already handled 
        via effectiveEncoding().
        * platform/StreamingTextDecoder.h: Remove convertLatin1().

2006-04-13  Darin Adler  <darin@apple.com>

        * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding
        a "using namespace std".

2006-04-12  Darin Adler  <darin@apple.com>

        Rubber-stamped by Anders.

        - fix Windows build

        * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory.

        - use std::min/max exclusively intead of kMin/Max
        - eliminate KWQDef.h since all it had left in it was kMin/Max

        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * kwq/KWQDef.h: Removed.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        (WebCore::CSSStyleSelector::fontSizeForKeyword):
        * dom/Document.cpp:
        (WebCore::Document::minimumLayoutDelay):
        (WebCore::Document::addMarker):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):
        * dom/xml_tokenizer.cpp:
        (WebCore::OffsetBuffer::readOutBytes):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::CharacterIterator::string):
        (WebCore::findPlainText):
        * editing/htmlediting.cpp:
        (WebCore::rangeCompliantEquivalent):
        * editing/markup.cpp:
        (WebCore::renderedText):
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseMappedAttribute):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment):
        (WebCore::HTMLTokenizer::parseEntity):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::enlargeBuffer):
        (WebCore::HTMLTokenizer::enlargeScriptBuffer):
        * html/html_imageimpl.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * html/html_tableimpl.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * kwq/KWQComboBox.mm:
        (QComboBox::sizeHint):
        * kwq/KWQListBox.mm:
        (QListBox::sizeForNumberOfLines):
        * kwq/KWQSlider.mm:
        (QSlider::setValue):
        * loader/Cache.cpp:
        (WebCore::Cache::setSize):
        * page/Frame.cpp:
        (WebCore::Frame::forceLayoutWithPageWidthRange):
        * platform/DeprecatedPtrListImpl.h:
        * platform/DeprecatedString.cpp:
        (ucstrcmp):
        * platform/DeprecatedString.h:
        * platform/DeprecatedValueListImpl.h:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::addRoundedRectClip):
        * platform/mac/WebCoreTextArea.mm:
        (-[WebCoreTextView _trackResizeFromMouseDown:]):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::isSelected):
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::placeEllipsisBox):
        (WebCore::InlineTextBox::selectionStartEnd):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintSpellingMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::paintMarkedTextUnderline):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowRect):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::estimateVerticalPosition):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::setCollapsedBottomMargin):
        (WebCore::RenderBlock::handleBottomOfBlock):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::fillVerticalSelectionGap):
        (WebCore::RenderBlock::fillLeftSelectionGap):
        (WebCore::RenderBlock::fillRightSelectionGap):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::nearestFloatBottom):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::getClearDelta):
        (WebCore::RenderBlock::calcMinMaxWidth):
        (WebCore::RenderBlock::calcInlineMinMaxWidth):
        (WebCore::RenderBlock::calcBlocminMaxWidth):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcBorderBoxWidth):
        (WebCore::RenderBox::calcBorderBoxHeight):
        (WebCore::RenderBox::calcContentBoxWidth):
        (WebCore::RenderBox::calcContentBoxHeight):
        (WebCore::RenderBox::paintRootBoxDecorations):
        (WebCore::RenderBox::paintBoxDecorations):
        (WebCore::RenderBox::calcWidth):
        (WebCore::RenderBox::calcWidthUsing):
        (WebCore::RenderBox::calcHeight):
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::calcReplacedWidth):
        (WebCore::RenderBox::calcReplacedHeight):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteVerticalValues):
        * rendering/RenderCanvas.cpp:
        (WebCore::RenderCanvas::layout):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::calcMinMaxWidth):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        (WebCore::RenderFlexibleBox::allowedChildFlex):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines):
        (WebCore::RenderFlow::lowestPosition):
        (WebCore::RenderFlow::rightmostPosition):
        (WebCore::RenderFlow::leftmostPosition):
        (WebCore::RenderFlow::paintOutlineForLine):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::calcReplacedWidth):
        (WebCore::RenderImage::calcReplacedHeight):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::computeScrollDimensions):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::RenderLayer::absoluteBoundingBox):
        (WebCore::Marquee::marqueeSpeed):
        (WebCore::Marquee::computePosition):
        (WebCore::Marquee::timerFired):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorder):
        (WebCore::RenderObject::paintBorderImage):
        (WebCore::RenderObject::paintBorder):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::calcWidth):
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::lowestPosition):
        (WebCore::RenderTableSection::rightmostPosition):
        (WebCore::RenderTableSection::leftmostPosition):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect):
        (WebCore::RenderText::calcMinMaxWidth):
        (WebCore::RenderText::minXPos):
        (WebCore::RenderText::width):
        (WebCore::RenderText::caretMinOffset):
        (WebCore::RenderText::caretMaxOffset):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::checkLinesForOverflow):
        * rendering/render_form.cpp:
        (WebCore::RenderLineEdit::setSelectionStart):
        (WebCore::RenderLineEdit::setSelectionEnd):
        (WebCore::RenderLineEdit::setSelectionRange):
        (WebCore::RenderFieldset::layoutLegend):
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderSelect::layout):
        (WebCore::RenderTextArea::calcMinMaxWidth):
        (WebCore::RenderSlider::updateFromElement):
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::layout):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::verticallyAlignBoxes):
        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
        (WebCore::InlineFlowBox::placeBoxesVertically):
        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
        * rendering/render_line.h:
        (WebCore::RootInlineBox::selectionHeight):
        * rendering/render_list.cpp:
        (WebCore::RenderListItem::positionListMarker):
        * rendering/render_replaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/table_layout.cpp:
        (WebCore::FixedTableLayout::calcMinMaxWidth):
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::calcMinMaxWidth):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::layout):
        Use min/max instead of kMin/kMax.

2006-04-12  Darin Adler  <darin@apple.com>

        Rubber-stamped by Anders.

        - get ready for some more de-KWQ-ing done by the renaming script in two ways
            1) stop using forwarding headers for things within WebCore
            2) remove a bit of unused stuff

        * loader/CachedImage.h:
        * loader/CachedImage.cpp:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:
        * page/Frame.cpp:
        * xml/XSLTProcessor.cpp:
        Removed unused showAnimations functions and data. We can add back later if we need it.
        And if we do, we won't use a typedef from KHTMLSettings.

        * ForwardingHeaders/java: Removed.
        * ForwardingHeaders/java/kjavaappletwidget.h: Removed.
        * ForwardingHeaders/khtml_settings.h: Removed.
        * ForwardingHeaders/kio: Removed.
        * ForwardingHeaders/kio/global.h: Removed.
        * ForwardingHeaders/ksslkeygen.h: Removed.
        * ForwardingHeaders/q3ptrlist.h: Removed.
        * ForwardingHeaders/q3valuelist.h: Removed.
        * ForwardingHeaders/qcombobox.h: Removed.
        * ForwardingHeaders/qfontmetrics.h: Removed.
        * ForwardingHeaders/qlineedit.h: Removed.
        * ForwardingHeaders/qmatrix.h: Removed.
        * ForwardingHeaders/qptrlist.h: Removed.
        * ForwardingHeaders/qptrqueue.h: Removed.
        * ForwardingHeaders/qregexp.h: Removed.
        * ForwardingHeaders/qscrollbar.h: Removed.
        * ForwardingHeaders/qtextedit.h: Removed.
        * ForwardingHeaders/qtextstream.h: Removed.
        * ForwardingHeaders/qvaluelist.h: Removed.
        * ForwardingHeaders/qwmatrix.h: Removed.

        * WebCore+SVG/DOMList.h:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_dom.h:
        * bindings/js/kjs_window.cpp:
        * css/css_stylesheetimpl.h:
        * css/css_valueimpl.cpp:
        * css/css_valueimpl.h:
        * css/cssstyleselector.cpp:
        * dom/CharacterData.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/EventTargetNode.cpp:
        * dom/Node.cpp:
        * editing/BreakBlockquoteCommand.h:
        * editing/htmlediting.cpp:
        * html/FormDataList.h:
        * html/HTMLKeygenElement.cpp:
        * html/HTMLTokenizer.h:
        * html/html_objectimpl.cpp:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasMatrix.cpp:
        * kcanvas/KCanvasMatrix.h:
        * kcanvas/KCanvasPath.cpp:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasTreeDebug.h:
        * kcanvas/RenderForeignObject.h:
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGImage.h:
        * kcanvas/RenderSVGText.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFitToViewBox.cpp:
        * ksvg2/svg/SVGLengthList.cpp:
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGNumberList.cpp:
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGStringList.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGTransformable.cpp:
        * ksvg2/svg/SVGURIReference.h:
        * ksvg2/svg/svgpathparser.cpp:
        * kwq/KWQKHTMLSettings.h:
        * loader/Cache.h:
        * loader/CachedObject.h:
        * loader/Decoder.cpp:
        * loader/FormData.h:
        * loader/loader.h:
        * page/Frame.h:
        * page/FramePrivate.h:
        * platform/Font.cpp:
        * platform/SegmentedString.h:
        * platform/mac/FontMac.mm:
        * platform/mac/WebCoreTextField.mm:
        * rendering/RenderBlock.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTable.cpp:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/bidi.h:
        * rendering/break_lines.cpp:
        * rendering/render_applet.cpp:
        * rendering/render_form.cpp:
        * rendering/render_form.h:
        * rendering/render_frames.cpp:
        * rendering/render_style.h:
        * xml/xmlhttprequest.cpp:
        Updated includes.

        * WebCore.xcodeproj/project.pbxproj: Resorted a couple things.

2006-04-12  Adele Peterson  <adele@apple.com>

        Reviewed by Darin and Tim O.

        WebCore part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=8061
        REGRESSION: New text fields need to send callbacks used by autocomplete

        Fix for:
        http://bugs.webkit.org/show_bug.cgi?id=8156
        FrameMac::submitForm is busted after Vector changes

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement _rectOnScreen]): Use boundingBox method so this no longer relies on an NSTextField.  
        The old code is no longer needed because this method was used by autocomplete, and that was not enabled for password or search fields.
        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): New implementation that uses setValue and setSelectionRange
        instead of NSTextField specific code.
        (-[DOMHTMLInputElement _selectedRange]): Creates range by calling selectionStart and selectionEnd on the input element.
        (-[DOMHTMLInputElement _setAutofilled:]): Provides a way for the autofill code to set a flag on the input element so
         it knows when its value is set by autofill.  This is how we change the background color.
        * bindings/objc/DOMPrivate.h: Removed _displayedValue, _setDisplayedValue, _setBackgroundColor since these are no
         longer needed for the new text field implementation, and aren't used for remaining NSView-style password and search fields.
         Added _setAutofilled method.
        * bridge/mac/FrameMac.h: Added virtual clearRecordedFormValues and recordFormValue.  These were moved into Frame.cpp recently, which broke
        how Safari asked to add form values to the keychain.

        * bridge/mac/FrameMac.mm:
        (WebCore::createNSDictionary): Added. Converts a hashmap to an NSDictionary for m_formValuesAboutToBeSubmitted.  This is needed to fix the submit form bug.
        (WebCore::selectorForKeyEvent): Added.  This helper function converts key events into selectors that the autocomplete code needs to know about.
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::submitForm): Convert saved form and formValues into DOMElement and NSMutableDictionary.
        (WebCore::FrameMac::textFieldDidBeginEditing): Added so the input element can send this notification over the bridge.
        (WebCore::FrameMac::textFieldDidEndEditing): ditto.
        (WebCore::FrameMac::textDidChangeInTextField): ditto.
        (WebCore::FrameMac::doTextFieldCommandFromEvent): ditto. Also calls selectorForKeyEvent.
        (WebCore::FrameMac::textWillBeDeletedInTextField): ditto.
        * page/Frame.cpp:
        (WebCore::Frame::textFieldDidBeginEditing): ditto.
        (WebCore::Frame::textFieldDidEndEditing): ditto.
        (WebCore::Frame::textDidChangeInTextField): ditto.
        (WebCore::Frame::doTextFieldCommandFromEvent): ditto.
        (WebCore::Frame::textWillBeDeletedInTextField): ditto.
        * page/Frame.h: ditto.
        * platform/PlatformString.h: (WebCore::String::replace): Added to use an existing version of StringImpl::replace.

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command.
        (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField.

        * dom/Document.cpp: (WebCore::Document::setFocusNode): Calls dispatchFocusEvent and dispatchBlurEvent instead of directly dispatching the events.  This gives the node a chance to do other work before dispatching the event.

        * dom/EventTargetNode.cpp:
        (WebCore:: EventTargetNode::dispatchFocusEvent): Added.
        (WebCore:: EventTargetNode::dispatchBlurEvent): Added.
        * dom/EventTargetNode.h:

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init): initializes m_autofilled.
        (WebCore::HTMLInputElement::dispatchFocusEvent): Calls textFieldDidBeginEditing and then calls up to the base class
        (WebCore::HTMLInputElement::dispatchBlurEvent): Calls textFieldDidEndEditing and then calls up to the base class
        (WebCore::HTMLInputElement::defaultEventHandler): For keypress events, calls doTextFieldCommandFromEvent so the form delegate will
        have a chance to say whether or not it is going to handle the event.
       (WebCore::HTMLInputElement::isKeyboardFocusable): Uses isNonWidgetTextField instead of checking the inputType.
        (WebCore::HTMLInputElement::isMouseFocusable): ditto.
        (WebCore::HTMLInputElement::focus): ditto.
        (WebCore::HTMLInputElement::constrainValue): Uses isTextField instead of checking inputType.
        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): ditto.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isTextField): Added. Checks for TEXT, PASSWORD, and SEARCH
        (WebCore::HTMLInputElement::isNonWidgetTextField): Added.  Checks for all converted controls.
        (WebCore::HTMLInputElement::autofilled): Added.
        (WebCore::HTMLInputElement::setAutofilled): Added.
        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Uses isNonWidgetTextField instead of checking the inputType.

        * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply):
         If the deletion is occuring in a text field, call textWillBeDeletedInTextField so the frame can
         call across the bridge to notify the form delegate.

        * css/css_base.cpp: (WebCore::CSSSelector::extractPseudoType): Added autofill string for "-khtml-autofill".
        * css/css_base.h: (WebCore::CSSSelector::): Added PseudoAutofill to enum.
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector): Added case for PseudoAutofill that checks the input element's autofilled flag.
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Changed  -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
        * css/html4.css: Added background-color and background-image for input:-khtml-autofill style.
         Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
        * css/CSSValueKeywords.in: ditto.
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue): ditto.
        (WebCore::CSSParser::parseShadow): ditto.

2006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by hyatt
 
         - fix http://bugs.webkit.org/show_bug.cgi?id=4855
           List item's bullets fail to redraw correctly after their style is set with JavaScript
 
         * manual-tests/list-marker-repaint.html: Added.
         * rendering/RenderBlock.cpp:
         (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out
         the children.
         (WebCore::RenderBlock::calcInlineMinMaxWidth): Call calcWidth() on the child
         if we are going to use its marginLeft() or marginRight(), which is if they are
         given as a percentage or if the child is a list marker.
         * rendering/RenderBlock.h:
         (WebCore::RenderBlock::positionListMarker): Added this virtual function which
         RenderListItem implements and which is called from layoutBlock().
         * rendering/RenderFlow.cpp:
         (WebCore::RenderFlow::addFocusRingRects): Avoid adding focus rings around outside list
         markers. Previously it did not matter since the markers had zero width.
         * rendering/bidi.cpp:
         (WebCore::RenderBlock::findNextLineBreak): Outside list markers should not contribute
         to the line width, even now that they have width.
         * rendering/render_line.cpp:
         (WebCore::InlineFlowBox::placeBoxesHorizontally): Skip outside list markers.
         * rendering/render_list.cpp:
         (WebCore::RenderListItem::positionListMarker): Added.
         (WebCore::RenderListMarker::paint): Removed code that was used to right-align outside
         text markers, since that is achieved by margins now.
         (WebCore::RenderListMarker::calcMinMaxWidth): Changed the marker height to be the font height.
         Made the width of outside list markers non-zero and equal to the width of inside markers.
         Changed the width to include only the marker and not any padding. Increased the width of bullets
         by 2 to contain spillage due to antialiasing.
         (WebCore::RenderListMarker::calcWidth): Calculate horizontal margins. Padding that was
         previously included in the width is now part of the margins. 
         (WebCore::RenderListMarker::getRelativeMarkerRect): Adjusted for the changes to width and
         margins.
         * rendering/render_list.h:

2006-04-12  Darin Adler  <darin@apple.com>

        Rubber-stamped by Hyatt.

        - moved some more files out of KWQ to more-permanent homes

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * kwq/BlockExceptions.h: Removed.
        * kwq/BlockExceptions.mm: Removed.
        * kwq/ClipboardMac.h: Removed.
        * kwq/ClipboardMac.mm: Removed.
        * kwq/DeprecatedPtrList.h: Removed.
        * kwq/DeprecatedPtrListImpl.cpp: Removed.
        * kwq/DeprecatedPtrListImpl.h: Removed.
        * kwq/DeprecatedValueList.h: Removed.
        * kwq/DeprecatedValueListImpl.cpp: Removed.
        * kwq/DeprecatedValueListImpl.h: Removed.
        * kwq/WebCoreTextArea.h: Removed.
        * kwq/WebCoreTextArea.mm: Removed.
        * kwq/WebCoreTextField.h: Removed.
        * kwq/WebCoreTextField.mm: Removed.
        * platform/DeprecatedPtrList.h: Added.
        * platform/DeprecatedPtrListImpl.cpp: Added.
        * platform/DeprecatedPtrListImpl.h: Added.
        * platform/DeprecatedValueList.h: Added.
        * platform/DeprecatedValueListImpl.cpp: Added.
        * platform/DeprecatedValueListImpl.h: Added.
        * platform/mac/BlockExceptions.h: Added.
        * platform/mac/BlockExceptions.mm: Added.
        * platform/mac/ClipboardMac.h: Added.
        * platform/mac/ClipboardMac.mm: Added.
        * platform/mac/WebCoreTextArea.h: Added.
        * platform/mac/WebCoreTextArea.mm: Added.
        * platform/mac/WebCoreTextField.h: Added.
        * platform/mac/WebCoreTextField.mm: Added.

2006-04-12  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
        <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app

        AXPreviousSentenceStartTextMarkerForTextMarker failed to stop at the beginning a block because
        SimplifiedBackwardsTextIterator::handleNonTextNode() emitted a space when exiting the block.
        Fixed by emitting a newline instead.
        
        Word boundary failed to stop at the beginning of a block because no character at all was emitted
        when leaving the block, because the exitNode was checking specific html tags to decide whether the
        node is block, but the node was xml.  Fixed by using the node's renderer, if present.
        
        (see related changes in WebKit)
        
        Tests added:
        * editing/selection/extend-by-sentence-001.html: Added.
        * fast/dom/inner-text-001.html: Added.
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
        Add sentence navigation/selection.
        
        * editing/Selection.cpp:
        (WebCore::Selection::validate):
        Add sentence navigation/selection.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRightForward):
        (WebCore::SelectionController::modifyMovingRightForward):
        (WebCore::SelectionController::modifyExtendingLeftBackward):
        (WebCore::SelectionController::modifyMovingLeftBackward):
        (WebCore::SelectionController::modify):
        Add sentence navigation/selection.

        * editing/TextGranularity.h:
        (WebCore::):
        Add SentenceGranularity and SentenceBoundary.

        * editing/TextIterator.cpp:
        (WebCore::isTableCell):
        (WebCore::shouldEmitTabBeforeNode):
        (WebCore::shouldEmitNewlineForNode):
        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
        (WebCore::shouldEmitExtraNewlineForNode):
        New utility functions that prefer renderers over html tag names.

        (WebCore::TextIterator::handleNonTextNode):
        (WebCore::TextIterator::exitNode):
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        Use new utility functions.
        
        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
        Use new utility functions.  Also emit linefeed instead of space,
        so sentence parsing works across block boundaries.
        
        (WebCore::SimplifiedBackwardsTextIterator::exitNode):
        Use new utility functions.

        (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
        Renamed from emitNewlineForBROrText because it is not always for BR or text.
        
        * editing/TextIterator.h:
        Renamed emitNewlineForBROrText to emitNewline.
        
        * editing/visible_units.cpp:
        * editing/visible_units.h:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        (WebCore::previousSentencePosition):
        (WebCore::nextSentencePosition):
        Add sentence navigation/selection.

2006-04-12  Darin Adler  <darin@apple.com>

        Rubber-stamped by Hyatt.

        - moved Decoder and FormData classes into loader directory
          (Decoder, because it's part of the loading process.
           FormData, because it's used as a parameter when specifying
           what to load. Arguably either could be in page instead.)
        - moved Length.h from css to renderer, cause that's where Hyatt
          says it belongs

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * khtml: Removed.
        * loader/Decoder.cpp: Added.
        * loader/Decoder.h: Added.
        * loader/FormData.cpp: Added.
        * loader/FormData.h: Added.

        * css/Length.h: Removed.
        * rendering/Length.h: Added.

        * bridge/mac/WebCoreEncodings.mm:
        * dom/Document.h:
        * kwq/KWQFormData.mm:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXSLStyleSheet.cpp:
        * page/ResourceRequest.h:
        * platform/TransferJobInternal.h:
        * xml/xmlhttprequest.cpp:
        Updated includes.

2006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin

        - fix http://bugs.webkit.org/show_bug.cgi?id=8337
          Incomplete repaint of inlines' outline during editing

        * manual-tests/inline-outline-repaint.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock): Add the maximal outline width to the
        inlines' repaint rect.

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

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8335>
        Implement execCommand(InsertHorizontalRule)

        * editing/JSEditor.cpp:

2006-04-12  Darin Adler  <darin@apple.com>

        Rubber-stamped by Hyatt.

        - moved xsl files into xml directory, removed xbl files (for now)

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * khtml/xbl: Removed.
        * khtml/xsl: Removed.
        * xml/XSLStyleSheet.cpp: Added.
        * xml/XSLStyleSheet.h: Added.
        * xml/XSLTProcessor.cpp: Added.
        * xml/XSLTProcessor.h: Added.

2006-04-12  David Hyatt  <hyatt@apple.com>

        Fix for 5283, make sure overflow doesn't paint on top of positioned elements.

        Reviewed by beth

        * kwq/RenderTreeAsText.cpp:
        (writeLayers):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::addChild):
        (WebCore::RenderLayer::removeChild):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::dirtyOverflowList):
        (WebCore::RenderLayer::updateOverflowList):
        (WebCore::RenderLayer::collectLayers):
        (WebCore::RenderLayer::shouldBeOverflowOnly):
        (WebCore::RenderLayer::styleChanged):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::isOverflowOnly):
        (WebCore::RenderLayer::overflowList):

2006-04-12  Darin Adler  <darin@apple.com>

        * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on.
        I accidentally checked in this file with SVG off last night.

2006-04-12  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * platform/TransferJobInternal.h: Declare HANDLE.
        * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h.
        * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE.

2006-04-12  Darin Adler  <darin@apple.com>

        - another attempt to get things building

        * bindings/js/kjs_proxy.cpp: Add "kjs_events.h" include, needed when not
        building SVG (so for Windows too).
        * editing/TextIterator.h: Add back include of Vector.h.

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

        - try to fix Windows build

        * html/HTMLCollection.h: Add back include of Vector.h.
        * page/Frame.h: Ditto.
        * platform/Timer.h: Ditto.

        - more changes for no-SVG (not working yet though)

        * editing/CompositeEditCommand.h: Added css_valueimpl.h include.

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

        - try to fix no-SVG build

        * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
        * rendering/RenderObject.h: Ditto.

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

        - try to fix Windows build

        * ForwardingHeaders/kxmlcore/HashForward.h: Removed.
        * dom/xml_tokenizer.h: Include another header instead of HashForward.h.
        * loader/Cache.h: Ditto.
        * page/Page.h: Ditto.
        * platform/TransferJob.h: Ditto.

2006-04-11  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Fixes more instances of:
        <rdar://problem/3950559>
        CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.

2006-04-11  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Some setup for work on paste performance.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraph): 
        Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand.
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition.
        (WebCore::VisiblePosition::initDeepPosition): 
        Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when
        downstream() is a candidate.  Added a comment about why the fall through code is necessary.
        * editing/VisiblePosition.h:

2006-04-11  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
        
        For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match
        with a non-collapsed range but then claims that the end visible position of the match is the original start visible 
        position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by 
        checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus 
        search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on 
        google in Tiger also).

        * page/Frame.cpp:
        (WebCore::Frame::highlightAllMatchesForString):
        break the loop if the search range hasn't advanced

2006-04-10  Darin Adler  <darin@apple.com>

        Rubber-stamped by John Sullivan (except for pbxproj change).

        - updated to use the new Forward.h and HashForward.h headers
        - moved the showTree debugging functions out of the WebCore
          namespace so they are easier to call from gdb, and renamed
          the showTree member functions so they don't get in the way;
          now you can do "call showTree(x)" in gdb and it just works
        - removed a lot of unneeded includes

        * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
        were not relative to the enclosing group.

        * ForwardingHeaders/kxmlcore/Forward.h: Added.
        * ForwardingHeaders/kxmlcore/HashForward.h: Added.
        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        * bindings/js/JSXMLHttpRequest.cpp:
        * bindings/js/JSXMLHttpRequest.h:
        * bindings/js/JSXSLTProcessor.h:
        * bindings/js/kjs_binding.h:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_dom.h:
        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_events.h:
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_navigator.cpp:
        * bindings/js/kjs_navigator.h:
        * bindings/js/kjs_proxy.cpp:
        * bindings/js/kjs_traversal.h:
        * bindings/js/kjs_window.cpp:
        * bindings/js/kjs_window.h:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMImplementationFront.h:
        * bindings/objc/DOMInternal.mm:
        * bindings/objc/DOMUtility.mm:
        * bindings/objc/DOMViews.mm:
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.mm:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * bridge/mac/WebCoreFrameNamespaces.mm:
        * bridge/mac/WebCoreJavaScript.mm:
        * bridge/win/PageWin.cpp:
        * css/CSSComputedStyleDeclaration.cpp:
        * css/css_base.h:
        * css/css_ruleimpl.h:
        * css/css_valueimpl.cpp:
        * css/cssparser.cpp:
        * css/cssparser.h:
        * css/cssstyleselector.cpp:
        * css/cssstyleselector.h:
        * dom/AbstractView.h:
        * dom/AtomicStringList.h:
        * dom/Attribute.cpp:
        * dom/Attribute.h:
        * dom/Comment.cpp:
        * dom/ContainerNode.cpp:
        * dom/DOMImplementation.cpp:
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/Element.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dump):
        (WebCore::forbidEventDispatch):
        (WebCore::allowEventDispatch):
        (WebCore::eventDispatchForbidden):
        * dom/EventTargetNode.h:
        (WebCore::EventTargetNode::postDispatchEventHandler):
        * dom/NamedAttrMap.h:
        * dom/Node.cpp:
        (WebCore::Node::showNode):
        (WebCore::Node::showTree):
        (WebCore::Node::showTreeAndMark):
        (showTree):
        * dom/Node.h:
        * dom/NodeList.cpp:
        * dom/NodeList.h:
        * dom/Position.cpp:
        (showTree):
        * dom/Position.h:
        * dom/Range.cpp:
        * dom/Range.h:
        * dom/StyledElement.cpp:
        * dom/StyledElement.h:
        * dom/dom2_eventsimpl.cpp:
        * dom/dom2_eventsimpl.h:
        * dom/dom2_traversalimpl.h:
        * dom/dom_xmlimpl.cpp:
        * dom/xml_tokenizer.cpp:
        * dom/xml_tokenizer.h:
        * editing/AppendNodeCommand.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/ApplyStyleCommand.h:
        * editing/BreakBlockquoteCommand.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/CreateLinkCommand.cpp:
        * editing/DeleteFromTextNodeCommand.cpp:
        * editing/DeleteFromTextNodeCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        * editing/EditCommand.cpp:
        * editing/EditCommand.h:
        * editing/HTMLInterchange.cpp:
        * editing/InsertIntoTextNodeCommand.cpp:
        * editing/InsertIntoTextNodeCommand.h:
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertNodeBeforeCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/InsertTextCommand.cpp:
        * editing/JSEditor.cpp:
        * editing/JoinTextNodesCommand.cpp:
        * editing/MergeIdenticalElementsCommand.cpp:
        * editing/ModifySelectionListLevelCommand.cpp:
        * editing/MoveSelectionCommand.cpp:
        * editing/RebalanceWhitespaceCommand.h:
        * editing/RemoveCSSPropertyCommand.h:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/ReplaceSelectionCommand.h:
        * editing/Selection.cpp:
        (WebCore::Selection::formatForDebugger):
        (WebCore::Selection::showTree):
        (showTree):
        * editing/Selection.h:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::formatForDebugger):
        (WebCore::SelectionController::showTree):
        (showTree):
        * editing/SelectionController.h:
        * editing/TextIterator.cpp:
        * editing/TextIterator.h:
        * editing/TypingCommand.cpp:
        * editing/TypingCommand.h:
        * editing/UnlinkCommand.cpp:
        * editing/VisiblePosition.cpp:
        (WebCore::isEqualIgnoringAffinity):
        (WebCore::VisiblePosition::formatForDebugger):
        (WebCore::VisiblePosition::showTree):
        (showTree):
        * editing/VisiblePosition.h:
        (WebCore::VisiblePosition::VisiblePosition):
        (WebCore::operator==):
        * editing/WrapContentsInDummySpanCommand.cpp:
        * editing/htmlediting.h:
        * editing/markup.cpp:
        * editing/markup.h:
        (WebCore::):
        * editing/visible_units.cpp:
        * html/CanvasGradient.cpp:
        * html/CanvasRenderingContext2D.h:
        * html/CanvasStyle.cpp:
        * html/CanvasStyle.h:
        * html/FormDataList.cpp:
        * html/FormDataList.h:
        * html/HTMLCollection.cpp:
        * html/HTMLCollection.h:
        * html/HTMLDocument.cpp:
        * html/HTMLDocument.h:
        * html/HTMLElement.cpp:
        * html/HTMLElementFactory.cpp:
        * html/HTMLElementFactory.h:
        * html/HTMLFormCollection.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.h:
        * html/HTMLInputElement.cpp:
        * html/HTMLParser.cpp:
        * html/HTMLSelectElement.cpp:
        * html/HTMLSelectElement.h:
        * html/HTMLTokenizer.cpp:
        * html/HTMLTokenizer.h:
        * html/html_baseimpl.cpp:
        * html/html_headimpl.h:
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderPath.h:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * khtml/misc/decoder.cpp:
        * khtml/misc/decoder.h:
        * khtml/xsl/XSLStyleSheet.cpp:
        * khtml/xsl/XSLTProcessor.cpp:
        * khtml/xsl/XSLTProcessor.h:
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/ecma/GlobalObject.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimatedColor.h:
        * ksvg2/svg/SVGAnimatedLengthList.h:
        * ksvg2/svg/SVGAnimatedNumberList.h:
        * ksvg2/svg/SVGAnimatedString.h:
        * ksvg2/svg/SVGAnimatedTransformList.h:
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGHelper.h:
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGPaint.h:
        * ksvg2/svg/SVGPathSeg.h:
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGTransform.h:
        * kwq/AccessibilityObjectCache.mm:
        * kwq/ClipboardMac.mm:
        * kwq/JavaAppletWidget.mm:
        * kwq/KWQComboBox.mm:
        * kwq/KWQEditCommand.mm:
        * kwq/KWQFileButton.mm:
        * kwq/KWQKHTMLSettings.h:
        * kwq/KWQKSSLKeyGen.mm:
        * kwq/KWQLoader.mm:
        * kwq/KWQPageState.mm:
        * kwq/KWQTextEdit.mm:
        * kwq/RegularExpression.h:
        * kwq/RenderTreeAsText.cpp:
        * kwq/RenderTreeAsText.h:
        * kwq/WebCoreAXObject.mm:
        * loader/Cache.cpp:
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedObject.h:
        * loader/CachedScript.cpp:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameTree.cpp:
        * page/FrameTree.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * page/Page.cpp:
        * page/Page.h:
        * page/Plugin.h:
        (WebCore::Plugin::Plugin):
        (WebCore::Plugin::view):
        * platform/Color.cpp:
        * platform/FloatRect.h:
        * platform/Font.cpp:
        * platform/Font.h:
        * platform/FontFamily.cpp:
        * platform/GraphicsContext.cpp:
        * platform/Image.cpp:
        * platform/Image.h:
        * platform/IntRect.h:
        * platform/KURL.cpp:
        * platform/KURL.h:
        * platform/SegmentedString.h:
        * platform/Shared.h:
        * platform/StreamingTextDecoder.cpp:
        * platform/StringImpl.cpp:
        * platform/StringImpl.h:
        * platform/TextEncoding.h:
        * platform/Timer.cpp:
        * platform/Timer.h:
        * platform/TransferJob.cpp:
        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/cairo/ImageCairo.cpp:
        * platform/cairo/ImageSourceCairo.cpp:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/mac/FontFamilyMac.mm:
        * platform/mac/FontMac.mm:
        * platform/mac/ImageMac.mm:
        * platform/mac/TextEncodingMac.cpp:
        * platform/mac/TransferJobMac.mm:
        * platform/win/FontPlatformDataWin.cpp:
        * platform/win/TransferJobWin.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderCanvas.cpp:
        * rendering/RenderCanvas.h:
        * rendering/RenderContainer.cpp:
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderImage.cpp:
        * rendering/RenderImage.h:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (showTree):
        * rendering/RenderObject.h:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        * rendering/RenderTextField.cpp:
        * rendering/RenderTextFragment.h:
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.mm:
        * rendering/RenderThemeWin.cpp:
        * rendering/bidi.cpp:
        * rendering/render_form.h:
        * rendering/render_line.cpp:
        (showTree):
        * rendering/render_line.h:
        * rendering/render_list.cpp:
        * rendering/render_replaced.cpp:
        * rendering/render_replaced.h:
        * rendering/render_style.cpp:
        * rendering/render_style.h:
        * xml/xmlhttprequest.h:

2006-04-10  Darin Adler  <darin@apple.com>

        - try to fix the Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
        AdditionalIncludeDirectories.

2006-04-10  David Hyatt  <hyatt@apple.com>

        Make focus ring painting respect clips set by WebCore (e.g., overflow).

        Reviewed by darin

        * platform/GraphicsContext.h:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::setFocusRingClip):
        (WebCore::GraphicsContext::clearFocusRingClip):
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/mac/WebCoreGraphicsBridge.h:
        * platform/mac/WebCoreGraphicsBridge.m:
        (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
        * rendering/RenderLayer.cpp:
        (WebCore::setClip):
        (WebCore::restoreClip):

2006-04-10  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - death to khtml/ecma, long live bindings/js

        * khtml/ecma: Removed. Moved all files to bindings/js.

        * bindings/js/JSDOMParser.cpp: Added.
        * bindings/js/JSDOMParser.h: Added.
        * bindings/js/JSXMLHttpRequest.cpp: Added.
        * bindings/js/JSXMLHttpRequest.h: Added.
        * bindings/js/JSXMLSerializer.cpp: Added.
        * bindings/js/JSXMLSerializer.h: Added.
        * bindings/js/JSXSLTProcessor.cpp: Added.
        * bindings/js/JSXSLTProcessor.h: Added.
        * bindings/js/kjs_binding.cpp: Added.
        * bindings/js/kjs_binding.h: Added.
        * bindings/js/kjs_css.cpp: Added.
        * bindings/js/kjs_css.h: Added.
        * bindings/js/kjs_dom.cpp: Added.
        * bindings/js/kjs_dom.h: Added.
        * bindings/js/kjs_events.cpp: Added.
        * bindings/js/kjs_events.h: Added.
        * bindings/js/kjs_html.cpp: Added.
        * bindings/js/kjs_html.h: Added.
        * bindings/js/kjs_navigator.cpp: Added.
        * bindings/js/kjs_navigator.h: Added.
        * bindings/js/kjs_proxy.cpp: Added.
        * bindings/js/kjs_proxy.h: Added.
        * bindings/js/kjs_traversal.cpp: Added.
        * bindings/js/kjs_traversal.h: Added.
        * bindings/js/kjs_views.cpp: Added.
        * bindings/js/kjs_views.h: Added.
        * bindings/js/kjs_window.cpp: Added.
        * bindings/js/kjs_window.h: Added.

        * DerivedSources.make: Removed khtml/ecma from directory list.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from
        khtml/ecma to bindings/js.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

2006-04-10  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - try to fix the Windows build

        * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
        Put code to release m_drawingContext into an __APPLE__ ifdef.

        * platform/win/TemporaryLinkStubs.cpp:

2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Eric, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8295
          Dictionary pop-up panel targets the wrong word in a scrolled IFRAME

        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll
        offsets, which is redundant for scrolled views, then changed the first view
        to be the document's scrolled view instead of its scroll view (all subsequent views were
        already scrolled views).
        * manual-tests/dictionary-scrolled-iframe.html: Added.

2006-04-09  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7877
        XMLHttpRequest ignores username/password passed to open()

        Test: http/tests/xmlhttprequest/basic-auth.html

        * platform/KURL.cpp:
        (KURL::setUser): Enable a code path that handles non-empty user name -
        it was already present, but commented out and protected with an assertion.
        (KURL::setPass): Ditto.

2006-04-09  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4884
          Canvas element breaks when RenderObject creation is deferred by external CSS

        Test: fast/canvas/canvas-before-css.html

        This patch makes us match the canvas documentation in Hixie's Web Applications
        draft as far as when the canvas is created and recreated and how it's sized.
        It also gets rid of the compositeOperation attribute of the canvas element.
        We can add that back if we need it. Anders points out that this specifically
        changes behavior for canvas elements where the size is set in CSS and not with
        width and height attributes. The CSS size now determines how big a box the canvas
        is rendered into, but has no effect on the size of the canvas's buffer.

        * html/CanvasRenderingContext2D.h: Added overloads of drawImage that take
        HTMLCanvasElement, which is no longer derived from HTMLImageElement.
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only,
        because canvas is no longer derived from image.
        (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this
        for image sources from the implementation for canvas sources.
        (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw
        function on the canvas element.
        (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext
        on the canvas element rather than the renderer.

        * html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement
        instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw,
        paint, drawingContext, createDrawingContext, and reset functions. Added m_size,
        m_createdDrawingContext, m_data, and m_drawingContext data members. Removed
        mapToEntry, attach, detach, and isURLAttribute functins.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size,
        m_createdDrawingContext, m_data, and m_drawingContext data members.
        (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext.
        (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for
        srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement.
        Added code that triggers a reset when either width or height is set.
        (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic
        width and height of the renderer to the size of the element.
        (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute.
        (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute.
        (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint.
        Also has FIXME mentioning we could dirty only the part that has changed in the future.
        (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards
        the old buffer, which is an indirect way of resetting the buffer to transparent black.
        (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics
        context that's passed in.
        (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for
        the bits, then creates a bitmap context for drawing into the buffer.
        (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if
        needed, then returns the current drawing context.
        (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush
        and to create the image from the context in this class.

        * rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file.
        Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext,
        createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData,
        _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from
        RenderReplaced instead of RenderImage.

        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced.
        (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason
        to have this virtual function inlined.
        (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint
        instead ofcalling CGContextDrawImage directly.
        (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and
        causes the drawing context to be recreated; instead, if the width and height changes we
        scale when we paint the canvas.

        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        Separated out handling for <canvas> vs. <img> elements in drawRect, since
        HTMLCanvasElement is no longer derived from HTMLImageElement.

2006-04-09  Rob Buis  <buis@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6027:
        Dirty rect invalidation issues in mozilla sample

        Make sure the paths calculate the new bounding box and not
        use the cached bbox.

        No automated test case possible.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::setPath):

2006-04-09  Rob Buis  <buis@kde.org>

        Reviewed by darin.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6930:
        % width/height on nested <svg> tags do not work

        Set the context correctly for inner <svg>, so calculation of
        width/height for inner <svg> elements is done against the
        viewport element.

        Test: svg/custom/inner-percent.svg

        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::width):
        (WebCore::SVGSVGElement::height):

2006-04-08  Rob Buis  <buis@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        No automated test case possible.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7531:
        hang in SVGPolygonElementImpl::toPathData in polygon test case

        Make sure the points list is cleared, just like the path
        list is cleared first before (re)parsing.

        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::parseMappedAttribute):

2006-04-08  Darin Adler  <darin@apple.com>

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7622
          REGRESSION: New text fields should compute maxlength considering composed character sequences

        Test: fast/forms/input-text-maxlength.html
        Test: fast/forms/input-text-paste-maxlength.html

        * html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed
        typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting
        in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd
        const. Made data members except for m_name private instead of protected. Added private
        functions constrainValue and recheckValue. Removed unused isEditable function.

        * html/HTMLInputElement.cpp:
        (WebCore::numGraphemeClusters): Added.
        (WebCore::numCharactersInGraphemeClusters): Added.
        (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
        directly.
        (WebCore::HTMLInputElement::isMouseFocusable): Ditto.
        (WebCore::HTMLInputElement::focus): Ditto.
        (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue
        so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does.
        (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put
        cases into alphabetical order.
        (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and
        not include a default case to take advantage of gcc's missing case warning.
        (WebCore::HTMLInputElement::restoreState): Ditto.
        (WebCore::HTMLInputElement::canHaveSelection): Ditto.
        (WebCore::HTMLInputElement::selectionStart): Ditto.
        (WebCore::HTMLInputElement::selectionEnd): Ditto.
        (WebCore::HTMLInputElement::setSelectionStart): Ditto.
        (WebCore::HTMLInputElement::setSelectionEnd): Ditto.
        (WebCore::HTMLInputElement::select): Ditto.
        (WebCore::HTMLInputElement::setSelectionRange): Ditto.
        (WebCore::HTMLInputElement::click): Ditto.
        (WebCore::HTMLInputElement::accessKeyAction): Ditto.
        (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type
        directly. Added call to recheckValue when parsing a new value for the maxlength attribute.
        (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case
        values and not include a default case to take advantage of gcc's missing case warning.
        (WebCore::HTMLInputElement::createRenderer): Ditto.
        (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done
        parsing. This is now all handled by constrainValue and recheckValue as needed.
        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using
        m_type directly.
        (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little.
        (WebCore::HTMLInputElement::setChecked): Ditto.
        (WebCore::HTMLInputElement::setIndeterminate): Ditto.
        (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out
        of the value attribute.
        (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using
        m_type directly. Changed switch statement to include all case values and not include a
        default case to take advantage of gcc's missing case warning.
        (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value.
        (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion.
        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of
        using m_type directly.
        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
        (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted
        text in a BeforeTextInsertedEvent to use the new constrainValue function and also the
        numGraphemeClusters function, so it's based on grapheme clusters instead of characters and
        shares code.
        (WebCore::HTMLInputElement::constrainValue): Added.
        (WebCore::HTMLInputElement::recheckValue): Added.

        * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
        Removed unneeded code to set m_type to TEXT, which is already what it gets set to by
        the base class's constructor.

        * html/HTMLGenericFormElement.h: Removed unused isEditable function.
        * html/HTMLGenericFormElement.cpp: Ditto.
        * html/HTMLTextAreaElement.h: Ditto.
        * html/HTMLTextAreaElement.cpp: Ditto.

        * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
        truncating to the size of the string does nothing, efficiently.

        * rendering/RenderText.h: Added declaration of characterBreakIterator.
        * rendering/RenderText.cpp:
        (WebCore::characterBreakIterator): Made this public so it can be used in other files.
        Maybe we should also move it to another source file later. Also renamed to remove the
        "get" from the title.
        (WebCore::RenderText::previousOffset): Updated for name change.
        (WebCore::RenderText::nextOffset): Updated for name change.

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement):
        Removed code to implement maxlength checking. That's handled entirely in the DOM now.
        Also moved down the code to get the value into a string so that it's done only in the
        case where the string is used.

        * rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer
        instead of setting the value directly in the input element. We changed this for all the other
        types a while ago, and it works just as well for the input element.

        * dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text
        by modifying the text object in place, but going forward we'd like to avoid that sort of thing.
 
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
        Changed code to assume clients will change the text in the event rather than mutating the
        text object itself. This is compatible with possible future changes to String to be copy
        on write.
        * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.

2006-04-07  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=8134
          REGRESSION: dragging down from the middle of a text field does not select to end of field

        * editing/Selection.cpp:
        (WebCore::comparePositions): Added. Takes shadow content into account.
        (WebCore::Selection::validate): Changed to call comparePositions instead of calling
        Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set
        m_start and m_end to null and did a bit of reformatting.

        - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
          a little bit of unneeded code

        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places
        that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar,
        otherwise we do an unnecessary conversion to char (which requires a branch to see if
        the c fits in a char).

2006-04-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Rolled the fix for 8250 back in and fixed a bug:
        The local variables for the first and last nodes in the fragment
        need to be reset when the fragment is changed for plaintext-only mode
        or a change from the beforetextinserted event handler.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):

2006-04-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        - fixed REGRESSION: offsetParent on element with no offset parent crashes

        * dom/Element.cpp:
        (WebCore::Element::offsetParent): Add missing null check.

2006-04-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by adele
        
        maxlength truncation in text fields didn't work if the fragment was a
        single text node.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):

2006-04-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=8250>
        REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.

2006-04-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by adele
        
        <http://bugs.webkit.org/show_bug.cgi?id=8219>
        REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        Converting the fragment to plaintext introduced an extraneous newline because
        the range passed to plainText ended after the paragraph containing the fragment
        built from the markup that TextEdit put on the paste board.  TextIterator will
        emit a newline when it exits a paragraph.
        Two extra newlines were added because the '\n' in the plaintext string turns
        into an interchange newline, which isn't removed because of 8250, and the
        interchange newline looks like inline content that requires the insertion of
        a paragraph separator during paste.
        Fixed by creating a range using VisiblePositions at the start and the end of 
        the node that holds the fragment during paste's test rendering.

2006-04-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=8145>
        REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash

        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::doApply): 
        Assert that the node will be placed somewhere that's contenteditable.
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply): Ditto
        * editing/JSEditor.cpp: 
        Enabled insertHTML for plaintext-only regions since it's useful for debugging rich 
        content pastes into the new text fields.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        1) After the first paragraph of the fragment has been merged with the first part of the
        paragraph where the paste occured, if the next node to be inserted is inline, we put it 
        in a new paragraph because it was at the start of a paragraph in the fragment.  The change
        is to insert a paragraph separator if insertionPos.next() is null or outside of the current 
        editable region.
        2) Before the paste begins, a paragraph separator is inserted in order to avoid 
        nesting blocks from the fragment to be pasted inside the block where the paste will 
        occur.  I made two fixes to the code that decides whether or not to insert the 
        paragraph separator and added testcases for each.  Added a fixme because it appears that
        this code is also used to ensure that the aforementioned insertionPos will be at the end of 
        a paragraph.  This code should only be about preventing nesting.

2006-04-06  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - Convert Element JS bindings to be almost completely autogenerated
        http://bugs.webkit.org/show_bug.cgi?id=8227

        * dom/Element.idl: Declare full interface in IDL.
        * dom/Element.h:
        (WebCore::Element::tagQName): Renamed from tagName, so the real DOM
        method can be called tagName.
        (WebCore::Element::tagName): inline alias for nodeName.
        * dom/Element.cpp:
        (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
        core DOM.
        (WebCore::Element::scrollByLines): ditto
        (WebCore::Element::scrollByPages): ditto
        (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::offsetParent): ditto
        (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::scrollLeft): ditto
        (WebCore::Element::scrollTop): ditto
        (WebCore::Element::setScrollLeft): ditto
        (WebCore::Element::setScrollTop): ditto
        (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined
        (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined

        * bindings/scripts/CodeGeneratorJS.pm: Added support for
        ConvertUndefinedToTrue, for benefit of scroll methods where
        omitted arguments should be treated as true.  However, maybe
        explicit overloading in the IDL would be a better long-term
        approach for optional arguments.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::valueToStringWithNullCheck): fixed formatting
        (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
        (isn't this lame?)
        * khtml/ecma/kjs_binding.h:
        (KJS::toJS): fixed formatting, added new stuff
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMElement::getValueProperty): removed most of contents
        (KJS::DOMElement::putValueProperty): ditto
        (KJS::DOMElementProtoFunc::callAsFunction): ditto

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
        of tagName to tagQName
        (WebCore::CSSStyleSelector::checkOneSelector): ditto
        * dom/Document.cpp:
        (WebCore::Document::importNode): ditto
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle): ditto
        (WebCore::areIdenticalElements): ditto
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::inEitherTagList): ditto
        (WebCore::HTMLElement::inInlineTagList): ditto
        (WebCore::HTMLElement::inBlockTagList): ditto

2006-04-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8203 
        REGRESSION: "Invite a friend" text field in GMail page spills out 
        of table

        RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the 
        width is a percent, so this patch copies that behavior into 
        RenderTextField::calcMinMaxWidth().

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::calcMinMaxWidth):

2006-04-06  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.

2006-04-05  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8111
          REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
          but no caret

        Test: fast/forms/input-text-self-emptying-click.html

        * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target,
        replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode,
        and added logic to handle the case where the target node is removed from the document
        but the element the target node was in is still inside the document.
        * page/MouseEventWithHitTestResults.cpp: Added.

        * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.

        * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we
        correctly dump positions within shadow trees. This was needed to give a good result
        from my new test for this bug.

        * dom/Document.cpp:
        (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the
        constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no
        longer takes href and target parameters.

        * page/Frame.cpp:
        (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead
        of old name innerNode.
        (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
        (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check
        if over a link to use !isOverLink instead of url.isNull.
        (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable.
        (WebCore::Frame::handleMouseMoveEvent): Ditto.
        (WebCore::Frame::handleMouseReleaseEvent): Ditto.
        (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
        name innerNode.
        (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
        (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
        (WebCore::FrameMac::sendContextMenuEvent): Ditto.

        * page/FrameView.cpp:
        (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode.
        (WebCore::FrameView::handleMousePressEvent): Ditto.
        (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
        (WebCore::selectCursor): Ditto. Also change code to check if over a link to use
        isOverLink instead of !url.isNull.
        (WebCore::FrameView::handleMouseMoveEvent): Ditto.
        (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
        (WebCore::FrameView::updateDragAndDrop): Ditto.

2006-04-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8184
          REGRESSION (r13655): Layer outline not clipped where it should be

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
        The outlineRect should not be inflated.

2006-04-05  Rob Buis  <buis@kde.org>

        Reviewed by Eric, landed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7627:
        SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black

        Fix this svg stylesheet to use strict-mode, as this makes sure
        class selecting is done correctly.

        * ksvg2/svg/SVGStyleElement.cpp:
        (SVGStyleElement::childrenChanged):

2006-04-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs

        I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
        so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
        implicit removes.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):

2006-04-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - autogenerate bindings for all of the methods and properties of Document
        http://bugs.webkit.org/show_bug.cgi?id=8163

        - also removed document.actualEncoding since it is not in any spec
        or implemented by any other browser
        
        * DerivedSources.make: add JSDocument.h to results
        * WebCore.xcodeproj/project.pbxproj: Added new files to project
        * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
        * dom/Document.cpp:
        (WebCore::Document::readyState): moved impl here from JS bindings
        (WebCore::Document::inputEncoding): ditto
        (WebCore::Document::defaultCharset): ditto
        (WebCore::Document::setCharset): ditto
        * dom/Document.h:
        (WebCore::Document::charset): added, synonym for inputEncoding.
        (WebCore::Document::characterSet): ditto
        * dom/Document.idl: Added. Full interface for the Document object.
        * khtml/ecma/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
        * khtml/ecma/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
        * khtml/ecma/kjs_binding.cpp:
        (KJS::jsStringOrFalse): Added this convenience for the method on Document
        that bizzarely returns false on failure and a string otherwise.
        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::toJS): renamed for consistency
        * khtml/ecma/kjs_css.h:
        * khtml/ecma/kjs_dom.cpp:
        - removed all traces of DOMDocument
        (KJS::toJS): JSDocument, not DOMDocument
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument
        (KJS::JSHTMLDocument::getOwnPropertySlot): ditto
        (KJS::JSHTMLDocument::put): ditto
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::toJS): added overloads
        (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
        * khtml/ecma/kjs_traversal.h:
        * platform/AtomicString.h:
        (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.

2006-04-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8198>
        Hitting an assert on undo paste
        
        ReplaceSelectionCommand was doing a combination of undoable and non-undoable 
        removes from the ReplacementFragment.  On Undo Paste, the undoable removes 
        couldn't be undone because the tree was in a different state than it was
        at the time of the remove.  This patch makes all the removes from the fragment 
        non-undoable.  We could make them all undoable, but I can't think of any reason 
        why we'd want the fragment to be reconstructed on an Undo Paste.

        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::doApply):
        Assert that the node to append isn't already in a tree, since if it is, it will 
        be removed in a non-undoable way.
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): 
        Nodes were being moved from the fragment to the document with undoable inserts.  
        Undoable inserts implicitly remove the node (in a non-undoable way) from its 
        old location if it is already in a tree.  I now explicitly remove the nodes 
        from the fragment before inserting them into the document to make it clear that 
        they are being removed in a non-non-undoable way.  I also changed the one undoable 
        remove from the fragment to a non-undoable remove.
        * editing/ReplaceSelectionCommand.h: 
        Made ReplacementFragment's non-undoable removeNode public.

2006-04-05  Darin Adler  <darin@apple.com>

        - fixed the build

        * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.

2006-04-05  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=8049
          StringImpl hash traits deleted value creates an init routine for WebCore
          <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)

        * platform/StringHash.h: Added. Moved hash functions and such for
        WebCore::String and friends into this file so we don't have to include
        the hash traits header everywhere. Changed hashing for WebCore::StringImpl
        and WebCore::String so that they use a raw pointer for the underlying
        storage type, taking advantage of the new feature added in JavaScriptCore.

        * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
        * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
        * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
        to StringHash.h. Left DefaultHash behind so that you can't get the wrong
        hash function by accident if you forget to include "StringHash.h".

        * platform/StringImpl.cpp: Added include of StringHash.h and removed
        RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
        the object with a global initializer causing all the trouble!

        * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
        instead of PtrHash.

        * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
        the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
        tiny bit by adding default values to the MappedAttributeKey constructor.

        * platform/CharsetNames.cpp: Changed hash traits here to be a new
        TextEncodingIDHashTraits struct rather than defining new default traits
        for the integer type since more integer types have default traits in
        HashTraits.h now. Also added a specialization so this class will share
        the underlying implementation (since InvalidEncoding happens to be -1).

        * bridge/mac/FrameMac.h:
        * dom/Document.h:
        * dom/xml_tokenizer.h:
        * khtml/xsl/XSLTProcessor.h:
        * kwq/JavaAppletWidget.h:
        * page/FramePrivate.h:
        * page/Page.cpp:
        * platform/AtomicString.cpp:
        * platform/TransferJob.h:
        * rendering/render_applet.h:
        Added include of StringHash.h.

        * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
        CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
        Added quotes to the CREATE_HASH_TABLE initialization in the rule that
        builds generated files. Removed various unneeded build settings for that
        target as well.

        * ForwardingHeaders/kxmlcore/HashTraits.h: Added.

        - other minor cleanup

        * bridge/mac/FrameMac.mm: Sorted includes.
        * dom/Node.cpp: Removed bogus symbol after #endif.

        * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
        namespace WebCore.
        * loader/Cache.cpp: Ditto.

2006-04-05  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/4502311> text-transform:capitalize needs to 
        treat nbsp as a regular space when ICU changes

        There will be future changes in ICU to match the Unicode 4.1 
        standard which no longer recognizes &nbsp as a word separator. We 
        need to work around this with text-transform:capitalize because 
        words after non-breaking spaces still need to be capitalized.

        No layout tests added because existing layout tests cover this.

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::capitalize): If the character is a non-
        breaking space, add a regular space to our temporary buffer, 
        otherwise, just copy the character in.

2006-04-05  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8110
          Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page)

        Test: fast/dom/navigator-vendorSub.html

        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
        * khtml/ecma/kjs_navigator.h:

2006-04-04  Darin Adler  <darin@apple.com>

        Reviewed by Justin (editing parts) and Adele (the rest).

        - fix http://bugs.webkit.org/show_bug.cgi?id=8182
          some text-field-related layout tests are failing

        The smart paste code was getting confused and adding extra spaces.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
        isStartOfLine.
        (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.

        * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
        Change to call isStart/EndOfParagraph instead of Line.

        * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
        Add a comment about how isStartOfLine is almost certainly wrong here.

        - clean up some loose ends in the Frame class from the recent renaming

        * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and
        handleMouseMoveEventPart2.
        * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed
        handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing
        handleMouseMoveEvent itself.

        - invoke the makefile directly, removing the generate-derived-sources script

        * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * generate-derived-sources: Removed.

2006-04-04  Adele Peterson  <adele@apple.com>

        Reviewed by Justin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8158
        REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text

        Tests:
        editing/selection/caret-rtl.html
        editing/selection/caret-rtl-2.html

        * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates):
        When calculating the position for the beginning or end of an InlineTextBox,
        we now use offsetForPosition instead of just using m_start and m_len, because
        offsetForPosition will take rtl text into account.  I also made some formatting
        changes.

2006-04-04  David Hyatt  <hyatt@apple.com>

        Fix for bug 8065, inline blocks incorrectly loses spaces between them.

        Reviewed by beth

        * dom/Text.cpp:
        (WebCore::Text::rendererIsNeeded):

2006-04-04  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for:
        http://bugs.webkit.org/show_bug.cgi?id=8092
        REGRESSION (NativeTextField): table contents misaligned in Netflix queue

        http://bugs.webkit.org/show_bug.cgi?id=8141
        REGRESSION: Native text field fails to wrap inside table

        http://bugs.webkit.org/show_bug.cgi?id=8072
        REGRESSION: text fields at connect.apple.com spill out of the containing box

        Test: fast/forms/input-table.html

        Rewrote calcMinMaxWidth for text fields so it considers width, 
        min-width, and max-width settings as well as the size attribute.

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):

2006-04-04  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        This is a followup to my fix for <rdar://problem/4493218>
        
        This patch re-names computeIntLength() and computeShortLength() to 
        be computeLengthInt() and computeLengthShort(), respectively, to 
        match the pre-existing computeLengthFloat(). This patch also adds 
        the slightly confusing-ly named computeLengthIntForLength() which 
        uses the max and min values of a 28-bit integer as bounds for 
        overflow. This function is necessary because Length objects expect 
        28-bit integers. 

        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValue::computeLengthInt):
        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
        (WebCore::CSSPrimitiveValue::computeLengthShort):
        * css/css_valueimpl.h:
        * css/cssstyleselector.cpp:
        (WebCore::convertToLength):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
        (WebCore::CSSStyleSelector::mapBackgroundYPosition):

2006-04-04  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        The Debug and Release frameworks are now built with install paths relative to the build products directory.
        This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 

        * WebCore.xcodeproj/project.pbxproj:

2006-04-04  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=6608>
        REGRESSION: Line disappears when deleting
        
        Rewrote moveNodesAfterNode to address these problems:
        It moved nodes without preserving their style. 
        It traversed over siblings looking for a br to know when
        to stop merging.  If the br was burried inside a span, it 
        wouldn't find it.  If the text is whitespace:pre, it wouldn't
        stop.
        In theory it would crash if the "enclosingInlineElements" of the start of the
        selection to delete and the end of the selection to delete were the
        same.  We think that this will fix these:
        <rdar://problems/3950559&4498113>
        CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
        CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
        But we haven't been able to construct a reproducible case.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
        (WebCore::CompositeEditCommand::prune): Ditto.
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/DeleteSelectionCommand.h:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::):
        * editing/markup.cpp:
        (WebCore::createMarkup): 
        Was crashing when passed a collapsed range.  I early return an empty string instead.

2006-04-04  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele Peterson.
        
        - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing

        * bridge/mac/WebCoreSettings.h:
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setPrivateBrowsingEnabled:]):
        (-[WebCoreSettings privateBrowsingEnabled]):
        Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
        
        * kwq/KWQKHTMLSettings.h:
        (KHTMLSettings::privateBrowsingEnabled):
        (KHTMLSettings::setPrivateBrowsingEnabled):
        Teach KHTMLSettings about private browsing
        
        * kwq/KWQLineEdit.mm:
        Fix wrong class in a category method declaration; the compiler didn't seem to mind.
        
        * kwq/WebCoreTextField.mm:
        (-[KWQSearchFieldCell _addStringToRecentSearches:]):
        Override this method to bail out if private browsing is enabled.

2006-04-04  Trey Matteson  <trey@usa.net>

        Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=7951
        REGRESSION: Safari crashes when printing a google map w/directions

        Tests: none, because I believe it only happens when printing, due to the relayouts

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
        ensure the sections' grid data is up to date.
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::calcMinMaxWidth):  Call above method.

2006-04-03  Justin Haygood <jhaygood@spsu.edu>

        Reviewed by eseidel.  Landed by eseidel.
        
        - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
          the real maximum scroll position.
        http://bugs.webkit.org/show_bug.cgi?id=8160

        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::updateScrollBars):

2006-04-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Work-around spaces-in-pathnames issue in gnumake on win32.
        http://bugs.webkit.org/show_bug.cgi?id=8173

        * WebCore.vcproj/WebCore/build-generated-files.sh:

2006-04-03  Darin Adler  <darin@apple.com>

        - tried to fix build again

        * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.

2006-04-03  Darin Adler  <darin@apple.com>

        - fixed properties on a bunch of files
          (removed allow-tabs and svn:executable from many)

        * css/css_base.cpp:
        * html/html_headimpl.cpp:
        * khtml/ecma/kjs_traversal.cpp:
        * kwq/DeprecatedPtrListImpl.cpp:
        * kwq/DeprecatedValueListImpl.cpp:
        * loader/CachedScript.h:
        * platform/ArrayImpl.cpp:
        * platform/StringImpl.cpp:
        * rendering/DataRef.h:
        * rendering/RenderContainer.cpp:
        * rendering/RenderTableCell.cpp:
        * rendering/bidi.h:
        * rendering/render_list.cpp:
        * rendering/render_style.cpp:
        * rendering/table_layout.h:
        Converted tabs to spaces.

2006-04-03  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7118
          Property values with extra items do not get treated as invalid (they should)

        Tests: fast/css/invalidation-errors.html
               fast/css/invalidation-errors-2.html
               fast/css/invalidation-errors-3.html

        * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
        * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
        * css/cssparser.cpp:
        (WebCore::CSSParser::rollbackLastProperties): Added.
        (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
        (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
        (WebCore::CSSParser::parseShorthand): Ditto.
        (WebCore::CSSParser::parse4Values): Ditto.

2006-04-03  Darin Adler  <darin@apple.com>

        - changed StyleSheet back to hand-generated since the generated toJS
          function was not making the right type of wrapper for CSS style sheets
          (fixes failing layout tests)

        * DerivedSources.make: Removed JSStyleSheet.h.
        * css/StyleSheet.idl: Removed.
        * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
        * khtml/ecma/kjs_css.h: Ditto.

2006-04-03  Darin Adler  <darin@apple.com>

        - fixed Macintosh build

        * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
        paths from my machine.

2006-04-03  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.

2006-04-03  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - get RTL right for bug http://bugs.webkit.org/show_bug.cgi?id=8106
          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
        Scroll to the right if RTL.

2006-04-03  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=8147
          convert derived sources script to a Makefile

        * DerivedSources.make: Added.
        * css/CSSPrimitiveValue.idl: Added.
        * css/Counter.idl: Added.
        * css/StyleSheet.idl: Added.

        * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
        * bindings/scripts/CodeGeneratorJS.pm:

        * generate-derived-sources: Added license header. Removed most of the script, except for
        a single invocation of make.

        * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
        CSSPrimitiveValueConstructor, and DOMCounter.
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
        (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
        (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
        (KJS::toJS): Changed to use JSCSSPrimitiveValue.
        (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
        DOMCSSPrimitiveValue directly.

2006-04-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=8117>
        REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
        
        The frame's selection is only set after all sub-commands have been 
        performed.  When we send the khtmlBeforeTextInsertedEvent to the root 
        editable element we were using frame->selection(), which may no longer 
        be in the document.
        
        Had to move the construction of the ReplacementFragment to when the
        replace operation is applied, because endingSelection isn't the 
        endingSelection of the last operation when the replace operation
        is constructed.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:

2006-04-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4495644> crash when mousing over links at 
        nationalrealestateinvestors.com in 
        WebCore::RenderBlock::findNextLineBreak

        This is a fix for a repro crasher where a rootLineBox had a stale 
        pointer to a render object.

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from 
        the function because of selfNeedsLayout() if we are not an inline 
        flow, because if we are, we will not re-layout before bad things 
        can happen.

2006-04-03  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        Removing idl files and some scripts from the WebCore target to prevent
        them from being copied into the Resources.

        * WebCore.xcodeproj/project.pbxproj:

2006-04-03  Dave Hyatt  <hyatt@apple.com>

        Implement basic theme support on Win32.  Still much to do, but
        the backgrounds of buttons, textfields, checkboxes and radio
        controls now draw correctly.  Still work to do for the Classic look
        and to get the foreground defaults of the controls correct.

        Reviewed by anders

        * dom/Node.h:
        (WebCore::Node::isReadOnly):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isReadOnly):
        * platform/win/IntRectWin.cpp:
        (WebCore::IntRect::operator RECT):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::stateChanged):
        (WebCore::RenderTheme::isReadOnly):
        (WebCore::RenderTheme::isHovered):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::supportsHover):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::isControlStyled):
        * rendering/RenderThemeWin.cpp:
        (WebCore::m_textFieldTheme):
        (WebCore::RenderThemeWin::~RenderThemeWin):
        (WebCore::RenderThemeWin::close):
        (WebCore::RenderThemeWin::supportsFocus):
        (WebCore::RenderThemeWin::determineState):
        (WebCore::RenderThemeWin::getThemeData):
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::setCheckboxSize):
        (WebCore::RenderThemeWin::setRadioSize):
        (WebCore::RenderThemeWin::paintTextField):
        * rendering/RenderThemeWin.h:
        (WebCore::ThemeData::m_state):
        (WebCore::RenderThemeWin::supportsHover):
        (WebCore::RenderThemeWin::paintCheckbox):
        (WebCore::RenderThemeWin::paintRadio):

2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8085
          REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us

        Test: fast/dom/Element/offsetTop-table-cell.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetTop): Skip table rows when adding up
        the offsets, since a table cell's yPos() is relative to the table
        section, not the row.

2006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7943
          Layer outline does not repaint

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
        outline phase and do it only if the outlineRect isn't empty.
        (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
        outline rect.

2006-04-03  Adele Peterson  <adele@apple.com>

        Reviewed by Justin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8104
        REGRESSION (NativeTextField): New text fields should not allow pasting newlines

        Test: fast/forms/input-truncate-newline.html

        * html/HTMLInputElement.cpp:
        (WebCore::minPosition): Added helper function.
        (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and 
         truncates the text to be inserted to the earliest newline.

2006-04-03  Alexey Proskuryakov  <ap@nypop.com>

        Fixed a comment (forgot to save the file before the previous commit).

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open):

2006-04-03  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8099
          REGRESSION: XMLHttpRequest lowercase post requests broken

        Test: http/tests/xmlhttprequest/methods-lower-case.html

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
        (WebCore::XMLHttpRequest::send): Account for the above change.

2006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8032
          REGRESSION: Focus ring not completely redrawn after a Delete changes its size

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
        delta rectangles that need to be invalidated must be inflated by the outline size to ensure
        that the previous outline is erased, and the space where the new outline is to be drawn is
        also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
        bug 6301.
        * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
        This is just an outline version of border-repaint-glitch.html

2006-04-02  Trey Matteson  <trey@usa.net>

        Reviewed by Maciej.

        Support for fixing http://bugs.webkit.org/show_bug.cgi?id=8121
        REGRESSION: 404s are not displayed

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
        (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
        gives a correct result even at the start of our loading process.
        * bindings/objc/DOM.mm:
        (-[DOMDocument _ownerElement]): Nuke redundant nil check.

2006-04-02  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Maciej.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8079
        REGRESSION: Redraw from page cache does not show visited links

        * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
        updateStyleSelector call that was removed as part of the patch for bug 7907.

2006-04-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
        - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
        (http://bugs.webkit.org/show_bug.cgi?id=6811)
        - fixed tab and shift tab don't select the right things
        http://bugs.webkit.org/show_bug.cgi?id=5685

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        * bridge/mac/WebCoreFrameBridge.h:

2006-04-02  Darin Adler  <darin@apple.com>

        - add a few stubs to get Windows closer to building

        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::focusRingColor):
        (WebCore::setFocusRingColorChangeFunction):
        (Frame::setNeedsReapplyStyles):

2006-04-02  Darin Adler  <darin@apple.com>

        - fix the build

        * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
        mentioned at all, and a bunch of others that should be in the project but not in the target.

2006-04-02  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8123
          focus ring on new text field doesn't look like the old one

        - fix http://bugs.webkit.org/show_bug.cgi?id=7685
          Focus ring color should change to match graphite when system theme is graphite

        - some cleanup to how we parse user agent style sheets

        * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.

        * css/cssstyleselector.cpp:
        (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
        Cuts the size of the style sheet in half.
        (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
        outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
        instead of repeating the same logic.
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
        for the focus ring color.
        * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
        Changed to allow negative values.

        * css/html4.css: Removed a lot of excess spaces. Changed color of focus
        to -webkit-focus-ring-color. Changed width of focus to 5px.
        Added an outline-offset for <input type=text> of -2px.

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
        the time, and as any other color when not in strict mode. I'm confused about what's
        best for this whole strict mode policy, and I may need advice on Hyatt to perfect
        this one later.
        (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
        the functions in platform already take care of that. Kept the pinning of a, though
        because that's done in floating point before converting to an integer.
        (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.

        * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
        (WebCore::FrameMac::~FrameMac): Ditto.
        (WebCore::Frame::setNeedsReapplyStyles): Added.

        * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
        * platform/mac/WebCoreTextRendererFactory.mm:
        (-[WebCoreTextRendererFactory clearCaches]):
        Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
        obsolete Frame::instances.

        * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
        * page/Frame.cpp: Ditto.

        * page/FrameTree.cpp:
        (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
        (WebCore::FrameTree::removeChild): Ditto.

        * page/Page.h:
        * page/Page.cpp:
        (WebCore::Page::init): Added a set of pages instead of a page count. Also
        register a function for when the focus ring color changes the first time this
        is called.
        (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
        to manager the set of pages.
        (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
        (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
        on all frames with the passed-in settings.

        * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
        input files and to generate an array of char instead of unsigned short.

        * platform/PlatformString.h: Added a constructor that takes a char* and
        a length.
        * platform/String.cpp: (WebCore::String::String): Ditto.

        * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
        the user agent style sheets.

        * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
        Added focusRingColor and setFocusRingColorChangeFunction.
        * platform/Color.cpp:
        (WebCore::makeRGB): Rewrote using max and min.
        (WebCore::makeRGBA): Ditto.
        (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
        DeprecatedString.
        (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
        (WebCore::Color::setNamedColor): Changed to use String in the interface.

        * platform/mac/ColorMac.mm:
        (WebCore::observeTheme): Added. Function used to start up the observer.
        (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
        update all the views when the color changes (including recomputing style to get the
        color change in).
        (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
        ring colors. Both of these match what AppKit uses -- neither matches what we used
        to have in the html4.css file.
        (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
        the appearance is changed from blue to graphite and back. We keep a global so we
        don't have to call over to AppKit every time; that's probably overkill but we need
        the obsever for the color change function anyway.

2006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/inline-block/overflow-clip.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8118
          REGRESSION (r13595): Inline block's clipped overflow increases table row height

        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
        when calculating the contribution to the inline's vertical overflows.

2006-04-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Make WebCore safe against KJS::Node in JavaScriptCore private headers.

        * editing/ReplaceSelectionCommand.h:
        * khtml/ecma/JSXMLSerializer.cpp:
        (KJS::XMLSerializerProtoFunc::callAsFunction):
        * khtml/ecma/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
        (KJS::ScriptInterpreter::putDOMNodeForDocument):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::DOMNode):
        (KJS::DOMNode::mark):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::toNode):
        (KJS::DOMEventTargetNode::DOMEventTargetNode):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::putValueProperty):
        (KJS::DOMElementProtoFunc::callAsFunction):
        (KJS::checkNodeSecurity):
        (KJS::toJS):
        (KJS::getRuntimeObject):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::JSLazyEventListener):
        (KJS::ClipboardProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::JSHTMLDocument::namedItemGetter):
        (KJS::JSHTMLElement::framesetNameGetter):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        (KJS::JSHTMLElement::pushEventHandlerScope):
        (KJS::JSHTMLCollection::callAsFunction):
        (KJS::JSHTMLCollection::getNamedItems):
        (KJS::JSHTMLSelectCollection::put):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::put):
        * kwq/KWQPageState.mm:
        (-[KWQPageState WebCore::]):

2006-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers

        * ForwardingHeaders/kcanvas: Removed.
        * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
        * ForwardingHeaders/kdom: Removed.
        * ForwardingHeaders/kdom/DOMString.h: Removed.
        * ForwardingHeaders/kdom/Helper.h: Removed.
        * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
        * ForwardingHeaders/kdom/Namespace.h: Removed.
        * ForwardingHeaders/kdom/cache: Removed.
        * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
        * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
        * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
        * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
        * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
        * ForwardingHeaders/kdom/core: Removed.
        * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
        * ForwardingHeaders/kdom/core/DOMException.h: Removed.
        * ForwardingHeaders/kdom/core/DOMList.h: Removed.
        * ForwardingHeaders/kdom/core/DOMString.h: Removed.
        * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
        * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
        * ForwardingHeaders/kdom/core/domattrs.h: Removed.
        * ForwardingHeaders/kdom/ecma: Removed.
        * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
        * ForwardingHeaders/kdom/events: Removed.
        * ForwardingHeaders/kdom/events/Event.h: Removed.
        * ForwardingHeaders/kdom/events/EventListener.h: Removed.
        * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
        * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
        * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
        * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
        * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
        * ForwardingHeaders/kdom/kdom.h: Removed.
        * ForwardingHeaders/kdom/parser: Removed.
        * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
        * ForwardingHeaders/ksvg2: Removed.
        * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
        * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
        * ForwardingHeaders/ksvg2/css: Removed.
        * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
        * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
        * WebCore+SVG/KDOMHeaders.h: Removed.
        * WebCore+SVG/Namespace.h: Removed.
        * WebCore+SVG/kdom.h: Removed.

        * WebCore.xcodeproj/project.pbxproj: Removed headers.

        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderSVGImage.cpp:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/misc/SVGImageLoader.cpp:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGAnimationElement.cpp:
        * ksvg2/svg/SVGCircleElement.cpp:
        * ksvg2/svg/SVGClipPathElement.cpp:
        * ksvg2/svg/SVGCursorElement.cpp:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDOMImplementation.cpp:
        * ksvg2/svg/SVGDocument.cpp:
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGEllipseElement.cpp:
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFilterElement.cpp:
        * ksvg2/svg/SVGGradientElement.cpp:
        * ksvg2/svg/SVGHelper.cpp:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLangSpace.cpp:
        * ksvg2/svg/SVGLength.cpp:
        * ksvg2/svg/SVGLineElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGLocatable.cpp:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGPathElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGPolyElement.cpp:
        * ksvg2/svg/SVGPolygonElement.cpp:
        * ksvg2/svg/SVGPolylineElement.cpp:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        * ksvg2/svg/SVGRectElement.cpp:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGStopElement.cpp:
        * ksvg2/svg/SVGStyleElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGTextElement.cpp:
        * ksvg2/svg/SVGTransformable.cpp:
        * ksvg2/svg/SVGUseElement.cpp:
        * ksvg2/svg/SVGViewElement.cpp:
        Updated includes.

2006-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8089
          REGRESSION: Caret position is off in native text field with text-align:right

        - fix http://bugs.webkit.org/show_bug.cgi?id=8082
          REGRESSION: Empty RTL text fields place the caret on the left side

        Need a way to make a test for this. No obvious way at the moment.

        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
        Consider border, padding, and the width of the caret properly in the
        calculation of the caret's X position.

        * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
        Fixed some similar issues and rewrote this function for clarity.
        However, I suspect this function was and remains broken and is almost
        never called.

2006-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8106
          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus

        Test: fast/forms/input-text-scroll-left-on-blur.html

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
        through to the RenderTextField, as well as mouse, drag, and wheel events.
        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
        the left on a blur.

        - unrelated small changes

        * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
        (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.

        * dom/Element.cpp:
        (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
        (WebCore::Element::scrollIntoViewIfNeeded): Ditto.

        * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.

2006-03-31  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adele.
        
        <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
        an empty editable subtree.

2006-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8063
          REGRESSION: double clicking in new text fields won't select whole words

        Test: fast/forms/input-text-double-click.html

        * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
        calling selectNodeContents rather than by calling setEndAfter. The problem with
        setEndAfter is that it doesn't do anything when the parent of the node is 0, and
        also it's not really what we want, since the boundary node is one with editable
        contents -- we want to stay inside the boundary node.

        * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
        I noticed at the same time.

2006-03-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher.
        
        - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word 
        doesn't select it or offer corrections (first click only)

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::sendContextMenuEvent):
        Rolled in this one-line change that Hyatt wrote ages ago.

2006-03-31  Beth Dakin  <bdakin@apple.com>

        Reviewed by John.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8108
        REGRESSION (r13590-r13593): Floating table's cells don't paint 
        their background

        This is a regression from my painting patch yesterday. Just a silly 
        error I didn't catch.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint): Change the phase of our new 
        PaintInfo, not our old one.

2006-03-31  Tim Omernick  <timo@apple.com>

        Reviewed by Adele.

        <http://bugs.webkit.org/show_bug.cgi?id=7858>
        <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
        
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle):
        Set user modify based on the form element's readOnly().
        (WebCore::RenderTextField::updateFromElement):
        ditto

2006-03-31  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Omernick.

        Updating shadowAncestorNode so it doesn't check for rootEditableElement.  Now we just walk
        up the tree to look for a shadowNode, and then we find the shadowParent.

        * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
         Updated assertion to check for shadowAncestorNode instead of rootEditableElement.

2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by John Sullivan.
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=8101
          REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail

        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
        only if childAffectsTopBottomPos is true.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
        wasn't committed with the rest of the patch.

2006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by Beth.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8081
        REGRESSION: Drop-down menu has gap at top

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating 
        the hypothetical vertical position in normal flow, skip table rows 
        in the ancestor chain, since a table cell's Y position is relative 
        to the table section, not the row.

2006-03-31  Dave Hyatt <hyatt@apple.com>

        Fix the border drawing for themes on Win32.

        Reviewed by adele

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBoxDecorations):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paintBorderOnly):
        * rendering/RenderTheme.h:

2006-03-31  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
        TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
        the mapping from error code to error name.

        * dom/Element.idl: Removed comment from bad old days where we had to
        touch these files to make them rebuild.

2006-03-30  Maciej Stachowiak  <mjs@apple.com>

        - fixed Windows build breakage from previous change

        * platform/ScrollView.h:
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawLineForText):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::scrollOffset):
        (WebCore::ScrollView::scrollBy):

2006-03-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.
        
        - various Point / Size related cleanup
        
        First, I clarified the semantics of some operations to keep a
        better distinction between IntPoint and IntSize:
        
        * platform/IntPoint.h:
        (WebCore::IntPoint::move): new convenience to move a point by separate
        x and y deltas.
        (WebCore::operator+=): You can't add a point to a point, you can only add
        a size to a point.
        (WebCore::operator+): ditto
        (WebCore::operator-): point - point = size; point - size = point
        (WebCore::operator-=): only allow subtracting a size for the mutating version
        * platform/IntRect.h:
        (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
        not an IntPoint.
        * platform/IntSize.h:
        (WebCore::IntSize::shrunkTo): analog to expandedTo
        (WebCore::IntSize::clampNegativeToZero): a handy helper
        (WebCore::operator-): Added unary minus operator

        Made the same changes for FloatPoint:
        
        * platform/FloatPoint.h:
        (WebCore::FloatPoint::move):
        (WebCore::operator+=):
        (WebCore::operator-=):
        (WebCore::operator+):
        (WebCore::operator-):
        * platform/FloatRect.h:
        (WebCore::FloatRect::move):
        * platform/FloatSize.h:
        (WebCore::operator-):

        Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
        coordinates. The main one was:
        
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::scrollOffset): new method, return an IntSize
        (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
        (WebCore::ScrollView::viewportToContents): take and return an IntPoint
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
        not scrollPoint
        (WebCore::ScrollView::visibleContentRect):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::viewportToContents):
        (WebCore::ScrollView::contentsToViewport):
        (WebCore::scrollOffset):
        (WebCore::ScrollView::maximumScroll):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::updateScrollBars):

        The rest is mainly updates for these changes.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::dragHysteresisExceeded):
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::mouseDown):
        (WebCore::FrameMac::shouldDragAutoNode):
        (WebCore::FrameMac::sendContextMenuEvent):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge isPointInsideSelection:]):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        * khtml/ecma/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        * page/Frame.cpp:
        (WebCore::Frame::shouldDragAutoNode):
        (WebCore::Frame::isPointInsideSelection):
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventDoubleClick):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::handleMouseMoveEventPart2):
        (WebCore::Frame::handleMouseReleaseEvent):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::prepareMouseEvent):
        (WebCore::FrameView::handleWheelEvent):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::draggableNode):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::positionForPoint):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):

2006-03-30  Maciej Stachowiak  <mjs@apple.com>

        - fixed windows build

        * platform/win/TemporaryLinkStubs.cpp:
        (Widget::unlockDrawingFocus):

2006-03-31  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        A bit more code cleanup.

        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue):
        * kwq/WebCoreTextField.mm:
        (-[KWQTextFieldController textView:shouldHandleEvent:]):
        (-[KWQSecureTextField selectText:]):
        * page/Frame.cpp:
        (WebCore::Frame::submitForm):
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::userResize):

2006-03-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::wheelEvent):
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::sendContextMenuEvent):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::prepareMouseEvent):
        * dom/Document.h:
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerForPosition:]):
        (-[WebCoreAXObject accessibilityHitTest:]):
        * manual-tests/frame-hover.html: Added.
        * manual-tests/resources/hover-subframe-1.html: Added.
        * manual-tests/resources/hover-subframe-2.html: Added.
        * page/Frame.cpp:
        (WebCore::Frame::isPointInsideSelection):
        * page/FrameView.cpp:
        (WebCore::FrameView::prepareMouseEvent):
        (WebCore::FrameView::handleWheelEvent):
        * platform/IntRect.h:
        (WebCore::IntRect::contains):
        * rendering/RenderLayer.cpp:
        (WebCore::isSubframeCanvas):
        (WebCore::frameVisibleRect):
        (WebCore::RenderLayer::hitTest):
        (WebCore::shouldApplyImplicitCapture):
        (WebCore::RenderLayer::hitTestLayer):
        * rendering/RenderLayer.h:

2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html

        Reviewed by Darin.
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=8056
          Flexible boxes do not repaint their top, left and children's overflows

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::FlexBoxIterator::next):
        (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
        determining vertical positions. Update horizontal overflows after horizontal
        positions are determined.
        (WebCore::RenderFlexibleBox::layoutVerticalBox):  Update left overflow when
        determining horizontal positions. Update vertical overflows after vertical
        positions are determined.
        (WebCore::RenderFlexibleBox::allowedChildFlex):

2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7301
          Text shadow does not repaint correctly

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
        possible horizontal shadow overflow of the damage rect.
        * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
        selection vertical bounds.
        (WebCore::RenderFlow::hitTestLines):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
        in leftPosition and rightPosition and keep track of the maximum horizontal shadow
        on the inline.
        (WebCore::InlineFlowBox::verticallyAlignBoxes):
        (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
        inline-blocks' overflow in topPosition and bottomPosition but not in the selection
        vertical bounds.
        (WebCore::RootInlineBox::selectionTop):
        * rendering/render_line.h:
        (WebCore::InlineFlowBox:::InlineRunBox):
        (WebCore::InlineFlowBox::setVerticalSelectionPositions):
        (WebCore::InlineFlowBox::maxHorizontalShadow):
        (WebCore::RootInlineBox::setVerticalSelectionPositions):
        (WebCore::RootInlineBox::selectionBottom):
        (WebCore::RootInlineBox::selectionHeight):

2006-03-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring 
        around link in overflow:auto div isn't clipped to div

        Focus rings around the children off overflow:auto divs were not 
        being appropriately clipped because they were being painted with 
        the div's outlineRect, when they should be painted separately. This 
        patch adds two new PaintPhases -- PaintPhaseSelfOutline and 
        PaintPhaseChildOutlines -- to address this problem.

        This patch also changes the name of PaintAction back to PaintPhase. 
        Because Hyatt said so.

        * kcanvas/KCanvasResources.cpp:
        (WebCore::KCanvasMarker::draw):
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasContainerQuartz::paint):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::RenderBlock::paintSelection):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        * rendering/RenderCanvas.cpp:
        (WebCore::RenderCanvas::paint):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::maximalOutlineSize):
        * rendering/RenderObject.h:
        (WebCore::):
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        * rendering/render_button.cpp:
        (WebCore::RenderButton::paintObject):
        * rendering/render_line.cpp:
        (WebCore::InlineBox::paint):
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
        (WebCore::RootInlineBox::paintEllipsisBox):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/render_replaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        (WebCore::RenderWidget::paint):

2006-03-30  Tim Omernick  <timo@apple.com>

        Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
        JavaScript type for Java Strings is function, not object

        * manual-tests/java-string-object-type.html: Added.
        * manual-tests/resources/StringTypeTest.class: Added.
        * manual-tests/resources/StringTypeTest.java: Added.

2006-03-30  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix text form controls, and add basic submit support!

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::submitForm):
        * bridge/win/FrameWin.h:
        * platform/win/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::incomingReferrer):
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::start):

2006-03-30  Adele Peterson  <adele@apple.com>

        Reviewed by Justin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8083
        REGRESSION: Repro crash when dragging to select over a new text field

        * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
        When searching for non-editable content, if the end of the selection is in a 
        shadow tree, then we need to jump out of that first.

2006-03-30  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        http://bugs.webkit.org/show_bug.cgi?id=6989
        REGRESSION: Plain-text mode needed for contenteditable area used in new text field

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge isSelectionEditable]):
        (-[WebCoreFrameBridge isSelectionRichlyEditable]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * dom/Node.cpp:
        (WebCore::Node::isContentRichlyEditable):
        * dom/Node.h:
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        * editing/JSEditor.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/Selection.h:
        (WebCore::Selection::rootEditableElement):
        (WebCore::Selection::isContentEditable):
        (WebCore::Selection::isContentRichlyEditable):
        * editing/SelectionController.h:
        (WebCore::SelectionController::rootEditableElement):
        (WebCore::SelectionController::isContentEditable):
        (WebCore::SelectionController::isContentRichlyEditable):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isContentEditable):
        (WebCore::HTMLElement::contentEditable):
        (WebCore::HTMLElement::setContentEditable):
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle):
        * rendering/render_style.h:
        (WebCore::):
        
2006-03-30  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
        Formatting.
        (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
        Generalize check that preserves nesting when deleting to the beginning of an ancestor block.

        * editing/deleting/delete-block-merge-contents-022.html: Added.
        * editing/deleting/delete-block-merge-contents-023.html: Added.
        * editing/deleting/delete-block-merge-contents-024.html: Added.

2006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - Test for http://bugs.webkit.org/show_bug.cgi?id=8076
          REGRESSION: native text fields are reversed on "visual Hebrew" pages

        * fast/forms/visual-hebrew-text-field-expected.checksum: Added.
        * fast/forms/visual-hebrew-text-field-expected.png: Added.
        * fast/forms/visual-hebrew-text-field-expected.txt: Added.
        * fast/forms/visual-hebrew-text-field.html: Added.

2006-03-30  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8051
          Empty forms are submitted incorrectly

        Test: fast/forms/empty-get.html

        * platform/KURL.cpp:
        (KURL::setQuery): Add a question mark for empty query strings, too.

2006-03-30  Dave Hyatt <hyatt@apple.com>

        Roll out the fix to 7102 and reopen it to get Spinneret working
        again.

        Reviewed by justin

        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::receivedFirstData):
        (WebCore::Frame::begin):

2006-03-30  Dave Hyatt <hyatt@apple.com>

        Land support for JPEG image decoding on Win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/cairo/ImageSourceCairo.cpp:
        (WebCore::createDecoder):
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::setRGBA):
        (WebCore::ImageDecoder::supportsAlpha):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::haveDecodedRow):
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::JPEGImageReader):
        (WebCore::JPEGImageReader::close):
        (WebCore::JPEGImageReader::skipBytes):
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageReader::info):
        (WebCore::JPEGImageReader::samples):
        (WebCore::JPEGImageReader::decoder):
        (WebCore::error_exit):
        (WebCore::init_source):
        (WebCore::skip_input_data):
        (WebCore::fill_input_buffer):
        (WebCore::term_source):
        (WebCore::JPEGImageDecoder::decode):
        (WebCore::JPEGImageDecoder::outputScanlines):
        (WebCore::JPEGImageDecoder::jpegComplete):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        (WebCore::JPEGImageDecoder::supportsAlpha):
        (WebCore::JPEGImageDecoder::setSize):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2006-03-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=8067>
        REGRESSION: selectionRect includes next/previous replaced elements
        Also fixes: <rdar://problems/4402375&4474871&4492934>
        
        In the case where a selection starts at the end or ends at the start
        of o, o->selectionState() != SelectionNone, but o isn't really selected.  
        Constraining the selection with upstream and downstream eliminates these
        types of endpoints, but constraining endpoints that occur at the 
        start or end of a paragraph creates positions inside containers - some 
        of which the selection painting code isn't equipped to handle.

        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        * rendering/render_replaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        (WebCore::RenderReplaced::selectionRect):
        (WebCore::RenderReplaced::setSelectionState):
        (WebCore::RenderWidget::setSelectionState):

2006-03-29  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6986
        Switch to use new text field implementation for <input type="text">

        * css/html4.css: Added default style info for new text fields.
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
        (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
        (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
        (WebCore::RenderTextField::setSelectionEnd): ditto.
        (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
        (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
        (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from 
         the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
        (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css. 
         We also add intrinsic margins here if the font size is large enough.
        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
         No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
        (WebCore::HTMLInputElement::focus): ditto.
        (WebCore::HTMLInputElement::selectionStart): ditto.
        (WebCore::HTMLInputElement::selectionEnd): ditto.
        (WebCore::HTMLInputElement::setSelectionStart): ditto.
        (WebCore::HTMLInputElement::setSelectionEnd): ditto.
        (WebCore::HTMLInputElement::select): ditto.
        (WebCore::HTMLInputElement::setSelectionRange): ditto.
        (WebCore::HTMLInputElement::createRenderer): ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): ditto.
        (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.  
         A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
        * html/HTMLInputElement.h: Added isMouseFocusable.
        * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
         Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
        * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.

2006-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8026
          A particular animated SVG crashes in filter code
          <rdar://problem/4494775> A particular animated SVG crashes in filter code

        - fix some code that is not handling references correctly for GC

        Test: svg/custom/empty-merge.svg

        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to
        properly retain a reference to an Objective-C object in a C++ class.
        (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of
        release.
        (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain.
        (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release.
        (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of
        valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings
        and because what we're doing with a dictionary here has nothing to do with
        key value encoding.

        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
        Use KWQRelease instead of release.
        (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain
        instead of retain to properly retain a reference to an Objective-C object
        in a C++ class.

        * platform/mac/ImageMac.mm:
        (WebCore::Image::invalidateNativeData): Use CFRelease instead of release.
        (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain
        a reference to an Objective-C object in a C++ class.

2006-03-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression: 
        crash in malloc_consolidate if you use a .PAC file

        (1) To ensure thread-safe deallocation, set the "unsafe to destroy on 
        non-main threads" bit in the DOMObject constructor.

        (2) Made all binding objects inherit from DOMObject, because the
        WebCore data structures they wrap are not thread-safe. "DOMObject" is
        a slightly awkward name for things like the Window object, but the 
        DOM spec is considering adding a Window object, and creating a whole
        new base class for this purpose seemed like overkill.

        * khtml/ecma/JSDOMParser.h:
        * khtml/ecma/JSXMLHttpRequest.h:
        * khtml/ecma/JSXMLSerializer.cpp:
        (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
        * khtml/ecma/JSXMLSerializer.h:
        * khtml/ecma/JSXSLTProcessor.h:
        * khtml/ecma/kjs_binding.h:
        (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main
        threads bit" to ensure thread-safe deallocation.
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::Navigator):
        (KJS::PluginBase::PluginBase):
        * khtml/ecma/kjs_navigator.h:
        * khtml/ecma/kjs_proxy.cpp:
        * khtml/ecma/kjs_window.cpp:
        (KJS::History::History):
        (KJS::FrameArray::FrameArray):
        (KJS::Screen::Screen):
        (KJS::Window::Window):
        (KJS::BarInfo::BarInfo):
        * khtml/ecma/kjs_window.h:

2006-03-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
        build, maps.google.com zoom slider always zooms fully out

        There were 2 problems: (1) A syntax error in the UIEvent IDL file
        prevented some things from showing up in the bindings; (2)
        MouseEvent had a duplicate isSimulated property that shadowed
        MouseRelatedEvent's isSimulated property, and MouseEvent failed to
        initialize MouseRelatedEvent's isSimulated property.

        * dom/UIEvent.idl:
        * dom/dom2_eventsimpl.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        (WebCore::MouseEvent::MouseEvent):
        * dom/dom2_eventsimpl.h:

2006-03-29  Tim Omernick  <timo@apple.com>

        Reviewed by Darin.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        If the input type is dynamically changed, reevaluate whether the element maintains its state
        (this decision is based on the input's type).  Fixes an assertion error when leaving a page
        with a text field that had been dynamically changed to a password field.

2006-03-29  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8055
          Fix most CSS grammar conflicts.

        Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.

        I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
        were already made in KDE tree (the other two are different because declaration
        blocks are described in quite different ways). Shift/reduce fixes are just
        merged from KDE, r332845 by Michael Matz.

        * css/CSSGrammar.y:

2006-03-29  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7157
          An asterisk in a CSS property name breaks CSS handling 
          (Many layout problems at letras.terra.com.br)

        Test: fast/css/error-in-last-decl.html

        * css/CSSGrammar.y: Added a rule for the case when the last CSS rule 
          has a syntax error, and doesn't end with a semicolon.

2006-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - another cut at fixing the buildbot

        * generate-derived-sources: Fix if statement that was always following
        the Windows case. I believe this is the main problem.

        * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
        to the target.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.

        * platform/CharsetData.h: Added.
        * platform/CharsetNames.cpp: Moved the actual character set data out into a
        separate source file instead of include a .cpp file.

        * platform/make-charset-table.pl: Changed to generate a file that can stand alone.

2006-03-29  Darin Adler  <darin@apple.com>

        - an attempt to fix the buildbot

        * platform/mac/mac-encodings.txt: Touched this file so the character encodings
        files will be regenerated.

2006-03-29  Darin Adler  <darin@apple.com>

        - a quick cut at fixing the windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.

2006-03-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.
        
        - fixed  <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
        
        Also fixed other issues with contains. The problem that caused the bug was:
        - contains should return true for the element itself, unlike isAncestor
        
        Other problems I fixed:
        - contains shouldn't be present on non-Element nodes
        - contains should return false when passed a non-Element node
        - contains should return false when passed a non-Node

        * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
        * dom/Element.cpp:
        (WebCore::Element::contains): Added new implementation.
        * dom/Element.h: Added prototype for contains.
        * dom/Element.idl: Added IDL declaration for contains.
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().

2006-03-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej

        Fix for <rdar://problem/4493218> repro crash in 
        khtml::RenderBlock::repaintFloatingDescendants with giant 
        cellspacing value

        Some callers of CSSPrimitiveValue::computeLength() expect an int, 
        and others a short. This patch splits computeLength() into 
        computeIntLength() and computeShortLength() so that the appropriate 
        bounds can be checked. 

        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not 
        within int bounds.
        (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not 
        within short bounds.
        * css/css_valueimpl.h:
        * css/cssstyleselector.cpp:
        (WebCore::convertToLength): Switch to appropriate computeLength() 
        call.
        (WebCore::CSSStyleSelector::applyProperty): Same.
        (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
        (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::repaintFloatingDescendants): Nil check 
        m_floatingObjects and add an assertion. This is not necessary for 
        the fix, it is just because we are not sure that it is safe not to 
        nil-check, and we want to prevent potential problems in release 
        builds, and catch them with the assertion in debug builds.
        (WebCore::RenderBlock::addOverhangingFloats): Same as above.

2006-03-28  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4616
          Setting nodeValue on a textnode with collapsed whitespace only has no visual effect

        Test: fast/dom/space-to-text.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing.
        (WebCore::CharacterData::appendData): Ditto.
        (WebCore::CharacterData::insertData): Ditto.
        (WebCore::CharacterData::replaceData): Ditto.

2006-03-28  Tim Omernick  <timo@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
        to another page while selecting inside textarea inside iframe

        * kwq/WebCoreTextArea.mm:
        (-[WebCoreTextArea mouseDown:]):
        Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown().
        Other widgets do this to protect against being removed from the page and deallocated while handling
        mouse down events.
        (-[WebCoreTextView mouseDown:]):
        ditto

        * manual-tests/textarea-iframe-navigation.html: Added.
        * manual-tests/textarea-iframe-navigation2.html: Added.
        Manual test case for this fix.

2006-03-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16

        * dom/Document.cpp:
        (WebCore::Document::write): Fix unreproducible infinite recursion.

2006-03-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Remove global initializers.

        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * ksvg2/svg/SVGAngle.cpp:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGLength.cpp:

2006-03-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Switch UIEvent, MouseEvent and KeyboardEvent over to
        be new auto-generated bindings.
        http://bugs.webkit.org/show_bug.cgi?id=7928

        Updated test: fast/dom/prototype-chain.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent ::]):
        (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        * dom/KeyboardEvent.idl: Added.
        * dom/MouseEvent.idl: Added.
        * dom/UIEvent.idl: Added.
        * dom/WheelEvent.idl:
        * dom/dom2_eventsimpl.cpp:
        (WebCore::MouseEvent::MouseEvent):
        (WebCore::MouseEvent::initMouseEvent):
        * dom/dom2_eventsimpl.h:
        (WebCore::MouseEvent::relatedTarget):
        (WebCore::MouseEvent::clipboard):
        * generate-derived-sources:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::toEventTargetNode):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.cpp:
        (KJS::toJS):
        * khtml/ecma/kjs_events.h:

2006-03-28  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - replace getDocument with document in a few places that Geoff missed

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Attr.cpp:
        (WebCore::Attr::createTextChild):
        (WebCore::Attr::setValue):
        (WebCore::Attr::cloneNode):
        * dom/Attribute.cpp:
        (WebCore::Attribute::createAttrIfNeeded):
        * dom/Element.cpp:
        (WebCore::Element::cloneNode):
        (WebCore::inHTMLDocument):
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeMap):
        (WebCore::Element::createStyleForRenderer):
        (WebCore::Element::createRenderer):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::dispatchAttrRemovalEvent):
        (WebCore::Element::dispatchAttrAdditionEvent):
        (WebCore::Element::updateId):
        (WebCore::Element::removeAttributeNode):
        (WebCore::Element::focus):
        (WebCore::Element::blur):
        * dom/NamedAttrMap.cpp:
        (WebCore::inHTMLDocument):
        (WebCore::NamedAttrMap::setNamedItem):
        * dom/NamedMappedAttrMap.cpp:
        (WebCore::NamedMappedAttrMap::parseClassAttribute):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::parseMappedAttribute):
        (WebCore::StyledElement::createMappedDecl):

        - added missing include that seems to be breaking the Windows build

        * platform/String.cpp: Include <stdarg.h>.

2006-03-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth.

        - Global replace of getDocument() with document(). Darin suggested this
        in his review of my EventTargetNode patch. It matches the style of
        methods like ownerDocument().

        - Changed getDocument() to document(); changed data member document to
        m_document; changed stack variable document to doc.

        * bindings/objc/DOM.mm:
        (-[DOMNode ownerDocument]):
        (-[DOMNode KJS::Bindings::]):
        (-[DOMElement _getURLAttribute:]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement titleDisplayString]):
        (-[DOMHTMLInputElement altDisplayString]):
        (-[DOMHTMLAnchorElement blur]):
        (-[DOMHTMLAnchorElement focus]):
        (-[DOMHTMLImageElement altDisplayString]):
        (-[DOMHTMLAppletElement altDisplayString]):
        (-[DOMHTMLAreaElement altDisplayString]):
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString):
        * bridge/mac/FrameViewMac.mm:
        (WebCore::FrameView::updateDashboardRegions):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initSubframeWithRenderer:]):
        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/css_base.cpp:
        (WebCore::StyleBase::baseURL):
        * css/css_stylesheetimpl.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::CSSStyleSelector::createStyleForElement):
        (WebCore::CSSStyleSelector::createPseudoStyleForElement):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::CSSStyleSelector::checkOneSelector):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapBackgroundImage):
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * dom/AbstractView.cpp:
        (WebCore::AbstractView::AbstractView):
        * dom/CDATASection.cpp:
        (WebCore::CDATASection::cloneNode):
        (WebCore::CDATASection::createNew):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData):
        (WebCore::CharacterData::insertData):
        (WebCore::CharacterData::deleteData):
        (WebCore::CharacterData::replaceData):
        (WebCore::CharacterData::dispatchModifiedEvent):
        * dom/Comment.cpp:
        (WebCore::Comment::cloneNode):
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::removeChild):
        (WebCore::ContainerNode::appendChild):
        (WebCore::ContainerNode::addChild):
        (WebCore::ContainerNode::getUpperLeftCorner):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::createDocumentFragment):
        (WebCore::Document::adoptNode):
        (WebCore::Document::createElementNS):
        (WebCore::Document::nodeAbsIndex):
        (WebCore::Document::setFocusNode):
        (WebCore::Document::topDocument):
        * dom/DocumentFragment.cpp:
        (WebCore::DocumentFragment::cloneNode):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::~EventTargetNode):
        (WebCore::EventTargetNode::insertedIntoDocument):
        (WebCore::EventTargetNode::removedFromDocument):
        (WebCore::EventTargetNode::addEventListener):
        (WebCore::EventTargetNode::removeEventListener):
        (WebCore::EventTargetNode::dispatchGenericEvent):
        (WebCore::EventTargetNode::dispatchEvent):
        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
        (WebCore::EventTargetNode::dispatchWindowEvent):
        (WebCore::EventTargetNode::dispatchUIEvent):
        (WebCore::EventTargetNode::dispatchKeyEvent):
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        (WebCore::EventTargetNode::removeHTMLEventListener):
        * dom/Node.cpp:
        (WebCore::Node::Node):
        (WebCore::Node::setDocument):
        (WebCore::Node::setChanged):
        (WebCore::Node::checkSetPrefix):
        (WebCore::Node::checkAddChild):
        (WebCore::Node::attach):
        (WebCore::Node::detach):
        (WebCore::Node::createRendererIfNeeded):
        (WebCore::Node::rendererIsNeeded):
        (WebCore::Node::getElementsByTagNameNS):
        (WebCore::Node::ownerDocument):
        (WebCore::Node::setTextContent):
        * dom/Node.h:
        (WebCore::Node::document):
        (WebCore::Node::inDocument):
        * dom/NodeList.cpp:
        (WebCore::NodeList::itemById):
        * dom/Position.cpp:
        (WebCore::Position::documentElement):
        * dom/Range.cpp:
        (WebCore::Range::commonAncestorContainer):
        (WebCore::Range::setStart):
        (WebCore::Range::setEnd):
        (WebCore::Range::compareBoundaryPoints):
        (WebCore::Range::insertNode):
        (WebCore::Range::text):
        (WebCore::Range::setStartAfter):
        (WebCore::Range::setEndBefore):
        (WebCore::Range::setEndAfter):
        (WebCore::Range::surroundContents):
        (WebCore::Range::setStartBefore):
        (WebCore::rangeOfContents):
        * dom/Text.cpp:
        (WebCore::Text::cloneNode):
        (WebCore::Text::createNew):
        * dom/dom2_eventsimpl.cpp:
        (WebCore::MouseRelatedEvent::receivedTarget):
        * dom/dom2_traversalimpl.cpp:
        (WebCore::NodeIterator::NodeIterator):
        * dom/dom_elementimpl.cpp:
        (WebCore::Attribute::createAttrIfNeeded):
        (WebCore::Attr::createTextChild):
        (WebCore::Attr::setValue):
        (WebCore::Attr::cloneNode):
        (WebCore::Element::cloneNode):
        (WebCore::inHTMLDocument):
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeMap):
        (WebCore::Element::createStyleForRenderer):
        (WebCore::Element::createRenderer):
        (WebCore::Element::recalcStyle):
        (WebCore::Element::dispatchAttrRemovalEvent):
        (WebCore::Element::dispatchAttrAdditionEvent):
        (WebCore::Element::updateId):
        (WebCore::Element::removeAttributeNode):
        (WebCore::Element::focus):
        (WebCore::Element::blur):
        (WebCore::NamedAttrMap::setNamedItem):
        (WebCore::NamedMappedAttrMap::parseClassAttribute):
        (WebCore::StyledElement::createInlineStyleDecl):
        (WebCore::StyledElement::parseMappedAttribute):
        (WebCore::StyledElement::createMappedDecl):
        * dom/dom_xmlimpl.cpp:
        (WebCore::EntityReference::cloneNode):
        (WebCore::ProcessingInstruction::cloneNode):
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::sheetLoaded):
        (WebCore::ProcessingInstruction::setStyleSheet):
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
        (WebCore::styleForNode):
        * editing/Selection.cpp:
        (WebCore::Selection::toRange):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::~SelectionController):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        (WebCore::SelectionController::frame):
        (WebCore::SelectionController::layout):
        (WebCore::SelectionController::needsCaretRepaint):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::range):
        (WebCore::SimplifiedBackwardsTextIterator::range):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::init):
        (WebCore::makeRange):
        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::shouldSelfClose):
        (WebCore::markup):
        (WebCore::createMarkup):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::inSameDocument):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::resetCollectionInfo):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::nodeName):
        (WebCore::HTMLElement::cloneNode):
        (WebCore::HTMLElement::innerText):
        (WebCore::HTMLElement::createContextualFragment):
        (WebCore::HTMLElement::setInnerText):
        (WebCore::HTMLElement::setOuterText):
        (WebCore::HTMLElement::isContentEditable):
        (WebCore::HTMLElement::contentEditable):
        (WebCore::HTMLElement::toString):
        (WebCore::HTMLElement::childAllowed):
        (WebCore::HTMLElement::setHTMLEventListener):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
        (WebCore::HTMLFormElement::attach):
        (WebCore::HTMLFormElement::insertedIntoDocument):
        (WebCore::HTMLFormElement::removedFromDocument):
        (WebCore::HTMLFormElement::formData):
        (WebCore::HTMLFormElement::prepareSubmit):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::parseMappedAttribute):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::attach):
        (WebCore::HTMLGenericFormElement::insertedIntoTree):
        (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement):
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        (WebCore::HTMLInputElement::focus):
        (WebCore::HTMLInputElement::setInputType):
        (WebCore::HTMLInputElement::parseMappedAttribute):
        (WebCore::HTMLInputElement::attach):
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::src):
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::appendFormData):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::formElement):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::text):
        (WebCore::HTMLOptionElement::setText):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement):
        (WebCore::HTMLTextAreaElement::setDefaultValue):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        * html/html_baseimpl.cpp:
        (WebCore::HTMLBodyElement::createLinkDecl):
        (WebCore::HTMLBodyElement::mapToEntry):
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        (WebCore::HTMLFrameElement::isURLAllowed):
        (WebCore::HTMLFrameElement::openURL):
        (WebCore::HTMLFrameElement::attach):
        (WebCore::HTMLFrameElement::close):
        (WebCore::HTMLFrameElement::contentFrame):
        (WebCore::HTMLFrameElement::frameWidth):
        (WebCore::HTMLFrameElement::frameHeight):
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        (WebCore::HTMLIFrameElement::parseMappedAttribute):
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        (WebCore::HTMLIFrameElement::removedFromDocument):
        (WebCore::HTMLIFrameElement::attach):
        (WebCore::HTMLIFrameElement::src):
        * html/html_blockimpl.cpp:
        (WebCore::HTMLParagraphElement::checkDTD):
        * html/html_headimpl.cpp:
        (WebCore::HTMLBaseElement::removedFromDocument):
        (WebCore::HTMLBaseElement::process):
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::setStyleSheet):
        (WebCore::HTMLLinkElement::sheetLoaded):
        (WebCore::HTMLLinkElement::href):
        (WebCore::HTMLMetaElement::process):
        (WebCore::HTMLScriptElement::childrenChanged):
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        (WebCore::HTMLScriptElement::insertedIntoDocument):
        (WebCore::HTMLScriptElement::evaluateScript):
        (WebCore::HTMLScriptElement::setText):
        (WebCore::HTMLScriptElement::src):
        (WebCore::HTMLStyleElement::insertedIntoDocument):
        (WebCore::HTMLStyleElement::removedFromDocument):
        (WebCore::HTMLStyleElement::childrenChanged):
        (WebCore::HTMLStyleElement::sheetLoaded):
        (WebCore::HTMLTitleElement::insertedIntoDocument):
        (WebCore::HTMLTitleElement::removedFromDocument):
        (WebCore::HTMLTitleElement::childrenChanged):
        (WebCore::HTMLTitleElement::setText):
        * html/html_imageimpl.cpp:
        (WebCore::HTMLImageLoader::~HTMLImageLoader):
        (WebCore::HTMLImageLoader::updateFromElement):
        (WebCore::HTMLImageLoader::notifyFinished):
        (WebCore::HTMLImageElement::parseMappedAttribute):
        (WebCore::HTMLImageElement::insertedIntoDocument):
        (WebCore::HTMLImageElement::removedFromDocument):
        (WebCore::HTMLImageElement::width):
        (WebCore::HTMLImageElement::height):
        (WebCore::HTMLImageElement::src):
        (WebCore::HTMLMapElement::~HTMLMapElement):
        (WebCore::HTMLMapElement::parseMappedAttribute):
        (WebCore::HTMLAreaElement::href):
        * html/html_inlineimpl.cpp:
        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::href):
        (WebCore::HTMLAnchorElement::blur):
        (WebCore::HTMLAnchorElement::focus):
        * html/html_objectimpl.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute):
        (WebCore::HTMLAppletElement::insertedIntoDocument):
        (WebCore::HTMLAppletElement::removedFromDocument):
        (WebCore::HTMLAppletElement::createRenderer):
        (WebCore::HTMLAppletElement::getAppletInstance):
        (WebCore::HTMLEmbedElement::getEmbedInstance):
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        (WebCore::HTMLEmbedElement::rendererIsNeeded):
        (WebCore::HTMLEmbedElement::insertedIntoDocument):
        (WebCore::HTMLEmbedElement::removedFromDocument):
        (WebCore::HTMLObjectElement::getObjectInstance):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        (WebCore::HTMLObjectElement::insertedIntoDocument):
        (WebCore::HTMLObjectElement::removedFromDocument):
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        (WebCore::HTMLParamElement::parseMappedAttribute):
        * html/html_tableimpl.cpp:
        (WebCore::HTMLTableElement::createTHead):
        (WebCore::HTMLTableElement::createTFoot):
        (WebCore::HTMLTableElement::createCaption):
        (WebCore::HTMLTableElement::insertRow):
        (WebCore::HTMLTableElement::addChild):
        (WebCore::HTMLTableElement::mapToEntry):
        (WebCore::HTMLTableElement::parseMappedAttribute):
        (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
        (WebCore::HTMLTableElement::getSharedCellDecl):
        (WebCore::HTMLTablePartElement::mapToEntry):
        (WebCore::HTMLTablePartElement::parseMappedAttribute):
        (WebCore::HTMLTableSectionElement::insertRow):
        (WebCore::HTMLTableRowElement::insertCell):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::~DOMNode):
        (KJS::DOMNode::mark):
        (KJS::DOMElement::getValueProperty):
        (KJS::DOMElementProtoFunc::callAsFunction):
        (KJS::checkNodeSecurity):
        (KJS::toJS):
        * khtml/ecma/kjs_html.cpp:
        (KJS::JSHTMLElement::implementsCall):
        (KJS::JSHTMLElement::bodyGetter):
        (KJS::JSHTMLElement::anchorGetter):
        (KJS::JSHTMLElement::getValueProperty):
        (KJS::JSHTMLElement::bodySetter):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/xbl/xbl_binding.cpp:
        (XBL::XBLBindingChain::failed):
        (XBL::m_nextBinding):
        (XBL::XBLBinding::setXBLDocument):
        * khtml/xbl/xbl_protobinding.cpp:
        (XBL::XBLPrototypeBinding::document):
        * khtml/xsl/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::XSLStyleSheet):
        * khtml/xsl/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):
        (WebCore::xmlDocPtrFromNode):
        (WebCore::XSLTProcessor::transformToString):
        * ksvg2/svg/SVGAElement.cpp:
        (SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (SVGAnimateColorElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElement.cpp:
        (SVGAnimateElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (SVGAnimateTransformElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::closeRenderer):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::addSVGEventListener):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentScale):
        (WebCore::SVGSVGElement::addSVGWindowEventListner):
        * ksvg2/svg/SVGSetElement.cpp:
        (SVGSetElement::handleTimerEvent):
        * ksvg2/svg/SVGStyleElement.cpp:
        (SVGStyleElement::childrenChanged):
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::canvas):
        * ksvg2/svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::closeRenderer):
        (WebCore::SVGTitleElement::insertedIntoDocument):
        (WebCore::SVGTitleElement::removedFromDocument):
        (WebCore::SVGTitleElement::childrenChanged):
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::closeRenderer):
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityPerformAction:]):
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        * page/Frame.cpp:
        (WebCore::parentFromOwnerRenderer):
        (WebCore::Frame::frameForNode):
        (WebCore::Frame::clearDocumentFocus):
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchMouseEvent):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        * rendering/RenderCanvas.cpp:
        (WebCore::RenderCanvas::RenderCanvas):
        (WebCore::RenderCanvas::paintBoxDecorations):
        (WebCore::RenderCanvas::repaintViewRectangle):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageMap):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::isRoot):
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::document):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isFocused):
        * rendering/render_applet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::RenderWidget):
        (WebCore::RenderWidget::focusIn):
        (WebCore::RenderWidget::focusOut):

2006-03-28  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - added a build step that checks for init routines

        * WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that
        was replaced by the generate-derived-sources script a while back. Added a custom
        build phase that invokes the check-for-global-initializers script.

2006-03-28  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        Moved the derived sources script to an agregate target. Fixes internal builds.

        * WebCore.xcodeproj/project.pbxproj:
        * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE

2006-03-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.
        
        Build fix.

        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::error):

2006-03-28  Michael Emmel  <mike.emmel@gmail.com>

        Reviewed, tweaked, landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8023
          Attribute.h missing class predeclaration

        * dom/Attribute.h: Add declarations for classes so that the friend
        declaration is not the only one. There's an issue with either an earlier
        or later version of gcc, which is why we see this only on certain platforms.

        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        (WebCore::Attr::~Attr):
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::clearAttributes):
        (WebCore::NamedAttrMap::addAttribute):
        (WebCore::NamedAttrMap::removeAttribute):
        Change places where practical to use attr() instead of m_impl in the vain
        hope of removing the need for the friend declarations.

2006-03-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Replace more DeprecatedString with String.
        Add String::sprintf() and String::number()
        http://bugs.webkit.org/show_bug.cgi?id=8009

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLTextAreaElement setCols:]):
        (-[DOMHTMLTextAreaElement setRows:]):
        (-[DOMHTMLOListElement setStart:]):
        (-[DOMHTMLPreElement setWidth:]):
        (-[DOMHTMLImageElement setHeight:]):
        (-[DOMHTMLImageElement setHspace:]):
        (-[DOMHTMLImageElement setVspace:]):
        (-[DOMHTMLImageElement setWidth:]):
        (-[DOMHTMLObjectElement setHspace:]):
        (-[DOMHTMLObjectElement setTabIndex:]):
        (-[DOMHTMLObjectElement setVspace:]):
        (-[DOMHTMLAppletElement setHspace:]):
        (-[DOMHTMLAppletElement setVspace:]):
        (-[DOMHTMLAreaElement setTabIndex:]):
        (-[DOMHTMLTableColElement setSpan:]):
        (-[DOMHTMLTableCellElement setColSpan:]):
        (-[DOMHTMLTableCellElement setRowSpan:]):
        (-[DOMHTMLEmbedElement setHeight:]):
        (-[DOMHTMLEmbedElement setWidth:]):
        * bindings/objc/DOMInternal.mm:
        (String::String):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::numberAsString):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/css_valueimpl.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        (WebCore::CSSPrimitiveValue::cssText):
        * dom/Position.cpp:
        (WebCore::Position::formatForDebugger):
        * dom/Range.cpp:
        (WebCore::Range::formatForDebugger):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::error):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::findMatchingState):
        (WebCore::HTMLGenericFormElement::setTabIndex):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setMaxLength):
        (WebCore::HTMLInputElement::setSize):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSize):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::setCols):
        (WebCore::HTMLTextAreaElement::setRows):
        * html/html_baseimpl.cpp:
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        * html/html_blockimpl.cpp:
        (WebCore::HTMLHRElement::parseMappedAttribute):
        (WebCore::HTMLPreElement::setWidth):
        * html/html_imageimpl.cpp:
        (WebCore::HTMLImageElement::width):
        (WebCore::HTMLImageElement::height):
        (WebCore::HTMLImageElement::setBorder):
        (WebCore::HTMLImageElement::setHeight):
        (WebCore::HTMLImageElement::setHspace):
        (WebCore::HTMLImageElement::setVspace):
        (WebCore::HTMLImageElement::setWidth):
        (WebCore::HTMLAreaElement::setTabIndex):
        * html/html_inlineimpl.cpp:
        (WebCore::HTMLAnchorElement::setTabIndex):
        * html/html_listimpl.cpp:
        (WebCore::HTMLOListElement::setStart):
        (WebCore::HTMLLIElement::setValue):
        * html/html_objectimpl.cpp:
        (WebCore::HTMLObjectElement::setTabIndex):
        * html/html_tableimpl.cpp:
        (WebCore::HTMLTableElement::parseMappedAttribute):
        (WebCore::HTMLTableCellElement::setColSpan):
        (WebCore::HTMLTableCellElement::setRowSpan):
        (WebCore::HTMLTableColElement::setSpan):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        (KJS::Location::getValueProperty):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/svg/SVGAngle.cpp:
        (SVGAngle::setValueAsString):
        (SVGAngle::valueAsString):
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGLength.cpp:
        (SVGLength::setValueAsString):
        (SVGLength::valueAsString):
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGPathSeg.h:
        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
        (WebCore::SVGPathSeg::toString):
        * ksvg2/svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegArcAbs::toString):
        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegArcRel::toString):
        * ksvg2/svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
        (WebCore::SVGPathSegClosePath::toString):
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicAbs::toString):
        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
        * ksvg2/svg/SVGPathSegLineto.h:
        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoAbs::toString):
        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoRel::toString):
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoHorizontalRel::toString):
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoVerticalAbs::toString):
        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegLinetoVerticalRel::toString):
        * ksvg2/svg/SVGPathSegMoveto.h:
        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
        (WebCore::SVGPathSegMovetoAbs::toString):
        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
        (WebCore::SVGPathSegMovetoRel::toString):
        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::closeRenderer):
        * platform/AtomicString.h:
        (WebCore::AtomicString::toInt):
        * platform/Color.cpp:
        (WebCore::Color::name):
        * platform/Color.h:
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::sprintf):
        (WebCore::String::number):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::initWithChar):
        (WebCore::StringImpl::initWithQChar):
        (WebCore::StringImpl::containsOnlyWhitespace):
        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        * rendering/render_form.cpp:
        (WebCore::RenderSlider::updateFromElement):
        (WebCore::RenderSlider::valueChanged):

2006-03-28  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs
        
        <http://bugs.webkit.org/attachment.cgi?id=7322>
        REGRESSION: Select All does not highlight table if it's last in the document
        
        * rendering/RenderCanvas.cpp:
        (WebCore::rendererAfterPosition): 
        Added, returns the render object that a pre-order traversal over a range 
        of render objects ending at the input position should stop at.
        (WebCore::RenderCanvas::selectionRect): 
        Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code 
        for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the
        next object before doing work, since the work it does will never change what 
        the next object in the traversal will be.
        (WebCore::RenderCanvas::setSelection): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little.
        (WebCore::RenderObject::nextInPreOrderAfterChildren): Added.
        (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer.
        (WebCore::RenderObject::childAt): Added.
        * rendering/RenderObject.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText):

2006-03-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Justin.
        
        - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)

        Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.
        
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::receivedFirstData):
        (WebCore::Frame::begin):
        (WebCore::Frame::endIfNotLoading): 
        * manual-tests/accidental-strict-mode.html: Added. I don't think an
        automated test is possible.

2006-03-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::regExpForLabels):
        (WebCore::FrameMac::addPluginRootObject):
        (WebCore::FrameMac::cleanupPluginRootObjects):
        * loader/Cache.cpp:
        (WebCore::Cache::init):
        (WebCore::Cache::clear):
        (WebCore::Cache::remove):
        * loader/Cache.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::DocLoader):
        (WebCore::DocLoader::~DocLoader):

2006-03-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Give StringImpl a little privacy.
        http://bugs.webkit.org/show_bug.cgi?id=8022

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::length):
        (WebCore::CharacterData::appendData):
        (WebCore::CharacterData::replaceData):
        (WebCore::CharacterData::checkCharDataOperation):
        (WebCore::CharacterData::rendererIsNeeded):
        * dom/Range.cpp:
        (WebCore::Range::compareBoundaryPoints):
        * dom/Text.cpp:
        (WebCore::Text::splitText):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processToken):
        * platform/AtomicString.cpp:
        (WebCore::operator==):
        * platform/String.cpp:
        (WebCore::String::operator[]):
        (WebCore::String::length):
        (WebCore::String::percentage):
        (WebCore::String::unicode):
        (WebCore::String::deprecatedString):
        (WebCore::String::isEmpty):
        * platform/StringImpl.cpp:
        (WebCore::equal):
        (WebCore::equalIgnoringCase):
        * platform/StringImpl.h:
        * 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/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::calcMinMaxWidth):
        (WebCore::RenderText::width):

2006-03-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Beth.

        - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects
        as well as their overflowRects.
        * platform/IntRect.h:
        (WebCore::unionRect): useful helper
        * platform/FloatRect.h:
        (WebCore::unionRect): added same for FloatRect just because

2006-03-27  Darin Adler  <darin@apple.com>

        Based on a patch by Michael Emmel <mike.emmel@gmail.com>.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8012
          TransferJob.cpp includes non-existent "String.h" (capital S)

        * platform/TransferJob.cpp: Remove unneeded include of "String.h".

2006-03-27  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)

        Better fix than previous checkin, since maxDeepOffset is really an editing hack.

        * editing/selection/selectNodeContents-textNode.html: Added.

        * dom/Range.cpp:
        (WebCore::Range::selectNodeContents):
        Use maxOffset if offsetInCharacters, otherwise use childNodeCount.

2006-03-27  Darin Adler  <darin@apple.com>

        Based on a patch by Michael Emmel <mike.emmel@gmail.com>.

        - fix compilation for Linux
          http://bugs.webkit.org/show_bug.cgi?id=8013

        * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
        formatting a bit and removed some extraneous WebCore:: prefixes.

2006-03-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler and Tim Omernick
        
        - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly 
        confirmed while typing on Safari.

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement _displayedValue]):
        Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but
        for now it fixes this regression.

2006-03-27  Alexander Kellett  <lypanov@kde.org>

        Reviewed by darin

        Implement the IE extension insertAdjacentElement
        http://bugs.webkit.org/show_bug.cgi?id=6520

        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Element.cpp:
        (WebCore::ElementImpl::insertAdjacentElement):
        * dom/Element.h:
        * dom/Element.idl:

2006-03-27  David Harrison  <harrison@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)

        Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text
        nodes.  Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling
        selectNodeContents on a text node.

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

        * dom/Range.cpp:
        (WebCore::Range::selectNodeContents):
        Use maxDeepOffset instead of childNodeCount, so that text node content is selected.

2006-03-27  Graham Dennis  <Graham.Dennis@gmail.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=7868>
        REGRESSION: Extraneous focus ring drawn at the end of the page
        
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.

2006-03-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.
        
        - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/

        * manual-tests/empty-script-crash.html: Added.

2006-03-27  Maciej Stachowiak  <mjs@apple.com>

        Build fix:
        
        - reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node
        It turns out that the behavior we had was standards-compliant and
        Moz will be changing to match.
        
        Also added a note so this doesn't get reverted again.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent):

2006-03-26  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darn
        
        <http://bugs.webkit.org/show_bug.cgi?id=7974>
        Add EditActions and WebUndoActions for CreateLink and Unlink

        * bridge/mac/WebCoreFrameBridge.h:
        * editing/CreateLinkCommand.h:
        (WebCore::CreateLinkCommand::editingAction):
        * editing/EditAction.h:
        * editing/UnlinkCommand.h:
        (WebCore::UnlinkCommand::editingAction):

2006-03-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix win32 build.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * editing/CompositeEditCommand.cpp:
        * editing/InsertTextCommand.cpp:
        * generate-derived-sources:

2006-03-26  Eric Seidel  <eseidel@apple.com>

        * dom/Element.cpp: fix include case, fixing build.

2006-03-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Landed by eseidel.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7916
          Box repaint rect does not include the left overflow

        * manual-tests/left-overflow-repaint.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
        to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
        * rendering/RenderTableCell.cpp: Removed subclass implementation of
        getAbsoluteRepaintRect().
        * rendering/RenderTableCell.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.

2006-03-25  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Build fix.

        * bindings/scripts/CodeGeneratorJS.pm: include Element.h

2006-03-25  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Split dom_elementimpl.* into multiple files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=7978

        * ForwardingHeaders/kdom/core/Attr.h: Removed.
        * ForwardingHeaders/kdom/core/Element.h: Removed.
        * ForwardingHeaders/kdom/core/XMLElement.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMHTML.mm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/AbstractView.cpp:
        * dom/Attr.cpp: Added.
        * dom/Attr.h: Added.
        * dom/Attribute.cpp: Added.
        * dom/Attribute.h: Added.
        * dom/CSSMappedAttributeDeclaration.cpp: Added.
        * dom/CSSMappedAttributeDeclaration.h: Added.
        * dom/DOMImplementation.cpp:
        * dom/Document.h:
        * dom/DocumentType.cpp:
        * dom/Element.cpp: Added.
        (WebCore::Element::Element):
        (WebCore::Element::~Element):
        * dom/Element.h: Added.
        * dom/EventNames.cpp:
        * dom/EventTargetNode.cpp:
        * dom/MappedAttribute.cpp: Added.
        * dom/MappedAttribute.h: Added.
        * dom/MappedAttributeEntry.h: Added.
        (WebCore::):
        * dom/NameNodeList.cpp:
        (WebCore::NameNodeList::NameNodeList):
        (WebCore::NameNodeList::item):
        (WebCore::NameNodeList::nodeMatches):
        * dom/NamedAttrMap.cpp: Added.
        * dom/NamedAttrMap.h: Added.
        * dom/NamedMappedAttrMap.cpp: Added.
        (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
        * dom/NamedMappedAttrMap.h: Added.
        * dom/Node.cpp:
        * dom/NodeList.cpp:
        * dom/Position.cpp:
        * dom/StyledElement.cpp: Added.
        * dom/StyledElement.h: Added.
        * dom/dom_elementimpl.cpp: Removed.
        * dom/dom_elementimpl.h: Removed.
        * editing/BreakBlockquoteCommand.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/DeleteFromTextNodeCommand.cpp:
        * editing/DeleteSelectionCommand.cpp:
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/InsertTextCommand.cpp:
        * editing/MergeIdenticalElementsCommand.cpp:
        * editing/ModifySelectionListLevelCommand.cpp:
        * editing/MoveSelectionCommand.cpp:
        * editing/RemoveCSSPropertyCommand.cpp:
        * editing/RemoveNodeAttributeCommand.cpp:
        * editing/Selection.cpp:
        * editing/SelectionController.cpp:
        * editing/SetNodeAttributeCommand.cpp:
        * editing/SplitElementCommand.cpp:
        * editing/SplitTextNodeContainingElementCommand.cpp:
        * editing/TextIterator.cpp:
        * editing/TypingCommand.cpp:
        * editing/VisiblePosition.cpp:
        * editing/visible_units.cpp:
        * html/HTMLElement.h:
        * html/HTMLTokenizer.h:
        * html/html_baseimpl.cpp:
        * kcanvas/RenderSVGImage.cpp:
        * khtml/ecma/kjs_views.cpp:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * khtml/xbl/xbl_binding_manager.cpp:
        * khtml/xbl/xbl_tokenizer.cpp:
        * ksvg2/misc/SVGImageLoader.cpp:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        * ksvg2/svg/SVGAnimationElement.cpp:
        * ksvg2/svg/SVGCircleElement.cpp:
        * ksvg2/svg/SVGClipPathElement.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGCursorElement.cpp:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGEllipseElement.cpp:
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFilterElement.cpp:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * ksvg2/svg/SVGFitToViewBox.cpp:
        * ksvg2/svg/SVGGradientElement.cpp:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLangSpace.cpp:
        * ksvg2/svg/SVGLineElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGPathElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGPolyElement.cpp:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        * ksvg2/svg/SVGRectElement.cpp:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGScriptElement.cpp:
        * ksvg2/svg/SVGStopElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGSwitchElement.cpp:
        * ksvg2/svg/SVGTests.cpp:
        * ksvg2/svg/SVGTextContentElement.cpp:
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        * ksvg2/svg/SVGTransformable.cpp:
        * ksvg2/svg/SVGURIReference.cpp:
        * ksvg2/svg/SVGUseElement.cpp:
        * ksvg2/svg/SVGViewElement.cpp:
        * ksvg2/svg/SVGZoomAndPan.cpp:
        * kwq/WebCoreTextArea.mm:
        * platform/Widget.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderCanvas.cpp:
        * rendering/RenderContainer.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTextField.cpp:
        * rendering/RenderThemeMac.mm:
        * rendering/bidi.cpp:
        * rendering/render_replaced.cpp:

2006-03-25  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix RenderStyle creation to avoid floating RenderStyle objects.
        This also fixes a bug, were SVG to ever start sharing RenderStyles
        between elements, code would have crashed as there were improperly
        paired style->deref() statements in SVG code.
        http://bugs.webkit.org/show_bug.cgi?id=7976

        No test possible (no functionality change).

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::createStyleForElement):
        (WebCore::CSSStyleSelector::createPseudoStyleForElement):
        * css/cssstyleselector.h:
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
        (WebCore::Node::createStyleForRenderer):
        * dom/Node.h:
        * dom/dom_elementimpl.cpp:
        (WebCore::Element::createStyleForRenderer):
        (WebCore::Element::recalcStyle):
        * dom/dom_elementimpl.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::rebuildStops):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject):
        (WebCore::RenderObject::RenderObject):
        (WebCore::selectStartNode):
        (WebCore::RenderObject::draggableNode):
        (WebCore::RenderObject::getPseudoStyle):

2006-03-23  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Shave .2% on PLT by removing bogus strcmp.
        http://bugs.webkit.org/show_bug.cgi?id=7938

        Test: fast/parser/tag-with-exclamation-point.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp

2006-03-25  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=7683>
        TinyMCE: execCommand("Unlink") unimplemented
        
        Added code to push partially selected anchor elements down before 
        creating or removing links to create fully selected chunks that can be removed.
        Changed __create_link_command_h__ to CreateLinkCommand_h
        Gave styled element application/removal its own ApplyStyleCommand constructor.
        Still need to add new EditActions (7974).
        
        * WebCore.xcodeproj/project.pbxproj:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/ApplyStyleCommand.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::applyStyle):
        (WebCore::CompositeEditCommand::applyStyledElement):
        (WebCore::CompositeEditCommand::removeStyledElement):
        (WebCore::enclosingAnchorElement):
        (WebCore::CompositeEditCommand::pushAnchorElementDown):
        (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
        * editing/CompositeEditCommand.h:
        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply):
        * editing/CreateLinkCommand.h:
        * editing/JSEditor.cpp:
        * editing/Selection.cpp:
        (WebCore::Selection::selectionFromContentsOfNode):
        * editing/Selection.h:
        * editing/UnlinkCommand.cpp: Added.
        (WebCore::UnlinkCommand::UnlinkCommand):
        (WebCore::UnlinkCommand::doApply):
        * editing/UnlinkCommand.h: Added.
        * page/Frame.cpp:
        (WebCore::Frame::selectContentsOfNode):
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::applyStyle):
        (WebCore::Frame::applyParagraphStyle):

2006-03-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=7955>
        REGRESSION: Content with an interchange newline lost when pasted at the end of the document
        
        There's no safe place in the document to keep the fragment while pasting, so I avoid
        isProbablyBlock by saving whether or not something was blockFlow during the test 
        insertion.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplacementFragment::~ReplacementFragment):
        (WebCore::ReplacementFragment::firstChild):
        (WebCore::ReplacementFragment::lastChild):
        (WebCore::ReplacementFragment::mergeStartNode):
        (WebCore::ReplacementFragment::enclosingBlock):
        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
        (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment):
        (WebCore::ReplacementFragment::isBlockFlow):
        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
        (WebCore::styleForNode):
        (WebCore::ReplacementFragment::saveRenderingInfo):
        (WebCore::ReplacementFragment::removeUnrenderedNodes):
        (WebCore::ReplacementFragment::renderedBlocks):
        (WebCore::ReplacementFragment::removeStyleNodes):
        (WebCore::RenderingInfo::RenderingInfo):
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::RenderingInfo::isBlockFlow):
        (WebCore::ReplacementFragment::renderingInfo):
        (WebCore::ReplacementFragment::nodes):
        
2006-03-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by justing.

        * generate-derived-sources: fix clean builds on mac.
        
2006-03-24  Darin Adler  <darin@apple.com>

        Reviewed by Dave Harrison.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7942
          nightlies after r13387 break js createcontextualfragment

        Test: fast/dom/Range/create-contextual-fragment.html

        * dom/Range.idl: Add createContextualFragment.

2006-03-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix win32 build.
        Unify mac/win dependency handling.
        Fix class vs. struct linker problem for win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add DerivedSources
        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * bridge/win/BrowserExtensionWin.h:
        * bridge/win/FrameWin.h:
        * generate-derived-sources:
        * kwq/AccessibilityObjectCache.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::createGraphicsContextPrivate):
        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/mac/GraphicsContextMac.mm:
        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::selectedText):
        (FrameWin::createPlugin):
        (BrowserExtensionWin::setTypedIconURL):

2006-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix <rdar://problem/4484787> KWQAccObject dangles under GC

        * kwq/AccessibilityObjectCache.h: Moved AccessibilityObjectCache into the WebCore
        namespace. Renamed accObject to get, removed setAccObject, renamed removeAccObject
        to remove, removed getAccObjectID, renamed removeAXObjectID to removeAXID, change
        from CF dictionaries to HashMap and HashSet.
        * kwq/AccessibilityObjectCache.mm:
        (WebCore::AccessibilityObjectCache::~AccessibilityObjectCache): Detach all objects
        and call CFRelease on all of them.
        (WebCore::AccessibilityObjectCache::get): Call CFRetain on objects before putting
        them in the HashMap, rather than assuming that retain == CFRetain. This is what
        fixes the GC issue.
        (WebCore::AccessibilityObjectCache::remove): Detach and call CFRelease when removing.
        (WebCore::AccessibilityObjectCache::getAXID): Change to use a single global variable
        for the AXIDs, which makes it so we won't reuse the same AXID as much as we did before.
        (WebCore::AccessibilityObjectCache::removeAXID): Updated to use HashSet.
        (WebCore::AccessibilityObjectCache::textMarkerForVisiblePosition): Updated for other changes.
        (WebCore::AccessibilityObjectCache::visiblePositionForTextMarker): Ditto.
        (WebCore::AccessibilityObjectCache::childrenChanged): Ditto.
        (WebCore::AccessibilityObjectCache::postNotificationToTopWebArea): Ditto.
        (WebCore::AccessibilityObjectCache::postNotification): Ditto.

        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]):
        Change to use functions by new names.

        * dom/Document.h: AccessibilityObjectCache is now in the WebCore namespace.
        getAccObjectCache and ownerElement are const member functions, and m_accCache
        is a mutable data member.
        * dom/Document.cpp:
        (WebCore::Document::getAccObjectCache): Make const.
        (WebCore::Document::ownerElement): Make const.

        * kwq/WebCoreAXObject.h: Changed WebCoreAXID to WebCore::AXID.
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject anchorElement]): Update for function name change.
        (-[WebCoreAXObject firstChild]): Ditto.
        (-[WebCoreAXObject lastChild]): Ditto.
        (-[WebCoreAXObject previousSibling]): Ditto.
        (-[WebCoreAXObject nextSibling]): Ditto.
        (-[WebCoreAXObject parentObject]): Ditto.
        (-[WebCoreAXObject accessibilityAttributeValue:]): Ditto.
        (-[WebCoreAXObject doAXUIElementForTextMarker:]): Ditto.
        (AXLinkElementForNode): Ditto.
        (AXAttributedStringAppendReplaced): Ditto.
        (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
        (-[WebCoreAXObject _accessibilityParentForSubview:]): Ditto.
        (-[WebCoreAXObject accessibilityFocusedUIElement]): Ditto.
        (-[WebCoreAXObject axObjectID]): Change field name to m_id.
        (-[WebCoreAXObject setAXObjectID:]): Ditto.
        (-[WebCoreAXObject removeAXObjectID]): Ditto.

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode): Remove ifdefs.
        (WebCore::RenderContainer::appendChildNode): Ditto.
        (WebCore::RenderContainer::insertChildNode): Ditto.
        * rendering/RenderObject.cpp: (WebCore::RenderObject::remove): Ditto.

2006-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7726
          REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing)

        Test: fast/js/function-names.html

        * dom/Document.h: Add function name parameter to createHTMLEventListener.
        * dom/Document.cpp:
        (WebCore::Document::createHTMLEventListener): Pass function name when calling
        createHTMLEventHandler.
        (WebCore::Document::setHTMLWindowEventListener): Pass attribute name as function name
        when calling createHTMLEventListener.

        * html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute
        name as function name when calling createHTMLEventListener.

        * khtml/ecma/kjs_events.h: Add a function name parameter to JSLazyEventListener.
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::JSLazyEventListener): Take and store a function name.
        (KJS::JSLazyEventListener::parseCode): Pass function name when constructing the function.

        * khtml/ecma/kjs_proxy.h: Add a function name parameter to createHTMLEventHandler and
        createSVGEventHandler.
        * khtml/ecma/kjs_proxy.cpp:
        (WebCore::KJSProxy::createHTMLEventHandler): Pass function name when creating
        a JSLazyEventListener.
        (WebCore::KJSProxy::createSVGEventHandler): Ditto.

        * ksvg2/events/JSSVGLazyEventListener.h: Add a function name parameter to
        JSSVGLazyEventListener.
        * ksvg2/events/JSSVGLazyEventListener.cpp:
        (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): Pass the function name
        on to the base class constructor.

        * ksvg2/misc/SVGDocumentExtensions.h: Add function name parameter to createSVGEventListener.
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::createSVGEventListener): Pass function name when
        calling createSVGEventHandler.

        * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener):
        * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::addSVGWindowEventListner):
        Pass attribute name as function name when calling createSVGEventListener.

        * WebCore.xcodeproj/project.pbxproj: Moved generation script to the top.

2006-03-23  Tim Omernick  <timo@apple.com>

        Reviewed by Darin.

        <http://bugs.webkit.org/show_bug.cgi?id=7691>
        REGRESSION: imdb.com search button looks wrong because "Submit" is drawn

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::valueWithDefault):
        Only use the default button title if no title was specified; previously we'd use the default
        button title if the specified title was empty, which is not what Firefox does.
        
2006-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Beth.

        - fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored

        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
        For max-height of none, set it to Length(undefinedLength, Fixed), which
        is the correct value (same as the default). Also did some formatting fixes
        to the height section.

2006-03-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6431 
        REGRESSION: style change where :hover changes only an :after style 
        doesn't work

        * dom/Node.cpp:
        (WebCore::Node::diff): Need to call diff() on the before and after 
        styles if we have them.

2006-03-23  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7935
        <rdar://problem/4489010>
        Infinite recursion in table code when button or new text fields get display:table-row

        Test:
        fast/forms/button-table-styles.html

        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
        The theme should disallow table display styles form elements. 

2006-03-23  Darin Adler  <darin@apple.com>

        * generate-derived-sources: Tweaked formatting a tiny bit and removed a stray
        touch that was left in here.

2006-03-23  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        REGRESSION: Dashed borders paint with the wrong phase
        http://bugs.webkit.org/show_bug.cgi?id=7879

        Test: Already covered by css1/box_properties/border_style.html

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLine):
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLine):

2006-03-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.
        
        * generate-derived-sources: Suppress warning.

2006-03-22  Maciej Stachowiak  <mjs@apple.com>

        * generate-derived-sources: Added svn:executable property.

2006-03-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.
        
        Handle dependencies for derived sources properly.

        - Made a new generate-derived-sources script that does all the dependency checking
        and source generation.
        - Put this script in a subtarget instead of a phase.
        - Made derived sources go in the build root, not a source root.
        - Added derived sources to the project.
        - Removed files whose sole purpose was to include and compile derived sources,
        just compile those directly now.
        - Tweaked the IDL code generator so it can handle one IDL at a time, to make
        it easier to get the dependencies right.
        
        * generate-derived-sources: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMCore.cpp: Removed.
        * bindings/js/JSDOMEvents.cpp: Removed.
        * bindings/js/JSDOMHTML.cpp: Removed.
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/generate-bindings.pl:
        * css/UserAgentStyleSheets.cpp: Removed.
        * dom/Range.cpp:
        (WebCore::Range::~Range):
        * dom/Range.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMStyleSheet::DOMStyleSheet):
        (KJS::DOMStyleSheetList::DOMStyleSheetList):
        (KJS::DOMCSSRuleList::DOMCSSRuleList):
        (KJS::DOMCSSRule::DOMCSSRule):
        * khtml/ecma/kjs_css.h:

2006-03-22  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=7904>
        Avoid a layout after test insertion and remove isProbablyBlock

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplacementFragment::~ReplacementFragment):
        (WebCore::ReplacementFragment::firstChild):
        (WebCore::ReplacementFragment::lastChild):
        (WebCore::ReplacementFragment::mergeStartNode):
        (WebCore::ReplacementFragment::enclosingBlock):
        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
        (WebCore::ReplacementFragment::computeAndStoreNodeStyles):
        (WebCore::ReplacementFragment::removeUnrenderedNodes):
        (WebCore::ReplacementFragment::renderedBlocks):
        (WebCore::ReplacementFragment::removeStyleNodes):
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::ReplacementFragment::root):

2006-03-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix attribute mutation events to not fire for "style" attributes.
        We lazily update style attributes, so sending mutation events for them makes no sense anymore.
        <rdar://problem/4474910> repro assertion failure @ apple.com/store: !eventDispatchForbidden()

        Test: fast/events/delayed-style-mutation-event-crash.html

        * dom/dom_elementimpl.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent): add assert
        (WebCore::Element::dispatchAttrAdditionEvent): add assert
        (WebCore::NamedAttrMap::addAttribute):

2006-03-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Remove more DeprecatedString usage.
        http://bugs.webkit.org/show_bug.cgi?id=7882

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString):
        (WebCore::FrameMac::fontForSelection):
        (WebCore::FrameMac::tokenizerProcessedData):
        (WebCore::FrameMac::registerCommandForUndoOrRedo):
        (WebCore::FrameMac::markMisspellings):
        (WebCore::FrameMac::respondToChangedSelection):
        (WebCore::FrameMac::dashboardRegionsDictionary):
        (WebCore::FrameMac::dragSourceMovedTo):
        * css/CSSGrammar.y:
        * css/css_valueimpl.h:
        * css/cssparser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::parseShorthand):
        (WebCore::CSSParser::parseContent):
        (WebCore::skipCommaInDashboardRegion):
        (WebCore::CSSParser::parseDashboardRegions):
        (WebCore::CSSParser::parseShape):
        (WebCore::CSSParser::parseFont):
        (WebCore::CSSParser::parseFontFamily):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::yyerror):
        (WebCore::CSSParser::lex):
        (WebCore::CSSParser::text):
        * css/cssparser.h:
        (WebCore::deprecatedString):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocument::getValueProperty):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::parseMappedAttribute):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutPositionedObjects):
        (WebCore::RenderBlock::positionNewFloats):
        (WebCore::RenderBlock::newLine):
        * rendering/RenderCanvas.cpp:
        (WebCore::RenderCanvas::absolutePosition):
        (WebCore::RenderCanvas::paint):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderObject.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::bidiReorderLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/render_form.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/render_style.h:
        (WebCore::RenderStyle::setDashboardRegion):
        * rendering/table_layout.cpp:
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::insertSpanCell):
        (WebCore::AutoTableLayout::layout):
        (WebCore::AutoTableLayout::calcPercentages):

2006-03-22  Tim Omernick  <timo@apple.com>

        Reviewed by Kevin Decker.

        Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/)
        This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        Removed redirectionTimerFired().  This was added as attempt to fix <http://bugs.webkit.org/show_bug.cgi?id=7058>.  The
        aim was to cause Safari and WebKit to update their loading status after a redirect.  Unfortunately, the fix had a bad side
        effect.  Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed
        to lock history (i.e. reuse the current back/forward entry for the new page).  The end result was that intermediate "quick" redirects
        were creating back/forward entries when they should not have been.  See 4351664.  That fix was almost correct, in that we do need to
        notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled.  However, this is the
        wrong place to do it.  WebCore's redirect notification logic did not need to change to fix 7058.  The never-ending spinning indicators
        problem was actually caused by a bug at the WebKit level.

        * manual-tests/redirectHistory: Added.
        * manual-tests/redirectHistory/redir-1.html: Added.
        * manual-tests/redirectHistory/redir-2.html: Added.
        * manual-tests/redirectHistory/redir-3.html: Added.
        Manual test case.  I couldn't figure out how to create a layout test for this, because it involves navigation through history and
        it was unclear how/when to tell DumpRenderTree to dump its output.

2006-03-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Replace more DeprecatedString with String.
        http://bugs.webkit.org/show_bug.cgi?id=7907

        * WebCore+SVG/kdom.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::setTypedIconURL):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::searchForLabelsBeforeElement):
        (WebCore::nsArray):
        (WebCore::FrameMac::createPlugin):
        (WebCore::FrameMac::bindingRootObject):
        (WebCore::FrameMac::windowScriptObject):
        (WebCore::FrameMac::windowScriptNPObject):
        (WebCore::FrameMac::partClearedInBegin):
        (WebCore::FrameMac::openURLFromPageCache):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
        (-[WebCoreFrameBridge scrollToAnchor:]):
        (-[WebCoreFrameBridge URLWithAttributeString:]):
        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings _updateAllViews]):
        (-[WebCoreSettings setStandardFontFamily:]):
        (-[WebCoreSettings setMinimumFontSize:]):
        (-[WebCoreSettings setMinimumLogicalFontSize:]):
        (-[WebCoreSettings setDefaultFontSize:]):
        (-[WebCoreSettings setDefaultFixedFontSize:]):
        (-[WebCoreSettings setUserStyleSheetLocation:]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSGrammar.y:
        * css/css_stylesheetimpl.cpp:
        (WebCore::MediaList::setMediaText):
        * css/css_valueimpl.cpp:
        (WebCore::quoteStringIfNeeded):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColor):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        * css/cssstyleselector.h:
        * dom/Document.cpp:
        (WebCore::Document::resetActiveLinkColor):
        (WebCore::Document::nextState):
        (WebCore::Document::setUserStyleSheet):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        (WebCore::Document::userStyleSheet):
        (WebCore::Document::setPrintStyleSheet):
        (WebCore::Document::printStyleSheet):
        * editing/markup.cpp:
        (WebCore::createMarkup):
        (WebCore::createFragmentFromMarkup):
        (WebCore::createFragmentFromText):
        * editing/markup.h:
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        * html/html_baseimpl.cpp:
        (WebCore::HTMLFrameElement::openURL):
        (WebCore::HTMLFrameElement::attach):
        * html/html_headimpl.cpp:
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::setStyleSheet):
        * html/html_headimpl.h:
        * html/html_imageimpl.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute):
        * html/html_imageimpl.h:
        (WebCore::HTMLImageElement::compositeOperator):
        * html/html_objectimpl.cpp:
        (WebCore::HTMLAppletElement::createRenderer):
        * ksvg2/svg/SVGStringList.cpp:
        (SVGStringList::reset):
        * kwq/AccessibilityObjectCache.h:
        * kwq/AccessibilityObjectCache.mm:
        (AccessibilityObjectCache::textMarkerForVisiblePosition):
        (AccessibilityObjectCache::postNotificationToTopWebArea):
        (AccessibilityObjectCache::postNotification):
        * kwq/ClipboardMac.mm:
        (WebCore::cocoaTypeFromMIMEType):
        * kwq/KWQKHTMLSettings.h:
        (KHTMLSettings::userStyleSheetLocation):
        (KHTMLSettings::setUserStyleSheetLocation):
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        (QLineEdit::selectedText):
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::ref):
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::setStyleSheet):
        (WebCore::Frame::jScriptEnabled):
        (WebCore::Frame::javaEnabled):
        (WebCore::Frame::pluginsEnabled):
        (WebCore::Frame::receivedFirstData):
        (WebCore::Frame::begin):
        (WebCore::Frame::setUserStyleSheet):
        (WebCore::Frame::requestObject):
        (WebCore::Frame::loadPlugin):
        (WebCore::Frame::referrer):
        (WebCore::Frame::lastModified):
        (WebCore::Frame::reparseConfiguration):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::appliedEditing):
        (WebCore::Frame::unappliedEditing):
        (WebCore::Frame::reappliedEditing):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * platform/AtomicString.h:
        (WebCore::AtomicString::AtomicString):
        * platform/DeprecatedString.cpp:
        (DeprecatedString::replace):
        * platform/GraphicsContext.h:
        * platform/Image.h:
        * platform/KURL.cpp:
        * platform/KURL.h:
        * platform/PlatformString.h:
        (WebCore::String::String):
        (WebCore::String::replace):
        * platform/String.cpp:
        (WebCore::operator+):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::remove):
        (WebCore::parseLength):
        (WebCore::StringImpl::replace):
        * platform/StringImpl.h:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::setCompositeOperation):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/render_form.cpp:
        (WebCore::RenderSelect::updateFromElement):
        * rendering/render_frames.cpp:
        (WebCore::isURLAllowed):
        (WebCore::mapClassIdToServiceType):
        (WebCore::RenderPartObject::updateWidget):
        * rendering/render_style.h:
        (WebCore::RenderStyle::setDashboardRegion):
        * xml/xmlhttprequest.cpp:
        (WebCore::getCharset):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::overrideMIMEType):

2006-03-22  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

        Fix for <rdar://problem/4471984> repro crash CSS position for html/
        table=relative causes crash when hiding table

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): If an object is 
        positioned, relatively positioned, or transparent, it should always 
        have auto indexing. Auto z-index for the root should always be 0.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::removeChild): This is not part of the bug 
        fix; just using a local variable that was created for the stacking 
        context instead of recalculating it.

2006-03-22  David Hyatt  <hyatt@apple.com>

        Fix for residual style problem where form elements lose their connection
        to a degenerate table form because of a residual style fixup.  This is
        Radar bug #4330765.

        Reviewed by eric

        * khtml/html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement):
        * khtml/html/HTMLFormElement.h:
        (WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove):
        (WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove):
        * khtml/html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::removedFromTree):
        * khtml/html/htmlparser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):

2006-03-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7747
          REGRESSION: Background tab/window auto-refresh in GMail will take focus.

        * manual-tests/named-window-blank-target.html: Added.
        * manual-tests/resources/named-window-blank-target-step2.html: Added.
        * manual-tests/resources/named-window-blank-target-step3.html: Added.
        * manual-tests/resources/named-window-blank-target-step4.html: Added.
        * page/FrameTree.cpp:
        (WebCore::FrameTree::find): If the given name is empty, just return our frame,
        even if it has a name.

2006-03-22  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7143
          <rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143)

        Test: fast/dom/Element/onclick-case.html

        We discussed this with Maciej. In the long run we may need to remove the "all attributes
        show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's
        not really the same thing IE does either.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
        (KJS::DOMElement::getOwnPropertySlot): Ditto.

2006-03-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by beth.

        <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message

        No test possible.

        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings init]): call AtomicString::init()

2006-03-21  Darin Adler  <darin@apple.com>

        - fix buildbot (and everyone else)

        * bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function,
        and Xcode doesn't know this needs recompiling.
        * bindings/js/JSDOMEvents.cpp: Ditto.
        * bindings/js/JSDOMHTML.cpp: Ditto.

2006-03-21  Justin Haygood and Bjoern Graf  <jhaygood@spsu.edu> <bjoern.graf@gmail.com>

        Reviewed by Eric and Darin.

        - get Windows building again

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::userAgent):
        * bridge/win/FrameWin.h:
        * platform/GraphicsContext.h:
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::supportsType):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::mimeTypeForFileName):
        (FrameWin::objectContentType):
        (FrameWin::createPlugin):
        (FrameWin::overrideMediaType):
        (FrameWin::passSubframeEventToSubframe):
        (FrameWin::createFrame):
        (FrameWin::incomingReferrer):

2006-03-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7884
          REGRESSION: Selecting a custom style sheet crashes 20/3 nightly

        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function
        that sets the stylesheet URL, passing it the actual stylesheet.
        (WebCore::Frame::begin):
        (WebCore::Frame::setUserStyleSheetLocation): Renamed the version of
        setUserStyleSheet() that takes a URL to this.
        (WebCore::Frame::reparseConfiguration):
        * page/Frame.h:

2006-03-21  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fix for
        http://bugs.webkit.org/show_bug.cgi?id=6813
        elementAtPoint needs to return input element when clicking on new text field
        http://bugs.webkit.org/show_bug.cgi?id=7799
        New text fields don't respect the disabled attribute

        - Tests:
        fast/forms/input-appearance-disabled.html
        fast/forms/input-appearance-elementFromPoint.html
        fast/forms/input-appearance-preventDefault.html

        * bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint.
        (-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content.
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter.

        * dom/Node.h:
        (WebCore::Node::isShadowNode): Added.
        (WebCore::Node::shadowParentNode): Added.
        * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added.  If an ancestor is a shadow node, return its shadow parent node.
        * html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added.

        * dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable.  This works for the
        old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets.  That's not needed for the new form
        elements.
        (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.

        * page/FrameView.cpp:
        (WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode.
        (WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode.
        (WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode.

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
        * rendering/RenderTextField.h: Added forwardEvent method.

        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityHitTest:]): Gets the  shadowAncestorNode (so we get the input element, and not the inner div).
        (-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit.
        (-[WebCoreAXObject roleDescription]): Gets the right description for text fields.

2006-03-21  Darin Adler  <darin@apple.com>

        Reviewed by Tim O.

        - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT

        Test: fast/html/listing.html

        * html/HTMLNames.h: Add listing tag.

        * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
        * css/html4.css:
        * editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleNonTextNode):
        (WebCore::TextIterator::exitNode):
        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::createMarkup):
        * html/HTMLElement.cpp: (WebCore::blockTagList):
        * html/HTMLElementFactory.cpp:
        (WebCore::addTag):
        (WebCore::createFunctionMap):
        (WebCore::HTMLElementFactory::createHTMLElement):
        * html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
        * khtml/ecma/kjs_html.cpp:
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        Add listing tags everywhere pre tags are listed.

2006-03-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        - fix horrible build fallout from my attr fix

        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        * bindings/js/JSDOMCore.cpp:
        * bindings/js/JSDOMEvents.cpp:
        * bindings/js/JSDOMHTML.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:

2006-03-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7223 
        Reproducible crash when tabbing to a frame that has not been loaded

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't 
        have a widget, skip it in the focus loop.

2006-03-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix a unsafe static cast causing intermittent crashes.
        <rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45)

        Test: fast/dom/NodeList/item-by-id-with-no-document.html

        * dom/NodeList.cpp:
        (WebCore::NodeList::itemById): fix unsafe static cast.

2006-03-20  Maciej Stachowiak  <mjs@apple.com>

        - touch this file in hopes of fixing build

        * bindings/js/JSDOMCore.cpp:

2006-03-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.
        
        - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem

        * bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method
        arguments. For now only use it for parameters of type Attr.
        * dom/Element.idl: Arbitrary change to make it regenerate.
        * dom/dom_elementimpl.cpp:
        (WebCore::Element::setAttributeNode): ASSERT that attr is not null
        * khtml/ecma/kjs_dom.cpp:
        (KJS::toAttr): add bool ok parameter
        * khtml/ecma/kjs_dom.h:

2006-03-20  Eric Seidel  <eseidel@apple.com>

        * ksvg2/css/SVGCSSParser.h: Removed unused file.

2006-03-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix tokenizer crash when document.open() is called from an external script:
        <rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818)

        * dom/Document.cpp:
        (WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script
        * dom/xml_tokenizer.h:
        (WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing.
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var.
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::executingScript):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup.

2006-03-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <rdar://problem/3997958> 
        REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode

        * dom/Position.cpp:
        (WebCore::Position::upstream): Avoid calling previous() when we know that 
        it will 1) end the search and 2) be expensive to compute.
        (WebCore::Position::downstream): Removed some dead code.
        (WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
        * dom/Position.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose
        the one that occurs first in document order.  Using upstream() to find the one that occurs first is
        much faster than the old code.

2006-03-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by adele & ggaren.

        Added new cachePluginDataIfNecessary function to update
        plugins and mimes arrays.  Made sure to call this in
        constructor as well as refresh.  The crash was caused by
        a refresh rendering a "plugins" object invalid.
        Changed existing test case to depend on this new correct behavior.
        
        <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24

        * khtml/ecma/kjs_navigator.cpp:
        (KJS::PluginBase::cachePluginDataIfNecessary):
        (KJS::PluginBase::PluginBase):
        (KJS::PluginBase::~PluginBase):
        (KJS::PluginBase::refresh):

2006-03-20  Adele Peterson  <adele@apple.com>

        Reviewed by Justin.

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
        When calculating the VisiblePosition for the first position in the text field, it
        makes more sense for the position to have a downstream affinity.

2006-03-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adele.
        
        <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
        as well as bubbling ones on the target.

2006-03-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.
        
        <rdar://problem/4458568> WebCore should not disclose https referrers

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
        Don't send https URLs as referrers to non-secure http sites.

2006-03-20  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - http://bugs.webkit.org/show_bug.cgi?id=7867
          get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString

        * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
        and qstring().

        * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
        namespace for SVG names.
        * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
        recompiling, since they are in a different namespace now.

        * ForwardingHeaders/kjs/identifier.h: Added.

        * dom/PlatformWheelEvent.idl: Removed.
        * dom/WheelEvent.idl: Added. This file was renamed by accident.

        * bindings/js/JSDOMCore.cpp:
        * bindings/js/JSDOMEvents.cpp:
        * bindings/js/JSDOMHTML.cpp:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationEvent.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * html/CanvasGradient.idl:
        * html/CanvasPattern.idl:
        * html/CanvasRenderingContext2D.idl:
        Touched, to get CodeGeneratorJS.pm changes to take effect.
 
        * css/CSSGrammar.y:
        * css/css_valueimpl.cpp: (WebCore::propertyID):
        Changed calls to get CSS property values to use an explicit SVG:: namespace,
        to match what the script writes out.

        * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.

        * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
          props: Made this compile with warnings and strict turned on.
        Really just a trick to get properties to recompile, which turned out to be unneeded.
        * ksvg2/scripts/cssmakevalues: Ditto.

        * ksvg2/svg/SVGAElement.cpp:
        (SVGAElement::parseMappedAttribute):
        (SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (SVGAnimateTransformElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::parseMappedAttribute):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::parseMappedAttribute):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::parseMappedAttribute):
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        (SVGExternalResourcesRequired::parseMappedAttribute):
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (SVGFEBlendElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (SVGFEComponentTransferElement::parseMappedAttribute):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (SVGFEDisplacementMapElement::stringToChannel):
        (SVGFEDisplacementMapElement::parseMappedAttribute):
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (SVGFEImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGFELightElement.cpp:
        (SVGFELightElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        (SVGFEMergeNodeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::parseMappedAttribute):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETileElement.cpp:
        (SVGFETileElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (SVGFETurbulenceElement::parseMappedAttribute):
        * ksvg2/svg/SVGFilterElement.cpp:
        (SVGFilterElement::parseMappedAttribute):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::parseMappedAttribute):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::parseMappedAttribute):
        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::parseMappedAttribute):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::parseMappedAttribute):
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGViewElement.cpp:
        (SVGViewElement::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (SVGZoomAndPan::parseMappedAttribute):
        Changed code that converts an AtomicString to a String to do it in a
        more-efficient fashion that works even with all the new conversions.

        * page/Frame.cpp:
        (WebCore::getString): Removed unneeded .deprecatedString().
        (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.

        * platform/AtomicString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/AtomicString.cpp:
        (WebCore::AtomicString::add): Added overloads for Identifier and UString.
        (WebCore::AtomicString::operator Identifier): Added.
        (WebCore::AtomicString::operator UString): Added.

        * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/DeprecatedString.cpp:
        (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
        (DeprecatedString::operator Identifier): Added.
        (DeprecatedString::operator UString): Added.

        * platform/PlatformString.h: Added conversion to and from KJS::Identifier
        and KJS::UString.
        * platform/String.cpp:
        (WebCore::String::String): Added overloads for Identifier and UString.
        (WebCore::String::operator Identifier): Added.
        (WebCore::String::operator UString): Added.

        * platform/StringImpl.h: Added constructors that take KJS::Identifier
        and KJS::UString
        * platform/StringImpl.cpp:
        (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
        instead because of ambiguity with KJS::UChar.
        (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.

        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        (WebCore::toHTMLCanvasStyle):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue):
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::toString):
        * khtml/ecma/JSDOMParser.cpp:
        (KJS::DOMParserProtoFunc::callAsFunction):
        * khtml/ecma/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        * khtml/ecma/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/kjs_binding.cpp:
        (KJS::valueToStringWithNullCheck):
        * khtml/ecma/kjs_css.cpp:
        (KJS::cssPropertyName):
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        (KJS::DOMStyleSheetList::nameGetter):
        (KJS::DOMStyleSheetList::getOwnPropertySlot):
        (KJS::DOMMediaList::put):
        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
        (KJS::DOMCSSRule::putValueProperty):
        (KJS::DOMCSSRuleFunc::callAsFunction):
        (KJS::DOMCSSValue::put):
        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNode::toString):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMDocument::putValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::attributeGetter):
        (KJS::DOMElement::getOwnPropertySlot):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEventProtoFunc::callAsFunction):
        (KJS::DOMUIEventProtoFunc::callAsFunction):
        (KJS::DOMMouseEventProtoFunc::callAsFunction):
        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
        (KJS::Clipboard::putValueProperty):
        (KJS::ClipboardProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocFunction::callAsFunction):
        (KJS::JSHTMLDocument::namedItemGetter):
        (KJS::JSHTMLDocument::getOwnPropertySlot):
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::framesetNameGetter):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::putValueProperty):
        (KJS::JSHTMLCollection::callAsFunction):
        (KJS::JSHTMLCollection::getNamedItems):
        (KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::OptionConstructorImp::construct):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Plugins::nameGetter):
        (KJS::Plugins::getOwnPropertySlot):
        (KJS::MimeTypes::nameGetter):
        (KJS::MimeTypes::getOwnPropertySlot):
        (KJS::Plugin::nameGetter):
        (KJS::Plugin::getOwnPropertySlot):
        * khtml/ecma/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRangeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_window.cpp:
        (KJS::parseModalDialogFeatures):
        (KJS::showModalDialog):
        (KJS::Window::childFrameGetter):
        (KJS::Window::namedFrameGetter):
        (KJS::Window::namedItemGetter):
        (KJS::Window::getOwnPropertySlot):
        (KJS::Window::put):
        (KJS::WindowFunc::callAsFunction):
        (KJS::ScheduledAction::execute):
        (KJS::Window::installTimeout):
        (KJS::FrameArray::nameGetter):
        (KJS::FrameArray::getOwnPropertySlot):
        (KJS::Location::put):
        (KJS::LocationFunc::callAsFunction):
        (KJS::SelectionFunc::callAsFunction):
        Removed explicit calls to domString(), sometimes replacing with explicit calls to the
        String() constructor. Other similar changes for AtomicString and DeprecatedString use.

2006-03-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Remove many, many uses of DeprecatedString.
        Fix various style issues throughout the touched code.

        * bindings/objc/DOM.mm:
        (-[DOMRange _text]):
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        (WebCore::FrameMac::bridge):
        (WebCore::FrameMac::markedTextRange):
        (WebCore::Mac):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::searchForLabelsAboveCell):
        (WebCore::FrameMac::searchForLabelsBeforeElement):
        (WebCore::FrameMac::matchLabelsAgainstElement):
        (WebCore::FrameMac::findString):
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::urlSelected):
        (WebCore::FrameMac::objectContentType):
        (WebCore::FrameMac::createPlugin):
        (WebCore::FrameMac::createFrame):
        (WebCore::FrameMac::setTitle):
        (WebCore::FrameMac::setStatusBarText):
        (WebCore::FrameMac::advanceToNextMisspelling):
        (WebCore::FrameMac::userAgent):
        (WebCore::FrameMac::mimeTypeForFileName):
        (WebCore::FrameMac::openURLFromPageCache):
        (WebCore::FrameMac::incomingReferrer):
        (WebCore::FrameMac::attributedString):
        (WebCore::FrameMac::overrideMediaType):
        (WebCore::FrameMac::shouldClose):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge _documentTypeString]):
        (-[WebCoreFrameBridge selectedString]):
        (-[WebCoreFrameBridge stringForRange:]):
        (-[WebCoreFrameBridge advanceToNextMisspelling]):
        (-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]):
        (-[WebCoreFrameBridge domain]):
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setStandardFontFamily:]):
        (-[WebCoreSettings setFixedFontFamily:]):
        (-[WebCoreSettings setSerifFontFamily:]):
        (-[WebCoreSettings setSansSerifFontFamily:]):
        (-[WebCoreSettings setCursiveFontFamily:]):
        (-[WebCoreSettings setFantasyFontFamily:]):
        (-[WebCoreSettings setUserStyleSheetLocation:]):
        (-[WebCoreSettings setDefaultTextEncoding:]):
        * css/css_valueimpl.cpp:
        (WebCore::quoteStringIfNeeded):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::setEncodedURL):
        (WebCore::cleanpath):
        (WebCore::checkPseudoState):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::convertToLength):
        (WebCore::colorForCSSValue):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * css/cssstyleselector.h:
        * dom/CDATASection.cpp:
        (WebCore::CDATASection::toString):
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * dom/Document.h:
        (WebCore::Document::baseTarget):
        (WebCore::Document::setBaseTarget):
        * dom/dom_elementimpl.cpp:
        (WebCore::Element::openTagStartToString):
        * dom/xml_tokenizer.cpp:
        (WebCore::handleElementAttributes):
        (WebCore::XMLTokenizer::startElementNs):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::type):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::TextIterator::handleNonTextNode):
        (WebCore::TextIterator::exitNode):
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
        (WebCore::CharacterIterator::advance):
        (WebCore::WordAwareIterator::advance):
        (WebCore::WordAwareIterator::length):
        (WebCore::WordAwareIterator::characters):
        (WebCore::CircularSearchBuffer::CircularSearchBuffer):
        (WebCore::CircularSearchBuffer::append):
        (WebCore::TextIterator::rangeFromLocationAndLength):
        (WebCore::findPlainText):
        * editing/TextIterator.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        * khtml/ecma/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Location::getValueProperty):
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::strokePaintServer):
        * ksvg2/svg/SVGAngle.cpp:
        (SVGAngle::calculate):
        (SVGAngle::setValueAsString):
        (SVGAngle::valueAsString):
        (SVGAngle::convertToSpecifiedUnits):
        (SVGAngle::shortestArcBisector):
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::targetElement):
        (SVGAnimationElement::parseMappedAttribute):
        (SVGAnimationElement::parseClockValue):
        (SVGAnimationElement::targetAttribute):
        (SVGAnimationElement::setTargetAttribute):
        (SVGAnimationElement::detectAnimationMode):
        (SVGAnimationElement::calculateCurrentValueItem):
        (SVGAnimationElement::calculateRelativeTimePercentage):
        * ksvg2/svg/SVGColor.cpp:
        (SVGColor::setRGBColor):
        * ksvg2/svg/SVGDOMImplementation.cpp:
        (svgFeatureSet):
        (SVGDOMImplementation::self):
        (SVGDOMImplementation::hasFeature):
        (SVGDOMImplementation::createDocumentType):
        (SVGDOMImplementation::createDocument):
        * ksvg2/svg/SVGDOMImplementation.h:
        * ksvg2/svg/SVGPaint.cpp:
        (SVGPaint::cssText):
        * ksvg2/svg/SVGPathSegClosePath.h:
        (WebCore::SVGPathSegClosePath::toString):
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (SVGPreserveAspectRatio::parsePreserveAspectRatio):
        (SVGPreserveAspectRatio::getCTM):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyleElement.cpp:
        (SVGStyleElement::childrenChanged):
        * ksvg2/svg/SVGURIReference.cpp:
        (SVGURIReference::getTarget):
        * kwq/ClipboardMac.mm:
        (WebCore::ClipboardMac::setData):
        (WebCore::ClipboardMac::types):
        (WebCore::ClipboardMac::setEffectAllowed):
        (WebCore::cocoaOpFromIEOp):
        (WebCore::IEOpFromCocoaOp):
        (WebCore::ClipboardMac::sourceOperation):
        (WebCore::ClipboardMac::destinationOperation):
        * kwq/KWQCString.cpp:
        (DeprecatedCString::append):
        * kwq/KWQKHTMLSettings.h:
        (KHTMLSettings::stdFontName):
        (KHTMLSettings::fixedFontName):
        (KHTMLSettings::serifFontName):
        (KHTMLSettings::sansSerifFontName):
        (KHTMLSettings::cursiveFontName):
        (KHTMLSettings::fantasyFontName):
        (KHTMLSettings::minFontSize):
        (KHTMLSettings::minLogicalFontSize):
        (KHTMLSettings::mediumFontSize):
        (KHTMLSettings::mediumFixedFontSize):
        (KHTMLSettings::autoLoadImages):
        (KHTMLSettings::isJavaScriptEnabled):
        (KHTMLSettings::JavaScriptCanOpenWindowsAutomatically):
        (KHTMLSettings::isJavaEnabled):
        (KHTMLSettings::isPluginsEnabled):
        (KHTMLSettings::encoding):
        (KHTMLSettings::userStyleSheet):
        (KHTMLSettings::shouldPrintBackgrounds):
        (KHTMLSettings::textAreasAreResizable):
        (KHTMLSettings::setStdFontName):
        (KHTMLSettings::setFixedFontName):
        (KHTMLSettings::setSerifFontName):
        (KHTMLSettings::setSansSerifFontName):
        (KHTMLSettings::setCursiveFontName):
        (KHTMLSettings::setFantasyFontName):
        (KHTMLSettings::setMinFontSize):
        (KHTMLSettings::setMinLogicalFontSize):
        (KHTMLSettings::setMediumFontSize):
        (KHTMLSettings::setMediumFixedFontSize):
        (KHTMLSettings::setAutoLoadImages):
        (KHTMLSettings::setIsJavaScriptEnabled):
        (KHTMLSettings::setIsJavaEnabled):
        (KHTMLSettings::setArePluginsEnabled):
        (KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically):
        (KHTMLSettings::setEncoding):
        (KHTMLSettings::setUserStyleSheet):
        (KHTMLSettings::setShouldPrintBackgrounds):
        (KHTMLSettings::setTextAreasAreResizable):
        * kwq/KWQLoader.mm:
        (KWQServeSynchronousRequest):
        * kwq/KWQTextStream.cpp:
        (QTextStream::QTextStream):
        (QTextStream::operator<<):
        (QTextStream::precision):
        * kwq/KWQTextStream.h:
        * kwq/RenderTreeAsText.cpp:
        (operator<<):
        (quoteAndEscapeNonPrintables):
        (writeTextRun):
        (write):
        (writeSelection):
        * loader/Cache.cpp:
        (WebCore::Cache::init):
        (WebCore::Cache::requestImage):
        (WebCore::Cache::requestStyleSheet):
        (WebCore::Cache::preloadStyleSheet):
        (WebCore::Cache::requestScript):
        (WebCore::Cache::preloadScript):
        (WebCore::Cache::requestXSLStyleSheet):
        (WebCore::Cache::requestXBLDocument):
        (WebCore::Cache::remove):
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::error):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::error):
        * loader/CachedImage.h:
        * loader/CachedObject.h:
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::checkNotify):
        (WebCore::CachedScript::error):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::error):
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::error):
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::DocLoader):
        (WebCore::DocLoader::~DocLoader):
        (WebCore::DocLoader::needReload):
        (WebCore::DocLoader::requestImage):
        (WebCore::DocLoader::requestStyleSheet):
        (WebCore::DocLoader::requestScript):
        (WebCore::DocLoader::requestXSLStyleSheet):
        (WebCore::DocLoader::requestXBLDocument):
        (WebCore::DocLoader::setAutoloadImages):
        (WebCore::DocLoader::setShowAnimations):
        (WebCore::DocLoader::removeCachedObject):
        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::setStyleSheet):
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::setMetaRefreshEnabled):
        (WebCore::Frame::setAutoloadImages):
        (WebCore::Frame::autoloadImages):
        (WebCore::Frame::clear):
        (WebCore::Frame::receivedFirstData):
        (WebCore::Frame::begin):
        (WebCore::Frame::write):
        (WebCore::Frame::baseTarget):
        (WebCore::Frame::completeURL):
        (WebCore::Frame::scheduleRedirection):
        (WebCore::Frame::scheduleLocationChange):
        (WebCore::Frame::scheduleHistoryNavigation):
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::redirectionTimerFired):
        (WebCore::Frame::encoding):
        (WebCore::Frame::gotoAnchor):
        (WebCore::Frame::setStandardFont):
        (WebCore::Frame::setFixedFont):
        (WebCore::Frame::selectedText):
        (WebCore::Frame::selection):
        (WebCore::Frame::dragCaret):
        (WebCore::Frame::setSelection):
        (WebCore::Frame::setDragCaret):
        (WebCore::Frame::paintCaret):
        (WebCore::Frame::paintDragCaret):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::requestObject):
        (WebCore::Frame::shouldUsePlugin):
        (WebCore::Frame::loadPlugin):
        (WebCore::Frame::loadSubframe):
        (WebCore::Frame::submitForm):
        (WebCore::Frame::lastModified):
        (WebCore::Frame::reparseConfiguration):
        (WebCore::Frame::shouldChangeSelection):
        (WebCore::Frame::appliedEditing):
        (WebCore::Frame::unappliedEditing):
        (WebCore::Frame::reappliedEditing):
        (WebCore::Frame::executeScript):
        (WebCore::updateState):
        (WebCore::Frame::isCharacterSmartReplaceExempt):
        (WebCore::Frame::openURL):
        (WebCore::Frame::didNotOpenURL):
        (WebCore::Frame::setEncoding):
        (WebCore::Frame::saveInterpreterBuiltins):
        (WebCore::Frame::restoreInterpreterBuiltins):
        (WebCore::Frame::mutableInstances):
        (WebCore::Frame::setPolicyBaseURL):
        (WebCore::Frame::addMetaData):
        (WebCore::Frame::scrollToAnchor):
        (WebCore::Frame::setMediaType):
        (WebCore::Frame::highlightAllMatchesForString):
        (WebCore::Frame::tree):
        * page/Frame.h:
        (WebCore::Frame::instances):
        * page/FramePrivate.h:
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::init):
        (WebCore::FrameView::setMarginWidth):
        (WebCore::FrameView::setMarginHeight):
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::scrollTo):
        (WebCore::FrameView::setMediaType):
        (WebCore::FrameView::mediaType):
        (WebCore::FrameView::setResizingFrameSet):
        (WebCore::FrameView::setIgnoreWheelEvents):
        * page/FrameView.h:
        (WebCore::FrameView::frameWidth):
        (WebCore::FrameView::marginWidth):
        (WebCore::FrameView::marginHeight):
        (WebCore::FrameView::ref):
        (WebCore::FrameView::deref):
        * page/ResourceRequest.h:
        (WebCore::ResourceRequest::contentType):
        (WebCore::ResourceRequest::setContentType):
        * platform/FontFamily.h:
        * platform/Image.h:
        * platform/KURL.cpp:
        (KURL::KURL):
        (KURL::parse):
        (urlcmp):
        (KURL::encode_string):
        (encodeHostname):
        * platform/KURL.h:
        * platform/PlatformString.h:
        (WebCore::String::left):
        (WebCore::String::right):
        * platform/String.cpp:
        (WebCore::String::toInt):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::toInt):
        * platform/TransferJob.cpp:
        (WebCore::TransferJob::queryMetaData):
        (WebCore::TransferJob::addMetaData):
        * platform/TransferJob.h:
        * platform/mac/ImageMac.mm:
        (WebCore::Image::supportsType):
        * platform/mac/TransferJobMac.mm:
        (WebCore::TransferJob::start):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::information):
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::updateFromElement):
        * xml/xmlhttprequest.cpp:
        (WebCore::getMIMEType):
        (WebCore::getCharset):
        (WebCore::XMLHttpRequest::getReadyState):
        (WebCore::XMLHttpRequest::getResponseText):
        (WebCore::XMLHttpRequest::getResponseXML):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::changeState):
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::overrideMIMEType):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::getRequestHeader):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::responseIsXML):
        (WebCore::XMLHttpRequest::getStatus):
        (WebCore::XMLHttpRequest::getStatusText):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::receivedAllData):
        (WebCore::XMLHttpRequest::receivedRedirect):
        (WebCore::XMLHttpRequest::receivedData):
        (WebCore::XMLHttpRequest::cancelRequests):
        (WebCore::XMLHttpRequest::detachRequests):
        * xml/xmlhttprequest.h:

2006-03-20  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=3439
         mouseover effects can get stuck sometimes due to missing events
        - http://bugs.webkit.org/show_bug.cgi?id=7701
         mouseout sent to the wrong element when layout changes simultaneously
        
        Implemented saving the previous node under the mouse, so that we don't need to 
        recalculate it, which is slow and even not really possible. This has fixed a number 
        of issues with mouse event dispatching when the content changes.
        The code still needs refactoring and cleanup, see bug 3439 for comments.

        Tests (both files perform multiple checks):
        - fast/events/mouseover-mouseout.html
        - fast/events/mouseover-mouseout2.html

        * page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(),
        used for mouseMoved events.
        * bridge/mac/FrameMac.h: Ditto.
        * bridge/mac/FrameMac.mm: 
        (WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target 
        NSMouseMoved events.
        * page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation.
        * page/FrameView.cpp: Added data members for storing the previous node and subframe 
        under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY.
        (WebCore::FrameViewPrivate::reset): Reset the new data members.
        (WebCore::subframeForEvent): A temporary place for the code that extracts a subframe
        pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe().
        (WebCore::FrameView::prepareMouseEvent): The new helper.
        (WebCore::FrameView::handleMousePressEvent): Use the new helper.
        (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
        (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
        (WebCore::FrameView::updateDragAndDrop): Ditto.
        (WebCore::FrameView::hoverTimerFired): Ditto.
        (WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store 
        or use prevMouseX/Y.
        (WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using 
        a stored oldSubframe reference. Protect "this" from being removed while in this function.

2006-03-20  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - http://bugs.webkit.org/show_bug.cgi?id=7875
          autogenerate bindings for Range

        * dom/Range.idl: Added.
        * khtml/ecma/kjs_range.cpp: Removed.
        * khtml/ecma/kjs_range.h: Removed.

        * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
        kjs_range.lut.h.

        * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file.
        Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group.
        Removed rule to generate kjs_range.lut.h.

        * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.

        * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow,
        and short to the types this script can handle. Added code to generate toRange
        functions and the like. Added separate code to handle exceptions for getters
        vs. setters for attributes. Changed return values for the "bad ID" case to 0
        -- there's no need to generate the extra code to return jsUndefined() in such
        cases, which should be unreachable. Changed exception handling to use setDOMException
        directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick
        to make it easier to convert existing bindings and shouldn't be used going
        forward. Fixed names of constructors to use the JavaScript class name (the
        interface name), not the name of the C++ implementation class. Fixed generation
        of code for functions that have no parameters but do raise exceptions.

        * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter
        exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support
        declaring exceptions on attributes at all. We'll probably want to revisit our
        syntax for this some day.

        * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from
        domAttribute, and replaced raisesExceptions field with getterExceptions and
        setterExceptions. Added regular expressions for parsing getter/setter syntax.
        We'll probably have to redo this whole thing parse in a better way at some
        point -- the regular expressions allow any invalid syntax in between them.

        * dom/Attr.idl: Change exception declaration for setting the value attribute
        to use setter-specific exception syntax.
        * dom/CharacterData.idl: Change exception declaration for setting the data
        attribute to use setter-specific exception syntax.
        * dom/ProcessingInstruction.idl: Change exception declaration for setting the
        data attribute to use setter-specific exception syntax.

        * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h.
        * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h.
        (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of
        getRangeConstructor.

2006-03-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix win32 compile.

        * Viewer/ImageView.cpp:
        * platform/GraphicsContext.cpp:
        (WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate):
        (WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate):
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::fillRectSourceOver):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::drawLineForText):

2006-03-19  Darin Adler  <darin@apple.com>

        Rubber stamped by Eric.

        - moved khtml/html files all into html directory

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths.
        * WebCore.vcproj/WebCore/build-generated-files.sh: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * khtml/html: Removed.

        * html/DocTypeStrings.gperf: Moved.
        * html/FormDataList.cpp: Ditto.
        * html/FormDataList.h: Ditto.
        * html/HTMLBaseFontElement.cpp: Ditto.
        * html/HTMLBaseFontElement.h: Ditto.
        * html/HTMLButtonElement.cpp: Ditto.
        * html/HTMLButtonElement.h: Ditto.
        * html/HTMLCanvasElement.cpp: Ditto.
        * html/HTMLCanvasElement.h: Ditto.
        * html/HTMLCollection.cpp: Ditto.
        * html/HTMLCollection.h: Ditto.
        * html/HTMLDocument.cpp: Ditto.
        * html/HTMLDocument.h: Ditto.
        * html/HTMLElement.cpp: Ditto.
        * html/HTMLElement.h: Ditto.
        * html/HTMLElementFactory.cpp: Ditto.
        * html/HTMLElementFactory.h: Ditto.
        * html/HTMLEntityNames.gperf: Ditto.
        * html/HTMLFieldSetElement.cpp: Ditto.
        * html/HTMLFieldSetElement.h: Ditto.
        * html/HTMLFormCollection.cpp: Ditto.
        * html/HTMLFormCollection.h: Ditto.
        * html/HTMLFormElement.cpp: Ditto.
        * html/HTMLFormElement.h: Ditto.
        * html/HTMLGenericFormElement.cpp: Ditto.
        * html/HTMLGenericFormElement.h: Ditto.
        * html/HTMLInputElement.cpp: Ditto.
        * html/HTMLInputElement.h: Ditto.
        * html/HTMLIsIndexElement.cpp: Ditto.
        * html/HTMLIsIndexElement.h: Ditto.
        * html/HTMLKeygenElement.cpp: Ditto.
        * html/HTMLKeygenElement.h: Ditto.
        * html/HTMLLabelElement.cpp: Ditto.
        * html/HTMLLabelElement.h: Ditto.
        * html/HTMLLegendElement.cpp: Ditto.
        * html/HTMLLegendElement.h: Ditto.
        * html/HTMLNameCollection.cpp: Ditto.
        * html/HTMLNameCollection.h: Ditto.
        * html/HTMLNames.cpp: Ditto.
        * html/HTMLNames.h: Ditto.
        * html/HTMLOptGroupElement.cpp: Ditto.
        * html/HTMLOptGroupElement.h: Ditto.
        * html/HTMLOptionElement.cpp: Ditto.
        * html/HTMLOptionElement.h: Ditto.
        * html/HTMLOptionsCollection.cpp: Ditto.
        * html/HTMLOptionsCollection.h: Ditto.
        * html/HTMLParser.cpp: Ditto.
        * html/HTMLParser.h: Ditto.
        * html/HTMLSelectElement.cpp: Ditto.
        * html/HTMLSelectElement.h: Ditto.
        * html/HTMLTextAreaElement.cpp: Ditto.
        * html/HTMLTextAreaElement.h: Ditto.
        * html/HTMLTextFieldInnerElement.cpp: Ditto.
        * html/HTMLTextFieldInnerElement.h: Ditto.
        * html/HTMLTokenizer.cpp: Ditto.
        * html/HTMLTokenizer.h: Ditto.
        * html/html_baseimpl.cpp: Ditto.
        * html/html_baseimpl.h: Ditto.
        * html/html_blockimpl.cpp: Ditto.
        * html/html_blockimpl.h: Ditto.
        * html/html_headimpl.cpp: Ditto.
        * html/html_headimpl.h: Ditto.
        * html/html_imageimpl.cpp: Ditto.
        * html/html_imageimpl.h: Ditto.
        * html/html_inlineimpl.cpp: Ditto.
        * html/html_inlineimpl.h: Ditto.
        * html/html_listimpl.cpp: Ditto.
        * html/html_listimpl.h: Ditto.
        * html/html_objectimpl.cpp: Ditto.
        * html/html_objectimpl.h: Ditto.
        * html/html_tableimpl.cpp: Ditto.
        * html/html_tableimpl.h: Ditto.

        * bindings/objc/DOM.mm:
        * bridge/mac/WebCoreEncodings.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * css/CSSGrammar.y:
        * css/cssstyleselector.cpp:
        * dom/Document.cpp:
        * dom/EventTargetNode.cpp:
        * dom/NameNodeList.cpp:
        * dom/Node.cpp:
        * dom/Position.cpp:
        * dom/dom_elementimpl.cpp:
        * dom/xml_tokenizer.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/BreakBlockquoteCommand.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/DeleteSelectionCommand.cpp:
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/JSEditor.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/TextIterator.cpp:
        * editing/VisiblePosition.cpp:
        * editing/htmlediting.cpp:
        * editing/markup.cpp:
        * editing/visible_units.cpp:
        * html/CanvasRenderingContext2D.cpp:
        * kcanvas/KCanvasTreeDebug.cpp:
        * khtml/ecma/JSDOMParser.cpp:
        * khtml/ecma/kjs_css.cpp:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_events.cpp:
        * khtml/misc/decoder.cpp:
        * khtml/xsl/XSLStyleSheet.cpp:
        * khtml/xsl/XSLTProcessor.cpp:
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGSVGElement.cpp:
        * kwq/WebCoreAXObject.mm:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderFlow.cpp:
        * rendering/RenderHTMLCanvas.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTable.cpp:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/RenderTextField.cpp:
        * rendering/RenderTheme.cpp:
        * rendering/render_applet.cpp:
        * rendering/render_button.cpp:
        * rendering/render_frames.cpp:
        * rendering/render_list.cpp:
        Updated includes.

2006-03-17  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Move Form code from MacFrame to Frame.
        Move GraphicsContext code from GraphicsContextMac to GraphicsContext.
        Use IntRect, FloatRect in more places throughout the code.
        http://bugs.webkit.org/show_bug.cgi?id=7824

        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::MacFrame):
        (WebCore::MacFrame::searchForLabelsAboveCell):
        (WebCore::MacFrame::searchForLabelsBeforeElement):
        (WebCore::dictionaryFromHashMap):
        (WebCore::MacFrame::submitForm):
        (WebCore::MacFrame::setView):
        (WebCore::MacFrame::currentEventIsMouseDownInWidget):
        (WebCore::MacFrame::currentEventIsKeyboardOptionTab):
        (WebCore::MacFrame::handleKeyboardOptionTabInView):
        (WebCore::MacFrame::tabsToAllControls):
        (WebCore::MacFrame::shouldDragAutoNode):
        (WebCore::MacFrame::selectionImage):
        (WebCore::MacFrame::snapshotDragImage):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge nextKeyView]):
        (-[WebCoreFrameBridge previousKeyView]):
        (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
        (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::clearRecordedFormValues):
        (WebCore::Frame::recordFormValue):
        (WebCore::Frame::didNotOpenURL):
        (WebCore::scanForForm):
        (WebCore::Frame::paint):
        (WebCore::Frame::prepareForUserAction):
        * page/Frame.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::font):
        (WebCore::GraphicsContext::setFont):
        (WebCore::GraphicsContext::pen):
        (WebCore::GraphicsContext::setPen):
        (WebCore::GraphicsContext::setBrush):
        (WebCore::GraphicsContext::brush):
        (WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor):
        (WebCore::GraphicsContext::usesInactiveTextBackgroundColor):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::printing):
        (WebCore::GraphicsContext::drawImageAtPoint):
        (WebCore::GraphicsContext::drawImageInRect):
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::initFocusRing):
        (WebCore::GraphicsContext::clearFocusRing):
        (WebCore::GraphicsContext::addFocusRingRect):
        (WebCore::GraphicsContext::focusRingWidth):
        (WebCore::GraphicsContext::focusRingOffset):
        (WebCore::GraphicsContext::focusRingRects):
        * platform/GraphicsContext.h:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::fillRectSourceOver):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::setColorFromBrush):
        (WebCore::GraphicsContext::setColorFromPen):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawFloatImage):
        (WebCore::GraphicsContext::drawTiledImage):
        (WebCore::GraphicsContext::drawScaledAndTiledImage):
        (WebCore::GraphicsContext::selectedTextBackgroundColor):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::addClip):
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::drawFocusRing):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        (WebCore::RenderBox::outlineBox):
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::userResize):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::paint):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::drawBorder):
        (WebCore::RenderObject::paintBorderImage):

2006-03-19  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7854
          CanvasGradient leaks

        * html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading):
        Don't make the CG shading object keep a reference to the DOM gradient object.
        I got confused because in the case of a CanvasPattern, the pattern does need
        to keep a reference to the DOM pattern object, but the object lifetime is
        handled differently here. The CG shading object is used right away, not set
        in a graphics context.

2006-03-19  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - attempt to fix the buildbot by handling DOMImplementation another way

        * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.

        * bindings/objc/DOMImplementationFront.cpp: Added.
        * bindings/objc/DOMImplementationFront.h: Added.

        * bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation.
        * bindings/objc/DOM.mm:
        (-[DOMImplementation dealloc]): Ditto.
        (-[DOMImplementation finalize]): Ditto.
        (-[DOMImplementation _initWithDOMImplementation:]): Ditto.
        (+[DOMImplementation _DOMImplementationWith:]): Ditto.
        (-[DOMImplementation _DOMImplementation]): Ditto.
        (-[DOMDocument implementation]): Call implementationFront from the
        DOMImplementationFront header instead of using the real implementation
        function on the Document.

2006-03-19  Darin Adler  <darin@apple.com>

        - global rename, done by script

        * <lots of files>: Renamed XXXImpl to XXX, and a number of other renames.
        See WebKitTools/Scripts/do-webcore-rename version 13392 for details.

2006-03-19  Darin Adler  <darin@apple.com>

        - roll out fix for http://bugs.webkit.org/show_bug.cgi?id=6314
          Unclosed <style> element in <head> makes page completely blank

        This fix was breaking major sites -- details in the bug report.

        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
        Removed the bug fix, added a FIXME about the <title> code that has
        the same problem.

2006-03-18  David Carson  <dacarson@gmail.com>

        Test: fast/canvas/patternfill-repeat.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7830
          <canvas> createPattern 'repeat' options fail

        * CanvasPattern.cpp (CanvasPattern::createPattern)
        Change stepping so that repeat-x, repeat-y, and no-repeat repeat 
        outside the view area by using large values for repeat interval.

2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/dom/Element/class-attribute-whitespace.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7761
          Tabs in class attribute not treated as whitespace

        * dom/dom_elementimpl.cpp:
        (WebCore::isClassWhitespace): Helper function to check if a character
        in the class attribute should be treated as whitespace. Added \r and \t.
        (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
        a QStringList and iterating it, do everything in one pass over the string.

2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/block/float/vertical-move-relayout.html

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6795
          Slow image load causes render problem

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
        when the child's vertical position changes.

2006-03-18  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6314
        Unclosed <style> element in <head> makes page completely blank

        Test: fast/js/exception-linenums-in-html-3.html
        Test: fast/js/missing-style-end-tag-js.html
        Test: fast/tokenizer/missing-style-end-tag-1.html
        Test: fast/tokenizer/missing-style-end-tag-2.html

        * khtml/html/htmlparser.cpp:
        (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
        this condition if identified.
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
        document looking for a </style> tag, reset the state of the tokenizer and
        retokenize with no special handling for <style>.  The parser will handle the
        missing </style> tag in HTMLParser::handleError().

2006-03-18  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5351:
        SVG: Safari ignores <title> elements

        Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
        in the process setting the title on the right triggers.

        * ksvg2/svg/SVGTitleElementImpl.cpp:
        (SVGTitleElementImpl::SVGTitleElementImpl):
        (SVGTitleElementImpl::title):
        (SVGTitleElementImpl::closeRenderer):
        (SVGTitleElementImpl::insertedIntoDocument):
        (SVGTitleElementImpl::removedFromDocument):
        (SVGTitleElementImpl::childrenChanged):
        * ksvg2/svg/SVGTitleElementImpl.h:

2006-03-18  Darin Adler  <darin@apple.com>

        - another try at fixing Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.

2006-03-18  Darin Adler  <darin@apple.com>

        - another try at fixing Windows build

        * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.

2006-03-18  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * bridge/win/FrameWin.h: Remove KURL parameter.
        * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
        * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.

2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix leaks caused by the fix for Bugzilla bug 3560

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
        first-letter pseudo style are children of an existing first-letter inline
        that has been updated, and should be destroyed.

2006-03-18  David Hyatt  <hyatt@apple.com>

        Fix for bug 7841, tables, table rows, and table row groups should
        all support overflow:hidden.

        Reviewed by eric

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::paint):
        (WebCore::RenderTable::getOverflowClipRect):
        * rendering/RenderTable.h:
        * rendering/RenderTableCol.h:
        (WebCore::RenderTableCol::requiresLayer):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::setStyle):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::paintLayer):

2006-03-17  Alice Liu  <alice.liu@apple.com>

        Reviewed by Hyatt.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=6999
          "Dynamically added link-tag disables the use of change styles 
           dynamically"

        * khtml/html/html_headimpl.cpp:
        (WebCore::HTMLLinkElementImpl::process):
        - dynamically added link-tags for stylesheets were messing up the
          counting of pending stylesheets.  If a head link element 
          specifies a new stylesheet but the previously specified 
          stylesheet is still loading, tell the document that stylesheets 
          are loaded so that there are no remaining requests for it to be 
          loaded.

2006-03-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Fixed some crashes in event dispatch and settled the question of 
        when getDocument() can return NULL, removing superfluous NULL checks.

        I promise to check in a test case soon, but I need to land this before
        the global rename happens, and I left the test file on my other machine.

        Here's what I did:

        (1) Removed NULL checks for getDocument() in cases where we know it
        should not return NULL (which turned out to be all but one). Replaced 
        with ASSERT inside getDocument(). Tested to ensure there was no 
        regression @ albertsons.com.

        (2) Added the EventTargetNode class, which represents Nodes that
        implement the DOM EventTarget interface. Discussed this design with
        Maciej and Hyatt. The previous dsign -- assuming that all Nodes were 
        EventTargets -- made it possible to crash WebKit by, for example, 
        dispatching a mouse event to a documentType node that was not 
        associated with a document.

        (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to 
        force a re-build.

        (4) Using classInfo checking, strengthened type constraints on 
        JavaScript method dispatch so that you can't finagle JavaScript into, 
        for example, invoking a document-dependent method belonging to a
        node type that's guaranteed to have a document on a node type that may
        not have one. 

        (5) Pushed some IE-specific JS bindings that depend on a node having a 
        document down from DOMNode to DOMElement. (An element always has a 
        document.) Tested that Firefox's behavior matched. Confirmed with MSDN.

        (6) Updated Objc bindigns to throw an exception if you try to use
        the event interface on a node that doesn't support it. Discussed this
        design with Maciej and TimH.

        (7) Consolidated repeated documentElement-finding code in the Position 
        class into the Position::documentElement() method. Did the same for
        repeated top-level document finding and DocumentImpl::topDocument().
        
        * WebCore+SVG/KDOMHeaders.h:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMCore.cpp:
        * bindings/objc/DOM.mm:
        (-[DOMNode addEventListener:::]):
        (-[DOMNode removeEventListener:::]):
        (-[DOMNode dispatchEvent:]):
        (-[DOMNode KJS::Bindings::]):
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::keyEvent):
        (WebCore::MacFrame::dispatchCPPEvent):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
        * css/css_base.cpp:
        (WebCore::StyleBaseImpl::baseURL):
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/css_valueimpl.cpp:
        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/CharacterDataImpl.cpp:
        (WebCore::CharacterDataImpl::CharacterDataImpl):
        (WebCore::CharacterDataImpl::rendererIsNeeded):
        (WebCore::CharacterDataImpl::dump):
        * dom/CharacterDataImpl.h:
        * dom/ContainerNodeImpl.cpp:
        (WebCore::ContainerNodeImpl::ContainerNodeImpl):
        (WebCore::ContainerNodeImpl::removeChild):
        (WebCore::ContainerNodeImpl::attach):
        (WebCore::ContainerNodeImpl::detach):
        (WebCore::ContainerNodeImpl::insertedIntoDocument):
        (WebCore::ContainerNodeImpl::removedFromDocument):
        (WebCore::ContainerNodeImpl::insertedIntoTree):
        (WebCore::ContainerNodeImpl::removedFromTree):
        (WebCore::ContainerNodeImpl::setFocus):
        (WebCore::ContainerNodeImpl::setActive):
        (WebCore::ContainerNodeImpl::setHovered):
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/ContainerNodeImpl.h:
        * dom/DOMImplementationImpl.cpp:
        (WebCore::DOMImplementationImpl::createDocument):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
        (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
        (WebCore::DocumentImpl::getAccObjectCache):
        (WebCore::DocumentImpl::setFocusNode):
        (WebCore::DocumentImpl::topDocument):
        * dom/Element.idl:
        * dom/EventTargetNodeImpl.cpp: Added.
        (WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
        (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
        (WebCore::EventTargetNodeImpl::insertedIntoDocument):
        (WebCore::EventTargetNodeImpl::removedFromDocument):
        (WebCore::EventTargetNodeImpl::addEventListener):
        (WebCore::EventTargetNodeImpl::removeEventListener):
        (WebCore::EventTargetNodeImpl::removeAllEventListeners):
        (WebCore::EventTargetNodeImpl::handleLocalEvents):
        (WebCore::EventTargetNodeImpl::dispatchGenericEvent):
        (WebCore::EventTargetNodeImpl::dispatchEvent):
        (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
        (WebCore::EventTargetNodeImpl::dispatchWindowEvent):
        (WebCore::EventTargetNodeImpl::dispatchUIEvent):
        (WebCore::EventTargetNodeImpl::dispatchKeyEvent):
        (WebCore::EventTargetNodeImpl::dispatchMouseEvent):
        (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
        (WebCore::EventTargetNodeImpl::dispatchWheelEvent):
        (WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
        (WebCore::EventTargetNodeImpl::removeHTMLEventListener):
        (WebCore::EventTargetNodeImpl::setHTMLEventListener):
        (WebCore::EventTargetNodeImpl::getHTMLEventListener):
        (WebCore::EventTargetNodeImpl::disabled):
        (WebCore::EventTargetNodeImpl::defaultEventHandler):
        (WebCore::EventTargetNodeImpl::dump):
        * dom/EventTargetNodeImpl.h: Added.
        (WebCore::EventTargetNodeImpl::isEventTargetNode):
        (WebCore::EventTargetNodeImpl::preDispatchEventHandler):
        (WebCore::EventTargetNodeImpl::postDispatchEventHandler):
        (WebCore::EventTarget):
        (WebCore::forbidEventDispatch):
        (WebCore::allowEventDispatch):
        (WebCore::eventDispatchForbidden):
        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::NodeImpl):
        (WebCore::NodeImpl::~NodeImpl):
        (WebCore::NodeImpl::dump):
        (WebCore::NodeImpl::detach):
        (WebCore::NodeImpl::insertedIntoDocument):
        (WebCore::NodeImpl::removedFromDocument):
        * dom/NodeImpl.h:
        (WebCore::NodeImpl::isEventTargetNode):
        (WebCore::NodeImpl::isLink):
        (WebCore::NodeImpl::getDocument):
        (WebCore::NodeImpl::inDocument):
        * dom/dom2_eventsimpl.cpp:
        (WebCore::MouseRelatedEventImpl::receivedTarget):
        * dom/dom2_rangeimpl.cpp:
        (WebCore::RangeImpl::commonAncestorContainer):
        * dom/dom_elementimpl.cpp:
        (WebCore::inHTMLDocument):
        (WebCore::ElementImpl::focus):
        (WebCore::ElementImpl::blur):
        (WebCore::StyledElementImpl::parseMappedAttribute):
        * dom/dom_position.cpp:
        (WebCore::Position::documentElement):
        * dom/dom_position.h:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::computeAndStoreNodeDesiredStyle):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::needsCaretRepaint):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::startOfDocument):
        (WebCore::endOfDocument):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::mark):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMEventTargetNode::DOMEventTargetNode):
        (KJS::DOMEventTargetNode::getOwnPropertySlot):
        (KJS::DOMEventTargetNode::getValueProperty):
        (KJS::DOMEventTargetNode::put):
        (KJS::DOMEventTargetNode::putValueProperty):
        (KJS::DOMEventTargetNode::setListener):
        (KJS::DOMEventTargetNode::getListener):
        (KJS::DOMEventTargetNode::pushEventHandlerScope):
        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
        (KJS::):
        (KJS::DOMDocument::DOMDocument):
        (KJS::DOMDocument::getOwnPropertySlot):
        (KJS::DOMDocument::put):
        (KJS::DOMDocument::putValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::DOMElement):
        (KJS::DOMElement::getValueProperty):
        (KJS::DOMElement::put):
        (KJS::DOMElement::putValueProperty):
        (KJS::DOMElement::getOwnPropertySlot):
        (KJS::DOMElementProtoFunc::callAsFunction):
        (KJS::checkNodeSecurity):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::):
        (KJS::DOMEventTargetNode::):
        (KJS::DOMElement::):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):
        (KJS::getNodeEventListener):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::bodyGetter):
        (KJS::HTMLElement::anchorGetter):
        (KJS::HTMLElement::getValueProperty):
        (KJS::HTMLElement::bodySetter):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/html/HTMLFormElementImpl.cpp:
        (WebCore::HTMLFormElementImpl::registerFormElement):
        (WebCore::HTMLFormElementImpl::removeFormElement):
        * khtml/html/HTMLGenericFormElementImpl.cpp:
        (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
        * khtml/html/HTMLInputElementImpl.cpp:
        (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
        (WebCore::HTMLInputElementImpl::focus):
        * khtml/html/HTMLOptionElementImpl.cpp:
        (WebCore::HTMLOptionElementImpl::text):
        * khtml/html/HTMLSelectElementImpl.cpp:
        (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
        * khtml/html/HTMLTextAreaElementImpl.cpp:
        (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
        * khtml/html/html_baseimpl.cpp:
        (WebCore::HTMLBodyElementImpl::insertedIntoDocument):
        (WebCore::HTMLFrameElementImpl::isURLAllowed):
        (WebCore::HTMLFrameElementImpl::openURL):
        (WebCore::HTMLFrameElementImpl::frameWidth):
        (WebCore::HTMLFrameElementImpl::frameHeight):
        * khtml/html/html_imageimpl.cpp:
        (WebCore::HTMLImageLoader::~HTMLImageLoader):
        (WebCore::HTMLImageLoader::updateFromElement):
        (WebCore::HTMLImageLoader::notifyFinished):
        (WebCore::HTMLImageElementImpl::width):
        (WebCore::HTMLImageElementImpl::height):
        (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
        * khtml/html/html_inlineimpl.cpp:
        (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::notifyFinished):
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElementImpl.cpp:
        (SVGAnimateElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::closeRenderer):
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGImageElementImpl.cpp:
        * ksvg2/svg/SVGSetElementImpl.cpp:
        (SVGSetElementImpl::handleTimerEvent):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject mouseButtonListener]):
        (-[KWQAccObject accessibilityPerformAction:]):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView dispatchHTMLEvent:]):
        * page/Frame.cpp:
        (WebCore::dispatchKHTMLEditableContentChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::dispatchMouseEvent):
        (WebCore::FrameView::viewportWheelEvent):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::shouldSelect):
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::sendConsumedMouseUp):

2006-03-17  David Hyatt  <hyatt@apple.com>

        Fix for 7837, make opacity work with table rows.  Make transparent backgrounds
        stack properly in cells (so that the layers behind can show through like they
        should).

        Reviewed by beth

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::requiresLayer):
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::isTransparent):
        (WebCore::RenderLayer::transparentAncestor):
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::absoluteBoundingBox):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::requiresLayer):
        * rendering/render_object.h:
        (WebCore::RenderObject::isTransparent):
        (WebCore::RenderObject::opacity):

2006-03-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adele.

        - clean up ResourceRequest to be closer to a proper request interface

        * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
        (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
        that takes a KURL.
        (WebCore::ResourceRequest::url): getter for KURL
        (WebCore::ResourceRequest::setURL): corresponding setter
        (WebCore::ResourceRequest::referrer): new getter for referrer, instead
        of storing it in m_metaData (it was the only remaining real use of it)
        (WebCore::ResourceRequest::setReferrer): corresponding setter
        * bridge/BrowserExtension.h: 
        - removed unused openURLRequest and openURLNotify methods
        - folded KURL parameter into ResourceRequest
        * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
        also take a ResourceRequest
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
        changes.
        * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
        ResourceRequest
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
        (WebCore::MacFrame::submitForm): ditto
        (WebCore::MacFrame::urlSelected): ditto
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): 
        adjust for ResourceRequest changes
        * bridge/win/BrowserExtensionWin.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::createNewWindow): adjust for ResourceRequest changes
        (KJS::WindowFunc::callAsFunction): ditto
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
        (WebCore::Frame::receivedFirstData): ditto
        (WebCore::Frame::begin): ditto
        (WebCore::Frame::completeURL): ditto
        (WebCore::Frame::changeLocation): ditto
        (WebCore::Frame::urlSelected): ditto
        (WebCore::Frame::requestFrame): ditto
        (WebCore::Frame::submitForm): ditto
        * page/Frame.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (BrowserExtensionWin::createNewWindow): ditto

2006-03-17  Adele Peterson  <adele@apple.com>

        Reviewed by Tim H.

        Make default backgrounds for new text fields white
        instead of transparent.  This will move to html4.css
        when we flip the switch.

        Test added:
        * fast/forms/input-appearance-default-bkcolor.html

        * rendering/render_theme_mac.mm:
        (WebCore::RenderThemeMac::adjustTextFieldStyle):

2006-03-17  David Hyatt  <hyatt@apple.com>

        Make table sections and table captions support opacity.

        Reviewed by darin

        Covered by some of the new Mozilla table tests.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):

2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Maciej, landed by Beth.

        fix http://bugs.webkit.org/show_bug.cgi?id=3560
        page with use of first-letter crashes reproducibly in 
        RenderObject::renderArena()

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter 
        renderer to the remaining text fragment.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy 
        first-letter renderers since they are destroyed by their remaining 
        text now.
        * rendering/RenderTextFragment.cpp:
        (khtml::RenderTextFragment::RenderTextFragment):
        (khtml::RenderTextFragment::destroy): Destroy the first-letter 
        renderer.
        * rendering/RenderTextFragment.h:
        (khtml::RenderTextFragment::firstLetter):

2006-03-17  Adele Peterson  <adele@apple.com>

        Reviewed by Eric.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7798 
        New text fields are much wider than they should be for a specified size

        I changed the character we use to calculate the width from "w" back to "0", 
        which matches our old behavior.  The original change was intentional, to try
        to better match other browsers, but "w" is a little too wide.  For now, lets
        go back to the old behavior.

        I also set the minWidth = maxWidth.  We were trying to match a WinIE quirk,
        but that caused some odd behavior with growth of the text field in table cells.

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):

2006-03-17  Eric Seidel  <eseidel@apple.com>

        Reviewed by adele.

        Fix win32 build.
        Add PageWin class.
        Add previously forgotten KeyEventWin class.
        Pass MouseEvent() instead of 0 in a couple places to make compiler happy.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/BrowserExtensionWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::urlSelected):
        (WebCore::FrameWin::keyPress):
        * bridge/win/FrameWin.h:
        * bridge/win/PageWin.cpp: Added.
        (WebCore::rootWindowForFrame):
        (WebCore::Page::windowRect):
        (WebCore::Page::setWindowRect):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateDragAndDrop):
        (WebCore::FrameView::hoverTimerFired):
        * page/Page.h:
        (WebCore::Page::mainFrame):
        * platform/win/KeyEventWin.cpp: Added.
        (WebCore::KeyEvent::KeyEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::findNextWordFromIndex):
        (FrameWin::passMouseDownEventToWidget):
        (FrameWin::scheduleClose):
        (BrowserExtensionWin::createNewWindow):
        (WebCore::findWordBoundary):
        (FrameWin::registerCommandForUndo):
        (FrameWin::markMisspellingsInAdjacentWords):
        (FrameWin::respondToChangedContents):

2006-03-17  David Hyatt  <hyatt@apple.com>

        Fix pixel test regression in fast/table/overflowHidden.html.  There was
        a borderTopExtra error made in the new boundingBox code for layers that
        caused the bottom half of cells with opacity set to be clipped out.

        Reviewed by andersca

        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::absoluteBoundingBox):

2006-03-17  David Hyatt  <hyatt@apple.com>

        Give table rows and sections accurate dimensions.  Fix absolutePosition
        to work for table cells properly.  Add an absolutePositionForContent method
        to make sure callers that want to deal with the content of a cell handle
        the cell's extra space correctly.

        Reviewed by darin

        Existing layout tests cover this change.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge copyRenderNode:copier:]):
        * dom/ContainerNodeImpl.cpp:
        (WebCore::ContainerNodeImpl::getUpperLeftCorner):
        (WebCore::ContainerNodeImpl::getLowerRightCorner):
        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::getRect):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::layout):
        (WebCore::SelectionController::caretRect):
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        * khtml/html/HTMLInputElementImpl.cpp:
        (WebCore::HTMLInputElementImpl::defaultEventHandler):
        * kwq/KWQRenderTreeDebug.cpp:
        (operator<<):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRects):
        (WebCore::RenderBlock::positionForCoordinates):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::positionForCoordinates):
        (WebCore::RenderContainer::lineBoxRects):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
        (WebCore::RenderTableCell::absolutePosition):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        (WebCore::RenderTableRow::getAbsoluteRepaintRect):
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::recalcCells):
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::lineBoxRects):
        (WebCore::RenderText::positionForCoordinates):
        (WebCore::RenderText::caretRect):
        (WebCore::RenderText::posOfChar):
        (WebCore::RenderText::selectionRect):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::absolutePosition):
        (WebCore::RenderBox::caretRect):
        * rendering/render_br.cpp:
        (WebCore::RenderBR::caretRect):
        * rendering/render_canvas.h:
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::caretRect):
        * rendering/render_frames.cpp:
        (WebCore::RenderPart::updateWidgetPosition):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::absoluteRects):
        (WebCore::RenderObject::absoluteBoundingBoxRect):
        (WebCore::RenderObject::absolutePosition):
        * rendering/render_object.h:
        (WebCore::RenderObject::absolutePositionForContent):
        (WebCore::RenderObject::offsetHeight):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::updateWidgetPosition):

2006-03-17  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        WebCore part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=7797 
        Can't set background color on new text fields

        Bezeled NSTextFieldCells always draw a background, so instead we'll use a new 
        WebKitSystemInterface function to just draw the border of the cell.

        Since the theme is drawing the border and the engine is drawing the background 
        (which is different from the other form controls), we have to make sure we let the 
        theme paint the border after the engine paints the background.

        * platform/mac/WebCoreGraphicsBridge.h:
        * platform/mac/WebCoreGraphicsBridge.m:
        (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
        * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
        * rendering/render_theme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorder):
        (WebCore::RenderTheme::shouldPaintBorder):
        * rendering/render_theme.h:
        * rendering/render_theme_mac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::setTextFieldCellState):

2006-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - removed KWQWindowWidget
        - changed most event handling to use references instead of pointers
        - chagned PageMac to no longer be a subclass of Page

        Yes, I know there's no detail in this ChangeLog entry.
        No, I don't plan to make a habit of doing things this way.
        Yes, this will probably break the Windows build again.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameViewMac.mm:
        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::MacFrame):
        (WebCore::MacFrame::~MacFrame):
        (WebCore::MacFrame::wheelEvent):
        (WebCore::MacFrame::keyEvent):
        (WebCore::MacFrame::khtmlMousePressEvent):
        (WebCore::MacFrame::khtmlMouseMoveEvent):
        (WebCore::MacFrame::khtmlMouseReleaseEvent):
        (WebCore::MacFrame::mouseDown):
        (WebCore::MacFrame::mouseDragged):
        (WebCore::MacFrame::mouseUp):
        (WebCore::MacFrame::mouseMoved):
        (WebCore::MacFrame::sendContextMenuEvent):
        (WebCore::MacFrame::setBridge):
        (WebCore::MacFrame::dragSourceMovedTo):
        (WebCore::MacFrame::dragSourceEndedAt):
        (WebCore::MacFrame::dispatchDragSrcEvent):
        * bridge/mac/PageMac.h: Removed.
        * bridge/mac/PageMac.mm: Added.
        (WebCore::Page::Page):
        (WebCore::Page::windowRect):
        (WebCore::Page::setWindowRect):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge page]):
        (-[WebCoreFrameBridge initializeSettings:]):
        (globalPoint):
        (createMouseEventFromDraggingInfo):
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
        (-[WebCoreFrameBridge dragSourceMovedTo:]):
        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
        * bridge/mac/WebCoreFrameNamespaces.mm:
        (WebCore::):
        * bridge/mac/WebCorePageBridge.h:
        * bridge/mac/WebCorePageBridge.mm:
        (-[WebCorePageBridge init]):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::prepareMouseEvent):
        (WebCore::DocumentImpl::defaultEventHandler):
        * dom/DocumentImpl.h:
        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::dispatchMouseEvent):
        (WebCore::NodeImpl::dispatchKeyEvent):
        (WebCore::NodeImpl::dispatchWheelEvent):
        * dom/NodeImpl.h:
        * dom/dom2_eventsimpl.cpp:
        (WebCore::KeyboardEventImpl::KeyboardEventImpl):
        * dom/dom2_eventsimpl.h:
        (WebCore::KeyboardEventImpl::keyEvent):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::WindowFunc::callAsFunction):
        * khtml/html/html_inlineimpl.cpp:
        (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.h:
        * kwq/KWQWindowWidget.h:
        * kwq/KWQWindowWidget.mm: Removed.
        * page/Frame.cpp:
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventDoubleClick):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::khtmlMousePressEvent):
        (WebCore::Frame::handleMouseMoveEventSelection):
        (WebCore::Frame::khtmlMouseMoveEvent):
        (WebCore::Frame::khtmlMouseReleaseEvent):
        (WebCore::Frame::khtmlMouseDoubleClickEvent):
        (WebCore::Frame::passWidgetMouseDownEventToWidget):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::viewportMousePressEvent):
        (WebCore::FrameView::viewportMouseDoubleClickEvent):
        (WebCore::FrameView::viewportMouseMoveEvent):
        (WebCore::FrameView::viewportMouseReleaseEvent):
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::updateDragAndDrop):
        (WebCore::FrameView::cancelDragAndDrop):
        (WebCore::FrameView::performDragAndDrop):
        (WebCore::FrameView::dispatchMouseEvent):
        (WebCore::FrameView::viewportWheelEvent):
        * page/FrameView.h:
        * page/MouseEventWithHitTestResults.h:
        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
        (WebCore::MouseEventWithHitTestResults::event):
        * page/Page.cpp:
        (WebCore::Page::init):
        * page/Page.h:
        (WebCore::Page::bridge):
        * platform/KeyEvent.h:
        (WebCore::KeyEvent::isAutoRepeat):
        * platform/MouseEvent.h:
        (WebCore::MouseEvent::MouseEvent):
        * platform/mac/KeyEventMac.mm:
        (WebCore::KeyEvent::KeyEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::isFrameView):
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::clicked):

2006-03-16  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Add additional hackish Font, focusring and caret code.
        http://bugs.webkit.org/show_bug.cgi?id=7803

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::keyPress):
        * bridge/win/FrameWin.h:
        * html/CanvasRenderingContext2D.h:
        * platform/IntSize.h:
        * platform/KeyEvent.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawArc):
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/win/FontWin.cpp:
        (WebCore::hackishExtentForString):
        (WebCore::Font::floatWidth):
        (WebCore::convertRange):
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::checkSelectionPoint):
        (WebCore::Font::drawLineForText):
        (WebCore::Font::misspellingLineThickness):
        * platform/win/IntSizeWin.cpp: Added.
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator SIZE):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::visibleContentRect):
        * platform/win/TemporaryLinkStubs.cpp:
        (Widget::disableFlushDrawing):
        (GraphicsContext::GraphicsContext):
        (QListBox::setSelected):
        (QListBox::sizeForNumberOfLines):
        (QListBox::isSelected):
        (QListBox::appendItem):
        (QListBox::doneAppendingItems):
        (FrameWin::locationbarVisible):
        (FrameWin::canUndo):
        (FrameWin::mimeTypeForFileName):
        (FrameWin::issueTransposeCommand):
        (RenderCanvasImage::setNeedsImageUpdate):
        (FrameWin::shouldChangeSelection):
        (FrameWin::respondToChangedSelection):
        (FrameWin::clearRecordedFormValues):
        (FrameWin::recordFormValue):
        (BrowserExtensionWin::getHistoryLength):
        (Widget::setIsSelected):
        (GraphicsContext::selectedTextBackgroundColor):
        (GraphicsContext::addRoundedRectClip):
        (QScrollBar::QScrollBar):
        (QScrollBar::~QScrollBar):
        (QScrollBar::setSteps):
        (QScrollBar::scroll):
        (QScrollBar::setValue):
        (QScrollBar::setKnobProportion):
        (QListBox::QListBox):
        (QListBox::~QListBox):
        (QListBox::setSelectionMode):
        (QListBox::setFont):
        * rendering/render_canvasimage.h:

2006-03-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - renamed URLArgs to ResourceRequest, split it into its own header
        - moved methods to get and set ResourceRequest to Frame

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::openURLRequest):
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::openURLRequest):
        (WebCore::MacFrame::submitForm):
        (WebCore::MacFrame::urlSelected):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
        * khtml/ecma/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::WindowFunc::callAsFunction):
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::receivedFirstData):
        (WebCore::Frame::setResourceRequest):
        (WebCore::Frame::resourceRequest):
        (WebCore::Frame::begin):
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::submitForm):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/ResourceRequest.h: Added.
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::contentType):
        (WebCore::ResourceRequest::setContentType):
        (WebCore::ResourceRequest::doPost):
        (WebCore::ResourceRequest::setDoPost):
        (WebCore::ResourceRequest::lockHistory):
        (WebCore::ResourceRequest::setLockHistory):
        (WebCore::ResourceRequest::metaData):

2006-03-16  Darin Adler  <darin@apple.com>

        - need to touch one more file to fix the build
          (Darn the lack of dependencies for autogenerated bindings!)

        * dom/Element.idl: Touch. (Really this time.)

2006-03-16  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Pushed focus ring handling down into GraphicsContext.cpp

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::mouseDown):
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::initFocusRing):
        (WebCore::GraphicsContext::clearFocusRing):
        (WebCore::GraphicsContext::addFocusRingRect):
        * platform/GraphicsContext.h:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::drawFocusRing):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::addFocusRingRects):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::addFocusRingRects):

2006-03-15  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7749
          canvas should be in DOM, not implemented in the JS bindings

        * WebCore.xcodeproj/project.pbxproj: Added new files.
        Changed bindings-generation code to work on the new html directory
        as well as the dom one.

        * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
        * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
        * bindings/js/JSDOMHTML.cpp: Added.
        * html: Added.
        * html/CanvasGradient.cpp: Added.
        * html/CanvasGradient.h: Added.
        * html/CanvasGradient.idl: Added.
        * html/CanvasPattern.cpp: Added.
        * html/CanvasPattern.h: Added.
        * html/CanvasPattern.idl: Added.
        * html/CanvasRenderingContext2D.cpp: Added.
        * html/CanvasRenderingContext2D.h: Added.
        * html/CanvasRenderingContext2D.idl: Added.
        * html/CanvasStyle.cpp: Added.
        * html/CanvasStyle.h: Added.

        * bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
        * bindings/js/JSDOMEvents.cpp: Ditto.
        * dom/Attr.idl: Ditto.
        * dom/DOMImplementation.idl: Ditto.
        * dom/DocumentType.idl: Ditto.
        * dom/MutationEvent.idl: Ditto.
        * dom/ProcessingInstruction.idl: Ditto.
        * dom/Text.idl: Ditto.

        * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
        toJS on a PassRefPtr as well as on a raw pointer.

        * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
        a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
        as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
        CanvasGradient, and CanvasPattern to the "waht to include". Added a special
        case for strings beginning with Canvas to not add an "Impl" suffix. Made the
        generated impl() function be a const member function. Made m_mimpl be private
        instead of protected. Generate a toJS function for each class. Added flaot as
        a type. Generate String, not DOMString. Made the HashTable const.

        * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
        try to make a missing semicolon trigger an error, but ended up giving up on
        that for now.

        * khtml/html/html_canvasimpl.h:
        * khtml/html/html_canvasimpl.cpp:
        (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
        (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
        on m_2DContext, if any.
        (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
        (WebCore::HTMLCanvasElementImpl::getContext): Added.
        (WebCore::HTMLCanvasElementImpl::size): Added.
        (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.

        * platform/Image.h:
        * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
        Changed to take a String instead of a const char*.

        * khtml/html/html_imageimpl.h:
        * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
        Tweaked formatting. Changed to use PassRefPtr.

        * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
        * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::getValueProperty):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        (KJS::toJS):
        (KJS::DOMStyleSheet::getValueProperty):
        (KJS::DOMStyleSheetList::indexGetter):
        (KJS::DOMStyleSheetList::nameGetter):
        (KJS::DOMStyleSheetListFunc::callAsFunction):
        (KJS::DOMCSSStyleSheet::getValueProperty):
        (KJS::DOMCSSRuleList::indexGetter):
        (KJS::DOMCSSRuleListFunc::callAsFunction):
        (KJS::DOMCSSRule::getValueProperty):
        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
        (KJS::DOMCSSValueList::indexGetter):
        (KJS::DOMCSSValueListFunc::callAsFunction):
        (KJS::DOMRect::getValueProperty):
        * khtml/ecma/kjs_css.h:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::indexGetter):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::callAsFunction):
        (KJS::DOMNodeListFunc::callAsFunction):
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMNamedNodeMap::indexGetter):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::toJS):
        (KJS::DOMNamedNodesCollection::indexGetter):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::parseCode):
        (KJS::DOMEvent::getValueProperty):
        (KJS::toJS):
        (KJS::DOMUIEvent::getValueProperty):
        (KJS::DOMMouseEvent::getValueProperty):
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocFunction::callAsFunction):
        (KJS::HTMLDocument::namedItemGetter):
        (KJS::HTMLDocument::getValueProperty):
        (KJS::HTMLDocument::put):
        (KJS::HTMLDocument::putValueProperty):
        (KJS::HTMLElement::classInfo):
        (KJS::HTMLElement::formIndexGetter):
        (KJS::HTMLElement::selectIndexGetter):
        (KJS::HTMLElement::implementsCall):
        (KJS::HTMLElement::callAsFunction):
        (KJS::HTMLElement::linkGetter):
        (KJS::HTMLElement::isIndexGetter):
        (KJS::HTMLElement::styleGetter):
        (KJS::HTMLElement::selectGetter):
        (KJS::HTMLElement::optionGetter):
        (KJS::HTMLElement::inputGetter):
        (KJS::HTMLElement::textAreaGetter):
        (KJS::HTMLElement::buttonGetter):
        (KJS::HTMLElement::labelGetter):
        (KJS::HTMLElement::fieldSetGetter):
        (KJS::HTMLElement::legendGetter):
        (KJS::HTMLElement::objectGetter):
        (KJS::HTMLElement::tableGetter):
        (KJS::HTMLElement::frameGetter):
        (KJS::HTMLElement::iFrameGetter):
        (KJS::HTMLElement::getValueProperty):
        (KJS::HTMLElement::toString):
        (KJS::HTMLElement::pushEventHandlerScope):
        (KJS::toJS):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::HTMLElement::put):
        (KJS::HTMLCollection::indexGetter):
        (KJS::HTMLCollection::callAsFunction):
        (KJS::HTMLCollection::getNamedItems):
        (KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::HTMLSelectCollection::put):
        (KJS::OptionConstructorImp::construct):
        (KJS::ImageConstructorImp::construct):
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRange::getValueProperty):
        (KJS::DOMRangeProtoFunc::callAsFunction):
        (KJS::toJS):
        * khtml/ecma/kjs_range.h:
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::DOMNodeIterator::getValueProperty):
        (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
        (KJS::toJS):
        (KJS::DOMTreeWalker::getValueProperty):
        (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_traversal.h:
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractView::getValueProperty):
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        (KJS::toJS):
        * khtml/ecma/kjs_views.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::namedItemGetter):
        (KJS::Selection::getValueProperty):
        (KJS::SelectionFunc::callAsFunction):
        Rename uses and definitions of all the various converstions to JavaScript
        wrappers to the new common overloaded name: "toJS".

2006-03-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Push more of MacFrame down into Frame.
        Add visibleContentRect method to ScrollView.

        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::imageFromRect):
        (WebCore::MacFrame::setDisplaysWithFocusAttributes):
        (WebCore::MacFrame::bodyBackgroundColor):
        * bridge/mac/WebCoreFrameBridge.mm:
        * page/Frame.cpp:
        (WebCore::Frame::visibleSelectionRect):
        (WebCore::Frame::setDisplaysWithFocusAttributes):
        * page/Frame.h:
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleContentRect):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::scrollXOffset):
        (WebCore::ScrollView::scrollYOffset):
        (WebCore::ScrollView::inWindow):

2006-03-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Remove unused code and clean-up style.

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::advanceToNextMisspelling):
        (WebCore::MacFrame::wheelEvent):
        (WebCore::MacFrame::nextKeyViewInFrame):
        (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
        (WebCore::MacFrame::nextKeyView):
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchMouseEvent):

2006-03-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        http://bugs.webkit.org/show_bug.cgi?id=7790
        addEventListener does not work with "dblclick" event.
        Renamed khtmlDblclickEvent to dblclickEvent to fix.

        Test: fast/events/dblclick-addEventListener.html

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::mouseUp):
        (WebCore::MacFrame::mouseMoved):
        (WebCore::MacFrame::shouldDragAutoNode):
        (WebCore::MacFrame::sendContextMenuEvent):
        * dom/EventNames.h:
        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::dispatchMouseEvent):
        * dom/NodeImpl.h:
        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        * khtml/html/HTMLElementImpl.cpp:
        (WebCore::HTMLElementImpl::parseMappedAttribute):
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchMouseEvent):
        * page/FrameView.h:

2006-03-16  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4395
         REGRESSION: document.open doesn't clear the document

        Test: fast/dom/Document/document-reopen.html
        Test: fast/dom/Document/doc-open-while-parsing.html

        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
        * page/Frame.cpp:
        (WebCore::Frame::isComplete): Added const specifier.
        (WebCore::Frame::isLoadingMainResource): New function.
        * page/Frame.h:

2006-03-15  Adele Peterson  <adele@apple.com>

        Reviewed by Eric.

        - Fixes win32 build.

        * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
        * platform/MouseEvent.h: Added isMouseButtonDown
        * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
        * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.

2006-03-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by geoff.

        * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H

2006-03-15  David Hyatt  <hyatt@apple.com>

        Fix the box-sizing layout test by stopping integer overflowing from
        occurring in the flexbox code.

        Reviewed by beth

        * rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::allowedChildFlex):

2006-03-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Eric

        Fix for some leaks and intermittent broken pipes in the layout 
        tests after check-in for http://bugs.webkit.org/
        show_bug.cgi?id=4171.  

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::capitalize): Call deleteQCharVector() for 
        stringWithPrevious and make sure we don't walk off the end of 
        stringWithPrevious when copying to capitalizedString.

2006-03-15  Adele Peterson  <adele@apple.com>

       Reviewed by Maciej.

       Followup fix for previous checkin.
       http://bugs.webkit.org/show_bug.cgi?id=7114
       <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas 

       Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.  
       This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will 
       also work with nested layers, like those in the RSS View.

       * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):

2006-03-15  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7114
        Dragging to scroll doesn't work for overflow areas

        No test case.  There doesn't appear to be a way to trigger the autoscroll with the EventSender.

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::khtmlMouseMoveEvent):  If we have a layer that can scroll, let the layer handle its autoscroll.  
         Otherwise, call over the bridge to let AppKit scroll the view.
        (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
        * page/Frame.cpp:
        (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
        (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
        (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
        (WebCore::Frame::startAutoscrollTimer): Added.
        (WebCore::Frame::stopAutoscrollTimer): Added.
        * page/Frame.h: Added new autoscroll methods.
        * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
        (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.  
         Except for overflow:hidden areas that aren't editable.  
         In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
        * rendering/render_layer.h: Added new autoscroll methods.

2006-03-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs
        
        <http://bugs.webkit.org/show_bug.cgi?id=7578>
        TinyMCE: Implement execCommand CreateLink
        
        Used ApplyStyleCommand so that creating a link from
        a selection doesn't change document structure.

        * WebCore.xcodeproj/project.pbxproj:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
        (WebCore::ApplyStyleCommand::doApply):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        * editing/ApplyStyleCommand.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::applyStyle):
        * editing/CreateLinkCommand.cpp: Added.
        (WebCore::CreateLinkCommand::CreateLinkCommand):
        (WebCore::CreateLinkCommand::doApply):
        * editing/CreateLinkCommand.h: Added.
        * editing/jsediting.cpp:
        * page/Frame.cpp:
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::applyStyle):
        (WebCore::Frame::applyParagraphStyle):

2006-03-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej

        Fix for http://bugs.webkit.org/show_bug.cgi?id=4171
        This patch changes the word-break algorithm used to apply text-
        transform:capitalize to use a UBreakIterator. This fixes some 
        existing edge cases we have in our text-transform:capitalize 
        support and generally makes our results more consistent.

        * platform/StringImpl.cpp:
        (WebCore::getWordBreakIterator): Returns a UBreakIterator for a 
        given string of a given length.
        (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to 
        step between words and requires the previous character as input.
        * platform/StringImpl.h: Change the declaration of capitalize() to 
        take the previous character as a parameter. 
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText): Find the previous character and 
        send it to StringImpl::capitalize()

2006-03-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by adele
        
        <http://bugs.webkit.org/show_bug.cgi?id=7770>
        Should only dispatch the khtmlTextInsertedEvent for high level editing operations

        Dispatching this event for low level editing operations 
        isn't necessary and causes a big performance regression. 
        Also renamed the event because it's dispatched for changes
        other than just text insertion.

        * dom/EventNames.h: 
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        (WebCore::EditCommand::unapply):
        (WebCore::EditCommand::reapply):
        * khtml/html/HTMLTextFieldInnerElementImpl.cpp:
        (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
        * page/Frame.cpp:
        (WebCore::dispatchKHTMLEditableContentChanged):
        (WebCore::Frame::appliedEditing):
        (WebCore::Frame::unappliedEditing):
        (WebCore::Frame::reappliedEditing):

2006-03-14  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC

        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
        Don't call setBridge(nil).

2006-03-14  Darin Adler  <darin@apple.com>

        - oops, didn't mean to check this in

        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
        Reverted nil-document check that I didn't mean to remove.

2006-03-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6796
        This fix prevents infinite recursion when a block with overflow: 
        auto can't decide if it needs scrollbars or not. This fix puts a 
        guard in place in updateScrollInforAfterLayout that only allows you 
        to re-layout if you are not currently laying out.  

        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::RenderLayer): Initialize 
        m_inOverflowRelayout to false. Fixed spacing too.
        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard 
        around layout calls in overflow:auto case.
        * rendering/render_layer.h: Add m_inOverflowRelayout.

2006-03-14  Darin Adler  <darin@apple.com>

        Reviewed by Geoff and Eric.

        - fix <http://bugs.webkit.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
          hasAttribute always returns false for uppercase attribute names like "STYLE"
        - re-add missing JavaScript binding for getAttributeNS
        - fixed handling of null namespace parameters in getAttributeNS and friends

        Test: fast/dom/Element/attribute-uppercase.html

        To match Gecko's behavior, the magic "lowercasing" of all attribute names
        is only done when calling DOM Level 1 functions that lack an NS suffix.
        The functions with an NS suffix are case sensitive, even in HTML documents.

        * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
        functions instead of calling through to getNamedItemNS and removeNamedItemNS.

        * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
        the NS functions. They can't work that way any more since the lowercasing behavior
        is different.
        * dom/dom_elementimpl.cpp:
        (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
        is an HTML document, and then calls through to the qualified name version. Removed
        the null check since getDocument is guaranteed to never return 0 now that nodes
        hold a reference to their document.
        (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
        (WebCore::ElementImpl::setAttribute): More of the same.
        (WebCore::ElementImpl::setAttributeNS): Ditto.
        (WebCore::ElementImpl::removeAttribute): Ditto.
        (WebCore::ElementImpl::removeAttributeNS): Ditto.
        (WebCore::ElementImpl::getAttributeNode): Ditto.
        (WebCore::ElementImpl::getAttributeNodeNS): Ditto.
        (WebCore::ElementImpl::hasAttribute): Ditto.
        (WebCore::ElementImpl::hasAttributeNS): Ditto.
        (WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
        (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
        (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
        (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
        (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
        check like the one mentioned above.

        * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
        parameters, since we don't want null to turn into "null". Added a semicolon
        to the end of the hasAttributeNS line -- was causing the next declaration to
        be eaten up (so getAttributeNS was completely broken).

        * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
        for both getNamedItemNS and removeNamedItemNS.

        * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.

2006-03-14  David Hyatt  <hyatt@apple.com>

        Fix for bug 7259, opacity performs badly.

        Reviewed by mjs

        Adding some tests in fast/opacity.

        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::requiresLayer):
        * rendering/render_layer.cpp:
        (WebCore::transparencyClipBox):
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::RenderLayer::intersectsDamageRect):
        (WebCore::RenderLayer::absoluteBoundingBox):
        * rendering/render_layer.h:
        (WebCore::RenderLayer::root):

2006-03-14  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix Gif crasher.

        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::do_lzw): Initialize array after new.

2006-03-14  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Make MouseEvents aware of current scroll position.

        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::viewportToContents):
        (WebCore::ScrollView::contentsToViewport):

2006-03-13  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix mouse events to be window-relative.

        * platform/win/MouseEventWin.cpp:
        (WebCore::positionForEvent):
        (WebCore::globalPositionForEvent):
        (WebCore::MouseEvent::MouseEvent):

2006-03-13  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Close DeviceContext leaks in Font code.
        Also add moveCursor stub to make maps.google.com not crash.

        * platform/win/FontWin.cpp:
        (WebCore::getFontData):
        (WebCore::Font::floatWidth):
        (WebCore::Font::drawText):
        * platform/win/TemporaryLinkStubs.cpp:
        (Cursor::Cursor):
        (WebCore::moveCursor):

2006-03-13  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren & TimH.

        <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
        XML_DTD_NODE objects in the tree were causing loadChildSheets to 
        fail to preload child stylesheets, this patch causes us to 
        correctly ignore all nodes besides the first XML_ELEMENT_NODE at 
        the root level when searching the tree for xsl:include statements 
        to pre-load.

        Test: fast/xsl/xslt-second-level-import.xml

        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (WebCore::XSLStyleSheetImpl::loadChildSheets):

2006-03-10  Rob Buis  <buis@kde.org>

        Reviewed by darin.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7666:
        dasharray on rounded rectangles is broken

        Make sure the rounded rectangle is drawn clockwise, as outlined
        in the specification.

        Test: svg/custom/dashArrayOrigin.svg

        * kcanvas/KCanvasCreator.cpp:
        (WebCore::KCanvasCreator::createRoundedRectangle):

2006-03-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Maciej, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5923
          REGRESSION: scrolling on Google maps continues after the mouse is 
          released outside the window

        Test: fast/events/drag-outside-window.html

        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::containsPoint): Always return true for the root
        object to ensure that mouse events occurring outside the window target
        the document.

2006-03-12  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7735
        REGRESSION: crash on importing bookmarks

        No test - only reproducible when Safari imports the bookmarks.

        * dom/EventNames.cpp:
        (WebCore::EventNames::init): Initialize AtomicString before using it.
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::init): Ditto.
        * khtml/html/htmlnames.cpp:
        (WebCore::HTMLNames::init): Ditto.
        * ksvg2/scripts/make_names.pl: Ditto.

2006-03-12  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin, landed by ap.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7724
        Minor refactoring to HTMLParser::handleError() to remove duplicate code

        Test: fast/invalid/missing-address-end-tag.html
        Test: fast/invalid/missing-dl-end-tag.html
        Test: fast/invalid/missing-dt-end-tag.html
        Test: fast/invalid/missing-font-end-tag.html

        * khtml/html/htmlparser.cpp:
        (WebCore::HTMLParser::handleError): Refactored code.

2006-03-10  Darin Adler  <darin@apple.com>

        - fix Windows build

        * bridge/win/FrameWin.h: Removed declaration of generateFrameName.

2006-03-10  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - removed some unused stuff from Frame and MacFrame

        * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
        setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
        preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
        updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
        * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
        m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
        m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
        m_bClearing.
        (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
        (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
        and m_strSelectedURLTarget.

        * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
        requestedURLString.
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
        Removed unused requestedURLString.

        * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.

2006-03-10  Darin Adler  <darin@apple.com>

        - fix Windows build

        * page/FrameTree.cpp: Add include of <stdarg.h>.

2006-03-10  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3308
          Pop-up blocking blocks window.open for already open windows

        - fix http://bugs.webkit.org/show_bug.cgi?id=7422
          Setting a frame name to the same value resets it to a generated one

        - refactor frame-name-related functions into the FrameTree object

        * WebCore.xcodeproj/project.pbxproj: Update for rename.
        * bridge/mac/MacFrame.h: Remove generateFrameName.
        * bridge/mac/MacFrame.mm: Ditto.
        * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.

        * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
        setFrameNamespace, frameNamespace.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
        function on the FrameTree.
        (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
        function on the FrameTree.
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
        contentPart function has been renamed to contentFrame.

        * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
        one method still used on the WebKit side, framesInNamespace:.
        * bridge/mac/WebCoreFrameNamespaces.m: Renamed.
        * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
        framesInNamespace method to use the namespace in WebCore::Page.

        * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
        * bridge/mac/WebCorePageBridge.mm:
        (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
        (-[WebCorePageBridge groupName]): Ditto.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
        (KJS::HTMLElement::frameGetter): Ditto.
        (KJS::HTMLElement::iFrameGetter): Ditto.

        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty): Changed to call FrameTree::childCount
        instead of Frame::frames.
        (KJS::Window::childFrameGetter): Changed to call FrameTree::child
        instead of Frame::childFrameNamed.
        (KJS::Window::namedFrameGetter): Changed to call FrameTree::find
        instead of Frame::findFrame.
        (KJS::Window::indexGetter): Changed to call FrameTree::child
        instead of Frame::frames.
        (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
        FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
        and Frame::findFrame, and Frame::frames.
        (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
        is already open when considering whether to block a pop-up.
        (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
        instead of Frame::frames.
        (KJS::FrameArray::indexGetter): Changed to call FrameTree::child
        instead of Frame::frames.
        (KJS::FrameArray::nameGetter): Changed to call FrameTree::child
        instead of Frame::findFrame.
        (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
        and FrameTree::childCount instead of Frame::findFrame and Frame::frames.

        * khtml/html/html_baseimpl.h:
        * khtml/html/html_baseimpl.cpp:
        (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
        instead of Frame::topLevelFrameCount.
        (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
        instead of Frame::findFrame.
        (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
        instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
        instead of Frame::requestFrameName.
        (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
        instead of Frame::decrementFrameCount. Changed to call FrameTree::child
        instead of Frame::findFrame.
        (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
        changed to call FrameTree::child instead of Frame::findFrame.
        (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
        contentFrame from contentPart.
        (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
        instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
        instead of Frame::requestFrameName.

        * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
        instead of Frame::topLevelFrameCount.

        * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
        frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
        generateFrameName, and requestFrameName functions.
        * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
        instead of Frame::childFrameNamed.

        * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
        Added isDescendantOf, traverseNext, child, find, uniqueChildName.
        * page/FrameTree.cpp:
        (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
        duplication logic.
        (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
        an appropriate frame name if there is a duplicate.
        (WebCore::FrameTree::child): Added.
        (WebCore::FrameTree::find): Added.
        (WebCore::FrameTree::isDescendantOf): Added.
        (WebCore::FrameTree::traverseNext): Added.

        * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
        decrementFrameCount, and frameCount.
        * page/Page.cpp:
        (WebCore::Page::Page): Initialize m_frameCount to 0.
        (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
        (WebCore::Page::setGroupName): Added.
        (WebCore::Page::frameNamespace): Added.

        * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.

2006-03-10  Justin Garcia  <justin.garcia@apple.com>
        
        Reviewed by darin, harrison
        
        ~3x speedup pasting plain text from the console

        * dom/dom_position.cpp:
        (WebCore::Position::next): 
        (WebCore::Position::atEnd): 

2006-03-10  David Hyatt <hyatt@apple.com>

        More refactoring.  Split the FontData into cross-platform and
        platform-specific components.

        Reviewed by eric

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/FontData.h: Added.
        (WebCore::FontData:::m_platformData):
        (WebCore::FontData::platformData):
        (WebCore::FontData::setMetrics):
        (WebCore::FontData::ascent):
        (WebCore::FontData::descent):
        (WebCore::FontData::xHeight):
        (WebCore::FontData::lineSpacing):
        * platform/FontPlatformData.h: Added.
        (WebCore::FontPlatformData::hfont):
        (WebCore::FontPlatformData::scaledFont):
        * platform/win/FontPlatformDataWin.cpp: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/win/FontWin.cpp:
        (WebCore::Font::floatWidth):
        (WebCore::Font::drawText):

2006-03-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - fix win32 networking to properly use async load API

        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJobWndProc):
        (WebCore::TransferJob::start):

2006-03-10  Eric Seidel  <eseidel@apple.com>

        Fix build.

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

2006-03-10  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Hatcher.

        - fix for <rdar://problem/4469419> 
        REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute

        Test: fast/forms/radio-attr-order.html

        * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
        When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
        Also, when the name changes on a checked button, we don't need to check that 
        there's a form before removing it as the checked button for that group.  
        That was an old check from when we required a form to keep track of checked buttons.

2006-03-10  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)

        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/win/FontWin.cpp:
        (WebCore::getCairoFont): Fix crasher.
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::setContentsPos):
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::viewportToContents):
        (WebCore::ScrollView::contentsToViewport):
        (WebCore::ScrollView::scrollXOffset):
        (WebCore::ScrollView::scrollYOffset):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::hScrollBarMode):
        (WebCore::ScrollView::vScrollBarMode):
        (WebCore::ScrollView::suppressScrollBars):
        (WebCore::ScrollView::setHScrollBarMode):
        (WebCore::ScrollView::setVScrollBarMode):
        (WebCore::ScrollView::setScrollBarsMode):
        (WebCore::ScrollView::setStaticBackground):
        (WebCore::ScrollView::updateScrollInfo):
        (WebCore::ScrollView::updateScrollBars):
        * platform/win/TemporaryLinkStubs.cpp:
        (BrowserExtensionWin::goBackOrForward):
        (BrowserExtensionWin::setIconURL):
        (ScrollView::scrollPointRecursively):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::windowHandle): mark as const

2006-03-10  David Hyatt  <hyatt@apple.com>

        Rename the m_renderer variable to m_dataSet now that the class name
        has changed.

        Reviewed by adele

        * platform/Font.cpp:
        (WebCore::m_wordSpacing):
        (WebCore::Font::Font):
        (WebCore::Font::operator=):
        (WebCore::Font::update):
        * platform/Font.h:
        * platform/FontDataSet.h:
        * platform/mac/FontMac.mm:
        (WebCore::Font::getWebCoreFont):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::xHeight):
        (WebCore::Font::isFixedPitch):
        (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/win/FontWin.cpp:
        (WebCore::FontData::FontData):
        (WebCore::FontData::~FontData):
        (WebCore::getFontData):
        (WebCore::FontDataSet::primaryFont):
        (WebCore::Font::floatWidth):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::xHeight):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::isFixedPitch):
        (WebCore::Font::drawText):

2006-03-10  David Hyatt  <hyatt@apple.com>

        Rename FontRenderer to FontDataSet.

        Reviewed by adele

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Font.cpp:
        (WebCore::Font::update):
        * platform/Font.h:
        * platform/FontDataSet.h: Added.
        * platform/FontRenderer.h: Removed.
        * platform/mac/FontMac.mm:
        (WebCore::FontDataSet::~FontDataSet):
        (WebCore::FontDataSet::getWebCoreFont):
        (WebCore::FontDataSet::getRenderer):
        (WebCore::FontDataSet::determinePitch):
        (WebCore::FontDataSet::invalidate):
        * platform/win/FontWin.cpp:
        (WebCore::getCairoFont):
        (WebCore::FontDataSet::~FontDataSet):
        (WebCore::FontDataSet::determinePitch):
        (WebCore::FontDataSet::invalidate):
        (WebCore::FontDataSet::primaryCairoFont):

2006-03-09  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by adele
        
        <http://bugs.webkit.org/show_bug.cgi?id=7692>
        Should use an iterator in CompositeEditCommand::doUnapply()
        
        ~30% speedup of a big undo

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::doUnapply):
        (WebCore::CompositeEditCommand::doReapply):

2006-03-09  Adele Peterson  <adele@apple.com>

        Reviewed by Tim O.

        Removed unnecessary alerts in TextIterator advance methods.  
        We want to be able to use advance() even if the iterator is already at the end.

        * editing/visible_text.cpp:
        (khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end.
        (khtml::CharacterIterator::advance): ditto.
        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
        Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance.

2006-03-09  David Hyatt <hyatt@apple.com>

        Make text paint with the correct foreground color on Windows.
        Make the face validation check case insensitive.
        Force ClearType to be on for font rendering.

        Reviewed by Tim Hatcher

        * platform/win/FontWin.cpp:
        (WebCore::getCairoFont):
        (WebCore::Font::drawText):

2006-03-09  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7675
        When new text fields change from visibility:hidden to visibility:visible, value doesn't display

        Test: fast/forms/input-appearance-visibility.html

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
        Sets the style directly on the children of the inner div.

2006-03-09  David Hyatt <hyatt@apple.com>

        Make basic text rendering work on Win32.

        Reviewed by eric

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        Add FontDescription.h to the Visual Studio project.

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        Add some good default font settings to KHTMLSettings.

        * platform/Font.cpp:
        (WebCore::Font::update):
        Renamed the FontRenderer method to invalidate, so that's what
        update calls now.

        * platform/FontRenderer.h:
        * platform/mac/FontMac.mm:
        (WebCore::FontRenderer::~FontRenderer):
        (WebCore::FontRenderer::invalidate):
        Rename the update method to invalidate.  Make sure the Mac
        font renderer releases its resources when it gets destroyed.

        * platform/win/FontWin.cpp:
        (WebCore::CairoFont::CairoFont):
        (WebCore::CairoFont::~CairoFont):
        (WebCore::CairoFont::hfont):
        (WebCore::CairoFont::scaledFont):
        (WebCore::CairoFont::setMetrics):
        (WebCore::CairoFont::ascent):
        (WebCore::CairoFont::descent):
        (WebCore::CairoFont::xHeight):
        (WebCore::CairoFont::lineSpacing):
        Implement a new class called CairoFont that encapsulates
        the windows HFONT, the cairo font face, and the cairo scaled
        font.

        (WebCore::getCairoFont):
        The method to look up a Cairo font.  This will eventually use
        a hash, but for now it just always makes the fonts over and
        over again.

        (WebCore:::m_pitch):
        (WebCore::FontRenderer::~FontRenderer):
        (WebCore::FontRenderer::determinePitch):
        (WebCore::FontRenderer::invalidate):
        More of the FontRenderer plumbing.

        (WebCore::FontRenderer::primaryCairoFont):
        Returns the primary Cairo font for a family list.  This is basically
        the first family that is present on the system.

        (WebCore::Font::floatWidth):
        The width method uses GetTextExtentPoint32W for now.  This
        is totally wrong and will eventually be replaced by Cairo
        code.

        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::xHeight):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::isFixedPitch):
        Accessors for the metrics and pitch info.

        (WebCore::Font::drawText):
        Drawing of text.  Uses TextOut and is also basically throwaway
        code.

        * platform/win/TemporaryLinkStubs.cpp:
        (Font::checkSelectionPoint):
        Move the checkSelectionPoint method back to the link stubs.

2006-03-09  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
    
        Fixed formatting and changed functions to take in 
        a const Selection& instead of a Selection.

        * editing/ModifySelectionListLevelCommand.cpp:
        (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
        (WebCore::modifySelectionListLevel):
        (WebCore::getStartEndListChildren):
        (WebCore::canIncreaseListLevel):
        (WebCore::canDecreaseListLevel):
        (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
        (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
        * editing/ModifySelectionListLevelCommand.h:

2006-03-09  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6814
        Implement selection methods for RenderTextField

        Test: fast/forms/input-appearance-selection.html

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle): removed extra space.
        (WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and 
         m_div will be initialized as the renderer gets attached.
        (WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition.
        (WebCore::RenderTextField::selectionEnd): ditto.
        (WebCore::RenderTextField::setSelectionStart): calls setSelectionRange.
        (WebCore::RenderTextField::setSelectionEnd): ditto.
        (WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection.
        (WebCore::RenderTextField::visiblePositionForIndex): Added helper method.
        (WebCore::RenderTextField::indexForVisiblePosition): Added helper method.
        * rendering/RenderTextField.h: Added new helper methods for selection.

2006-03-09  David Carson  <dacarson@gmail.com>

        Test: fast/canvas/fillrect_gradient.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6103
          Rectangles are not filled according to the Web Applications Working Draft

        * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction):
        Modified fillrect function to check and use a gradient if set.
        Builds a path to fill rects with a gradient.

2006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        No test because this fixes an existing pixel test (and does not affect
        the render tree).

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7664
          REGRESSION: tests that include numeric list markers fail in pixel mode

        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText): Restored AlignRight behavior.

2006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        No test because we couldn't figure out how to write one.

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7680
          REGRESSION: Ellipsis painted over the chrome and in invalid contexts

        * rendering/render_line.cpp:
        (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
        GraphicsContext::drawText, which checks the paintingDisabled flag.

2006-03-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - make link clicks work by propagating them up to a client

        * Viewer/ImageView.cpp:
        * bridge/win/FrameWin.cpp:
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::incomingReferrer):

2006-03-09  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Add support for Timers under 10ms.
        Fix random crashers due to multi-threaded loading.

        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        (WebCore::TransferJobInternal::TransferJobInternal):
        * platform/Widget.h:
        * platform/win/SharedTimerWin.cpp:
        (WebCore::TimerWindowWndProc):
        (WebCore::initializeOffScreenTimerWindow):
        (WebCore::setSharedTimerFireTime):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::TransferJob::assembleResponseHeaders):
        (WebCore::TransferJob::retrieveCharset):
        * platform/win/TransferJobWin.cpp:
        (WebCore::addToOutstandingJobs):
        (WebCore::removeFromOutstandingJobs):
        (WebCore::lookupTransferJob):
        (WebCore::TransferJobWndProc):
        (WebCore::initializeOffScreenTransferJobWindow):
        (WebCore::TransferJob::~TransferJob):
        (WebCore::transferJobStatusCallback):
        (WebCore::TransferJob::start):
        (WebCore::TransferJob::cancel):
        * platform/win/WidgetWin.cpp:

2006-03-08  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=7579>
        TinyMCE: Implement execCommand(insertImage, ...)
        
        Implemented InsertImage and also changed paste to use a single 
        rule for when to remove junk that remains after node removal. 

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors):
        (WebCore::ReplaceSelectionCommand::doApply):
        (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
        * editing/ReplaceSelectionCommand.h:
        * editing/htmlediting.cpp:
        * editing/jsediting.cpp:

2006-03-08  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix build script to properly copy dll files.

        * WebCore.vcproj/WebCore/build-generated-files.sh:

2006-03-08  Rob Buis  <buis@kde.org>

        Reviewed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none

        For svg elements that can render, call StyledElementImpl::rendererIsNeeded
        to decide whether the element should render. In particular this way
        any setting of display="none" is handled.

        * ksvg2/svg/SVGAElementImpl.h:
        (WebCore::SVGAElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGCircleElementImpl.h:
        (WebCore::SVGCircleElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGEllipseElementImpl.h:
        (WebCore::SVGEllipseElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGForeignObjectElementImpl.h:
        (WebCore::SVGForeignObjectElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGGElementImpl.h:
        (WebCore::SVGGElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGImageElementImpl.h:
        (WebCore::SVGImageElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGLineElementImpl.h:
        (WebCore::SVGLineElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGMarkerElementImpl.h:
        (WebCore::SVGMarkerElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGMaskElementImpl.h:
        (WebCore::SVGMaskElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPathElementImpl.h:
        (WebCore::SVGPathElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPatternElementImpl.h:
        (WebCore::SVGPatternElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPolyElementImpl.h:
        (WebCore::SVGPolyElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGRectElementImpl.h:
        (WebCore::SVGRectElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGSVGElementImpl.h:
        (WebCore::SVGSVGElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGSwitchElementImpl.h:
        (WebCore::SVGSwitchElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGTSpanElementImpl.h:
        (WebCore::SVGTSpanElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGTextElementImpl.h:
        (WebCore::SVGTextElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGUseElementImpl.h:
        (WebCore::SVGUseElementImpl::rendererIsNeeded):

2006-03-08  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Add stubs to allow JavaScript-enabled WebCore to not crash.
        Add ScreenWin implementation.
        Add alert() support.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::runJavaScriptAlert):
        (WebCore::FrameWin::runJavaScriptConfirm):
        * platform/win/ScreenWin.cpp: Added.
        (WebCore::monitorInfoForWidget):
        (WebCore::WebCore::screenRect):
        (WebCore::WebCore::screenDepth):
        (WebCore::WebCore::usableScreenRect):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::canUndo):
        (FrameWin::runJavaScriptPrompt):
        (FrameWin::canPaste):
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (PlugInInfoStore::pluginCount):
        (WebCore::refreshPlugins):
        (FrameWin::clearUndoRedoOperations):
        (FrameWin::incomingReferrer):

2006-03-08  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix another instance of the bug I just fixed in the Macintosh-specific code path

        * platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant.
        * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
        Use the correct rule for minimum frame durations.

2006-03-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - very rough implementation of networking in TransferJob for windows

        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        (WebCore::TransferJobInternal::TransferJobInternal):
        * platform/win/TransferJobWin.cpp:
        (WebCore::transferJobStatusCallback):
        (WebCore::TransferJob::start):

2006-03-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fix win32 build

        * platform/win/FontWin.cpp:
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::clearFocusRing):
        (GraphicsContext::selectedTextBackgroundColor):
        (Font::selectionRectForText):

2006-03-08  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix one more thing from http://bugs.webkit.org/show_bug.cgi?id=7528
          REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs

        No layout test because I don't know how to test animated GIF speed.

        * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
        Use the correct rule for minimum frame durations. It's a bit non-intuitive, so
        I made the comment more explicit. The old code in WebKit had this rule.

2006-03-08  David Hyatt  <hyatt@apple.com>

        Make GraphicsContext call into Font to draw all text and eliminate
        all knowledge of WebTextRenderers from it.

        Reviewed by darin

        * platform/Font.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText):
        (WebCore::GraphicsContext::drawHighlightForText):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawLineForMisspelling):
        (WebCore::GraphicsContext::misspellingLineThickness):
        * platform/GraphicsContext.h:
        (WebCore::GraphicsContext::platformContext):
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::platformContext):
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::drawLineForText):
        (WebCore::Font::drawLineForMisspelling):
        (WebCore::Font::misspellingLineThickness):
        * platform/mac/GraphicsContextMac.mm:
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawText):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintTextMatchMarker):

2006-03-08  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed super-fast animation of many animated GIFs

        No layout test because I don't know how to test animated GIF speed.

        * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
        Always take the minimum duration into account, even if there's some kind of failure
        getting the duration from the GIF.

2006-03-07  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7655
          unwanted output while running layout tests

        * khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString):
        Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings
        to be logged to stdout or stderr. If we later decide we want the error messages,
        then we should do the additional work to put them into the web page or the
        console (along with the JavaScript errors).

        * platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect
        against integer overflow due to large array size. Noticed this while looking into
        the malloc error message.

2006-03-07  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7647
          Crash when typing into text contols

        I missed a couple places that were still saying KWQWidgetHolder
        in the change I landed late last night.

        * kwq/KWQTextArea.h:
        * kwq/KWQTextArea.mm:
        * kwq/KWQTextField.h:
        Changed them all to say WebCoreWidgetHolder.

2006-03-07  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix cursor support on win32.

        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::setCursor):

2006-03-07  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix basic text support.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawText):

2006-03-07  Dave Hyatt <hyatt@apple.com>

        Eliminate the unused parameters of the QString version of drawText.

        Reviewed by eric

        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawText):
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawText):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::paint):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):

2006-03-07  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Add very basic text support.
        Sort a few more stubs.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::font):
        (WebCore::GraphicsContext::setFont):
        (WebCore::GraphicsContext::drawText):
        * platform/win/FontWin.cpp: Added.
        (WebCore::Font::drawText):
        * platform/win/TemporaryLinkStubs.cpp:
        (QComboBox::focusPolicy):
        (ScrollView::scrollXOffset):
        (Font::isFixedPitch):
        (Path::boundingRect):

2006-03-07  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7319
        Can't see caret at the end of a contenteditable div with overflow:hidden

        No tests added since I don't think the blinking caret will show up in our tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::rightmostPosition): When calculating the rightmostPosition for editable blocks, 
        we need to account for the caret that can be drawn 1 px past the last child inline box.

2006-03-07  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=3905
        Missing </title> makes page blank

        Test: fast/js/exception-linenums-in-html-1.html
        Test: fast/js/exception-linenums-in-html-2.html
        Test: fast/js/missing-title-end-tag-js.html
        Test: fast/tokenizer/missing-title-end-tag-1.html
        Test: fast/tokenizer/missing-title-end-tag-2.html

        * khtml/html/htmlparser.cpp:
        (WebCore::HTMLParser::handleError): Add check for missing </title> tag and handle
        this condition if identified.
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
        document looking for a </title> tag, reset the state of the tokenizer and
        retokenize with no special handling for <title>.  The parser will handle the
        missing </title> tag in HTMLParser::handleError().
        * platform/SegmentedString.cpp:
        (WebCore::SegmentedString::SegmentedString): Added copy constructor.
        (WebCore::SegmentedString::operator=): Added assignment operator.  Previously the
        compiler was generating a default method for the assignment operator, but it did
        not handle m_currentChar properly.
        * platform/SegmentedString.h: Added prototypes for copy constructor and
        assignment operator.

2006-03-07  Eric Seidel  <eseidel@apple.com>

        Fix win32 link stubs.

        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::searchableIndexIntroduction):
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        (WebCore::findNextSentenceFromIndex):
        (WebCore::findSentenceBoundary):
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::defaultLanguage):

2006-03-07  Darin Adler  <darin@apple.com>

        Reviewed by Adele, except for the first change listed.

        - fix recently-introduced bug that GuardMalloc found while I was debugging my other change

        * rendering/render_frames.cpp: (WebCore::RenderPart::~RenderPart):
        Set m_widget to 0 before calling deref so we don't end up trying to do unwanted work.

        - removed 10 more files from KWQ

        * ForwardingHeaders/klocale.h: Removed.

        * khtml/misc/helper.cpp: Removed.
        * khtml/misc/helper.h: Removed.

        * kwq/KWQCollection.h: Removed.
        * kwq/KWQKCookieJar.h: Removed.
        * kwq/KWQKCookieJar.mm: Removed.
        * kwq/KWQKLocale.h: Removed.
        * kwq/KWQKLocale.mm: Removed.
        * kwq/KWQKURL.h: Removed.
        * kwq/KWQKURL.mm: Removed.
        * kwq/KWQTextUtilities.h: Removed.
        * kwq/KWQTextUtilities.mm: Removed.
        * kwq/KWQView.h: Removed.

        * platform/CookieJar.h: Added.
        * platform/Language.h: Added.
        * platform/LocalizedStrings.h: Added.
        * platform/TextBoundaries.h: Added.
        * platform/mac/CookieJar.mm: Added.
        * platform/mac/Language.mm: Added.
        * platform/mac/LocalizedStringsMac.mm: Added.
        * platform/mac/TextBoundaries.mm: Added.
        * platform/mac/WebCoreWidgetHolder.h: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files.

        * bridge/mac/WebCoreFrameBridge.mm: Updated includes.
        (-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder.

        * editing/visible_units.cpp:
        (WebCore::previousWordPositionBoundary):
        (WebCore::nextWordPositionBoundary):
        (WebCore::previousSentencePositionBoundary):
        (WebCore::nextSentencePositionBoundary):
        Call TextBoundaries.h functions instead of helper.h ones.

        * khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty):
        * ksvg2/svg/SVGTestsImpl.cpp: (WebCore::SVGTestsImpl::isValid):
        Changed to call defaultLanguage; cleaned up formatting.

        * khtml/html/HTMLFormElementImpl.cpp: Removed stray comment.

        * khtml/html/html_documentimpl.cpp:
        (WebCore::HTMLDocumentImpl::cookie):
        (WebCore::HTMLDocumentImpl::setCookie):
        Call CookieJar.h functions.

        * css/css_valueimpl.cpp:
        * css/cssparser.cpp:
        * css/cssstyleselector.cpp:
        * dom/DocumentImpl.cpp:
        * dom/dom_position.cpp:
        * khtml/ecma/kjs_window.cpp:
        * khtml/html/HTMLInputElementImpl.cpp:
        * khtml/html/html_headimpl.cpp:
        * khtml/html/htmlparser.cpp:
        * khtml/misc/decoder.cpp:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * kwq/KWQComboBox.mm:
        * kwq/KWQKSSLKeyGen.mm:
        * kwq/KWQListBox.mm:
        * kwq/KWQListImpl.cpp:
        * kwq/KWQListImpl.h:
        * kwq/KWQScrollBar.mm:
        * kwq/KWQSlider.mm:
        * kwq/KWQTextField.mm:
        * kwq/KWQValueList.h:
        * loader/DocLoader.cpp:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::beforeMouseDown):
        (WebCore::Widget::afterMouseDown):
        * rendering/render_applet.cpp:
        * rendering/render_form.cpp:
        * rendering/render_image.cpp:
        * rendering/render_list.cpp:
        Updated includes and protocol names.

        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove
        QT_VERSION code.
        * platform/QString.h: Remove QT_VERSION.

        * kwq/KWQPtrList.h: Change to no longer use QPtrCollection.

        * kwq/KWQRenderTreeDebug.h:
        * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation):
        Remove unused debuggingRenderTree boolean.

2006-03-07  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        * platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build.

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Make spinneret run again, fix webview to support dynamic resize.

        * platform/win/TemporaryLinkStubs.cpp:
        (Widget::setDrawingAlpha):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::setClient):
        (WebCore::Widget::client):
        (WebCore::Widget::frameGeometry):

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fix win32 build.

        * platform/win/TemporaryLinkStubs.cpp:
        (QScrollBar::QScrollBar):
        (QTextEdit::setAlignment):
        (Widget::client):
        (Widget::setClient):
        (QLineEdit::setAlignment):

2006-03-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7566 (also 
        <rdar://problem/4467128> ). Must call update() on a Font before 
        attempting to use it because the FontRenderer is not created until 
        update() is called.

        * kwq/KWQListBox.mm:
        (QListBox::sizeForNumberOfLines): Call update()
        (-[KWQTableView drawRow:clipRect:]): Call update()

2006-03-06  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - http://bugs.webkit.org/show_bug.cgi?id=7564
          remove QObject, QGuardedPtr, slots, and signals

        I had written a detailed change log entry, but I lost it!
        I'm too annoyed to write one all over again.

        * ForwardingHeaders/qguardedptr.h: Removed.
        * ForwardingHeaders/qobject.h: Removed.

        * kwq/KWQGuardedPtr.cpp: Removed.
        * kwq/KWQGuardedPtr.h: Removed.
        * kwq/KWQNamespace.h: Removed.
        * kwq/KWQObject.cpp: Removed.
        * kwq/KWQObject.h: Removed.
        * kwq/KWQSignal.cpp: Removed.
        * kwq/KWQSignal.h: Removed.
        * kwq/KWQSlot.cpp: Removed.
        * kwq/KWQSlot.h: Removed.

        * platform/WidgetClient.h: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.

        * bindings/js/JSDOMCore.cpp: Touched.
        * bindings/js/JSDOMEvents.cpp: Ditto.

        * bridge/BrowserExtension.h:
        (WebCore::BrowserExtension::~BrowserExtension):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge elementForView:]):
        * dom/CDATASectionImpl.cpp:
        (WebCore::CDATASectionImpl::cloneNode):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::~DocumentImpl):
        * dom/DocumentImpl.h:
        * kcanvas/device/KRenderingDevice.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        * khtml/ecma/kjs_window.cpp:
        (KJS::FrameArray::indexGetter):
        (KJS::FrameArray::nameGetter):
        * khtml/html/html_documentimpl.cpp:
        (WebCore::HTMLDocumentImpl::createTokenizer):
        * khtml/html/htmlparser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::insertNode):
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::commentCreateErrorCheck):
        (WebCore::HTMLParser::noscriptCreateErrorCheck):
        (WebCore::HTMLParser::isInline):
        (WebCore::HTMLParser::finished):
        * khtml/html/htmlparser.h:
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::parseComment):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::stopParsing):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::processToken):
        (WebCore::parseHTMLDocumentFragment):
        * khtml/html/htmltokenizer.h:
        * kwq/KWQComboBox.h:
        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton setPopulatingMenu:QComboBox:::]):
        (QComboBox::itemSelected):
        (-[KWQPopUpButton becomeFirstResponder]):
        (-[KWQPopUpButton resignFirstResponder]):
        * kwq/KWQFileButton.h:
        (KWQFileButton::filename):
        * kwq/KWQFileButton.mm:
        (KWQFileButton::KWQFileButton):
        (KWQFileButton::filenameChanged):
        (-[KWQFileButtonAdapter filenameChanged:]):
        (-[KWQFileButtonAdapter focusChanged:]):
        (-[KWQFileButtonAdapter clicked]):
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        (QLineEdit::QLineEdit):
        (QLineEdit::setAlignment):
        (KWQNSTextAlignment):
        * kwq/KWQListBox.h:
        (QListBox::changingSelection):
        * kwq/KWQListBox.mm:
        (QListBox::QListBox):
        (-[KWQTableView becomeFirstResponder]):
        (-[KWQTableView resignFirstResponder]):
        (-[KWQTableView tableViewSelectionDidChange:]):
        * kwq/KWQScrollBar.h:
        (WebCore::):
        (QScrollBar::orientation):
        * kwq/KWQScrollBar.mm:
        (-[KWQScrollBar initWithQScrollBar:]):
        (QScrollBar::QScrollBar):
        (QScrollBar::valueChanged):
        (QScrollBar::scroll):
        * kwq/KWQSlider.h:
        * kwq/KWQSlider.mm:
        (-[KWQSlider mouseDown:]):
        (-[KWQSlider slide:]):
        (-[KWQSlider becomeFirstResponder]):
        (-[KWQSlider resignFirstResponder]):
        (QSlider::QSlider):
        (QSlider::sliderValueChanged):
        (QSlider::dimensions):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView textViewDidChangeSelection:]):
        (-[KWQTextAreaTextView textDidChange:]):
        (-[KWQTextAreaTextView becomeFirstResponder]):
        (-[KWQTextAreaTextView resignFirstResponder]):
        (-[KWQTextAreaTextView mouseDown:]):
        (-[KWQTextAreaTextView dispatchHTMLEvent:]):
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        (QTextEdit::QTextEdit):
        (QTextEdit::setAlignment):
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController action:]):
        (-[KWQTextFieldController controlTextDidEndEditing:]):
        (-[KWQTextFieldController controlTextDidChange:]):
        (-[KWQTextFieldController textChanged]):
        (-[KWQTextFieldController textView:didHandleEvent:]):
        (-[KWQTextFieldController setHasFocus:]):
        (-[KWQTextFieldController textViewDidChangeSelection:]):
        * loader/CachedObject.h:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::setOpener):
        (WebCore::Frame::nodeForWidget):
        (WebCore::Frame::disconnectOwnerRenderer):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * page/FrameView.cpp:
        (WebCore::FrameView::~FrameView):
        * platform/Brush.h:
        * platform/Pen.h:
        * platform/Widget.cpp:
        (WebCore::Widget::isFrameView):
        * platform/Widget.h:
        (WebCore::):
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawText):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::Widget):
        (WebCore::Widget::focusPolicy):
        (WebCore::Widget::sendConsumedMouseUp):
        (WebCore::Widget::setClient):
        (WebCore::Widget::client):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::operator delete):
        * rendering/render_applet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::clicked):
        (WebCore::RenderFormElement::textAlignment):
        (WebCore::RenderLineEdit::RenderLineEdit):
        (WebCore::RenderLineEdit::selectionChanged):
        (WebCore::RenderLineEdit::returnPressed):
        (WebCore::RenderLineEdit::performSearch):
        (WebCore::RenderLineEdit::valueChanged):
        (WebCore::RenderFileButton::RenderFileButton):
        (WebCore::RenderFileButton::returnPressed):
        (WebCore::RenderFileButton::valueChanged):
        (WebCore::RenderLegend::RenderLegend):
        (WebCore::RenderSelect::RenderSelect):
        (WebCore::RenderSelect::updateFromElement):
        (WebCore::RenderSelect::valueChanged):
        (WebCore::RenderSelect::selectionChanged):
        (WebCore::RenderSelect::createListBox):
        (WebCore::RenderTextArea::RenderTextArea):
        (WebCore::RenderTextArea::valueChanged):
        (WebCore::RenderTextArea::selectionChanged):
        (WebCore::RenderSlider::RenderSlider):
        (WebCore::RenderSlider::valueChanged):
        * rendering/render_form.h:
        (WebCore::RenderFormElement::element):
        (WebCore::RenderLineEdit::element):
        (WebCore::RenderFileButton::element):
        (WebCore::RenderFileButton::isEditable):
        (WebCore::RenderSelect::element):
        (WebCore::RenderTextArea::element):
        (WebCore::RenderSlider::element):
        * rendering/render_frames.cpp:
        (WebCore::RenderPart::RenderPart):
        (WebCore::RenderPart::~RenderPart):
        (WebCore::RenderPart::setFrame):
        (WebCore::RenderPart::setWidget):
        (WebCore::RenderPart::deleteWidget):
        (WebCore::RenderFrame::RenderFrame):
        (WebCore::RenderPartObject::RenderPartObject):
        (WebCore::RenderPartObject::layout):
        * rendering/render_frames.h:
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::valueChanged):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::hitTest):
        * rendering/render_layer.h:
        (WebCore::RenderLayer::parent):
        (WebCore::RenderLayer::previousSibling):
        (WebCore::RenderLayer::nextSibling):
        (WebCore::RenderLayer::firstChild):
        (WebCore::RenderLayer::lastChild):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::RenderWidget):
        (WebCore::RenderWidget::destroy):
        (WebCore::RenderWidget::~RenderWidget):
        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::layout):
        (WebCore::RenderWidget::sendConsumedMouseUp):
        (WebCore::RenderWidget::focusIn):
        (WebCore::RenderWidget::focusOut):
        (WebCore::RenderWidget::scrollToVisible):
        (WebCore::RenderWidget::isVisible):
        (WebCore::RenderWidget::element):
        (WebCore::RenderWidget::deleteWidget):
        * rendering/render_replaced.h:
        * xml/xmlhttprequest.cpp:
        (WebCore::requestsByDocument):
        (WebCore::addToRequestsByDocument):
        (WebCore::removeFromRequestsByDocument):
        (WebCore::XMLHttpRequest::getResponseText):
        (WebCore::XMLHttpRequest::getResponseXML):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::~XMLHttpRequest):
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::overrideMIMEType):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::getRequestHeader):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::getSpecificHeader):
        (WebCore::XMLHttpRequest::responseIsXML):
        (WebCore::XMLHttpRequest::getStatus):
        (WebCore::XMLHttpRequest::getStatusText):
        (WebCore::XMLHttpRequest::receivedAllData):
        (WebCore::XMLHttpRequest::receivedRedirect):
        (WebCore::XMLHttpRequest::receivedData):
        (WebCore::XMLHttpRequest::cancelRequests):
        (WebCore::XMLHttpRequest::detachRequests):
        * xml/xmlhttprequest.h:

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by beth.

        Reorganize link stubs (alphabetically).
        Stub out Path methods to make cnn.com work.

        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::viewportToGlobal):
        (FrameView::updateBorder):
        (FrameView::isFrameView):
        (FrameView::topLevelWidget):
        (QScrollBar::~QScrollBar):
        (QScrollBar::setSteps):
        (QScrollBar::scroll):
        (QScrollBar::QScrollBar):
        (QScrollBar::setValue):
        (QScrollBar::setKnobProportion):
        (QListBox::QListBox):
        (QListBox::setSelected):
        (QListBox::sizeForNumberOfLines):
        (QListBox::isSelected):
        (QListBox::appendItem):
        (QListBox::doneAppendingItems):
        (ScrollView::scrollXOffset):
        (QComboBox::focusPolicy):
        (QTextEdit::QTextEdit):
        (QTextEdit::~QTextEdit):
        (QTextEdit::textWithHardLineBreaks):
        (QTextEdit::sizeWithColumnsAndRows):
        (QTextEdit::setColors):
        (QTextEdit::setFont):
        (QTextEdit::setWritingDirection):
        (QTextEdit::checksDescendantsForFocus):
        (QTextEdit::selectionStart):
        (QTextEdit::hasSelectedText):
        (QTextEdit::setReadOnly):
        (QTextEdit::setDisabled):
        (QTextEdit::setLineHeight):
        (QTextEdit::setSelectionStart):
        (QTextEdit::text):
        (QTextEdit::setWordWrap):
        (QTextEdit::setAlignment):
        (QTextEdit::getCursorPosition):
        (QTextEdit::setSelectionRange):
        (Widget::enableFlushDrawing):
        (Widget::isEnabled):
        (Widget::focusPolicy):
        (Widget::disableFlushDrawing):
        (Widget::setIsSelected):
        (Widget::unlockDrawingFocus):
        (KJavaAppletWidget::KJavaAppletWidget):
        (ScrollView::scrollPointRecursively):
        (ScrollView::scrollBy):
        (QLineEdit::selectAll):
        (QLineEdit::addSearchResult):
        (QLineEdit::selectionStart):
        (QLineEdit::hasSelectedText):
        (QLineEdit::selectedText):
        (QLineEdit::setAutoSaveName):
        (QLineEdit::checksDescendantsForFocus):
        (QLineEdit::setMaxResults):
        (GraphicsContext::GraphicsContext):
        (GraphicsContext::addFocusRingRect):
        (GraphicsContext::drawLineForMisspelling):
        (GraphicsContext::drawFocusRing):
        (GraphicsContext::selectedTextBackgroundColor):
        (GraphicsContext::drawHighlightForText):
        (GraphicsContext::misspellingLineThickness):
        (GraphicsContext::addRoundedRectClip):
        (QSlider::QSlider):
        (QSlider::sizeHint):
        (QSlider::setValue):
        (QSlider::setMaxValue):
        (QSlider::~QSlider):
        (QSlider::setFont):
        (QListBox::setFont):
        (QListBox::~QListBox):
        (QListBox::setSelectionMode):
        (QListBox::setEnabled):
        (QListBox::clear):
        (QListBox::checksDescendantsForFocus):
        (KWQFileButton::KWQFileButton):
        (KWQFileButton::click):
        (KWQFileButton::sizeForCharacterWidth):
        (KWQFileButton::frameGeometry):
        (KWQFileButton::setFilename):
        (KWQFileButton::baselinePosition):
        (KWQFileButton::setFrameGeometry):
        (QSlider::focusPolicy):
        (QListBox::focusPolicy):
        (Cursor::Cursor):
        (MouseEvent::MouseEvent):
        (KWQKCookieJar::cookieEnabled):
        (WebCore::screenDepth):
        (WebCore::usableScreenRect):
        (FrameWin::createPlugin):
        (ScrollView::resizeContents):
        (ScrollView::visibleHeight):
        (ScrollView::visibleWidth):
        (ScrollView::setContentsPos):
        (ScrollView::contentsHeight):
        (ScrollView::contentsWidth):
        (ScrollView::inWindow):
        (Path::~Path):
        (Path::Path):
        (Path::contains):
        (Path::translate):
        (Path::boundingRect):
        (Path::operator=):

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

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=6844>
        elementAtPoint returns the list when the point is over a list marker

        Call RenderObject::setInnerNode(), which sets both the 
        innerNode and the innerNonSharedNode.

        * rendering/render_list.cpp:
        (WebCore::RenderListItem::nodeAtPoint):
        * rendering/render_list.h:

2006-03-05  Darin Adler  <darin@apple.com>

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files
        from the kwq directory.

2006-03-05  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - moved all the remnants of the public C++ DOM API out of khtml/dom
        - changed from "int" to "ExceptionCode" for DOM exceptions
        - removed unused CSS_HTML_RELATIVE
        - changed offsetInCharacters to be a member function of NodeImpl
        - changed DOM functions that take a NodeType to use NodeType instead of
          unsigned short for clarity (will still be unsigned short in bindings)
        - changed exception constants so they can be used directly in the
          implementation code (added in the offsets for different types of exceptions)
        - replaced the eventListenerType function with an isHTMLEventListener function
        - got rid of EventListenerEvent, which is a synonym for EventImpl*
        - eliminated handleEventImpl, whish is now the same as handleEvent

        - did other preparation for the "remove Impl suffix" renaming
          (tested by using a script that does the renaming)

        * khtml/dom/css_rule.h: Removed.
        * khtml/dom/css_stylesheet.h: Removed.
        * khtml/dom/css_value.h: Removed.
        * khtml/dom/dom2_events.cpp: Removed.
        * khtml/dom/dom2_events.h: Removed.
        * khtml/dom/dom2_range.h: Removed.
        * khtml/dom/dom2_traversal.cpp: Removed.
        * khtml/dom/dom2_traversal.h: Removed.
        * khtml/dom/dom_exception.h: Removed.
        * khtml/dom/dom_node.h: Removed.

        * dom/EventListener.h: Added.
        * dom/ExceptionCode.h: Added.

        * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
        * WebCore+SVG/kdomevents.h: Removed.

        * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
        names and exception prefix for changes in DOM exceptions.

        * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be
        recompiled. We need to get this fixed!
        * bindings/js/JSDOMEvents.cpp: Ditto.

        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationEvent.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * dom/WheelEvent.idl:
        Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
        Added license headers.

        * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes.
        Changed from a single "using namespace WebCore" to individual using statements
        because of the imminent conflict between DOMImplementation in Objective C
        and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef
        for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int.

        * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception
        codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated
        and use basic DOM exception codes instead. We might have to do something for binary
        compatibility eventually, but perhaps not.

        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMEventsInternal.h:
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/objc/DOMViews.mm:
        * bindings/objc/DOMViewsInternal.h:
        Fixed garbled license agreements.
        Changed to use ExceptionCode instead of int and name the variable "ec".

        * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead
        of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be
        addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name
        of the WebCore class. This helps work around what seems like a bug in namespace support
        in Objective-C mode, although the bug only happens after the "remove Impl" renaming.
        * bindings/objc/DOMInternal.mm:
        (getDOMWrapperImpl): Changed to use HashMap.
        (addDOMWrapperImpl): Ditto.
        (removeDOMWrapper): Ditto.
        (raiseDOMException): Update to use new names for exception number ranges.

        * bridge/mac/WebCoreFrameBridge.mm:
        * khtml/ecma/xmlserializer.cpp:
        * kwq/KWQAccObject.mm:
        Removed unneeded includes.

        * css/css_ruleimpl.h: Moved "rule type" into this header.

        * dom/CommentImpl.h:
        * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.

        * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
        Changed this around so we don't have a local variable named docImpl.

        * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
        constants.

        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent.
        (KJS::JSAbstractEventListener::isHTMLEventListener): Added.

        * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
        InputMutationListener. (Might be unnecessary since this class might be deleted soon.)

        * bridge/mac/MacFrame.mm:
        * css/css_computedstyle.cpp:
        * css/css_computedstyle.h:
        * css/css_ruleimpl.cpp:
        * css/css_stylesheetimpl.cpp:
        * css/css_stylesheetimpl.h:
        * css/css_valueimpl.cpp:
        * css/css_valueimpl.cpp:
        * css/css_valueimpl.h:
        * css/css_valueimpl.h:
        * css/cssparser.cpp:
        * css/cssstyleselector.cpp:
        * dom/CDATASectionImpl.cpp:
        * dom/CDATASectionImpl.h:
        * dom/CharacterDataImpl.cpp:
        * dom/CharacterDataImpl.h:
        * dom/ContainerNodeImpl.cpp:
        * dom/DOMImplementationImpl.cpp:
        * dom/DocumentFragmentImpl.cpp:
        * dom/DocumentFragmentImpl.h:
        * dom/DocumentImpl.cpp:
        * dom/DocumentImpl.h:
        * dom/DocumentTypeImpl.cpp:
        * dom/DocumentTypeImpl.h:
        * dom/NamedNodeMapImpl.h:
        * dom/NodeImpl.cpp:
        * dom/NodeImpl.h:
        * dom/NodeListImpl.cpp:
        * dom/TextImpl.cpp:
        * dom/TextImpl.h:
        * dom/dom2_eventsimpl.cpp:
        * dom/dom2_eventsimpl.h:
        * dom/dom2_rangeimpl.cpp:
        * dom/dom2_rangeimpl.h:
        * dom/dom2_traversalimpl.cpp:
        * dom/dom2_traversalimpl.h:
        * dom/dom_elementimpl.cpp:
        * dom/dom_elementimpl.h:
        * dom/dom_position.cpp:
        * dom/dom_xmlimpl.cpp:
        * dom/dom_xmlimpl.h:
        * dom/xml_tokenizer.cpp:
        * editing/AppendNodeCommand.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/DeleteFromTextNodeCommand.cpp:
        * editing/InsertIntoTextNodeCommand.cpp:
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertNodeBeforeCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/JoinTextNodesCommand.cpp:
        * editing/MergeIdenticalElementsCommand.cpp:
        * editing/RemoveNodeAttributeCommand.cpp:
        * editing/RemoveNodeCommand.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        * editing/Selection.cpp:
        * editing/SelectionController.cpp:
        * editing/SelectionController.h:
        * editing/SetNodeAttributeCommand.cpp:
        * editing/SplitElementCommand.cpp:
        * editing/SplitTextNodeCommand.cpp:
        * editing/VisiblePosition.cpp:
        * editing/WrapContentsInDummySpanCommand.cpp:
        * editing/htmlediting.cpp:
        * editing/markup.cpp:
        * editing/visible_text.cpp:
        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_css.cpp:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_html.cpp:
        * khtml/ecma/kjs_range.cpp:
        * khtml/ecma/kjs_traversal.cpp:
        * khtml/ecma/kjs_traversal.h:
        * khtml/ecma/kjs_window.cpp:
        * khtml/html/HTMLElementImpl.cpp:
        * khtml/html/HTMLOptionElementImpl.cpp:
        * khtml/html/HTMLOptionElementImpl.h:
        * khtml/html/HTMLOptionsCollectionImpl.cpp:
        * khtml/html/HTMLSelectElementImpl.cpp:
        * khtml/html/HTMLTextAreaElementImpl.cpp:
        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_headimpl.cpp:
        * khtml/html/html_tableimpl.cpp:
        * khtml/html/html_tableimpl.h:
        * khtml/html/htmlparser.cpp:
        * khtml/xbl/xbl_tokenizer.cpp:
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.cpp:
        * ksvg2/svg/SVGLengthImpl.cpp:
        * ksvg2/svg/SVGLocatableImpl.cpp:
        * ksvg2/svg/SVGPolyElementImpl.cpp:
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        * ksvg2/svg/SVGStyleElementImpl.h:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * rendering/render_object.cpp:
        * xml/xmlhttprequest.cpp:
        Changed to use ExceptionCode instead of int and name the variable "ec".
        Also updated use of exception codes and other constants to get them from
        their new locations.

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix more pages (apple.com, yahoo.com) by returning empty error image.
        Empty a couple more stubs and clean up stub style a little.

        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::loadResource):
        * platform/win/TemporaryLinkStubs.cpp:
        (QListBox::isSelected):
        (QSlider::sizeHint):
        (QScrollBar::~QScrollBar):
        (FrameWin::getObjectInstanceForWidget):
        (FrameWin::getEmbedInstanceForWidget):
        (FrameWin::recordFormValue):
        (FrameWin::getAppletInstanceForWidget):
        (FrameWin::passMouseDownEventToWidget):
        (FrameWin::passWheelEventToChildWidget):
        (FrameWin::createPlugin):
        (BrowserExtensionWin::createNewWindow):
        (Path::Path):
        (QLineEdit::~QLineEdit):
        (QLineEdit::setLiveSearch):
        (QComboBox::~QComboBox):

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Empty enough stubs to make apple.com load.

        * platform/win/TemporaryLinkStubs.cpp:
        (QTextEdit::sizeWithColumnsAndRows):
        (GraphicsContext::misspellingLineThickness):
        (QTextEdit::selectAll):
        (QTextEdit::setSelectionStart):
        (Widget::unlockDrawingFocus):
        (QLineEdit::setAutoSaveName):
        (ScrollView::scrollYOffset):
        (KWQFileButton::setFilename):
        (QListBox::setFont):
        (GraphicsContext::beginTransparencyLayer):
        (GraphicsContext::endTransparencyLayer):
        (QComboBox::QComboBox):
        (QComboBox::setFont):
        (QComboBox::baselinePosition):
        (QComboBox::setWritingDirection):
        (QComboBox::clear):
        (QComboBox::appendItem):
        (QComboBox::setCurrentItem):
        (QComboBox::sizeHint):
        (QComboBox::frameGeometry):
        (QComboBox::setFrameGeometry):
        (QLineEdit::setLiveSearch):

2006-03-06  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fix external resource loading.
        Make a bunch of stubs not abort (to fix slashdot).

        * platform/win/TemporaryLinkStubs.cpp:
        (QTextEdit::textWithHardLineBreaks):
        (KWQFileButton::click):
        (QComboBox::setFrameGeometry):
        (QTextEdit::setText):
        (QListBox::appendItem):
        (GraphicsContext::endTransparencyLayer):
        (QLineEdit::selectionStart):
        (QTextEdit::QTextEdit):
        (QListBox::isSelected):
        (QComboBox::focusPolicy):
        (QTextEdit::setCursorPosition):
        (QTextEdit::setAlignment):
        (QLineEdit::selectedText):
        (ScrollView::scrollPointRecursively):
        (QScrollBar::setSteps):
        (QComboBox::appendItem):
        (GraphicsContext::drawLineForMisspelling):
        (KWQFileButton::setFilename):
        (QListBox::setWritingDirection):
        (QListBox::focusPolicy):
        (MouseEvent::MouseEvent):
        (QSlider::setFont):
        (Widget::setEnabled):
        (Widget::paint):
        (ScrollView::addChild):
        (ScrollView::inWindow):
        (GraphicsContext::setShadow):
        (GraphicsContext::clearShadow):
        (RenderThemeWin::paintCheckbox):
        (RenderThemeWin::paintRadio):
        (RenderThemeWin::paintButton):
        (RenderThemeWin::paintTextField):
        (QLineEdit::QLineEdit):
        (QLineEdit::setFont):
        (QLineEdit::setAlignment):
        (QLineEdit::setWritingDirection):
        (QLineEdit::maxLength):
        (QLineEdit::setMaxLength):
        (QLineEdit::text):
        (QLineEdit::setText):
        (QLineEdit::cursorPosition):
        (QLineEdit::setCursorPosition):
        (QLineEdit::setEdited):
        (QLineEdit::setReadOnly):
        (QLineEdit::setPlaceholderString):
        (QLineEdit::setColors):
        (QLineEdit::sizeForCharacterWidth):
        (QLineEdit::baselinePosition):
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::fileLoadTimer):
        (WebCore::TransferJob::cancel):

2006-03-05  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix failure seen running editing layout tests

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):
        Use selectNodeContents instead of rolling our own.
        It handles the "nothing at all" edge case properly.

2006-03-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Make updateContents invalidate entire window for now.
        Fix indentation in fileLoadTimer.

        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::updateContents):
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::fileLoadTimer):

2006-03-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by adele.

        Add missing files to vcproj (fix win32 build).
        Also add svn:eol-style=native to new files.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-03-05  Darin Adler  <mjs@apple.com>

        - fix build

        * rendering/render_style.h: (compareEqual): Made it inline, fixed variable name.

2006-03-05  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6987
        Implement maxlength for new text fields

        Test added:
        * fast/forms/input-appearance-maxlength.html

        * WebCore.xcodeproj/project.pbxproj: 
         Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp

        * khtml/html/HTMLInputElementImpl.cpp:
        (WebCore::HTMLInputElementImpl::init): initialize max length to 1024.
        (WebCore::HTMLInputElementImpl::defaultEventHandler): Added case to use the khtmlBeforeTextInsertedEvent to check for maxlength.
        (WebCore::HTMLInputElementImpl::parseMappedAttribute): Makes sure that maxlength is between 0 and 1024.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): After doing a test insert of the fragment,
         Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text, and we can update the fragment.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText): Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text if necessary.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): If we've just applied a command, send the khtmlTextInsertedEvent to the root editable element. 
        (WebCore::EditCommand::unapply): ditto.
        (WebCore::EditCommand::reapply): ditto.

        * khtml/html/HTMLTextFieldInnerElementImpl.h: Added this class to store a pointer to the input element for the text field and to handle default events.
        (DOM::HTMLTextFieldInnerElementImpl::shadowParentNode): Added.
        (DOM::HTMLTextFieldInnerElementImpl::setShadowParentNode): Added.
        * khtml/html/HTMLTextFieldInnerElementImpl.cpp: Added.
        (WebCore::HTMLTextFieldInnerElementImpl::HTMLTextFieldInnerElementImpl):
        (WebCore::HTMLTextFieldInnerElementImpl::~HTMLTextFieldInnerElementImpl):
        (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
         Sends khtmlBeforeTextInsertedEvents to the shadowParentNode, 
         and handles khtmlTextInsertedEvents by telling the renderer that the subtree has changed.

        * rendering/RenderTextField.cpp: Removed InputMutationListener since subtreeHasChanged is now called from the editing code.
        (WebCore::RenderTextField::~RenderTextField): removed event listener code.
        (WebCore::RenderTextField::updateFromElement): ditto.  And creates HTMLTextFieldInnerElementImpl.
        (WebCore::RenderTextField::subtreeHasChanged): calls new text() method.
        (WebCore::RenderTextField::text): created to get a String of all text in the RenderTextField.
        * rendering/RenderTextField.h: Removed InputMutationListener class.

        * dom/EventNames.h: Added khtmlTextInserted and khtmlBeforeTextInserted.
        * dom/BeforeTextInsertedEventImpl.cpp: Added.
        (WebCore::BeforeTextInsertedEventImpl::BeforeTextInsertedEventImpl):
        * dom/BeforeTextInsertedEventImpl.h: Added.
        (WebCore::BeforeTextInsertedEventImpl::isBeforeTextInsertedEvent):
        (WebCore::BeforeTextInsertedEventImpl::text):
        * dom/dom2_eventsimpl.cpp: (WebCore::EventImpl::isBeforeTextInsertedEvent): Added.
        * dom/dom2_eventsimpl.h: Added isBeforeTextInsertedEvent.

2006-03-05  Maciej Stachowiak  <mjs@apple.com>

        - fix build, give this a return type.

        * rendering/render_style.h:
        (compareEqual):

2006-03-05  Eric Seidel  <eseidel@apple.com>

        Add "Font.h" to (try to) fix the no-svg build.

        * platform/mac/GraphicsContextMac.mm:

2006-03-05  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Darin.

        - fix win32 build by avoiding use of typeof

        * rendering/render_style.h:
        (compareEqual):

2006-03-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration 
        of HTML element properties skips DOM node properties
 
        The approach here is for prototypes, in their constructor methods, 
        to set their own prototypes, preserving the prototype 
        chain in cases of multiple levels of inheritance. (Previously, our
        code assumed that a prototype never had a prototype of its own,
        and always used an empty object as a prototype's prototype).

        * bindings/scripts/CodeGeneratorJS.pm: Use the new
        DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the  
        KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro.
        * khtml/ecma/kjs_dom.cpp: Ditto.
        * khtml/ecma/kjs_dom.h: Ditto.
        * khtml/ecma/kjs_events.cpp: Ditto.

        Touched these files to force a rebuild:

        * bindings/js/JSDOMCore.cpp:
        * bindings/js/JSDOMEvents.cpp:
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/DOMImplementation.idl:
        * dom/DocumentType.idl:
        * dom/Element.idl:
        * dom/Entity.idl:
        * dom/MutationEvent.idl:
        * dom/Notation.idl:
        * dom/ProcessingInstruction.idl:
        * dom/Text.idl:
        * dom/WheelEvent.idl:

2006-03-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - use unsigned bitfields when storing enums in them, to avoid mangling on win32 (was causing all layout to be RTL)
        http://bugs.webkit.org/show_bug.cgi?id=7618

        * css/css_base.cpp:
        (WebCore::CSSSelector::operator == ):
        (WebCore::CSSSelector::selectorText):
        * css/css_base.h:
        (WebCore::CSSSelector::CSSSelector):
        (WebCore::CSSSelector::pseudoType):
        (WebCore::CSSSelector::relation):
        * css/css_grammar.y:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkSelector):
        (WebCore::CSSStyleSelector::checkOneSelector):
        * kcanvas/KCanvasPath.cpp:
        (WebCore::operator<<):
        * kcanvas/KCanvasPath.h:
        (WebCore::KCClipData::windRule):
        (WebCore::KCClipDataList::addPath):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasClipperQuartz::applyClip):
        * khtml/ecma/kjs_html.h:
        * khtml/html/HTMLButtonElementImpl.h:
        * khtml/html/HTMLInputElementImpl.cpp:
        (WebCore::HTMLInputElementImpl::setInputType):
        * khtml/html/HTMLInputElementImpl.h:
        (DOM::HTMLInputElementImpl::inputType):
        * khtml/html/html_tableimpl.h:
        * khtml/xbl/xbl_protohandler.cpp:
        (XBL::m_button):
        * khtml/xbl/xbl_protohandler.h:
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::):
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::targetAttribute):
        (SVGAnimationElementImpl::setTargetAttribute):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::value):
        * ksvg2/svg/SVGLengthImpl.h:
        * kwq/KWQKHTMLSettings.h:
        * loader/CachedImage.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::setCachePolicy):
        (WebCore::DocLoader::setShowAnimations):
        * loader/DocLoader.h:
        (WebCore::DocLoader::showAnimations):
        * platform/FontDescription.h:
        (WebCore::FontDescription::genericFamily):
        * platform/QString.cpp:
        (HandleNode::):
        * platform/QString.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setSelectionState):
        (WebCore::RenderBlock::leftRelOffset):
        (WebCore::RenderBlock::rightRelOffset):
        (WebCore::RenderBlock::leftBottom):
        (WebCore::RenderBlock::rightBottom):
        (WebCore::RenderBlock::addOverhangingFloats):
        (WebCore::RenderBlock::addIntrudingFloats):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::selectionState):
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::FloatingObject::type):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::getRules):
        * rendering/bidi.cpp:
        (khtml::BidiContext::BidiContext):
        (khtml::operator==):
        (khtml::embed):
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::bidiReorderLine):
        (khtml::RenderBlock::layoutInlineChildren):
        * rendering/bidi.h:
        (khtml::BidiContext::dir):
        (khtml::BidiContext::basicDir):
        (khtml::BidiRun::BidiRun):
        * rendering/render_canvasimage.h:
        * rendering/render_layer.h:
        (WebCore::Marquee::whiteSpace):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::paintBorderImage):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::setSelectionState):
        * rendering/render_replaced.h:
        (WebCore::RenderReplaced::selectionState):
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::getPseudoStyle):
        * rendering/render_style.h:
        (khtml::BorderValue::BorderValue):
        (khtml::BorderValue::style):
        (khtml::BorderValue::nonZero):
        (khtml::BorderValue::operator==):
        (khtml::OutlineValue::operator==):
        (khtml::CollapsedBorderValue::style):
        (khtml::BorderImage::horizontalRule):
        (khtml::BorderImage::verticalRule):
        (khtml::BorderData::borderLeftWidth):
        (khtml::BorderData::borderRightWidth):
        (khtml::BorderData::borderTopWidth):
        (khtml::BorderData::borderBottomWidth):
        (khtml::BackgroundLayer::backgroundClip):
        (khtml::BackgroundLayer::backgroundOrigin):
        (khtml::BackgroundLayer::backgroundRepeat):
        (khtml::RenderStyle::styleType):
        (khtml::RenderStyle::display):
        (khtml::RenderStyle::originalDisplay):
        (khtml::RenderStyle::position):
        (khtml::RenderStyle::floating):
        (khtml::RenderStyle::borderLeftStyle):
        (khtml::RenderStyle::borderLeftColor):
        (khtml::RenderStyle::borderRightStyle):
        (khtml::RenderStyle::borderRightColor):
        (khtml::RenderStyle::borderTopStyle):
        (khtml::RenderStyle::borderTopColor):
        (khtml::RenderStyle::borderBottomStyle):
        (khtml::RenderStyle::borderBottomColor):
        (khtml::RenderStyle::outlineWidth):
        (khtml::RenderStyle::outlineStyle):
        (khtml::RenderStyle::overflow):
        (khtml::RenderStyle::visibility):
        (khtml::RenderStyle::verticalAlign):
        (khtml::RenderStyle::unicodeBidi):
        (khtml::RenderStyle::clear):
        (khtml::RenderStyle::tableLayout):
        (khtml::RenderStyle::textAlign):
        (khtml::RenderStyle::textTransform):
        (khtml::RenderStyle::direction):
        (khtml::RenderStyle::whiteSpace):
        (khtml::RenderStyle::backgroundRepeat):
        (khtml::RenderStyle::backgroundClip):
        (khtml::RenderStyle::backgroundOrigin):
        (khtml::RenderStyle::emptyCells):
        (khtml::RenderStyle::captionSide):
        (khtml::RenderStyle::listStyleType):
        (khtml::RenderStyle::listStylePosition):
        (khtml::RenderStyle::cursor):
        (khtml::RenderStyle::pageBreakInside):
        (khtml::RenderStyle::pageBreakBefore):
        (khtml::RenderStyle::pageBreakAfter):
        (khtml::RenderStyle::outlineOffset):
        (khtml::RenderStyle::appearance):
        (khtml::RenderStyle::boxAlign):
        (khtml::RenderStyle::boxDirection):
        (khtml::RenderStyle::boxLines):
        (khtml::RenderStyle::boxOrient):
        (khtml::RenderStyle::boxPack):
        (khtml::RenderStyle::boxSizing):
        (khtml::RenderStyle::marqueeBehavior):
        (khtml::RenderStyle::marqueeDirection):
        (khtml::RenderStyle::userModify):
        (khtml::RenderStyle::userDrag):
        (khtml::RenderStyle::userSelect):
        (khtml::RenderStyle::marginTopCollapse):
        (khtml::RenderStyle::marginBottomCollapse):
        (khtml::RenderStyle::wordWrap):
        (khtml::RenderStyle::nbspMode):
        (khtml::RenderStyle::khtmlLineBreak):
        (khtml::RenderStyle::matchNearestMailBlockquoteColor):
        (khtml::RenderStyle::setBorderLeftWidth):
        (khtml::RenderStyle::setBorderLeftStyle):
        (khtml::RenderStyle::setBorderLeftColor):
        (khtml::RenderStyle::setBorderRightWidth):
        (khtml::RenderStyle::setBorderRightStyle):
        (khtml::RenderStyle::setBorderRightColor):
        (khtml::RenderStyle::setBorderTopWidth):
        (khtml::RenderStyle::setBorderTopStyle):
        (khtml::RenderStyle::setBorderTopColor):
        (khtml::RenderStyle::setBorderBottomWidth):
        (khtml::RenderStyle::setBorderBottomStyle):
        (khtml::RenderStyle::setBorderBottomColor):
        (khtml::RenderStyle::setOutlineWidth):
        (khtml::RenderStyle::setOutlineStyle):
        (khtml::RenderStyle::pseudoState):

2006-03-05  Geoffrey Garen  <ggaren@apple.com>

        - Rolled out the fix for <rdar://problem/4467143> because it's the
        wrong approach. Maciej and I discussed this on IRC.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::): Don't use classInfo to express prototype inheritance.
        classInfo is only for representing a c++ superclass relationship.

2006-03-05  Eric Seidel  <eseidel@apple.com>

        Move improperly placed #endif causing no-svg build to fail.

        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:

2006-03-05  Alexander Kellett  <lypanov@kde.org>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6890
          and http://bugs.webkit.org/show_bug.cgi?id=6951
          by being more tolerant towards invalid points data

        - new tests:
          svg/custom/polyline-setattribute-points-null.svg
          svg/custom/polyline-invalid-points.svg

        * ksvg2/svg/svgpathparser.cpp:
        (SVGPolyParser::parsePoints):

2006-03-05  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - remove no longer used KDOMSettings and KSVGSettings

        * WebCore+SVG/KDOMSettings.cpp: Removed.
        * WebCore+SVG/KDOMSettings.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/KSVGSettings.h: Removed.
        * ksvg2/svg/SVGStyledElementImpl.cpp:

2006-03-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        * platform/Font.cpp:
        (WebCore::Font::update): remove extra ref causing large leak.

2006-03-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Re-work ImageViewer to use GraphicsContext.
        Add GraphicsContext(cairo_t*) constructor to make double-buffering easier.
        Add one more stub to prevent slashdot from crashing.
        Also fixed win32 build after Font change.

        * Viewer.vcproj:
        * Viewer/ImageView.cpp:
        * platform/Color.h:
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::createPlugin):
        (BrowserExtensionWin::setTypedIconURL):

2006-03-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4840
          Frames only resize wider, can't make them narrower

        * khtml/html/html_baseimpl.cpp:
        (WebCore::HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): Removed unused m_resizing flag.
        * khtml/html/html_baseimpl.h:
        * manual-tests/bugzilla-4840.html: Added.
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::viewportMouseMoveEvent):
        (WebCore::FrameView::viewportMouseReleaseEvent):
        (WebCore::FrameView::setResizingFrameSet): New method. When a resizing frameset is set,
        mouse move and mouse release events target it instead of hit-testing.
        * page/FrameView.h:
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::setResizing): Inform the FrameView that we are resizing (or not).

2006-03-04  David Hyatt  <hyatt@apple.com>

        Fix for bug 7586, eliminate QFontMetrics.

        Reviewed by eric

        * WebCore.xcodeproj/project.pbxproj:
        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::updateValue):
        * kwq/KWQFontMetrics.h: Removed.
        * kwq/KWQFontMetrics.mm: Removed.
        * platform/Font.cpp:
        (WebCore::m_wordSpacing):
        (WebCore::Font::Font):
        (WebCore::Font::operator=):
        (WebCore::Font::~Font):
        (WebCore::Font::update):
        (WebCore::Font::width):
        * platform/Font.h:
        (WebCore::Font::operator==):
        (WebCore::Font::width):
        (WebCore::Font::height):
        * platform/FontRenderer.h: Added.
        (WebCore::FontRenderer::isFixedPitch):
        * platform/GraphicsContext.h:
        * platform/mac/FontMac.mm: Added.
        (WebCore::m_renderer):
        (WebCore::FontRenderer::getWebCoreFont):
        (WebCore::FontRenderer::getRenderer):
        (WebCore::FontRenderer::determinePitch):
        (WebCore::FontRenderer::update):
        (WebCore::Font::getWebCoreFont):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::xHeight):
        (WebCore::Font::isFixedPitch):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::checkSelectionPoint):
        * platform/mac/GraphicsContextMac.mm:
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::trimmedMinMaxWidth):
        * rendering/RenderText.h:
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::calcMinMaxWidth):
        * rendering/bidi.cpp:
        (khtml::RenderBlock::tabWidth):
        (khtml::RenderBlock::checkLinesForTextOverflow):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::caretRect):
        * rendering/render_br.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::lineHeight):
        (WebCore::RenderFlow::caretRect):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::paint):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesVertically):
        * rendering/render_list.cpp:
        (WebCore::toHebrew):
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::calcMinMaxWidth):
        (WebCore::RenderListMarker::baselinePosition):
        (WebCore::RenderListMarker::getRelativeMarkerRect):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::getVerticalPosition):
        (WebCore::RenderObject::lineHeight):
        (WebCore::RenderObject::baselinePosition):
        * rendering/render_object.h:
        * rendering/render_style.h:

2006-03-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Add urlSelected stub, adjust font metrics, and fix view size/move bug.

        * platform/win/TemporaryLinkStubs.cpp:
        (MouseEvent::MouseEvent):
        (FrameWin::urlSelected):
        (QFontMetrics::height):
        (QFontMetrics::xHeight):
        (QFontMetrics::ascent):
        (QFontMetrics::descent):
        (ScrollView::resizeContents):
        (ScrollView::setContentsPos):

2006-03-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - stop background image loads from crashing

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        (WebCore::GraphicsContext::drawScaledAndTiledImage):

        - fix termination condition on file load loop

        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::fileLoadTimer):

2006-03-04  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - Fixed <rdar://problem/4467143> JavaScript enumeration of HTML 
        element properties skips DOM node properties

        No test case yet because this is a preliminary step toward enabling my
        uber test case for DOM support, which will cover this.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::): Make DOMNode's classinfo reflect inheritance from 
        DOMNodeProto, so a for in enumeration can properly walk the 
        inheritance chain.
        * khtml/ecma/kjs_html.cpp:
        (KJS::): Used a script to sort classInfo data alphbetically.
        (KJS::KJS::HTMLElement::classInfo): Ditto.

2006-03-04  Maciej Stachowiak  <mjs@apple.com

        Reviewed by Eric.

         - fix mistake in TransferJob::start that made it cause a crash
        on non-file URLs

        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::start):

2006-03-04  Maciej Stachowiak  <mjs@apple.com

        Reviewed by Eric.

        - make TransferJobWin handle file: URLs, and fix other bugs
        as needed to make local file image loads work
        http://bugs.webkit.org/show_bug.cgi?id=7587

        * WebCore.vcproj/WebCore/WebCore.vcproj: add TransferJobWin
        to build.
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin): Set autoLoadImages to true.
        * platform/TransferJob.cpp:
        (WebCore::TransferJob::TransferJob): Pass this to internal
        constructor, so windows version can initialize timer
        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        (WebCore::TransferJobInternal::TransferJobInternal): On windows,
        prepare a timer for file loads.
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawFloatImage): If passed-in context
        is null, use our built-in context (this is probably not the best,
        but should work for now).
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::issueRedoCommand): Don't break.
        (WebCore::TransferJob::assembleResponseHeaders): ditto
        (FrameWin::saveDocumentState): ditto
        (FrameWin::clearUndoRedoOperations): ditto
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJobInternal::~TransferJobInternal): Close file
        handle if we have one.
        (WebCore::TransferJob::~TransferJob): Empty.
        (WebCore::TransferJob::start): Open a windows file handle.
        (WebCore::TransferJob::fileLoadTimer): Load from windows file
        handle.
        (WebCore::TransferJob::cancel): Stop timer and close windows file 
        handle if present.

2006-03-03  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix QString crasher on Win32, also remove c-style casts from file.
        Add a few more stubs to allow more layout tests to not crash.
        Make dlls only copy when changed.
        Add RenderThemeWin stubs.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * platform/QString.cpp:
        (QString::stripWhiteSpace):
        (QString::simplifyWhiteSpace):
        (QString::setLatin1):
        (QString::sprintf):
        (QString::insert):
        (QString::fill):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::usableScreenRect):
        (FrameWin::respondToChangedContents):
        (FrameWin::unfocusWindow):
        (FrameWin::locationbarVisible):
        (FrameWin::clearUndoRedoOperations):
        (FrameWin::issueRedoCommand):
        (FrameWin::canRedo):
        (FrameWin::canUndo):
        (FrameWin::saveDocumentState):
        (FrameWin::print):
        (FrameWin::issueCutCommand):
        (FrameWin::issueCopyCommand):
        (FrameWin::issueUndoCommand):
        (FrameWin::mimeTypeForFileName):
        (FrameWin::clearRecordedFormValues):
        (FrameWin::issuePasteCommand):
        (FrameWin::scheduleClose):
        (FrameWin::menubarVisible):
        (FrameWin::personalbarVisible):
        (FrameWin::statusbarVisible):
        (FrameWin::toolbarVisible):
        (FrameWin::issueTransposeCommand):
        (FrameWin::canPaste):
        (FrameWin::incomingReferrer):
        (FrameWin::canGoBackOrForward):
        (FrameWin::issuePasteAndMatchStyleCommand):
        (FrameWin::createPlugin):
        (BrowserExtensionWin::getHistoryLength):
        (BrowserExtensionWin::canRunModal):
        (BrowserExtensionWin::openURLNotify):
        (BrowserExtensionWin::canRunModalNow):
        (BrowserExtensionWin::runModal):
        (QListBox::setFont):
        (WebCore::TransferJob::assembleResponseHeaders):
        (WebCore::TransferJob::~TransferJob):
        (QFontMetrics::QFontMetrics):
        (QFontMetrics::lineSpacing):
        (QFontMetrics::xHeight):
        (QFontMetrics::ascent):
        (FrameWin::shouldChangeSelection):
        (FrameWin::generateFrameName):
        (FrameWin::createFrame):
        (RenderThemeWin::paintCheckbox):
        (RenderThemeWin::paintRadio):
        (RenderThemeWin::paintButton):
        (RenderThemeWin::paintTextField):
        * rendering/RenderThemeWin.cpp: Added.
        (WebCore::theme):
        * rendering/RenderThemeWin.h: Added.

2006-03-03  Geoffrey Garen  <ggaren@apple.com>

        Test case for <rdar://problem/4465598> REGRESSION (TOT): Crash occurs at 
        http://maps.google.com/?output=html ( KJS::Identifier::add(KJS::UString::Rep*)

        * manual-tests/property-map-save-crash.html: Added.

2006-03-03  Eric Seidel  <eseidel@apple.com>

        Reviewed by adele.

        Fix clearly bogus cairo elipse drawing code.
        Make QFontMetrics stubs slightly more sane.

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        * platform/win/TemporaryLinkStubs.cpp:
        (QFontMetrics::floatWidth):
        (QFontMetrics::height):
        (QFontMetrics::width):
        (QFontMetrics::isFixedPitch):

2006-03-03  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7480
          non-HTML elems w/o children in HTML docs get serialized self-closing
        - fix problem where the HTML tokenizer would discard the first newline after </pre>

        Test: fast/innerHTML/innerHTML-custom-tag.html

        * editing/markup.cpp: (WebCore::shouldSelfClose): Refined rule so that it doesn't
        try to do any self-closing tags in HTML documents at all; updated comment.

        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Added a check
        of beginTag in the <pre> tag case. We were accidentally discarding a newline after
        a </pre> tag.

2006-03-03  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - add new files to build, fix link stubs.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/win/TemporaryLinkStubs.cpp:
        (KWQKCookieJar::cookieEnabled):
        (WebCore::TransferJob::retrieveCharset):
        (WebCore::TransferJob::assembleResponseHeaders):
        (WebCore::TransferJob::~TransferJob):
        * platform/win/TransferJobWin.cpp: Added.

2006-03-03  Maciej Stachowiak  <mjs@apple.com>

        - add file I forgot in my last commit.

        * platform/TransferJobInternal.h: Added.
        (WebCore::TransferJobInternal::TransferJobInternal):

2006-03-03  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Wire up WidgetWin, CursorWin, ScrollViewWin.
        Stub out methods for selection and cursors.

        * Viewer/ImageDocument.h:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        * khtml/ecma/kjs_proxy.cpp:
        (WebCore::KJSProxyImpl::initScriptIfNeeded):
        * platform/IntRect.h:
        (WebCore::IntRect::IntRect):
        * platform/Widget.h:
        * platform/win/CursorWin.cpp:
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):
        * platform/win/IntRectWin.cpp:
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator RECT):
        * platform/win/MouseEventWin.cpp:
        * platform/win/ScrollViewWin.cpp: Added.
        (WebCore::ScrollView::updateContents):
        * platform/win/TemporaryLinkStubs.cpp:
        (QTextEdit::textWithHardLineBreaks):
        (QLineEdit::setPlaceholderString):
        (QScrollBar::scroll):
        (GraphicsContext::beginTransparencyLayer):
        (Widget::setIsSelected):
        (QLineEdit::selectedText):
        (QComboBox::sizeHint):
        (KWQFileButton::focusPolicy):
        (QTextEdit::focusPolicy):
        (QSlider::focusPolicy):
        (QListBox::focusPolicy):
        (QLineEdit::focusPolicy):
        (WebCore::moveCursor):
        (ScrollView::scrollBy):
        (KWQKCookieJar::cookieEnabled):
        (WebCore::TransferJob::TransferJob):
        (WebCore::screenDepth):
        (WebCore::usableScreenRect):
        (FrameWin::getObjectInstanceForWidget):
        (FrameWin::getEmbedInstanceForWidget):
        (FrameWin::getAppletInstanceForWidget):
        (FrameWin::passMouseDownEventToWidget):
        (FrameWin::issuePasteCommand):
        (FrameWin::issueTransposeCommand):
        (QSlider::setFont):
        (QLineEdit::setFont):
        (QListBox::setFont):
        (QFontMetrics::QFontMetrics):
        (QComboBox::setFont):
        (QTextEdit::setFont):
        (QTextEdit::setWritingDirection):
        (QFontMetrics::setFontDescription):
        (QFontMetrics::checkSelectionPoint):
        (FrameWin::addMessageToConsole):
        (FrameWin::shouldChangeSelection):
        (ScrollView::resizeContents):
        (ScrollView::visibleHeight):
        (ScrollView::visibleWidth):
        (ScrollView::setContentsPos):
        (ScrollView::contentsX):
        (ScrollView::contentsY):
        (ScrollView::contentsHeight):
        (ScrollView::contentsWidth):
        (ScrollView::viewportToContents):
        * platform/win/WidgetWin.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::windowHandle):
        (WebCore::Widget::setWindowHandle):
        (WebCore::Widget::setActiveWindow):
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::hasFocus):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::clearFocus):
        (WebCore::Widget::font):
        (WebCore::Widget::setFont):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::setFrameGeometry):
        (WebCore::Widget::mapFromGlobal):

2006-03-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - move TransferJob from kwq to platform, separate platform from non-platform bits

        * ForwardingHeaders/kio/job.h: Removed.
        * ForwardingHeaders/kio/jobclasses.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/MacFrame.mm:
        * dom/xml_tokenizer.cpp:
        * khtml/xsl/xslt_processorimpl.cpp:
        * kwq/KWQKJobClasses.h: Removed.
        * kwq/KWQKJobClasses.mm: Removed.
        * kwq/KWQLoader.mm:
        * kwq/KWQResourceLoader.mm:
        * kwq/TransferJobClient.h: Removed.
        * loader/Cache.cpp:
        * loader/loader.cpp:
        * page/Frame.cpp:
        * platform/TransferJob.cpp: Added.
        (WebCore::TransferJob::TransferJob):
        (WebCore::TransferJob::queryMetaData):
        (WebCore::TransferJob::addMetaData):
        * platform/TransferJob.h: Added.
        * platform/TransferJobClient.h: Added.
        * platform/mac/TransferJobMac.mm: Added.
        (WebCore::TransferJobInternal::~TransferJobInternal):
        (WebCore::TransferJob::retrieveCharset):
        (WebCore::TransferJob::cancel):
        * xml/xmlhttprequest.cpp:

2006-03-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - enough link stubs to "display" local copy of WebKit site w/o hitting breakpoint

        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::setReadOnly):
        (QTextEdit::setCursorPosition):
        (QLineEdit::setCursorPosition):
        (QFontMetrics::width):
        (GraphicsContext::drawText):
        (GraphicsContext::drawLineForText):

2006-03-02  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - remove function that is now gone

        * platform/win/TemporaryLinkStubs.cpp:

2006-03-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.
        
        - move logic to kick off load from KWQLoader function to a TransferJob method

        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        (WebCore::TransferJob::start):
        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

2006-03-02  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - remove unused loader parameter to KWQServeRequest.

        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        (KWQServeRequest):
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

2006-03-02  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - remove one of the versions of KWQServeRequest.

        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * platform/win/TemporaryLinkStubs.cpp:
        (Widget::isEnabled):
        (KWQServeRequest):

2006-03-02  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - win32 build fix.

        * platform/win/MouseEventWin.cpp:

2006-03-02  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by eric
        
        <http://bugs.webkit.org/show_bug.cgi?id=3894>
        uses of <cmath> should change to <math>

        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        * ksvg2/svg/SVGHelper.cpp:
        * ksvg2/svg/SVGLengthImpl.cpp:

2006-03-02  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Darin, landed by Beth

        Fix for http://bugs.webkit.org/show_bug.cgi?id=3230
        CSS1: Words with inline elements get extra capital letters

        Does not use UBreakIterator (yet?) for this, but a relatively
        simple change that fixes our failure in the CSS1 test suite 
        (5.4.5).

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::capitalize): Specify if this is a run-on
        * platform/StringImpl.h:
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::addChild): Change to re-run 
        capitalisation when added into tree as previous text node changes
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText): Check if previous node is text that
        doesn't end in a space

2006-03-02  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by sullivan
        
        <http://bugs.webkit.org/show_bug.cgi?id=7542>
        REGRESSION: (r13028) Scrolling causes incomplete drawing of <ul> bullets

        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):

2006-03-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Add (partially stubbed out) mouse event handling for Win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/IntPoint.h:
        * platform/MouseEvent.h:
        * platform/win/IntPointWin.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator POINT):
        * platform/win/MouseEventWin.cpp: Added.
        (WebCore::MouseEvent::MouseEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::setMaxLength):
        (ScrollView::scrollBy):
        (WebCore::Widget::setFocus):
        (FrameWin::respondToChangedSelection):
        (FrameWin::runJavaScriptPrompt):
        (FrameWin::recordFormValue):
        (FrameWin::registerCommandForRedo):
        (FrameWin::runJavaScriptAlert):
        (FrameWin::runJavaScriptConfirm):
        (FrameWin::openURL):
        (FrameWin::registerCommandForUndo):
        (FrameWin::addMessageToConsole):
        (FrameWin::mimeTypeForFileName):
        (FrameWin::shouldChangeSelection):
        (FrameWin::markMisspellingsInAdjacentWords):
        (FrameWin::markMisspellings):
        (FrameWin::personalbarVisible):
        (FrameWin::objectContentType):
        (FrameWin::createFrame):
        (FrameWin::createPlugin):
        (BrowserExtensionWin::setTypedIconURL):
        (BrowserExtensionWin::getHistoryLength):
        (BrowserExtensionWin::canRunModal):
        (BrowserExtensionWin::openURLNotify):
        (BrowserExtensionWin::createNewWindow):
        (BrowserExtensionWin::canRunModalNow):
        (BrowserExtensionWin::runModal):
        (BrowserExtensionWin::goBackOrForward):
        (BrowserExtensionWin::setIconURL):
        (FrameWin::passSubframeEventToSubframe):
        (FrameWin::lastEventIsMouseUp):
        (BrowserExtensionWin::BrowserExtensionWin):
        (Widget::setCursor):
        (ScrollView::visibleHeight):
        (ScrollView::visibleWidth):
        (ScrollView::setContentsPos):
        (ScrollView::contentsX):
        (ScrollView::contentsY):
        (ScrollView::contentsHeight):
        (ScrollView::contentsWidth):
        (ScrollView::viewportToContents):
        (TransferJob::TransferJob):
        (TransferJob::addMetaData):

2006-03-02  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs
        
        https://bugs.webkit.org/show_bug.cgi?id=7150
        <rdar://4433765> TinyMCE: Undo still enabled after a location change, crashes if performed
        
        Can't clear undo/redo operations registered by subframes in didOpenURL,
        because subframes have already been detached.

        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::closeURL):

2006-03-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - WebCore updates for "Set up new prototype macros and avoid using #if without defined() in JSC"
        http://bugs.webkit.org/show_bug.cgi?id=7387
        
        Add Platform.h 

        * ForwardingHeaders/kxmlcore/Platform.h: Added.
        * bridge/mac/WebCoreFrameNamespaces.m:
        * bridge/mac/WebCoreViewFactory.m:
        * bridge/mac/WebDashboardRegion.m:
        * config.h:
        * platform/Logging.cpp:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::addChild):
        * platform/mac/WebCoreCookieAdapter.m:
        * platform/mac/WebCoreGraphicsBridge.m:
        * platform/mac/WebCoreHistory.m:
        * platform/mac/WebCoreImageRendererFactory.m:
        * platform/mac/WebCoreKeyGenerator.m:
        * platform/mac/WebCoreView.m:

2006-03-02  Eric Seidel  <eseidel@apple.com>

        * WebCore.xcodeproj/project.pbxproj: update GraphicsContext.cpp path to fix build

2006-03-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Add first-stab GraphicsContextCairo.
        Shuffle a few more link stubs around, remove uncessary WebCore::

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/GraphicsContext.cpp: Added.
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::setColor):
        (WebCore::fillRectSourceOver):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::pen):
        (WebCore::GraphicsContext::setPen):
        (WebCore::GraphicsContext::setBrush):
        (WebCore::GraphicsContext::brush):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::setColorFromBrush):
        (WebCore::GraphicsContext::setColorFromPen):
        (WebCore::adjustLineToPixelBounderies):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawFloatImage):
        (WebCore::GraphicsContext::drawTiledImage):
        (WebCore::GraphicsContext::drawScaledAndTiledImage):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::addClip):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        * platform/cairo/ImageCairo.cpp:
        * platform/cg/GraphicsContextCG.cpp: Removed.
        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::selectAll):
        (Widget::mapFromGlobal):
        (QLineEdit::cursorPosition):
        (QTextEdit::setScrollBarModes):
        (QTextEdit::selectAll):
        (QComboBox::focusPolicy):
        (GraphicsContext::clearShadow):
        (QTextEdit::setCursorPosition):
        (GraphicsContext::drawText):
        (QLineEdit::setLiveSearch):
        (QComboBox::QComboBox):
        (Widget::lockDrawingFocus):
        (QTextEdit::setSelectionRange):
        (QSlider::QSlider):
        (ScrollView::scrollYOffset):
        (QComboBox::sizeHint):
        (QLineEdit::edited):
        (QTextEdit::text):
        (QSlider::value):
        (WebCore::Widget::setFocus):
        (WebCore::TransferJob::addMetaData):
        (FrameWin::respondToChangedContents):
        (FrameWin::unfocusWindow):
        (FrameWin::locationbarVisible):
        (FrameWin::respondToChangedSelection):
        (FrameWin::clearUndoRedoOperations):
        (FrameWin::issueRedoCommand):
        (FrameWin::getObjectInstanceForWidget):
        (FrameWin::getEmbedInstanceForWidget):
        (FrameWin::canRedo):
        (FrameWin::canUndo):
        (FrameWin::runJavaScriptPrompt):
        (FrameWin::recordFormValue):
        (FrameWin::registerCommandForRedo):
        (FrameWin::runJavaScriptAlert):
        (FrameWin::runJavaScriptConfirm):
        (FrameWin::openURL):
        (FrameWin::saveDocumentState):
        (FrameWin::print):
        (FrameWin::getAppletInstanceForWidget):
        (FrameWin::passMouseDownEventToWidget):
        (FrameWin::registerCommandForUndo):
        (FrameWin::issueCutCommand):
        (FrameWin::issueCopyCommand):
        (FrameWin::addMessageToConsole):
        (FrameWin::passWheelEventToChildWidget):
        (FrameWin::issueUndoCommand):
        (FrameWin::mimeTypeForFileName):
        (FrameWin::clearRecordedFormValues):
        (FrameWin::issuePasteCommand):
        (FrameWin::shouldChangeSelection):
        (FrameWin::scheduleClose):
        (FrameWin::markMisspellingsInAdjacentWords):
        (FrameWin::markMisspellings):
        (FrameWin::menubarVisible):
        (FrameWin::personalbarVisible):
        (FrameWin::lastEventIsMouseUp):
        (FrameWin::statusbarVisible):
        (FrameWin::toolbarVisible):
        (FrameWin::issueTransposeCommand):
        (FrameWin::userAgent):
        (FrameWin::canPaste):
        (FrameWin::incomingReferrer):
        (FrameWin::objectContentType):
        (FrameWin::passSubframeEventToSubframe):
        (FrameWin::createFrame):
        (FrameWin::canGoBackOrForward):
        (FrameWin::issuePasteAndMatchStyleCommand):
        (FrameWin::createPlugin):
        (FrameWin::generateFrameName):
        (QTextEdit::setWritingDirection):
        (QFontMetrics::checkSelectionPoint):
        (GraphicsContext::GraphicsContext):
        (QFontMetrics::isFixedPitch):
        (FrameWin::restoreDocumentState):
        (FrameWin::partClearedInBegin):
        (FrameWin::createEmptyDocument):
        (FrameWin::overrideMediaType):
        (FrameWin::setTitle):
        (FrameWin::handledOnloadEvents):
        (FrameWin::markedTextRange):
        (GraphicsContext::font):
        (GraphicsContext::setFont):

2006-03-02  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        Changed an Objective-C forward declaration from "class" to "@class".
        This doesn't appear to fix any problems, though.

        * platform/StringImpl.h:

2006-03-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=7059>
        TinyMCE: Select All + delete sends you Back intsead of deleting

        * page/Frame.cpp:
        (WebCore::Frame::selectFrameElementInParentIfFullySelected):

2006-03-01  David Harrison  <harrison@apple.com>

        Reviewed by Justin.
        (missed these in my earlier commit for <rdar://problem/4359736>)

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
        (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge decreaseSelectionListLevel]):

2006-03-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix win32 build, add IntRectWin and GraphicsContextCairo stub.

        * Viewer/ImageDocument.cpp:
        * Viewer/ImageMainFrame.cpp:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/IntRect.h:
        * platform/cairo/GraphicsContextCairo.cpp: Added.
        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::TransferJob::TransferJob):
        (GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):

2006-02-23  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4359736> Support outlining ability with lists

        Added Mail SPI for list level changes.  It is SPI because it is not complete support
        for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
        Additional support is to end a list when return is typed on empty list item.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Added ModifySelectionListLevelCommand.cpp and ModifySelectionListLevelCommand.h
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
        (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
        Supply list level calls in the bridge.
        
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::createListItemElement):
        New.  Creates an li.
        
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        - slight logic cleanup
        - on empty list item, end the list
        
        * editing/ModifySelectionListLevelCommand.cpp: Added.
        (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
        (WebCore::ModifySelectionListLevelCommand::preservesTypingStyle):
        (WebCore::ModifySelectionListLevelCommand::doApply):
        (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
        (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
        (WebCore::modifySelectionListLevel):
        (WebCore::getStartEndListChildren):
        (WebCore::canIncreaseListLevel):
        (WebCore::canDecreaseListLevel):
        (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
        (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeAfter):
        (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
        (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
        (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
        * editing/ModifySelectionListLevelCommand.h: Added.
        New editing command for adjusting the list level.
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Slight logic cleanup

        * editing/htmlediting.cpp:
        (WebCore::isListElement):
        (WebCore::enclosingListChild):
        New helpers.
        
        (WebCore::isTableElement):
        Allow caller to pass 0... return false in that case.
        
        * editing/htmlediting.h:
        New helpers.
        
        * rendering/RenderContainer.cpp:
        (WebCore::updateListMarkerNumbers):
        Allow for list children that are not li nodes.  Ignore and continue rather than stopping.
        
        (WebCore::RenderContainer::addChild):
        Allow for nil beforeChild, meaning "add at end".
        
2006-03-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by justing.

        Update ESelectionGranulartiy enum to use newer CamelCase styling.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
        * editing/Selection.cpp:
        (WebCore::Selection::Selection):
        (WebCore::Selection::validate):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRightForward):
        (WebCore::SelectionController::modifyMovingRightForward):
        (WebCore::SelectionController::modifyExtendingLeftBackward):
        (WebCore::SelectionController::modifyMovingLeftBackward):
        (WebCore::SelectionController::modify):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/jsediting.cpp:
        * editing/text_granularity.h:
        (WebCore::):
        * page/Frame.cpp:
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::handleMouseMoveEventSelection):

2006-03-01  Alexander Kellett  <lypanov@kde.org>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5966

        Fixes already existing test:
          svg/W3C-SVG-1.1/coords-viewattr-02-b.svg

        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
        (WebCore::RenderSVGImage::paint):
        * kcanvas/RenderSVGImage.h:

2006-03-01  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=3812
          XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.

        HEAD is currently unimplemented because of what seems to be a bug in NSURLConnection,
        and does a GET instead.

        * kwq/KWQKJobClasses.h: Add a method parameter to TransferJob.
        * kwq/KWQKJobClasses.mm:
        (WebCore::TransferJobPrivate::TransferJobPrivate):
        (WebCore::TransferJob::TransferJob):
        (WebCore::TransferJob::method):
        * bridge/mac/WebCoreFrameBridge.h: URL loading functions now take a method parameter.
        * dom/xml_tokenizer.cpp:
        (WebCore::openFunc):
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::docLoaderFunc):
        * kwq/KWQLoader.mm:
        (KWQServeRequest):
        (KWQServeSynchronousRequest):
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send): Honor the method passed in open().
        * khtml/ecma/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Don't serialize null as "null".

2006-03-01  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.
        
        http://bugs.webkit.org/show_bug.cgi?id=7450
        elementAtPoint is expensive and should return a smart dictionary
        
        <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)

        Support for WebKit. This removes the old elementAtPoint: on the bridge.
        WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint:

        * WebCore.exp: removes the WebCore* dictionary keys
        * bindings/objc/DOM.mm:
        (-[DOMElement image]): new method to get an NSImage if the element has an image renderer
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement titleDisplayString]): new method that returns the title after doing the backslash as currency symbol conversion
        (-[DOMHTMLInputElement altDisplayString]): ditto for alt
        (-[DOMHTMLImageElement altDisplayString]): ditto
        (-[DOMHTMLAppletElement altDisplayString]): ditto
        (-[DOMHTMLAreaElement altDisplayString]): ditto
        (-[DOMHTMLAnchorElement absoluteLinkURL]): new method to get the absolute NSURL
        (-[DOMHTMLAreaElement absoluteLinkURL]): ditto
        (-[DOMHTMLLinkElement absoluteLinkURL]): ditto
        (-[DOMHTMLInputElement absoluteImageURL]): new method to get the absolute image location as an NSURL
        (-[DOMHTMLImageElement absoluteImageURL]): ditto
        (-[DOMHTMLObjectElement absoluteImageURL]): ditto
        * bindings/objc/DOMPrivate.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:]):
        (-[WebCoreFrameBridge isPointInsideSelection:]):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::prepareMouseEvent):
        (WebCore::DocumentImpl::backslashAsCurrencySymbol):
        * dom/DocumentImpl.h:
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::hitTest):
        * rendering/render_object.h:
        (WebCore::RenderObject::NodeInfo::URLElement):
        (WebCore::RenderObject::NodeInfo::setURLElement):

2006-03-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/css/hover-subselector.html

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7327
          REGRESSION (r12869): :hover subselector does not work in quirks mode

        * css/cssstyleselector.h:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkSelector): Pass flag to indicate sub-selector.
        (WebCore::CSSStyleSelector::checkOneSelector): Apply the *:hover and *:active quirks only
        when there are no sub-selectors.

2006-03-01  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Hyatt.

        - fix win32 build (and make dumprendertree run)

        * kwq/KWQComboBox.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (QTextEdit::selectionEnd):
        (Widget::~Widget):
        (GraphicsContext::beginTransparencyLayer):
        (QComboBox::populate):
        (GraphicsContext::drawConvexPolygon):
        (QFontMetrics::selectionRectForText):
        (GraphicsContext::setShadow):
        (GraphicsContext::clearFocusRing):
        (GraphicsContext::drawImageInRect):
        (KWQFileButton::setFilename):
        (KWQFileButton::focusPolicy):
        (KWQFileButton::frameGeometry):
        (QSlider::focusPolicy):
        (WebCore::GraphicsContext::font):
        (QTextEdit::setWritingDirection):
        (QFontMetrics::checkSelectionPoint):
        (QFontMetrics::isFixedPitch):
        (WebCore::TransferJob::addMetaData):

2006-02-28  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - http://bugs.webkit.org/show_bug.cgi?id=7444
          move QPainter to platform directory and name it GraphicsContext

        * platform/GraphicsContext.h: Added.
        * platform/TextDirection.h: Added.
        * platform/cg/GraphicsContextCG.cpp: Added.
        * platform/mac/GraphicsContextMac.mm: Added.

        * kwq/KWQPainter.h: Removed.
        * kwq/KWQPainter.mm: Removed.
        * ForwardingHeaders/qpainter.h: Removed.

        * WebCore.xcodeproj/project.pbxproj: Updated for moved files.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for moved files.
        * platform/win/TemporaryLinkStubs.cpp: Updated.

        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::setDisplaysWithFocusAttributes):
        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
        * editing/SelectionController.h:
        * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
        * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::Context2DFunction::callAsFunction):
        (KJS::Context2D::putValueProperty):
        (KJS::drawPattern):
        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::paintCaret):
        (WebCore::Frame::paintDragCaret):
        (WebCore::Frame::paint):
        (WebCore::Frame::adjustPageHeight):
        * page/FrameView.h:
        * platform/Font.h:
        * platform/Font.cpp:
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::drawText):
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm: (WebCore::Widget::paint):
        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintSpellingMarker):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::paintAllMarkersOfType):
        (WebCore::InlineTextBox::paintMarkedTextUnderline):
        (WebCore::InlineTextBox::offsetForPosition):
        * rendering/RenderTableCell.cpp:
        (WebCore::outlineBox):
        (WebCore::RenderTableCell::paintCollapsedBorder):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/render_box.cpp:
        (WebCore::RenderBox::paintBackgrounds):
        (WebCore::RenderBox::paintBackground):
        (WebCore::RenderBox::paintBackgroundExtended):
        (WebCore::RenderBox::outlineBox):
        * rendering/render_box.h:
        * rendering/render_button.cpp:
        (WebCore::RenderButton::RenderButton):
        (WebCore::RenderButton::paintObject):
        * rendering/render_button.h:
        (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
        * rendering/render_canvas.cpp:
        * rendering/render_canvasimage.cpp:
        (WebCore::RenderCanvasImage::paint):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::addFocusRingRects):
        (WebCore::RenderFlow::paintFocusRing):
        (WebCore::RenderFlow::paintOutlines):
        (WebCore::RenderFlow::paintOutlineForLine):
        * rendering/render_flow.h:
        * rendering/render_form.cpp:
        (WebCore::RenderLineEdit::setStyle):
        (WebCore::RenderFieldset::paintBorderMinusLegend):
        (WebCore::RenderSelect::setWidgetWritingDirection):
        (WebCore::RenderTextArea::setStyle):
        * rendering/render_form.h:
        (WebCore::RenderFieldset::renderName):
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::userResize):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::paint):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::RenderLayer::paintScrollbars):
        (WebCore::RenderLayer::paint):
        (WebCore::setClip):
        (WebCore::restoreClip):
        (WebCore::RenderLayer::paintLayer):
        (WebCore::Marquee::direction):
        * rendering/render_layer.h:
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::paintBackgrounds):
        (WebCore::InlineFlowBox::paintBackground):
        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
        (WebCore::InlineFlowBox::paintDecorations):
        (WebCore::EllipsisBox::paint):
        * rendering/render_line.h:
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::drawBorder):
        (WebCore::RenderObject::paintBorderImage):
        (WebCore::RenderObject::paintBorder):
        (WebCore::RenderObject::addFocusRingRects):
        (WebCore::RenderObject::paintOutline):
        (WebCore::RenderObject::selectionColor):
        * rendering/render_object.h:
        (WebCore::RenderObject::element):
        (WebCore::RenderObject::document):
        (WebCore::RenderObject::setNode):
        (WebCore::RenderObject::node):
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        (WebCore::RenderObject::paintBoxDecorations):
        (WebCore::RenderObject::paintBackgroundExtended):
        (WebCore::RenderObject::printBoxDecorations):
        * rendering/render_replaced.cpp: (WebCore::RenderReplaced::selectionColor):
        * rendering/render_replaced.h:
        Updated to use GraphicsContext instead of QPainter.

        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
        * kwq/KWQComboBox.h:
        * kwq/KWQComboBox.mm: (QComboBox::setWritingDirection):
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm: (QLineEdit::setWritingDirection):
        * kwq/KWQListBox.h:
        * kwq/KWQListBox.mm: (QListBox::setWritingDirection):
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm: (QTextEdit::setWritingDirection):
        * rendering/bidi.cpp:
        (khtml::bidiNext):
        (khtml::bidiFirst):
        Updated to use TextDirection instead of QPainter::TextDirection and EDirection.

        * kcanvas/device/KRenderingDevice.h: Added renderingDevice here to
        replace QPainter::renderingDevice for now.

        * khtml/ecma/kjs_html.h: Fixed comments to mention GraphicsContext.

        * khtml/html/html_imageimpl.h:
        * page/FrameView.cpp:
        * rendering/RenderBlock.cpp:
        Added include needed since I reduced includes elsewhere.

        * kwq/KWQFontMetrics.h:
        * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint):
        Changed QChar* to be const QChar*.

        * platform/FontDescription.h: Added include that was missing.
        * rendering/render_theme.cpp: Ditto.

        * platform/Image.h: Removed unnecessary forward declaration of QPainter.

        * rendering/RenderText.h: Clean up types, use const.

        * rendering/render_style.h: Removed EDirection and replaced it with TextDirection.

        * kcanvas/KCanvasCreator.cpp:
        (WebCore::KCanvasCreator::createRoundedRectangle):
        (WebCore::KCanvasCreator::createRectangle):
        (WebCore::KCanvasCreator::createEllipse):
        (WebCore::KCanvasCreator::createLine):
        * kcanvas/KCanvasPath.cpp: (WebCore::operator<<):
        * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<):
        * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint):
        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::translateForAttributes):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::prepareFilter):
        (WebCore::KCanvasFilterQuartz::applyFilter):
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        (WebCore::KCanvasMaskerQuartz::applyMask):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasContainerQuartz::paint):
        (WebCore::KCanvasClipperQuartz::applyClip):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::pushContext):
        (WebCore::KRenderingDeviceQuartz::popContext):
        (WebCore::renderingDevice):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::setup):
        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
        * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::sharedSolidPaintServer):
        * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::createRenderer):
        * ksvg2/svg/SVGClipPathElementImpl.cpp: (SVGClipPathElementImpl::canvasResource):
        * ksvg2/svg/SVGFEBlendElementImpl.cpp: (SVGFEBlendElementImpl::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: (SVGFEColorMatrixElementImpl::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp: (SVGFEComponentTransferElementImpl::filterEffect):
        * ksvg2/svg/SVGFECompositeElementImpl.cpp: (SVGFECompositeElementImpl::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: (WebCore::SVGFEDiffuseLightingElementImpl::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: (SVGFEDisplacementMapElementImpl::filterEffect):
        * ksvg2/svg/SVGFEFloodElementImpl.cpp: (SVGFEFloodElementImpl::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: (SVGFEGaussianBlurElementImpl::filterEffect):
        * ksvg2/svg/SVGFEImageElementImpl.cpp: (SVGFEImageElementImpl::filterEffect):
        * ksvg2/svg/SVGFEMergeElementImpl.cpp: (SVGFEMergeElementImpl::filterEffect):
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp: (SVGFEOffsetElementImpl::filterEffect):
        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: (SVGFESpecularLightingElementImpl::filterEffect):
        * ksvg2/svg/SVGFETileElementImpl.cpp: (SVGFETileElementImpl::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp: (SVGFETurbulenceElementImpl::filterEffect):
        * ksvg2/svg/SVGFilterElementImpl.cpp: (SVGFilterElementImpl::canvasResource):
        * ksvg2/svg/SVGGElementImpl.cpp: (SVGGElementImpl::createRenderer):
        * ksvg2/svg/SVGGradientElementImpl.cpp: (SVGGradientElementImpl::canvasResource):
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (WebCore::SVGMarkerElementImpl::canvasResource):
        (WebCore::SVGMarkerElementImpl::createRenderer):
        * ksvg2/svg/SVGMaskElementImpl.cpp:
        (WebCore::SVGMaskElementImpl::drawMaskerContent):
        (WebCore::SVGMaskElementImpl::createRenderer):
        (WebCore::SVGMaskElementImpl::canvasResource):
        * ksvg2/svg/SVGPathElementImpl.cpp: (WebCore::SVGPathElementImpl::toPathData):
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (WebCore::SVGPatternElementImpl::drawPatternContentIntoTile):
        (WebCore::SVGPatternElementImpl::createRenderer):
        (WebCore::SVGPatternElementImpl::canvasResource):
        * ksvg2/svg/SVGPolygonElementImpl.cpp: (SVGPolygonElementImpl::toPathData):
        * ksvg2/svg/SVGPolylineElementImpl.cpp: (SVGPolylineElementImpl::toPathData):
        * ksvg2/svg/SVGSVGElementImpl.cpp: (WebCore::SVGSVGElementImpl::createRenderer):
        * ksvg2/svg/SVGStyledElementImpl.cpp: (WebCore::SVGStyledElementImpl::createRenderer):
        * ksvg2/svg/SVGSwitchElementImpl.cpp: (SVGSwitchElementImpl::createRenderer):
        * ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::createRenderer):
        Updated to use renderingDevice instead of QPainter::renderingDevice.

2006-02-28  Darin Adler  <darin@apple.com>

        - fixed part of the reason the build is broken

        * WebCore.xcodeproj/project.pbxproj: Updated project file.

2006-02-28  Darin Adler  <darin@apple.com>

        Rubber-stamped by Hyatt.

        - moved the WebCoreXXX files from kwq to appropriate directories

        No changes to the contents of the files.

        * WebCore.xcodeproj/project.pbxproj: Updated project file.
        * bridge/mac/WebCoreCache.h: Added.
        * bridge/mac/WebCoreCache.mm: Added.
        * bridge/mac/WebCoreEncodings.h: Added.
        * bridge/mac/WebCoreEncodings.mm: Added.
        * bridge/mac/WebCoreFrameNamespaces.h: Added.
        * bridge/mac/WebCoreFrameNamespaces.m: Added.
        * bridge/mac/WebCoreFrameView.h: Added.
        * bridge/mac/WebCoreJavaScript.h: Added.
        * bridge/mac/WebCoreJavaScript.mm: Added.
        * bridge/mac/WebCoreKeyboardAccess.h: Added.
        * bridge/mac/WebCoreResourceLoader.h: Added.
        * bridge/mac/WebCoreScriptDebugger.h: Added.
        * bridge/mac/WebCoreScriptDebugger.mm: Added.
        * bridge/mac/WebCoreSettings.h: Added.
        * bridge/mac/WebCoreSettings.mm: Added.
        * bridge/mac/WebCoreTextDecoder.h: Added.
        * bridge/mac/WebCoreTextDecoder.mm: Added.
        * bridge/mac/WebCoreViewFactory.h: Added.
        * bridge/mac/WebCoreViewFactory.m: Added.
        * bridge/mac/WebDashboardRegion.h: Added.
        * bridge/mac/WebDashboardRegion.m: Added.
        * kwq/WebCoreCache.h: Removed.
        * kwq/WebCoreCache.mm: Removed.
        * kwq/WebCoreCookieAdapter.h: Removed.
        * kwq/WebCoreCookieAdapter.m: Removed.
        * kwq/WebCoreEncodings.h: Removed.
        * kwq/WebCoreEncodings.mm: Removed.
        * kwq/WebCoreFrameNamespaces.h: Removed.
        * kwq/WebCoreFrameNamespaces.m: Removed.
        * kwq/WebCoreFrameView.h: Removed.
        * kwq/WebCoreGraphicsBridge.h: Removed.
        * kwq/WebCoreGraphicsBridge.m: Removed.
        * kwq/WebCoreHistory.h: Removed.
        * kwq/WebCoreHistory.m: Removed.
        * kwq/WebCoreImageRenderer.h: Removed.
        * kwq/WebCoreImageRendererFactory.h: Removed.
        * kwq/WebCoreImageRendererFactory.m: Removed.
        * kwq/WebCoreJavaScript.h: Removed.
        * kwq/WebCoreJavaScript.mm: Removed.
        * kwq/WebCoreKeyGenerator.h: Removed.
        * kwq/WebCoreKeyGenerator.m: Removed.
        * kwq/WebCoreKeyboardAccess.h: Removed.
        * kwq/WebCoreResourceLoader.h: Removed.
        * kwq/WebCoreScriptDebugger.h: Removed.
        * kwq/WebCoreScriptDebugger.mm: Removed.
        * kwq/WebCoreSettings.h: Removed.
        * kwq/WebCoreSettings.mm: Removed.
        * kwq/WebCoreTextDecoder.h: Removed.
        * kwq/WebCoreTextDecoder.mm: Removed.
        * kwq/WebCoreTextRenderer.h: Removed.
        * kwq/WebCoreTextRendererFactory.h: Removed.
        * kwq/WebCoreTextRendererFactory.mm: Removed.
        * kwq/WebCoreView.h: Removed.
        * kwq/WebCoreView.m: Removed.
        * kwq/WebCoreViewFactory.h: Removed.
        * kwq/WebCoreViewFactory.m: Removed.
        * kwq/WebDashboardRegion.h: Removed.
        * kwq/WebDashboardRegion.m: Removed.
        * platform/mac/WebCoreCookieAdapter.h: Added.
        * platform/mac/WebCoreCookieAdapter.m: Added.
        * platform/mac/WebCoreGraphicsBridge.h: Added.
        * platform/mac/WebCoreGraphicsBridge.m: Added.
        * platform/mac/WebCoreHistory.h: Added.
        * platform/mac/WebCoreHistory.m: Added.
        * platform/mac/WebCoreImageRenderer.h: Added.
        * platform/mac/WebCoreImageRendererFactory.h: Added.
        * platform/mac/WebCoreImageRendererFactory.m: Added.
        * platform/mac/WebCoreKeyGenerator.h: Added.
        * platform/mac/WebCoreKeyGenerator.m: Added.
        * platform/mac/WebCoreTextRenderer.h: Added.
        * platform/mac/WebCoreTextRendererFactory.h: Added.
        * platform/mac/WebCoreTextRendererFactory.mm: Added.
        * platform/mac/WebCoreView.h: Added.
        * platform/mac/WebCoreView.m: Added.

2006-02-28  David Hyatt  <hyatt@apple.com>

        Fold QFont into Font and eliminate QFont completely.

        Reviewed by eric

        * ForwardingHeaders/qfont.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMElement _font]):
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::attributedString):
        (WebCore::MacFrame::fontForSelection):
        (WebCore::MacFrame::fontAttributesForSelectionStart):
        * bridge/mac/WebCoreFrameBridge.mm:
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::recalcStyle):
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::updateValue):
        * kwq/KWQAccObject.mm:
        (AXAttributeStringSetStyle):
        * kwq/KWQComboBox.h:
        * kwq/KWQComboBox.mm:
        (QComboBox::setFont):
        * kwq/KWQFont.h: Removed.
        * kwq/KWQFont.mm: Removed.
        * kwq/KWQFontMetrics.h:
        * kwq/KWQFontMetrics.mm:
        (QFontMetricsPrivate::QFontMetricsPrivate):
        (QFontMetricsPrivate::~QFontMetricsPrivate):
        (QFontMetricsPrivate::getRenderer):
        (QFontMetricsPrivate::fontDescription):
        (QFontMetricsPrivate::setFontDescription):
        (QFontMetricsPrivate::getWebCoreFont):
        (QFontMetricsPrivate::isFixedPitch):
        (QFontMetricsPrivate::determinePitch):
        (QFontMetrics::QFontMetrics):
        (QFontMetrics::setFontDescription):
        (QFontMetrics::width):
        (QFontMetrics::floatWidth):
        (QFontMetrics::selectionRectForText):
        (QFontMetrics::checkSelectionPoint):
        (QFontMetrics::getWebCoreFont):
        (QFontMetrics::isFixedPitch):
        * kwq/KWQKHTMLSettings.h:
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        (-[NSSearchField _addStringToRecentSearches:]):
        (QLineEdit::setFont):
        * kwq/KWQListBox.h:
        * kwq/KWQListBox.mm:
        (QListBox::sizeForNumberOfLines):
        (QListBox::setFont):
        (-[KWQTableView drawRow:clipRect:]):
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:
        (WebCore::QPainter::font):
        (WebCore::QPainter::setFont):
        (WebCore::QPainter::fontMetrics):
        (WebCore::QPainter::_updateRenderer):
        (WebCore::QPainter::drawText):
        (WebCore::QPainter::drawHighlightForText):
        * kwq/KWQSlider.h:
        * kwq/KWQSlider.mm:
        (QSlider::setFont):
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        (QTextEdit::setFont):
        * platform/Font.cpp:
        (khtml::Font::update):
        * platform/Font.h:
        (WebCore::):
        (WebCore::Font::m_wordSpacing):
        (WebCore::Font::Font):
        (WebCore::Font::operator==):
        (WebCore::Font::operator!=):
        (WebCore::Font::fontMetrics):
        (WebCore::Font::pixelSize):
        (WebCore::Font::size):
        (WebCore::Font::letterSpacing):
        (WebCore::Font::setWordSpacing):
        (WebCore::Font::setLetterSpacing):
        (WebCore::Font::isFixedPitch):
        (WebCore::Font::isPrinterFont):
        (WebCore::Font::firstFamily):
        (WebCore::Font::family):
        (WebCore::Font::italic):
        (WebCore::Font::weight):
        (WebCore::Font::getNSFamily):
        (WebCore::Font::getNSFont):
        (WebCore::Font::getWebCoreFont):
        * platform/FontDescription.h:
        (WebCore::FontDescription::FontDescription):
        * platform/FontFamily.h:
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::font):
        (WebCore::Widget::setFont):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::cacheWidths):
        (WebCore::RenderText::trimmedMinMaxWidth):
        (WebCore::RenderText::calcMinMaxWidth):
        (WebCore::RenderText::font):
        (WebCore::RenderText::width):
        * rendering/RenderText.h:
        * rendering/bidi.cpp:
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::findNextLineBreak):
        * rendering/render_br.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::lineHeight):
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::setStyle):
        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::paint):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        (WebCore::InlineFlowBox::paintDecorations):
        (WebCore::EllipsisBox::paint):
        * rendering/render_list.cpp:
        (RenderListMarker::paint):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::getVerticalPosition):
        (WebCore::RenderObject::lineHeight):
        * rendering/render_object.h:
        (WebCore::RenderObject::font):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::setStyle):
        * rendering/render_style.h:
        (khtml::RenderStyle::fontSize):
        (khtml::RenderStyle::fontMetrics):
        (khtml::RenderStyle::wordSpacing):
        (khtml::RenderStyle::letterSpacing):
        (khtml::RenderStyle::setFontDescription):
        (khtml::RenderStyle::setWordSpacing):
        (khtml::RenderStyle::setLetterSpacing):

2006-02-28  Darin Adler  <darin@apple.com>

        Reviewed by Adele.

        - remove obsolete WebCoreScrollView class

        * WebCore.exp: Remove WebCoreScrollView class name.

        * kwq/WebCoreScrollView.h: Removed.
        * kwq/WebCoreScrollView.m: Removed.
        * WebCore.xcodeproj/project.pbxproj: Remove WebCoreScrollView source files.

        * kwq/KWQListBox.mm: (-[KWQListBoxScrollView autoforwardsScrollWheelEvents]): Added.
        * kwq/KWQTextArea.h: Change base class to NSScrollView instead of WebCoreScrollView.
        * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView autoforwardsScrollWheelEvents]): Ditto.

2006-02-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix spacing/style on several of the stubs.
        Reorganize stubs, separating empty stubs.
        Remove the abort from certain stubs blocking DRT.
        Add a virtual setView call to Frame baseclass.

        * bridge/mac/MacFrame.h: mark setView virtual
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::attach): remove no-renderer hack
        * page/Frame.cpp:
        (WebCore::Frame::view): fix spacing
        (WebCore::Frame::setView): added.
        * page/Frame.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (notImplemented): make break directly into debugger.
        Moved, modified several other stubs not mentioned here.

2006-02-28  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by mjs
        
        <http://bugs.webkit.org/show_bug.cgi?id=6647>
        TinyMCE: document.execCommand("insertHTML", ...) unimplemented

        * editing/jsediting.cpp:

2006-02-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - make win32 DumpRenderTree run without crashing
        http://bugs.webkit.org/show_bug.cgi?id=7511

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/BrowserExtensionWin.h: Added.
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin): Initialize browser
        extension and settings.
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::attach): Don't create renderers 
        for now.
        * dom/EventNames.cpp:
        (WebCore::EventNames::init): use placement new even when
        not avoiding static constructors.
        * khtml/html/htmlnames.cpp:
        (WebCore::HTMLNames::init): ditto
        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::init): ditto
        * dom/QualifiedName.h:
        (WebCore::QualifiedName::QualifiedName): Added default
        constructor but only in ifdef.
        * page/Frame.h:
        * platform/AtomicString.cpp:
        (WebCore::AtomicString::init): use placement new even when
        not avoiding static constructors
        * platform/StaticConstructors.h: don't initialize when
        not avoiding static constructors, just default construct
        and let initialization happen normally
        * platform/win/TemporaryLinkStubs.cpp: Stub out some more things
        (Cursor::~Cursor):
        (QFont::~QFont):
        (QFontMetrics::~QFontMetrics):
        (WebCore::FrameWin::restoreDocumentState):
        (WebCore::FrameWin::partClearedInBegin):
        (WebCore::FrameWin::createEmptyDocument):
        (WebCore::BrowserExtensionWin::getHistoryLength):
        (WebCore::BrowserExtensionWin::canRunModal):
        (WebCore::BrowserExtensionWin::openURLNotify):
        (WebCore::BrowserExtensionWin::canRunModalNow):
        (WebCore::BrowserExtensionWin::runModal):
        (WebCore::BrowserExtensionWin::goBackOrForward):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Remove abort() from constructors to allow DRT to run.

        * platform/win/TemporaryLinkStubs.cpp:
        (QFont::QFont):
        (QFontMetrics::QFontMetrics):

2006-02-27  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=6893> 
        REGRESSION: Major bug with TinyMCE, no value submitted from textarea
        <rdar://problem/3465857> value from textarea form field inside of hidden div isn't submitted
        <rdar://problem/3968059> Textarea with hard-wrap: pre-filled text doesn't get hard-wrapped
        
        Canonicalize line endings in textareas to avoid the workarounds that were a source of bugs,
        Also call textWithHardLineWraps inside appendFormData (and nowhere else) if wrap="hard".

        * khtml/html/HTMLTextAreaElementImpl.cpp:
        (WebCore::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
        (WebCore::HTMLTextAreaElementImpl::select):
        (WebCore::HTMLTextAreaElementImpl::appendFormData):
        (WebCore::HTMLTextAreaElementImpl::rendererWillBeDestroyed):
        (WebCore::HTMLTextAreaElementImpl::updateValue):
        (WebCore::HTMLTextAreaElementImpl::value):
        (WebCore::HTMLTextAreaElementImpl::setValue):
        (WebCore::HTMLTextAreaElementImpl::defaultValue):
        * khtml/html/HTMLTextAreaElementImpl.h:
        (DOM::HTMLTextAreaElementImpl::invalidateValue):
        * kwq/KWQTextArea.h:
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView textDidChange:]):
        (-[KWQTextAreaTextView text]):
        (-[KWQTextAreaTextView textWithHardLineBreaks]):
        (-[KWQTextAreaTextView setSelectedRange:]):
        (-[KWQTextAreaTextView selectedRange]):
        (-[KWQTextAreaTextView getCursorPositionAsIndex:inParagraph:]):
        (RangeOfParagraph):
        (-[KWQTextAreaTextView textView:shouldChangeTextInRange:replacementString:]):
        * rendering/render_form.cpp:
        (WebCore::RenderTextArea::destroy):
        (WebCore::RenderTextArea::updateFromElement):
        (WebCore::RenderTextArea::text):
        (WebCore::RenderTextArea::textWithHardLineBreaks):
        * rendering/render_form.h:

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Copy missing dlls to build directory.

        * Viewer.cpp: fix line endings
        * Viewer/ImageView.cpp: fix line endings
        * Viewer/stdafx.cpp: fix line endings
        * WebCore.vcproj/WebCore/build-generated-files.sh:

2006-02-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: added to fast/dom/css-selectorText.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7338
          Incorrect selectorText for multiple subselectors.

        * css/css_base.cpp:
        (CSSSelector::selectorText): Iterate over subselectors

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - write a portable ICU version of TextEncoding::fromUnicode for use on win32

        * platform/StreamingTextDecoder.h:
        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::fromUnicode): added
        (WebCore::getConverter): helper
        (WebCore::cacheConverter): ditto
        (WebCore::effectiveEncoding): ditto
        * platform/mac/TextEncodingMac.cpp: Add comment
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::TextEncoding::fromUnicode): remove

2006-02-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/text/in-rendered-text-rtl.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7433
          REGRESSION (r12789): Second RTL text run on a line cannot be selected

        * dom/dom_position.cpp:
        (WebCore::Position::inRenderedText): If the RenderText contains
        reversed text, the text boxes are not necessarily ordered by start
        position, so iterate through all of them.
        (WebCore::Position::isRenderedCharacter): Ditto.

2006-02-27  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7321
        REGRESSION: style tag in body causes two head elements to appear in the DOM

        * khtml/html/htmlparser.cpp: Handle the head node like form and map nodes.
        (WebCore::HTMLParser::parseToken):
        (WebCore::HTMLParser::headCreateErrorCheck):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Add stub to make DRT link.
        Make WebCore copy libxml.dll into build directory when building.

        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::TextEncoding::fromUnicode):

2006-02-27  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix regression in layout tests

        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
        Fix some code that was not properly truncating. I broke it in my
        string change this morning. 

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - add stubs for FrameWin overrides of pure virtual Frame methods

        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::respondToChangedContents):
        (WebCore::FrameWin::unfocusWindow):
        (WebCore::FrameWin::locationbarVisible):
        (WebCore::FrameWin::respondToChangedSelection):
        (WebCore::FrameWin::clearUndoRedoOperations):
        (WebCore::FrameWin::issueRedoCommand):
        (WebCore::FrameWin::canRedo):
        (WebCore::FrameWin::restoreDocumentState):
        (WebCore::FrameWin::canUndo):
        (WebCore::FrameWin::overrideMediaType):
        (WebCore::FrameWin::saveDocumentState):
        (WebCore::FrameWin::print):
        (WebCore::FrameWin::issueCutCommand):
        (WebCore::FrameWin::issueCopyCommand):
        (WebCore::FrameWin::partClearedInBegin):
        (WebCore::FrameWin::issueUndoCommand):
        (WebCore::FrameWin::clearRecordedFormValues):
        (WebCore::FrameWin::issuePasteCommand):
        (WebCore::FrameWin::markedTextRange):
        (WebCore::FrameWin::shouldChangeSelection):
        (WebCore::FrameWin::scheduleClose):
        (WebCore::FrameWin::menubarVisible):
        (WebCore::FrameWin::personalbarVisible):
        (WebCore::FrameWin::createEmptyDocument):
        (WebCore::FrameWin::lastEventIsMouseUp):
        (WebCore::FrameWin::statusbarVisible):
        (WebCore::FrameWin::toolbarVisible):
        (WebCore::FrameWin::issueTransposeCommand):
        (WebCore::FrameWin::userAgent):
        (WebCore::FrameWin::canPaste):
        (WebCore::FrameWin::incomingReferrer):
        (WebCore::FrameWin::canGoBackOrForward):
        (WebCore::FrameWin::issuePasteAndMatchStyleCommand):
        (WebCore::FrameWin::handledOnloadEvents):
        (WebCore::FrameWin::generateFrameName):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Add constructor and destructor. 

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        (WebCore::FrameWin::~FrameWin):

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric (sorta).

        - add return values where needed

        * platform/win/TemporaryLinkStubs.cpp:
        (KWQServeRequest):
        (KWQServeSynchronousRequest):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Add a couple more stubs to make Win32 link.

        * platform/win/TemporaryLinkStubs.cpp:
        (KWQServeSynchronousRequest):
        (WebCore::FrameView::topLevelWidget):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Move mac-specific logging logic up into WebCore (from JavaScriptCore).
        Remove KWQ prefixes from default log channels.
        http://bugs.webkit.org/show_bug.cgi?id=7503

        * bridge/mac/WebCorePageBridge.mm:
        (initializeLogChannel):
        (initializeLoggingChannelsIfNecessary):
        (-[WebCorePageBridge init]):
        * page/Frame.h:
        * platform/Logging.cpp:
        * platform/Logging.h:

2006-02-27  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix <rdar://problem/4104575> hang due to slow saveDocumentState method

        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]):
        Change code that iterates a QStringList with indices to use iterator instead.

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - portable version of QString::utf8

        * platform/QString.cpp:
        (QString::utf8): moved here, rewritten to use TextCodec
        * platform/mac/QStringMac.mm:
        (QString::utf8): removed from here

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Rubber-stamped by mjs.

        Fix FrameWin.h to use consistant line endings.
        Fix TemporaryLinkStubs to better match style guidelines.

        * bridge/win/FrameWin.h:
        (WebCore::Win):
        * platform/win/TemporaryLinkStubs.cpp:
        (QLineEdit::selectAll):
        (QPainter::save):
        (Widget::enableFlushDrawing):
        (QPainter::drawHighlightForText):
        (QFont::setPrinterFont):
        (QTextEdit::textWithHardLineBreaks):
        (Widget::mapFromGlobal):
        (QPainter::addClip):
        (QLineEdit::cursorPosition):
        (QPainter::setPen):
        (QPainter::selectedTextBackgroundColor):
        (QPainter::fontMetrics):
        (Widget::show):
        (QFont::setItalic):
        (QSlider::setValue):
        (QLineEdit::addSearchResult):
        (KWQFileButton::click):
        (QLineEdit::setWritingDirection):
        (QPainter::drawFocusRing):
        (KWQFileButton::sizeForCharacterWidth):
        (QTextEdit::sizeWithColumnsAndRows):
        (QComboBox::clear):
        (QPainter::misspellingLineThickness):
        (QComboBox::setFrameGeometry):
        (QLineEdit::maxLength):
        (Widget::isEnabled):
        (KWQServeRequest):
        (QTextEdit::setText):
        (Widget::paint):
        (QPainter::addRoundedRectClip):
        (FrameView::viewportToGlobal):
        (QTextEdit::selectionEnd):
        (QFont::determinePitch):
        (QTextEdit::setScrollBarModes):
        (QPainter::drawEllipse):
        (QTextEdit::setReadOnly):
        (QListBox::appendItem):
        (QLineEdit::setPlaceholderString):
        (Cursor::Cursor):
        (Widget::focusPolicy):
        (ScrollView::removeChild):
        (QTextEdit::selectAll):
        (QPainter::fillRect):
        (QPainter::endTransparencyLayer):
        (QFont::QFont):
        (ScrollView::addChild):
        (QTextEdit::setDisabled):
        (QScrollBar::scroll):
        (Widget::~Widget):
        (QPainter::xForm):
        (QListBox::sizeForNumberOfLines):
        (ScrollView::resizeContents):
        (QLineEdit::selectionStart):
        (QLineEdit::QLineEdit):
        (FrameView::updateBorder):
        (QLineEdit::hasSelectedText):
        (QScrollBar::QScrollBar):
        (QListBox::doneAppendingItems):
        (QTextEdit::QTextEdit):
        (ScrollView::inWindow):
        (QScrollBar::setValue):
        (QFont::setFirstFamily):
        (QTextEdit::hasSelectedText):
        (QTextEdit::selectionStart):
        (QFont::setWeight):
        (ScrollView::scrollXOffset):
        (QListBox::isSelected):
        (QLineEdit::setReadOnly):
        (QPainter::drawLineForText):
        (QPainter::QPainter):
        (QComboBox::~QComboBox):
        (QComboBox::focusPolicy):
        (QPainter::drawImageAtPoint):
        (QPainter::clearShadow):
        (QTextEdit::setLineHeight):
        (QScrollBar::setKnobProportion):
        (KWQFileButton::KWQFileButton):
        (QFontMetrics::boundingRect):
        (QTextEdit::setSelectionStart):
        (QPainter::beginTransparencyLayer):
        (QFontMetrics::setFont):
        (QComboBox::setFont):
        (Widget::frameGeometry):
        (QListBox::setSelected):
        (QPainter::addFocusRingRect):
        (QTextEdit::setCursorPosition):
        (QPainter::restore):
        (QFontMetrics::width):
        (Widget::setEnabled):
        (QTextEdit::setSelectionEnd):
        (QComboBox::populate):
        (ScrollView::setStaticBackground):
        (QPainter::font):
        (QTextEdit::setAlignment):
        (QLineEdit::setCursorPosition):
        (QPainter::drawText):
        (QPainter::pen):
        (KJavaAppletWidget::KJavaAppletWidget):
        (QFontMetrics::descent):
        (QListBox::QListBox):
        (QFontMetrics::ascent):
        (QLineEdit::selectedText):
        (Widget::setIsSelected):
        (QLineEdit::text):
        (Widget::unlockDrawingFocus):
        (QLineEdit::setLiveSearch):
        (QPainter::paintingDisabled):
        (QComboBox::QComboBox):
        (QPainter::drawConvexPolygon):
        (Widget::setFont):
        (QSlider::setMaxValue):
        (Widget::lockDrawingFocus):
        (QPainter::drawLine):
        (QPainter::setBrush):
        (QTextEdit::setSelectionRange):
        (ScrollView::scrollPointRecursively):
        (QLineEdit::sizeForCharacterWidth):
        (Cursor::~Cursor):
        (QFontMetrics::selectionRectForText):
        (ScrollView::suppressScrollBars):
        (QFontMetrics::checkSelectionPoint):
        (QTextEdit::getCursorPosition):
        (FrameView::isFrameView):
        (QScrollBar::setSteps):
        (QLineEdit::setMaxLength):
        (Widget::setCursor):
        (QLineEdit::setAutoSaveName):
        (QComboBox::baselinePosition):
        (QComboBox::appendItem):
        (QPainter::setShadow):
        (QTextEdit::setWritingDirection):
        (Widget::setDrawingAlpha):
        (QSlider::QSlider):
        (ScrollView::setVScrollBarMode):
        (QPainter::drawScaledAndTiledImage):
        (ScrollView::scrollYOffset):
        (QPainter::drawImage):
        (QComboBox::setCurrentItem):
        (QFontMetrics::height):
        (QComboBox::setWritingDirection):
        (ScrollView::setScrollBarsMode):
        (QComboBox::sizeHint):
        (QPainter::drawRect):
        (QFont::setPixelSize):
        (Widget::setFrameGeometry):
        (QLineEdit::setSelection):
        (QLineEdit::setMaxResults):
        (QListBox::clear):
        (QLineEdit::edited):
        (QPainter::drawTiledImage):
        (QPainter::clearFocusRing):
        (QFont::operator==):
        (Widget::Widget):
        (QTextEdit::text):
        (QPainter::drawImageInRect):
        (QPainter::setFont):
        (Widget::disableFlushDrawing):
        (QPainter::initFocusRing):
        (QSlider::setMinValue):
        (QTextEdit::setWordWrap):
        (QPainter::drawLineForMisspelling):
        (QLineEdit::setText):
        (QSlider::value):
        (QListBox::setSelectionMode):
        (KWQFileButton::setFilename):
        (QFontMetrics::QFontMetrics):
        (QFontMetrics::lineSpacing):
        (QLineEdit::setEdited):
        (QComboBox::frameGeometry):
        (QListBox::setWritingDirection):
        (QLineEdit::setAlignment):
        (ScrollView::updateContents):
        (QFontMetrics::floatWidth):
        (ScrollView::setHScrollBarMode):
        (KWQFileButton::focusPolicy):
        (QListBox::setFont):
        (QLineEdit::checksDescendantsForFocus):
        (KWQFileButton::baselinePosition):
        (QSlider::~QSlider):
        (KWQFileButton::setFrameGeometry):
        (QListBox::~QListBox):
        (KWQFileButton::frameGeometry):
        (QTextEdit::setFont):
        (QLineEdit::setFont):
        (KWQFileButton::~KWQFileButton):
        (QTextEdit::focusPolicy):
        (QSlider::focusPolicy):
        (QSlider::setFont):
        (QListBox::setEnabled):
        (QListBox::checksDescendantsForFocus):
        (QListBox::focusPolicy):
        (QLineEdit::baselinePosition):
        (QSlider::sizeHint):
        (QLineEdit::~QLineEdit):
        (QTextEdit::~QTextEdit):
        (QTextEdit::checksDescendantsForFocus):
        (QLineEdit::focusPolicy):
        (QScrollBar::~QScrollBar):
        (Path::operator=):
        (QLineEdit::setColors):
        (QTextEdit::setColors):
        (searchableIndexIntroduction):
        (KWQKCookieJar::setCookie):
        (KWQKCookieJar::cookie):
        (WebCore::screenRect):
        (WebCore::Widget::clearFocus):
        (WebCore::historyContains):
        (KWQFindNextSentenceFromIndex):
        (KWQFindSentenceBoundary):
        (KWQFindNextWordFromIndex):
        (KWQFindWordBoundary):
        (submitButtonDefaultLabel):
        (inputElementAltText):
        (resetButtonDefaultLabel):
        (KWQKCookieJar::cookieEnabled):
        (WebCore::Widget::setFocus):
        (WebCore::QPainter::fillRect):
        (WebCore::QPainter::~QPainter):
        (WebCore::ScrollView::viewportToContents):
        (WebCore::TransferJob::kill):
        (WebCore::TransferJob::addMetaData):
        (WebCore::TransferJob::queryMetaData):
        (WebCore::TransferJob::error):
        (WebCore::TransferJob::errorText):
        (WebCore::TransferJob::isErrorPage):
        (WebCore::TransferJob::TransferJob):
        (WebCore::Widget::hide):
        (KLocale::language):
        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (WebCore::screenDepth):
        (QFont::italic):
        (QFontMetrics::operator=):
        (QFontMetrics::xHeight):
        (WebCore::usableScreenRect):
        (QFont::operator=):
        (Widget::setActiveWindow):
        (KWQCheckIfReloading):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::hScrollBarMode):
        (WebCore::ScrollView::vScrollBarMode):
        (KWQCheckCacheObjectStatus):

2006-02-27  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <http://bugs.webkit.org/show_bug.cgi?id=6844>
        elementAtPoint returns the list when the point is over a list marker
        
        Consider the case of outside list markers in nodeAtPoint.  Had to pull 
        the code out of RenderListMarker::paint that computed the position/size 
        of the list marker.

        Added:
        * fast/events/onclick-list-marker.html

        * rendering/render_list.cpp:
        (RenderListItem::nodeAtPoint):
        (RenderListItem::getAbsoluteRepaintRect):
        (RenderListMarker::paint):
        (RenderListMarker::nodeAtPoint):
        (RenderListMarker::getRelativeMarkerRect):
        * rendering/render_list.h:
        * rendering/render_object.h:

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        Fix xcode project after previous KWQLogging move.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Logging.h:

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        Move KWQLogging to platform and rename as Logging.*, fix headers.
        This will break the mac build, which I will fix on my next commit.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * dom/DocumentImpl.cpp:
        * dom/dom_position.cpp:
        * editing/DeleteSelectionCommand.cpp:
        * editing/InsertLineBreakCommand.cpp:
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/InsertTextCommand.cpp:
        * editing/VisiblePosition.cpp:
        * editing/markup.cpp:
        * khtml/ecma/kjs_window.cpp:
        * kwq/KWQLogging.h: Removed.
        * kwq/KWQLogging.m: Removed.
        * kwq/KWQRegExp.cpp:
        * kwq/KWQTextStream.cpp:
        * platform/Logging.cpp: Added.
        * platform/Logging.h: Added.
        * platform/QString.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ScrollView::vScrollBarMode):
        (WebCore::theme):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Fix a bunch more link errors in the win32 build, mostly by adding stubs.

        * WebCore.vcproj/WebCore/WebCore.vcproj: add JSXMLHttpRequest and PlugInInfoStore
        * WebCore.vcproj/WebCore/build-generated-files.sh: update for JSXMLHttpRequest
        * khtml/ecma/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::getValueProperty): fix switch to compile
        * platform/PlugInInfoStore.h:
        * platform/mac/PlugInInfoStoreMac.mm:
        * platform/win/TemporaryLinkStubs.cpp: add a bunch of stubs.
        (WebCore::TransferJob::errorText):
        (WebCore::TransferJob::isErrorPage):
        (WebCore::Widget::hide):
        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (PlugInInfoStore::pluginCount):
        (WebCore::refreshPlugins):
        (QFont::QFont):
        (QFont::~QFont):
        (QFont::italic):
        (QFont::weight):
        (QFontMetrics::QFontMetrics):
        (QFontMetrics::~QFontMetrics):
        (QFontMetrics::xHeight):
        (Widget::setActiveWindow):
        (WebCore::ScrollView::contentsX):
        (WebCore::ScrollView::contentsY):
        (WebCore::ScrollView::contentsHeight):
        (WebCore::ScrollView::contentsWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::hScrollBarMode):
        (WebCore::ScrollView::vScrollBarMode):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        Add missing include to fix build.

        * platform/win/TemporaryLinkStubs.cpp:

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Move KConfig to platform/PlugInInfoStore and add test.
        http://bugs.webkit.org/show_bug.cgi?id=7498

        Test: plugins/plugin-javascript-access.html

        * ForwardingHeaders/kconfig.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::PluginBase::PluginBase):
        * khtml/ecma/kjs_window.cpp:
        * kwq/KWQKConfigBase.h: Removed.
        * kwq/KWQKConfigBase.mm: Removed.
        * platform/PlugInInfoStore.h: Added.
        * platform/mac/PlugInInfoStoreMac.mm: Added.
        (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (WebCore::PlugInInfoStore::pluginCount):
        (WebCore::refreshPlugins):

2006-02-27  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Reworked KConfig and plugin architecture to be much more sane.
        This is part one.  Once this lands, I'll move it under platform with a better name.

        Darin had several great suggested further improvements as part of:
        http://bugs.webkit.org/show_bug.cgi?id=7451
        I'll make some of those when I move this to platform.

        No layout test possible (no way to control which plugins DRT sees).

        * khtml/ecma/kjs_navigator.cpp:
        (KJS::PluginBase::PluginBase):
        (KJS::PluginBase::~PluginBase):
        (KJS::PluginBase::refresh):
        (KJS::Plugins::getValueProperty):
        (KJS::Plugins::nameGetter):
        (KJS::Plugins::getOwnPropertySlot):
        (KJS::MimeTypes::getValueProperty):
        (KJS::MimeTypes::nameGetter):
        (KJS::MimeTypes::getOwnPropertySlot):
        (KJS::Plugin::getValueProperty):
        (KJS::Plugin::nameGetter):
        (KJS::Plugin::getOwnPropertySlot):
        * khtml/ecma/kjs_navigator.h:
        * khtml/ecma/kjs_window.cpp:
        * kwq/KWQKConfigBase.h:
        (WebCore::PluginInfoStore::PluginInfoStore):
        * kwq/KWQKConfigBase.mm:
        (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
        (WebCore::PluginInfoStore::pluginCount):
        (WebCore::refreshPlugins):

2006-02-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Build fix: cast to unsigned from size_t.

        * platform/StreamingTextDecoder.cpp:

2006-02-27  Maciej Stachowiak  <mjs@apple.com>
 
        Reviewed by Darin.

        - add Selection.cpp to win32 build
        http://bugs.webkit.org/show_bug.cgi?id=7490

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        - use proper header for std::min.

        * platform/StreamingTextDecoder.cpp:

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - add new TextEncoding stuff to win32 build
        http://bugs.webkit.org/show_bug.cgi?id=7491

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::convertUTF16):
        * platform/TextEncoding.cpp:

2006-02-27  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed rendering/font.* and added platform/Font.*.

2006-02-27  Darin Adler  <darin@apple.com>

        * css/csshelper.cpp: (WebCore::parseURL): Actually, the second version was fine. Rolling
        back to that; apologies for the churn.

2006-02-27  Darin Adler  <darin@apple.com>

        * css/csshelper.cpp: (WebCore::parseURL): Third time's the charm.

2006-02-27  Darin Adler  <darin@apple.com>

        * css/csshelper.cpp: (WebCore::parseURL): Oops! Checked in fixed version of this file.

2006-02-27  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=7486
          a first step in improving String/StringImpl API -- use "s" and "l" less

        * css/csshelper.cpp: (WebCore::parseURL): Use a local buffer rather than
        manipulating the characters directly inside a StringImpl buffer.

        * css/cssstyleselector.cpp: (WebCore::parseUASheet): Copy the data to parse
        it rather than going out of our way to hack StringImpl to not copy the data.
        It would be better not to copy, but this is one-time work.

        * dom/DOMImplementationImpl.cpp: (WebCore::DOMImplementationImpl::createDocument):
        * dom/dom2_viewsimpl.cpp: (DOM::AbstractViewImpl::getMatchedCSSRules):
        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
        * dom/dom_xmlimpl.cpp: (WebCore::EntityImpl::toString):
        * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText):
        * khtml/html/htmlparser.cpp: (WebCore::HTMLParser::handleError):
        * platform/AtomicString.cpp:
        (WebCore::CStringTranslator::equal):
        (WebCore::QCharBufferTranslator::equal):
        (WebCore::AtomicString::add):
        * platform/StringImpl.h:
        (WebCore::StringImpl::unicode): Added.
        (KXMLCore::CaseInsensitiveHash::hash): 
        (KXMLCore::CaseInsensitiveHash::equal):
        * rendering/InlineTextBox.cpp: (khtml::InlineTextBox::selectionStartEnd):
        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderText.cpp:
        (WebCore::getCharacterBreakIterator):
        (WebCore::RenderText::RenderText):
        (WebCore::RenderText::atLineWrap):
        (WebCore::RenderText::allAscii):
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::trimmedMinMaxWidth):
        (WebCore::RenderText::containsOnlyWhitespace):
        (WebCore::RenderText::setSelectionState):
        (WebCore::RenderText::setTextWithOffset):
        (WebCore::RenderText::setText):
        (WebCore::RenderText::width):
        (WebCore::RenderText::selectionRect):
        (WebCore::RenderText::caretMaxOffset):
        * rendering/RenderTextFragment.cpp:
        (khtml::RenderTextFragment::RenderTextFragment):
        (khtml::RenderTextFragment::originalString):
        Use length() instead of l, unicode() instead of s, and (*x)[] instead of x->s[].

        * editing/visible_units.cpp:
        (WebCore::startOfParagraph): Use const.
        (WebCore::endOfParagraph): Ditto.

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        - fix problem with a prototype that broke win32 build

        * platform/StreamingTextDecoder.h:
        (WebCore::StreamingTextDecoder::convert):

2006-02-27  Maciej Stachowiak  <mjs@apple.com>

        - fix debug build (broken by my last commit)

        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::createICUConverter):
        (WebCore::StreamingTextDecoder::convertUsingICU):

2006-02-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - platformize KWQTextCodec
        http://bugs.webkit.org/show_bug.cgi?id=7487
        
        I renamed QTextCodec to TextEncoding and QTextDecoder to
        StreamingTextDecoder. I also made a bunch of other changes to make
        the API more sensible.
        
        * ForwardingHeaders/qtextcodec.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/MacFrame.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge URLWithAttributeString:]):
        (-[WebCoreFrameBridge textEncoding]):
        (+[WebCoreFrameBridge stringWithData:textEncoding:]):
        (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::completeURL):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocument::putValueProperty):
        * khtml/html/FormDataList.cpp:
        (DOM::FormDataList::FormDataList):
        (DOM::FormDataList::appendString):
        * khtml/html/FormDataList.h:
        * khtml/html/HTMLFormElementImpl.cpp:
        (WebCore::HTMLFormElementImpl::HTMLFormElementImpl):
        (WebCore::HTMLFormElementImpl::formData):
        * khtml/html/htmltokenizer.cpp:
        * khtml/misc/decoder.cpp:
        (Decoder::Decoder):
        (Decoder::setEncodingName):
        (Decoder::encodingName):
        (Decoder::decode):
        * khtml/misc/decoder.h:
        (khtml::Decoder::):
        (khtml::Decoder::visuallyOrdered):
        (khtml::Decoder::encoding):
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::createDocumentFromSource):
        * kwq/KWQCharsets.cpp: Removed.
        * kwq/KWQCharsets.h: Removed.
        * kwq/KWQTextCodec.cpp: Removed.
        * kwq/KWQTextCodec.h: Removed.
        * kwq/WebCoreTextDecoder.h:
        * kwq/WebCoreTextDecoder.mm:
        * kwq/can-convert.mm: Removed.
        * kwq/character-sets.txt: Removed.
        * kwq/mac-encodings.txt: Removed.
        * kwq/make-charset-table.pl: Removed.
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::setCharset):
        (WebCore::CachedCSSStyleSheet::data):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        (WebCore::CachedScript::setCharset):
        (WebCore::CachedScript::data):
        * loader/CachedScript.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::setCharset):
        * page/Frame.cpp:
        (WebCore::Frame::write):
        (WebCore::Frame::gotoAnchor):
        (WebCore::Frame::encoding):
        (WebCore::Frame::backslashAsCurrencySymbol):
        * platform/CharsetNames.cpp: Added.
        (KXMLCore::):
        (WebCore::EncodingHash::equal):
        (WebCore::EncodingHash::hash):
        (WebCore::buildDictionaries):
        (WebCore::textEncodingIDFromCharsetName):
        (WebCore::charsetNameFromTextEncodingID):
        * platform/CharsetNames.h: Added.
        * platform/KURL.cpp:
        (KURL::KURL):
        (KURL::decode_string):
        (encodeRelativeString):
        * platform/KURL.h:
        * platform/QString.cpp:
        (QString::fromUtf8):
        * platform/StreamingTextDecoder.cpp: Added.
        (WebCore::StreamingTextDecoder::StreamingTextDecoder):
        (WebCore::StreamingTextDecoder::convertLatin1):
        (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
        (WebCore::StreamingTextDecoder::convertUTF16):
        (WebCore::effectiveEncoding):
        (WebCore::StreamingTextDecoder::createICUConverter):
        (WebCore::unwanted):
        (WebCore::StreamingTextDecoder::appendOmittingUnwanted):
        (WebCore::StreamingTextDecoder::convertUsingICU):
        (WebCore::StreamingTextDecoder::convert):
        (WebCore::StreamingTextDecoder::toUnicode):
        * platform/StreamingTextDecoder.h: Added.
        (WebCore::StreamingTextDecoder::convert):
        * platform/TextEncoding.cpp: Added.
        (WebCore::TextEncoding::TextEncoding):
        (WebCore::TextEncoding::name):
        (WebCore::effectiveEncoding):
        (WebCore::TextEncoding::backslashAsCurrencySymbol):
        (WebCore::TextEncoding::toUnicode):
        * platform/TextEncoding.h: Added.
        (WebCore::):
        (WebCore::TextEncoding::):
        (WebCore::TextEncoding::TextEncoding):
        (WebCore::TextEncoding::isValid):
        (WebCore::TextEncoding::usesVisualOrdering):
        (WebCore::TextEncoding::isJapanese):
        (WebCore::TextEncoding::encodingID):
        (WebCore::TextEncoding::flags):
        (WebCore::operator==):
        (WebCore::operator!=):
        * platform/character-sets.txt: Added.
        * platform/mac/ExtraCFEncodings.h: Added.
        * platform/mac/QStringMac.mm:
        * platform/mac/TextEncodingMac.cpp: Added.
        (WebCore::effectiveEncoding):
        (WebCore::TextEncoding::fromUnicode):
        * platform/mac/can-convert.mm: Added.
        * platform/mac/mac-encodings.txt: Added.
        * platform/make-charset-table.pl: Added.
        * platform/win/win-encodings.txt: Added.
        * rendering/render_object.cpp:
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::slotData):

2006-02-27  Darin Adler  <darin@apple.com>

        - fix Windows build

        * platform/win/TemporaryLinkStubs.cpp: Change KIO::TransferJob to WebCore::TransferJob.

2006-02-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - merged Job and TransferJob into TransferJob and moved it to WebCore namespace
        - changed TransferJob to use a TransferJobClient object instead of signals

        * ForwardingHeaders/kio/job.h: Changed to point to "KWQKJobClasses.h".
        * kwq/KWQKJob.h: Removed.
        * kwq/TransferJobClient.h: Added.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * dom/xml_tokenizer.cpp: (WebCore::openFunc):
        * khtml/xsl/xslt_processorimpl.cpp: (DOM::docLoaderFunc):
        Use "new TransferJob" instead of "KIO::get" and "KIO::http_post".

        * kwq/KWQKJobClasses.h: Eliminate Job. Add a TransferJobClient* parameter to
        TransferJob. Eliminate the deliverAllData parameter to TransferJob constructor.
        Remove the signals from TransferJob.
        * kwq/KWQKJobClasses.mm:
        (WebCore::TransferJobPrivate::TransferJobPrivate): Store a client pointer.
        (WebCore::TransferJob::TransferJob): Store a client pointer, remove the
        deliverAllData boolean.
        (WebCore::TransferJob::receivedResponse): Added. Replaces the old emitReceivedResponse
        function; uses client instead of a signal.
        (WebCore::TransferJob::client): Added.

        * kwq/KWQLoader.h: Switched things to mention the WebCore namespace.
        Changed KIO::TransferJob to WebCore::TransferJob.
        * kwq/KWQLoader.mm: Ditto.

        * kwq/KWQObject.h:
        * kwq/KWQObject.cpp: Removed isKHTMLLoader.

        * kwq/KWQResourceLoader.h: Changed KIO::TransferJob to WebCore::TransferJob.
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader receivedResponse:]): Call receivedResponse function on
        the job instead of emitReceivedResponse.
        (-[KWQResourceLoader redirectedToURL:]): Call receivedRedirect function on the
        client directly instead of emitRedirection on the job.
        (-[KWQResourceLoader addData:]): Call receivedData function on the
        client directly instead of emitData on the job.
        (-[KWQResourceLoader finishJobAndHandle:]): Call receivedAllData function on the
        client directly instead of emitResult on the job. Also fixed a potential memory leak
        where the handle was not released if the job was 0.

        * kwq/KWQSignal.h:
        * kwq/KWQSignal.cpp:
        * kwq/KWQSlot.h:
        * kwq/KWQSlot.cpp:
        Removed the job-related signals and slots.

        * loader/CachedObject.h: Removed unneeded declaration of TransferJob.

        * loader/loader.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests): Use "new TransferJob" instead of "KIO::get".
        Also don't connect signals.
        (WebCore::Loader::receivedAllData): New name for slotFinished.
        (WebCore::Loader::receivedResponse): New name for slotReceivedResponse.
        (WebCore::Loader::receivedData): New name for slotData.
        (WebCore::Loader::cancelRequests): Changed KIO::Job to TransferJob.
        (WebCore::Loader::jobForRequest): Ditto.

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL): Use "new TransferJob" instead of "KIO::get" and
        "KIO::http_post". Also don't connect signals.
        (WebCore::Frame::receivedAllData): Renamed from slotFinished. Also slightly
        cleaned up the logic.
        (WebCore::Frame::receivedRedirect): Renamed from slotRedirection.
        * page/FramePrivate.h: Changed KIO::TransferJob to WebCore::TransferJob.

        * xml/xmlhttprequest.h:
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest): Eliminate XMLHttpRequestQObject.
        (WebCore::XMLHttpRequest::send): Use "new TransferJob" instead of
        "KIO::get" and "KIO::http_post". Also don't connect signals.
        (WebCore::XMLHttpRequest::processSyncLoadResults): Change to call the functions
        by their new names (names changed to use with TransferJobClient).
        (WebCore::XMLHttpRequest::receivedAllData): Renamed from slotFinished.
        (WebCore::XMLHttpRequest::receivedRedirect): Renamed from slotRedirection.
        (WebCore::XMLHttpRequest::receivedData): Renamed from slotData.

2006-02-26  Darin Adler  <darin@apple.com>

        - try again after seeing errors from buildbot

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::data):
        Add __APPLE__ ifdefs to two more uses of response.

2006-02-26  Darin Adler  <darin@apple.com>

        - try again after seeing errors from buildbot

        * loader/CachedObject.cpp: (WebCore::CachedObject::~CachedObject):
        * loader/CachedObject.h: (WebCore::CachedObject::CachedObject):
        * loader/loader.cpp:
        Add __APPLE__ ifdefs to calls to setResponse and setAllData.

        * platform/win/TemporaryLinkStubs.cpp: Add missing includes.

2006-02-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - more Win32 link fixes

        * loader/CachedObject.h: Put some Mac-specific stuff inside
        __APPLE__ ifdefs.
        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.

2006-02-26  Darin Adler  <darin@apple.com>

        - try again after seeing errors from buildbot

        * platform/win/TemporaryLinkStubs.cpp: Added more includes.

2006-02-26  Darin Adler  <darin@apple.com>

        - try again after seeing errors from buildbot

        * platform/win/TemporaryLinkStubs.cpp: Added more includes.

2006-02-26  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - work toward getting the Win32 build to link

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added KWQObject.cpp.
        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.

2006-02-24  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7440
        Floats not positioned correctly

        Test: fast/block/float/multiple-float-positioning.html

        * rendering/RenderBlock.cpp: 
        (WebCore::RenderBlock::positionNewFloats): Correct iteration of the float list

2006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>

        <http://bugs.webkit.org/show_bug.cgi?id=6933>
        Selection extends beyond focus ring for some contentEditable divs

        Reviewed by justin

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelectionRoot): Have root editable elements paint their
        own selection gaps.

2006-02-24  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix <rdar://problem/4456287> REGRESSION: assertion failure at mypage.apple.com
          in WebCore::TimerBase::nextFireInterval() const + 100 (Timer.cpp:188)

        Test: fast/dom/Window/redirect-with-timer.html

        * platform/Timer.h: Made isActive no longer inline. Added inHeap function.
        * platform/Timer.cpp: Changed assertions to use inHeap function for clarity.
        (WebCore::TimerBase::isActive): Return true for timers that are ready to fire.
        They have a next fire time of 0, but they should still be considered active.
        (WebCore::TimerBase::checkConsistency): Correct the consistency check. The new
        rule is that timers with a next fire time of 0 are not in the heap, and all other
        timers are.

2006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>

        <http://bugs.webkit.org/show_bug.cgi?id=7245>
        caret does not display at the end of some lines in contenteditable divs

        Reviewed by justin

        * khtml/html/HTMLElementImpl.cpp:
        (WebCore::HTMLElementImpl::setContentEditable):
        * page/Frame.cpp:
        (WebCore::Frame::applyEditingStyleToElement):
        (WebCore::Frame::removeEditingStyleFromElement):

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Move dom_qname to QualifiedName and dom_atomicstringlist to AtomicStringList.

        * WebCore+SVG/KDOMHeaders.h:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/css_base.h:
        * dom/AtomicStringList.h: Added.
        (WebCore::AtomicStringList::AtomicStringList):
        * dom/QualifiedName.cpp: Added.
        * dom/QualifiedName.h: Added.
        * dom/dom_atomicstringlist.h: Removed.
        * dom/dom_elementimpl.h:
        * dom/dom_qname.cpp: Removed.
        * dom/dom_qname.h: Removed.
        * editing/RemoveNodeAttributeCommand.h:
        * editing/SetNodeAttributeCommand.h:
        * khtml/html/htmlnames.h:
        * khtml/html/htmltokenizer.h:
        * ksvg2/scripts/make_names.pl: update for new headers

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by beth.

        Made a few methods on frame pure virtual.
        Added a bunch of stub functions for win32 linking.

        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::print):
        (WebCore::MacFrame::canUndo):
        (WebCore::MacFrame::canRedo):
        (WebCore::MacFrame::canPaste):
        * bridge/win/FrameWin.h:
        * page/Frame.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (QTextEdit::sizeWithColumnsAndRows):
        (QLineEdit::maxLength):
        (QPainter::drawEllipse):
        (QTextEdit::setLineHeight):
        (QPainter::beginTransparencyLayer):
        (QLineEdit::selectedText):
        (Widget::setIsSelected):
        (QPainter::paintingDisabled):
        (QFontMetrics::selectionRectForText):
        (QTextEdit::getCursorPosition):
        (QSlider::QSlider):
        (WebCore::crossCursor):
        (WebCore::handCursor):
        (WebCore::moveCursor):
        (WebCore::iBeamCursor):
        (WebCore::waitCursor):
        (WebCore::helpCursor):
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):

2006-02-24  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt, tweaked and landed by ggaren.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5146
          max-height/max-width not resizing images with correct aspect ratio

        This patch is a port and adaptation of Allan Sandfeld Jensen's (carewolf)
        patch of http://bugs.kde.org/show_bug.cgi?id=120107 with the needed
        modifications to suit the Webcore tree.  Makes images respect min/max 
        sizes and their intrinsic aspect ratios at the same time according to 
        CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#min-max-widths).  

        Test: fast/replaced/maxheight-percent.html
        Test: fast/replaced/maxheight-pxs.html
        Test: fast/replaced/maxwidth-percent.html
        Test: fast/replaced/maxwidth-pxs.html
        Test: fast/replaced/minheight-percent.html
        Test: fast/replaced/minheight-pxs.html
        Test: fast/replaced/minwidth-percent.html
        Test: fast/replaced/minwidth-pxs.html

        * rendering/render_box.cpp:
        (WebCore::RenderBox::calcReplacedWidth):
        (WebCore::RenderBox::calcReplacedWidthUsing):
        (WebCore::RenderBox::calcReplacedHeight): 
        (WebCore::RenderBox::calcReplacedHeightUsing): Calculate percent heights correctly
        * rendering/render_image.cpp: Respect aspect ratios and calculate max/min
        (WebCore::RenderImage::calcReplacedWidth):
        (WebCore::RenderImage::calcReplacedHeight):
        (WebCore::RenderImage::calcAspectRatioWidth): Added
        (WebCore::RenderImage::calcAspectRatioHeight): Added
        (WebCore::RenderImage::calcMinMaxWidth): Added
        * rendering/render_image.h:

2006-02-24  Vicki Murley <vicki@apple.com>

        - add missing resources for manual-tests/scrolling-nestedframesets.html

        * manual-tests/resources/testframe-link_text.html: Added.
        * manual-tests/resources/testframeset.html: Added.

2006-02-24  Vicki Murley <vicki@apple.com>

        - test case for <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event

        * manual-tests/onbeforeunload-close_with_javascript.html: Added.

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Add Path stubs for Win32 build.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/win/TemporaryLinkStubs.cpp:
        (Path::Path):
        (Path::~Path):
        (Path::operator=):
        (Path::contains):
        (Path::translate):
        (Path::boundingRect):

2006-02-24  David Hyatt  <hyatt@apple.com>

        In preparation for the elimination of QFont and QFontMetrics, rename methods on RenderStyle.  htmlFont() becomes simply
        font().  The old font() method turns into qfont().  Also added a helper for obtaining the fontDescription() directly from
        the RenderStyle (without first obtaining the htmlFont()).

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMElement _font]):
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::attributedString):
        (WebCore::MacFrame::fontForSelection):
        (WebCore::MacFrame::fontAttributesForSelectionStart):
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::recalcStyle):
        * editing/visible_text.cpp:
        (khtml::TextIterator::exitNode):
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::updateValue):
        * kwq/KWQAccObject.mm:
        (AXAttributeStringSetStyle):
        * rendering/InlineTextBox.cpp:
        (khtml::InlineTextBox::paint):
        (khtml::InlineTextBox::offsetForPosition):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::shouldUseMonospaceCache):
        (WebCore::RenderText::font):
        (WebCore::RenderText::width):
        (WebCore::RenderText::htmlFont):
        * rendering/bidi.cpp:
        (khtml::RenderBlock::tabWidth):
        (khtml::RenderBlock::checkLinesForTextOverflow):
        * rendering/render_br.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::layoutVerticalBox):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::lineHeight):
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::setStyle):
        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::paint):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::paintDecorations):
        (WebCore::EllipsisBox::paint):
        * rendering/render_list.cpp:
        (RenderListItem::getAbsoluteRepaintRect):
        (RenderListMarker::paint):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::lineHeight):
        * rendering/render_object.h:
        (WebCore::RenderObject::font):
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::setStyle):
        * rendering/render_style.h:
        (khtml::RenderStyle::font):
        (khtml::RenderStyle::fontDescription):
        (khtml::RenderStyle::qfont):
        * rendering/render_theme_mac.mm:
        (WebCore::RenderThemeMac::setFontFromControlSize):

2006-02-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - add link stubs for symbols only referenced from the link stubs file

        * platform/win/TemporaryLinkStubs.cpp:
        (KWQFileButton::focusPolicy):
        (QLineEdit::checksDescendantsForFocus):
        (KWQFileButton::baselinePosition):
        (QSlider::~QSlider):
        (QListBox::~QListBox):
        (KWQFileButton::frameGeometry):
        (KWQFileButton::~KWQFileButton):
        (QTextEdit::focusPolicy):
        (QSlider::focusPolicy):
        (QListBox::setEnabled):
        (QListBox::checksDescendantsForFocus):
        (QListBox::focusPolicy):
        (QLineEdit::baselinePosition):
        (QSlider::sizeHint):
        (QLineEdit::~QLineEdit):
        (QTextEdit::~QTextEdit):
        (QTextEdit::checksDescendantsForFocus):
        (QLineEdit::focusPolicy):
        (QScrollBar::~QScrollBar):

2006-02-24  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - fix up font.h inclues to be Font.h to fix build.

        * css/css_computedstyle.cpp:
        * css/css_valueimpl.cpp:
        * platform/Font.cpp:
        * rendering/render_style.h:

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix mac build by changing constants to an enum.

        * khtml/dom/dom2_events.h:
        (DOM::KeyboardEvent::):

2006-02-24  David Hyatt  <hyatt@apple.com>

        Move rendering/font to platform/Font.

        Reviewed by mjs

        * WebCore.xcodeproj/project.pbxproj:
        * css/cssstyleselector.cpp:
        * platform/Font.cpp: Added.
        * platform/Font.h: Added.
        * rendering/font.cpp: Removed.
        * rendering/font.h: Removed.
        * rendering/render_theme_mac.mm:

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Remove delcarations causing duplicate symbols on win32.

        * khtml/dom/dom2_events.cpp:

2006-02-24  Eric Seidel  <eseidel@apple.com>

        * bridge/win/FrameWin.cpp: fix line endings

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by beth.

        Removed WebCore:: prefixes added using namespace WebCore, fixes win32 build.

        * platform/win/TemporaryLinkStubs.cpp:
        (QPainter::save):
        (Widget::enableFlushDrawing):
        (QPainter::drawHighlightForText):
        (QTextEdit::textWithHardLineBreaks):
        (QPainter::setPen):
        (QPainter::selectedTextBackgroundColor):
        (QPainter::fontMetrics):
        (Widget::show):
        (QLineEdit::setWritingDirection):
        (KWQFileButton::sizeForCharacterWidth):
        (QTextEdit::sizeWithColumnsAndRows):
        (iBeamCursor):
        (QPainter::misspellingLineThickness):
        (westResizeCursor):
        (Widget::isEnabled):
        (northWestResizeCursor):
        (QPainter::drawEllipse):
        (southWestResizeCursor):
        (Widget::focusPolicy):
        (waitCursor):
        (QPainter::endTransparencyLayer):
        (ScrollView::addChild):
        (Widget::~Widget):
        (QListBox::sizeForNumberOfLines):
        (FrameView::updateBorder):
        (QPainter::drawLineForText):
        (QPainter::QPainter):
        (QComboBox::focusPolicy):
        (QPainter::drawImageAtPoint):
        (QPainter::clearShadow):
        (eastResizeCursor):
        (QFontMetrics::boundingRect):
        (QPainter::beginTransparencyLayer):
        (northEastResizeCursor):
        (Widget::frameGeometry):
        (QPainter::addFocusRingRect):
        (QPainter::restore):
        (Widget::setEnabled):
        (QPainter::font):
        (QPainter::pen):
        (crossCursor):
        (Widget::setIsSelected):
        (handCursor):
        (QLineEdit::text):
        (Widget::unlockDrawingFocus):
        (QPainter::paintingDisabled):
        (northResizeCursor):
        (Widget::lockDrawingFocus):
        (QPainter::drawLine):
        (QPainter::setBrush):
        (QPainter::drawText):
        (QLineEdit::sizeForCharacterWidth):
        (Cursor::~Cursor):
        (QFontMetrics::selectionRectForText):
        (southResizeCursor):
        (moveCursor):
        (FrameView::isFrameView):
        (helpCursor):
        (QTextEdit::setWritingDirection):
        (Widget::setDrawingAlpha):
        (southEastResizeCursor):
        (QPainter::drawScaledAndTiledImage):
        (QPainter::drawImage):
        (QComboBox::setWritingDirection):
        (QComboBox::sizeHint):
        (QPainter::drawRect):
        (QPainter::drawTiledImage):
        (QPainter::clearFocusRing):
        (Widget::Widget):
        (QTextEdit::text):
        (QPainter::drawImageInRect):
        (Widget::disableFlushDrawing):
        (QPainter::initFocusRing):
        (QPainter::drawLineForMisspelling):
        (QComboBox::frameGeometry):
        (QListBox::setWritingDirection):
        (ScrollView::updateContents):

2006-02-24  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - moved QScrollView from kwq to platform directory

        * kwq/KWQScrollView.h: Removed.
        * kwq/KWQScrollView.mm: Removed.

        * platform/ScrollBarMode.h: Added. Just the enum for scroll bar mode.
        * platform/ScrollView.h: Added. The rest of the former QScrollView.
        * platform/mac/ScrollViewMac.mm: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
        * platform/win/TemporaryLinkStubs.cpp: Updated.

        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::createFrame):
        * khtml/html/html_baseimpl.cpp:
        (WebCore::HTMLFrameElementImpl::init):
        (WebCore::HTMLFrameElementImpl::parseMappedAttribute):
        * page/Frame.cpp: (WebCore::Frame::scrollbarsVisible):
        Changed scrolling constants to use new names.

        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodySetter):
        Use FrameView instead of QScrollView for a local variable.

        * khtml/html/html_baseimpl.h: Use ScrollBarMode instead of
        QScrollView::ScrollBarMode.

        * kwq/KWQListBox.h: Use WebCore::ScrollView instead of
        QScrollView and WebCore::ScrollBarMode instead of QScrollView::ScrollBarMode.
        * kwq/KWQTextEdit.h: Ditto.
        * kwq/KWQTextEdit.mm:
        (QTextEdit::setScrollBarModes): Ditto.
        (QTextEdit::focusPolicy): Ditto.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Use ScrollBarMode
        instead of QScrollView::ScrollBarMode.
        (WebCore::FrameView::FrameView): Remove mention of QScrollView.
        (WebCore::FrameView::resetScrollBars): Rename QScrollView to ScrollView.
        (WebCore::FrameView::applyOverflowToViewport): Use newly-named constants.
        (WebCore::FrameView::layout): Ditto.
        (WebCore::FrameView::setScrollBarsMode): Rename QScrollView to ScrollView.
        (WebCore::FrameView::setVScrollBarMode): Ditto.
        (WebCore::FrameView::setHScrollBarMode): Ditto.
        (WebCore::FrameView::restoreScrollBar): Ditto.

        * platform/mac/MouseEventMac.mm: (WebCore::positionForEvent): Fixed comment.
        * platform/mac/WheelEventMac.mm: (WebCore::positionForEvent): Ditto.
        * platform/mac/WidgetMac.mm: (WebCore::Widget::getOuterView): Ditto.

        * rendering/render_form.cpp: (WebCore::RenderTextArea::setStyle):
        Use ScrollBarMode instead of QScrollView::ScrollBarMode, and new constants.
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::userResize): Changed to use an IntRect to pass to
        updateContents so we can remove the overload.
        (WebCore::RenderPart::updateWidgetPosition): Remove unnecessary of QScrollView.

        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible): Use FrameView instead of QScrollView.
        (WebCore::RenderLayer::setHasHorizontalScrollbar): Ditto.
        (WebCore::RenderLayer::setHasVerticalScrollbar): Ditto.

2006-02-24  Eric Seidel  <eseidel@apple.com>

        Reviewed by anders.

        Fix the win32 build.

        * page/Frame.cpp:
        (WebCore::Frame::adjustPageHeight):
        (WebCore::Frame::forceLayoutWithPageWidthRange):

2006-02-23  David Hyatt  <hyatt@apple.com>

        Rename FontDef to FontDescription and move it into the platform directory.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::attributedString):
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/css_valueimpl.cpp:
        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
        (WebCore::CSSStyleSelector::setFontSize):
        * css/cssstyleselector.h:
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::recalcStyle):
        * editing/visible_text.cpp:
        (khtml::TextIterator::exitNode):
        * platform/FontDescription.h: Added.
        (WebCore::FontDescription::):
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::operator!=):
        (WebCore::FontDescription::family):
        (WebCore::FontDescription::firstFamily):
        (WebCore::FontDescription::specifiedSize):
        (WebCore::FontDescription::computedSize):
        (WebCore::FontDescription::italic):
        (WebCore::FontDescription::computedPixelSize):
        (WebCore::FontDescription::smallCaps):
        (WebCore::FontDescription::isAbsoluteSize):
        (WebCore::FontDescription::weight):
        (WebCore::FontDescription::genericFamily):
        (WebCore::FontDescription::usePrinterFont):
        (WebCore::FontDescription::setFamily):
        (WebCore::FontDescription::setComputedSize):
        (WebCore::FontDescription::setSpecifiedSize):
        (WebCore::FontDescription::setItalic):
        (WebCore::FontDescription::setSmallCaps):
        (WebCore::FontDescription::setIsAbsoluteSize):
        (WebCore::FontDescription::setWeight):
        (WebCore::FontDescription::setGenericFamily):
        (WebCore::FontDescription::setUsePrinterFont):
        (WebCore::FontDescription::operator==):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::trimmedMinMaxWidth):
        * rendering/bidi.cpp:
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        * rendering/font.cpp:
        (khtml::Font::selectionRectForText):
        (khtml::Font::drawHighlightForText):
        (khtml::Font::drawText):
        (khtml::Font::update):
        * rendering/font.h:
        (WebCore::Font::Font):
        (WebCore::Font::operator==):
        (WebCore::Font::fontDescription):
        (WebCore::Font::isSmallCaps):
        (WebCore::Font::wordSpacing):
        (WebCore::Font::floatWidth):
        (WebCore::Font::checkSelectionPoint):
        (WebCore::Font::width):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/render_list.cpp:
        (RenderListItem::getAbsoluteRepaintRect):
        * rendering/render_style.h:
        (khtml::RenderStyle::wordSpacing):
        (khtml::RenderStyle::letterSpacing):
        (khtml::RenderStyle::setFontDescription):
        (khtml::RenderStyle::setWordSpacing):
        (khtml::RenderStyle::setLetterSpacing):
        * rendering/render_theme_mac.mm:
        (WebCore::RenderThemeMac::setFontFromControlSize):

2006-02-23  Maciej Stachowiak  <mjs@apple.com>

        - fix build by making some pointless changes to files that Xcode doesn't 
        rebuild otherwise

        * bindings/js/JSDOMCore.cpp:
        * bindings/js/JSDOMEvents.cpp:
        * dom/Element.idl:
        * dom/WheelEvent.idl:
        
        - add -Y 3 flag to linking; this makes the linker say what files reference 
        unresolved symbols
        
        * WebCore.xcodeproj/project.pbxproj:

2006-02-23  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * platform/win/TemporaryLinkStubs.cpp: Removed childX/Y stubs.

2006-02-23  Darin Adler  <darin@apple.com>

        - try to fix Windows build

        * platform/win/TemporaryLinkStubs.cpp: Removed QPalette-related stubs.

        - remove unused forwarding headers

        * ForwardingHeaders/kurl.h: Removed.
        * ForwardingHeaders/qlist.h: Removed.
        * ForwardingHeaders/qregion.h: Removed.
        * ForwardingHeaders/qsortedlist.h: Removed.

2006-02-23  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - removed QPalette, QRegion, QPrinter
        - added Path to replace QRegion
        - removed unused QScrollView functions

        * ForwardingHeaders/qpalette.h: Removed.
        * kwq/KWQPalette.h: Removed.
        * kwq/KWQPalette.mm: Removed.
        * kwq/KWQPrinter.h: Removed.
        * kwq/KWQRegion.cpp: Removed.
        * kwq/KWQRegion.h: Removed.

        * platform/Path.h: Added. Replaces QRegion.
        * platform/cg: Added.
        * platform/cg/PathCG.cpp: Added.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * bridge/mac/MacFrame.mm: Removed use of KWQPrinter.h.
        (WebCore::MacFrame::khtmlMouseMoveEvent): Removed use of viewport().
        * bridge/mac/WebCoreFrameBridge.mm: Removed use of KWQPrinter.h.
        * khtml/html/html_imageimpl.cpp:
        (WebCore::HTMLAreaElementImpl::getRect): Replaced QRegion with Path.
        (WebCore::HTMLAreaElementImpl::getRegion): Ditto.
        * khtml/html/html_imageimpl.h: Ditto.
        * kwq/KWQPainter.mm: Removed use of QRegion.
        * page/Frame.cpp: (WebCore::Frame::~Frame): Removed use of viewport().
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Ditto.
        (WebCore::FrameView::viewportMouseMoveEvent): Ditto.
        * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Ditto.
        * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Ditto.

        * kwq/KWQScrollView.h: Removed viewport(), hasVerticalScrollBar(),
        hasHorizontalScrollBar(), childX(), childY().
        * kwq/KWQScrollView.mm: Ditto.

        * rendering/render_box.cpp: (WebCore::RenderBox::paintBackgroundExtended):
        Removed use of QPalette that always yields white.
        * rendering/render_canvas.cpp: (WebCore::RenderCanvas::paintBoxDecorations):
        Ditto.

        * platform/Widget.h:
        * platform/mac/WidgetMac.mm: Removed palette() and setPalette().

        * kwq/KWQLineEdit.h: Replaced setPalette with setColors.
        * kwq/KWQLineEdit.mm: (QLineEdit::setColors): Replaced setPalette.
        * kwq/KWQTextEdit.h: Ditto.
        * kwq/KWQTextEdit.mm: (QTextEdit::setColors): Ditto.

        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::updateFromElement): Removed call to setPalette.
        (WebCore::RenderLineEdit::updateFromElement): Added call to setColors.
        (WebCore::RenderTextArea::updateFromElement): Ditto.

        * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint):
        Removed use of childX and childY functions.

2006-02-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - add KURL to windows build and fix its compile issues
        http://bugs.webkit.org/show_bug.cgi?id=7439

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/KURL.cpp:

2006-02-23  Maciej Stachowiak  <mjs@apple.com>

        - fix build (header name changed)

        * platform/mac/KURLMac.mm:

2006-02-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - add temporary stubs that call abort() for functions only called from render and editing code 
        http://bugs.webkit.org/show_bug.cgi?id=7429

        This gets rid of a couple hundred link errors.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * kwq/KWQFontMetrics.h:
        * kwq/KWQSignal.h:
        (KWQSignal::KWQSignal):
        * platform/win/TemporaryLinkStubs.cpp: Added.
        (notImplemented):
        (QLineEdit::selectAll):
        (WebCore::QPainter::save):
        (WebCore::Widget::enableFlushDrawing):
        (WebCore::QPainter::drawHighlightForText):
        (QFont::setPrinterFont):
        (QTextEdit::textWithHardLineBreaks):
        (QLineEdit::cursorPosition):
        (WebCore::QPainter::setPen):
        (WebCore::QPainter::selectedTextBackgroundColor):
        (WebCore::QPainter::fontMetrics):
        (WebCore::Widget::show):
        (QFont::setItalic):
        (QSlider::setValue):
        (QLineEdit::addSearchResult):
        (KWQFileButton::click):
        (QLineEdit::setWritingDirection):
        (KWQFileButton::sizeForCharacterWidth):
        (QTextEdit::sizeWithColumnsAndRows):
        (WebCore::iBeamCursor):
        (QComboBox::clear):
        (WebCore::QPainter::misspellingLineThickness):
        (QLineEdit::maxLength):
        (WebCore::westResizeCursor):
        (WebCore::Widget::isEnabled):
        (WebCore::northWestResizeCursor):
        (QTextEdit::selectionEnd):
        (QFont::determinePitch):
        (QTextEdit::setScrollBarModes):
        (WebCore::QPainter::drawEllipse):
        (WebCore::southWestResizeCursor):
        (QTextEdit::setReadOnly):
        (QListBox::appendItem):
        (WebCore::Widget::focusPolicy):
        (QTextEdit::selectAll):
        (WebCore::waitCursor):
        (WebCore::QPainter::endTransparencyLayer):
        (QScrollView::addChild):
        (QTextEdit::setDisabled):
        (QScrollBar::scroll):
        (WebCore::Widget::~Widget):
        (QListBox::sizeForNumberOfLines):
        (QScrollView::resizeContents):
        (QLineEdit::selectionStart):
        (QLineEdit::QLineEdit):
        (WebCore::FrameView::updateBorder):
        (QLineEdit::hasSelectedText):
        (QListBox::doneAppendingItems):
        (QScrollView::inWindow):
        (QScrollBar::setValue):
        (QTextEdit::hasSelectedText):
        (QTextEdit::selectionStart):
        (QFont::setWeight):
        (QScrollView::scrollXOffset):
        (QListBox::isSelected):
        (QLineEdit::setReadOnly):
        (WebCore::QPainter::drawLineForText):
        (QObject::disconnect):
        (WebCore::QPainter::QPainter):
        (QComboBox::~QComboBox):
        (QComboBox::focusPolicy):
        (WebCore::QPainter::drawImageAtPoint):
        (WebCore::QPainter::clearShadow):
        (QTextEdit::setLineHeight):
        (QMouseEvent::QMouseEvent):
        (WebCore::eastResizeCursor):
        (QScrollBar::setKnobProportion):
        (QFontMetrics::boundingRect):
        (QTextEdit::setSelectionStart):
        (WebCore::QPainter::beginTransparencyLayer):
        (WebCore::northEastResizeCursor):
        (WebCore::Widget::frameGeometry):
        (QListBox::setSelected):
        (WebCore::QPainter::addFocusRingRect):
        (QTextEdit::setCursorPosition):
        (WebCore::QPainter::restore):
        (QFontMetrics::width):
        (WebCore::Widget::setEnabled):
        (QTextEdit::setSelectionEnd):
        (QComboBox::populate):
        (QScrollView::setStaticBackground):
        (WebCore::QPainter::font):
        (QTextEdit::setAlignment):
        (QLineEdit::setCursorPosition):
        (WebCore::Widget::palette):
        (WebCore::QPainter::pen):
        (QFontMetrics::descent):
        (QListBox::QListBox):
        (QFontMetrics::ascent):
        (QLineEdit::selectedText):
        (WebCore::crossCursor):
        (WebCore::Widget::setIsSelected):
        (WebCore::handCursor):
        (QLineEdit::text):
        (WebCore::Widget::unlockDrawingFocus):
        (QLineEdit::setLiveSearch):
        (WebCore::QPainter::paintingDisabled):
        (WebCore::northResizeCursor):
        (QComboBox::QComboBox):
        (QSlider::setMaxValue):
        (WebCore::Widget::lockDrawingFocus):
        (WebCore::QPainter::drawLine):
        (WebCore::QPainter::setBrush):
        (QTextEdit::setSelectionRange):
        (WebCore::QPainter::drawText):
        (QScrollView::scrollPointRecursively):
        (QLineEdit::sizeForCharacterWidth):
        (WebCore::Cursor::~Cursor):
        (QFontMetrics::selectionRectForText):
        (WebCore::southResizeCursor):
        (QScrollView::suppressScrollBars):
        (QFontMetrics::checkSelectionPoint):
        (QTextEdit::getCursorPosition):
        (WebCore::moveCursor):
        (WebCore::FrameView::isFrameView):
        (QScrollBar::setSteps):
        (QLineEdit::setMaxLength):
        (QComboBox::baselinePosition):
        (QComboBox::appendItem):
        (WebCore::helpCursor):
        (QTextEdit::setWritingDirection):
        (WebCore::Widget::setDrawingAlpha):
        (QSlider::QSlider):
        (WebCore::southEastResizeCursor):
        (QScrollView::setVScrollBarMode):
        (WebCore::QPainter::drawScaledAndTiledImage):
        (QScrollView::scrollYOffset):
        (WebCore::QPainter::drawImage):
        (QComboBox::setCurrentItem):
        (QFontMetrics::height):
        (QComboBox::setWritingDirection):
        (QScrollView::setScrollBarsMode):
        (QComboBox::sizeHint):
        (WebCore::QPainter::drawRect):
        (QFont::setPixelSize):
        (QLineEdit::setSelection):
        (QLineEdit::setMaxResults):
        (QListBox::clear):
        (QLineEdit::edited):
        (WebCore::QPainter::drawTiledImage):
        (WebCore::QPainter::clearFocusRing):
        (WebCore::Widget::Widget):
        (QTextEdit::text):
        (WebCore::QPainter::drawImageInRect):
        (WebCore::Widget::disableFlushDrawing):
        (WebCore::QPainter::initFocusRing):
        (QSlider::setMinValue):
        (QTextEdit::setWordWrap):
        (WebCore::QPainter::drawLineForMisspelling):
        (QSlider::value):
        (QListBox::setSelectionMode):
        (QFontMetrics::lineSpacing):
        (QLineEdit::setEdited):
        (QComboBox::frameGeometry):
        (QListBox::setWritingDirection):
        (QLineEdit::setAlignment):
        (QScrollView::updateContents):
        (QFontMetrics::floatWidth):
        (QScrollView::setHScrollBarMode):

2006-02-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.
        
        - Move KURL from kwq to platform, make portable
        http://bugs.webkit.org/show_bug.cgi?id=7437

        * WebCore.xcodeproj/project.pbxproj:
        * css/css_ruleimpl.cpp:
        * css/cssparser.cpp:
        * css/cssstyleselector.cpp:
        * dom/DocumentImpl.h:
        * khtml/html/html_baseimpl.cpp:
        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_headimpl.cpp:
        * khtml/xbl/xbl_binding.cpp:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * kwq/KWQTextCodec.cpp:
        (QTextCodec::codecForName):
        (QTextCodec::utf8Codec):
        (QTextCodec::codecForNameEightBitOnly):
        (QTextCodec::codecForLocale):
        (QTextCodec::name):
        (QTextCodec::makeDecoder):
        * kwq/KWQTextCodec.h:
        * loader/CachedObject.cpp:
        * loader/DocLoader.cpp:
        * page/Frame.h:
        * platform/KURL.cpp: Added.
        (KURL::decode_string):
        (encodeRelativeString):
        * platform/KURL.h: Added.
        * platform/mac/KURLMac.mm: Added.
        (KURL::getNSURL):
        * xml/xmlhttprequest.h:

2006-02-23  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - moved QMouseEvent, QKeyEvent, QWheelEvent, and "Foundation extras"
          from kwq to platform directory
        - moved history function from kwq to bridge directory
        - eliminated QEvent, MousePressEvent, MouseDoubleClickEvent, MouseMoveEvent,
          MoveReleaseEvent, and DrawContents classes
        - merged NodeImpl::MouseEvent and the MouseEvent from khtml_events.h into
          a single class in the page directory
        - broke khtmllayout.h out into a file for the Length structure in the css
          directory and a file for the GapRects structure in the rendering directory
        - redid the Length structure to work more portably by not relying on bitfield
          layout and improve the names to no longer explicitly mention "width"
        - reduced use of QGuardedPtr and other uses of the QObject "destroyed" signal

        * ForwardingHeaders/kparts: Removed.
        * ForwardingHeaders/qevent.h: Removed.
        * khtml/khtml_events.cpp: Removed.
        * khtml/khtml_events.h: Removed.
        * khtml/misc/khtmllayout.h: Removed.
        * kwq/KWQEvent.h: Removed.
        * kwq/KWQEvent.mm: Removed.
        * kwq/KWQFoundationExtras.h: Removed.
        * kwq/KWQKHistoryProvider.mm: Removed.
        * kwq/KWQKPartsHistoryProvider.h: Removed.

        * bridge/History.h: Added.
        * bridge/mac/HistoryMac.mm: Added.
        * css/Length.h: Added.
        * page/MouseEventWithHitTestResults.h: Added.
        * platform/KeyEvent.h: Added.
        * platform/MouseEvent.h: Added.
        * platform/WheelEvent.h: Added.
        * platform/mac/FoundationExtras.h: Added.
        * platform/mac/KeyEventMac.mm: Added.
        * platform/mac/MouseEventMac.mm: Added.
        * platform/mac/WheelEventMac.mm: Added.
        * rendering/GapRects.h: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated for above changes.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.

        * bridge/mac/MacFrame.h: Removed unused parameters from urlSelected functions.
        Replaced MouseEvent, MousePressEvent, MouseMoveEvent, and MouseReleaseEvent
        with MouseEventWithHitTestResults.
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::urlSelected): Removed unused parameters.
        (WebCore::MacFrame::wheelEvent): Changed to use WheelEvent.
        (WebCore::MacFrame::keyEvent): Changed to use KeyEvent.
        (WebCore::MacFrame::khtmlMousePressEvent): Changed parameter type.
        (WebCore::MacFrame::khtmlMouseMoveEvent): Ditto.
        (WebCore::MacFrame::khtmlMouseReleaseEvent): Ditto.
        (WebCore::MacFrame::passSubframeEventToSubframe): Ditto.
        (WebCore::MacFrame::mouseDown): Changed to use MouseEvent.
        (WebCore::MacFrame::mouseDragged): Ditto.
        (WebCore::MacFrame::mouseUp): Ditto.
        (WebCore::MacFrame::mouseMoved): Ditto.
        (WebCore::MacFrame::sendContextMenuEvent): Ditto.

        * css/csshelper.h: Removed a bunch of unused declarations.

        * dom/DocumentImpl.h:
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::prepareMouseEvent): Changed to take a MouseEvent
        and return a MouseEventWithHitTestResults.
        (WebCore::DocumentImpl::defaultEventHandler): Changed to use KeyEvent.

        * dom/NodeImpl.h: Removed NodeImpl::MouseEvent and NodeImpl::MouseEventType.
        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::dispatchMouseEvent): Changed to always get the type and
        detail values from the caller, never from the event. Changed to use MouseEvent.
        (WebCore::NodeImpl::dispatchKeyEvent): Changed to use KeyEvent.
        (WebCore::NodeImpl::dispatchWheelEvent): Changed to use WheelEvent.

        * dom/dom2_eventsimpl.h:
        * dom/dom2_eventsimpl.cpp:
        (WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent.
        (WebCore::KeyboardEventImpl::charCode): Ditto.

        * dom/dom_elementimpl.h: Removed unused mouseEventHandler function.

        * khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference
        to the document.

        * khtml/ecma/kjs_proxy.h: (WebCore::KJSProxyImpl::haveInterpreter): Added. For
        use in the Frame destructor so we can get an existing KJS::Window object without
        creating a new interpreter and window object.

        * khtml/ecma/kjs_window.h: Merged WindowQObject into Window. Changed all the
        guarded pointers to Frame to use plain old pointers that are cleared by the
        Frame explicitly (by the function disconnectFrame). Made the pointers to all
        the sub-objects of KJS::Window be mutable so we don't have to const_cast in
        the functions to get (and lazily create) them.
        * khtml/ecma/kjs_window.cpp:
        (KJS::DOMWindowTimer::DOMWindowTimer): Use Window* instead of WindowQObject*.
        (KJS::History::disconnectFrame): Added. Clears m_frame.
        (KJS::FrameArray::disconnectFrame): Added. Clears m_frame.
        (KJS::Window::Window): Removed code to create a WindowQObject.
        (KJS::Window::~Window): Removed code to delete a WindowQObject.
        (KJS::Window::location): Remove now-unneeded const_cast.
        (KJS::Window::selection): Ditto.
        (KJS::Window::locationbar): Ditto.
        (KJS::Window::menubar): Ditto.
        (KJS::Window::personalbar): Ditto.
        (KJS::Window::statusbar): Ditto.
        (KJS::Window::toolbar): Ditto.
        (KJS::Window::scrollbars): Ditto.
        (KJS::Window::getValueProperty): Update since m_frame is now a raw pointer.
        (KJS::Window::getOwnPropertySlot): Ditto.
        (KJS::Window::toBoolean): Ditto.
        (KJS::Window::scheduleClose): Remove assert that WindowQObject* is not null.
        (KJS::Window::isSafeScript): Update since m_frame is now a raw pointer.
        (KJS::Window::clear): Remove code to delete a WindowQObject. Added a call
        to clearAllTimeouts instead.
        (KJS::Window::clearAllTimeouts): Added. Does equivalent of the WindowQObject
        destructor.
        (KJS::Window::installTimeout): Moved to Window from WindowQObject.
        (KJS::Window::pauseTimeouts): Ditto.
        (KJS::Window::resumeTimeouts): Ditto.
        (KJS::Window::clearTimeout): Ditto.
        (KJS::Window::timerFired): Ditto.
        (KJS::Window::disconnectFrame): Added. Sets all the frame pointers to 0.
        (KJS::FrameArray::getOwnPropertySlot): Update since m_frame is now a raw pointer.
        (KJS::Location::getOwnPropertySlot): Ditto.
        (KJS::Location::put): Ditto.
        (KJS::Selection::getOwnPropertySlot): Ditto.
        (KJS::BarInfo::getOwnPropertySlot): Ditto.

        * khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h.
        * khtml/html/html_imageimpl.h: Ditto.

        * khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
        Changed to use KeyEvent and removed the code to extract the button and state from the
        DOM even to pass to urlSelected.
        * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): Ditto.

        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use
        a RefPtr instead of a QGuardedPtr.

        * khtml/misc/helper.h:
        * khtml/misc/helper.cpp: Removed printpainter and setPrintPainter.

        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent):
        Change to use KeyEvent.

        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton becomeFirstResponder]):
        (-[KWQPopUpButton resignFirstResponder]):
        * kwq/KWQFileButton.mm:
        (KWQFileButton::focusChanged):
        * kwq/KWQListBox.mm:
        (-[KWQTableView becomeFirstResponder]):
        (-[KWQTableView resignFirstResponder]):
        * kwq/KWQSlider.mm:
        (-[KWQSlider becomeFirstResponder]):
        (-[KWQSlider resignFirstResponder]):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView becomeFirstResponder]):
        (-[KWQTextAreaTextView resignFirstResponder]):
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController setHasFocus:]):
        Updated to use new eventFilterFocusIn/Out instead of the general purpose
        eventFilter function. This allows us to remove QEvent and the focus events.

        * kwq/KWQNamespace.h: Removed ButtonState.

        * kwq/KWQObject.h:
        * kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and
        eventFilterFocusOut, allowing us to remove QEvent. Removed event function.

        * kwq/KWQSlot.cpp:
        (KWQSlot::KWQSlot): Removed the parentDestroyed slot.
        (KWQSlot::call): Ditto.

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Renamed from
        PartStyleSheetLoader. Removed a lot of unneeded null checks. Use a
        raw Frame pointer instead of a QGuardedPtr, and count on the Frame
        to delete us when it's being deleted.
        (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): No longer
        a virtual function. This is not a polymorphic class.
        (WebCore::UserStyleSheetLoader::setStyleSheet): Remove code to delete
        ourselves -- that's now the frame's responsibility.
        (WebCore::Frame::~Frame): Call disconnectFrame on the KJS::Window and
        delete m_userStyleSheetLoader.
        (WebCore::Frame::changeLocation): Update since urlSelected no longer takes
        button and state parameters.
        (WebCore::Frame::setUserStyleSheet): Delete existing loader to stop a load
        in progress before starting a new load. Store reference to loader.
        (WebCore::Frame::urlSelected): Remove button and state parameters and unused
        local variable hasTarget.
        (WebCore::Frame::selectClosestWordFromMouseEvent): Change from QMouseEvent
        to MouseEvent.
        (WebCore::Frame::handleMousePressEventDoubleClick): Change from MousePressEvent
        to MouseEventWithHitTestResults.
        (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
        (WebCore::Frame::handleMousePressEventSingleClick): Ditto.
        (WebCore::Frame::khtmlMousePressEvent): Ditto.
        (WebCore::Frame::handleMouseMoveEventSelection): Change from MouseMoveEvent
        to MouseEventWithHitTestResults.
        (WebCore::Frame::khtmlMouseMoveEvent): Ditto.
        (WebCore::Frame::khtmlMouseReleaseEvent): Change from MouseReleaseEvent
        to MouseEventWithHitTestResults.
        (WebCore::Frame::khtmlMouseDoubleClickEvent): Change from
        MouseReleaseDoubleClickEvent to MouseEventWithHitTestResults.
        (WebCore::Frame::passWidgetMouseDownEventToWidget): Change from
        NodeImpl::MouseEvent to MouseEventWithHitTestResults.

        * page/FramePrivate.h: Added m_userStyleSheetLoader.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::viewportMousePressEvent): Change from QMouseEvent to
        MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
        (WebCore::FrameView::viewportMouseDoubleClickEvent): Ditto.
        (WebCore::selectCursor): Ditto.
        (WebCore::FrameView::viewportMouseMoveEvent): Ditto.
        (WebCore::FrameView::viewportMouseReleaseEvent): Ditto.
        (WebCore::FrameView::keyPressEvent): Change from QKeyEvent to KeyEvent.
        (WebCore::FrameView::dispatchMouseEvent): Change from QMouseEvent to
        MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
        (WebCore::FrameView::viewportWheelEvent): Change from QWheelEvent to
        WheelEvent.
        (WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent
        parameters.

        * platform/Widget.h:
        * platform/Widget.cpp: Removed event function.

        * rendering/render_form.h: Removed LineEditWidget, ComboBoxWidget, TextAreaWidget.
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::slotClicked): Changed from QMouseEvent to MouseEvent.
        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): Updated for changes
        to the Length class.
        (WebCore::RenderSelect::setWidgetWritingDirection): Updated for removal of
        ComboBoxWidget.
        (WebCore::RenderSelect::slotSelected): Ditto.
        (WebCore::RenderSelect::createComboBox): Ditto.

        * rendering/render_replaced.h:
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes
        a parameter.
        (WebCore::RenderWidget::setQWidget): Ditto.
        (WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter.
        (WebCore::RenderWidget::eventFilterFocusOut): Ditto.

        * css/css_computedstyle.cpp:
        (WebCore::valueForLength):
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/cssstyleselector.cpp:
        (WebCore::checkPseudoState):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
        * khtml/html/html_imageimpl.cpp:
        (WebCore::HTMLAreaElementImpl::getRegion):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::leftRelOffset):
        (WebCore::RenderBlock::rightRelOffset):
        (WebCore::RenderBlock::calcMinMaxWidth):
        (WebCore::getBPMWidth):
        (WebCore::RenderBlock::calcInlineMinMaxWidth):
        (WebCore::RenderBlock::calcBlockMinMaxWidth):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::calcWidth):
        (WebCore::RenderTable::layout):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::calcMinMaxWidth):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderText.h:
        (khtml::RenderText::marginLeft):
        (khtml::RenderText::marginRight):
        * rendering/bidi.cpp:
        (khtml::getBPMWidth):
        * rendering/render_applet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        (WebCore::RenderBox::getClipRect):
        (WebCore::RenderBox::relativePositionOffset):
        (WebCore::RenderBox::calcWidth):
        (WebCore::RenderBox::calcWidthUsing):
        (WebCore::RenderBox::sizesToIntrinsicWidth):
        (WebCore::RenderBox::calcHorizontalMargins):
        (WebCore::RenderBox::calcHeight):
        (WebCore::RenderBox::calcHeightUsing):
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::calcReplacedWidth):
        (WebCore::RenderBox::calcReplacedWidthUsing):
        (WebCore::RenderBox::calcReplacedHeight):
        (WebCore::RenderBox::calcReplacedHeightUsing):
        (WebCore::RenderBox::availableHeightUsing):
        (WebCore::RenderBox::calcVerticalMargins):
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteVertical):
        (WebCore::RenderBox::calcAbsoluteVerticalValues):
        * rendering/render_br.cpp:
        (WebCore::RenderBR::lineHeight):
        * rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
        (khtml::RenderFlexibleBox::calcVerticalMinMaxWidth):
        (khtml::RenderFlexibleBox::calcMinMaxWidth):
        (khtml::RenderFlexibleBox::allowedChildFlex):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::lineHeight):
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::layout):
        * rendering/render_image.cpp:
        (WebCore::RenderImage::isWidthSpecified):
        (WebCore::RenderImage::isHeightSpecified):
        * rendering/render_layer.cpp:
        (WebCore::Marquee::direction):
        (WebCore::Marquee::start):
        (WebCore::Marquee::updateMarqueeStyle):
        (WebCore::Marquee::timerFired):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::marginLeft):
        (WebCore::InlineFlowBox::marginRight):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
        (WebCore::RenderObject::paintBorderImage):
        (WebCore::RenderObject::paddingTop):
        (WebCore::RenderObject::paddingBottom):
        (WebCore::RenderObject::paddingLeft):
        (WebCore::RenderObject::paddingRight):
        (WebCore::RenderObject::getVerticalPosition):
        (WebCore::RenderObject::lineHeight):
        (WebCore::RenderObject::addDashboardRegions):
        * rendering/render_style.h:
        * rendering/render_theme_mac.mm:
        (WebCore::RenderThemeMac::addIntrinsicMargins):
        * rendering/table_layout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        (WebCore::FixedTableLayout::calcMinMaxWidth):
        (WebCore::FixedTableLayout::layout):
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::calcMinMaxWidth):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::layout):
        (WebCore::AutoTableLayout::calcPercentages):
        Updated for changes to the Length class.
        Also removed a check of the printpainter global, never used in WebCore.

        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMHTML.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * css/csshelper.cpp:
        * editing/SelectionController.cpp:
        * khtml/ecma/kjs_html.h:
        * kwq/KWQAccObject.mm:
        * kwq/KWQAccObjectCache.mm:
        * kwq/KWQClipboard.mm:
        * kwq/KWQFont.mm:
        * kwq/KWQFontMetrics.mm:
        * kwq/KWQKJobClasses.mm:
        * kwq/KWQKURL.mm:
        * kwq/KWQLoader.mm:
        * kwq/KWQPageState.mm:
        * kwq/KWQPainter.mm:
        * kwq/WebCoreSettings.mm:
        * platform/StringImpl.cpp:
        * platform/mac/CursorMac.mm:
        * platform/mac/WidgetMac.mm:
        * rendering/RenderBlock.h:
        * rendering/render_canvas.cpp:
        * rendering/render_line.h:
        * rendering/render_style.cpp:
        * rendering/table_layout.h:
        Updated includes.

        * bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this
        didn't rebuild.
        * bindings/js/JSDOMEvents.cpp: Ditto.

2006-02-23  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fix linking of static constructed globals on win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * config.h:
        * dom/EventNames.cpp:
        (WebCore::EventNames::init):
        * dom/EventNames.h:
        * dom/dom_qname.cpp:
        (WebCore::QualifiedName::init):
        * dom/dom_qname.h:
        * khtml/html/htmlnames.cpp:
        (WebCore::HTMLNames::init):
        * khtml/html/htmlnames.h:
        * platform/AtomicString.cpp:
        (WebCore::AtomicString::init):
        * platform/StaticConstructors.h: Added.

2006-02-23  Vicki Murley <vicki@apple.com>

        Reviewed by Tim Omernick.
 
        - fix <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event

        Check shouldClose() before actually scheduling a close.

        shouldClose() checks for the onbeforeunload handler, displays the onbeforeunload dialog, and returns a 
        result based on whether the user clicks "OK" or "Cancel".  In cases where the window is closed with cmd-w 
        or by clicking the red globe, shouldClose() is checked in the windowShouldClose delegate method.  Since 
        windowShouldClose isn't invoked when a window is closed with Javascript, it makes sense to add a check 
        for shouldClose() in scheduleClose(), returning early when appropriate before the chain of events that 
        closes a window even gets started.  

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::scheduleClose): add a check for shouldClose()

2006-02-23  Vicki Murley <vicki@apple.com>

        Reviewed by Hyatt.
 
        - fix <rdar://problem/4456004> onbeforeunload should cancel, and 
        <rdar://problem/4453579> REGRESSION (TOT): onbeforeunload is broken (7421)

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::shouldClose): Onbeforeunload is a non-bubbling window
        event, so we should be using handleWindowEvent rather than dispatching a 
        generic event on the body. It seems this only worked before because of incorrect
        code in other parts of the tree. 
        * dom/dom2_eventsimpl.cpp:
        (WebCore::BeforeUnloadEventImpl::BeforeUnloadEventImpl): for this constructor,
        pass true for the cancel parameter

2006-02-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Adding stub FrameWin class to expose link errors.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp: Added.
        * bridge/win/FrameWin.h: Added.
        (WebCore::Win):

2006-02-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

        - move QStringList to platform, make it portable

        * ForwardingHeaders/qstringlist.h: Removed.
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentImpl.h:
        * kcanvas/KCanvasFilters.h:
        * khtml/xbl/xbl_protohandler.cpp:
        * ksvg2/svg/SVGColorImpl.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        * ksvg2/svg/SVGFELightElementImpl.cpp:
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
        * ksvg2/svg/SVGLengthListImpl.cpp:
        * ksvg2/svg/SVGNumberListImpl.cpp:
        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        * ksvg2/svg/SVGStringListImpl.cpp:
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        * ksvg2/svg/SVGTransformableImpl.cpp:
        * kwq/KWQClipboard.mm:
        * kwq/KWQKConfigBase.mm:
        * kwq/KWQKHTMLSettings.h:
        * kwq/KWQKLocale.h:
        * kwq/KWQKSSLKeyGen.h:
        * kwq/KWQStringList.h: Removed.
        * kwq/KWQStringList.mm: Removed.
        * loader/DocLoader.h:
        * page/Frame.h:
        * platform/QStringList.cpp: Added.
        (QStringList::split):
        (QStringList::pop_front):
        * platform/QStringList.h: Added.
        * platform/mac/QStringListMac.mm: Added.
        (QStringList::getNSArray):

2006-02-21  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Tests:
        * fast/forms/input-baseline.html
        * fast/inline-block/contenteditable-baseline.html

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=7330
        baselinePosition is wrong for new text field when empty

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox):  
         If we're dealing with an empty contenteditable block, then we've added height to the block to make room for the caret, 
         and there are no children to give us the baseline.  Instead, compute the baseline for the block itself, and factor in the border and the padding.

2006-02-21  Vicki Murley <vicki@apple.com>

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7363
        REGRESSION (r12872): Repro crash when clicking the Quick Reply box in Gmail

        Add a nil check for the renderer, and refetch the renderer for the old focus node
        after dispatching the event. 

        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::setFocusNode):

2006-02-21  Maciej Stachowiak  <mjs@apple.com>

        Rubber Stamped by Hyatt.

        - renamed STATIC, FIXED, RELATIVE, ABSOLUTE to StaticPosition, FixedPosition, etc
        
        This avoids conflicting with win32 headers.

        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * editing/htmlediting.cpp:
        (WebCore::isSpecialElement):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/render_box.cpp:
        (WebCore::RenderBox::setStyle):
        (WebCore::RenderBox::absolutePosition):
        (WebCore::RenderBox::computeAbsoluteRepaintRect):
        * rendering/render_flow.cpp:
        (WebCore::RenderFlow::getAbsoluteRepaintRect):
        * rendering/render_layer.cpp:
        (WebCore::RenderLayer::convertToLayerCoords):
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        * rendering/render_object.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout):
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::setStyle):
        (WebCore::RenderObject::container):
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/render_style.h:
        (khtml::):
        (khtml::RenderStyle::initialPosition):

2006-02-21  Maciej Stachowiak  <mjs@apple.com>

        Rubber Stamped by Hyatt.

        - remove KWQSignalStubs.cpp from project.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-02-21  Maciej Stachowiak  <mjs@apple.com>

        Platform build fix, not reviewed.

        - undef min and max, and include <algorithm> so std::min works

        * rendering/font.h:

2006-02-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff and Darin.
        
        Patch from Maks Orlovich, based on work by David Faure, hand-applied and 
        significantly reworked by me.
        
        - Patch: give internal function names (KJS merge)
        http://bugs.webkit.org/show_bug.cgi?id=6279

        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElementFunction::HTMLElementFunction):
        * kwq/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame functionName]):

2006-02-20  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7331
          CSS parser leaks when parsing incorrect CSS

        * css/css_base.h:
        (WebCore::CSSSelector::append): Replaced recursive implementation
        with an iterative one.
        (WebCore::StyleBaseImpl::StyleBaseImpl): Changed to be a Shared, not
        a TreeShared; parents now ref children as needed. This change was
        vital to fix the storage leaks. Also removed unused multiLength bool.
        (WebCore::StyleBaseImpl::parent): Added. Needed now that there's no
        TreeShared base class.
        (WebCore::StyleBaseImpl::setParent): Ditto.
        (WebCore::StyleBaseImpl::insertedIntoParent): Added. Hook for
        notification when added to a parent -- used by import style rules.
        (WebCore::StyleListImpl::StyleListImpl): Changed to use a Vector instead
        of a QPtrList for children. Slower for dynamic insert and remove for the
        DOM API, faster and more efficient for everything else.
        * css/css_base.cpp:
        (WebCore::StyleListImpl::append): Now calls insertedIntoParent
        and uses Vector.
        (WebCore::StyleListImpl::insert): Added. Calls insertedIntoParent.
        (WebCore::StyleListImpl::remove): Added. 

        * css/css_grammar.y: Removed obsolete "don't inline" stuff. Changed all
        code that creates new objects to use new functions on CSSParser. For
        CSSSelector, ValueList, Function, and Value, this means using new
        functions with a "floating" concept, but for reference-counted classes
        this just means asking the CSSParser to create the object instead of
        calling new. Remove all explicit "delete", which is now handled by the
        parser instead, which works when the Bison-generated parser fails too,
        not just when it hits error rules in the grammar.

        * css/css_ruleimpl.h:
        * css/css_ruleimpl.cpp:
        (WebCore::CSSImportRuleImpl::CSSImportRuleImpl): Remove call to init()
        which kicks off style sheet loading. We now do that when we are added to
        our parent instead of construction time. Also removed unused constructor.
        (WebCore::CSSImportRuleImpl::insertedIntoParent): Replaced init() with this
        function that does much the same thing at a different time. Changed code
        that sets m_loading to do it in a simple way that doesn't need a big comment.
        (WebCore::CSSMediaRuleImpl::insertRule): Use RefPtr.

        * css/css_stylesheetimpl.cpp:
        (StyleSheetImpl::StyleSheetImpl): Pass 0 for parent explicitly since the
        empty constructor was removed in the other patch.
        (CSSStyleSheetImpl::CSSStyleSheetImpl): Remove code to set up m_lstChildren;
        that's now handled by the base class.
        (CSSStyleSheetImpl::insertRule): Use length() instead of m_listChildren->count()
        and insert instead of m_lstChildren->insert. Also use RefPtr for the result of
        parseRule.
        (CSSStyleSheetImpl::addRule): Use length() instead of m_lstChildren->count().
        (CSSStyleSheetImpl::deleteRule): Use length() instead of checking the result of
        take() for 0. Use remove() instead of m_lstChildren->take().
        (CSSStyleSheetImpl::parseString): Use setStrictParsing instead of going at the
        strictParsing data member directly.
        (CSSStyleSheetImpl::isLoading): Use length() and item() instead of
        m_lstChildren->first() and m_lstChildren->next().

        * css/css_valueimpl.h: Add an include of QPtrList now that it's not used in
        any included file. Also added a constructor for CSSValueImpl, now that StyleBaseImpl
        has no empty constructor.
        * css/css_valueimpl.cpp:
        (WebCore::CSSMutableStyleDeclarationImpl::setProperty): Use useStrictParsing()
        instead of looking at the strictParsing data member directly.
        (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration): Ditto.
        (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty): Ditto.
        (WebCore::CSSMutableStyleDeclarationImpl::setCssText): Ditto.

        * css/cssparser.h:
        (WebCore::ValueList): Changed to use a Vector and an index rather
        than using a QPtrList.
        (WebCore::CSSParser): Changed parseRule to return a PassRefPtr, removed the
        createStyleDeclaration function since that's now handled by createStyleRule,
        made clearProperties be private, and added a suite of functions to create the
        objects formerly made with "new" in the Bison grammar. Also put the Units enum
        here in the header, and added an operator so they can be or'ed together while
        staying with the enum type so we can use Units instead of int for a function arg.
        * css/cssparser.cpp:
        (WebCore::ValueList::~ValueList): Changed to use Vector.
        (WebCore::CSSParser::CSSParser): Removed initializer for rule now that it's a RefPtr.
        (WebCore::CSSParser::~CSSParser): Added code to delete all the items in the sets that
        track floating objects. Also removed an unneeded check before callling clearProperties.
        (WebCore::CSSParser::parseSheet): Removed "delete rule" since rule is now a RefPtr.
        (WebCore::CSSParser::parseRule): Changed code to use rule.release() since rule is now
        a RefPtr and this function now returns a PassRefPtr.
        (WebCore::CSSParser::parseValue): Removed "delete rule" since rule is now a RefPtr.
        (WebCore::CSSParser::parseColor): Ditto.
        (WebCore::CSSParser::parseDeclaration): Ditto.
        (WebCore::CSSParser::validUnit): Made this a static class member instead of a local
        function so it can be used by the SVG parser code. Also updated to use the new ValueList
        class that uses Vector.
        (WebCore::CSSParser::parse4Values): Updated to new ValueList.
        (WebCore::CSSParser::parseContent): Ditto.
        (WebCore::skipCommaInDashboardRegion): Ditto.
        (WebCore::CSSParser::parseDashboardRegions): Ditto.
        (WebCore::CSSParser::parseShape): Ditto.
        (WebCore::CSSParser::parseColorFromValue): Ditto.
        (WebCore::BorderImageParseContext::commitBorderImage): Ditto.
        (WebCore::CSSParser::createFloatingSelector): Added. Puts selector into floating set.
        (WebCore::CSSParser::sinkFloatingSelector): Added. Removes from floating set.
        (WebCore::CSSParser::createFloatingValueList): Added. Puts list into floating set.
        (WebCore::CSSParser::sinkFloatingValueList): Added. Removes from floating set.
        (WebCore::CSSParser::createFloatingFunction): Added. Puts function into floating set.
        (WebCore::CSSParser::sinkFloatingFunction): Added. Removes from floating set.
        (WebCore::CSSParser::sinkFloatingValue): Added. Removes function from floating set if
        value contains a function pointer.
        (WebCore::CSSParser::createMediaList): Added. Puts list in a vector of RefPtrs kept
        by the parser, so the object won't end up floating.
        (WebCore::CSSParser::createImportRule): Ditto.
        (WebCore::CSSParser::createMediaRule): Ditto.
        (WebCore::CSSParser::createRuleList): Ditto.
        (WebCore::CSSParser::createStyleRule): Ditto. The properties come from the parser's
        global state instead of from a parameter.

        * khtml/xsl/xsl_stylesheetimpl.h:
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl): Initialize the new m_stylesheetDocTaken
        bool to false. Also remove code to set up m_lstChildren since the base class takes care
        of that now.
        (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl): Only call xmlFreeDoc if the document
        was not taken by libxslt. We used to leak XSLStyleSheetImpl objects, which is why we
        didn't notice this before; we'll try to double free without this change.
        (WebCore::XSLStyleSheetImpl::isLoading): Use length() and item() instead of
        m_lstChildren->first() and m_lstChildren->next().
        (WebCore::XSLStyleSheetImpl::clearDocuments): Ditto.
        (WebCore::XSLStyleSheetImpl::parseString): Only call xmlFreeDoc if the document was not
        taken by libxslt. Also set m_stylesheetDocTaken for the new document.
        (WebCore::XSLStyleSheetImpl::loadChildSheet): Use RefPtr and append instead of
        m_lstChildren->append.
        (WebCore::XSLStyleSheetImpl::compileStyleSheet): Set m_stylesheetDocTaken to true if
        xsltParseStylesheetDoc is successful, since the stylesheet then owns the document.
        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): Use length() and item()
        instead of m_lstChildren->first() and m_lstChildren->next().
        (WebCore::XSLStyleSheetImpl::markAsProcessed): Set m_stylesheetDocTaken, since when
        this is called, the document is returned to libxslt which then attaches it to a
        stylesheet or parent document.

        * ksvg2/css/KSVGCSSParser.cpp: Changed to compile as separate
        file instead of being included in cssparser.cpp.
        (WebCore::CSSParser::parseSVGPaint): Take out unnecessary check
        of number of args. Everything works fine without that check, and
        otherwise I'd have to change it for the change in data structure.
        (WebCore::CSSParser::parseSVGColor): Ditto.
        * WebCore.xcodeproj/project.pbxproj: Added KSVGCSSParser.cpp.

        - fixed another leak found by run-webkit-leaks --leaks

        * kwq/KWQLoader.mm: (KWQServeRequest): Delete the job if we can't do the I/O, because
        the caller is passing ownership to us.

        - updated other code to use new Vector insert and remove

        * khtml/html/HTMLFormElementImpl.cpp:
        (WebCore::removeFromVector): Changed to use Vector's remove.
        (WebCore::HTMLFormElementImpl::registerFormElement): Changed to use Vector's insert.

2006-02-20  Darin Adler  <darin@apple.com>

        Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6831
          contentEditable outline darkens as caret moves

        Test: editing/selection/move-by-character-6.html

        The trick was to draw the focus ring clipped to a list of rectangles instead
        of clipped to exactly one.

        * kwq/KWQPainter.h: Move Color parameter from initFocusRing to drawFocusRing.
        * kwq/KWQPainter.mm:
        (WebCore::QPainterPrivate::QPainterPrivate): Change focusRingPath from
        an NSBezierPath to a CGMutablePathRef.
        (WebCore::QPainterPrivate::~QPainterPrivate): Ditto.
        (WebCore::QPainter::initFocusRing): Removed color parameter, and made a
        CGPath instead of an NSBezierPath.
        (WebCore::QPainter::addFocusRingRect): CGPath instead of NSBezierPath.
        (WebCore::QPainter::drawFocusRing): Added color parameter, and changed to
        use new bridge method to draw the focus ring.
        (WebCore::QPainter::clearFocusRing): CGPath instead of NSBezierPath.

        * kwq/WebCoreGraphicsBridge.h:
        * kwq/WebCoreGraphicsBridge.m:
        (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:]):
        Replaced setFocusRingStyle: method with this one.

        * rendering/render_flow.cpp: (WebCore::RenderFlow::paintFocusRing):
        * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
        Pass color to drawFocusRing instead of initFocusRing.

        - fixed message on exit from the other patch I just landed

        * platform/mac/CursorMac.mm:
        (WebCore::leakNamedCursor): Renamed and made this leak intentionally.

2006-02-20  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - moved Cursor into the platform directory from KWQ
        - removed a lot of other unneeded stuff from KWQ

        * platform/Cursor.h: Added.
        * platform/mac/CursorMac.mm: Added.
        * platform/mac/CursorWin.cpp: Added.

        * kwq/KWQBuffer.cpp: Removed.
        * kwq/KWQBuffer.h: Removed.
        * kwq/KWQCursor.h: Removed.
        * kwq/KWQCursor.mm: Removed.
        * kwq/KWQIODevice.h: Removed.
        * kwq/KWQKCursor.h: Removed.
        * kwq/KWQKCursor.mm: Removed.
        * kwq/KWQKDebug.h: Removed.
        * kwq/KWQSignalStubs.cpp: Removed.

        * ForwardingHeaders/kcursor.h: Removed.
        * ForwardingHeaders/kdebug.h: Removed.
        * ForwardingHeaders/qbuffer.h: Removed.

        * kwq/KWQEvent.h: Removed unused constants and types QCustomEvent,
        QFocusEvent, QHideEvent, QShowEvent, QContextMenuEvent, and QResizeEvent.

        * kwq/KWQLoader.h: Removed KWQLoader class since signals are no longer needed.
        * kwq/KWQLoader.mm: Ditto.

        * kwq/KWQNamespace.h: Removed DontClip, ShowPrefix, WordBreak, LayoutDirection,
        LeftToRight, RightToLeft, RasterOp, CopyROP, OrROP, and XorROP.

        * kwq/KWQObject.h: Removed blockSignals, sender, _signalsBlocked, _sender,
        and KWQObjectSenderScope.
        * kwq/KWQObject.cpp:
        (QObject::QObject): Removed _signalsBlocked.
        (QObject::connect): Removed special-case signals to not complain about.
        All of them were either unused, converted to non-signal functions, or in one
        case (slotScrollBarMoved) turned into a FIXME.

        * kwq/KWQPainter.h: Removed rasterOp and setRasterOp.
        * kwq/KWQPainter.mm: Ditto.

        * kwq/KWQSignal.h:
        * kwq/KWQSignal.cpp: (KWQSignal::disconnect): Removed special cases for
        various signals; all are now using plain function calls instead.

        * kwq/KWQSlot.h:
        * kwq/KWQSlot.cpp: Removed slots that are no longer needed because they
        are using plain function calls instead of signals.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Updated for changed files.

        * bridge/mac/FrameViewMac.mm: Moved the contents of KWQKHTMLView.cpp in here.
        * bridge/mac/KWQKHTMLView.cpp: Removed.

        * bridge/mac/MacFrame.h: Removed signals, changed setStatusBarText to take
        String instead of QString.
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::MacFrame): Removed signals.
        (WebCore::MacFrame::setStatusBarText): Changed parameter type.
        (WebCore::MacFrame::openURLFromPageCache): Removed parameter from started function.
        (WebCore::MacFrame::khtmlMouseMoveEvent): Changed from QCursor() to pointerCursor().

        * dom/DocumentImpl.h:
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::DocumentImpl): Removed signals.
        (WebCore::DocumentImpl::implicitOpen): Ditto.
        (WebCore::DocumentImpl::determineParseMode): Removed a use of kdDebug.
        (WebCore::DocumentImpl::finishedParsing): Added. Does a setParsing(false) and then
        calls finishedParsing on the frame. Replaces the old finishedParsing signal.

        * dom/xml_tokenizer.h:
        * dom/xml_tokenizer.cpp: Removed the finishedParsing signal since it's not just
        a function on the document.
        (WebCore::XMLTokenizer::finish): Call the function instead of emitting the signal.

        * khtml/html/htmlparser.h:
        * khtml/html/htmlparser.cpp: Moved the parser inside the WebCore namespace.

        * khtml/html/htmltokenizer.h:
        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::end): Updated
        to call finishedParsing function on document rather than emitting a signal.

        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton becomeFirstResponder]): Use QEvent instead of QFocusEvent.
        (-[KWQPopUpButton resignFirstResponder]): Ditto.
        * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): Ditto.
        * kwq/KWQListBox.mm:
        (-[KWQTableView becomeFirstResponder]): Ditto.
        (-[KWQTableView resignFirstResponder]): Ditto.
        * kwq/KWQSlider.mm:
        (-[KWQSlider becomeFirstResponder]): Ditto.
        (-[KWQSlider resignFirstResponder]): Ditto.
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView becomeFirstResponder]): Ditto.
        (-[KWQTextAreaTextView resignFirstResponder]): Ditto.
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController setHasFocus:]): Ditto.

        * kwq/KWQTextStream.h: Removed the mode parameter from the QTextStream constructor.
        Removed the QTextIStream and QTextOStream classes.
        * kwq/KWQTextStream.cpp: (QTextStream::QTextStream): Removed the mode parameter.

        * loader/CachedCSSStyleSheet.h: Changed to take a ByteArray instead of a QBuffer.
        * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data): Ditto.
        * loader/CachedImage.h: Ditto.
        * loader/CachedImage.cpp: (WebCore::CachedImage::data): Ditto.
        * loader/CachedObject.h: Ditto.
        * loader/CachedScript.h: Ditto.
        * loader/CachedScript.cpp: (WebCore::CachedScript::data): Ditto.
        * loader/CachedXBLDocument.h: Ditto.
        * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::data): Ditto.
        * loader/CachedXSLStyleSheet.h:
        * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data): Ditto.

        * loader/DocLoader.cpp: (WebCore::DocLoader::setLoadInProgress): Added a call
        to loadDone on the frame. Replaces the requestFailed and requestDone signals.

        * loader/DocLoader.h: Removed include of <qbuffer.h>.

        * loader/Request.h:
        * loader/Request.cpp: Updated to use ByteArray instead of QBuffer.

        * loader/loader.h: Removed unused signals.
        * loader/loader.cpp:
        (WebCore::Loader::Loader): Removed use of KWQLoader.
        (WebCore::Loader::~Loader): Ditto.
        (WebCore::Loader::load): Removed code to emit unused requestStarted signal.
        (WebCore::Loader::slotFinished): Removed code to emit requestFailed and
        requestDone signals, now handled by DocLoader::setLoadInProgress(false).
        (WebCore::Loader::slotReceivedResponse): Use ByteArray instead of QBuffer.
        (WebCore::Loader::slotData): Ditto.

        * page/Frame.h: Removed setURLCursor, urlCursor, slotRestoreData, slotIncZoom,
        slotDecZoom, slotLoadImages, slotPartRemoved, slotActiveFrameChanged,
        slotChildURLRequest, slotShowDocument, slotAutoScroll, slotPrintFrame, slotSelectAll,
        slotProgressUpdate, slotJobPercent, slotJobSpeed.connectChild, disconnectChild,
        and changed a number of others from slots to plain old functions.
        * page/Frame.cpp:
        (WebCore::Frame::Frame): Don't connect to loader signals.
        (WebCore::Frame::~Frame): Don't disconnect from loader signals.
        (WebCore::Frame::didOpenURL): Call started function instead of emitting
        started signal. Don't connect to speed and percent signals (which never
        existed in WebCore anyway).
        (WebCore::Frame::stopLoading): Call finishedParsing function instead of
        calling slotFinishedParsing.
        (WebCore::Frame::executeScript): Removed redundant checks and let
        submitFormAgain do the checking.
        (WebCore::Frame::clear): Removed code to disconnect from finishedParsing
        signal; we now use a function. Also removed loop that calls disconnectChild,
        becase again we use functions now instead of signals.
        (WebCore::Frame::setDocument): Remove code to disconnect and connect to the
        finishedParsing signal.
        (WebCore::Frame::begin): Remove code to connect to the finishedParsing signal.
        (WebCore::Frame::finishedParsing): Moved code that does setParsing(false) into
        the document class. Also renamed from slotFinishedParsing.
        (WebCore::Frame::loadDone): Renamed from slotLoaderRequestDone.
        (WebCore::Frame::checkCompleted): Changed to call the completed function instead
        of emitting one of the two completed signals.
        (WebCore::Frame::loadSubframe): Removed call to connectChild because we now use
        functions instead of signals. Also change the call to completed to pass false
        instead of true.
        (WebCore::Frame::submitFormAgain): Change function around so we are less likely
        to leak if something strange happens inside submitForm.
        (WebCore::Frame::submitForm): Remove code to connect signal. We now call
        submitFormAgain from inside the completed function.
        (WebCore::Frame::parentCompleted): Renamed from slotParentCompleted. No longer
        a slot, now called from completed.
        (WebCore::Frame::childCompleted): Renamed from slotChildCompleted.
        (WebCore::Frame::setJSStatusBarText): Removed "emit" from function call. Changed
        to use String instead of QString.
        (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
        (WebCore::Frame::sendResizeEvent): Changed to send DOM event directly instead of
        creating a QResizeEvent to send along to the FrameView.
        (WebCore::Frame::scrollToAnchor): Changed to not pass a parameter to the started
        function, which no longer takes one.
        (WebCore::Frame::frameDetached): Removed code that calls disconnectChild, since
        we no longer use signals.
        (WebCore::Frame::completed): Added. Calls childCompleted, parentCompleted, and
        submitFormAgain.
        (WebCore::Frame::setStatusBarText): Added.
        (WebCore::Frame::started): Added. Sets the complete flag to false for the frame
        and all its ancestors, which is what slotChildStarted did recursively.

        * page/FramePrivate.h: Removed m_activeFrame and changed m_kjsStatusBarText and
        m_kjsDefaultStatusBarText to String from QString.

        * page/FrameView.h: Removed resizeEvent, focusInEvent, focusOutEvent, and
        slotPaletteChanged. Changed cleared from a signal to a private function and
        slotScrollBarMoved to a private function named scrollBarMoved.
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView): Removed connect call here that was connecting
        a signal that's nonexistent in WebCore; we'll want to rig it up later.
        (WebCore::FrameView::~FrameView): Added a call to setQWidget(0) here to replace
        something that was done with a signal before.
        (WebCore::FrameView::clear): Call cleared as a function rather than a signal.
        (WebCore::selectCursor): Changed to use Cursor instead of QCursor.
        (WebCore::FrameView::scrollBarMoved): Renamed this function, which is never called.
        Added a FIXME about calling it.
        (WebCore::FrameView::cleared): Added. Calls viewCleared on the owner part, which
        used to be done with a signal.

        * platform/Widget.h: Changed to Cursor from QCursor.
        * platform/mac/WidgetMac.mm: (WebCore::Widget::setCursor): Ditto.

        * rendering/render_frames.h:
        * rendering/render_frames.cpp:
        (WebCore::RenderFrameSet::userResize): Removed cursor-setting code here. We might
        want to use resize cursors for frames again, but it was mostly disabled anyway and
        it's not clear which cursors to use.
        (WebCore::RenderPart::setWidget): Removed code to connect to the cleared signal.
        Instead, FrameView takes care of it directly.
        (WebCore::RenderPart::viewCleared): Renamed from slotViewCleared.
        (WebCore::RenderFrame::viewCleared): Ditto.
        (WebCore::RenderPartObject::viewCleared): Ditto.

        * rendering/render_image.cpp:
        (WebCore::RenderImage::imageChanged): Removed use of WordBreak, which doesn't exist
        in WebCore text rendering.
        (WebCore::RenderImage::paint): Ditto.

        * rendering/render_list.cpp: (RenderListMarker::paint): Removed use of DontClip, which
        doesn't exist in WebCore text rendering. Also removed incorrect use of references to
        temporaries for the ". " and " ." strings.

        * rendering/render_object.cpp:
        (WebCore::RenderObject::drawBorder): Removed call to setRasterOp since it is a no-op
        in WebCore's painter. Added a FIXME.
        (WebCore::RenderObject::information): Remove mode parameter to QTextStream.

        * rendering/render_replaced.h: Removed slotWidgetDestructed, made setQWidget public,
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::setQWidget): Removed code to connect slotWidgetDestructed to
        the destroyed signal. Instead FrameView calls setQWidget(0) on us.
        (WebCore::RenderWidget::eventFilter): Removed use of QFocusEvent::reason, which is
        never "popup" in WebCore.

        * WebCore+SVG/kdom.h:
        * css/css_stylesheetimpl.cpp:
        * css/css_valueimpl.cpp:
        * css/cssparser.cpp:
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/RenderPath.cpp:
        * khtml/ecma/xmlserializer.cpp:
        * khtml/html/html_baseimpl.cpp:
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        * ksvg2/svg/SVGPathSegLinetoImpl.cpp:
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        * ksvg2/svg/SVGTransformImpl.cpp:
        * platform/StringImpl.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/render_box.cpp:
        * rendering/render_canvas.cpp:
        * rendering/render_flow.cpp:
        * rendering/render_form.cpp:
        * rendering/render_layer.cpp:
        * rendering/render_style.cpp:
        Removed includes of <kdebug.h>.

        * css/css_base.cpp: (CSSSelector::selectorText):
        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSRule::putValueProperty):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMDocument::getValueProperty):
        * khtml/ecma/kjs_events.cpp:
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMUIEvent::getValueProperty):
        (KJS::DOMMouseEvent::getValueProperty):
        (KJS::DOMKeyboardEvent::getValueProperty):
        (KJS::Clipboard::getValueProperty):
        (KJS::Clipboard::putValueProperty):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::getValueProperty):
        (KJS::KJS::HTMLDocument::putValueProperty):
        (KJS::HTMLElement::anchorGetter):
        (KJS::HTMLElement::areaGetter):
        (KJS::KJS::HTMLElementFunction::callAsFunction):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::DOMNodeIterator::getValueProperty):
        (KJS::DOMTreeWalker::getValueProperty):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Screen::getValueProperty):
        (KJS::Window::scheduleClose):
        (KJS::Window::isSafeScript):
        (KJS::Window::clear):
        (KJS::LocationFunc::callAsFunction):
        (KJS::History::getValueProperty):
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElementImpl.cpp:
        (SVGAnimateElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (WebCore::SVGDocumentImpl::finishedParsing):
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::updateValueInSpecifiedUnits):
        Removed use of kdWarning, kdDebug, etc.

2006-02-20  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - port QString to win32

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/QString.cpp:
        (strncasecmp):
        (QString::mid):
        (freeHandle):

2006-02-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        <rdar://problem/4449442> GMAIL: XMLHttpRequest does not correctly report "Interactive" state on receipt of load data
        Also cleaned up spacing a little.

        No layout test possible (local loads are non incremental).

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::changeState):
        (WebCore::XMLHttpRequest::slotData):

2006-02-20  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7318
          REGRESSION: Timer bug causes gif animation and (html and JS) page forwarding to fail

        Timers were stopping firing after a while.

        My testing makes this look like a CFRunLoopTimer bug, and it would be nice to reproduce
        this with a standalone test and report it to the CF team, but in the mean time, change
        to create a new timer each time instead of reusing the existing timer.

        * platform/mac/SharedTimerMac.cpp:
        (WebCore::setSharedTimerFiredFunction): Added an assertion.
        (WebCore::setSharedTimerFireTime): Destroy the existing timer and create a new one every time.
        Also create a non-repeating timer rather than a repeating timer.
        (WebCore::stopSharedTimer): Destroy the existing timer rather than setting its fire date
        far into the future.

2006-02-19  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - cut out a little unneeded bridge code

        * bridge/mac/WebCoreFrameBridge.h: Removed frame name from createWindowWithURL: method
        and changed it to return a page bridge. Also made createModalDialogWithURL: method
        return a page bridge. Removed the mainFrame and webView methods.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge nextFrameWithWrap:]): Use page to get to main frame.
        (-[WebCoreFrameBridge setFrameNamespace:]): Ditto.
        (-[WebCoreFrameBridge frameNamespace]): Ditto.
        (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Ditto.
        (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): Ditto.
        (-[WebCoreFrameBridge findFrameNamed:]): Ditto.
        (-[WebCoreFrameBridge installInFrame:]): Ditto.

        * bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method
        on the frame bridge.

        * bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
        Update to use a page bridge instead of frame bridge.

2006-02-19  Maciej Stachowiak  <mjs@apple.com>

        Rubber-stamped by Anders.
        
        - renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header

        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::passMouseDownEventToWidget):
        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue):
        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * editing/Selection.cpp:
        (WebCore::Selection::toRange):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFEBlendQuartz::getCIFilter):
        (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::createResource):
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::parseErrorFunc):
        * kwq/KWQFontMetrics.mm:
        (QFontMetrics::ascent):
        (QFontMetrics::descent):
        (QFontMetrics::lineSpacing):
        (QFontMetrics::xHeight):
        (QFontMetrics::width):
        (QFontMetrics::floatWidth):
        (QFontMetrics::checkSelectionPoint):
        * kwq/KWQKConfigBase.mm:
        (KConfig::readEntry):
        (KConfig::readNumEntry):
        (KConfig::readUnsignedNumEntry):
        * kwq/KWQLineEdit.mm:
        (KWQNSTextAlignmentForAlignmentFlags):
        * kwq/KWQObject.cpp:
        (QObject::connect):
        * kwq/KWQPainter.mm:
        (WebCore::QPainter::restore):
        (WebCore::QPainter::drawFocusRing):
        * kwq/KWQRegExp.cpp:
        (QRegExp::KWQRegExpPrivate::compile):
        (QRegExp::match):
        * kwq/KWQSignal.cpp:
        (KWQSignal::connect):
        (KWQSignal::disconnect):
        * kwq/KWQSlot.cpp:
        (KWQSlot::KWQSlot):
        * kwq/KWQTextCodec.cpp:
        (KWQTextDecoder::createICUConverter):
        (KWQTextDecoder::convertUsingICU):
        * kwq/WebCoreTextRendererFactory.mm:
        (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
        (-[WebCoreTextRendererFactory isFontFixedPitch:]):
        (-[WebCoreTextRendererFactory rendererWithFont:]):
        * page/Frame.cpp:
        (WebCore::Frame::paint):

2006-02-17  Maciej Stachowiak <mjs@apple.com>

        Reviewed by Dave Hyatt.

        - fix win32 build

        * css/css_grammar.y: 
        * khtml/html/html_objectimpl.cpp: #ifdef out all bindings code
        (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
        (WebCore::HTMLAppletElementImpl::detach):
        (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
        (WebCore::HTMLEmbedElementImpl::detach):
        (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
        (WebCore::HTMLObjectElementImpl::detach):
        * khtml/html/html_objectimpl.h:

2006-02-18  Alexander Kellett  <lypanov@kde.org>

        Reviewed by Maciej.

        - Fix http://bugs.webkit.org/show_bug.cgi?id=7199.

        Testcase: 
          svg/custom/text-gradient-no-content.svg

        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):

2006-02-18  David Harrison  <harrison@apple.com>

        Reviewed by John.

        <rdar://problem/4448212> _accessibilityTableCell please remove this.

        Remove override of a defamed AX method.

        * kwq/KWQListBox.mm:
        Dump _accessibilityTableCell.

2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/css/ex-after-font-variant.html

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=4227
          The ex unit doesn't work for font-variant: small-caps

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyDeclarations): Added CSS_PROP_FONT_VARIANT to the properties
        that need to be applied first, since it dirties the font.

2006-02-17  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        Adding isEdited/setEdited hooks so onChange will fire for the new text fields.

        * rendering/RenderTextField.cpp:
        (WebCore::m_dirty):
        (WebCore::RenderTextField::updateFromElement): setEdited to false when value attribute has changed.
        (WebCore::RenderTextField::subtreeHasChanged): setEdited to true when anonymous editable div has changed.
        * rendering/RenderTextField.h:
        (WebCore::RenderTextField::isEdited):
        (WebCore::RenderTextField::setEdited):
        (WebCore::RenderTextField::isTextField):

2006-02-17  Vicki Murley <vicki@apple.com>

        Reviewed by Justin.
 
        Get rid of handleFocusOut on text fields and textareas - move this functionality to the place
        where we resign focus on the previous node in setFocusNode.  Add isTextField on RenderObject
        as one way to distinguish from contenteditable elements - Win IE does not fire onChange for 
        contenteditable elements, so we won't either. Also, expose the dirty bit variables previously 
        checked in handleFocusOut methods in isEdited() and setEdited().

        Fixes the following bugs:
        <rdar://problem/4315673> REGRESSION (1.2.2 - 1.3): onChange and onFocus events firing order differs for mouse click and tab (7227)
        <rdar://problem/4447009> for text fields, onChange should fire before onBlur to match Win IE

        Test case is on the way.

        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::setFocusNode): For textareas and text fields, fire a change event
        on the node that is resigning focus.  Make sure the blur event fires after the change event - 4447009.
        * rendering/render_form.cpp:
        (WebCore::RenderLineEdit::slotReturnPressed): Replace call to handleFocusOut with equivalent code.
        (WebCore::RenderLineEdit::isEdited): Added.
        (WebCore::RenderLineEdit::setEdited): Added.
        (WebCore::RenderTextArea::setEdited): Added.
        * rendering/render_form.h:
        (WebCore::RenderLineEdit::isTextField): Added.
        (WebCore::RenderTextArea::isTextArea): Make this non-virtual.
        (WebCore::RenderTextArea::isEdited): Added.
        * rendering/render_object.h:
        (WebCore::RenderObject::isEdited): Added.
        (WebCore::RenderObject::setEdited): Added.
        (WebCore::RenderObject::isTextField): Added.
        * rendering/render_replaced.h: Remove handleFocusOut().
        * rendering/render_replaced.cpp: Ditto.
        (WebCore::RenderWidget::eventFilter): Remove call to handleFocusOut().  Safe to do here,
        since we call setFocusNode immediately beforehand.

2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/parser/nofoo-tags-inside-paragraph.html

        Reviewed by Anders Carlsson.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7265
          REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag

        * khtml/html/htmlparser.cpp:
        (HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript
        as inline elements.

2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7235
          Pure CSS Tooltips method renders wrong and creates artifacts

        * manual-tests/bugzilla-7235.html: Added.
        * rendering/render_box.cpp:
        (WebCore::RenderBox::absolutePosition): Copied in here the logic for positioning
        relative to a relpositioned inline from RenderLayer::updateLayerPosition.
        (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.

2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/css/universal-hover-quirk.html

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7218
          Text underlined on mouse over

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active
        from matching anything in quirks mode.

2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7216
          white-space: pre-wrap collapses leading whitespace following a newline

        * rendering/bidi.cpp:
        (khtml::RenderBlock::bidiReorderLine): Use previousLineBrokeCleanly instead of
        resetBidiAtEnd now that the former is always correct.
        (khtml::RenderBlock::layoutInlineChildren): Use new skipTrailingNewline flag.
        (khtml::RenderBlock::findNextLineBreak): Set previousLineBrokeCleanly for line breaks
        caused by newlines as well. Added skipTrailingNewline flag.

2006-02-16  Tim Omernick  <timo@apple.com>

        Reviewed by Adele.

        <rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are
        disabled (4140)

        * khtml/ecma/kjs_navigator.cpp:
        (KJS::MimeType::getValueProperty):
        Only return a Plugin object for the "enabledPlugin" property if plugins are enabled.  This
        matches what other browsers do.
        
2006-02-16  Darin Adler  <darin@apple.com>

        Reviewed by Eric and Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7310
          fix leaks by using RefPtr more

        * bindings/objc/DOM.mm:
        (-[DOMDocument adoptNode:]):
        (-[DOMDocument createElement:]):
        (-[DOMDocument createDocumentFragment]):
        (-[DOMDocument createTextNode:]):
        (-[DOMDocument createComment:]):
        (-[DOMDocument createCDATASection:]):
        (-[DOMDocument createProcessingInstruction::]):
        (-[DOMDocument createEntityReference:]):
        (-[DOMDocument importNode::]):
        (-[DOMDocument createElementNS::]):
        (-[DOMDocument createRange]):
        (-[DOMDocument createCSSStyleDeclaration]):
        (-[DOMDocument createNodeIterator::::]):
        (-[DOMDocument createTreeWalker::::]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
        * bindings/objc/DOMEvents.mm:
        (-[DOMDocument createEvent:]):
        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::MacFrame):
        (WebCore::MacFrame::freeClipboard):
        (WebCore::MacFrame::setView):
        (WebCore::MacFrame::wheelEvent):
        (WebCore::MacFrame::openURLFromPageCache):
        (WebCore::MacFrame::mouseDownViewIfStillGood):
        (WebCore::MacFrame::khtmlMouseMoveEvent):
        (WebCore::MacFrame::dispatchCPPEvent):
        (WebCore::MacFrame::mouseDown):
        (WebCore::MacFrame::mouseDragged):
        (WebCore::MacFrame::mouseUp):
        (WebCore::MacFrame::mouseMoved):
        (WebCore::MacFrame::sendContextMenuEvent):
        (WebCore::MacFrame::dispatchDragSrcEvent):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge convertToDOMRange:]):
        (-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
        (-[WebCoreFrameBridge selectNSRange:]):
        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
        (-[WebCoreFrameBridge typingStyle]):
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
        * css/css_computedstyle.cpp:
        (WebCore::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl):
        (WebCore::CSSComputedStyleDeclarationImpl::cssText):
        (WebCore::CSSComputedStyleDeclarationImpl::setCssText):
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyValue):
        (WebCore::CSSComputedStyleDeclarationImpl::removeProperty):
        (WebCore::CSSComputedStyleDeclarationImpl::setProperty):
        (WebCore::CSSComputedStyleDeclarationImpl::item):
        (WebCore::CSSComputedStyleDeclarationImpl::copyInheritableProperties):
        (WebCore::CSSComputedStyleDeclarationImpl::copy):
        (WebCore::CSSComputedStyleDeclarationImpl::makeMutable):
        * css/css_computedstyle.h:
        * css/css_grammar.y:
        * css/css_ruleimpl.cpp:
        (WebCore::CSSStyleRuleImpl::~CSSStyleRuleImpl):
        (WebCore::CSSStyleRuleImpl::setDeclaration):
        * css/css_ruleimpl.h:
        (DOM::CSSStyleRuleImpl::style):
        (DOM::CSSStyleRuleImpl::declaration):
        * css/css_valueimpl.cpp:
        (WebCore::propertyID):
        (WebCore::quoteStringIfNeeded):
        (WebCore::CSSStyleDeclarationImpl::getPropertyCSSValue):
        (WebCore::CSSStyleDeclarationImpl::getPropertyValue):
        (WebCore::CSSStyleDeclarationImpl::getPropertyPriority):
        (WebCore::CSSStyleDeclarationImpl::getPropertyShorthand):
        (WebCore::CSSStyleDeclarationImpl::isPropertyImplicit):
        (WebCore::CSSStyleDeclarationImpl::setProperty):
        (WebCore::CSSStyleDeclarationImpl::removeProperty):
        (WebCore::CSSStyleDeclarationImpl::isPropertyName):
        (WebCore::CSSMutableStyleDeclarationImpl::getPropertyValue):
        (WebCore::CSSMutableStyleDeclarationImpl::get4Values):
        (WebCore::CSSMutableStyleDeclarationImpl::getShortHandValue):
        (WebCore::CSSMutableStyleDeclarationImpl::getPropertyCSSValue):
        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::setStringProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::setImageProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration):
        (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::item):
        (WebCore::CSSMutableStyleDeclarationImpl::cssText):
        (WebCore::CSSMutableStyleDeclarationImpl::setCssText):
        (WebCore::CSSMutableStyleDeclarationImpl::copyBlockProperties):
        (WebCore::CSSStyleDeclarationImpl::copyPropertiesInSet):
        (WebCore::CSSMutableStyleDeclarationImpl::removePropertiesInSet):
        (WebCore::CSSMutableStyleDeclarationImpl::makeMutable):
        (WebCore::CSSMutableStyleDeclarationImpl::copy):
        (WebCore::CSSInheritedValueImpl::cssText):
        (WebCore::CSSInitialValueImpl::cssText):
        (WebCore::CSSValueListImpl::append):
        (WebCore::CSSValueListImpl::cssText):
        (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (WebCore::CSSPrimitiveValueImpl::cleanup):
        (WebCore::CSSPrimitiveValueImpl::setStringValue):
        (WebCore::CSSPrimitiveValueImpl::getStringValue):
        (WebCore::CSSPrimitiveValueImpl::parseString):
        (WebCore::CSSPrimitiveValueImpl::cssText):
        (WebCore::CSSImageValueImpl::CSSImageValueImpl):
        (WebCore::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
        (WebCore::CSSBorderImageValueImpl::cssText):
        (WebCore::FontFamilyValueImpl::FontFamilyValueImpl):
        (WebCore::FontFamilyValueImpl::cssText):
        (WebCore::FontValueImpl::cssText):
        (WebCore::ShadowValueImpl::ShadowValueImpl):
        (WebCore::ShadowValueImpl::cssText):
        (WebCore::CSSProperty::cssText):
        * css/css_valueimpl.h:
        (WebCore::CSSValueImpl::setCssText):
        (WebCore::CSSValueListImpl::item):
        (WebCore::CSSPrimitiveValueImpl::getFloatValue):
        (WebCore::CSSPrimitiveValueImpl::getCounterValue):
        (WebCore::CSSPrimitiveValueImpl::getRectValue):
        (WebCore::CSSPrimitiveValueImpl::getRGBColorValue):
        (WebCore::CSSPrimitiveValueImpl::getPairValue):
        (WebCore::CSSPrimitiveValueImpl::getDashboardRegionValue):
        (WebCore::CSSPrimitiveValueImpl::):
        (WebCore::CSSQuirkPrimitiveValueImpl::CSSQuirkPrimitiveValueImpl):
        (WebCore::CounterImpl::identifier):
        (WebCore::CounterImpl::listStyle):
        (WebCore::CounterImpl::separator):
        (WebCore::RectImpl::top):
        (WebCore::RectImpl::right):
        (WebCore::RectImpl::bottom):
        (WebCore::RectImpl::left):
        (WebCore::RectImpl::setTop):
        (WebCore::RectImpl::setRight):
        (WebCore::RectImpl::setBottom):
        (WebCore::RectImpl::setLeft):
        (WebCore::PairImpl::first):
        (WebCore::PairImpl::second):
        (WebCore::PairImpl::setFirst):
        (WebCore::PairImpl::setSecond):
        (WebCore::DashboardRegionImpl::DashboardRegionImpl):
        (WebCore::FontFamilyValueImpl::fontName):
        (WebCore::CSSProperty::CSSProperty):
        (WebCore::CSSProperty::value):
        (WebCore::CSSMutableStyleDeclarationImpl::setNode):
        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
        * css/cssparser.cpp:
        (CSSParser::createStyleDeclaration):
        (CSSParser::parseDashboardRegions):
        * css/cssparser.h:
        (WebCore::Value::):
        (WebCore::qString):
        (WebCore::domString):
        (WebCore::atomicString):
        (WebCore::ValueList::current):
        (WebCore::ValueList::next):
        (WebCore::CSSParser::current):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/DOMImplementationImpl.cpp:
        (DOM::DOMImplementationImpl::createDocument):
        (DOM::DOMImplementationImpl::instance):
        * dom/DOMImplementationImpl.h:
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::DocumentImpl):
        (WebCore::DocumentImpl::~DocumentImpl):
        (WebCore::DocumentImpl::setDocType):
        (WebCore::DocumentImpl::createElement):
        (WebCore::DocumentImpl::createDocumentFragment):
        (WebCore::DocumentImpl::createTextNode):
        (WebCore::DocumentImpl::createComment):
        (WebCore::DocumentImpl::createCDATASection):
        (WebCore::DocumentImpl::createProcessingInstruction):
        (WebCore::DocumentImpl::createEntityReference):
        (WebCore::DocumentImpl::createEditingTextNode):
        (WebCore::DocumentImpl::createCSSStyleDeclaration):
        (WebCore::DocumentImpl::importNode):
        (WebCore::DocumentImpl::adoptNode):
        (WebCore::DocumentImpl::createElementNS):
        (WebCore::DocumentImpl::setTitle):
        (WebCore::DocumentImpl::createRange):
        (WebCore::DocumentImpl::createNodeIterator):
        (WebCore::DocumentImpl::createTreeWalker):
        (WebCore::DocumentImpl::setStyleSheet):
        (WebCore::DocumentImpl::setHoverNode):
        (WebCore::DocumentImpl::setActiveNode):
        (WebCore::DocumentImpl::setFocusNode):
        (WebCore::DocumentImpl::defaultView):
        (WebCore::DocumentImpl::createEvent):
        (WebCore::DocumentImpl::setHTMLWindowEventListener):
        (WebCore::DocumentImpl::addWindowEventListener):
        (WebCore::DocumentImpl::createHTMLEventListener):
        (WebCore::DocumentImpl::images):
        (WebCore::DocumentImpl::applets):
        (WebCore::DocumentImpl::embeds):
        (WebCore::DocumentImpl::objects):
        (WebCore::DocumentImpl::links):
        (WebCore::DocumentImpl::forms):
        (WebCore::DocumentImpl::anchors):
        (WebCore::DocumentImpl::all):
        (WebCore::DocumentImpl::windowNamedItems):
        (WebCore::DocumentImpl::documentNamedItems):
        (WebCore::DocumentImpl::getElementsByName):
        * dom/DocumentImpl.h:
        (WebCore::DocumentImpl::realDocType):
        (WebCore::DocumentImpl::createAttribute):
        (WebCore::DocumentImpl::title):
        (WebCore::DocumentImpl::styleSelector):
        (WebCore::DocumentImpl::setRestoreState):
        (WebCore::DocumentImpl::restoreState):
        (WebCore::DocumentImpl::view):
        (WebCore::DocumentImpl::docLoader):
        (WebCore::DocumentImpl::tokenizer):
        (WebCore::DocumentImpl::focusNode):
        (WebCore::DocumentImpl::hoverNode):
        (WebCore::DocumentImpl::activeNode):
        (WebCore::DocumentImpl::policyBaseURL):
        (WebCore::DocumentImpl::setPolicyBaseURL):
        (WebCore::DocumentImpl::):
        (WebCore::DocumentImpl::transformSourceDocument):
        (WebCore::DocumentImpl::domTreeVersion):
        (WebCore::DocumentImpl::decoder):
        * dom/NodeListImpl.cpp:
        (DOM::NodeListImpl::NodeListImpl):
        (DOM::NodeListImpl::~NodeListImpl):
        (DOM::NodeListImpl::recursiveLength):
        (DOM::NodeListImpl::recursiveItem):
        (DOM::NodeListImpl::itemById):
        * dom/NodeListImpl.h:
        * dom/dom2_eventsimpl.cpp:
        (WebCore::RegisteredEventListener::RegisteredEventListener):
        * dom/dom2_eventsimpl.h:
        (WebCore::operator!=):
        * dom/dom2_traversalimpl.cpp:
        (DOM::TraversalImpl::TraversalImpl):
        (DOM::NodeIteratorImpl::NodeIteratorImpl):
        (DOM::TreeWalkerImpl::TreeWalkerImpl):
        * dom/dom2_traversalimpl.h:
        (WebCore::TraversalImpl::root):
        (WebCore::TraversalImpl::filter):
        (WebCore::NodeIteratorImpl::referenceNode):
        (WebCore::NodeIteratorImpl::setPointerBeforeReferenceNode):
        (WebCore::NodeIteratorImpl::setDetached):
        (WebCore::NodeIteratorImpl::document):
        (WebCore::TreeWalkerImpl::currentNode):
        * dom/dom_position.cpp:
        (WebCore::Position::computedStyle):
        * dom/dom_position.h:
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::insertErrorMessageBlock):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::createFontElement):
        (WebCore::createStyleSpanElement):
        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
        (WebCore::ApplyStyleCommand::updateStartEnd):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::extractTextDecorationStyle):
        (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
        (WebCore::ApplyStyleCommand::computedFontSize):
        * editing/ApplyStyleCommand.h:
        (WebCore::ApplyStyleCommand::style):
        * editing/EditCommand.cpp:
        (WebCore::EditCommandPtr::setTypingStyle):
        (WebCore::EditCommand::setTypingStyle):
        (WebCore::EditCommand::styleAtPosition):
        * editing/EditCommand.h:
        (WebCore::EditCommand::document):
        (WebCore::EditCommand::typingStyle):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::InsertLineBreakCommand):
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::prepareForTextInsertion):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::computeAndStoreNodeDesiredStyle):
        (WebCore::NodeDesiredStyle::NodeDesiredStyle):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::NodeDesiredStyle::node):
        (WebCore::NodeDesiredStyle::style):
        (WebCore::ReplacementFragment::root):
        * editing/WrapContentsInDummySpanCommand.cpp:
        (WebCore::WrapContentsInDummySpanCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::createDefaultParagraphElement):
        (WebCore::createBreakElement):
        * editing/markup.cpp:
        (WebCore::createFragmentFromMarkup):
        (WebCore::createParagraphContentsFromString):
        * editing/visible_text.cpp:
        (khtml::TextIterator::rangeFromLocationAndLength):
        * editing/visible_text.h:
        (WebCore::isCollapsibleWhitespace):
        (WebCore::WordAwareIterator::range):
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLSelectCollection::put):
        (KJS::OptionConstructorImp::construct):
        * khtml/html/HTMLElementImpl.cpp:
        (WebCore::HTMLElementImpl::createContextualFragment):
        (WebCore::HTMLElementImpl::setInnerHTML):
        (WebCore::HTMLElementImpl::setOuterHTML):
        (WebCore::HTMLElementImpl::setOuterText):
        * khtml/html/HTMLElementImpl.h:
        * khtml/html/HTMLNameCollectionImpl.cpp:
        (WebCore::HTMLNameCollectionImpl::HTMLNameCollectionImpl):
        (WebCore::HTMLNameCollectionImpl::traverseNextItem):
        * khtml/html/HTMLNameCollectionImpl.h:
        * khtml/html/html_documentimpl.cpp:
        (WebCore::HTMLDocumentImpl::createElement):
        * khtml/html/html_documentimpl.h:
        (WebCore::HTMLDocumentImpl::collectionInfo):
        * khtml/html/htmlfactory.cpp:
        (DOM::htmlConstructor):
        (DOM::headConstructor):
        (DOM::bodyConstructor):
        (DOM::baseConstructor):
        (DOM::linkConstructor):
        (DOM::metaConstructor):
        (DOM::styleConstructor):
        (DOM::titleConstructor):
        (DOM::frameConstructor):
        (DOM::framesetConstructor):
        (DOM::iframeConstructor):
        (DOM::formConstructor):
        (DOM::buttonConstructor):
        (DOM::inputConstructor):
        (DOM::isindexConstructor):
        (DOM::fieldsetConstructor):
        (DOM::labelConstructor):
        (DOM::legendConstructor):
        (DOM::optgroupConstructor):
        (DOM::optionConstructor):
        (DOM::selectConstructor):
        (DOM::textareaConstructor):
        (DOM::dlConstructor):
        (DOM::ulConstructor):
        (DOM::olConstructor):
        (DOM::dirConstructor):
        (DOM::menuConstructor):
        (DOM::liConstructor):
        (DOM::blockquoteConstructor):
        (DOM::divConstructor):
        (DOM::headingConstructor):
        (DOM::hrConstructor):
        (DOM::paragraphConstructor):
        (DOM::preConstructor):
        (DOM::basefontConstructor):
        (DOM::fontConstructor):
        (DOM::modConstructor):
        (DOM::anchorConstructor):
        (DOM::imageConstructor):
        (DOM::mapConstructor):
        (DOM::areaConstructor):
        (DOM::canvasConstructor):
        (DOM::appletConstructor):
        (DOM::embedConstructor):
        (DOM::objectConstructor):
        (DOM::paramConstructor):
        (DOM::scriptConstructor):
        (DOM::tableConstructor):
        (DOM::tableCaptionConstructor):
        (DOM::tableColConstructor):
        (DOM::tableRowConstructor):
        (DOM::tableCellConstructor):
        (DOM::tableSectionConstructor):
        (DOM::brConstructor):
        (DOM::quoteConstructor):
        (DOM::marqueeConstructor):
        (DOM::HTMLElementFactory::createHTMLElement):
        * khtml/html/htmlfactory.h:
        * khtml/html/htmlparser.cpp:
        (HTMLParser::parseToken):
        (HTMLParser::textCreateErrorCheck):
        (HTMLParser::commentCreateErrorCheck):
        (HTMLParser::headCreateErrorCheck):
        (HTMLParser::bodyCreateErrorCheck):
        (HTMLParser::framesetCreateErrorCheck):
        (HTMLParser::iframeCreateErrorCheck):
        (HTMLParser::formCreateErrorCheck):
        (HTMLParser::isindexCreateErrorCheck):
        (HTMLParser::selectCreateErrorCheck):
        (HTMLParser::ddCreateErrorCheck):
        (HTMLParser::dtCreateErrorCheck):
        (HTMLParser::nestedCreateErrorCheck):
        (HTMLParser::nestedStyleCreateErrorCheck):
        (HTMLParser::tableCellCreateErrorCheck):
        (HTMLParser::tableSectionCreateErrorCheck):
        (HTMLParser::noembedCreateErrorCheck):
        (HTMLParser::noframesCreateErrorCheck):
        (HTMLParser::noscriptCreateErrorCheck):
        (HTMLParser::mapCreateErrorCheck):
        (HTMLParser::getNode):
        * khtml/html/htmlparser.h:
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::processToken):
        * khtml/html/htmltokenizer.h:
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::createSVGEventListener):
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        (SVGDOMImplementationImpl::createDocumentType):
        (SVGDOMImplementationImpl::createDocument):
        (SVGDOMImplementationImpl::createCSSStyleSheet):
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (WebCore::SVGDocumentImpl::createElement):
        (WebCore::SVGDocumentImpl::dispatchZoomEvent):
        (WebCore::SVGDocumentImpl::dispatchKeyEvent):
        (WebCore::SVGDocumentImpl::dispatchUIEvent):
        (WebCore::SVGDocumentImpl::dispatchMouseEvent):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.cpp:
        (WebCore::SVGElementImpl::addSVGEventListener):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (WebCore::SVGSVGElementImpl::addSVGWindowEventListner):
        * page/Frame.cpp:
        (WebCore::Frame::view):
        (WebCore::Frame::begin):
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::selectionHasStyle):
        (WebCore::Frame::selectionStartHasStyle):
        (WebCore::Frame::selectionStartStylePropertyValue):
        (WebCore::Frame::selectionComputedStyle):
        (WebCore::Frame::forceLayout):
        (WebCore::Frame::sendResizeEvent):
        (WebCore::Frame::sendScrollEvent):
        (WebCore::Frame::clearTimers):
        (WebCore::Frame::styleForSelectionStart):
        * page/FramePrivate.h:
        * page/FrameTree.h:
        (WebCore::FrameTree::name):

2006-02-16  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        Test:
        * manual-tests/mail-attachments.html: Added.
        Automated test not currently possible because widgets do not actually draw when not in a window.
        Geoff and Justin are fixing that and will add this test.

        * rendering/render_frames.cpp:
        (WebCore::RenderPartObject::updateWidget):
        Fix unique param check when processing object tag attributes.

2006-02-16  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=7113
        Typing in editable overflow:hidden div doesn't scroll

        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge ensureSelectionVisible]):
          Changed scrollRectToVisible call so that it will align to the edge instead of trying to center the selection.  
          Centering looks funny when it happens after typing, deleting, moving the cursor, etc.
        * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible):
          Use scrollWidth() and scrollHeight() functions instead of m_scrollWidth and m_scrollHeight.  
          These functions will cause the correct scroll dimensions to be calculated for overflow:hidden layers.
          Also subtracted scrollbar width and height when calculating the layer bounds. This was causing scroll problems in overflow:scroll.
          I also did some cleanup to use xPos() and yPos() instead of m_x and m_y, and to use scrollYOffset() instead of m_scrollY.

2006-02-16  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6812
        Missing focus ring on new text fields

        Tests:
        * fast/forms/input-appearance-focus.html: Updated.

        * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline): 
         call supportsFocusRing instead of checking the appearance.
        * rendering/render_theme.cpp: (khtml::RenderTheme::supportsFocusRing): Added. 
         Checks appearance.  Theme will draw focus ring if there's an appearance, but not for the new text fields.
        * rendering/render_theme.h:

2006-02-16  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - eliminate QFrame and QObject::inherits, fix some strange stuff
          in RenderCanvas that showed up when I tested that change

        * kwq/KWQFrame.h: Removed.
        * kwq/KWQFrame.mm: Removed.

        * bridge/mac/FrameViewMac.mm: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated for adds and removes.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
        * khtml/ecma/kjs_window.cpp:
        (KJS::FrameArray::indexGetter):
        (KJS::FrameArray::nameGetter):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject doAXTextMarkerForPosition:]):
        * kwq/KWQRenderTreeDebug.cpp:
        (write):
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        Change QObject::inherits callers to call the "is" functions directly.

        * kwq/KWQObject.h:
        * kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame,
        and QObject::isQScrollView.

        * kwq/KWQScrollView.h: Inherit from Widget instead of QFrame.
        Remove isQScrollView.
        * kwq/KWQScrollView.mm: Remove isQScrollView.

        * page/FrameView.h:
        * page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr.
        Added m_hasBorder.
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameViewPrivate::~FrameViewPrivate):
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::viewportMousePressEvent):
        (WebCore::FrameView::invalidateClick):
        (WebCore::FrameView::viewportMouseReleaseEvent):
        (WebCore::FrameView::keyPressEvent):
        (WebCore::FrameView::dispatchDragEvent): Use RefPtr for MouseEventImpl.
        (WebCore::FrameView::nodeUnderMouse):
        (WebCore::FrameView::dispatchMouseEvent):
        (WebCore::FrameView::setHasBorder): Added.
        (WebCore::FrameView::hasBorder): Added.
        (WebCore::FrameView::borderWidth): Added.

        * rendering/render_canvas.h: Eliminated unneeded setWidth/Height overrides.
        Eliminated viewportWidth(), viewportHeight(), m_rootWidth, m_rootHeight,
        m_viewportWidth, and m_viewportHeight.
        * rendering/render_canvas.cpp:
        (RenderCanvas::calcHeight): Remove unneeded code to set height when there's
        no view.
        (RenderCanvas::calcWidth): Fix code to set width to visibleWidth(). Removed
        incorrect old width setting, and removed unneeded code to set width when
        there's no view. Also removed incorrect margin-setting code.
        (RenderCanvas::layout): Removed incorrect code to set width and height.
        Instead letting calcWidth and calcHeight do the job.
        (RenderCanvas::repaintViewRectangle): Use new FrameView::hasBorder instead
        of QFrame::frameStyle.
        (RenderCanvas::viewRect): Removed unneeded "root width" feature for a canvas
        without a view.

        * rendering/render_frames.cpp:
        (WebCore::RenderFrame::slotViewCleared): Use new setHasBorder.
        (WebCore::RenderPartObject::slotViewCleared): Ditto.

2006-02-17  Eric Seidel  <eseidel@apple.com>

        Reviewed by justing.

        Close several age-old leaks in xslt code.
        Tests already were catching these.

        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (WebCore::XSLStyleSheetImpl::loadChildSheets):
        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
        * khtml/xsl/xslt_processorimpl.cpp:
        (WebCore::docLoaderFunc):

2006-02-16  Tim Omernick  <timo@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
        with javascript disabled (7015)

        Added a test case, manual-tests/NPN_Invoke.  This is a skeleton of a Netscape
        plugin which uses NPN_Invoke() to call the window.alert() JavaScript function.
        
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::windowScriptNPObject):
        Removed the check Darin added to return 0 when JavaScript is disabled.
        This method cannot return 0, because plugins are not guaranteed to check
        for that.
        Removed my old fix for Radar 4428609 (7015) in favor of a better solution.
        Instead of creating a "dummy" JSObject to represent the window script object
        when JavaScript is disabled, we use the new JavaScriptCore bindings API to 
        create a "no script" NPObject.  This solution is better because it does not
        cause entry into any JavaScript interpreter code.

        * manual-tests/NPN_Invoke: Added.
        * manual-tests/NPN_Invoke/English.lproj: Added.
        * manual-tests/NPN_Invoke/English.lproj/Localized.r: Added.
        * manual-tests/NPN_Invoke/Info.plist: Added.
        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added.
        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added.
        * manual-tests/NPN_Invoke/main.c: Added.
        * manual-tests/NPN_Invoke/test.html: Added.

2006-02-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7274
          Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty()

        * platform/Timer.cpp:
        (WebCore::TimerBase::stop): Call setNextFireTime(0) unconditionally to make sure the timer
        is removed from timersReadyToFire so that fireTimers doesn't try to fire a deleted timer.

2006-02-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej, Eric.

        - WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569 
        crashes in DashboardClient at com.apple.JavaScriptCore: 
        KJS::Bindings::ObjcFallbackObjectImp::type() 

        WebCore and JavaScriptCore weren't sharing Instance objects very
        nicely. I made them use RefPtrs, and sent them to bed without dessert.

        * khtml/html/html_objectimpl.cpp: 
        (WebCore::HTMLAppletElementImpl::HTMLAppletElementImpl): Made 
        appletInstance a RefPtr
        (WebCore::HTMLAppletElementImpl::getAppletInstance):
        (WebCore::HTMLAppletElementImpl::detach):
        (WebCore::HTMLEmbedElementImpl::HTMLEmbedElementImpl): Made
        embedInstance a RefPtr
        (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
        (WebCore::HTMLEmbedElementImpl::detach):
        (WebCore::HTMLObjectElementImpl::HTMLObjectElementImpl): Made
        objectInstance a RefPtr
        (WebCore::HTMLObjectElementImpl::getObjectInstance): 
        (WebCore::HTMLObjectElementImpl::detach):
        * bindings/js/JSDOMCore.cpp:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::getRuntimeObject):
        * khtml/html/html_objectimpl.h:

2006-02-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Eric.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=4674
        LEAK: WheelEventImpl leaked when mousewheel used

        No test case because it requires manual mouse wheeling.

        * dom/NodeImpl.cpp:
        (WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just
        leaking the WheelEventImpl.

2006-02-15  Dave Hyatt <hyatt@apple.com>

        Make FontFamily compile on Win32 (just needed a few more
        __APPLE__ ifdefs).

        Clean up the frameBufferAtIndex method of the image decoders
        on Win32.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * kwq/KWQFont.h:
        * platform/FontFamily.cpp:
        (WebCore::FontFamily::FontFamily):
        * platform/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):
        * platform/image-decoders/ImageDecoder.h:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/png/PNGImageDecoder.h:

2006-02-15  David Hyatt  <hyatt@apple.com>

        Make KWQFontFamily portable.  Split it out into a cross-platform core and the Mac-specific version.
        Move it to platform and rename it to FontFamily (and FontFamilyMac).

        Reviewed by eric

        * WebCore.xcodeproj/project.pbxproj:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * kwq/KWQFont.h:
        (QFont::firstFamily):
        * kwq/KWQFont.mm:
        (QFont::setFirstFamily):
        * kwq/KWQFontFamily.h: Removed.
        * kwq/KWQFontFamily.mm: Removed.
        * platform/FontFamily.cpp: Added.
        (WebCore::FontFamily::FontFamily):
        (WebCore::FontFamily::~FontFamily):
        (WebCore::FontFamily::operator=):
        (WebCore::FontFamily::setFamily):
        (WebCore::FontFamily::operator==):
        * platform/FontFamily.h: Added.
        (WebCore::FontFamily::family):
        (WebCore::FontFamily::familyIsEmpty):
        (WebCore::FontFamily::next):
        (WebCore::FontFamily::appendFamily):
        (WebCore::FontFamily::operator!=):
        (WebCore::FontFamily::ref):
        (WebCore::FontFamily::deref):
        * platform/mac/FontFamilyMac.mm: Added.
        (WebCore::retainDOMStringImpl):
        (WebCore::releaseDOMStringImpl):
        (WebCore::):
        (WebCore::FontFamily::getNSFamily):
        * rendering/font.h:
        (khtml::FontDef::firstFamily):

2006-02-15  Oliver Hunt  <ojh16@student.canterbury.ac.nz>

        Reviewed by eseidel.  Landed by eseidel.
        
        Implemented feDisplacementMap.
        http://bugs.webkit.org/show_bug.cgi?id=5862

        Test: svg/custom/feDisplacementMap-01.svg

        * WebCore.xcodeproj/project.pbxproj: added files.
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
        (WebCore::KCanvasFEDisplacementMap::xChannelSelector):
        (WebCore::KCanvasFEDisplacementMap::setXChannelSelector):
        (WebCore::KCanvasFEDisplacementMap::yChannelSelector):
        (WebCore::KCanvasFEDisplacementMap::setYChannelSelector):
        (WebCore::KCanvasFEDisplacementMap::scale):
        (WebCore::KCanvasFEDisplacementMap::setScale):
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::getVectorForChannel):
        (WebCore::KCanvasFEDisplacementMapQuartz::getCIFilter):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Added.
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Added.
        (+[WKDisplacementMapFilter initialize]):
        (+[WKDisplacementMapFilter filterWithName:]):
        (-[WKDisplacementMapFilter init]):
        (-[WKDisplacementMapFilter outputImage]):
        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: Added.
        (SVGFEDisplacementMapElementImpl::SVGFEDisplacementMapElementImpl):
        (SVGFEDisplacementMapElementImpl::~SVGFEDisplacementMapElementImpl):
        (SVGFEDisplacementMapElementImpl::in1):
        (SVGFEDisplacementMapElementImpl::in2):
        (SVGFEDisplacementMapElementImpl::xChannelSelector):
        (SVGFEDisplacementMapElementImpl::yChannelSelector):
        (SVGFEDisplacementMapElementImpl::scale):
        (SVGFEDisplacementMapElementImpl::stringToChannel):
        (SVGFEDisplacementMapElementImpl::parseMappedAttribute):
        (SVGFEDisplacementMapElementImpl::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElementImpl.h: Added.
        * ksvg2/svg/svgtags.in:

2006-02-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Commit change forgotten after editing directory move.

        * editing/markup.cpp:
        (khtml::startMarkup): add support for serializing DOCTYPEs in xml

2006-02-15  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6452
         KURL::appendEscapingBadChars() doesn't know about %u-escaping.

        Test case: fast/encoding/percent-escaping.html

        * kwq/KWQKURL.mm: (appendEscapingBadChars):
        Rather than adding support for %u, remove the existing
        "do what I mean" escaping of percent characters that do not
        look like a result of prior escaping.

2006-02-14  Eric Seidel  <eseidel@apple.com>

        Fix build failure from last minute edit.

        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (WebCore::XSLStyleSheetImpl::parseString):

2006-02-14  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Add incremental parsing support to XMLTokenizer.
        This patch also does a few other little things:
        - removes (unused) onHold support from Tokenizer
        - adds serialization of DOCTYPEs for xml documents
        - fixes xslt support to no longer depend on synchronous parsing
        - fixes css styling for pages where xsl recursion is blocked
        http://bugs.webkit.org/show_bug.cgi?id=6057

        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::DocumentImpl):
        (WebCore::DocumentImpl::createProcessingInstruction):
        (WebCore::DocumentImpl::open):
        (WebCore::DocumentImpl::recalcStyleSelector):
        * dom/dom_xmlimpl.cpp:
        (WebCore::ProcessingInstructionImpl::checkStyleSheet):
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::write):
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::XMLTokenizer::error):
        (WebCore::XMLTokenizer::initializeParserContext):
        (WebCore::XMLTokenizer::finish):
        (WebCore::xmlDocPtrForString):
        (WebCore::parseAttributes):
        * dom/xml_tokenizer.h:
        * khtml/editing/markup.cpp:
        (khtml::startMarkup): DOCTYPE serialization
        * khtml/html/htmltokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer): removed onHold
        (WebCore::HTMLTokenizer::reset): removed onHold
        (WebCore::HTMLTokenizer::begin): removed onHold
        (WebCore::HTMLTokenizer::write): removed onHold
        (WebCore::HTMLTokenizer::finish): removed onHold
        * khtml/html/htmltokenizer.h: removed onHold support
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl):
        (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl):
        (WebCore::XSLStyleSheetImpl::document):
        (WebCore::XSLStyleSheetImpl::setDocument):
        (WebCore::XSLStyleSheetImpl::parseString):
        (WebCore::XSLStyleSheetImpl::loadChildSheets):
        (WebCore::XSLStyleSheetImpl::compileStyleSheet):
        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
        * khtml/xsl/xsl_stylesheetimpl.h: moved functions to .cpp file

2006-02-14  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=6815
        Calculate correct width for new text fields

        Tests:
        fast/forms/input-appearance-width.html
        fast/forms/input-appearance-minWidth.html

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle): Remove fixed width for text field.
        (WebCore::RenderTextField::calcMinMaxWidth): Added.  This calls RenderBlock::calcMinMaxWidth and 
         then uses the size attribute to determine what the maxWidth should be.
        * rendering/RenderTextField.h: Added calcMinMaxWidth.
        * rendering/render_theme_mac.h: Added adjustTextFieldStyle.
        * rendering/render_theme_mac.mm: 
        (WebCore::RenderThemeMac::adjustRepaintRect): Remove inflation of rect.  This is no longer necessary.
        (WebCore::RenderThemeMac::paintTextField): ditto.
        (WebCore::RenderThemeMac::setTextFieldCellState): change true to YES.
        (WebCore::RenderThemeMac::adjustTextFieldStyle): Added. This is the temporary home of the code to set the 
         right padding and margins.  When we flip the switch, this will go in html4.css.

2006-02-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher.

        removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused.

        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMPrivate.h:

2006-02-14  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Justin.

        Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change
        behavior due to POSIX version of sh

        * WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf ""

2006-02-14  Darin Adler  <darin@apple.com>

        Rubber-stamped by Eric.

        - moved editing sources from khtml/editing to editing, and renamed files with single classes

        * WebCore.xcodeproj/project.pbxproj: Added new, removed old.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.

        * bridge/mac/MacFrame.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * dom/DocumentImpl.cpp:
        * dom/dom2_rangeimpl.cpp:
        * dom/dom_position.cpp:
        * khtml/khtml_events.cpp:
        * kwq/KWQAccObject.mm:
        * kwq/KWQAccObjectCache.h:
        * kwq/KWQEditCommand.mm:
        * page/Frame.cpp:
        * page/FramePrivate.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderContainer.cpp:
        * rendering/RenderText.cpp:
        * rendering/render_br.cpp:
        * rendering/render_inline.cpp:
        * rendering/render_object.cpp:
        * rendering/render_replaced.cpp:
        Fixed up includes.

        * editing: Added.
        * editing/AppendNodeCommand.cpp: Added.
        * editing/AppendNodeCommand.h: Added.
        * editing/ApplyStyleCommand.cpp: Added.
        * editing/ApplyStyleCommand.h: Added.
        * editing/BreakBlockquoteCommand.cpp: Added.
        * editing/BreakBlockquoteCommand.h: Added.
        * editing/CompositeEditCommand.cpp: Added.
        * editing/CompositeEditCommand.h: Added.
        * editing/DeleteFromTextNodeCommand.cpp: Added.
        * editing/DeleteFromTextNodeCommand.h: Added.
        * editing/DeleteSelectionCommand.cpp: Added.
        * editing/DeleteSelectionCommand.h: Added.
        * editing/EditCommand.cpp: Added.
        * editing/EditCommand.h: Added.
        * editing/InsertIntoTextNodeCommand.cpp: Added.
        * editing/InsertIntoTextNodeCommand.h: Added.
        * editing/InsertLineBreakCommand.cpp: Added.
        * editing/InsertLineBreakCommand.h: Added.
        * editing/InsertNodeBeforeCommand.cpp: Added.
        * editing/InsertNodeBeforeCommand.h: Added.
        * editing/InsertParagraphSeparatorCommand.cpp: Added.
        * editing/InsertParagraphSeparatorCommand.h: Added.
        * editing/InsertTextCommand.cpp: Added.
        * editing/InsertTextCommand.h: Added.
        * editing/JoinTextNodesCommand.cpp: Added.
        * editing/JoinTextNodesCommand.h: Added.
        * editing/MergeIdenticalElementsCommand.cpp: Added.
        * editing/MergeIdenticalElementsCommand.h: Added.
        * editing/MoveSelectionCommand.cpp: Added.
        * editing/MoveSelectionCommand.h: Added.
        * editing/RebalanceWhitespaceCommand.cpp: Added.
        * editing/RebalanceWhitespaceCommand.h: Added.
        * editing/RemoveCSSPropertyCommand.cpp: Added.
        * editing/RemoveCSSPropertyCommand.h: Added.
        * editing/RemoveNodeAttributeCommand.cpp: Added.
        * editing/RemoveNodeAttributeCommand.h: Added.
        * editing/RemoveNodeCommand.cpp: Added.
        * editing/RemoveNodeCommand.h: Added.
        * editing/RemoveNodePreservingChildrenCommand.cpp: Added.
        * editing/RemoveNodePreservingChildrenCommand.h: Added.
        * editing/ReplaceSelectionCommand.cpp: Added.
        * editing/ReplaceSelectionCommand.h: Added.
        * editing/Selection.cpp:
        * editing/SelectionController.cpp:
        * editing/SetNodeAttributeCommand.cpp: Added.
        * editing/SetNodeAttributeCommand.h: Added.
        * editing/SplitElementCommand.cpp: Added.
        * editing/SplitElementCommand.h: Added.
        * editing/SplitTextNodeCommand.cpp: Added.
        * editing/SplitTextNodeCommand.h: Added.
        * editing/SplitTextNodeContainingElementCommand.cpp: Added.
        * editing/SplitTextNodeContainingElementCommand.h: Added.
        * editing/TypingCommand.cpp: Added.
        * editing/TypingCommand.h: Added.
        * editing/VisiblePosition.cpp: Added.
        * editing/VisiblePosition.h: Added.
        * editing/VisibleRange.cpp: Added.
        * editing/VisibleRange.h: Added.
        * editing/WrapContentsInDummySpanCommand.cpp: Added.
        * editing/WrapContentsInDummySpanCommand.h: Added.
        * editing/append_node_command.cpp: Removed.
        * editing/append_node_command.h: Removed.
        * editing/apply_style_command.cpp: Removed.
        * editing/apply_style_command.h: Removed.
        * editing/break_blockquote_command.cpp: Removed.
        * editing/break_blockquote_command.h: Removed.
        * editing/composite_edit_command.cpp: Removed.
        * editing/composite_edit_command.h: Removed.
        * editing/delete_from_text_node_command.cpp: Removed.
        * editing/delete_from_text_node_command.h: Removed.
        * editing/delete_selection_command.cpp: Removed.
        * editing/delete_selection_command.h: Removed.
        * editing/edit_command.cpp: Removed.
        * editing/edit_command.h: Removed.
        * editing/htmlediting.cpp:
        * editing/insert_into_text_node_command.cpp: Removed.
        * editing/insert_into_text_node_command.h: Removed.
        * editing/insert_line_break_command.cpp: Removed.
        * editing/insert_line_break_command.h: Removed.
        * editing/insert_node_before_command.cpp: Removed.
        * editing/insert_node_before_command.h: Removed.
        * editing/insert_paragraph_separator_command.cpp: Removed.
        * editing/insert_paragraph_separator_command.h: Removed.
        * editing/insert_text_command.cpp: Removed.
        * editing/insert_text_command.h: Removed.
        * editing/join_text_nodes_command.cpp: Removed.
        * editing/join_text_nodes_command.h: Removed.
        * editing/jsediting.cpp:
        * editing/markup.cpp:
        * editing/merge_identical_elements_command.cpp: Removed.
        * editing/merge_identical_elements_command.h: Removed.
        * editing/move_selection_command.cpp: Removed.
        * editing/move_selection_command.h: Removed.
        * editing/rebalance_whitespace_command.cpp: Removed.
        * editing/rebalance_whitespace_command.h: Removed.
        * editing/remove_css_property_command.cpp: Removed.
        * editing/remove_css_property_command.h: Removed.
        * editing/remove_node_attribute_command.cpp: Removed.
        * editing/remove_node_attribute_command.h: Removed.
        * editing/remove_node_command.cpp: Removed.
        * editing/remove_node_command.h: Removed.
        * editing/remove_node_preserving_children_command.cpp: Removed.
        * editing/remove_node_preserving_children_command.h: Removed.
        * editing/replace_selection_command.cpp: Removed.
        * editing/replace_selection_command.h: Removed.
        * editing/set_node_attribute_command.cpp: Removed.
        * editing/set_node_attribute_command.h: Removed.
        * editing/split_element_command.cpp: Removed.
        * editing/split_element_command.h: Removed.
        * editing/split_text_node_command.cpp: Removed.
        * editing/split_text_node_command.h: Removed.
        * editing/split_text_node_containing_element.cpp: Removed.
        * editing/split_text_node_containing_element_command.h: Removed.
        * editing/typing_command.cpp: Removed.
        * editing/typing_command.h: Removed.
        * editing/visible_position.cpp: Removed.
        * editing/visible_position.h: Removed.
        * editing/visible_range.cpp: Removed.
        * editing/visible_range.h: Removed.
        * editing/visible_units.cpp:
        * editing/wrap_contents_in_dummy_span_command.cpp: Removed.
        * editing/wrap_contents_in_dummy_span_command.h: Removed.

        * khtml/editing: Removed.
        * khtml/editing/Selection.cpp: Removed.
        * khtml/editing/Selection.h: Removed.
        * khtml/editing/SelectionController.cpp: Removed.
        * khtml/editing/SelectionController.h: Removed.
        * khtml/editing/append_node_command.cpp: Removed.
        * khtml/editing/append_node_command.h: Removed.
        * khtml/editing/apply_style_command.cpp: Removed.
        * khtml/editing/apply_style_command.h: Removed.
        * khtml/editing/break_blockquote_command.cpp: Removed.
        * khtml/editing/break_blockquote_command.h: Removed.
        * khtml/editing/composite_edit_command.cpp: Removed.
        * khtml/editing/composite_edit_command.h: Removed.
        * khtml/editing/delete_from_text_node_command.cpp: Removed.
        * khtml/editing/delete_from_text_node_command.h: Removed.
        * khtml/editing/delete_selection_command.cpp: Removed.
        * khtml/editing/delete_selection_command.h: Removed.
        * khtml/editing/edit_actions.h: Removed.
        * khtml/editing/edit_command.cpp: Removed.
        * khtml/editing/edit_command.h: Removed.
        * khtml/editing/html_interchange.cpp: Removed.
        * khtml/editing/html_interchange.h: Removed.
        * khtml/editing/htmlediting.cpp: Removed.
        * khtml/editing/htmlediting.h: Removed.
        * khtml/editing/insert_into_text_node_command.cpp: Removed.
        * khtml/editing/insert_into_text_node_command.h: Removed.
        * khtml/editing/insert_line_break_command.cpp: Removed.
        * khtml/editing/insert_line_break_command.h: Removed.
        * khtml/editing/insert_node_before_command.cpp: Removed.
        * khtml/editing/insert_node_before_command.h: Removed.
        * khtml/editing/insert_paragraph_separator_command.cpp: Removed.
        * khtml/editing/insert_paragraph_separator_command.h: Removed.
        * khtml/editing/insert_text_command.cpp: Removed.
        * khtml/editing/insert_text_command.h: Removed.
        * khtml/editing/join_text_nodes_command.cpp: Removed.
        * khtml/editing/join_text_nodes_command.h: Removed.
        * khtml/editing/jsediting.cpp: Removed.
        * khtml/editing/jsediting.h: Removed.
        * khtml/editing/markup.cpp: Removed.
        * khtml/editing/markup.h: Removed.
        * khtml/editing/merge_identical_elements_command.cpp: Removed.
        * khtml/editing/merge_identical_elements_command.h: Removed.
        * khtml/editing/move_selection_command.cpp: Removed.
        * khtml/editing/move_selection_command.h: Removed.
        * khtml/editing/rebalance_whitespace_command.cpp: Removed.
        * khtml/editing/rebalance_whitespace_command.h: Removed.
        * khtml/editing/remove_css_property_command.cpp: Removed.
        * khtml/editing/remove_css_property_command.h: Removed.
        * khtml/editing/remove_node_attribute_command.cpp: Removed.
        * khtml/editing/remove_node_attribute_command.h: Removed.
        * khtml/editing/remove_node_command.cpp: Removed.
        * khtml/editing/remove_node_command.h: Removed.
        * khtml/editing/remove_node_preserving_children_command.cpp: Removed.
        * khtml/editing/remove_node_preserving_children_command.h: Removed.
        * khtml/editing/replace_selection_command.cpp: Removed.
        * khtml/editing/replace_selection_command.h: Removed.
        * khtml/editing/set_node_attribute_command.cpp: Removed.
        * khtml/editing/set_node_attribute_command.h: Removed.
        * khtml/editing/split_element_command.cpp: Removed.
        * khtml/editing/split_element_command.h: Removed.
        * khtml/editing/split_text_node_command.cpp: Removed.
        * khtml/editing/split_text_node_command.h: Removed.
        * khtml/editing/split_text_node_containing_element.cpp: Removed.
        * khtml/editing/split_text_node_containing_element_command.h: Removed.
        * khtml/editing/text_affinity.h: Removed.
        * khtml/editing/text_granularity.h: Removed.
        * khtml/editing/typing_command.cpp: Removed.
        * khtml/editing/typing_command.h: Removed.
        * khtml/editing/visible_position.cpp: Removed.
        * khtml/editing/visible_position.h: Removed.
        * khtml/editing/visible_range.cpp: Removed.
        * khtml/editing/visible_range.h: Removed.
        * khtml/editing/visible_text.cpp: Removed.
        * khtml/editing/visible_text.h: Removed.
        * khtml/editing/visible_units.cpp: Removed.
        * khtml/editing/visible_units.h: Removed.
        * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed.
        * khtml/editing/wrap_contents_in_dummy_span_command.h: Removed.

2006-02-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele Peterson.
        
        - fixed http://bugs.webkit.org/show_bug.cgi?id=7255
        label attribute in option elements is ignored
        
        Test cases: 
        * dom/html/level2/html/HTMLOptionElement_label01.html
        * dom/html/level2/html/HTMLOptionElement_label02.html
        * dom/html/level2/html/HTMLOptionElement_label03.html

        * rendering/render_form.cpp:
        (WebCore::RenderSelect::updateFromElement):
        use label attribute, if present, when setting text on the widget.

2006-02-14  Vicki Murley <vicki@apple.com>

        Reviewed by Maciej.

        Change formatting in this file to match the style guidelines.  No spaces after
        opening parentheses or before closing parentheses. 

        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::createDocumentFragment):
        (WebCore::DocumentImpl::recalcStyle):
        (WebCore::DocumentImpl::attach):
        (WebCore::DocumentImpl::detach):
        (WebCore::DocumentImpl::open):
        (WebCore::DocumentImpl::write):
        (WebCore::DocumentImpl::writeln):
        (WebCore::DocumentImpl::setUserStyleSheet):
        (WebCore::DocumentImpl::determineParseMode):
        (WebCore::DocumentImpl::processHttpEquiv):
        (WebCore::DocumentImpl::childAllowed):
        (WebCore::DocumentImpl::childTypeAllowed):
        (WebCore::DocumentImpl::recalcStyleSelector):
        (WebCore::DocumentImpl::dispatchImageLoadEventsNow):
        (WebCore::DocumentImpl::domain):
        (WebCore::DocumentImpl::setDomain):
        (WebCore::DocumentImpl::parseQualifiedName):
        (WebCore::DocumentImpl::addMarker):
        (WebCore::DocumentImpl::removeMarkers):

2006-02-14  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher.

        Some cleanup from the previous checkin, inspired by Darin's comments
        
        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        moved highlightAllMatchesForString out of here
        
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
        now converts NSString to QString here, rather than in Frame/MacFrame
        
        * dom/DocumentMarker.h: Added.
        (WebCore::DocumentMarker::):
        (WebCore::DocumentMarker::operator == ):
        (WebCore::DocumentMarker::operator != ):
        moved this struct to its own header file
        
        * dom/DocumentImpl.h:
        moved DocumentMarker out; now includes DocumentMarker.h        
        
        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::highlightAllMatchesForString):
        moved here from MacFrame.[h,mm]. I thought this used other code from
        MacFrame.mm but it doesn't.
        
        * rendering/InlineTextBox.h:
        removed unnecesssary variable names; use DocumentMarker::MarkerType in signature
        of paintAllMarkersOfType
        * rendering/InlineTextBox.cpp:
        (khtml::InlineTextBox::paintTextMatchMarker):
        better name for a variable, fixed bad indent
        (khtml::InlineTextBox::paintAllMarkersOfType):
        rewrote loop to bail out early if past end, for clarity;
        use DocumentMarker::MarkerType in signature
        
        * WebCore.xcodeproj/project.pbxproj:
        updated for new file        

2006-02-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        Support for highlighting multiple text matches.

        * dom/DocumentImpl.h:
        (WebCore::DocumentMarker::):
        Added new marker type TextMatch

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
        new method, calls through to MacFrame implementation
        (-[WebCoreFrameBridge clearHighlightedMatches]):
        new method, removes all markers of type TextMatch

        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::highlightAllMatchesForString):
        new method, adds a document marker for each range that matches the given string

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp:
        (khtml::InlineTextBox::paint):
        Moved DocumentMarker loop into separate method paintAllMarkersOfType. We now call
        that method twice, once for spelling markers (after drawing text) and once for
        text match markers (before drawing text)
        (khtml::InlineTextBox::paintTextMatchMarker):
        new method, paints a color behind a text match marker
        (khtml::InlineTextBox::paintSpellingMarker):
        renamed from paintMarker
        (khtml::InlineTextBox::paintAllMarkersOfType):
        new method, loops through all DocumentMarkers of a particular type and calls the
        appropriate painting method for each one

2006-02-13  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - move pointer from frame to page here from WebKit

        * WebCore.xcodeproj/project.pbxproj: Added PageMac.h.

        * bridge/mac/PageMac.h: Added.

        * bridge/mac/MacFrame.h: Added a page parameter to the constructor.
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor.
        Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init
        since that's now handled by the constructor. Also put the code to create the
        browser extension object here.
        (WebCore::MacFrame::submitForm): Update for new method name.
        (WebCore::MacFrame::createFrame): Ditto.
        (WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr.

        * bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed
        the part method to impl. Added a page method.
        * bridge/mac/WebCoreFrameBridge.mm:
        (frameHasSelection): Change use of part method to impl.
        (-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method.
        (-[WebCoreFrameBridge removeChild:]): Ditto.
        (-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization
        only here and create a frame for a main frame.
        (-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization
        and creates a frame for a subframe.
        (-[WebCoreFrameBridge page]): Added.
        (-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part.
        (-[WebCoreFrameBridge executionContextForView:]): Ditto.
        (-[WebCoreFrameBridge impl]): Added.

        * bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method.
        * bridge/mac/WebCorePageBridge.mm:
        (-[WebCorePageBridge init]): Changed to create a PageMac.
        (-[WebCorePageBridge setMainFrame:]): Added.
        (-[WebCorePageBridge impl]): Added.

        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject rendererForView:]):
        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
        * kwq/KWQFileButton.mm:
        (KWQFileButton::focusPolicy):
        * kwq/KWQSlider.mm:
        (QSlider::focusPolicy):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView _isResizableByUser]):
        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
        Change methods to get from bridge back to objects to be named "impl".
        The old one was named "part".

        * page/Frame.h: Added Page and RenderPart parameter to constructor.
        Added a page function. Removed the createBrowserExtension function.
        * page/Frame.cpp:
        (WebCore::parentFromOwnerRenderer): Added. Helper for constructor.
        (WebCore::Frame::Frame): Moved all the code from init into here. Also change
        to set the parent right from the start.
        (WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr.
        (WebCore::Frame::clear): Ditto.
        (WebCore::Frame::document): Ditto.
        (WebCore::Frame::setDocument): Ditto.
        (WebCore::Frame::begin): Ditto.
        (WebCore::Frame::gotoAnchor): Ditto.
        (WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr.
        (WebCore::Frame::setTypingStyle): Ditto.
        (WebCore::Frame::clearTypingStyle): Ditto.
        (WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr.
        (WebCore::Frame::page): Added.

        * page/FramePrivate.h: Changed initialization to use member-initialization
        syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use
        RefPtr. Added an m_frame.

        * page/Page.h: Made destructor virtual so we could have a Mac derived class.
        Added a setMainFrame function and removed the mainFrame parameter from the constructor.
        * page/Page.cpp:
        (WebCore::Page::Page): Removed the mainFrame parameter.
        (WebCore::Page::setMainFrame): Added.

2006-02-13  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        - merge VisiblePosition:isCandidate() into Position::inRenderedContent()
          These functions were answering the same question in different ways!  We
          only need one implementation.

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::init):
        (khtml::VisiblePosition::previousVisiblePosition):
        (khtml::VisiblePosition::nextVisiblePosition):
        (khtml::VisiblePosition::deepEquivalent):
        * khtml/editing/visible_position.h:
        * dom/dom_position.cpp:
        (DOM::hasRenderedChildrenWithHeight):
        (DOM::Position::inRenderedContent):


        - improved table deletion.
          Fixes: delete back by word from just after table did not delete the table
                 delete forward by char or word did not delete the table
                 deleting back to a table and again did not delete the table

        * khtml/editing/htmlediting.cpp:
        (WebCore::isFirstVisiblePositionAfterTableElement):
        simpler implementation
        (WebCore::positionBeforePrecedingTableElement):
        simpler implementation
        (WebCore::isFirstVisiblePositionBeforeTableElement):
        new
        (WebCore::positionAfterFollowingTableElement):
        new
        * khtml/editing/htmlediting.h:
        * khtml/editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRightForward):
        select following table if granularity is char or word
        (WebCore::SelectionController::modifyExtendingLeftBackward):
        select preceding table if granularity is char or word
        * khtml/editing/typing_command.cpp:
        (khtml::TypingCommand::deleteKeyPressed):
        simpler implementation, and let other deleteKeyPressed do boundary checking
        (khtml::TypingCommand::forwardDeleteKeyPressed):
        simpler implementation, and let other forwardDeleteKeyPressed do boundary checking
        (khtml::TypingCommand::insertText):
        standard formatting
        (khtml::TypingCommand::insertLineBreak):
        standard formatting
        (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
        standard formatting
        (khtml::TypingCommand::insertParagraphSeparator):
        standard formatting
        (khtml::TypingCommand::insertTextRunWithoutNewlines):
        standard formatting
        (khtml::TypingCommand::deleteKeyPressed):
        use SelectionController to extend selection, to get all the selection
        logic incl. table selection and editable/noneditable boundary checks
        (khtml::TypingCommand::forwardDeleteKeyPressed):
        use SelectionController to extend selection, to get all the selection
        logic incl. table selection and editable/noneditable boundary checks

2006-02-13  David Hyatt  <hyatt@apple.com>

        Fix for bug 5605, XSLT fails to import to arbitrary depth.  Make sure m_embedded is initialized to false
        in the XSLTStyleSheetImpl constructor.

        Reviewed by timo

        Adding xslt-import-depth.xml to fast/xsl

        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):

2006-02-13  Dave Hyatt <hyatt@apple.com>

        Fix Win32 bustage in WebCore.

        Reviewed by darin

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/Timer.cpp:
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::TimerBase::heapPop):

        HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with
        that.

        Add == and != operators for the TimerHeapIterator.

        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

        Fix my bustage in the PNG decoder where I left off a stray
        parenthesis.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::timerFired):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):

        KillTimer should take 2 arguments.  Add some missing includes.

2006-02-12  Alexander Kellett  <lypanov@kde.org>

        Reviewed by eseidel.

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

        No testcases as this is not possible to reproduce via anything
        other than manual interaction.

        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::getCIFilterStack):

2006-02-13  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - moved QWidget to platform directory, renamed to Widget,
          split into cross-platform and platform-specific parts,
          removed some of the unused bits

        * ForwardingHeaders/qwidget.h: Removed.
        * kwq/KWQWidget.h: Removed.
        * kwq/KWQWidget.mm: Removed.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/Widget.h: Moved code here, fixed it up.
        * platform/Widget.cpp: Ditto.
        * platform/mac/WidgetMac.mm: Added.

        * bindings/objc/DOMHTML.mm:
        (viewForElement):
        * bridge/mac/KWQKHTMLView.cpp:
        (WebCore::FrameView::topLevelWidget):
        * bridge/mac/MacFrame.h:
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::createPlugin):
        (WebCore::MacFrame::nextKeyViewInFrame):
        (WebCore::MacFrame::nextKeyViewForWidget):
        (WebCore::MacFrame::currentEventIsMouseDownInWidget):
        (WebCore::MacFrame::bridgeForWidget):
        (WebCore::MacFrame::passMouseDownEventToWidget):
        (WebCore::MacFrame::passSubframeEventToSubframe):
        (WebCore::MacFrame::passWheelEventToChildWidget):
        (WebCore::MacFrame::getAppletInstanceForWidget):
        (WebCore::MacFrame::getEmbedInstanceForWidget):
        (WebCore::MacFrame::getObjectInstanceForWidget):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
        (-[WebCoreFrameBridge copyRenderNode:copier:]):
        (-[WebCoreFrameBridge elementForView:]):
        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
        * dom/DocumentImpl.cpp:
        (WebCore::widgetForNode):
        (WebCore::DocumentImpl::setFocusNode):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Screen::getValueProperty):
        (KJS::WindowFunc::callAsFunction):
        * khtml/html/HTMLGenericFormElementImpl.cpp:
        (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable):
        (WebCore::HTMLGenericFormElementImpl::isMouseFocusable):
        * khtml/html/html_objectimpl.cpp:
        (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
        (WebCore::HTMLObjectElementImpl::getObjectInstance):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject addChildrenToArray:]):
        (-[KWQAccObject attachmentView]):
        (-[KWQAccObject doAXTextMarkerForPosition:]):
        * kwq/KWQComboBox.h:
        * kwq/KWQComboBox.mm:
        (QComboBox::frameGeometry):
        (QComboBox::setFrameGeometry):
        (QComboBox::setFont):
        (QComboBox::focusPolicy):
        (-[KWQPopUpButtonCell widget]):
        (-[KWQPopUpButton widget]):
        (-[KWQPopUpButton mouseDown:]):
        (-[KWQPopUpButton becomeFirstResponder]):
        (-[KWQPopUpButton resignFirstResponder]):
        (-[KWQPopUpButton nextKeyView]):
        (-[KWQPopUpButton previousKeyView]):
        * kwq/KWQFileButton.h:
        * kwq/KWQFileButton.mm:
        (KWQFileButton::focusPolicy):
        * kwq/KWQFrame.h:
        * kwq/KWQKCursor.h:
        * kwq/KWQKJavaAppletWidget.h:
        * kwq/KWQKJavaAppletWidget.mm:
        (KJavaAppletWidget::KJavaAppletWidget):
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        (QLineEdit::setFont):
        (QLineEdit::setPalette):
        (QLineEdit::focusPolicy):
        * kwq/KWQListBox.h:
        * kwq/KWQListBox.mm:
        (QListBox::QListBox):
        (QListBox::focusPolicy):
        (QListBox::setFont):
        (-[KWQListBoxScrollView widget]):
        (-[KWQListBoxScrollView becomeFirstResponder]):
        (-[KWQTableView mouseDown:]):
        (-[KWQTableView widget]):
        * kwq/KWQPainter.h:
        * kwq/KWQRenderTreeDebug.cpp:
        (write):
        * kwq/KWQScrollBar.h:
        * kwq/KWQScrollBar.mm:
        (-[KWQScrollBar widget]):
        (-[KWQScrollBar mouseDown:]):
        (QScrollBar::QScrollBar):
        (QScrollBar::~QScrollBar):
        * kwq/KWQScrollView.h:
        (QScrollView::QScrollView):
        * kwq/KWQScrollView.mm:
        (QScrollView::viewport):
        (QScrollView::childX):
        (QScrollView::childY):
        (QScrollView::addChild):
        (QScrollView::removeChild):
        * kwq/KWQSlider.h:
        * kwq/KWQSlider.mm:
        (-[KWQSlider mouseDown:]):
        (-[KWQSlider widget]):
        (QSlider::setFont):
        (QSlider::focusPolicy):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView widget]):
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        (QTextEdit::QTextEdit):
        (QTextEdit::setFont):
        (QTextEdit::focusPolicy):
        (QTextEdit::setPalette):
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController widget]):
        (-[KWQTextFieldController textView:shouldHandleEvent:]):
        (-[KWQTextFieldController textView:didHandleEvent:]):
        (-[KWQTextField widget]):
        (-[KWQTextField nextKeyView]):
        (-[KWQTextField previousKeyView]):
        (-[KWQSecureTextField widget]):
        (-[KWQSecureTextField nextKeyView]):
        (-[KWQSecureTextField previousKeyView]):
        (-[KWQSearchField widget]):
        (-[KWQSearchField nextKeyView]):
        (-[KWQSearchField previousKeyView]):
        * kwq/KWQView.h:
        * kwq/KWQWindowWidget.h:
        * kwq/KWQWindowWidget.mm:
        (KWQWindowWidget::topLevelWidget):
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        (WebCore::Frame::frameForWidget):
        (WebCore::Frame::nodeForWidget):
        (WebCore::Frame::setDocumentFocus):
        (WebCore::Frame::clearDocumentFocus):
        (WebCore::Frame::passWidgetMouseDownEventToWidget):
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::init):
        * page/FrameView.h:
        * page/Plugin.h:
        (WebCore::Plugin::Plugin):
        (WebCore::Plugin::view):
        * platform/Screen.h:
        * platform/mac/ScreenMac.mm:
        (WebCore::screen):
        (WebCore::screenDepth):
        (WebCore::screenRect):
        (WebCore::usableScreenRect):
        * rendering/render_applet.cpp:
        (WebCore::RenderApplet::layout):
        * rendering/render_form.cpp:
        (WebCore::ComboBoxWidget::ComboBoxWidget):
        (WebCore::RenderSelect::createListBox):
        * rendering/render_form.h:
        * rendering/render_frames.cpp:
        (WebCore::RenderPart::setWidget):
        * rendering/render_frames.h:
        * rendering/render_object.cpp:
        * rendering/render_replaced.cpp:
        (WebCore::RenderWidget::resizeWidget):
        (WebCore::RenderWidget::setQWidget):
        * rendering/render_replaced.h:
        (WebCore::RenderWidget::widget):
        Change name from QWidget to Widget, a few other changes to get compiling.

=== WebCore-521.7 ===

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7206
          REGRESSION: PDF "images" no longer render within HTML pages

        Test: fast/replaced/page-as-image.html

        * platform/Image.cpp: (WebCore::Image::setNativeData):
        Return false in the case where the PDF document has not been created yet.

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

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=7209
          reimplement Timer so it uses only a single timer from the underlying OS

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * platform/Timer.h: Updated for new timer implementation.
        * platform/Timer.cpp: Added. Platform-independent implementation of timers
        in terms of a single shared timer. Uses a heap to implement a priority queue
        so we know which timer to fire first.

        * platform/SharedTimer.h: Added.
        * platform/mac/SharedTimerMac.cpp: Added.
        * platform/win/SharedTimerWin.cpp: Added.

        * platform/mac/TimerMac.cpp: Removed.
        * platform/win/TimerWin.cpp: Removed.

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

        Reviewed by mjs.

        * loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code.

2006-02-12  Maciej Stachowiak  <mjs@apple.com>

        Unreviewed build fix.

        - fix build

        * bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the
        dom_textimpl.h header.

2006-02-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - rename FrameTreeNode to FrameTree and treeNode() to tree()
        http://bugs.webkit.org/show_bug.cgi?id=7210
        
        This may be slightly less accurate, but reads better.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/MacFrame.mm:
        (WebCore::MacFrame::submitForm):
        (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge firstChild]):
        (-[WebCoreFrameBridge lastChild]):
        (-[WebCoreFrameBridge childCount]):
        (-[WebCoreFrameBridge previousSibling]):
        (-[WebCoreFrameBridge nextSibling]):
        (-[WebCoreFrameBridge appendChild:]):
        (-[WebCoreFrameBridge removeChild:]):
        (-[WebCoreFrameBridge setParent:]):
        (-[WebCoreFrameBridge parent]):
        (-[WebCoreFrameBridge setName:]):
        (-[WebCoreFrameBridge name]):
        * dom/DocumentImpl.cpp:
        (WebCore::DocumentImpl::parentDocument):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        (KJS::Window::isSafeScript):
        (KJS::WindowFunc::callAsFunction):
        * khtml/html/html_baseimpl.cpp:
        (WebCore::HTMLFrameElementImpl::isURLAllowed):
        * khtml/html/html_headimpl.cpp:
        (WebCore::HTMLLinkElementImpl::process):
        * page/Frame.cpp:
        (WebCore::Frame::stopLoading):
        (WebCore::Frame::clear):
        (WebCore::Frame::stopAnimations):
        (WebCore::Frame::checkCompleted):
        (WebCore::Frame::checkEmitLoadEvent):
        (WebCore::Frame::slotChildCompleted):
        (WebCore::Frame::findFrame):
        (WebCore::Frame::setZoomFactor):
        (WebCore::Frame::frameNames):
        (WebCore::Frame::frames):
        (WebCore::Frame::childFrameNamed):
        (WebCore::Frame::incrementFrameCount):
        (WebCore::Frame::decrementFrameCount):
        (WebCore::Frame::topLevelFrameCount):
        (WebCore::Frame::selectFrameElementInParentIfFullySelected):
        (WebCore::Frame::userGestureHint):
        (WebCore::Frame::canCachePage):
        (WebCore::Frame::updatePolicyBaseURL):
        (WebCore::Frame::setPolicyBaseURL):
        (WebCore::Frame::tree):
        (WebCore::Frame::frameDetached):
        (WebCore::Frame::updateBaseURLForEmptyDocument):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameTree.cpp: Added.
        (WebCore::FrameTree::~FrameTree):
        (WebCore::FrameTree::setName):
        (WebCore::FrameTree::appendChild):
        (WebCore::FrameTree::removeChild):
        * page/FrameTree.h: Added.
        (WebCore::FrameTree::FrameTree):
        * page/FrameTreeNode.cpp: Removed.
        * page/FrameTreeNode.h: Removed.
        * rendering/render_frames.cpp:
        (WebCore::isURLAllowed):

2006-02-12  Dave Hyatt <hyatt@apple.com>

        Fix for bug 7182, animated GIFs don't clear previous animation
        frames.  This checkin fixes the decoders in our tree (used on
        Win32 only).  It does not address the problem with ImageIO
        on Mac (which has the same bug).  This has been filed separately
        as Radar bug #4442031.

        Reviewed by mjs

        * platform/image-decoders/ImageDecoder.h:
        (WebCore::RGBA32Buffer::rect):
        (WebCore::RGBA32Buffer::setRect):
        (WebCore::RGBA32Buffer::ensureHeight):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::rowAvailable):

2006-02-11  Geoffrey Garen  <ggaren@apple.com>

        - Fixed bad free resulting from 0 legnth StringImpl

        No test case because currently this bug only has the effect of a bad
        free on exit().

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::StringImpl): Factored varied approaches to
        initialization into two common routines: initWithChar and
        initWithQChar. The common rule is: if we're not going to allocate
        a string, make sure to set s to 0 so fastFree doesn't try to free it
        later. For speed, initWithQChar uses memcpy() -- that's the only
        difference between the two.
        (WebCore::StringImpl::initWithChar):
        (WebCore::StringImpl::initWithQChar):
        * platform/StringImpl.h:

2006-02-11  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - split dom_textimpl.{h,cpp} by class.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bridge/mac/MacFrame.mm:
        * dom/CDATASectionImpl.cpp: Added.
        * dom/CDATASectionImpl.h: Added.
        * dom/CharacterDataImpl.cpp: Added.
        * dom/CharacterDataImpl.h: Added.
        * dom/CommentImpl.cpp: Added.
        * dom/CommentImpl.h: Added.
        * dom/DocumentImpl.cpp:
        * dom/EditingTextImpl.cpp: Added.
        * dom/EditingTextImpl.h: Added.
        * dom/NodeImpl.cpp:
        * dom/TextImpl.cpp: Added.
        * dom/TextImpl.h: Added.
        * dom/dom2_rangeimpl.cpp:
        * dom/dom_elementimpl.cpp:
        * dom/dom_textimpl.cpp: Removed.
        * dom/dom_textimpl.h: Removed.
        * dom/xml_tokenizer.cpp:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_html.cpp:
        * khtml/editing/SelectionController.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/insert_into_text_node_command.cpp:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/insert_text_command.cpp:
        * khtml/editing/join_text_nodes_command.cpp:
        * khtml/editing/markup.cpp:
        * khtml/editing/rebalance_whitespace_command.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/split_text_node_command.cpp:
        * khtml/editing/split_text_node_containing_element.cpp:
        * khtml/editing/visible_position.cpp:
        * khtml/html/HTMLElementImpl.cpp:
        * khtml/html/HTMLKeygenElementImpl.cpp:
        * khtml/html/HTMLOptionElementImpl.cpp:
        * khtml/html/HTMLTextAreaElementImpl.cpp:
        * khtml/html/html_headimpl.cpp:
        * khtml/html/html_objectimpl.cpp:
        *