2006-12-31  Eric Seidel  <eric@webkit.org>

        Reviewed by weinig.

        Make SVGPathSeg construction take fewer lines of code.

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
        (WebCore::SVGPathElement::createSVGPathSegArcRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
        * ksvg2/svg/SVGPathSegArc.cpp:
        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
        * ksvg2/svg/SVGPathSegArc.h:
        * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * ksvg2/svg/SVGPathSegLineto.cpp:
        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
        * ksvg2/svg/SVGPathSegLineto.h:
        * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        * ksvg2/svg/SVGPathSegMoveto.cpp:
        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
        * ksvg2/svg/SVGPathSegMoveto.h:

2006-12-31  Eric Seidel  <eric@webkit.org>

        Reviewed by weinig.

        Implement path length measuring for SVGPathElement::getTotalLength and friends.
        http://bugs.webkit.org/show_bug.cgi?id=12033

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getTotalLength):
        (WebCore::SVGPathElement::getPointAtLength):
        * platform/graphics/Path.cpp:
        (WebCore::pathLengthApplierFunction):
        (WebCore::Path::length):
        (WebCore::Path::pointAtLength):
        * platform/graphics/Path.h:
        * platform/graphics/PathTraversalState.cpp: Added.
        (WebCore::midPoint):
        (WebCore::distanceLine):
        (WebCore::QuadraticBezier::QuadraticBezier):
        (WebCore::QuadraticBezier::approximateDistance):
        (WebCore::QuadraticBezier::split):
        (WebCore::CubicBezier::CubicBezier):
        (WebCore::CubicBezier::approximateDistance):
        (WebCore::CubicBezier::split):
        (WebCore::curveLength):
        (WebCore::PathTraversalState::PathTraversalState):
        (WebCore::PathTraversalState::closeSubpath):
        (WebCore::PathTraversalState::moveTo):
        (WebCore::PathTraversalState::lineTo):
        (WebCore::PathTraversalState::quadraticBezierTo):
        (WebCore::PathTraversalState::cubicBezierTo):
        * platform/graphics/PathTraversalState.h: Added.
        (WebCore::PathTraversalState::):

2006-12-31  Sam Weinig  <sam@webkit.org>

        Reviewed by Mitz.

        Move the SVGZoomAndPanType enum out of SVGSVGElement and
        SVGViewElement and into SVGZoomAndPan where it belongs.

        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGViewElement.h:
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::SVGZoomAndPan):
        (WebCore::SVGZoomAndPan::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.h:
        (WebCore::SVGZoomAndPan::):

2006-12-31  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9659
          Quirksmode: Fixed / Overflow > Positioned objects get hidden when scrolling

        Added a 'fixed' flag to ClipRects, indicating that the cached rects are in
        viewport coordinates. The flag is set (and scrolling is compensated for) for
        fixed objects and their descendants.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateClipRects):
        (WebCore::RenderLayer::calculateRects):
        * rendering/RenderLayer.h:
        (WebCore::ClipRects::ClipRects):
        (WebCore::ClipRects::fixed):

2006-12-31  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12037
          For relatively positioned boxes in an RTL block, 'right' should win over 'left' if both are not 'auto'

        Test: fast/block/positioning/relative-overconstrained.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::relativePositionOffsetX):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=12004
        Webkit doesnt handle omitting M at the start of path syntax well

        Improve path parsing error handling.

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::setValueAsString):
        * ksvg2/svg/SVGParserUtilities.cpp:
        (WebCore::SVGPathParser::parseSVG):
        * ksvg2/svg/SVGParserUtilities.h:
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::parseMappedAttribute):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::parseMappedAttribute):
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/svgpathparser.cpp: Removed.
        * ksvg2/svg/svgpathparser.h: Removed.

2006-12-30  Rémi Zara  <remi_zara@mac.com>

        Reviewed by Darin.

        The marker is used for start, mid and end.

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

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

        Reviewed by weinig.

        http://bugs.webkit.org/show_bug.cgi?id=12035
        Use SVGParserUtilities in lists of values

        Use SVGParserUtilities in some more places.

        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::parseMappedAttribute):
        (WebCore::SVGAnimationElement::parseClockValue):
        (WebCore::SVGAnimationElement::detectAnimationMode):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGNumberList.cpp:
        (WebCore::SVGNumberList::parse):
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGStringList.cpp:
        (WebCore::SVGStringList::reset):
        (WebCore::SVGStringList::parse):
        * ksvg2/svg/SVGStringList.h:

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

        Reviewed by weinig.

        http://bugs.webkit.org/show_bug.cgi?id=12034
        Adapt preserveAspectRatio parsing to SVGParserUtilities

        Use the new SVGParserUtilities methods to parse prserveAspectRatio attribute.

        * ksvg2/svg/SVGParserUtilities.h:
        (WebCore::checkString):
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (WebCore::):
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        * ksvg2/svg/SVGTransformable.cpp:

2006-12-30  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Alexey.

        - remove unused member variables m_loadingSheet and m_bAllDataReceived

        No test possible (no change to functionality).

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

2006-12-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11998
        Incorrect serialization of quotation marks in XML attributes.

        Test: fast/dom/serialize-attribute.xhtml

        * editing/markup.cpp:
        (WebCore::escapeTextForMarkup): Added an isAttributeValue parameter, as the quotation mark
        only needs to be encoded in attribute values.
        (WebCore::startMarkup): Pass appropriate isAttributeValue to escapeTextForMarkup().

2006-12-29  David Kilzer  <ddkilzer@webkit.org>

        Build fix for no-svg build.

        Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT.

        * bindings/js/kjs_css.cpp:
        (KJS::toJS):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):

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

        Reviewed by Brian Dash... err... Mark Rowe.

        More cleanup in preparation for fixing <rdar://problem/4608404> 
        WebScriptObject's _executionContext lack of ownership policy causes 
        crashes (e.g., in Dashcode)
        
        The key change here is to RootObject::RootObject().
        
        Layout tests pass.
        
        Renamed "_bindingRoot" => "_bindingRootObject" because "RootObject" is the
        type name.
        
        * bindings/objc/WebScriptObject.mm:
        (_didExecute): Use Interpreter::globalObject(), since RootObject::rootObjectImp() 
        no longer exists.

        * page/mac/FrameMac.mm:
        (WebCore::FrameMac::bindingRootObject): Use the new RootObject constructor.
        Stop lying about who deletes _bindingRoot.

        (WebCore::FrameMac::cleanupPluginObjects): => "destroy". Fixed a bug where
        the RootObject would only free its own memory if there were a ReferencesSet*
        associated with it.

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge rootObjectForView:]): Use new constructor. Changed
        misleading comment.

2006-12-29  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=12007
        SVGColor::setRGBColor color creates/deletes many strings, slowing down parsing

        Refactor code so svg reuses cssparser methods. Also make
        SVGColor and SVGPaint more efficient by avoiding using
        setRGBColor internally.

        * bindings/js/kjs_css.cpp:
        (KJS::toJS):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseColorFromValue):
        (WebCore::CSSParser::parseShadow):
        * css/cssparser.h:
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::cssText):
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        * ksvg2/svg/SVGPaint.h:
        * platform/graphics/Color.cpp:
        (WebCore::Color::parseHexColor):
        * platform/graphics/Color.h:

2006-12-29  Rob Buis  <buis@kde.org>

        Reviewed by weinig.

        http://bugs.webkit.org/show_bug.cgi?id=12022
        typo in SVGTransformable.cpp introduce in r18440
     
        Use the helper method proposed by Eric.

        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::checkString):
        (WebCore::):
        (WebCore::SVGTransformable::parseTransformAttribute):

2006-12-29  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=12028
        Adapt viewBox parsing to SVGParserUtilities

        Use the new parseNumber and add tests for viewBox parsing.

        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):

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

        Build fix: SVGImage only works on Mac.

        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):

2006-12-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=12018
        Cleanup of CSSRule and its subclasses

        - Make CSSRule::type() virtual instead of using a member variable.
        - General style cleanup.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSCharsetRule.cpp:
        (WebCore::CSSCharsetRule::CSSCharsetRule):
        * css/CSSCharsetRule.h:
        (WebCore::CSSCharsetRule::isCharsetRule):
        (WebCore::CSSCharsetRule::type):
        * css/CSSFontFaceRule.cpp:
        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
        (WebCore::CSSFontFaceRule::cssText):
        * css/CSSFontFaceRule.h:
        (WebCore::CSSFontFaceRule::isFontFaceRule):
        (WebCore::CSSFontFaceRule::type):
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::CSSImportRule):
        (WebCore::CSSImportRule::setCSSStyleSheet):
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/CSSImportRule.h:
        (WebCore::CSSImportRule::isImportRule):
        (WebCore::CSSImportRule::type):
        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::cssText):
        * css/CSSMediaRule.h:
        (WebCore::CSSMediaRule::isMediaRule):
        (WebCore::CSSMediaRule::type):
        * css/CSSPageRule.cpp:
        (WebCore::CSSPageRule::CSSPageRule):
        (WebCore::CSSPageRule::selectorText):
        (WebCore::CSSPageRule::setSelectorText):
        (WebCore::CSSPageRule::cssText):
        * css/CSSPageRule.h:
        (WebCore::CSSPageRule::style):
        (WebCore::CSSPageRule::type):
        * css/CSSRule.cpp:
        (WebCore::CSSRule::cssText):
        (WebCore::CSSRule::setCssText):
        * css/CSSRule.h:
        (WebCore::CSSRule::):
        (WebCore::CSSRule::CSSRule):
        * css/CSSStyleRule.cpp:
        (WebCore::CSSStyleRule::CSSStyleRule):
        (WebCore::CSSStyleRule::setSelectorText):
        (WebCore::CSSStyleRule::cssText):
        (WebCore::CSSStyleRule::parseString):
        * css/CSSStyleRule.h:
        (WebCore::CSSStyleRule::isStyleRule):
        (WebCore::CSSStyleRule::style):
        (WebCore::CSSStyleRule::type):
        * css/CSSUnknownRule.h:
        (WebCore::CSSUnknownRule::CSSUnknownRule):
        (WebCore::CSSUnknownRule::type):

2006-12-29  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        * platform/graphics/svg/SVGImage.cpp:
        (WebCore::SVGImage::size): explicitly cast to integers to prevent compile error

2006-12-29  George Staikos  <staikos@kde.org>

        Reviewed by Sam.

        Don't crash on sites such as www.apple.com.  Painter was ended incorrectly among other issues.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::TransparencyLayer::TransparencyLayer):
        (WebCore::TransparencyLayer::cleanup):
        (WebCore::GraphicsContext::endTransparencyLayer):
        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::paintEvent):

2006-12-29  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fixed, not reviewed. Noticed by Daniel Molkentin.

        * platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include.

2006-12-29  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        * platform/graphics/svg/SVGImageEmptyClients.h:
        (WebCore::SVGEmptyCromeClient::scaleFactor):  build fix, use 1.f instead of 1f

2006-12-29  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        New tests:
        * fast/images/svg-as-image.html
        * fast/images/svg-as-background.html
        * fast/images/svg-as-tiled-background.html
        
        Implement basic SVGImage support.
        http://bugs.webkit.org/show_bug.cgi?id=5971
        
        This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h

        * WebCore.xcodeproj/project.pbxproj: add SVGImage.*
        * ksvg2/svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * platform/graphics/Image.h: made setData virtual
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::drawTiled): stub method
        * platform/graphics/cg/PDFDocumentImage.h:
        * platform/graphics/svg/SVGImage.cpp: Added.
        (WebCore::SVGImage::SVGImage):
        (WebCore::SVGImage::~SVGImage):
        (WebCore::SVGImage::size):
        (WebCore::SVGImage::draw):
        (WebCore::SVGImage::drawTiled): stub method
        (WebCore::SVGImage::setData):
        * platform/graphics/svg/SVGImage.h: Added.
        (WebCore::SVGImage::frameAtIndex):
        * platform/graphics/svg/SVGImageEmptyClients.h: Added.
        (WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient):
        (WebCore::SVGEmptyCromeClient::chromeDestroyed):
        (WebCore::SVGEmptyCromeClient::setWindowRect):
        (WebCore::SVGEmptyCromeClient::windowRect):
        (WebCore::SVGEmptyCromeClient::pageRect):
        (WebCore::SVGEmptyCromeClient::scaleFactor):
        (WebCore::SVGEmptyCromeClient::focus):
        (WebCore::SVGEmptyCromeClient::unfocus):
        (WebCore::SVGEmptyCromeClient::createWindow):
        (WebCore::SVGEmptyCromeClient::createModalDialog):
        (WebCore::SVGEmptyCromeClient::show):
        (WebCore::SVGEmptyCromeClient::canRunModal):
        (WebCore::SVGEmptyCromeClient::runModal):
        (WebCore::SVGEmptyCromeClient::setToolbarsVisible):
        (WebCore::SVGEmptyCromeClient::toolbarsVisible):
        (WebCore::SVGEmptyCromeClient::setStatusbarVisible):
        (WebCore::SVGEmptyCromeClient::statusbarVisible):
        (WebCore::SVGEmptyCromeClient::setScrollbarsVisible):
        (WebCore::SVGEmptyCromeClient::scrollbarsVisible):
        (WebCore::SVGEmptyCromeClient::setMenubarVisible):
        (WebCore::SVGEmptyCromeClient::menubarVisible):
        (WebCore::SVGEmptyCromeClient::setResizable):
        (WebCore::SVGEmptyCromeClient::addMessageToConsole):
        (WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel):
        (WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel):
        (WebCore::SVGEmptyCromeClient::closeWindowSoon):
        (WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient):
        (WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed):
        (WebCore::SVGEmptyFrameLoaderClient::hasWebView):
        (WebCore::SVGEmptyFrameLoaderClient::hasFrameView):
        (WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList):
        (WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList):
        (WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget):
        (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled):
        (WebCore::SVGEmptyFrameLoaderClient::makeDocumentView):
        (WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
        (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::forceLayout):
        (WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad):
        (WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect):
        (WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll):
        (WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset):
        (WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError):
        (WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError):
        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1):
        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2):
        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3):
        (WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4):
        (WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::download):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchShow):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        (WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm):
        (WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource):
        (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache):
        (WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
        (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
        (WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState):
        (WebCore::SVGEmptyFrameLoaderClient::progressStarted):
        (WebCore::SVGEmptyFrameLoaderClient::progressCompleted):
        (WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
        (WebCore::SVGEmptyFrameLoaderClient::completeProgress):
        (WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady):
        (WebCore::SVGEmptyFrameLoaderClient::startDownload):
        (WebCore::SVGEmptyFrameLoaderClient::willChangeTitle):
        (WebCore::SVGEmptyFrameLoaderClient::didChangeTitle):
        (WebCore::SVGEmptyFrameLoaderClient::committedLoad):
        (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
        (WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace):
        (WebCore::SVGEmptyFrameLoaderClient::cancelledError):
        (WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError):
        (WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError):
        (WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError):
        (WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError):
        (WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
        (WebCore::SVGEmptyFrameLoaderClient::setDefersLoading):
        (WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
        (WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending):
        (WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad):
        (WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources):
        (WebCore::SVGEmptyFrameLoaderClient::canHandleRequest):
        (WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType):
        (WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme):
        (WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme):
        (WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted):
        (WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState):
        (WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted):
        (WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
        (WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll):
        (WebCore::SVGEmptyFrameLoaderClient::didFinishLoad):
        (WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement):
        (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
        (WebCore::SVGEmptyFrameLoaderClient::setTitle):
        (WebCore::SVGEmptyFrameLoaderClient::userAgent):
        (WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
        (WebCore::SVGEmptyEditorClient::pageDestroyed):
        (WebCore::SVGEmptyEditorClient::shouldDeleteRange):
        (WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface):
        (WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled):
        (WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled):
        (WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking):
        (WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled):
        (WebCore::SVGEmptyEditorClient::toggleGrammarChecking):
        (WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag):
        (WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent):
        (WebCore::SVGEmptyEditorClient::isEditable):
        (WebCore::SVGEmptyEditorClient::shouldBeginEditing):
        (WebCore::SVGEmptyEditorClient::shouldEndEditing):
        (WebCore::SVGEmptyEditorClient::shouldInsertNode):
        (WebCore::SVGEmptyEditorClient::shouldInsertText):
        (WebCore::SVGEmptyEditorClient::shouldApplyStyle):
        (WebCore::SVGEmptyEditorClient::didBeginEditing):
        (WebCore::SVGEmptyEditorClient::respondToChangedContents):
        (WebCore::SVGEmptyEditorClient::didEndEditing):
        (WebCore::SVGEmptyEditorClient::registerCommandForUndo):
        (WebCore::SVGEmptyEditorClient::registerCommandForRedo):
        (WebCore::SVGEmptyEditorClient::clearUndoRedoOperations):
        (WebCore::SVGEmptyEditorClient::canUndo):
        (WebCore::SVGEmptyEditorClient::canRedo):
        (WebCore::SVGEmptyEditorClient::undo):
        (WebCore::SVGEmptyEditorClient::redo):
        (WebCore::SVGEmptyEditorClient::dataForArchivedSelection):
        (WebCore::SVGEmptyEditorClient::userVisibleString):
        (WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient):
        (WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed):
        (WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems):
        (WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected):
        (WebCore::SVGEmptyContextMenuClient::downloadURL):
        (WebCore::SVGEmptyContextMenuClient::copyImageToClipboard):
        (WebCore::SVGEmptyContextMenuClient::lookUpInDictionary):
        (WebCore::SVGEmptyContextMenuClient::speak):
        (WebCore::SVGEmptyContextMenuClient::stopSpeaking):
        (WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):

2006-12-29  George Staikos  <staikos@kde.org>

        Reviewed by Olliej.

        Make redirects work properly.  Sites will thank us for this. :-)

        * platform/network/qt/ResourceHandleManagerQt.cpp:
        (WebCore::ResourceHandleManager::receivedResponse):

2006-12-28  George Staikos  <staikos@kde.org>

        Reviewed by Olliej.

        * loader/CachedImage.cpp: build for Qt

2006-12-28  Daniel Molkentin <molkentin@kde.org>

        Reviewed by Eric Seidel <eric@webkit.org>

        - Fix font sizes
        - Make Qt platform build again:
          - Adjust Qt platform to the Image class split.
          - Introduce BitmapImage class
          - add stub PDFDocumentImage class

        * WebCore.pro:
        * editing/qt/EditorQt.cpp:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::partClearedInBegin):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::initPlatformData):
        (WebCore::BitmapImage::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImage::drawTiled):
        (WebCore::BitmapImage::checkForSolidColor):
        * platform/graphics/svg/SVGPaintServerLinearGradient.h:
        * platform/graphics/svg/SVGPaintServerRadialGradient.h:
        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
        (WebCore::SVGPaintServer::teardown):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
        (WebCore::SVGPaintServerRadialGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::bindingRootObject):

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

        Reviewed by Brady Eidson.
        
        Some cleanup in preparation for fixing <rdar://problem/4608404> 
        WebScriptObject's _executionContext lack of ownership policy causes 
        crashes (e.g., in Dashcode)
        
        Layout tests pass.

        Renamed "root" | "execContext" | "executionContext" => rootObject, because
        that's the object's (admittedly vague) type name.
        
        * bindings/js/kjs_binding.cpp:
        * bindings/js/kjs_binding.h: Removed createLanguageInstanceForValue
        and createObjcInstanceForValue because their only purpose was to confuse you.
        
        * bindings/objc/DOMInternal.h: Moved declaration of createDOMWrapper here.
        createDOMWrapper is the new name for createObjcInstanceForValue.
        
        * bindings/objc/DOMInternal.mm: Renamed Interpreter::createObjcInstanceForValue
        to createDOMWrapper because creating DOM wrappers has nothing to do with the interpreter,
        and everything to do with the DOM. Renamed value to object because it is one.
        Removed newObj nil check that is unnecessary in ObjC.

        * bindings/objc/WebScriptObject.mm: Replaced call to createLanguageInstanceForValue
        with explicit code to do the same thing it would have done: (1) try to create 
        a DOM wrapper; (2) if the object is not a wrappable DOM object, create a 
        vanilla WebScriptObject for it instead.

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11729
          REGRESSION: Crash closing page with frames after selection

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachFromParent): Added call to pageDestroyed().
        * page/FrameTree.cpp:
        (WebCore::FrameTree::appendChild): Added an assertion that the parent and
        the child are in the same page.
        (WebCore::FrameTree::removeChild): Added calls to decrementFrameCount() and pageDestroyed().

2006-12-28  David Kilzer  <ddkilzer@webkit.org>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12016
          REGRESSION: fast/text/stroking-decorations.html test fails with bus error in no-svg build

        No test cases (no change in functionality).

        * platform/TextStream.cpp: Properly initialize presicionFormats.
        * rendering/RenderTreeAsText.cpp:
        (WebCore::externalRepresentation): HTML tests now print out the stroke width, which is a float,
        so the precision needs to be set.

2006-12-28  Eric Seidel  <eric@webkit.org>

        Reviewed by rwlbuis.

        Fix for memory smasher when drawing markers.
        http://bugs.webkit.org/show_bug.cgi?id=12015
        
        No test case possible (crashes for some folks but not others, not even under --guard)

        * platform/graphics/cg/PathCG.cpp:
        (WebCore::CGPathApplierToPathApplier): array was too small

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11124
          REGRESSION (r14297): No drag image for partially-selected complex text

        Test: fast/text/atsui-partial-selection.html

        * platform/Font.h: Changed comment.
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText): Corrected the run length calculation.
        Changed the ATSUI layout parameters to know about the entire text run, rather
        than just the range we are drawing. ATSUI measures the characters before
        the range and positions the range accordingly.

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9202
          CSS3: border-radius not completely implemented, testcase hangs webkit

        Test: fast/borders/borderRadiusAllStylesAllCorners.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintBorder): Changed to not draw "arcs" at straight
        corners and to paint half-corners only where the styles mismatch.
        Corrected the condition for matching styles: ridge, groove, inset and outset
        all mismatch in the upper right and lower left corners and match in the other
        two. The incorrect condition for a match was (almost) unnoticeable because of
        the painting of both half-corners on each side that had at least one mismatch.

2006-12-28  Alexey Proskuryakov  <ap@webkit.org>

        Reverting the previous checkin, as it caused an assertion in layout tests.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::borderLeft):
        (WebCore::RenderTableCell::borderRight):
        (WebCore::RenderTableCell::borderTop):
        (WebCore::RenderTableCell::borderBottom):
        * rendering/RenderTableCell.h:

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11359
          Incomplete repaint of table cell's collapsed border when changing only the cell

        Test: fast/repaint/table-cell-collapsed-border.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::getAbsoluteRepaintRect): Overloaded to add the
        outer half of any collapsed borders. This function checks the cell's borders'
        widths but also the widths of the adjoining cells' borders, since they can
        contribute to the length of this cell's borders perpendicular to them, making
        such a border overflow the cell in both dimensions.
        (WebCore::RenderTableCell::borderLeft): Split the collapsing borders case off to
        borderHalfLeft().
        (WebCore::RenderTableCell::borderRight): Ditto.
        (WebCore::RenderTableCell::borderTop): Ditto.
        (WebCore::RenderTableCell::borderBottom): Ditto.
        (WebCore::RenderTableCell::borderHalfLeft): Added. Takes an 'outer' boolean
        parameter. When true, this function returns the width of the part of the border
        that is outside the cell (different from the inner width when the total width is odd).
        (WebCore::RenderTableCell::borderHalfRight): Ditto.
        (WebCore::RenderTableCell::borderHalfTop): Ditto.
        (WebCore::RenderTableCell::borderHalfBottom): Ditto.
        * rendering/RenderTableCell.h:

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Alexey.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11671
          REGRESSION (r13702): text-transform: capitalize changes non-breaking spaces to spaces

        Test: fast/text/capitalize-preserve-nbsp.html

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::capitalize): Copy back non-breaking spaces from the
        original string to the capitalized string. Change a 'previous' non-breaking
        space into a space (this improves the fix for <rdar://problem/4502311> from r13702).

2006-12-28  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10699
          div with border-radius does not redraw properly if element inside div is resized

        Test: fast/repaint/border-radius-repaint.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):

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

        * loader/CachedImage.cpp: (WebCore::CachedImage::createImage):
        Fixed an #ifdef PLATFORM(CG) that should be #if PLATFORM(CG).
        Might have broken the build on some platforms.

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

        Build fix, plus a few "double &" => "double&" changes.
        
        * ksvg2/svg/SVGParserUtilities.cpp:
        (WebCore::parseNumber):
        (WebCore::SVGPathParser::calculateArc):

2006-12-27  Oliver Hunt <oliver@apple.com> 

        Build fix

        * platform/graphics/BitmapImage.h:
        * platform/graphics/Image.cpp:
        * platform/graphics/Image.h:
        (WebCore::Image::getHBITMAP):
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::PDFDocumentImage):

2006-12-27  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        Add new PDFDocumentImage and BitmapImage classes (subclasses of Image)
        (In preparation for adding SVGImage as part of bug 5971)
        http://bugs.webkit.org/show_bug.cgi?id=11990
        
        Test cases landed separately as part of filing bug 11992.

        * WebCore.xcodeproj/project.pbxproj: add BitmapImage.*
        * loader/CachedImage.cpp:
        (WebCore::nullImage): use BitmapImage directly
        (WebCore::CachedImage::createImage): now create either BitmapImage or PDFDocumentImage directly
        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::setImageData): use BitmapImage directly
        * platform/graphics/BitmapImage.cpp: Added.
        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::~BitmapImage):
        (WebCore::BitmapImage::invalidateData):
        (WebCore::BitmapImage::cacheFrame):
        (WebCore::BitmapImage::size):
        (WebCore::BitmapImage::setNativeData):
        (WebCore::BitmapImage::frameCount):
        (WebCore::BitmapImage::isSizeAvailable):
        (WebCore::BitmapImage::frameAtIndex):
        (WebCore::BitmapImage::frameDurationAtIndex):
        (WebCore::BitmapImage::frameHasAlphaAtIndex):
        (WebCore::BitmapImage::shouldAnimate):
        (WebCore::BitmapImage::startAnimation):
        (WebCore::BitmapImage::stopAnimation):
        (WebCore::BitmapImage::resetAnimation):
        (WebCore::BitmapImage::advanceAnimation):
        * platform/graphics/BitmapImage.h: Added.
        (WebCore::FrameData::FrameData):
        (WebCore::BitmapImage::nativeImageForCurrentFrame): added.
        (WebCore::BitmapImage::currentFrame):
        (WebCore::BitmapImage::mayFillWithSolidColor): added.
        (WebCore::BitmapImage::solidColor): added.
        * platform/graphics/Image.cpp:
        (WebCore::Image::Image):
        (WebCore::Image::~Image):
        * platform/graphics/Image.h:
        (WebCore::Image::setNativeData): now virtual
        (WebCore::Image::stopAnimation): now virtual
        (WebCore::Image::resetAnimation): now virtual
        (WebCore::Image::getNSImage): now virtual
        (WebCore::Image::getTIFFRepresentation): now virtual
        (WebCore::Image::getCGImageRef): now virtual
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::checkForSolidColor):
        (WebCore::BitmapImage::getCGImageRef): use nativeImageForCurrentFrame
        (WebCore::fillWithSolidColor): added
        (WebCore::BitmapImage::draw):
        (WebCore::drawPattern): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
        (WebCore::BitmapImage::drawTiled): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::PDFDocumentImage):
        (WebCore::PDFDocumentImage::size): change to subclass from Image
        (WebCore::PDFDocumentImage::setNativeData):
        (WebCore::PDFDocumentImage::draw):
        * platform/graphics/cg/PDFDocumentImage.h:
        (WebCore::PDFDocumentImage::drawTiled):
        * platform/graphics/mac/ImageMac.mm:
        (WebCore::BitmapImage::initPlatformData):
        (WebCore::BitmapImage::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):
        (WebCore::BitmapImage::getTIFFRepresentation):
        (WebCore::BitmapImage::getNSImage):
        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
        (WebCore::SVGFEImage::getCIFilter): remove soon-to-be unnecessary comment
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nullImage): use BitmapImage

2006-12-27  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11452
          REGRESSION (r16736-r16801): Incorrect repaint of fixed boxes

        Test: fast/repaint/fixed.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::computeAbsoluteRepaintRect): Re-added.
        * rendering/RenderView.h:

2006-12-27  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11930
          Specifying border-radius makes the outline shrink

        Test: fast/css/border-radius-outline-offset.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Added missing return statement.

2006-12-27  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=11108
        Replace usage of split by proper parsers
        http://bugs.webkit.org/show_bug.cgi?id=11908
        WebKit spends 40% of its time displaying "bamboo.svg" executing Regexes

        Get rid of split() when parsing transform attribute.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGParserUtilities.cpp: Added.
        (WebCore::parseNumber):
        (WebCore::parseNumberOptionalNumber):
        (WebCore::SVGPolyParser::parsePoints):
        (WebCore::SVGPathParser::parseSVG):
        (WebCore::SVGPathParser::calculateArc):
        (WebCore::SVGPathParser::svgLineToHorizontal):
        (WebCore::SVGPathParser::svgLineToVertical):
        (WebCore::SVGPathParser::svgCurveToCubicSmooth):
        (WebCore::SVGPathParser::svgCurveToQuadratic):
        (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
        (WebCore::SVGPathParser::svgArcTo):
        * ksvg2/svg/SVGParserUtilities.h: Added.
        (WebCore::isWhitespace):
        (WebCore::skipOptionalSpaces):
        (WebCore::skipOptionalSpacesOrDelimiter):
        (WebCore::SVGPolyParser::~SVGPolyParser):
        (WebCore::SVGPathParser::~SVGPathParser):
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::parseTransformParamList):
        (WebCore::SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/svgpathparser.cpp:
        (WebCore::DeprecatedSVGPathParser::parseSVG):
        (WebCore::DeprecatedSVGPathParser::calculateArc):
        (WebCore::DeprecatedSVGPathParser::svgLineToHorizontal):
        (WebCore::DeprecatedSVGPathParser::svgLineToVertical):
        (WebCore::DeprecatedSVGPathParser::svgCurveToCubicSmooth):
        (WebCore::DeprecatedSVGPathParser::svgCurveToQuadratic):
        (WebCore::DeprecatedSVGPathParser::svgCurveToQuadraticSmooth):
        (WebCore::DeprecatedSVGPathParser::svgArcTo):
        * ksvg2/svg/svgpathparser.h:
        (WebCore::DeprecatedSVGPathParser::~DeprecatedSVGPathParser):

2006-12-27  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Geoff.

        - http://bugs.webkit.org/show_bug.cgi?id=11968
          BidiContext's m_basicDir is redundant

        No test possible (no functionality change)

        * rendering/bidi.cpp:
        (WebCore::BidiContext::BidiContext):
        (WebCore::operator==):
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Use the block's
        direction to resolve 'automatic' text-align.
        * rendering/bidi.h:
        (WebCore::BidiContext::dir):

2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fix, not reviewed.

        Accidently commited an older revision of this file.

        * platform/graphics/svg/SVGPaintServerPattern.h:

2006-12-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Mitz & Eric.

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

        We need to cache the CGPatternRef (m_pattern) for efficiency
        in SVGPaintServerPatternCg, and keep track wheter the underlying
        ImageBuffer has changed, and only update the pattern in that case.

        * platform/graphics/svg/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
        (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
        (WebCore::SVGPaintServerPattern::setTile):
        * platform/graphics/svg/SVGPaintServerPattern.h:
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        (WebCore::SVGPaintServerPattern::teardown):

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

        Reviewed by Eric Seidel.

        Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject 
        from KJS::Bindings::CInstance::~CInstance
        
        No testcase because we can't open and close windows in DumpRenderTree.
        
        * loader/FrameLoader.cpp: Removed closeDocument helper function because
        its only purpose was to call didCloseDocument, which is gone now.
        (WebCore::FrameLoader::detachFromParent): closeDocument => closeURL, 
        since didCloseDocument is gone now.

        * loader/FrameLoaderClient.h: Removed didCloseDocument because it proved
        unnecessary and harmful.
        
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::transitionToCommitted): closeDocument => closeURL, 
        since didCloseDocument is gone now.

2006-12-26  Eric Seidel  <eric@webkit.org>

        Reviewed by olliej.

        ASSERT while loading SVG map
        http://bugs.webkit.org/show_bug.cgi?id=11987

        * ksvg2/css/SVGCSSParser.cpp: remove a few .impl() calls previously missed.
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/misc/KCanvasRenderingStyle.cpp: handle invalid colors
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::strokePaintServer):

2006-12-26  Eric Seidel  <eric@webkit.org>

        Reviewed by ggaren.

        No test cases changed.
        
        Remove unnecessary (and inefficient) .impl() and .deprecatedString() calls.
        http://bugs.webkit.org/show_bug.cgi?id=11989

        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNodeList::getOwnPropertySlot):
        * dom/Document.cpp:
        (WebCore::Document::createAttributeNS):
        * dom/Element.cpp:
        (WebCore::Element::getAttributeNS):
        (WebCore::Element::setAttribute):
        (WebCore::Element::setAttributeNS):
        (WebCore::Element::removeAttributeNS):
        (WebCore::Element::getAttributeNode):
        (WebCore::Element::getAttributeNodeNS):
        (WebCore::Element::hasAttribute):
        (WebCore::Element::hasAttributeNS):
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::getNamedItemNS):
        (WebCore::NamedAttrMap::removeNamedItemNS):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::process):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLEmbedElement.h:
        * html/HTMLHRElement.cpp:
        (WebCore::HTMLHRElement::parseMappedAttribute):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::insertedIntoDocument):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::handleTimerEvent):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * ksvg2/svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        * ksvg2/svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::updateReferencedText):
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::closeRenderer):
        * ksvg2/svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::parseMappedAttribute):
        * page/Frame.cpp:
        (WebCore::Frame::selectionComputedStyle):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderResources):

2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
        Fixes coords-units-01-b.svg

        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        * platform/graphics/svg/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
        (WebCore::SVGPaintServerPattern::contentBoundingBoxMode):
        (WebCore::SVGPaintServerPattern::setContentBoundingBoxMode):
        * platform/graphics/svg/SVGPaintServerPattern.h:
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::renderPath):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):

2006-12-26  Eric Seidel  <eric@webkit.org>

        Reviewed by ggaren

        No test cases changed.
        
        Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system

        * platform/graphics/svg/SVGPaintServer.cpp:
        (WebCore::SVGPaintServer::SVGPaintServer):
        * platform/graphics/svg/SVGPaintServer.h:
        * platform/graphics/svg/SVGPaintServerGradient.h:
        * platform/graphics/svg/SVGPaintServerPattern.h:
        * platform/graphics/svg/SVGPaintServerSolid.h:
        * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
        (WebCore::SVGPaintServer::teardown):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        (WebCore::SVGPaintServerPattern::teardown):
        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

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

        Reviewed by Adam Roben.
        
        Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView() 
        when quitting from kcbs.com
        
        No testcase because we can't open and close windows in DRT.
        
        The crash was caused by deallocating plug-ins that were later referenced
        in the unload event handler.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::closeDocument): Call didCloseDocument after closing
        instead of before, so plugins don't get deallocated until the document
        has been destroyed and all event handlers have fired.
        
        * loader/FrameLoaderClient.h: Renamed "willCloseDocument" to "didCloseDocument",
        since we call it after closing now.

2006-12-26  Eric Seidel  <eric@webkit.org>

        Reviewed by rwlbuis.

        Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
        http://bugs.webkit.org/show_bug.cgi?id=11973
        
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces
        (WebCore::SVGLength::valueAsPercentage): new method
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::setup): return if malloc fails
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask): add comment about possible crash

2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        In the DOMParser class, we have to create content-type specific
        documents, instead of a pure "Document" object. Real-life SVG
        files us this way to convert strings "<svg><rect x=...></svg>
        to a new Document structure. 

        Add new testcase dynamic-svg-document-creation.svg.

        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):

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

        Reviewed by Oliver Hunt.

        Removed WebCoreSettings, cleaned up WebCore::Settings.

        * WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
        
        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
        Added Settings.cpp.

        * page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
        through to Settings to get Settings data.

        * page/Page.cpp: Added Settings data member, to replace the one that WebView
        used to hold.

        * page/Settings.cpp: Added.
        * page/Settings.h:
            - Renamed all functions to match WebKit API. Renamed all variables to
            match functions. Favorite old name: "isPluginsEnabled."
            - Moved EditableLinkBehavior outside of the class. Having it inside
            just made it harder to type.
            - Merged in old WebCoreSettings functionality, like guarding against re-setting
            to the same value, and making sure to update page layout.
            - Paired setters and getters, putting setters first.            

2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Fix some minor style issues.

        * ksvg2/svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::toPathData):
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::toPathData):
        * ksvg2/svg/SVGPolylineElement.h:

2006-12-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

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

        Fix SVGList JS wrappers, which operate on POD types (ie. Point).
        There exists a special JSSVGPODTypeWrapperCreatorForList class now,
        which operators on specialized SVGPODList's. It makes it possible
        to support stuff like "myList.getItem(0).value = 200", for POD lists.

        Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.

        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGPODTypeWrapper.h:
        (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::~JSSVGPODTypeWrapperCreatorForList):
        (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::updatePathSegContextMap):
        (WebCore::removeFromPathSegContextMap):
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        * bindings/js/JSSVGPointListCustom.cpp: Added.
        (WebCore::JSSVGPointList::clear):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/scripts/CodeGeneratorJS.pm:
        * ksvg2/misc/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::baseValueMap):
        (WebCore::SVGDocumentExtensions::genericContextMap):
        (WebCore::SVGDocumentExtensions::genericContext):
        (WebCore::SVGDocumentExtensions::setGenericContext):
        (WebCore::SVGDocumentExtensions::removeGenericContext):
        (WebCore::SVGDocumentExtensions::hasGenericContext):
        * ksvg2/svg/SVGAnimatedPathData.cpp:
        * ksvg2/svg/SVGAnimatedPathData.h:
        * ksvg2/svg/SVGAnimatedPoints.cpp:
        * ksvg2/svg/SVGAnimatedPoints.h:
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::SVGLengthList):
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGList.h:
        (WebCore::SVGPODListItem::SVGPODListItem):
        (WebCore::SVGPODListItem::operator Item&):
        (WebCore::SVGPODListItem::operator const Item&):
        (WebCore::SVGPODListItem::value):
        (WebCore::SVGPODListItem::setValue):
        (WebCore::SVGPODList::SVGPODList):
        (WebCore::SVGPODList::initialize):
        (WebCore::SVGPODList::getFirst):
        (WebCore::SVGPODList::getLast):
        (WebCore::SVGPODList::getItem):
        (WebCore::SVGPODList::insertItemBefore):
        (WebCore::SVGPODList::replaceItem):
        (WebCore::SVGPODList::removeItem):
        (WebCore::SVGPODList::appendItem):
        * ksvg2/svg/SVGPathSegList.idl:
        * ksvg2/svg/SVGPointList.cpp:
        (SVGPointList::SVGPointList):
        (SVGPointList::context):
        * ksvg2/svg/SVGPointList.h:
        * ksvg2/svg/SVGPointList.idl:
        * ksvg2/svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::SVGPolyElement):
        (WebCore::SVGPolyElement::points):
        (WebCore::SVGPolyElement::animatedPoints):
        (WebCore::SVGPolyElement::parseMappedAttribute):
        (WebCore::SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGPolyElement.h:
        * rendering/RenderSVGText.cpp:

2006-12-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10313
        Reproducible crash when doing importStylesheet in javascript with 
        xsl files that use xsl:import

        This doesn't fully address the bug, but makes a couple of steps
        in that direction.

        * xml/XSLTProcessor.cpp:
        (WebCore::transformToString): Set m_stylesheet even if it's created implicitly,
        rather than passed from outside. Always reset it in the end (this doesn't affect
        Document::applyXSLTransform(), which was the only user of setXSLStylesheet()).

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.

2006-12-24  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej and Geoff.

        - remove unused member variable m_styleSelectorDirty

        No test possible (no functionality change)

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

2006-12-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11952
        style changes made through CSSMediaRule functions insertRule() 
        and deleteRule do not show up on the screen 

        Tests added:
        * fast/dom/css-mediarule-deleteRule-update.html
        * fast/dom/css-mediarule-insertRule-update.html

        * css/CSSMediaRule.cpp:
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):

2006-12-24  Rob Buis  <buis@kde.org>

        Reviewed by Alexey.

        Get rid of unused variable.

        * ksvg2/svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::getTarget):

2006-12-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=11933
        REGRESSION: trying to change a property in a computed style declaration results in a crash

        Test: fast/dom/computed-style-set-property.html

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put): Added a check for null m_impl->stylesheet(). Also, fixed
        incorrect logic in Dashboard branch - it didn't return in time if removeProperty() raised
        an exception (credit for noticing this bug goes to Geoff).

2006-12-23  Lars Naesbye Christensen  <lars@naesbye.dk>

        Reviewed by Geoff.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11940
        Bad transparency in some cursor pointer images

        * Resources/northEastResizeCursor.png:
        * Resources/northEastSouthWestResizeCursor.png:
        * Resources/northWestResizeCursor.png:
        * Resources/northWestSouthEastResizeCursor.png:
        * Resources/southEastResizeCursor.png:
        * Resources/southWestResizeCursor.png:

2006-12-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11876
        CSSMediaRule functions insertRule and deleteRule don't raise exceptions

        Test added:
        * fast/dom/css-mediarule-functions.html

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSRuleFunc::callAsFunction):
        * css/CSSMediaRule.cpp: add exception handling
        (WebCore::CSSMediaRule::insertRule):
        (WebCore::CSSMediaRule::deleteRule):
        * css/CSSMediaRule.h: add ExceptionCode arguments
        * css/CSSMediaRule.idl: un-comment exceptions

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

        Fix 11942.  The inheritable properties array is duplicated (lame).  Make
        sure to keep both in sync.

        Reviewed by mitz

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::):

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

        Reviewed by Brady Eidson.
        
        Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com 
        (WebCore::FrameLoader::loadSubframe)

        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::createFrame): Updated to reflect the fact that
        createChildFrameNamed: now returns a WebCore::Frame* instead of a 
        WebCoreFrameBridge *.
        * page/mac/WebCoreFrameBridge.h:

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

        Make sure to actually set the stroke thickness for text decorations.
        Covered by bugzilla bug 11921.

        Reviewed by mitz

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintDecorations):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):

2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

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

        Adding/removing SVGPathSeg* items to a SVGPathElement (through SVGPathSegList
        interface) has live update problems, as the notifyAttributeChange() function
        isn't called anywhere. The context param is currently stored per SVGPathSeg,
        which is not needed - as it can be done using SVGPathSegList completely. It
        wastes memory, that is fixed. In order to get rid of the context param in
        SVGPathSeg, we need a way to map SVGPathSeg* objects to SVGStyledElement*
        objects ("context element"). That is done using a new HashMap in the
        SVGDocumentExtensions class.

        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGPathSegListCustom.cpp: Added.
        (WebCore::updatePathSegContextMap):
        (WebCore::removeFromPathSegContextMap):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/scripts/CodeGeneratorJS.pm:
        * ksvg2/misc/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::pathSegContextMap):
        (WebCore::SVGDocumentExtensions::pathSegContext):
        (WebCore::SVGDocumentExtensions::setPathSegContext):
        (WebCore::SVGDocumentExtensions::removePathSegContext):
        (WebCore::SVGDocumentExtensions::hasPathSegContext):
        * ksvg2/svg/SVGList.h:
        (WebCore::SVGList::getFirst):
        (WebCore::SVGList::getLast):
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
        (WebCore::SVGPathElement::createSVGPathSegArcRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
        (WebCore::SVGPathElement::svgMoveTo):
        (WebCore::SVGPathElement::svgLineTo):
        (WebCore::SVGPathElement::svgLineToHorizontal):
        (WebCore::SVGPathElement::svgLineToVertical):
        (WebCore::SVGPathElement::svgCurveToCubic):
        (WebCore::SVGPathElement::svgCurveToCubicSmooth):
        (WebCore::SVGPathElement::svgCurveToQuadratic):
        (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
        (WebCore::SVGPathElement::svgArcTo):
        (WebCore::SVGPathElement::pathSegList):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPathSeg.cpp: Removed.
        * ksvg2/svg/SVGPathSeg.h:
        (WebCore::SVGPathSeg::SVGPathSeg):
        (WebCore::SVGPathSeg::~SVGPathSeg):
        (WebCore::SVGPathSeg::toString):
        * ksvg2/svg/SVGPathSegArc.cpp:
        (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
        (WebCore::SVGPathSegArcAbs::setX):
        (WebCore::SVGPathSegArcAbs::setY):
        (WebCore::SVGPathSegArcAbs::setR1):
        (WebCore::SVGPathSegArcAbs::setR2):
        (WebCore::SVGPathSegArcAbs::setAngle):
        (WebCore::SVGPathSegArcAbs::setLargeArcFlag):
        (WebCore::SVGPathSegArcAbs::setSweepFlag):
        (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
        (WebCore::SVGPathSegArcRel::setX):
        (WebCore::SVGPathSegArcRel::setY):
        (WebCore::SVGPathSegArcRel::setR1):
        (WebCore::SVGPathSegArcRel::setR2):
        (WebCore::SVGPathSegArcRel::setAngle):
        (WebCore::SVGPathSegArcRel::setLargeArcFlag):
        (WebCore::SVGPathSegArcRel::setSweepFlag):
        * ksvg2/svg/SVGPathSegArc.h:
        * ksvg2/svg/SVGPathSegClosePath.cpp:
        * ksvg2/svg/SVGPathSegClosePath.h:
        * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
        (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathSegCurvetoCubicAbs::setX):
        (WebCore::SVGPathSegCurvetoCubicAbs::setY):
        (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
        (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
        (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
        (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
        (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathSegCurvetoCubicRel::setX):
        (WebCore::SVGPathSegCurvetoCubicRel::setY):
        (WebCore::SVGPathSegCurvetoCubicRel::setX1):
        (WebCore::SVGPathSegCurvetoCubicRel::setY1):
        (WebCore::SVGPathSegCurvetoCubicRel::setX2):
        (WebCore::SVGPathSegCurvetoCubicRel::setY2):
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
        (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
        (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
        (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
        (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
        (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * ksvg2/svg/SVGPathSegLineto.cpp:
        (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
        (WebCore::SVGPathSegLinetoAbs::setX):
        (WebCore::SVGPathSegLinetoAbs::setY):
        (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
        (WebCore::SVGPathSegLinetoRel::setX):
        (WebCore::SVGPathSegLinetoRel::setY):
        * ksvg2/svg/SVGPathSegLineto.h:
        * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
        (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
        (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathSegLinetoHorizontalRel::setX):
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
        (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathSegLinetoVerticalAbs::setY):
        (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathSegLinetoVerticalRel::setY):
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        * ksvg2/svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::SVGPathSegList):
        (WebCore::SVGPathSegList::context):
        * ksvg2/svg/SVGPathSegList.h:
        * ksvg2/svg/SVGPathSegList.idl:
        * ksvg2/svg/SVGPathSegMoveto.cpp:
        (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
        (WebCore::SVGPathSegMovetoAbs::setX):
        (WebCore::SVGPathSegMovetoAbs::setY):
        (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
        (WebCore::SVGPathSegMovetoRel::setX):
        (WebCore::SVGPathSegMovetoRel::setY):
        * ksvg2/svg/SVGPathSegMoveto.h:

2006-12-22  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11903
          REGRESSION: outline not drawn if line style is dashed.

        This fixes a bunch of existing pixel tests.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorder):

2006-12-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin Decker

        - renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
          in anticipation of fixing it to work more correctly with grammar checking, where
          only checking adjacent words isn't good enough.

        * editing/Editor.h:
        renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition 

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        updated for name change

        * editing/mac/EditorMac.mm:
        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
        renamed from markMisspellingsInAdjacentWords and added FIXME comment

2006-12-22  Eric Seidel  <eric@webkit.org>

        Reviewed by aroben.

        http://bugs.webkit.org/show_bug.cgi?id=11912
        Overriding visibility does not behave as expected.

        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint): allow children to draw when container is visibility='hidden'

2006-12-22  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

        Fix SVGPathSeg JS object creation. SVGPathSegList has to return
        the actual SVGPathSegLineToAbs/MoveToRel... object instead of a pure
        SVGPathSeg JS object.

        * WebCore.xcodeproj/project.pbxproj:
        * WebCore/bindings/js/JSSVGPathSegCustom.cpp: Added.
        * bindings/scripts/CodeGeneratorJS.pm:

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

        Reviewed by Geoff.

        Fix for <rdar://problem/4897162> REGRESSION: Attempting to create a 
        new message in .Mac web mail causes Safari to crash 
        ( KJS::DOMCSSStyleDeclaration::put() + 368 )

        This was a regression from my clone-node change. This fix is very 
        simple.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties): Must set the 
        data that getInlineStyleDecl() points to instead of setting 
        m_inlineStyleDecl directly. I also changed some variable names.
        * dom/StyledElement.h: Don't need parameter name here.

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

        Reviewed by Geoff.

        - Fix for <rdar://problem/4895716> REGRESSION: Pressing return key in search field doesn't begin search

        Test: fast/events/onsearch-enter.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): Calls onSearch when handling "Enter".  Also removed
         special case for AppKit search fields, so now the enter event is considered handled here.
        (WebCore::HTMLInputElement::onSearch): Added. Dispatches search event.
        * html/HTMLInputElement.h: Added onSearch.
        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::onSearch): Calls onSearch on the node.

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

        Reviewed by Brady Eidson.
        
        Fixed <rdar://problem/4897205> ASSERTION FAILURE in ContainerNode::queuePostAttachCallback 
        when creating an iframe from an iframe onload handler

        I added that assertion to try to "keep things simple," but I've found a 
        testcase that demonstrates why things need to be complicated.

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

2006-12-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11919
        Allow setting CSS values to null.

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        Convert null values to null strings.

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

        Reviewed by Anders.

        http://bugs.webkit.org/show_bug.cgi?id=11898
        CSSMediaRule functions insertRule and deleteRule assert when called from js in debug builds

        Test explicitly for the two media rule functions so it ends up calling callAsFunction.

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSRule::getOwnPropertySlot):

2006-12-21  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        * loader/FrameLoaderClient.h:
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::partClearedInBegin):
        (WebCore::FrameLoader::restoreDocumentState):
                comment out a few notImplemented() warnings
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::bindingRootObject):
        (WebCore::FrameQt::addPluginRootObject):
        * platform/qt/FrameQt.h:
                 implement these

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

        Make sure the execrable match-nearest-mail-blockquote-color CSS property is actually initialized (amazingly
        it started off with the value "match", since it wasn't even initialized).  Now that it is actually being
        initialized and properly copied and assigned to, tests have failed.  It seems that we were getting the
        behavior of "match" by default, when the initial value was supposed to be "normal."

        Because this property really should not exist at all, it's unclear to me what the right solution is here.
        
        * rendering/RenderStyle.cpp:
        (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
        (WebCore::StyleCSS3NonInheritedData::operator==):
        * rendering/RenderStyle.h:

2006-12-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam's rubberstamp

        Accidentally left a logging channel on in my checkin

        * platform/Logging.cpp:
        (WebCore::):

2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Fix removeItem recursively calling itself (!). It was meant to call m_vector.remove(index)
        not removeItem(index, ec). This bug is in SVN for quite some time now :-)

        * ksvg2/svg/SVGList.h:
        (WebCore::SVGList::removeItem):

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

        Reviewed by John Sullivan.

        <rdar://problem/4893376> REGRESSION: Crash occurs at WebCoreFrameBridge fontForSelection: when drag selecting from a line break
        
        No layout test added because crash only happens in path where editing window is key,
        which is never the case for the automated tests.

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge fontForSelection:]):
        Add nil check of fontForSelection() result.

2006-12-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Fix dynamic gradient changes, via JS. It actually worked before, but it
        wasn't repainted. Behave just like the pattern notifyAttributeChange() code now.

        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::notifyAttributeChange):

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

        Reviewed by Darin Adler.

        Fixed <rdar://problem/4809825>. We need to check isSafeScript when converting
        a Location to string. 
        
        It's really a bug, and poor design, for objects to override toString.
        Subclasses that want custom toString implementations should add a toString 
        function to their prototypes instead of overriding the JavaScript ToString 
        operation. Following this design pattern would have avoided this bug in the
        first place.
        
        * bindings/js/kjs_window.cpp:
        (KJS::Location::toString):

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

        Fix SVG stroking.  Make strokeThickness() get pushed into CG immediately
        when set in the GraphicsContext.  Remove setLineWidth since it is
        redundant with setStrokeThickness now.

        Reviewed by mitz

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setLineWidth):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):

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

        Fix for bug 11893, white text on form controls.  Just make sure that
        all form control drawing in RenderTheme is bracketed by save/restore
        calls.

        Reviewed by adele

        * platform/mac/LocalCurrentGraphicsContext.h:
        * platform/mac/LocalCurrentGraphicsContext.mm:
        (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
        (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintTextArea):

2006-12-20  Mark Rowe  <bdash@webkit.org>

        Reviewed by Anders.

        Fix leak of CGContextRef from GraphicsContext::createImageBuffer.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.

2006-12-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/4871993> WebCore-421.31 build fails with "Public API change" error when gcc 3.3 is the default compiler

        * bindings/scripts/CodeGeneratorObjC.pm: ignore blank lines in the public API check

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

        Reviewed by John Sullivan.

        <rdar://problem/4570218> REGRESSION (?-10.4.7): cntl-K only works the first time

        Test:
        * editing/deleting/delete-to-end-of-paragraph.html
        
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        If the selection was a caret at the end of the paragraph, extend selection so it wraps to the start of next paragraph (if any),

2006-12-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fix, reviewed by Mitz.

        Fix mac build, by using proper float -> int conversion.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):

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

        Make sure text decoration colors prefer stroke over fill (and honor both of the new CSS properties added
        for these values over color).

        Reviewed by mitz

        Added fast/text/stroking-decorations.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintDecorations):
        * rendering/RenderObject.cpp:
        (WebCore::decorationColor):
        (WebCore::RenderObject::getTextDecorationColors):

2006-12-20  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11746
        REGRESSION(r14931): Outlook Web Access incorrectly positions the insertion point when replying to e-mail

        Set caret at beginning of text on initial focus.

        Test: fast/forms/textarea-initial-caret-position.html

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::updateFocusAppearance):

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

        Fix for bug 11889, support stroking and filling of HTML text from CSS.  This patch adds four new CSS properties:
        text-fill-color, text-stroke-color, text-stroke-width and text-stroke (a shorthand for the other two).  Text
        is filled and not stroked by default and does so using the text-fill-color.  If this property is not set, then
        color is used.

        Stroking is accomplished by setting a stroke width.  Stroke color, if omitted, will be picked up from the color
        property.  You can set either color to be transparent or partially transparent.  A fully transparent fill color is
        the way to achieve an "outline" effect where only stroking happens.

        Stroking and filling are both customizable inside the ::selection pseudo-element, and so when selecting you can
        vary colors and widths.

        text-shadow applies to both the stroke and the fill.

        text-decorations do not yet respect the stroke/fill colors.  This will follow in a later patch.

        Reviewed by mitz

        Added fast/text/stroking.html as a layout test.  Enhanced RenderTreeAsText.cpp to dump fill and stroke information.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::InlineFlowBox):
        (WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
        * rendering/InlineTextBox.cpp:
        (WebCore::updateGraphicsContext):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionForegroundColor):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
        (WebCore::StyleCSS3InheritedData::operator==):
        (WebCore::RenderStyle::diff):
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::textStrokeColor):
        (WebCore::RenderStyle::textStrokeWidth):
        (WebCore::RenderStyle::textFillColor):
        (WebCore::RenderStyle::setTextStrokeColor):
        (WebCore::RenderStyle::setTextStrokeWidth):
        (WebCore::RenderStyle::setTextFillColor):
        (WebCore::RenderStyle::initialTextStrokeWidth):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):

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

        Reviewed by Anders.

        - Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set

        Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler.

        Test: editing/selection/select-all-user-select-none.html

        * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Make sure canSelect is true on the root renderer.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::canSelectAll): Check canSelect here.
        (WebCore::HTMLSelectElement::selectAll): Added nil check for renderer.
        (WebCore::HTMLSelectElement::defaultEventHandler): Return early if the event has been handled.
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Check canSelect here.
        * html/HTMLSelectElement.h:

2006-12-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4701860> 
        http://bugs.webkit.org/show_bug.cgi?id=11010
        [9A255] Crash in WebCore::EventTargetNode::dispatchEvent
        
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::notifyFinished):
        Ref the script element while running the script since it can be freed
        when executing the script.

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

        Reviewed by Geoff.

        - <rdar://problem/4885227>
          frame resizing is now live and no longer does direct drawing

        * html/HTMLFrameSetElement.h: Made frameBorder() and noResize() const.
        Added rowLengths() and colLengths() getters so that we don't have to
        have RenderFrameSet as a friend. Stopped using bit fields.

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler): Removed now-uneeded
        check for contextmenu events. Look at return value from userResize to
        decide whether to mark the event as "default handled". In the case where
        the event is handled, don't call through to the base class.

        * rendering/RenderFrameSet.h: No longer mark HTMLFrameSetElement as a
        friend. Made positionFrames and canResize private, and changed canResize
        to take an IntPoint. Added isResizingRow, isResizingColumn, canResizeRow,
        and canResizeColumn functions to be used soon for cursor feedback.
        Removed override of non-virtual element() function and replaced it with
        a private frameSet() inline function. Grouped all the data members for
        each axis into a GridAxis class, and made one called m_cols and one called
        m_rows. Used vectors for the resizable bits of this instead of new/delete
        arrays. Added a constant named "noSplit" so we don't have to use -1
        everywhere explicitly for this purpose. Renamed setResizing to
        setIsResizing and made it private. Eliminated resizing() function.
        Added new private helper functions, layOutAxis, findNonResizableSplits,
        splitPosition, hitTestSplit, startResizing, and continueResizing.
        Renamed m_resizing to m_isResizing, and m_clientResizing to
        m_isChildResizing.

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::RenderFrameSet): Removed now-unneeded initialization
        that is handled by the GridAxis and Vector constructors.
        (WebCore::RenderFrameSet::~RenderFrameSet): Ditto (for destructors).
        (WebCore::RenderFrameSet::GridAxis::GridAxis): Added.
        (WebCore::RenderFrameSet::frameSet): Added. Inline function so we don't have
        to cast the result of node() or element() everywhere.
        (WebCore::RenderFrameSet::nodeAtPoint): Updated for name changes.
        (WebCore::RenderFrameSet::GridAxis::resize): Added. Helper function to be used
        in the layout function.
        (WebCore::RenderFrameSet::layOutAxis): Added. Factored out the part of the
        layout function that used to be inside a for loop for the two axes.
        The algorithm is otherwise unchanged.
        (WebCore::RenderFrameSet::findNonResizableSplits): Added. Factored out the
        code that set up the "split variable" arrays from the layout function.
        (WebCore::RenderFrameSet::layout): Moved the bulk of this function into the
        new helpers. This allowed me to remove the use of goto.
        (WebCore::RenderFrameSet::positionFrames): Updated for change to data structures.
        Also added some more local variables for clarity.
        (WebCore::RenderFrameSet::startResizing): Added. Code factored out of the
        userResize function that handles mousedown events that might begin a resize.
        (WebCore::RenderFrameSet::continueResizing): Added. Code factored out of the
        userResize function that handles mouse events that continue a resize already
        in progress, including mouseup events that end the resizing. Uses the new
        splitPosition function so it can be used over and over again while resizing.
        (WebCore::RenderFrameSet::userResize): Restructured to use the new helper
        functions. Removed the direct drawing of a gray bar during mouse movement;
        instead we do the resizing live.
        (WebCore::RenderFrameSet::setIsResizing): Updated for name changes.
        (WebCore::RenderFrameSet::isResizingRow): Added.
        (WebCore::RenderFrameSet::isResizingColumn): Added.
        (WebCore::RenderFrameSet::canResize): Changed to use hitTestSplit for clarity.
        (WebCore::RenderFrameSet::canResizeRow): Added.
        (WebCore::RenderFrameSet::canResizeColumn): Added.
        (WebCore::RenderFrameSet::splitPosition): Added.
        (WebCore::RenderFrameSet::hitTestSplit): Added. Contains the guts of the code
        that was used both in canResize and userResize before -- now it's shared.
        (WebCore::RenderFrameSet::dump): Updated for name changes.

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

        Reviewed by harrison
        
        Added Selection::removeAllRanges() and ::addRange()

        * bindings/js/kjs_window.cpp:
        (KJS::SelectionFunc::callAsFunction): Added the bindings for
        the two new functions.
        * bindings/js/kjs_window.h:
        (KJS::Selection::):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::removeAllRanges): Equivalent
        to clear().
        (WebCore::SelectionController::addRange): Until we support
        discontiguous selections, the new selected range is the 
        union of the old selected range and the passed range if
        the two intersect, and the old range if they don't.
        * editing/SelectionController.h:

2006-12-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4860924> outerHTML gives an out-of-date 
        result when applied to a clone

        We were only copying the m_inlineStyleDecl over to clones, but we 
        need to copy m_isStyleAttributeValid and 
        m_synchronizingStyleAttribute as well to know when we have to 
        update style, etc.

        * dom/StyledElement.cpp:
        (WebCore::StyledElement::copyNonAttributeProperties): Copy over all 
        three member variables.
        * dom/StyledElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::cloneNode): No longer need to copy the 
        inline style decl explicitly because copyNonAttributeProperties() 
        will take care of it.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::copyNonAttributeProperties): Call into 
        parent class implementation. This is important now that there is 
        more than one implementation of this function.

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

        Reviewed by Darin Adler.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=11880
        REGRESSION (r18304): Assertion failure in -[WebHTMLView _canProcessDragWithDraggingInfo:] 
        when dragging over the window's a scroll bar (innerFrame)
        
        RenderLayer needs to check 'active,' when deciding what to do if hit testing 
        hasn't hit anything, because we want the default hit testing mechanism to return the 
        document when we hit a scrollbar.
        
        This problem shows that the idea of 'capturing' was a little too ambitious
        in hit testing, at least given the current state of things. So, I've replaced
        'capturing' with 'mouseUp,' the condition that provided the immediate need
        for the capturing flag in the first place.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        * rendering/HitTestRequest.h: Removed 'capturing' 
        (WebCore::HitTestRequest::HitTestRequest):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

2006-12-19  Brady Eidson  <beidson@apple.com>

        Reviewed by Ada

        Added a logging channel for network activity for loader work

        * platform/Logging.cpp:
        (WebCore::):
        * platform/Logging.h:
        * platform/mac/LoggingMac.mm:
        (WebCore::InitializeLoggingChannelsIfNecessary):

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

        Reviewed by hyatt
        
        <rdar://problem/4888891>
        Docs & Spreadsheets: Comment fails to insert if text is selected in the document
        
        * dom/Range.cpp:
        (WebCore::Range::surroundContents): If startContainer is a text node,
        it will be split when the range is extracted, and it will be its parent
        that will have to accept newParent.  Also cleaned up some code with 
        isDescendantOf.

2006-12-19  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features

        * WebCore.xcodeproj/project.pbxproj:

2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Fix SVGList index validation (off-by-one error).

        Adding new testcase js-font-test.svg, which uses SVGLengthList interface.
        (This is a very old ksvg1 testcase, adopted for SVG1.1)

        * ksvg2/svg/SVGList.h:
        (WebCore::SVGList::getItem):
        (WebCore::SVGList::replaceItem):
        (WebCore::SVGList::removeItem):

2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

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

        Fix pattern on stroke/fill of text.

        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::notifyAttributeChange):
        * platform/graphics/svg/SVGPaintServerGradient.cpp:
        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):

2006-12-19  Alice Liu  <alice.liu@apple.com>

        Build fix

        * platform/graphics/ImageBuffer.cpp:

2006-12-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=7296
        JavaScript error not thrown when trying to set a CSS property to an invalid value

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put): When not in Dashboard compatibility mode,
        raise exception for invalid values. Also removed an unnecessary call to
        removeProperty(), which prevented the property value from being preserved in 
        error case.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::setProperty): Moved the handling of
        empty property values here. Also removed an unnecessary call to removeProperty().

2006-12-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adam.

        * dom/Document.h:
        * page/EventHandler.h:
        Use correct forward declarations for HitTestRequest.
        
2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fix, not reviewed.

        Fix Qt/Linux build. Missing GraphicsContext.h include.
        Fix Mac build, by adding lroundf() (I swear this compiled w/o that, locally :-)

        * platform/graphics/qt/ImageBufferQt.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:

2006-12-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam. Previous attempts reviewed by Oliver & Eric.

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

        Bring back masking, by adding off-screen rendering functionality in GraphicsContext.
        Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)"
        function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.)

        Mask image sizes are dynamically calculated using the passed bounding box in applyMask,
        as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048
        anymore, but are as well dynamically calculated using getAbsoluteRepaintRect().

        Add new ImageBuffer class encapsulating the size of the image, a platform-specific
        handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained
        via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees
        of the rendering tree into a ImageBuffer (see renderSubtreeToImage function)
        ImageBufferCG is completly implemented, ImageBufferQt is stubbed.

        Also add correct default values for x/y/width/height of <mask>.
        Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot.

        * CMakeLists.txt:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::attributeChanged):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        * ksvg2/svg/SVGPatternElement.h:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageBuffer.cpp: Added.
        (WebCore::ImageBuffer::renderSubtreeToImage):
        * platform/graphics/ImageBuffer.h: Added.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::createImageBuffer):
        * platform/graphics/cg/ImageBufferCG.cpp: Added.
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::size):
        (WebCore::ImageBuffer::context):
        (WebCore::ImageBuffer::cgImage):
        * platform/graphics/mac/GraphicsContextMac.mm:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::createImageBuffer):
        * platform/graphics/qt/ImageBufferQt.cpp: Added.
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::size):
        (WebCore::ImageBuffer::context):
        * platform/graphics/svg/SVGPaintServerGradient.h:
        * platform/graphics/svg/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::tile):
        (WebCore::SVGPaintServerPattern::setTile):
        * platform/graphics/svg/SVGPaintServerPattern.h:
        * platform/graphics/svg/SVGResourceImage.h: Removed.
        * platform/graphics/svg/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::setMask):
        (WebCore::SVGResourceMasker::mask):
        * platform/graphics/svg/SVGResourceMasker.h:
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::renderPath):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::patternCallback):
        (WebCore::SVGPaintServerPattern::setup):
        * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Removed.
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask):
        * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Removed.

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

        Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first
        constructing a GraphicsContextCG.  Because Safari actually draws text in the bookmarks bar using GraphicsContext
        and sets a fill color, this could only really be seen in another WebKit app.

        Patched GraphicsContextQt as well, since it has the same pattern.

        Reviewed by bdash

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::setCGFillColor):
        (WebCore::setCGStrokeColor):
        (WebCore::GraphicsContext::GraphicsContext):

2006-12-19  Lars Knoll <lars@trolltech.com>

        Reviewed by Rob.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::URL):\
                Fix a crash, because of the incompletely ported loader
        * platform/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs):
                Adapt to the changes in GraphicsContext

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

        Convert stroke thickness to a float.  This allows the thickness argument to strokeArc to be eliminated.
       
        Reviewed by olliej

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setStrokeThickness):
        (WebCore::GraphicsContext::strokeThickness):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::strokeArc):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::strokeArc):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc):

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

        Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in
        thickness.  Now the method is purely about stroking an arc and always uses the passed in thickness.   Fix the
        border-radius code that calls the method so that it makes more sense now.  If stroke thickness is converted
        to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc.

        Make sure to get square list markers right by setting both stroke and fill color properly.

        Reviewed by mitz, olliej

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::strokeArc):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::strokeArc):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc):

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

        Reviewed by Beth Dakin.

        Fixed <rdar://problem/4549745> REGRESSION: scrolling on Google maps 
        continues after the mouse is released outside the window (8137)
        
        The RenderLayer hit testing code assumed that, when the mouse was outside
        the WebView, we only needed to capture mouse events while the mouse was
        down (in other words, mouse move events). We actually need to capture mouse 
        up events, as well.

        * dom/Document.cpp:
        (WebCore::Document::prepareMouseEvent): To match EventHandler::prepareMouseEvent, 
        I changed this function to take a HitTestRequest instead of the broken-out values of one.
        For clarity, I moved an assert to top of function.
        (WebCore::Document::addMarker): Removed stray character.
        * dom/Document.h:

        * page/EventHandler.cpp: Changed prepareMouseEvent to take a HitTestRequest,
        instead of the broken-out values of one. This simplified the code, and made
        the task of adding an extra, optional parameter to hit testing much easier.
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseMoveEvent): Set the 'capturing' flag
        if the move occurs while the mouse is down. This replaces RenderLayer's
        heavy-handed assumption that we should always capture if the mouse is down.
        (WebCore::EventHandler::handleMouseReleaseEvent): Set the 'capturing'
        flag, since we assume every mouse up follows a mouse down inside the WebView.
        (We'd like to ASSERT as much, but DRT's event sending mechanism is crazy, and
        violates this axiom.)
        (WebCore::EventHandler::updateDragAndDrop):
        (WebCore::EventHandler::prepareMouseEvent):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::hoverTimerFired):
        * page/EventHandler.h:

        * rendering/HitTestRequest.h:
        (WebCore::HitTestRequest::HitTestRequest): Added 'capturing' data member,
        which specifies whether the hit test should capture mouse events that occur
        outside the WebView.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer): Moved misleading comment to where
        it actually applies. Changed 'active' test to new 'capturing' test, so
        the hit test requester can decide whether we need to capture mouse events
        that don't intersect any layer.

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

        Make sure a stroke style is set for list bullets.

        Reviewed by mitz

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):

2006-12-18  Ada Chan  <adachan@apple.com>

        Reviewed by Adam.

        Moved implementation of Frame::scheduleClose to Frame.cpp.
        Added canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
        in Chrome and ChromeClient.

        * WebCore.exp:
        * bridge/win/FrameWin.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::canRunBeforeUnloadConfirmPanel):
        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
        (WebCore::Chrome::closeWindowSoon):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Frame.cpp:
        (WebCore::Frame::shouldClose):
        (WebCore::Frame::scheduleClose):
        * page/Frame.h:
        * page/mac/FrameMac.h:
        * page/mac/FrameMac.mm:
        * page/mac/WebCoreFrameBridge.h:
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::issuePasteCommand):
        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQt.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::issuePasteCommand):

2006-12-18  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adam.

        Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didExplicitOpen):

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

        Add save/restore calls around the painting of text areas on Mac, since the methods in question
        alter the current fill color in CG destructively.

        Reviewed by olliej

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintButton):
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintTextArea):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintSliderThumb):

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

        Fix list markers to properly stroke and fill.  I screwed this up when changing how text draws.

        Reviewed by olliej

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):

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

        Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
        stroke color.  This also makes it easier for us to push only stroke color through into CG synchronously
        while leaving the others alone.

        Reviewed by olliej

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContext::setStrokeThickness):
        (WebCore::GraphicsContext::setStrokeStyle):
        (WebCore::GraphicsContext::setStrokeColor):
        (WebCore::GraphicsContext::strokeThickness):
        (WebCore::GraphicsContext::strokeStyle):
        (WebCore::GraphicsContext::strokeColor):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        * platform/graphics/GraphicsContext.h:
        (WebCore::):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQPenStyle):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeThickness):
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintDecorations):
        * rendering/InlineTextBox.cpp:
        (WebCore::updateTextColor):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintMarkedTextUnderline):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject):
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::userResize):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc):
        (WebCore::RenderObject::drawBorder):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        * rendering/RenderText.cpp:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButton):

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

        Reviewed by Adele.

        - fix <rdar://problem/4889565> REGRESSION (r17597): Command-clicking a submit
          button does not submit in a new tab/window
          http://bugs.webkit.org/show_bug.cgi?id=11858

        - change DOMActivate events to be created as a part of default handling of
          click events instead of having the sender of the click event also send
          a DOMActivate event

        - fixed some edge cases in the slider thumb element handler; since this is
          inside a shadow DOM, it's likely none of these can arise in practice

        No easy way to test the command-click part since the behavior is in Safari.
        To make a test we'd have to provide JavaScript access to the modifiers passed
        to the policy delegate or have some way to query the underlying event from
        JavaScript.

        * dom/EventTargetNode.cpp: Change all assert to ASSERT.
        (WebCore::EventTargetNode::dispatchMouseEvent): Renamed some local variables
        for clarity. Added a RefPtr for relatedTarget since it might be deallocated
        by the handlers for the click event and is used in the code that creates the
        dblclick event. Removed the code to create a DOMActivate event, since that's
        now done in the default event handler for the click event.
        (WebCore::EventTargetNode::defaultEventHandler): Added code to check for a
        click event and dispatch a DOMActivate event using the click event as the
        underlying event. The part of this that fixes the bug is that we use the
        click event as the underlying event; the old code used the same underlying
        event as for the click event, not the click event itself. The underlying event
        for the click event is usually 0, since we propagate the key state to the click
        event instead of using an underlying event in the common case.

        * dom/Document.cpp: (WebCore::Document::defaultEventHandler): Added call
        to the base class's defaultEventHandler function, except in the case where
        the event is already handled.

        * html/HTMLInputElement.h: Removed clickX() and clickY().
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::appendFormData): Use xPos and yPos directly,
        so we can remove clickX() and clickY().
        (WebCore::HTMLInputElement::defaultEventHandler): Removed code that calls
        setDefaultHandled for click events since we are just recording the x and y
        coordinates of the events; that's not "handling" an event, and setting
        the flag prevents us from calling the base class's default event handler,
        which is now needed to submmit the form.

        * rendering/RenderSlider.cpp:
        (WebCore::HTMLSliderThumbElement::defaultEventHandler):
        Added some missing isMouseEvent checks in code that casts to a MouseEvent.
        Added check document()->frame() in code that manipulates the frame so that
        fake events, which might happen when there's no frame, can't cause a crash.
        Added an m_inDragMode check so we don't try to handle mouseup events when
        we are not handling a drag. Remove the setDefaultHandled call from the
        mousemove case, because mousemove events are observed, and not "handled"
        in the "nobody else should look at this event" sense. Added a call to the
        base class's default event handler, and some return statements so that we
        won't call it when the event has been handled.

        * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
        Removed an unneeded "return" for a function that has no return value.

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

        Reviewed by Adele.

        Fix for <rdar://problem/4749770> WebCore crashes on a blog website 
        in WebCore::InlineBox::root() + 6

        We null-check inlineBoxWrapper everywhere else in the code except 
        for these 3 spots. This patch adds them in. Only one of the checks 
        is required to fix the crash. What we render for the test case now 
        matches shipping Safari, but still seems wrong because we do not 
        match Firefox. I will file a follow-up about the rendering problem.

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::positionListMarker): This is the required 
        null-check. 
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::setSelectionState): Null-check for 
        safety. 
        (WebCore::RenderListMarker::selectionRect): Same.

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

        Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
        call on Mac.  Fix is rather involved:

        (1) Fill color is now updated in CG synchronously.  There is no more delay in the push.  I used the model that
        Qt added for this, setPlatformFillColor, so we're the same now.

        (2) Text was being drawn using the pen color, which is tantamount to using the stroke color.  Since text in HTML
        is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
        of the pen.

        (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
        Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
        method on their Font class to get the new functionality.

        (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.

        (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
        as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.

        Reviewed by olliej

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContext::textDrawingMode):
        (WebCore::GraphicsContext::setTextDrawingMode):
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        (WebCore::GraphicsContext::setPlatformPen):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
        (WebCore::GraphicsContext::setPlatformFillColor):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        (WebCore::SVGPaintServerPattern::teardown):
        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::correctedTextColor):
        (WebCore::updateTextColor):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):

2006-12-18  Matt Perry  <mpcomplete@chromium.org>

        Reviewed by Maciej.

        Bug 11760: Animated GIFs with offsets crash WebKit
        http://bugs.webkit.org/show_bug.cgi?id=11760

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        ensure we don't write past the end of the image buffer when the offset
        is nonzero.  also fix the way we composite frames when animating.
        (WebCore::GIFImageDecoder::initFrameBuffer):
        (WebCore::GIFImageDecoder::haveDecodedRow):

2006-12-18  Pam Greene  <pam@chromium.org>

        Reviewed by Darin.

        Changed hidden input controls to reset to their initial values
        when the form is reset.  Also added layout tests for resetting
        other input controls.

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

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):

2006-12-18  Alice Liu  <alice.liu@apple.com>

        Oops forgot a file. 

        * editing/EditorDeleteAction.h: Added.
        (WebCore::):

2006-12-18  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adam.

        Have the Editor handle deletion instead of WebHTMLView

        * WebCore.exp:
        Exposed Editor::deleteWithDirection and ::deleteRange()

        * WebCore.xcodeproj/project.pbxproj:
        Added EditorDeleteAction.h

        * editing/Editor.cpp:
        (WebCore::Editor::deleteRange):
        (WebCore::Editor::deleteWithDirection):
        Implemented

        (WebCore::Editor::deleteSelectionWithSmartDelete):
        Overloaded to take no params, in which case canSmartCopyOrDelete is called

        (WebCore::execCopy):
        (WebCore::execCut):
        (WebCore::execDelete):
        (WebCore::execPaste):
        Call the editor instead of asking frame to cut/copy/paste/delete

        (WebCore::execBackwardDelete):
        (WebCore::execForwardDelete):
        Call deleteWithDirection instead of just executing a TypingCommand

        (WebCore::CommandEntry::):
        distinguished delete (which deletes selection) from backwards delete (single character, no selection)

        (WebCore::Editor::cut):
        (WebCore::Editor::performDelete):
        Trivial changes

        * editing/Editor.h:
        Added some functons.
        (WebCore::Editor::setStartNewKillRingSequence):
        (WebCore::Editor::propogateDOMException):
        (WebCore::Editor::addToKillRing):
        * editing/mac/EditorMac.mm:
        Factored out support for Kill Rings to this file

        * platform/mac/PasteboardMac.mm:
        Trivial change

2006-12-18  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Oliver.

        - Removed CG header include

        * platform/graphics/ImageSource.h:

2006-12-18  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Hatcher

        - fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange() 
          when I ctrl-click in a empty list item

        * editing/mac/EditorMac.mm:
        (WebCore::isRangeUngrammatical):
        bail out immediately for nil range (which selectionController()->toRange().get()
        can return). Also save some work by bailing out immediately for collapsed ranges.

2006-12-18  Alice Liu  <alice.liu@apple.com>

        Leopard build fix.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2006-12-17  Zack Rusin  <zack@kde.org>

        Fix compilation after the const changes.

        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

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

        Long standing regression. The old code in FontMac.mm, used set the fill/stroke
        color "[nsColor(graphicsContext->pen().color()) set];", and current code only
        sets the fill color. Reverting to old behaviour fixes gradient-on-stroke-of-text.

        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::setup):
        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):

2006-12-17  Lars Naesbye Christensen  <lars@naesbye.dk>

        Reviewed, tweaked and landed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11798
        [CSS 3] missing cursor support for 'none'

        * Resources/noneCursor.png: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp: Also fixed previously broken -webkit-background-composite: copy.
        * manual-tests/cursor.html:
        * page/EventHandler.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/gdk/CursorGdk.cpp:
        (WebCore::noneCursor):
        * platform/mac/CursorMac.mm:
        (WebCore::noneCursor):
        * platform/qt/CursorQt.cpp:
        (WebCore::noneCursor):
        * platform/win/CursorWin.cpp:
        (WebCore::noneCursor):
        * rendering/RenderStyle.h:
        (WebCore::):

2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Build fix, not reviewed.

        This should hopefully fix Qt build.

        * ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.

2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

        Remove SVGHelper class. Move the last static function "parseSeparatedList"
        to the only place using it: SVGAnimationElement. Update all build files.

        Remove any lazy_create macro usage, by what it does - cleaner.

        * CMakeLists.txt:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::parseSeparatedList):
        (WebCore::SVGAnimationElement::parseMappedAttribute):
        * ksvg2/svg/SVGCircleElement.cpp:
        * ksvg2/svg/SVGClipPathElement.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGCursorElement.cpp:
        * 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/SVGFilterElement.cpp:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        * ksvg2/svg/SVGGradientElement.cpp:
        * ksvg2/svg/SVGHelper.cpp: Removed.
        * ksvg2/svg/SVGHelper.h: Removed.
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLength.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/SVGStopElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGSymbolElement.cpp:
        * ksvg2/svg/SVGTests.cpp:
        * ksvg2/svg/SVGTextContentElement.cpp:
        * ksvg2/svg/SVGTextElement.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:

2006-12-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

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

        Pass SVGLength around by value, remove any SVGLength* usage.
        Bindings work fine, as the SVG POD JS Wrapper stuff is already in svn.

        No new regressions, none fixed. But the code itself is much cleaner.
        And some problems with width-full-percentage.svg have been fixed, viewport
        clipping works in any case now, also for percentual width/height values set on <svg>.

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * ksvg2/svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        (WebCore::SVGCircleElement::parseMappedAttribute):
        (WebCore::SVGCircleElement::toPathData):
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::SVGCursorElement):
        (WebCore::SVGCursorElement::parseMappedAttribute):
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        (WebCore::SVGEllipseElement::parseMappedAttribute):
        (WebCore::SVGEllipseElement::toPathData):
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        (WebCore::SVGFilterElement::parseMappedAttribute):
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
        (WebCore::SVGForeignObjectElement::createRenderer):
        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::parseSeparatedList):
        * ksvg2/svg/SVGHelper.h:
        * ksvg2/svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::SVGImageElement):
        (WebCore::SVGImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::storeUnit):
        (WebCore::extractMode):
        (WebCore::extractType):
        (WebCore::lengthTypeToString):
        (WebCore::stringToLengthType):
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::unitType):
        (WebCore::SVGLength::value):
        (WebCore::SVGLength::setValue):
        (WebCore::SVGLength::setValueInSpecifiedUnits):
        (WebCore::SVGLength::setValueAsString):
        (WebCore::SVGLength::valueAsString):
        (WebCore::SVGLength::newValueSpecifiedUnits):
        (WebCore::SVGLength::convertToSpecifiedUnits):
        (WebCore::SVGLength::isFraction):
        (WebCore::SVGLength::dpi):
        (WebCore::SVGLength::PercentageOfViewport):
        * ksvg2/svg/SVGLength.h:
        (WebCore::):
        (WebCore::SVGLength::):
        * ksvg2/svg/SVGLength.idl:
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::SVGLengthList):
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::SVGLineElement):
        (WebCore::SVGLineElement::parseMappedAttribute):
        (WebCore::SVGLineElement::toPathData):
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        (WebCore::SVGLinearGradientElement::parseMappedAttribute):
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::attributeChanged):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        (WebCore::SVGRectElement::parseMappedAttribute):
        (WebCore::SVGRectElement::toPathData):
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::createSVGLength):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        (WebCore::SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::SVGUseElement):
        (WebCore::SVGUseElement::parseMappedAttribute):
        (WebCore::SVGUseElement::closeRenderer):
        * ksvg2/svg/SVGUseElement.h:
        * page/EventHandler.cpp:
        (WebCore::selectCursor):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::translationForAttributes):
        * rendering/RenderPath.cpp:
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::calcViewport):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::relativeBBox):
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        (WebCore::RenderSVGImage::translationForAttributes):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::translateBox):
        (WebCore::placePositionedBoxesHorizontally):
        (WebCore::placeBoxesVerticallyWithAbsBaseline):

2006-12-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
        Update renderName() methods to return current class names.

        * rendering/RenderPath.h:
        (WebCore::RenderPath::renderName): Returns "RenderPath" instead of "KCanvasItem".
        * rendering/RenderSVGContainer.h:
        (WebCore::RenderSVGContainer::renderName): Returns "RenderSVGContainer" instead of "KCanvasContainer".
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::renderName): Returns "RenderTextControl" instead of "RenderTextField".

2006-12-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Mitz.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
        Code Cleanup for more of the rendering code

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::calcMinMaxWidth):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::RenderText):
        (WebCore::RenderText::setStyle):
        (WebCore::RenderText::destroy):
        (WebCore::RenderText::attachTextBox):
        (WebCore::RenderText::findNextInlineTextBox):
        (WebCore::RenderText::positionForCoordinates):
        (WebCore::firstRendererOnNextLine):
        (WebCore::lastRendererOnPrevLine):
        (WebCore::RenderText::caretRect):
        (WebCore::RenderText::posOfChar):
        (WebCore::RenderText::allAscii):
        (WebCore::RenderText::shouldUseMonospaceCache):
        (WebCore::RenderText::cacheWidths):
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::trimmedMinMaxWidth):
        (WebCore::RenderText::calcMinMaxWidth):
        (WebCore::isSpaceAccordingToStyle):
        (WebCore::RenderText::containsOnlyWhitespace):
        (WebCore::RenderText::minXPos):
        (WebCore::RenderText::setSelectionState):
        (WebCore::RenderText::setTextWithOffset):
        (WebCore::RenderText::setText):
        (WebCore::RenderText::position):
        (WebCore::RenderText::width):
        (WebCore::RenderText::getAbsoluteRepaintRect):
        (WebCore::RenderText::selectionRect):
        (WebCore::RenderText::verticalPositionHint):
        (WebCore::RenderText::font):
        (WebCore::RenderText::caretMinOffset):
        (WebCore::RenderText::caretMaxOffset):
        (WebCore::RenderText::previousOffset):
        (WebCore::RenderText::nextOffset):
        (WebCore::RenderText::inlineBox):
        * rendering/RenderText.h:
        (WebCore::RenderText::isTextFragment):
        (WebCore::RenderText::data):
        (WebCore::RenderText::string):
        (WebCore::RenderText::paint):
        (WebCore::RenderText::layout):
        (WebCore::RenderText::nodeAtPoint):
        (WebCore::RenderText::length):
        (WebCore::RenderText::text):
        (WebCore::RenderText::stringLength):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::setStyle):
        (WebCore::disabledTextColor):
        (WebCore::RenderTextControl::createInnerBlockStyle):
        (WebCore::RenderTextControl::createInnerTextStyle):
        (WebCore::RenderTextControl::createResultsButtonStyle):
        (WebCore::RenderTextControl::createCancelButtonStyle):
        (WebCore::RenderTextControl::showPlaceholderIfNeeded):
        (WebCore::RenderTextControl::hidePlaceholderIfNeeded):
        (WebCore::RenderTextControl::createSubtreeIfNeeded):
        (WebCore::RenderTextControl::updateFromElement):
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::setSelectionRange):
        (WebCore::RenderTextControl::visiblePositionForIndex):
        (WebCore::RenderTextControl::subtreeHasChanged):
        (WebCore::RenderTextControl::textWithHardLineBreaks):
        (WebCore::RenderTextControl::calcHeight):
        (WebCore::RenderTextControl::nodeAtPoint):
        (WebCore::RenderTextControl::layout):
        (WebCore::RenderTextControl::calcMinMaxWidth):
        (WebCore::RenderTextControl::addSearchResult):
        (WebCore::RenderTextControl::showPopup):
        (WebCore::RenderTextControl::itemText):
        (WebCore::RenderTextControl::itemIsEnabled):
        (WebCore::RenderTextControl::listSize):
        (WebCore::RenderTextControl::scroll):
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::renderName):
        (WebCore::RenderTextControl::removeLeftoverAnonymousBoxes):
        * rendering/RenderTextFragment.cpp:
        (WebCore::RenderTextFragment::RenderTextFragment):
        (WebCore::RenderTextFragment::originalString):
        * rendering/RenderTextFragment.h:
        (WebCore::RenderTextFragment::isTextFragment):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::stateChanged):
        (WebCore::RenderTheme::adjustCheckboxStyle):
        (WebCore::RenderTheme::adjustRadioStyle):
        * rendering/RenderTheme.h:
        (WebCore::):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::RenderThemeMac):
        (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeMac::systemFont):
        (WebCore::RenderThemeMac::isControlStyled):
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::RenderThemeMac::updateCheckedState):
        (WebCore::RenderThemeMac::controlSupportsTints):
        (WebCore::RenderThemeMac::setFontFromControlSize):
        (WebCore::RenderThemeMac::paintCheckbox):
        (WebCore::RenderThemeMac::checkboxMargins):
        (WebCore::RenderThemeMac::setCheckboxCellState):
        (WebCore::RenderThemeMac::setCheckboxSize):
        (WebCore::RenderThemeMac::paintRadio):
        (WebCore::RenderThemeMac::radioMargins):
        (WebCore::RenderThemeMac::setRadioCellState):
        (WebCore::RenderThemeMac::setRadioSize):
        (WebCore::RenderThemeMac::adjustButtonStyle):
        (WebCore::RenderThemeMac::buttonMargins):
        (WebCore::RenderThemeMac::setButtonSize):
        (WebCore::RenderThemeMac::setButtonCellState):
        (WebCore::RenderThemeMac::adjustTextFieldStyle):
        (WebCore::RenderThemeMac::adjustTextAreaStyle):
        (WebCore::RenderThemeMac::popupButtonMargins):
        (WebCore::RenderThemeMac::popupButtonPadding):
        (WebCore::TopGradientInterpolate):
        (WebCore::BottomGradientInterpolate):
        (WebCore::MainGradientInterpolate):
        (WebCore::TrackGradientInterpolate):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintSliderThumb):
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::setSearchCellState):
        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeIndent):
        (WebCore::printBorderStyle):
        (WebCore::getTagName):
        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
        (WebCore::writeTextRun):
        (WebCore::write):
        (WebCore::writeLayers):
        (WebCore::nodePosition):
        (WebCore::writeSelection):
        * rendering/RenderTreeAsText.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::calcMinMaxWidth):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::absolutePosition):
        (WebCore::RenderView::paint):
        (WebCore::RenderView::repaintViewRectangle):
        (WebCore::rendererAfterPosition):
        (WebCore::RenderView::selectionRect):
        (WebCore::RenderView::setSelection):
        (WebCore::RenderView::selectionStartEnd):
        (WebCore::RenderView::updateWidgetPositions):
        (WebCore::RenderView::addWidget):
        (WebCore::RenderView::removeWidget):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::docHeight):
        (WebCore::RenderView::docWidth):
        (WebCore::RenderView::setBestTruncatedAt):
        * rendering/RenderView.h:
        (WebCore::RenderView::renderName):
        (WebCore::RenderView::selectionStart):
        (WebCore::RenderView::selectionEnd):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):
        (WebCore::RenderWidget::resizeWidget):
        (WebCore::RenderWidget::setStyle):
        (WebCore::RenderWidget::paint):
        (WebCore::RenderWidget::updateWidgetPosition):
        (WebCore::RenderWidget::setSelectionState):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::placeEllipsis):
        (WebCore::RootInlineBox::fillLineSelectionGap):
        (WebCore::RootInlineBox::selectionState):
        (WebCore::RootInlineBox::firstSelectedBox):
        (WebCore::RootInlineBox::lastSelectedBox):
        (WebCore::RootInlineBox::selectionTop):
        (WebCore::RootInlineBox::closestLeafChildForXPos):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::isRootInlineBox):
        (WebCore::RootInlineBox::setVerticalOverflowPositions):
        (WebCore::RootInlineBox::setHorizontalOverflowPositions):
        (WebCore::RootInlineBox::setVerticalSelectionPositions):
        (WebCore::RootInlineBox::lineBreakObj):
        (WebCore::RootInlineBox::lineBreakPos):
        (WebCore::RootInlineBox::setLineBreakPos):
        (WebCore::RootInlineBox::blockHeight):
        (WebCore::RootInlineBox::setBlockHeight):
        (WebCore::RootInlineBox::endsWithBreak):
        (WebCore::RootInlineBox::setEndsWithBreak):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):
        (WebCore::paintSVGInlineFlow):
        (WebCore::translateBox):
        (WebCore::placePositionedBoxesHorizontally):
        (WebCore::placeBoxesVerticallyWithAbsBaseline):
        (WebCore::placeSVGFlowVertically):
        * rendering/SVGInlineFlowBox.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::TextStreamSeparator::TextStreamSeparator):
        (WebCore::operator<<):
        (WebCore::hasFractions):
        (WebCore::writeIndent):
        (WebCore::writeStyle):
        (WebCore::getTagName):
        (WebCore::write):
        (WebCore::writeRenderResources):
        * rendering/SVGRenderTreeAsText.h:
        (WebCore::operator<<):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::paint):
        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
        * rendering/SVGRootInlineBox.h:
        * rendering/TableLayout.h:

2006-12-16  Adam Roben  <aroben@apple.com>

        Build fixes.

        * platform/ContextMenuItem.h: Fixed const declarations.
        * platform/mac/ContextMenuItemMac.mm: Dito.
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

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

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11189
        <rdar://problem/4770249> REGRESSION (NativeListBox): When a list box has focus, pressing command- A (select all) doesn't selected all items in list

        Test: fast/forms/listbox-select-all.html

        * dom/Node.h: We should try to find a more appropriate place to put these methods.
        (WebCore::Node::canSelectAll): Added.
        (WebCore::Node::selectAll): Added.
        * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Before selecting editable content, give the focused node
          a chance to select its content.
        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectAll): Selects all items in a multi-select list box.  Single-select
          list boxes will just do nothing, but we still want the select to handle this case when it has focus, rather than selecting other content.
        * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canSelectAll): Returns true for list boxes.

2006-12-16  Zack Rusin  <zack@kde.org>

        Add a stub for SearchPopupMenu for Qt code.

        * platform/qt/SearchPopupMenuQt.cpp: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):

2006-12-16  Zack Rusin  <zack@kde.org>

        Make it compile after last nights changes.

        * WebCore.pro:
        * loader/qt/DocumentLoaderQt.cpp:
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::prepareForLoadStart):
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::insertItem):
        * platform/qt/TemporaryLinkStubs.cpp:

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

        One more...

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

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

        Missed one instance of isNonWidgetTextField.

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

2006-12-16  Hunter L. Williams <hlwebkit@gmail.com>

        Reviewed by Adele.

        Fix mouse wheel scrolling in <textarea> controls.

        * rendering/RenderTextControl.cpp:
        * rendering/RenderTextControl.h:
        Override |scroll| on RenderTextControl to forward the call to the RenderObject of the 
        inner m_innerText, which has a layer that can be scrolled.

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

        RS by Adam.

        Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable):
        (WebCore::HTMLInputElement::isMouseFocusable):
        (WebCore::HTMLInputElement::focus):
        (WebCore::HTMLInputElement::updateFocusAppearance):
        (WebCore::HTMLInputElement::aboutToUnload):
        (WebCore::HTMLInputElement::dispatchFocusEvent):
        (WebCore::HTMLInputElement::dispatchBlurEvent):
        (WebCore::HTMLInputElement::setValue):
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isTextField):
        * html/HTMLTextFieldInnerElement.cpp:
        (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler):
        * platform/TextField.h: Removed.
        * platform/mac/TextFieldMac.mm: Removed.
        * platform/mac/WebCoreTextField.h: Removed.
        * platform/mac/WebCoreTextField.mm: Removed.
        * rendering/RenderLineEdit.cpp: Removed.
        * rendering/RenderLineEdit.h: Removed.

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

        Two more files I forgot to svn add for search fields.

        * platform/SearchPopupMenu.h: Added.
        (WebCore::SearchPopupMenu::create):
        * platform/mac/SearchPopupMenuMac.mm: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::autosaveKey):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):

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

        Reviewed by Adam.

        * platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
        (WebCore::PopupMenuClient::~PopupMenuClient):

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

        Reviewed by Adam.

        WebCore part of fix for:
        <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">

        * WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.

        Added pseudo classes and corresponding values for -webkit appearance for the cancel button and for the three types of "decoration" that 
        correspond to the different functions of the magnifier glass in the search field.  One for the button that will show and hide the
        recent searches menu.  One for decoration when the results attribute is set, but no results are saved.  And one for decoration
        when no results attribute is set.  We added these different pseudo elements so that RenderTextControl can decide which pseudo class
        is appropriate, and each theme can decide for itself which kind of image is appropriate for each function.
        
        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h: (WebCore::CSSSelector::): Added to PseudoType enum.
        * css/CSSValueKeywords.in: Added searchfield-decoration, searchfield-results-decoration, searchfield-results-button, searchfield-cancel-button values.
        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): Added cases for -webkit-search-cancel-button, 
          -webkit-search-decoration, -webkit-search-results-decoration, -webkit-search-results-button
        * rendering/RenderStyle.cpp: Addes new pseudoBits for matching pseudoIds.
        (WebCore::):
        (WebCore::pseudoBit):
        * rendering/RenderStyle.h: Added new appearance values and pseudoIds.
        (WebCore::):
        (WebCore::RenderStyle::):
        * css/html4.css: Added style for input[type=search], and the new pseudo elements.

        The structure of the shadow DOM for new search field adds an intermediate block that contains 3 inline-blocks for the magnifier, text element, and cancel button.
        Since the tree has become deeper, some editing and event code that used to check for a shadowParent, really needs to check the shadowAncestorNode.

        * editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): Check shadowAncestorNode instead of shadowParentNode.
        * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): ditto.
        * editing/htmlediting.cpp:
        (WebCore::firstEditablePositionAfterPositionInRoot): ditto.
        (WebCore::lastEditablePositionBeforePositionInRoot): ditto.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): ditto.
        (WebCore::ReplaceSelectionCommand::shouldMerge): Nil check enclosingBlock call.  I ran into this while testing search fields in mixed editability.
        (WebCore::ReplaceSelectionCommand::doApply): ditto.

        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Remove use of RenderLineEdit.
        * html/HTMLInputElement.cpp:
        (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::parseMappedAttribute): ditto.
        (WebCore::HTMLInputElement::createRenderer): ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): ditto.
        (WebCore::HTMLInputElement::addSearchResult): Added. Calls addSearchResult on the renderer.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isNonWidgetTextField): Added case for search field.
        (WebCore::HTMLInputElement::isSearchField): Added.

        * platform/PopupMenu.h: Broke PopupMenuClient out into a separate file.
        * platform/PopupMenuClient.h: Added.
        (WebCore::PopupMenuClient::~PopupMenuClient):
        * platform/graphics/Icon.h:

        * platform/SearchPopupMenu.h: Added. Saves and loads recent search vector.
        (WebCore::SearchPopupMenu::create):
        * platform/mac/SearchPopupMenuMac.mm: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::autosaveKey):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):

        * html/HTMLTextFieldInnerElement.h: Reorganized this class.
          Added subclasses HTMLTextFieldInnerTextElement, HTMLSearchFieldResultsButtonElement, HTMLSearchFieldCancelButtonElement
        (WebCore::HTMLTextFieldInnerElement::isMouseFocusable): Added.  Returns false so setFocusNodeIfNeeded 
         will try to focus the input element instead of nodes in the shadow tree.
        (WebCore::HTMLTextFieldInnerElement::isShadowNode): Now returns whether or not a shadowParent has been specified.
         * html/HTMLTextFieldInnerElement.cpp:
        (WebCore::HTMLTextFieldInnerTextElement::HTMLTextFieldInnerTextElement):
        (WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Moved this from the old HTMLTextFieldInnerElement class.
        (WebCore::HTMLSearchFieldResultsButtonElement::HTMLSearchFieldResultsButtonElement):
        (WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): Shows and hides recent searches menu.
        (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
        (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): On mouse up, clears the value from the text field.

       * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listSize): Changed return type to unsigned.
        * rendering/RenderMenuList.h: (WebCore::RenderMenuList::valueShouldChangeOnHotTrack): Added.
        
        * WebCore.exp: Export _wkDrawTextFieldCellFocusRing.
        * platform/mac/WebCoreSystemInterface.h: Added wkDrawTextFieldCellFocusRing
        * platform/mac/WebCoreSystemInterface.mm: ditto.

        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::popupIsVisible): Added so HTMLSearchFieldResultsButtonElement knows whether or not the menu is already up.
        (WebCore::RenderTextControl::shouldPopOver): Added as a PopupClient method so the results menu shows up under the control instead of over.
        (WebCore::RenderTextControl::valueShouldChangeOnHotTrack):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::RenderTextControl): Initialize m_placeholderIsVisible, m_searchPopup, and m_searchPopupIsVisible.
        (WebCore::RenderTextControl::~RenderTextControl): Detach the node at the top of the shadow tree (m_innerBlock for search fields, and m_innerText for other text controls).
        (WebCore::RenderTextControl::setStyle): Sets style on new elements.
        (WebCore::disabledTextColor): Added so this can be used in setPlaceholder.
        (WebCore::RenderTextControl::createInnerBlockStyle): Added.
        (WebCore::RenderTextControl::createInnerTextStyle): Added.
        (WebCore::RenderTextControl::createResultsButtonStyle): Added.
        (WebCore::RenderTextControl::createCancelButtonStyle): Added.
        (WebCore::RenderTextControl::showPlaceholderIfNeeded): Added. Shows the placeholder if there's no value and the field doesn't have focus.
        (WebCore::RenderTextControl::hidePlaceholderIfNeeded): Added. Clears the placeholder if there's a value or the field has focus. 
        (WebCore::RenderTextControl::createSubtreeIfNeeded): Added. Creates all of the shadow tree elements.
        (WebCore::RenderTextControl::updateFromElement): Calls showPlaceholderIfNeeded.
        (WebCore::RenderTextControl::visiblePositionForIndex): Renaming (m_div to m_innerText).
        (WebCore::RenderTextControl::indexForVisiblePosition): ditto.
        (WebCore::RenderTextControl::updateCancelButtonVisibility): Shows and hides cancel button based on the value of the control.
        (WebCore::RenderTextControl::subtreeHasChanged): Fires onSearch if the incremental attribute is set.
        (WebCore::RenderTextControl::text): Renaming.
        (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
        (WebCore::RenderTextControl::calcHeight): Take the size of the results button and cancel button into account when calculating height.
        (WebCore::RenderTextControl::nodeAtPoint): Act as if we've hit the shadow tree elements based on the x coordinate of the mouse event.
        (WebCore::RenderTextControl::layout): Set the height and width of the text block taking the other shadow tree elements into account.
        (WebCore::RenderTextControl::calcMinMaxWidth): Take new shadow tree elements into account when calculating width.
        (WebCore::RenderTextControl::forwardEvent): Forward events to appropriate shadow nodes.
        (WebCore::RenderTextControl::scrollWidth): Renaming.
        (WebCore::RenderTextControl::scrollHeight): ditto.
        (WebCore::RenderTextControl::scrollLeft): ditto.
        (WebCore::RenderTextControl::scrollTop): ditto.
        (WebCore::RenderTextControl::setScrollLeft): ditto.
        (WebCore::RenderTextControl::setScrollTop): ditto.
        (WebCore::RenderTextControl::autosaveName): ditto.
        (WebCore::RenderTextControl::addSearchResult): Added. Saves value to search result list.
        (WebCore::RenderTextControl::onSearch): Added. Dispatches search event.
        (WebCore::RenderTextControl::showPopup): Added. Loads searches, and displays menu.
        (WebCore::RenderTextControl::hidePopup): Added PopupClient method.
        (WebCore::RenderTextControl::valueChanged): Added PopupClient method. Interprets the selected menu item index, and either sets the value and 
         fires onSearch, or clears all recent searches for this autosave name.
        (WebCore::RenderTextControl::itemText): Added PopupClient method.
        (WebCore::RenderTextControl::itemIsEnabled): Added PopupClient method.
        (WebCore::RenderTextControl::itemStyle): ditto.
        (WebCore::RenderTextControl::clientStyle): ditto.
        (WebCore::RenderTextControl::clientDocument): ditto.
        (WebCore::RenderTextControl::clientPaddingLeft): ditto.
        (WebCore::RenderTextControl::clientPaddingRight): ditto.
        (WebCore::RenderTextControl::listSize): ditto.
        (WebCore::RenderTextControl::selectedIndex): ditto.
        (WebCore::RenderTextControl::itemIsSeparator): ditto.
        (WebCore::RenderTextControl::itemIsLabel): ditto.
        (WebCore::RenderTextControl::itemIsSelected): ditto.
        (WebCore::RenderTextControl::setTextFromItem): ditto.

        * rendering/RenderTheme.cpp: Added search field theme.
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::isControlStyled): Returns false for search fields, until we've worked out the kinks.
        (WebCore::RenderTheme::adjustSearchFieldStyle):
        (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
        (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintSearchField):
        (WebCore::RenderTheme::paintSearchFieldCancelButton):
        (WebCore::RenderTheme::paintSearchFieldDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
        (WebCore::RenderTheme::paintSearchFieldResultsButton):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::RenderThemeMac):
        (WebCore::RenderThemeMac::sizeForSystemFont): Added.  Compares style's font to systemFontSizeForControlSize to determine
         what controlSize to use after a style's font has already been initially adjusted.
        (WebCore::RenderThemeMac::controlSizeForSystemFont): Added. ditto.
        (WebCore::RenderThemeMac::paintCheckbox):
        (WebCore::RenderThemeMac::paintRadio):
        (WebCore::RenderThemeMac::menuListSizes): 
        (WebCore::RenderThemeMac::minimumMenuListSize): Uses sizeForSystemFont instead of hardcoded adjusted font sizes.
        (WebCore::RenderThemeMac::paintSearchField):
        (WebCore::RenderThemeMac::setSearchCellState):
        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
        (WebCore::RenderThemeMac::cancelButtonSizes):
        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeMac::resultsButtonSizes):
        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
        (WebCore::RenderThemeMac::paintSearchFieldDecoration):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):

2006-12-16  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam (and partially Geoff).

        Primarily, this patch gives WebCore context menus the ability to
        enable/disable and set state. It does a few other things along the
        way, though. Some of the more noticeable things:
               -Re-architects the ContextMenuItem class a bit so that the
                ownership model is a bit less confusing. ContextMenuItem is
                now *purely* a wrapper for the platformDescription. There
                are no other member variables. If you ever need the
                platformDescription outside of the MenuItem class, you have
                to call releasePlatformDescription(), which transfers
                ownership of the platformDescription to the caller.
               -Moves fontForSelection() from FrameMac into Editor.cpp.
                Turns out I don't need to use this function for my patch
                after all, but it doesn't seem like a terrible idea to move
                it anyway since we seem to be moving things from FrameMac
                into Editor these days anyway.

        * WebCore.exp:
        * editing/Editor.cpp:
        (WebCore::Editor::fontForSelection): Moved in from FrameMac.
        * editing/Editor.h: Same, and name change.
        * editing/mac/EditorMac.mm: Name change.
        * page/ContextMenuClient.h: contextMenuItemSelected() has to take a
        pointer to the parent context menu since ContextMenuItem no longer
        holds on to it.
        * page/ContextMenuController.cpp: Same.
        (WebCore::ContextMenuController::contextMenuItemSelected): Same.
        * page/mac/FrameMac.h: Move fontForSelection to Editor
        * page/mac/FrameMac.mm: Same.
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge fontForSelection:]): Account for above.
        * platform/ContextMenu.cpp:
        (WebCore::separatorItem): Can't be const because appendItem now
        expects a non-const menu item.
        (WebCore::createAndAppendFontSubMenu): Change name for clarity.
        (WebCore::createAndAppendSpellingAndGrammarSubMenu): Same.
        (WebCore::createAndAppendSpellingSubMenu): Same.
        (WebCore::createAndAppendSpeechSubMenu): Same.
        (WebCore::createAndAppendWritingDirectionSubMenu): Same.
        (WebCore::ContextMenu::populate): Account for above.
        (WebCore::triStateToBool): New helper.
        (WebCore::ContextMenu::checkOrEnableIfNeeded): Transfers
        logic from WebHTMLView into WebCore to determine if menu items are
        enabled or disabled and to determine if they require a check.
        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h: Re-factored stuff so that our only
        member variable is the platform description.
        (WebCore::): Get rid of if-def.
        * platform/cf/RetainPtr.h: Add releaseRef like in PassRefPtr.
        (WebCore::RetainPtr::releaseRef):
        * platform/mac/ContextMenuItemMac.mm: Same as .h
        (WebCore::ContextMenuItem::ContextMenuItem): Same.
        (WebCore::ContextMenuItem::releasePlatformDescription): Same.
        (WebCore::ContextMenuItem::type): Same.
        (WebCore::ContextMenuItem::platformSubMenu): Same.
        (WebCore::ContextMenuItem::setType): Same.
        (WebCore::ContextMenuItem::setTitle): Same.
        (WebCore::ContextMenuItem::setSubMenu): Same.
        (WebCore::ContextMenuItem::setChecked): Same.
        (WebCore::ContextMenuItem::setEnabled): Same.
        * platform/mac/ContextMenuMac.mm:
        (-[WebCoreMenuTarget forwardContextMenuAction:]): Don't set the
        parent menu.
        (WebCore::setMenuItemTarget):
        (WebCore::ContextMenu::appendItem): Call releasePlatformDescription
        (WebCore::ContextMenu::insertItem): Same.

2006-12-15  Darin Fisher  <darin@chromium.org>

        Reviewed by Oliver.

        Allow images to load into frames again.  Tidy up code a bit and
        add some much needed documentation.

        * platform/MimeTypeRegistry.cpp:
        (WebCore::initialiseSupportedImageMIMETypes):
        (WebCore::initialiseSupportedNonImageMimeTypes):
        * platform/MimeTypeRegistry.h:

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Fix build.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::response):
        (WebCore::DocumentLoader::setResponse):
        (WebCore::DocumentLoader::isStopping):
        (WebCore::DocumentLoader::mainDocumentError):
        * loader/DocumentLoader.h:

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        More loader cleanup.

        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::isStopping):
        (WebCore::DocumentLoader::response):
        (WebCore::DocumentLoader::mainDocumentError):
        (WebCore::DocumentLoader::setResponse):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::receivedData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::prepareForLoadStart):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::setResponse):
        * loader/mac/ImageDocumentMac.mm:
        (WebCore::finishImageLoad):

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        * loader/DocumentLoader.h:
        Whoops, didn't mean to commit this.
        
2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin and Brady (in no particular order).
        
        More loader cleanup.
        
        * loader/FrameLoader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::cancelledError):
        (WebCore::FrameLoader::fileDoesNotExistError):
        (WebCore::FrameLoader::cannotShowMIMEType):
        (WebCore::FrameLoader::interruptionForPolicyChangeError):
        * loader/mac/MainResourceLoaderMac.mm:
        * loader/mac/NetscapePlugInStreamLoaderMac.mm:

2006-12-16  Alexey Proskuryakov  <ap@webkit.org>

        Try to fix Windows buid.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTarget.{h,cpp}

2006-12-15  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11610
        XMLHttpRequest.onreadystatechange doesn't provide access to the request object

        Created a separate EventTarget class, now that EventTargetNode isn't the only kind.

        Test: http/tests/xmlhttprequest/event-target.html

        * WebCore.xcodeproj/project.pbxproj: Added EventTarget.{h,cpp}

        * bindings/js/kjs_dom.cpp:
        (KJS::toJS): Added an EventTarget variant.
        * bindings/js/kjs_dom.h: Added toJS() for EventTarget; some minor style fixes.

        * bindings/objc/DOM.mm:
        (+[DOMNode _eventTargetWith:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        Added an EventTarget->DOMEventTarget converter in DOMNode (WebCoreInternal). 
        It only works for nodes, since we don't have an ObjC binding for XMLHttpRequest.
        Corrected spelling of internalHeaderContent.

        * dom/Event.cpp:
        (WebCore::Event::setTarget):
        * dom/Event.h:
        (WebCore::Event::target):
        (WebCore::Event::currentTarget):
        (WebCore::Event::setCurrentTarget):
        These methods now work with EventTargets instead of Nodes.

        * dom/EventTarget.cpp: Added.
        (WebCore::EventTarget::~EventTarget):
        (WebCore::EventTarget::toNode):
        (WebCore::EventTarget::toXMLHttpRequest):
        * dom/EventTarget.h: Added.
        (WebCore::EventTarget::ref):
        (WebCore::EventTarget::deref):
        Originally, my intention was to share much of the implementation between 
        EventTargetNode and XHR, but now I don't see anything substantial worth sharing.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent): Cast Node to EventTargetNode.

        * dom/EventTargetNode.h: Made EventTarget methods virtual.
        (WebCore::EventTargetNode::toNode): Added poor man's RTTI to upcast from EventTarget.
        (WebCore::EventTargetNode::refEventTarget):
        (WebCore::EventTargetNode::derefEventTarget):

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::toElement):
        (WebCore::MouseEvent::fromElement):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::receivedTarget):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::defaultEventHandler):
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::handleContextMenuEvent):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::mouseEventIsInThumb):
        Cast from EventTarget to Node as appropriate.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::dispatchEvent):
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        Set target and currentTarget before dispatching.

        * xml/xmlhttprequest.h: Made EventTarget methods virtual, added a bool tempEvent parameter
        to match EventTargetNode.
        (WebCore::XMLHttpRequest::toXMLHttpRequest): Added poor man's RTTI to upcast from EventTarget.
        (WebCore::XMLHttpRequest::refEventTarget):
        (WebCore::XMLHttpRequest::derefEventTarget):

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        More loader cleanup, use KURL instead of NSURL in a couple of places.

        * loader/DocumentLoader.h:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/ResourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::prepareForLoadStart):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::willUseArchive):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::load):

2006-12-15  Brett Wilson  <brettw@chromium.org>

        Reviewed by Darin and Alexey.

        Fix the Windows build, move various Client implementations out of
        WebCore and into WebKit.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ChromeClientWin.h: Removed.
        * bridge/win/ContextMenuClientWin.h: Removed.
        * bridge/win/EditorClientWin.h: Removed.
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * bridge/win/FrameWin.h:
        * loader/win/FrameLoaderClientWin.cpp: Removed.
        * loader/win/FrameLoaderClientWin.h: Removed.
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::start):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::DocumentLoader::URL):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::clear):
        (WebCore::Pasteboard::~Pasteboard):
        (WebCore::PolicyCheck::call):
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::ResourceHandle::loadsBlocked):
        (WebCore::ResourceLoader::cancel):

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11842
        REGRESSION: Using Safari's snippet editor leaves applewebdata: URLs in history
        
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::URLForHistory):
        Don't return appleweburls without an unreachable url.

2006-12-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Replace more instances of NSError with ResourceError.
        
        Also remove a check for a selector that was added pre-Tiger.
        
        * WebCore.exp:
        * loader/DocumentLoader.h:
        * loader/FrameLoader.h:
        * loader/ResourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::setMainDocumentError):
        (WebCore::DocumentLoader::mainDocumentError):
        (WebCore::DocumentLoader::clearErrors):
        (WebCore::DocumentLoader::mainReceivedError):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::cancelMainResourceLoad):
        (WebCore::FrameLoader::opened):
        (WebCore::FrameLoader::mainReceivedError):
        (WebCore::FrameLoader::cancelledError):
        (WebCore::FrameLoader::fileDoesNotExistError):
        (WebCore::FrameLoader::handleUnimplementablePolicy):
        (WebCore::FrameLoader::setMainDocumentError):
        (WebCore::FrameLoader::mainReceivedCompleteError):
        (WebCore::FrameLoader::sendRemainingDelegateMessages):
        (WebCore::FrameLoader::requestFromDelegate):
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didCancel):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::cancelledError):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::didCancel):

2006-12-15  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11824
        CSSStyleSheet.title property is always null

        Set title on the stylesheet just after creating it, for the HTML
        elements <link> and <style>.

        * css/StyleSheet.h:
        (WebCore::StyleSheet::setTitle):
        * dom/Element.cpp:
        (WebCore::Element::title):
        * dom/Element.h:
        * dom/StyleElement.cpp:
        (WebCore::StyleElement::childrenChanged):
        * dom/StyleElement.h:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::setTitle):
        (WebCore::SVGStyleElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyleElement.h:

2006-12-15  Lars Knoll  <lars@trolltech.com>

        Reviewed by Zack

        Fix compilation.

        * loader/SubresourceLoader.h:
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::PopupMenu):

2006-12-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        Use char* pointer + length instead of NSData in a bunch of places.

        * loader/DocumentLoader.h:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.h:
        * loader/NetscapePlugInStreamLoader.h:
        * loader/ResourceLoader.h:
        (WebCore::ResourceLoader::willStopBufferingData):
        * loader/SubresourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::commitLoad):
        (WebCore::DocumentLoader::receivedData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::didReceiveData):
        (WebCore::FrameLoader::receivedData):
        (WebCore::FrameLoader::committedLoad):
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::addData):
        (WebCore::MainResourceLoader::didReceiveData):
        * loader/mac/NetscapePlugInStreamLoaderMac.mm:
        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::addData):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::willStopBufferingData):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::didReceiveData):
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::willStopBufferingData):
        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):

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

        Reviewed by Adam. 

        Added PopupMenuClient class so the PopupMenu class no longer needs to know
        about the RenderMenuList or the DOM.

        * platform/PopupMenu.h:
        (WebCore::PopupMenuClient::~PopupMenuClient):
        (WebCore::PopupMenu::create): Made this protected so PopupMenu can be subclassed.
        (WebCore::PopupMenu::disconnectClient): Renamed from disconnectMenuList.
        (WebCore::PopupMenu::client): Added.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu): Created using PopupMenuClient instead of RenderMenuList.
        (WebCore::PopupMenu::populate): Asks the client for info about the list items instead of looking at the DOM or the renderer. 
        (WebCore::PopupMenu::show): ditto.
        (WebCore::PopupMenu::hide): ditto.
        * rendering/RenderMenuList.h: Now also inherits from PopupMenuClient.
        (WebCore::RenderMenuList::shouldPopOver): Added.  Tells the popup whether the menu should pop over the client, or under.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::~RenderMenuList): Calls disconnectClient().
        (WebCore::RenderMenuList::calcMinMaxWidth): Removed unnecessary (and harmful) call to updateFromElement. updateFromElmeent
         can add children, and you don't want to do that in the middle of calculating width.
        (WebCore::RenderMenuList::itemText): Added PopupClient method to provide information about the items in the menu list.
        (WebCore::RenderMenuList::itemIsEnabled): ditto.
        (WebCore::RenderMenuList::itemStyle): ditto.
        (WebCore::RenderMenuList::clientStyle): ditto.
        (WebCore::RenderMenuList::clientDocument): ditto.
        (WebCore::RenderMenuList::clientPaddingLeft): ditto.
        (WebCore::RenderMenuList::clientPaddingRight): ditto.
        (WebCore::RenderMenuList::listSize): ditto.
        (WebCore::RenderMenuList::selectedIndex): ditto.
        (WebCore::RenderMenuList::itemIsSeparator): ditto.
        (WebCore::RenderMenuList::itemIsLabel): ditto.
        (WebCore::RenderMenuList::itemIsSelected): ditto.
        (WebCore::RenderMenuList::setTextFromItem): ditto.

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

        Fixed <rdar://problem/4882713> GMAIL (REGRESSION): Can't apply font style, 
        foreground or background to selected text
        
        Also <rdar://problem/4883751> REGRESSION: Caret fails to insert itself 
        automatically in a new note window
        
        I'm rolling out my change to move focus to the page level because it caused
        too many unexpected and bizarre regressions. Our code relies on focus
        being per-document so that it can make focus changes that are effectively
        no-ops, and so that it can conflate focus and selection in some cases (a bad 
        idea, since they're not the same).
        
        Hopefully we can revisit this, along with hover and active, in the future.

        * dom/Document.cpp:
        (WebCore::widgetForNode):
        (WebCore::relinquishesEditingFocus):
        (WebCore::acceptsEditingFocus):
        (WebCore::clearSelectionIfNeeded):
        (WebCore::Document::removedLastRef):
        (WebCore::Document::detach):
        (WebCore::Document::focusedNodeDetached):
        (WebCore::Document::setFocusedNode):
        * dom/Document.h:
        (WebCore::Document::focusedNode):
        * page/FocusController.cpp:
        * page/FocusController.h:

2006-12-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

        - fix failing drag & drop layout tests

        * platform/mac/KURLMac.mm:
        (WebCore::KURL::getNSURL): Turn empty KURL into empty NSURL, but null KURL into
        nil.

2006-12-14  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * loader/MainResourceLoader.h:

2006-12-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John.

        Convert a bunch of NSErrors to ResourceError.
        
        Make the ResourceError accessor functions const.
        
        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.h:
        * loader/NetscapePlugInStreamLoader.h:
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::didFailToLoad):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::interruptionForPolicyChangeError):
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::receivedError):
        (WebCore::MainResourceLoader::didCancel):
        (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
        (WebCore::MainResourceLoader::didFail):
        * loader/mac/NetscapePlugInStreamLoaderMac.mm:
        (WebCore::NetscapePlugInStreamLoader::didFail):
        (WebCore::NetscapePlugInStreamLoader::didCancel):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::didCancel):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * platform/network/ResourceError.h:
        (WebCore::ResourceError::domain):
        (WebCore::ResourceError::errorCode):
        (WebCore::ResourceError::failingURL):
        (WebCore::ResourceError::localizedDescription):
        (WebCore::ResourceError::unpackPlatformErrorIfNeeded):

2006-12-14  George Staikos  <staikos@kde.org>

        Link, after the last loader changes.  Please update this directory with stubs when modifying the loader.

        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously):

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

        Reviewed by harrison

        <rdar://problem/4866671>
        CrashTracer: 1 crashes in Mail after deleting a list item at WebCore::DeleteSelectionCommand::doApply()
        
        Don't allow VisiblePositions inside -webkit-user-select:none regions.
        Renamed inRenderedContent to isCandidate.

        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        * dom/Position.cpp:
        (WebCore::Position::previousCharacterPosition):
        (WebCore::Position::nextCharacterPosition):
        (WebCore::nodeIsUserSelectNone):
        (WebCore::Position::isCandidate):
        (WebCore::Position::rendersInDifferentPosition):
        * dom/Position.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::canonicalPosition):
        * editing/htmlediting.cpp:
        (WebCore::nextCandidate):
        (WebCore::nextVisuallyDistinctCandidate):
        (WebCore::previousCandidate):
        (WebCore::previousVisuallyDistinctCandidate):
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        (WebCore::nextLinePosition):
        (WebCore::startOfParagraph):
        * page/Frame.cpp:
        (WebCore::Frame::styleForSelectionStart):

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

        Get rid of the containsStart check and just rely on the selectionState
        bits.  This allows selection gap filling to behave properly in the presence
        of inline blocks and inline tables on lines when the selection originates
        inside the inline block.

        Reviewed by ggaren

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

2006-12-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John.
        
        General loader cleanup, convert NSURLResponse to ResourceResponse in some places.
        
        * loader/DocumentLoader.h:
        * loader/SubresourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::addResponse):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::opened):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::create):

2006-12-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Add loadResourceSynchronously to ResourceHandle and have FrameLoader use it instead of
        calling NSURLConnection directly.

        Add an isNull flag to ResourceError so we can convert correctly between nil NSErrors and ResourceErrors.

        Get rid of ServeSynchronousRequest and use the loader instead.
        
        * WebCore.exp:
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * loader/FrameLoader.h:
        * loader/LoaderFunctions.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::canLoad):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/mac/LoaderFunctionsMac.mm:
        * platform/network/ResourceError.h:
        (WebCore::ResourceError::ResourceError):
        (WebCore::ResourceError::isNull):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceRequest.cpp:
        (WebCore::ResourceRequest::isConditional):
        * platform/network/ResourceRequest.h:
        * platform/network/mac/ResourceErrorMac.mm:
        (-[NSError WebCore]):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::loadResourceSynchronously):
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

2006-12-14  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Darin.

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

        Fix fundamental problems with JS SVG POD types.
        (currently: FloatPoint/FloatRect/AffineTransform)

        This doesn't affect any testcase, but when I wrote my SVGLength* -> SVGLength
        the problem got visible (aka. baseVal-animVal-equality.svg broke and more)
        With that patch applied first, none breaks - so SVG POD JS wrappers do work now.

        In detail:
        - Fix setBaseValue() confusion. ONLY use the hash map in SVGDocumentExtension
          when we're animating a property. Add "start##Property" / "stop##Property" methods
          which take care, of moving "animVal" -> "baseVal" hash, and back after animation stopped.

          These new methods are not yet used anywhere, but finally the "animated property" system is complete.

        - Offer a new JSSVGPODTypeWrapper class, wrapping around non-pointer POD types like FloatPoint etc.
          to be used in the generated JS bindings. Currently if you modified ie the "x" property of a SVGPoint
          from JS, you only actually modified the "m_x" object stored in the JSSVGPoint wrapper.

          If you take SVGLength as example (more frequently used in the JS SVG bindings, that's why I'm using it)
          "document.rootElement.width.baseVal.value = 100;" only modified the "SVGLength m_impl" object stored in
          JSSVGLength, but the "SVGSVGElement" didn't notice it width got changed. The new commitChanges() logic
          fixes these problems.

        It's quite hard too describe the actual changes, if one is not familiar with the code. This is the result
        of endless discussions with Eric Seidel, and we hope this is a decent solution addressing all issues.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/js/JSSVGPODTypeWrapper.h: Added.
        (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
        (WebCore::JSSVGPODTypeWrapper::~JSSVGPODTypeWrapper):
        (WebCore::JSSVGPODTypeWrapper::operator PODType&):
        (WebCore::JSSVGPODTypeWrapper::commitChange):
        (WebCore::JSSVGPODTypeWrapperCreator::JSSVGPODTypeWrapperCreator):
        (WebCore::JSSVGPODTypeWrapperCreator::~JSSVGPODTypeWrapperCreator):
        (WebCore::JSSVGPODTypeWrapperCreator::commitChange):
        * bindings/scripts/CodeGeneratorJS.pm:
        * ksvg2/misc/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::removeBaseValue):
        * ksvg2/svg/SVGElement.h:

2006-12-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11828
        Fix a leak of NSURLRequest on each update - RetainPtr retains the object itself.

        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2006-12-14  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack Rusin.

        * WebCore.pro: Clean up the xpath grammar generation rule.

2006-12-14  Zack Rusin  <zack@kde.org>

        Make it link with temporary stubs.

        * loader/qt/DocumentLoaderQt.cpp:
        (WebCore::DocumentLoader::originalRequest):
        (WebCore::DocumentLoader::originalRequestCopy):
        (WebCore::DocumentLoader::request):
        (WebCore::DocumentLoader::initialRequest):
        (WebCore::DocumentLoader::actualRequest):
        (WebCore::DocumentLoader::URL):

2006-12-14  Zack Rusin  <zack@kde.org>

        Compilation fixes for the Qt port after last nights
        changes.

        * loader/qt/DocumentLoaderQt.cpp:
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::unreachableURL):
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::PolicyCheck::call):
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::setHTTPReferrer):

2006-12-14  Rob Buis  <buis@kde.org>

        Reviewed by Oliver.

        http://bugs.webkit.org/show_bug.cgi?id=11726
        SVG Image do not take into account clip/overflow when hit testing

        Take into account the overflowRect when hit-testing <svg> container.

        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::viewportTransform):
        (WebCore::RenderSVGContainer::nodeAtPoint):
        * rendering/RenderSVGContainer.h:

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

        Fix for bug 11825, dragging elements via -khtml-user-drag is broken (affects Dashboard).  Make sure
        to clear the paintingRoot properly when recurring into children.  It would be nice to find a design
        that prevented this mistake from being made and didn't require explicit clearing of the root.

        Reviewed by olliej

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):

2006-12-13  Anders Carlsson  <acarlsson@apple.com>

        * loader/FrameLoader.h:
        id is mac-only.
        
2006-12-13  Brady Eidson  <beidson@apple.com>

        Implicitly reviewed by Darin, Hyatt, Maciej, and others!

        Fixes a document tear down crash.
        Changes a few long standing assertions to our new style

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

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

        Reviewed by Anders.

        - converted many places to use ResourceRequest instead of NSURLRequest

        * WebCore.exp:
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopPolicyCheck):
        * loader/FrameLoader.h:
        (WebCore::PolicyCheck::request):
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.h:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::originalRequest):
        (WebCore::DocumentLoader::originalRequestCopy):
        (WebCore::DocumentLoader::request):
        (WebCore::DocumentLoader::initialRequest):
        (WebCore::DocumentLoader::actualRequest):
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::unreachableURL):
        (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
        (WebCore::DocumentLoader::setRequest):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::setLastCheckedRequest):
        (WebCore::DocumentLoader::lastCheckedRequest):
        (WebCore::DocumentLoader::URLForHistory):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::startLoadingMainResource):
        (WebCore::FrameLoader::applyUserAgent):
        (WebCore::FrameLoader::originalRequest):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::initialRequest):
        (WebCore::FrameLoader::setRequest):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::isReloading):
        (WebCore::FrameLoader::referrer):
        (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::originalRequestURL):
        (WebCore::PolicyCheck::set):
        (WebCore::PolicyCheck::call):
        (WebCore::PolicyCheck::clearRequest):
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::create):
        * loader/mac/WebDataProtocol.h:
        * loader/mac/WebDataProtocol.mm:
        * platform/KURL.cpp:
        (WebCore::operator!=):
        * platform/KURL.h:
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::getNSURL):
        * platform/network/FormData.h:
        (WebCore::operator==):
        (WebCore::operator!=):
        * platform/network/ResourceRequest.cpp:
        (WebCore::operator==):
        * platform/network/ResourceRequest.h:
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

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

        Reviewed by Darin Adler, Dave Hyatt.
        
        Beefed up FocusController to handle frame focus. Changed implementors to
        use FocusController, rather than the widget hierarchy, to focus frames.

        (WebCore::FocusController::focusedNode): Made a minor change to focus a frame
        before focusing the element inside of it. This matches FF.
        (WebCore::FocusController::focusedFrame):
        * platform/Widget.h:

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

        Reviewed by adele

        <rdar://problem/4818145>
        Cannot setSelectedDOMRange to non-editable island unless it has editable content on both sides
        
        There are editable positions before/after a "non-editable island" if its 
        a table, but the code in canonicalPosition was not using 
        editableRootForPosition to find root editable elements.
        
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::canonicalPosition): Use editableRootForPosition
        to fix the table case.

2006-12-13  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam.

        Added missing forwarding headers.        

        * ForwardingHeaders/kjs/value.h: Added.
        * ForwardingHeaders/wtf/HashTable.h: Added.

2006-12-13  Lars Knoll <lars@trolltech.com>

        Reviewed by Maciej, Zack.

        Make the Qt cbuild compile again.

        * WebCore.pro:
        * loader/qt/ResourceLoaderQt.cpp:
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadsBlocked):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClient::openURL):
        (WebCore::FrameQtClient::submitForm):

2006-12-12  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        Changed #import to #include to match the rest of our ForwardingHeaders.

        * ForwardingHeaders/wtf/StringExtras.h:

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

        Reviewed by harrison
        
        <rdar://problem/4757667>
        GoogleDocs: Style menu does not open

        * bindings/js/kjs_window.cpp:
        (KJS::Selection::getValueProperty): Added rangeCount.
        * bindings/js/kjs_window.h:
        (KJS::Selection::):
        * editing/SelectionController.h:
        (WebCore::SelectionController::rangeCount): Added.

2006-12-12  Alice Liu  <alice.liu@apple.com>

        Reviewed by Oliver.

        * bindings/js/JSSVGMatrixCustom.cpp:
        added #ifdef SVG_SUPPORT

2006-12-12  Anders Carlsson  <acarlsson@apple.com>

        Suggested by Darin.

        * loader/ResourceLoader.cpp:
        Move down include of ResourceHandle.h.

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

        Reviewed by Adam Roben, Dave Hyatt, Darin Adler.
        
        Factored focus control into a FocusController class. I inted to use this
        class for handling window active state and the focused frame, as well.

        Layout tests pass.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::view):
        (WebCore::Document::page): New helper function.
        * dom/Document.h: Moved setters before getters.
        (WebCore::Document::hoverNode):
        (WebCore::Document::activeNode):
        * dom/Node.cpp:
        (WebCore::Node::detach): Use the FocusController.
        * page/FocusController.cpp: Added.
        (WebCore::shouldFocus): renamed and refactored this helper function.
        (WebCore::shouldUnfocus): ditto.
        * page/FocusController.h: Added.

2006-12-12  Anders Carlsson  <acarlsson@apple.com>

        Rubber Stamped by Geoff.

        * platform/Base64.cpp:
        * platform/Base64.h:
        Put functions inside of the WebCore namespace.

2006-12-12  Anders Carlsson  <acarlsson@apple.com>

        Try fixing the non-Mac builds.
        
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        * loader/SubresourceLoader.h:

2006-12-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Turn ResourceLoader into a ResourceHandleClient and stop using NSURLConnection in the loader.

        * WebCore.exp:
        Add new methods needed by WebKit.
        
        * WebCore.xcodeproj/project.pbxproj:
        Make ResourceHandle.h a private header.
        
        * loader/FrameLoaderClient.h:
        Change the download method to take a ResourceHandle instead of an NSURLConnection.
        
        * loader/MainResourceLoader.h:
        Get rid of the proxy instance variable, that's handled by ResourceHandlw now.
        
        * loader/ResourceLoader.h:
        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
        (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
        (WebCore::ResourceLoader::willStopBufferingData):
        (WebCore::ResourceLoader::willCacheResponse):
        (WebCore::ResourceLoader::receivedCredential):
        (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
        (WebCore::ResourceLoader::receivedCancellation):
        (WebCore::ResourceLoader::handle):
        * loader/SubresourceLoader.h:
        Make ResourceLoader a ResourceHandleClient, moving the methods from SubresourceLoader.
        
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::loadNow):
        (WebCore::MainResourceLoader::load):
        Use a ResourceHandle instead of an NSURLConnection.
        
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::releaseResources):
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::setDefersLoading):
        (WebCore::ResourceLoader::resourceData):
        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
        (WebCore::ResourceLoader::didCancel):
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFail):
        Remove the WebCoreResourceLoaderAsDelegate class, use a ResourceHandle instead of an NSURLConnection.
        
        * loader/mac/SubresourceLoaderMac.mm:
        Remove ResourceHandleClient methods.
        
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle):
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        Add an extra argument denoting whether this ResourceHandle can possibly be "converted" into one used for downloads.
        
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::releaseProxy):
        (WebCore::ResourceHandle::connection):
        New methods for creating a NSURLConnectionDelegateProxy which is used when creating a NSURLDownload from an existing
        connection.

2006-12-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::load):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        Move the didTellBridgeAboutLoad call to SubresourceLoader in preparation for getting rid of
        the DocLoader parameter to ResourceHandle::create.

2006-12-12  George Staikos  <staikos@kde.org>

        Make the last checkin compile.

        * WebCore.pro:
        * ksvg2/svg/SVGTransform.cpp:

2006-12-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam Weinig & Rob Buis.

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

        Remove SVGMatrix, replace it by AffineTransform usage everywhere.
        Changed AffineTransform API to be able to be used within generation
        (m11() -> a(), m12() -> b(), ...). Add some methods needed for SVG.

        The actual SVGMatrix -> AffineTransformation patch has been created
        by Rob - I just adapted it to the autogenerated POD style.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGMatrixCustom.cpp: Added.
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::rotateFromVector):
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/misc/SVGImageLoader.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
        (WebCore::SVGAnimateTransformElement::initialMatrix):
        (WebCore::SVGAnimateTransformElement::transformMatrix):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGLengthList.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::getCTM):
        (WebCore::SVGLocatable::getScreenCTM):
        (WebCore::SVGLocatable::getTransformToElement):
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMatrix.cpp: Removed.
        * ksvg2/svg/SVGMatrix.h: Removed.
        * ksvg2/svg/SVGMatrix.idl:
        * ksvg2/svg/SVGNumberList.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPoint.idl:
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::getCTM):
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::createSVGMatrix):
        (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        (WebCore::SVGStyledLocatableElement::getCTM):
        (WebCore::SVGStyledLocatableElement::getScreenCTM):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::localMatrix):
        (WebCore::SVGStyledTransformableElement::getCTM):
        (WebCore::SVGStyledTransformableElement::getScreenCTM):
        (WebCore::SVGStyledTransformableElement::updateLocalTransform):
        (WebCore::SVGStyledTransformableElement::attach):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::localMatrix):
        (WebCore::SVGTextElement::updateLocalTransform):
        (WebCore::SVGTextElement::attach):
        (WebCore::SVGTextElement::getScreenCTM):
        (WebCore::SVGTextElement::getCTM):
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTransform.cpp:
        (SVGTransform::SVGTransform):
        (SVGTransform::matrix):
        (SVGTransform::setMatrix):
        (SVGTransform::setTranslate):
        (SVGTransform::setScale):
        (SVGTransform::setRotate):
        (SVGTransform::setSkewX):
        (SVGTransform::setSkewY):
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformList.cpp:
        (SVGTransformList::createSVGTransformFromMatrix):
        (SVGTransformList::concatenate):
        * ksvg2/svg/SVGTransformList.h:
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::getCTM):
        (WebCore::SVGTransformable::getScreenCTM):
        (WebCore::SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/SVGTransformable.h:
        * platform/graphics/AffineTransform.cpp:
        (WebCore::AffineTransform::multiply):
        (WebCore::AffineTransform::scale):
        (WebCore::AffineTransform::scaleNonUniform):
        (WebCore::AffineTransform::rotateFromVector):
        (WebCore::AffineTransform::flipX):
        (WebCore::AffineTransform::flipY):
        (WebCore::AffineTransform::skewX):
        (WebCore::AffineTransform::skewY):
        * platform/graphics/AffineTransform.h:
        * platform/graphics/cairo/AffineTransformCairo.cpp:
        (WebCore::AffineTransform::a):
        (WebCore::AffineTransform::setA):
        (WebCore::AffineTransform::b):
        (WebCore::AffineTransform::setB):
        (WebCore::AffineTransform::c):
        (WebCore::AffineTransform::setC):
        (WebCore::AffineTransform::d):
        (WebCore::AffineTransform::setD):
        (WebCore::AffineTransform::e):
        (WebCore::AffineTransform::setE):
        (WebCore::AffineTransform::f):
        (WebCore::AffineTransform::setF):
        (WebCore::AffineTransform::inverse):
        * platform/graphics/cg/AffineTransformCG.cpp:
        (WebCore::AffineTransform::a):
        (WebCore::AffineTransform::setA):
        (WebCore::AffineTransform::b):
        (WebCore::AffineTransform::setB):
        (WebCore::AffineTransform::c):
        (WebCore::AffineTransform::setC):
        (WebCore::AffineTransform::d):
        (WebCore::AffineTransform::setD):
        (WebCore::AffineTransform::e):
        (WebCore::AffineTransform::setE):
        (WebCore::AffineTransform::f):
        (WebCore::AffineTransform::setF):
        (WebCore::AffineTransform::inverse):
        * platform/graphics/qt/AffineTransformQt.cpp:
        (WebCore::AffineTransform::a):
        (WebCore::AffineTransform::setA):
        (WebCore::AffineTransform::b):
        (WebCore::AffineTransform::setB):
        (WebCore::AffineTransform::c):
        (WebCore::AffineTransform::setC):
        (WebCore::AffineTransform::d):
        (WebCore::AffineTransform::setD):
        (WebCore::AffineTransform::e):
        (WebCore::AffineTransform::setE):
        (WebCore::AffineTransform::f):
        (WebCore::AffineTransform::setF):
        (WebCore::AffineTransform::inverse):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        (WebCore::RenderForeignObject::nodeAtPoint):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::mapAbsolutePointToLocal):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::nodeAtPoint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
        (WebCore::RenderSVGText::nodeAtPoint):
        (WebCore::RenderSVGText::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):

2006-12-12  George Staikos  <staikos@kde.org>

        Reviewed by Alexey.

        Fix the Qt build again.

        * WebCore.pro:
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::load):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::clear):

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

        Reviewed by Beth Dakin.
        
        Moved focus control to the page level. Fixed a minor bug where a node
        would retain keyboard focus even when removed from the document.
        
        We should probably move this, along with hover and active, into a separate
        FocusController. But I'm too tired right now.

        * dom/Document.cpp: Migrated code to Page
        (WebCore::Document::removedLastRef):
        (WebCore::Document::detach):
        (WebCore::Document::setFocusedNode):
        (WebCore::Document::focusedNode):
        * dom/Document.h:
        * dom/Node.cpp:
        (WebCore::Node::detach): Clear ourselves from keyboard focus. This fixes
        the minor bug and was also necessary to prevent regressions caused by hanging
        on to a focused node after the document was replaced.
        * dom/Node.h:
        (WebCore::Node::inDetach):
        * page/Page.cpp: Migrated code from Document
        (WebCore::shouldAcquireEditingFocus):
        (WebCore::shouldRelinquishEditingFocus):
        (WebCore::clearSelectionIfNeeded):
        (WebCore::widgetForNode):
        (WebCore::Page::setFocusedNode):
        * page/Page.h:
        (WebCore::Page::focusedNode):

2006-12-11  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11053
        XMLHttpRequest should be an EventTarget

        Test: http/tests/xmlhttprequest/event-target.html

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::mark):
        (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        * bindings/js/JSXMLHttpRequest.h:
        (KJS::JSXMLHttpRequest::):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::addEventListener):
        (WebCore::XMLHttpRequest::removeEventListener):
        (WebCore::XMLHttpRequest::dispatchEvent):
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
        * xml/xmlhttprequest.h:
        (WebCore::XMLHttpRequest::eventListeners):
        Implement EventTarget methods (except for NS variations, which Firefox doesn't have either).

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

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11809
          fast/dom/gc-8.html crash in alternate-thread marking code in ScriptInterpreter

        DocumentType objects were getting filed under the wrong document in the
        DOM objects structure.

        * bindings/js/kjs_binding.h: Added a destructor for debugging purposes only.
        * bindings/js/kjs_binding.cpp:
        (KJS::wrapperSet): Added. Set of outstanding wrappers for debugging.
        (KJS::addWrapper): Added.
        (KJS::removeWrapper): Added.
        (KJS::removeWrappers): Added.
        (KJS::DOMObject::~DOMObject): Added. Asserts that there is no outstanding reference
        to this wrapper since it's being destroyed.
        (KJS::ScriptInterpreter::putDOMObject): Added a call to ADD_WRAPPER.
        (KJS::ScriptInterpreter::forgetDOMObject): Added a call to REMOVE_WRAPPER.
        (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Added a call to REMOVE_WRAPPER.
        (KJS::ScriptInterpreter::putDOMNodeForDocument): Added a call to ADD_WRAPPER.
        (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Added a call to REMOVE_WRAPPERS.
        (KJS::ScriptInterpreter::updateDOMNodeDocument): Added calls to REMOVE_WRAPPER and
        ADD_WRAPPER so the out-of-order transaction doesn't upset the assertions in the functions
        we're calling. Another solution would be to reorder the two, but I think that would
        create a race where another thread could garbage collect after the forget but before the put.
        (KJS::ScriptInterpreter::wasRunByUserGesture): Tweaked formatting.

        * dom/Document.cpp: (WebCore::Document::adoptNode): Removed call to updateDOMNodeDocument
        since setDocument now takes care of that.
        * dom/Node.cpp:
        (WebCore::Node::setDocument): Added call to updateDOMNodeDocument here.
        (WebCore::Node::checkAddChild): Removed call to updateDOMNodeDocument since setDocument
        now takes care of that.

2006-12-11  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9673
        Add support for window.atob() and window.btoa()

        * WebCore.xcodeproj/project.pbxproj: Added Base64.{h,cpp}
        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * platform/Base64.cpp: Added.
        (base64Encode):
        (base64Decode):
        * platform/Base64.h: Added.
        * ForwardingHeaders/wtf/StringExtras.h: Added.
        * platform/DeprecatedString.cpp: Use strncasecmp from StringExtras.

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

        Reviewed by Brady.

        - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list

        * WebCore.xcodeproj/project.pbxproj: Updated project for file moves.

        * bridge/mac/FrameMac.h: Moved to page/mac.
        * bridge/mac/FrameMac.mm: Ditto.
        * bridge/mac/WebCoreFrameBridge.h: Ditto.
        * bridge/mac/WebCoreFrameBridge.mm: Ditto.
        * bridge/mac/WebCoreFrameView.h: Ditto.
        * bridge/mac/WebCoreViewFactory.h: Ditto.
        * bridge/mac/WebCoreViewFactory.m: Ditto.
        * bridge/mac/WebDashboardRegion.h: Ditto.
        * bridge/mac/WebDashboardRegion.m: Ditto.

        * bridge/mac/WebCoreKeyboardAccess.h: Moved to page/mac,
        renamed WebCoreKeyboardUIMode.h, and made a C++ header.

        * page/EventHandler.h: Updated for change to WebCoreKeyboardAccess.
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::tabsToLinks): Ditto.
        (WebCore::EventHandler::tabsToAllControls): Ditto.
        (WebCore::EventHandler::keyboardUIMode): Ditto.

2006-12-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Primarily, this patch implements/hooks-up actions for the sub-menu
        items in WebCore context menus. I fixed a few other things along
        the way too:
                -Made BUILDING_ON_TIGER ifdef work within C++ as well as
                 Obj-C
                -Fixed bug where we would throw and Obj-C exception and
                 fail to pop up menus with more than one separator item.
                -Re-named some of the spelling/grammar tags since Tiger and
                 Leopard share more of the actions than initially
                 anticipated.

        * WebCorePrefix.h: Make BUILDING_ON_TIGER available to C++
        * bridge/EditorClient.h: New functions to toggle
        spelling/grammar checking.
        * editing/Editor.cpp:
        (WebCore::Editor::toggleContinuousSpellChecking): Call into client.
        (WebCore::Editor::toggleGrammarChecking): Same.
        (WebCore::Editor::toggleBold): call execToggleBold()
        (WebCore::Editor::toggleUnderline): Create appropriate underline
        style and apply to selection.
        (WebCore::Editor::setBaseWritingDirection): Create appropriate
        writing direction and apply to selection.
        * editing/Editor.h:
        * editing/mac/EditorMac.mm: New functions to show spelling guesses,
        fonts, styles, and color panels.
        * page/ContextMenuClient.h: New functions for the speech sub-menu.
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Fill in
        editing sub-menu actions.
        * platform/ContextMenu.cpp:
        (WebCore::separatorItem): Helper function to create a separator 
        item.
        (WebCore::createFontSubMenu): Put very mac-specific things within a
        platform ifdef.
        (WebCore::createSpellingAndGrammarSubMenu): Re-named some of the
        spelling sub-menu tags.
        (WebCore::createSpellingSubMenu): Same.
        (WebCore::ContextMenu::populate): We can't share the separator
        item. When we do, menus with more than one separator throw and obj-
        c exception and fail to pop-up.
        * platform/ContextMenuItem.h:
        (WebCore::): Re-named some of the spelling sub-menu tags.

2006-12-11  Alice Liu  <alice.liu@apple.com>

        Reviewed by Geoff, Adam.

        Switch to use the Editor for copying URLs.  Also some Pasteboard and PlatformMouseEvent cleanup.

        All layout tests pass as they would without this patch. 

        * WebCore.exp:
        added Editor::copyURL to be called from WebKit
        
        * editing/Editor.cpp:
        (WebCore::Editor::tryDHTMLCopy):
        (WebCore::Editor::tryDHTMLCut):
        Pasteboard::clearTypes() changed to clear()

        (WebCore::Editor::writeSelectionToPasteboard):        
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        Changed signature of writeSelection to take raw pointer instead of PassRefPtr

        (WebCore::Editor::copyURL):
        * editing/Editor.h:
        Added copyURL.
        
        * page/ContextMenuClient.h:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        Removed copyLinkToClipboard
        
        * platform/KURL.cpp:
        (WebCore::KURL::lastPathComponent):
        * platform/KURL.h:
        Added lastPathComponent. 
        
        * platform/Pasteboard.h:
        Changed some function names.
        Moved some functions out of class to static.
        
        * platform/PlatformMouseEvent.h:
        (WebCore::):
        Removed MouseEventType enum, added NoButton to MouseButton without disturbing other button values.
        
        * platform/mac/PasteboardMac.mm:
        Added writeURL, and moved some things around
        
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Add some calls necessary for Pasteboard::writeURL to work

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

        Reviewed by Brady.

        - http://bugs.webkit.org/show_bug.cgi?id=11794
          fix lifetime problems affecting Frame's ownerElement pointer

        * CMakeLists.txt:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Updated for new source files.

        * WebCore.exp: Updated for changes to entry point names.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
        * bridge/win/FrameWin.h:
        * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
        Updated owner element type to HTMLFrameOwnerElement.

        * bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
        use that any more. Updated owner element type to HTMLFrameOwnerElement.

        * dom/Document.cpp: Added include so that the ownerElement function can
        compile (since it downcasts an HTMLFrameOwnerElement to an Element).

        * html/HTMLFrameElement.cpp:
        (WebCore::containingFrameSetElement): Moved this function in here; it
        doesn't need to be a member function.
        (WebCore::HTMLFrameElement::attach): Updated to call this.

        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
        HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
        containingFrameSetElement. Removed friend classes.

        * html/HTMLFrameOwnerElement.h: Added.
        * html/HTMLFrameOwnerElement.cpp: Added.

        * html/HTMLEmbedElement.h:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLObjectElement.cpp:
        Remove now-unneeded contentDocument functions.

        * html/HTMLPlugInElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
        HTMLFrameOwnerElement.

        * loader/FormState.h:
        * loader/FormState.cpp: Use HTMLFormElement instead of just Element.

        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
        (WebCore::FrameLoader::loadSubframe): Ditto.
        (WebCore::FrameLoader::requestObject): Don't pass an element parameter
        to shouldUsePlugin, and remove now-unneeded type casts.
        (WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
        (WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
        (WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
        (WebCore::FrameLoader::isHostedByObjectElement): Ditto.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load): Use HTMLFormElement.
        (WebCore::FrameLoader::post): Ditto.
        (WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.

        * page/Frame.h:
        * page/FramePrivate.h:
        * page/Frame.cpp:
        (WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
        (WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
        (WebCore::Frame::ownerElement): Ditto.
        (WebCore::Frame::ownerRenderer): Ditto.
        (WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
        element before disconnecting it.
        (WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.

        * page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
        the code here will compile (no code changes needed).

        * rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
        Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.

        * rendering/RenderPart.h:
        * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
        Use HTMLFrameOwnerElement.

        * rendering/RenderPartObject.h:
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
        (WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
        need to be a friend of HTMLFrameElementBase.

        - other changes

        * platform/network/ResourceHandleInternal.h: Added Noncopyable and
        fixed indentation.

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

        Fix failing layout test.  Remove WTF::Unicode::isSpace and just revert
        the caller to the old behavior.

        Reviewed by darin

        * platform/StringImpl.cpp:
        (WebCore::isSpace):

2006-12-11  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=11807
        Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::autoscrollTimerFired):
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::mouseMoved):
        Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed

        (WebCore::EventHandler::lastEventIsMouseUp):
        Check that the "new" event is newer than the "old" one - that's not always the case 
        when running in DRT, as [NSApp currentEvent] isn't updated by eventSender.

2006-12-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam Weinig.

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

        Autogenerate POD types for ObjC/JS.

        This removes the need for the hand-written JSSVG*, DOMSVG* wrappers
        in bindings/js, bindings/objc. Makes it much easier to convert more
        SVG types to POD types (ie. SVGMatrix* -> AffineTransform etc.)

        Affected test: svg/custom/SVGPoint-matrixTransform.svg

        It's failing with this patch, as the SVGPoint matrixTransform() function
        got disabled, until the SVGMatrix -> AffineTransform transition patch
        is landed. Otherwhise we'd need to add special cases to both CodeGeneratorJS/ObjC.pm
        which would be a waste of time, as SVGMatrix is about to die.

        Temporarily updating layout test result, as suggested by John Sullivan, so
        no-one notices that SVGPoint-matrixTransform.svg actually fails right now.

        Expect that to be fixed again in the next hour(s).

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSSVGNumber.cpp: Removed.
        * bindings/js/JSSVGNumber.h: Removed.
        * bindings/js/JSSVGPoint.cpp: Removed.
        * bindings/js/JSSVGPoint.h: Removed.
        * bindings/js/JSSVGRect.cpp: Removed.
        * bindings/js/JSSVGRect.h: Removed.
        * bindings/objc/DOMSVGNumber.mm: Removed.
        * bindings/objc/DOMSVGPoint.mm: Removed.
        * bindings/objc/DOMSVGRect.mm: Removed.
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * ksvg2/svg/SVGNumber.idl:
        * ksvg2/svg/SVGPoint.idl:
        * ksvg2/svg/SVGRect.idl:

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Fix another issue with frame loading

        * platform/network/qt/ResourceHandleManagerQt.cpp:
        (WebCore::ResourceHandleManager::cancel):
        (WebCore::ResourceHandleManager::receivedData):
        (WebCore::ResourceHandleManager::receivedFinished):
        (WebCore::FileLoader::request):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClient::openURL):

2006-12-10  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Make the xpath grammar hack more specific (and work on OS X) until
        it's cleaned up.

        * WebCore.pro:

2006-12-10  Zack Rusin  <zack@kde.org>

        Set the widgetclient correctly. This code
        should be platform independent!

        * platform/qt/WidgetQt.cpp:
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::Widget::setClient):
        (WebCore::Widget::client):
        (WebCore::Widget::focusPolicy):

2006-12-11  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Fix loading of local files.

        * platform/network/qt/ResourceHandleManagerQt.cpp:
        (WebCore::FileLoader::request):

2006-12-10  Zack Rusin  <zack@kde.org>

       Don't use my QTransform magic, affine QMatrix is fine for
       SVG so use setMatrix.

        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
        (WebCore::setup):

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Make sure we call checkCompleted() on the FrameLoader
        to get the regression tests running.

        * WebCore.pro:
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::saveDocumentState):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::EventHandler::handleDrag):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClient::openURL):
        (WebCore::FrameQtClient::didReceiveResponse):
        (WebCore::FrameQtClient::didFinishLoading):
        (WebCore::FrameQtClient::didFail):
        * platform/qt/FrameQtClient.h:

2006-12-10  Zack Rusin  <zack@kde.org>

        Enable the SVG build by default and make it build.

        * WebCore.pro:
        * loader/qt/FrameLoaderQt.cpp: Output the method name

2006-12-10  Zack Rusin  <zack@kde.org>

        Move the client classes to WebKitQt/WebCoreSupport.

        * WebCore.pro:
        * loader/qt/FrameLoaderClientQt.cpp: Removed.
        * loader/qt/FrameLoaderClientQt.h: Removed.
        * platform/qt/ChromeClientQt.cpp: Removed.
        * platform/qt/ChromeClientQt.h: Removed.
        * platform/qt/ContextMenuClientQt.cpp: Removed.
        * platform/qt/ContextMenuClientQt.h: Removed.
        * platform/qt/EditorClientQt.cpp: Removed.
        * platform/qt/EditorClientQt.h: Removed.

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack.

        Add some stubs required to link.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::runJavaScriptAlert):
        (WebCore::FrameQt::runJavaScriptConfirm):
        (WebCore::FrameQt::runJavaScriptPrompt):
        (WebCore::FrameQt::bindingRootObject):

2006-12-10  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10996
        WebKit needs (possibly private) XML/SVG innerText support (for DumpRenderTree)

        Create an internal method to create innerText functionality for non-HTML
        nodes. When called from DRT this omits CDATA nodes.

        * dom/Element.cpp:
        (WebCore::Element::innerText):
        (WebCore::Element::outerText):
        * dom/Element.h:
        * dom/Element.idl:
        * html/HTMLElement.cpp:
        * html/HTMLElement.h:

2006-12-10  Darin Fisher  <darin@chromium.org>

        Reviewed by Maciej.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=11790
        No way to initialize ResourceResponse::m_httpHeaderFields

        * platform/network/ResourceResponse.cpp: impl setHTTPHeaderField
        (WebCore::ResourceResponse::setHTTPHeaderField):
        * platform/network/ResourceResponse.h: decl setHTTPHeaderField

2006-12-10  Zack Rusin  <zack@kde.org>

        Cleaning up the code after removals.

        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQt.h: Remove virtual methods
        which have been moved to different objects

2006-12-10  Zack Rusin  <zack@kde.org>

        Cleanup the FrameQtClient a little bit more. Remove
        unused methods.

        * platform/qt/FrameQtClient.cpp:
        * platform/qt/FrameQtClient.h:

2006-12-09  Adam Roben  <aroben@apple.com>

        Build fix.

        * xml/XPathParser.cpp:
        (WebCore::XPath::charCat): Use C++ unsigned instead of uint.

2006-12-09  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Make it not crash, and make it set the title on Qt platform.

        * loader/qt/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::hasWebView):
        (WebCore::FrameLoaderClientQt::hasFrameView):
        (WebCore::FrameLoaderClientQt::didChangeTitle):
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::setTitle):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):

2006-12-10  Zack Rusin  <zack@kde.org>

        Renaming FrameQtClientDefault to FrameQtClient.
        Removing FrameQtClient. Adding FrameLoaderClient
        as an argument. Clenaing up the code a bit.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClient::FrameQtClient):
        (WebCore::FrameQtClient::~FrameQtClient):
        (WebCore::FrameQtClient::setFrame):
        (WebCore::FrameQtClient::openURL):
        (WebCore::FrameQtClient::submitForm):
        (WebCore::FrameQtClient::checkLoaded):
        (WebCore::FrameQtClient::runJavaScriptAlert):
        (WebCore::FrameQtClient::runJavaScriptConfirm):
        (WebCore::FrameQtClient::runJavaScriptPrompt):
        (WebCore::FrameQtClient::menubarVisible):
        (WebCore::FrameQtClient::toolbarVisible):
        (WebCore::FrameQtClient::statusbarVisible):
        (WebCore::FrameQtClient::personalbarVisible):
        (WebCore::FrameQtClient::locationbarVisible):
        (WebCore::FrameQtClient::loadFinished):
        (WebCore::FrameQtClient::didReceiveResponse):
        (WebCore::FrameQtClient::didFinishLoading):
        (WebCore::FrameQtClient::didFail):
        (WebCore::FrameQtClient::didReceiveData):
        (WebCore::FrameQtClient::traverseNextFrameStayWithin):
        (WebCore::FrameQtClient::numPendingOrLoadingRequests):
        (WebCore::FrameQtClient::receivedAllData):
        (WebCore::FrameQtClient::setTitle):
        * platform/qt/FrameQtClient.h:

2006-12-10  Zack Rusin  <zack@kde.org>

        Fixes compilation after the last removals.

        * WebCore.pro:

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack.

        Implement a decent network loader using QHttp.

        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::load):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::request):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/qt/ResourceHandleManager.cpp: Removed.
        * platform/network/qt/ResourceHandleManager.h: Removed.
        * platform/network/qt/ResourceHandleManagerKDE.cpp: Added.
        (WebCore::ResourceHandleManager::self):
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::ResourceHandleManager::~ResourceHandleManager):
        (WebCore::ResourceHandleManager::slotData):
        (WebCore::ResourceHandleManager::slotMimetype):
        (WebCore::ResourceHandleManager::slotResult):
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        * platform/network/qt/ResourceHandleManagerKDE.h: Added.
        * platform/network/qt/ResourceHandleManagerQt.cpp: Added.
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::ResourceHandleManager::~ResourceHandleManager):
        (WebCore::ResourceHandleManager::self):
        (WebCore::RequestQt::RequestQt):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        (WebCore::ResourceHandleManager::receivedResponse):
        (WebCore::ResourceHandleManager::receivedData):
        (WebCore::ResourceHandleManager::receivedFinished):
        (WebCore::LoaderThread::LoaderThread):
        (WebCore::LoaderThread::run):
        (WebCore::FileLoader::FileLoader):
        (WebCore::FileLoader::request):
        (WebCore::FileLoader::cancel):
        (WebCore::WebCoreHttp::WebCoreHttp):
        (WebCore::WebCoreHttp::~WebCoreHttp):
        (WebCore::WebCoreHttp::request):
        (WebCore::WebCoreHttp::scheduleNextRequest):
        (WebCore::WebCoreHttp::getConnection):
        (WebCore::WebCoreHttp::onResponseHeaderReceived):
        (WebCore::WebCoreHttp::onReadyRead):
        (WebCore::WebCoreHttp::onRequestFinished):
        (WebCore::WebCoreHttp::onStateChanged):
        (WebCore::WebCoreHttp::cancel):
        (WebCore::qHash):
        (WebCore::operator==):
        (WebCore::HostInfo::HostInfo):
        (WebCore::NetworkLoader::NetworkLoader):
        (WebCore::NetworkLoader::~NetworkLoader):
        (WebCore::NetworkLoader::request):
        (WebCore::NetworkLoader::connectionClosed):
        (WebCore::NetworkLoader::cancel):
        * platform/network/qt/ResourceHandleManagerQt.h: Added.
        (WebCore::LoaderThread::):
        (WebCore::LoaderThread::waitForSetup):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::keyEvent):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::FrameQtClientDefault):
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        (WebCore::FrameQtClientDefault::didReceiveResponse):
        (WebCore::FrameQtClientDefault::didFinishLoading):
        (WebCore::FrameQtClientDefault::didFail):
        (WebCore::FrameQtClientDefault::didReceiveData):
        (WebCore::FrameQtClientDefault::receivedAllData):
        (WebCore::FrameQtClientDefault::setTitle):
        * platform/qt/FrameQtClient.h:

2006-12-09  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Fix bison again on qmake build.

        * WebCore.pro:

2006-12-09  Zack Rusin  <zack@kde.org>

        Reviewed by Zack.

        Use the correct filename.

        * WebCore.pro: it's PasteboardQt.cpp

2006-12-09  Zack Rusin  <zack@kde.org>

        Reviewed by Lars.

        Correctly set the font on widgets.

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setFont):

2006-12-09  Adam Treat  <treat@kde.org>

        Reviewed by Zack

        No more nil renderer warnings

        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::paintEvent):

2006-12-09  Friedemann Kleint  <fkleint@trolltech.com>

        Reviewed by Zack

        Removed compiler warnings about rounding issues

        * platform/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/qt/FontQt.cpp:
        (WebCore::Font::drawComplexText):

2006-12-09  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Qt 4.1 (especially Qtopia) build fixes

        * platform/qt/FrameQtClient.cpp:
        * platform/qt/GraphicsContextQt.cpp:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        * platform/qt/CursorQt.cpp:
        * platform/qt/WidgetQt.cpp:
        * platform/Cursor.h:
        * platform/Arena.h:

2006-12-09  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Make it possible to build WebKit with qmake.

        * WebCore.pro: Added.
        * platform/graphics/qt/GraphicsContextQt.cpp:

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack.

        Compile after latest WebKit changes and don't depend
        on deprecated methods in Qt.

        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::deliverJobData):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::extractCharsetFromHeaders):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack.

        Use the Qt image loading framework.

        * CMakeLists.txt:
        * platform/graphics/ImageSource.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/ImageDecoderQt.cpp: Added.
        (WebCore::ImageDecoderQt::ImageData::ImageData):
        (WebCore::ImageDecoderQt::ReadContext::):
        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
        (WebCore::ImageDecoderQt::ReadContext::read):
        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
        (WebCore::ImageDecoderQt::ImageDecoderQt):
        (WebCore::ImageDecoderQt::~ImageDecoderQt):
        (WebCore::ImageDecoderQt::hasFirstImageHeader):
        (WebCore::ImageDecoderQt::reset):
        (WebCore::ImageDecoderQt::setData):
        (WebCore::ImageDecoderQt::isSizeAvailable):
        (WebCore::ImageDecoderQt::frameCount):
        (WebCore::ImageDecoderQt::repetitionCount):
        (WebCore::ImageDecoderQt::ImageDecoderQt::supportsAlpha):
        (WebCore::ImageDecoderQt::duration):
        (WebCore::ImageDecoderQt::frameBufferAtIndex):
        (WebCore::ImageDecoderQt::imageAtIndex):
        * platform/graphics/qt/ImageDecoderQt.h: Added.
        (WebCore::ImageDecoderQt::):
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::):
        (WebCore::detectImageFormat):
        (WebCore::createDecoder):
        (WebCore::ImageSource::setData):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):

2006-12-09  Lars Knoll  <lars@trolltech.com>

        Reviewed by Maciej.

        Remove an explicit ICU dependency.

        * xml/XPathParser.cpp:
        (WebCore::XPath::charCat):

2006-12-09  Zack Rusin  <zack@kde.org>

        Adjusting the build after the icu changes.

        * CMakeLists.txt:

2006-12-09  Adam Roben  <aroben@apple.com>

        Reviewed by Darin.

        Changed all ForwardingHeaders to use #include instead of #import.

        * ForwardingHeaders/kjs/JSLock.h:
        * ForwardingHeaders/kjs/SavedBuiltins.h:
        * ForwardingHeaders/kjs/collector.h:
        * ForwardingHeaders/kjs/dtoa.h:
        * ForwardingHeaders/kjs/internal.h:
        * ForwardingHeaders/kjs/interpreter.h:
        * ForwardingHeaders/kjs/lookup.h:
        * ForwardingHeaders/kjs/object.h:
        * ForwardingHeaders/kjs/property_map.h:
        * ForwardingHeaders/kjs/protect.h:
        * ForwardingHeaders/wtf/AlwaysInline.h:
        * ForwardingHeaders/wtf/Assertions.h:
        * ForwardingHeaders/wtf/FastMalloc.h:
        * ForwardingHeaders/wtf/GetPtr.h:
        * ForwardingHeaders/wtf/HashCountedSet.h:
        * ForwardingHeaders/wtf/HashMap.h:
        * ForwardingHeaders/wtf/HashSet.h:
        * ForwardingHeaders/wtf/HashTraits.h:
        * ForwardingHeaders/wtf/MathExtras.h:
        * ForwardingHeaders/wtf/Noncopyable.h:
        * ForwardingHeaders/wtf/OwnArrayPtr.h:
        * ForwardingHeaders/wtf/OwnPtr.h:
        * ForwardingHeaders/wtf/PassRefPtr.h:
        * ForwardingHeaders/wtf/Platform.h:
        * ForwardingHeaders/wtf/RefPtr.h:
        * ForwardingHeaders/wtf/Vector.h:

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11625
        Investigate possibility to share code between HTMLStyleElement and SVGStyleElement

        Add a class shared by both HTMLStyleElement and SVGStyleElement that
        encapsulates the common logic.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector):
        Generalize stylesheet processing of svg and html.

        * dom/StyleElement.cpp: Added.
        (WebCore::StyleElement::StyleElement):
        (WebCore::StyleElement::sheet):
        (WebCore::StyleElement::insertedIntoDocument):
        (WebCore::StyleElement::removedFromDocument):
        (WebCore::StyleElement::childrenChanged):
        * dom/StyleElement.h: Added.
        (WebCore::StyleElement::~StyleElement):
        (WebCore::StyleElement::isLoading):
        Common base class for SVGStyleElement and HTMLStyleElement.

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        (WebCore::HTMLStyleElement::parseMappedAttribute):
        (WebCore::HTMLStyleElement::insertedIntoDocument):
        (WebCore::HTMLStyleElement::removedFromDocument):
        (WebCore::HTMLStyleElement::childrenChanged):
        (WebCore::HTMLStyleElement::media):
        (WebCore::HTMLStyleElement::setMedia):
        (WebCore::HTMLStyleElement::type):
        (WebCore::HTMLStyleElement::setType):
        * html/HTMLStyleElement.h:
        Use new common class.

        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::contentScriptType):
        (WebCore::SVGSVGElement::contentStyleType):
        * ksvg2/svg/SVGSVGElement.h:
        Do not use tryGetAttribute(NS) anymore.

        * ksvg2/svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::SVGStyleElement):
        (WebCore::SVGStyleElement::xmlspace):
        (WebCore::SVGStyleElement::type):
        (WebCore::SVGStyleElement::media):
        (WebCore::SVGStyleElement::title):
        (WebCore::SVGStyleElement::insertedIntoDocument):
        (WebCore::SVGStyleElement::removedFromDocument):
        (WebCore::SVGStyleElement::childrenChanged):
        * ksvg2/svg/SVGStyleElement.h:
        Use new common class.

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

        Land the new ICU abstraction layer (WTF::Unicode).  Patch
        by Lars with a couple of fixes thrown in by me.

        Reviewed by hyatt

        * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
        * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * css/cssparser.cpp:
        (WebCore::ParseString::lower):
        * dom/Document.cpp:
        (WebCore::isValidNameStart):
        (WebCore::isValidNamePart):
        * editing/TextIterator.cpp:
        (WebCore::CircularSearchBuffer::append):
        * html/HTMLFontElement.cpp:
        (WebCore::parseFontSizeNumber):
        * html/HTMLInputElement.cpp:
        (WebCore::numGraphemeClusters):
        (WebCore::numCharactersInGraphemeClusters):
        * html/HTMLSelectElement.cpp:
        (WebCore::stripLeadingWhiteSpace):
        * page/Frame.h:
        * platform/DeprecatedString.h:
        (WebCore::DeprecatedChar::isSpace):
        (WebCore::DeprecatedChar::lower):
        (WebCore::DeprecatedChar::upper):
        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        (WebCore::WidthIterator::normalizeVoicingMarks):
        * platform/FontCache.h:
        * platform/FontData.h:
        * platform/GlyphMap.cpp:
        * platform/GlyphMap.h:
        * platform/GlyphWidthMap.h:
        * platform/KURL.cpp:
        (WebCore::encodeHostname):
        * platform/StringHash.h:
        (WTF::):
        * platform/StringImpl.cpp:
        (WebCore::isSpace):
        (WebCore::parseLength):
        (WebCore::StringImpl::isLower):
        (WebCore::StringImpl::lower):
        (WebCore::StringImpl::upper):
        (WebCore::StringImpl::secure):
        (WebCore::StringImpl::foldCase):
        (WebCore::StringImpl::capitalize):
        (WebCore::StringImpl::toInt):
        (WebCore::equalIgnoringCase):
        (WebCore::StringImpl::find):
        * platform/StringImpl.h:
        * platform/TextBoundaries.h:
        * platform/TextBreakIterator.h: Added.
        (WebCore::):
        * platform/TextBreakIteratorICU.cpp: Added.
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakNext):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        * platform/TextCodec.h:
        * platform/TextCodecLatin1.cpp:
        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/TextEncoding.h:
        * platform/TextEncodingRegistry.cpp:
        (WebCore::buildTextEncodingNameMap):
        (WebCore::buildTextCodecMap):
        * platform/TextEncodingRegistry.h:
        * platform/UChar.h: Removed.
        * platform/graphics/GraphicsContext.h:
        * platform/qt/GlyphMapQt.cpp:
        * platform/qt/TextBreakIteratorQt.cpp: Added.
        (WebCore::TextBreakIterator::following):
        (WebCore::TextBreakIterator::preceding):
        (WebCore::WordBreakIteratorQt::first):
        (WebCore::WordBreakIteratorQt::next):
        (WebCore::WordBreakIteratorQt::previous):
        (WebCore::CharBreakIteratorQt::first):
        (WebCore::CharBreakIteratorQt::next):
        (WebCore::CharBreakIteratorQt::previous):
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakNext):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        * platform/qt/TextCodecQt.cpp: Added.
        (WebCore::getAtomicName):
        (WebCore::TextCodecQt::registerEncodingNames):
        (WebCore::newTextCodecQt):
        (WebCore::TextCodecQt::registerCodecs):
        (WebCore::TextCodecQt::TextCodecQt):
        (WebCore::TextCodecQt::~TextCodecQt):
        (WebCore::TextCodecQt::decode):
        (WebCore::TextCodecQt::encode):
        * platform/qt/TextCodecQt.h: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::previousOffset):
        (WebCore::RenderText::nextOffset):
        (WebCore::RenderText::widthFromCache):
        * rendering/RenderText.h:
        * rendering/bidi.cpp:
        (WebCore::BidiState::BidiState):
        (WebCore::BidiContext::BidiContext):
        (WebCore::bidiNext):
        (WebCore::bidiFirst):
        (WebCore::BidiIterator::direction):
        (WebCore::appendRun):
        (WebCore::embed):
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::bidiReorderLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/bidi.h:
        (WebCore::BidiStatus::BidiStatus):
        (WebCore::BidiContext::dir):
        (WebCore::BidiContext::basicDir):
        (WebCore::BidiRun::BidiRun):
        * rendering/break_lines.h:

2006-12-08  Adam Roben  <aroben@apple.com>

        Rolling out r17865 because it caused a performance regression.

        * loader/TextResourceDecoder.cpp:
        (WebCore::findXMLEncoding):
        * platform/CString.cpp:
        (WebCore::CString::data):
        * platform/CString.h:
        * platform/TextStream.cpp:
        (WebCore::TextStream::operator<<):
        * platform/TextStream.h:

2006-12-08  Zack Rusin  <zack@kde.org>

        Reviewed by Maciej.

        Fix the Qt/KDE build after all the API changes.

        * CMakeLists.txt:
        * editing/qt/EditorQt.cpp: Added.
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::Editor::markMisspellingsInAdjacentWords):
        (WebCore::Editor::markMisspellings):
        * loader/NavigationAction.h:
        * loader/qt/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
        (WebCore::FrameLoaderClientQt::canHandleRequest):
        * loader/qt/FrameLoaderClientQt.h:
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::load):
        * loader/qt/ResourceLoaderQt.cpp:
        * platform/ContextMenu.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::addArc):
        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
        (WebCore::setup):
        * platform/network/ResourceHandle.h:
        (WebCore::ResourceHandle::getInternal):
        * platform/network/ResourceHandleInternal.h:
        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::slotData):
        (WebCore::ResourceHandleManager::remove):
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        * platform/qt/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::addMessageToConsole):
        (WebCore::ChromeClientQt::chromeDestroyed):
        * platform/qt/ChromeClientQt.h:
        * platform/qt/ContextMenuClientQt.cpp:
        (WebCore::ContextMenuClientQt::copyLinkToClipboard):
        (WebCore::ContextMenuClientQt::downloadURL):
        (WebCore::ContextMenuClientQt::copyImageToClipboard):
        (WebCore::ContextMenuClientQt::contextMenuDestroyed):
        (WebCore::ContextMenuClientQt::contextMenuItemSelected):
        * platform/qt/ContextMenuClientQt.h:
        * platform/qt/ContextMenuItemQt.cpp: Added.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::platformDescription):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformDescription):
        * platform/qt/CursorQt.cpp:
        (WebCore::copyCursor):
        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::shouldInsertNode):
        (WebCore::WebCore::EditorClientQt::pageDestroyed):
        (WebCore::EditorClientQt::smartInsertDeleteEnabled):
        * platform/qt/EditorClientQt.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::keyEvent):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        * platform/qt/LoaderFunctionsQt.cpp:
        * platform/qt/PasteboardQt.cpp: Added.
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::clearTypes):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):

=== Safari-521.32 ===

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10188
        Form elements added via appendChild() are not accessible via form.element

        Make sure looking up form elements works when the form is not appended
        to the document.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::registerFormElement):

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

        Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=11765
        REGRESSION: Clicking on a select with size other than 1 and no children results in a crash

        Make sure returned value is -1 for selects without children.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::listIndexAtOffset):

2006-12-08  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        This is a mo' better fix for ensuring we don't use macro definitions
        of min/max.

        * config.h:

2006-12-08  Peter Kasting  <pkasting@chromium.org>

        Reviewed and landed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11759:
        Windows build bustage

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ContextMenuClientWin.h:
        * bridge/win/FrameWin.h:
        * loader/win/FrameLoaderWin.cpp:
        (WebCore::FrameLoader::submitForm):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):
        * platform/win/MouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::inputElementAltText):
        (WebCore::copyCursor):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::ContextMenuClientWin::contextMenuItemSelected):
        (WebCore::ContextMenuClientWin::copyLinkToClipboard):
        (WebCore::ContextMenuClientWin::downloadURL):
        (WebCore::ContextMenuClientWin::copyImageToClipboard):
        (WebCore::Editor::ignoreSpelling):
        (WebCore::Editor::learnSpelling):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::Editor::markMisspellingsInAdjacentWords):
        (WebCore::FrameLoader::load):
        (WebCore::FrameWin::scheduleClose):
        (WebCore::FrameWin::respondToChangedSelection):

2006-12-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
        Crash when using XMLSerializer.serializeToString() on
        documentless, DocumentType nodes.

        Test: fast/dom/XMLSerializer-doctype.html
        Test: fast/dom/XMLSerializer-doctype2.html

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument): set the document of the 
        DocumentType node to the new document.
        * xml/XMLSerializer.cpp: Cleanup.
        (WebCore::XMLSerializer::serializeToString): now throws an exception
        for documentless nodes. 
        * xml/XMLSerializer.h: cleanup
        * xml/XMLSerializer.idl: add exception

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

        Reviewed by john

        <rdar://problem/4836287>
        Cannot expand selection out of editable element when containing element is non-editable.

        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
        to the same *highest* editable root.  This bug only happened when creating selections
        based in an editable region and extending into a higher editable root, so this change 
        doesn't expose any new kinds of deletions, but we should start thinking about how
        those deletions should behave.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::selectAll): Ditto.

2006-12-08  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Add a new member variable to ContextMenuItem to hold on to the sub-
        menu. The new member variable is an OwnPtr<ContextMenu>

        * platform/ContextMenu.cpp: Because of the OwnPtr in
        ContextMenuItem, we have to separate the declaration of
        ContextMenuItems away from the calls to appendItem(). Not doing so
        causes a build failure because OwnPtr inherits from Noncopyable.
        (WebCore::createFontSubMenu): Same.
        (WebCore::createSpellingAndGrammarSubMenu): Same.
        (WebCore::createSpellingSubMenu): Same.
        (WebCore::createSpeechSubMenu): Same.
        (WebCore::createWritingDirectionSubMenu): Same.
        (WebCore::ContextMenu::populate): Same.
        * platform/ContextMenuItem.h:  New member variable m_subMenu.
        * platform/mac/ContextMenuItemMac.mm: Take care of setting
        m_subMenu in addition to setting the submenu of the NSMenuItem when
        we have a sub-menu.
        (WebCore::menuToArray):
        (WebCore::ContextMenuItem::ContextMenuItem): Same.
        (WebCore::ContextMenuItem::platformSubMenu): Same.
        (WebCore::ContextMenuItem::setSubMenu): Same.

2006-12-08  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11778
        CString::data() should be documented as returning a null terminated char array

        * platform/CString.h:
        Add some basic documentation to CString.h

2006-12-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=11718
        REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
        continues to scroll automatically.

        Test: manual-tests/autoscroll.html

        * manual-tests/autoscroll.html: Added.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
        Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
        was only defined if the event was passed down to a widget or a subframe.

        (WebCore::EventHandler::stopAutoscrollTimer):
        If the mouse down event was in a subframe, stop the subframe's timer.

2006-12-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=6275
        XMLHttpRequest.getResponseHeader should return a null string for non-existent headers

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        Convert null getResponseHeader strings to JS null, rather than undefined.

2006-12-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9854
        HTTP Refresh header with quotes is parsed incorrectly

        Test: http/tests/misc/redirect-with-quotes.php

        * WebCore.xcodeproj/project.pbxproj:
        Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::receivedFirstData):
        Use the new implementation in HTTPHeaders.

        * platform/network/HTTPParsers.cpp: Added.
        (WebCore::skipWhiteSpace):
        (WebCore::parseHTTPRefresh):
        * platform/network/HTTPParsers.h: Added.
        Merged and rewrote existing implementations for better Firefox compatibility.

2006-12-08  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=11772
        REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes

        Test: fast/dom/serialize-cdata.html

        * editing/markup.cpp:
        (WebCore::startMarkup): Dump CDATA sections, too.

2006-12-08  Mitz Pettel  <mitz@webkit.org>

        Reviewed by hyatt.

        Deleted misplaced comment.

        * rendering/RenderWidget.cpp:

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=6074
        WebKit+SVG and FireFox disagree on invalid "transform" handling

        Test for parsing failure on transform attribute and clear the transform
        list upon failure to match FF behaviour.

        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::parseMappedAttribute):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseMappedAttribute):
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/SVGTransformable.h:

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

        Reviewed by Beth Dakin.

        Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer 
        dispatches onchange event in response to enter key
        
        To match our old behavior and FF, we need to dispatch onchange in response to the
        ENTER key. The strategy here is just to dispatch a blur event, since that's how
        the search field always worked, and the DOM spec says onchange only fires
        as a precursor to blur.

        * ChangeLog:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):

2006-12-07  Adam Roben  <aroben@apple.com>

        Reviewed by Oliver.

        Some small context menu-related fixes.

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
        resize on a contextmenuEvent.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
        off to HTMLGenericFormElement if we haven't handled it.

2006-12-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        <rdar://problem/4838778>
        Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
        
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::stopLoading):
        * loader/SubresourceLoader.h:
        Add stopLoading method which currently just clears the client. This isn't the ideal fix,
        since it doesn't actually stop the load.
        
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        Add null-checks.
        
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::abort):
        Call stopLoading.

2006-12-07  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geof.

        - added the ability to set the auto repeating variable to force a keyPressed
        event from a keyDown event.

        * platform/PlatformKeyboardEvent.h:
        (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):

2006-12-07  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11749
        Don't call updateThumbProportion() unnecessarily.

        * platform/ScrollBar.cpp:
        (WebCore::Scrollbar::setProportion):

2006-12-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Brady.

        Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't 
        doing anything before, and now it works! Also some formatting 
        changes, etc.

        * page/ContextMenuClient.h: Several of the parameters to several of 
        the functions here should be const or const references. And now 
        they are!
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow): Moved the open new window functionality 
        into a helper function since it is used by several menu item tags. 
        Now after calling chrome()->createWindow() we call chrome()->show() 
        on the new window, and so it appears!
        (WebCore::ContextMenuController::contextMenuItemSelected): Call new 
        openNewWindow function to do the right thing. Shift some 
        formatting, use local variable for HitTestResult. Implement action 
        for ContextMenuItemTagOpenLink.

2006-12-06  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by.

        - Removed a conflict marker

        * ChangeLog:

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

        Reviewed by darin
        
        <rdar://problem/4818134>
        Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
        * editing/visible_units.cpp:
        (WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
        RootInlineBoxes, like empty editable blocks and bordered blocks.
        (WebCore::endOfLine): Ditto.
        
2006-12-06  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by.

        - Removed a conflict marker

        * ChangeLog:

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

        Reviewed by john
        
        <rdar://problem/4854869>
        Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts

        * editing/htmlediting.cpp:
        (WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
        from editable content.
        * editing/markup.cpp:
        (WebCore::createMarkup): A null commonAncestorBlock will happen
        if commonAncestor is inside an inline editable root that doesn't
        contain any blocks.  Removed an early return for this case: the 
        code below the early return can and must handle it.

2006-12-06  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C

        Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
        This new file will have 64-bit only symbols we need to export.

        * WebCore.LP64.exp: Added.
        * WebCore.xcodeproj/project.pbxproj:

2006-12-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.
        
        Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
        
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        * loader/SubresourceLoader.h:
        (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
        (WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
        (WebCore::SubresourceLoader::willStopBufferingData):
        (WebCore::SubresourceLoader::willCacheResponse):
        (WebCore::SubresourceLoader::receivedCredential):
        (WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
        (WebCore::SubresourceLoader::receivedCancellation):
        * loader/SubresourceLoaderClient.h:
        (WebCore::SubresourceLoaderClient::didFail):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didFail):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::didFail):
        * loader/loader.h:
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::addData):
        (WebCore::ResourceLoader::resourceData):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::setDefersLoading):
        (WebCore::SubresourceLoader::resourceData):
        (WebCore::SubresourceLoader::load):
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle):
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didReceiveData):
        (WebCore::ResourceHandleClient::didFail):
        (WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
        (WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
        (WebCore::ResourceHandleClient::willStopBufferingData):
        (WebCore::ResourceHandleClient::willCacheResponse):
        (WebCore::ResourceHandleClient::receivedCredential):
        (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
        (WebCore::ResourceHandleClient::receivedCancellation):
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (WebCore::ResourceHandle::setDefersLoading):
        (WebCore::ResourceHandle::delegate):
        (WebCore::ResourceHandle::releaseDelegate):
        (WebCore::ResourceHandle::supportsBufferedData):
        (WebCore::ResourceHandle::bufferedData):
        (-[WebCoreResourceHandleAsDelegate initWithHandle:]):
        (-[WebCoreResourceHandleAsDelegate detachHandle]):
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
        (-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
        (-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::didFail):
        * xml/xmlhttprequest.h:

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

        Reviewed by Adam.

        There are two bugs with WebCore ContextMenus due to the static 
        ContextMenuItems. One bug is that we often crashed in 
        NSAutoreleasePool upon quitting the browser. The other bug is that 
        we were adding static NSMenuItems to multiple NSMenus, which is 
        disallowed. To fix these bugs, the MenuItems are no longer static. 
        This is in line with the current design in WebKit anyway. I made 
        some re-arrangements in the code because I also removed the macro 
        that was used to create the menu items since it was a bit 
        confusing.

        * platform/ContextMenu.cpp:
        (WebCore::createFontSubMenu):
        (WebCore::createSpellingAndGrammarSubMenu):
        (WebCore::createSpellingSubMenu):
        (WebCore::createSpeechSubMenu):
        (WebCore::createWritingDirectionSubMenu):
        (WebCore::ContextMenu::populate):
        * platform/ContextMenuItem.h:
        * platform/mac/ContextMenuItemMac.mm:
        (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
        global separator item if we have SeparatorType.
        * platform/mac/ContextMenuMac.mm:
        (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
        that is no longer accurate.
        (WebCore::ContextMenu::appendItem): Above name change.
        (WebCore::ContextMenu::insertItem): Same.

2006-12-06  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geof.

        - Returned the semantic meaning of the mask to be the actual repeat count,
        and changed auto_repeat to correctly differnetiate between keypressed and keydown.

        * platform/win/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

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

        Reviewed by harrison
        
        <rdar://problem/4753545>
        REGRESSION: Edited whitespace sequences are all nbsps (10636)

        * WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
        * editing/CompositeEditCommand.cpp:
        (WebCore::isWhitespace): Moved from htmlediting.
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
        once done in its own command here.  
        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
        whitespace around a position from collapsing when it's pushed apart during Paste.
        This function can eventually be deployed to eliminate the need for leading/trailing 
        whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
        (WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
        saving the typing style, because whitespace rebalancing is no longer it's own
        command that claims to preserve the typing style.
        * editing/RebalanceWhitespaceCommand.cpp: Removed.
        * editing/RebalanceWhitespaceCommand.h: Removed.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
        arond a position for being pushed aparat to its own method.
        * editing/htmlediting.cpp:
        (WebCore::stringWithRebalancedWhitespace): Added.  Returns a rebalanced string.
        Takes in whether or not the beginning of that string will be at the start of
        a paragraph, because a space at such a position must have be nbsp, even if
        that doesn't follow the nbsp/space pattern used.  Similar stuff for the end 
        of a paragraph.
        * editing/htmlediting.h:
        * editing/markup.cpp:
        (WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace.  Pass 
        it the startOfParagraph/endOfParagraph bools.

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

        Reviewed by Beth

        Moved spelling and grammar code from Frame to Editor

        * WebCore.exp:
        updated for these changes

        * page/Frame.h:
        removed declarations of spelling and grammar functions

        * bridge/mac/FrameMac.h:
        removed declarations of spelling and grammar functions

        * bridge/mac/FrameMac.mm:
        moved implementation of spelling and grammar functions from here
        (WebCore::FrameMac::respondToChangedSelection):
        updated for moved functions

        * editing/Editor.h:
        moved declarations of spelling and grammar functions to here

        * editing/mac/EditorMac.mm:
        moved implementation of spelling and grammar functions to here; changed
        only to make it compile (e.g. removing "editor()->" and adding "frame()->"
        where appropraite.
        (WebCore::findFirstMisspellingInRange):
        (WebCore::paragraphAlignedRangeForRange):
        (WebCore::findFirstGrammarDetailInRange):
        (WebCore::findFirstBadGrammarInRange):
        (WebCore::Editor::advanceToNextMisspelling):
        (WebCore::Editor::isSelectionMisspelled):
        (WebCore::isRangeUngrammatical):
        (WebCore::Editor::isSelectionUngrammatical):
        (WebCore::Editor::guessesForUngrammaticalSelection):
        (WebCore::core):
        (WebCore::Editor::guessesForMisspelledSelection):
        (WebCore::Editor::markMisspellingsInAdjacentWords):
        (WebCore::markAllMisspellingsInRange):
        (WebCore::markAllBadGrammarInRange):
        (WebCore::Editor::markMisspellings):

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        updated for moved functions

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::markMisspellingsAfterTyping):
        updated for moved functions

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

        Reviewed by Maciej.

        General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
        and remove a couple of functions that were unused.

        * loader/CachedResource.h:
        * loader/LoaderFunctions.h:
        * loader/mac/LoaderFunctionsMac.mm:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::~ResourceHandle):

2006-12-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by John.

        - keydown is now a keydown event instead of a keypress event.
          Fixes some form submission oddities.

        * platform/win/KeyEventWin.cpp:

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

        Tiger build fix

        * editing/mac/EditorMac.mm:
        declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)

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

        Reviewed by Geoff Garen

        * page/Frame.h:
        remove declarations of ignoreSpelling() and learnSpelling()

        * bridge/mac/FrameMac.h:
        remove declarations of ignoreSpelling() and learnSpelling()
        * bridge/mac/FrameMac.mm:
        moved implementations of ignoreSpelling() and learnSpelling() from here

        * editing/Editor.h:
        added declarations of ignoreSpelling() and learnSpelling()

        * editing/mac/EditorMac.mm:
        (WebCore::Editor::ignoreSpelling):
        moved here from FrameMac.mm
        (WebCore::Editor::learnSpelling):
        ditto

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):
        updated callers to use frame()->editor() rather than frame()

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

        Reviewed by Adam

        New context-menu mechanism fix for:
        <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        Leave out "No Guesses Found" and separator for grammar-checking case.

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

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11686
        WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)

        Make sure the SVG render objects are laid out before measuring their 
        dimensions using relativeBBox.

        * ksvg2/svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::getBBox):

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

        Reviewed by Darin

        Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
        since that's where isContinousSpellCheckingEnabled lives.

        * editing/Editor.h:
        * editing/Editor.cpp:
        (WebCore::Editor::isGrammarCheckingEnabled):
        new method, calls through to client a la isContinuousSpellCheckingEnabled

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        call editor() rather than editor()->client()
        (WebCore::FrameMac::markMisspellings):
        ditto

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        ditto

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

        Reviewed by Geoff.

        - a little cleanup

        * html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
        and RenderStyle.h.
        * html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
        * ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.

        * ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
        * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
        Ditto.

        * ksvg2/scripts/generateJSBindings.pl: Removed unused script.

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

        * doc: Removed empty directory. It's not clear this is a good place for
        documentation, so lets add it back later if we actually start using it.

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

        Reviewed by Brady, Darin.

        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        Remove ref() call that was left around by mistake.

2006-12-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Tim H.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
        Don't compile custom SVG and XSLT bindings in non-svg build

        * bindings/js/JSSVGNumber.cpp:
        * bindings/js/JSSVGNumber.h:
        * bindings/js/JSSVGPoint.cpp:
        * bindings/js/JSSVGPoint.h:
        * bindings/js/JSSVGRect.cpp:
        * bindings/js/JSSVGRect.h:
        * bindings/js/JSXSLTProcessor.cpp:
        * bindings/js/JSXSLTProcessor.h:

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

        Reviewed by Darin

        WebCore part of fix for:
        <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"

        The context menu mechanism is currently in flux; the old mechanism is still in place, but an
        up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
        test the new mechanism because it doesn't work well enough yet. Also, some of this code 
        should move from Frame to Editor, but that will wait for another checkin.

        * page/Frame.h:
        added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()

        * bridge/mac/FrameMac.h:
        added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::isSelectionMisspelled):
        now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
        ignoreWord:inSpellDocumentWithTag:] work correctly
        (WebCore::isRangeUngrammatical):
        new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
        (WebCore::FrameMac::isSelectionUngrammatical):
        new function, calls isRangeUngrammatical
        (WebCore::FrameMac::guessesForUngrammaticalSelection):
        ditto

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        now considers bad grammar as well as misspellings
        
        * platform/ContextMenuItem.h:
        added ContextMenuItemTagIgnoreGrammar
        
2006-12-05  Pam Greene  <pam@chromium.org>

        Reviewed, tweaked and landed by Alexey.

        <http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineState): Moved test for active 
        state before test for hover state, since active should override hover 
        when both are true.

        * platform/gdk/RenderThemeGdk.cpp: 
        (WebCore::RenderThemeGdk::determineState): Same fix.

2006-12-05  Pam Greene  <pam@chromium.org>

        Reviewed and landed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11681
        Don't select the first option when resetting a listbox-style form 
        control (i.e., a multi-select control or one with size > 1) that
        has no default selection.

        Test: fast/dom/HTMLSelectElement/listbox-select-reset.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::reset):

2006-12-05  Lars Naesbye Christensen  <lars@naesbye.dk>

        Reviewed and landed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11752
        [CSS 3] missing support for cursor selector 'copy'

        * Resources/copyCursor.png: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * manual-tests/cursor.html:
        * page/EventHandler.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::copyCursor):
        * rendering/RenderStyle.h:
        (WebCore::):

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

        Reviewed by Geoff.

        Fix from last check-in. This line was badbad.

        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::~ContextMenu):

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

        Reviewed by Geoff.

        With the new changes to ContextMenuItems, WebCore context menus 
        stopped appearing at all. And then when I got them to appear, they 
        crashed. This fixes both of these problems.

        * platform/mac/ContextMenuItemMac.mm:
        (WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot 
        be nil. This was causing Obj-C to throw an exception preventing the 
        menus from popping up at all. 
        * platform/mac/ContextMenuMac.mm:
        (+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static 
        MenuTarget so that it is more clear that it is a static and shared 
        WebCoreMenuTarget.
        (WebCore::ContextMenu::ContextMenu): Initialize the 
        WebCoreMenuTarget's controller in the ContextMenu constructor 
        instead of in getNSMenuItem since the controller will only possibly 
        change when a new ContextMenu has been created.
        (WebCore::ContextMenu::~ContextMenu): Set the target's controller 
        to 0.
        (WebCore::getNSMenuItem): A lot of this work is being done other 
        places now. Call new class method on WebCoreMenuTarget to get the 
        shared target.
        (WebCore::ContextMenu::appendItem): We should not be releasing the 
        menuItem here! This caused the crashes I saw.
        (WebCore::ContextMenu::insertItem): Same.

2006-12-04  Anders Carlsson  <acarlsson@apple.com>

        Fix the build.
        
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::~SubresourceLoader):
        Add back the destructor.

2006-12-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.
        
        Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
        make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a 
        standalone class which doesn't need to know about SubresourceLoader.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::setDefersLoading):
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::~SubresourceLoader):
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFailWithError):
        (WebCore::SubresourceLoader::receivedAllData):
        * loader/SubresourceLoader.h:
        (WebCore::SubresourceLoader::loaderAsResourceHandleClient):
        (WebCore::SubresourceLoader::handle):
        * loader/SubresourceLoaderClient.h: Added.
        (WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
        (WebCore::SubresourceLoaderClient::willSendRequest):
        (WebCore::SubresourceLoaderClient::didReceiveResponse):
        (WebCore::SubresourceLoaderClient::didReceiveData):
        (WebCore::SubresourceLoaderClient::didFinishLoading):
        (WebCore::SubresourceLoaderClient::didFailWithError):
        (WebCore::SubresourceLoaderClient::receivedAllData):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading):
        (WebCore::IconLoader::stopLoading):
        (WebCore::IconLoader::didReceiveResponse):
        (WebCore::IconLoader::didReceiveData):
        (WebCore::IconLoader::didFailWithError):
        (WebCore::IconLoader::didFinishLoading):
        (WebCore::IconLoader::clearLoadingState):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::didFailWithError):
        (WebCore::Loader::didReceiveResponse):
        (WebCore::Loader::didReceiveData):
        (WebCore::Loader::cancelRequests):
        * loader/loader.h:
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::ResourceHandle):
        (WebCore::ResourceHandle::create):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::finishJobAndHandle):
        (WebCore::ResourceHandle::loader):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::didFailWithError):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::willSendRequest):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

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

        Reviewed by Adele.

        - fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
          REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window

        This fixes command-return when the focus is on a link.
        Despite the title of the bug, Mitz wanted me to fix both, and I will not
        say no to him!

        Test: fast/events/simulated-key-state.html

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
        false for all the key state in simulated mouse events, pass the state from the
        first underlying event in the chain that has key state; in the case in the bug,
        the keyboard event will be the underlying event itself and we'll propagate the
        alt key modifier to the mouse event, resulting in the effect we want. It's nice
        that JavaScript also gets to see the proper modifiers in the mouse event.

        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
        Added code to pass in an underlying event to dispatchSimulatedClick. After looking
        at all the other callers, this seems to be the only one that needs to pass an
        event that is currently passing 0. Also removed the code that only simulated a
        click when the event has a PlatformKeyboardEvent -- no reason for that and it
        prevented me from writing a layout test for the fix. 

        * dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
        underlyingEvent chain to find the first event that has key state. This already
        existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
        * dom/UIEventWithKeyState.cpp: Added.

        * CMakeLists.txt: Added UIEventWithKeyState.cpp.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
        * WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
        * WebCoreSources.bkl: Added UIEventWithKeyState.cpp.

        * WebCore.exp: Added findEventWithKeyState, used by WebKit.

2006-12-04  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Darin.

        - rdar://problem/4833935
        - removed the guards for the "multiple forms submission" issue, which may not be
          an issue anymore and the guards prevent perfectly legitimate websites from
          working correctly.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setView):
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityPerformAction:]):
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::keyPress):
        * config.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        * loader/FrameLoader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::receivedMainResourceError):
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::submitForm):
        * page/Frame.cpp:
        (WebCore::Frame::setView):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::keyEvent):
        (WebCore::EventHandler::mouseDown):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::keyEvent):

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

        Reviewed by Darin Adler.
        
        Added support for Dashboard backward compatibility mode.
        
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
        of automatically clearing the stroke path buffer after a call to stroke().
        * html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
        tag being self-closing.
        (WebCore::HTMLCanvasElement::endTagRequirement):
        (WebCore::HTMLCanvasElement::tagPriority):
        * html/HTMLCanvasElement.h:
        * html/HTMLParser.cpp: Ditto.
        (WebCore::HTMLParser::canvasCreateErrorCheck):
        * xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
        a call to setRequestHeader() if it preceded a call to open() or followed a call
        to send().
        (WebCore::XMLHttpRequest::setRequestHeader):

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

        Reviewed by Alice.

        * bridge/EditorClient.h: Removed "_web_" prefix from
        C++ userVisibleString member function. Alice will probably change
        this so it's not on the editor client any more later.

        * editing/Editor.h: Removed "_web_" prefix from
        C++ userVisibleString member function.
        * editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
        code from this file.

        * editing/mac/EditorMac.mm:
        (WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
        (WebCore::Editor::userVisibleString): Moved this function here.

        * platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
        Made Pasteboard noncopyable. Removed use of "protected" where we should
        be using "private". Removed s_generalPasteboard.
        * platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
        s_generalPasteboard global. Removed the unused destructor. Updated call
        to userVisibleString for name change. Tweaked formatting.

2006-12-04  Alice Liu  <alice.liu@apple.com>

        Reviewed by Oliver.

        Moved some constants from EventHandlerMac.mm to EventHandler.cpp
        Added some platform-specific data members and functions.

        * page/EventHandler.cpp:
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:
        * platform/PlatformMouseEvent.h:
        (WebCore::):
        (WebCore::PlatformMouseEvent::timestamp):
        (WebCore::PlatformMouseEvent::activatedWebView):
        (WebCore::PlatformMouseEvent::type):

2006-12-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin, Geoff.

        Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
        We use RefPtrs to ResourceHandle instead.

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::~IconLoader):
        (WebCore::IconLoader::stopLoading):
        (WebCore::IconLoader::didReceiveResponse):
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::jobForRequest):
        * loader/loader.h:
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::finishJobAndHandle):
        (WebCore::ResourceHandle::reportError):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::didFinishLoading):

2006-12-04  Oliver Hunt  <oliver@apple.com>

        Build fix for non-SVG builds

        * bindings/js/JSSVGPoint.cpp:
        (WebCore::JSSVGPointProtoFunc::callAsFunction):

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

        Reviewed by Beth.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11632
          AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work

        No test case added at the moment, but Beth said she'd investigate
        adding one after the fact.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        Fix obvious-in-retrospect copy and paste error -- call
        passMouseDownEventToWidget instead of passWheelEventToWidget.

2006-12-04  Peter Kasting  <pkasting@chromium.org>

        Reviewed and landed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11738:
        Make link clicking work again on Windows.

        This re-implements a few functions that used to be part of FrameWin in
        their new loader-based locations, and copies a few things from the Mac
        and Qt event handling code that aren't strictly necessary but are
        pretty simple.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ChromeClientWin.h:
        * bridge/win/ContextMenuClientWin.h:
        * bridge/win/EditorClientWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::client):
        * bridge/win/FrameWin.h:
        * loader/win/DocumentLoaderWin.cpp: Added.
        (WebCore::DocumentLoader::setTitle):
        * loader/win/FrameLoaderClientWin.cpp: Added.
        (WebCore::FrameLoaderClientWin::userAgent):
        * loader/win/FrameLoaderClientWin.h:
        * loader/win/FrameLoaderWin.cpp: Added.
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::setTitle):
        * page/win/EventHandlerWin.cpp: Added.
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passWheelEventToSubframe):
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::EventHandler::tabsToLinks):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::lastEventIsMouseUp):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::FrameLoader::getHistoryLength):
        (WebCore::FrameLoader::historyURL):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoaderClientWin::setTitle):

2006-12-04  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11748:
        Windows build bustage.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/ContextMenuItem.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::platformDescription):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):

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

        Reviewed by Anders

        Moved EditorMac.mm to its appropriate location

        * platform/mac/EditorMac.mm: Removed.
        * editing/mac/EditorMac.mm: Added

        * WebCore.xcodeproj/project.pbxproj:
        updated for this change

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

        Reviewed by dhyatt.

        Patch by pmax.

        http://bugs.webkit.org/show_bug.cgi?id=3280
        With LEGEND element, align=right value is not supported
        http://bugs.webkit.org/show_bug.cgi?id=11544
        <legend> rendering doesn't take align into account

        Allow aligning for legends in both RTL and LTR mode.

        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::layoutLegend):

2006-12-03  Mark Rowe  <bdash@webkit.org>

        Reviewed by Alexey.

        http://bugs.webkit.org/show_bug.cgi?id=11730
        Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.

2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Fix following bugs:
        http://bugs.webkit.org/show_bug.cgi?id=11734
        http://bugs.webkit.org/show_bug.cgi?id=11685

        SVGPoint/SVGRect/SVGNumber were missing put() support.
        SVGPoint.matrixTransform() was missing.

        In SVG DOM there are no cases where a readwrite property
        exists of type SVGRect/SVGNumber/SVGPoint. Only function
        calls returns instances of these objects. It would make
        no sense to be able to write "someObj.getBbox().x = 100", and
        modify the actual stored internal value of "someObj".

        The only cases where these modification makes sense, is
        when these SVGPoint/SVGRect/SVGNumber objects are created
        via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).

        Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
        values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.

        Patch created by Rob & me - co production.
        Long live the great carto.next examples! :-)

        * CMakeLists.txt:
        * DerivedSources.make:
        * bindings/js/JSSVGNumber.cpp:
        (WebCore::):
        (WebCore::JSSVGNumber::getOwnPropertySlot):
        (WebCore::JSSVGNumber::getValueProperty):
        (WebCore::JSSVGNumber::put):
        (WebCore::JSSVGNumber::putValueProperty):
        * bindings/js/JSSVGNumber.h:
        (WebCore::JSSVGNumber::):
        (WebCore::JSSVGNumber::impl):
        * bindings/js/JSSVGPoint.cpp:
        (WebCore::JSSVGPoint::JSSVGPoint):
        (WebCore::JSSVGPoint::put):
        (WebCore::JSSVGPoint::putValueProperty):
        (WebCore::JSSVGPointProtoFunc::callAsFunction):
        * bindings/js/JSSVGPoint.h:
        (WebCore::JSSVGPoint::):
        * bindings/js/JSSVGRect.cpp:
        (WebCore::JSSVGRect::put):
        (WebCore::JSSVGRect::putValueProperty):
        * bindings/js/JSSVGRect.h:
        * bindings/objc/DOMSVGPoint.mm:
        (-[DOMSVGPoint matrixTransform:]):
        * platform/graphics/FloatPoint.cpp:
        (WebCore::FloatPoint::matrixTransform):
        * platform/graphics/FloatPoint.h:

2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Dave.

        Another missing piece in the platform/graphics move.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ImageAnimationObserver.h: Moved to platform/graphics.

2006-12-03  Rob Buis  <buis@kde.org>

        Reviewed by Oliver.

        http://bugs.webkit.org/show_bug.cgi?id=11667
        SVG: method .getTransformToElement(elt) in SVGLocatable not implemented

        Implement getTransformToElement functionality. Introduce virtual
        baseclass SVGLocatable to allow one implementation of the functionality.
        Finally cleanup some code.

        * ksvg2/svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::getTransformToElement):
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        (WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
        (WebCore::SVGStyledLocatableElement::nearestViewportElement):
        (WebCore::SVGStyledLocatableElement::farthestViewportElement):
        (WebCore::SVGStyledLocatableElement::getCTM):
        (WebCore::SVGStyledLocatableElement::getScreenCTM):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
        (WebCore::SVGStyledTransformableElement::localMatrix):
        (WebCore::SVGStyledTransformableElement::getCTM):
        (WebCore::SVGStyledTransformableElement::getScreenCTM):
        (WebCore::SVGStyledTransformableElement::updateLocalTransform):
        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
        (WebCore::SVGStyledTransformableElement::nearestViewportElement):
        (WebCore::SVGStyledTransformableElement::farthestViewportElement):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTransformable.h:

2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

        Move some files around, which have been forgotton in the platform/graphics move.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
        * platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.

2006-12-03  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Mitz.

        Fix non-svg build.

        * platform/graphics/GraphicsContext.h:
        * platform/mac/GraphicsContextMac.mm:

2006-12-02  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick

        Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
        the find-next-instance functions with the mark-all-instances functions.

        * bridge/mac/FrameMac.mm:
        (WebCore::findFirstMisspellingInRange):
        added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
        through the entire range and marks each misspelling
        (WebCore::findFirstGrammarDetailInRange):
        extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
        ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
        to the one in findFirstMisspellingInRange.
        (WebCore::findFirstBadGrammarInRange):
        added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
        (WebCore::FrameMac::advanceToNextMisspelling):
        pass "false" for new markAll parameters
        (WebCore::markAllMisspellingsInRange):
        now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
        (WebCore::markAllBadGrammarInRange):
        now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code

2006-12-02  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11672
          REGRESSION (r17068): Repro crash due to painting without layout

        Test: fast/dynamic/containing-block-change.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Changed the logic used
        to find absolutely positioned descendant's current containing block to
        match the changes made to containingBlock() in the fix for bug 9347.

2006-12-02  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11709
        DeprecatedString::format is broken on Windows

        Use _vscprintf on Windows to compute the length of the buffer that
        vsnprintf would need.

        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedString::format):
        * platform/String.cpp:
        (WebCore::String::format):

2006-12-01  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Support for sub-menus in WebCore context menus. This also re-
        architects the ContextMenuItem class so that it is more like
        ContextMenu in that the class is now really just a wrapper for the
        platformDescription

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Add
        place-holders for new tags for the sub-menu items. I will flesh
        these out in a separate check-in.
        * platform/ContextMenu.cpp:
        (WebCore::createFontSubMenu):
        (WebCore::createSpellingAndGrammarSubMenu):
        (WebCore::createSpellingSubMenu):
        (WebCore::createSpeechSubMenu):
        (WebCore::createWritingDirectionSubMenu):
        (WebCore::ContextMenu::populate): Call the above functions to add
        the appropriate sub-menus to editing context menus.
        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        (WebCore::): New tags in the ContextMenuAction enumeration.
        (WebCore::ContextMenuItem::parentMenu):
        (WebCore::ContextMenuItem::setType):
        * platform/PlatformMenuDescription.h: Added. This defines
        PlatformMenuDesciption. It needs to be its own header because we
       have to include it from ContextMenu.h and ContextMenuItem.h
        * platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
        make this class basically just be a wrapper for NSMenuItem.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::platformDescription):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::getNSMenuItem): Now we only have to get the
        platformDescription of the ContextMenuItem and then set its target
        and action.
        (WebCore::ContextMenu::itemCount):

2006-12-01  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by .

        - accidentally checked in with previous checkin

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::keyEvent):

2006-12-01  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Adam.

        - better solution to the ambiguous reference

        * platform/Widget.h:
        (WebCore::Widget::handleMouseMoveEvent):
        (WebCore::Widget::handleMouseReleaseEvent):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::keyEvent):
        * platform/win/PlatformScrollBar.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::PlatformScrollbar::handleMouseMoveEvent):
        (WebCore::PlatformScrollbar::handleMouseReleaseEvent):

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

        Reviewed by john
        
        <rdar://problem/4826940>
        Selection change performed even when delete delegate replies NO (11415)

        No layout test for the bug fix, because there's no way to register a custom
        editing delegate from a layout test.  Layout tests are effected by the change
        to avoid sending unnecessary shouldChangeSelections, however. 

        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
        if the editing operation didn't change the selection.  Still call
        setSelection though, because it does work in this case that's necessary,
        like clearing the typing style.
        (WebCore::Editor::unappliedEditing): Ditto.
        (WebCore::Editor::reappliedEditing): Ditto.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
        selection if the editing delegate returns NO from shouldDeleteRange.
        Notice we now call setStartingSelection in the case where
        the current selection was a range selection.  This is fine because
        it's a no-op (the starting selection is already the current selection).
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.

2006-12-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin
        
        Move subrange helper function from spellchecking code to TextIterator

        * editing/TextIterator.h:
        added TextIterator::subrange
        * editing/TextIterator.cpp:
        (WebCore::CharacterIterator::advance):
        early return if count is <= 0; assert that it's not < 0
        (WebCore::TextIterator::subrange):
        new function, moved from FrameMac.mmm

        * bridge/mac/FrameMac.mm:
        moved subrange() function to TextIterator
        (WebCore::FrameMac::advanceToNextMisspelling):
        use TextIterator::subrange
        (WebCore::markAllMisspellingsInRange):
        ditto
        (WebCore::markAllBadGrammarInRange):
        ditto

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

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11628
          REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window

        I couldn't think of an easy way to make a regression test for this, but maybe
        I'll get an idea later about how to do it.

        The main thing I did was add a concept of a DOM event having an "underlying event".
        That allows the DOM activate event to contain inside it the original keyboard event
        that triggered the form submission, and thus allows WebKit to see the modifier keys
        from that original event. The code that uses the underlying event is in WebKit, but
        the code to set it up is here in WebCore.

        - also do some clean-up to related event handling code

        * bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
        name change of cancelBubble.

        * dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
        Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
        name predated the use of the m_ prefix on data members. Added the underlying event,
        and a getter and setter.
        * dom/Event.cpp:
        (WebCore::Event::setTarget): Updated to take a PassRefPtr.
        (WebCore::Event::setUnderlyingEvent): Added.

        * dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
        dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
        dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
        mostly replaces the click function in HTMLElement.
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
        of cancelBubble.
        (WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
        which gets attached to the UIEvent object after it's created.
        (WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
        name for the version that creates a mouse event for a real platform mouse event.
        Added an underlying event parameter to the main version, and attached it to all
        three of the events that can be dispatched.
        (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
        event parameter, passed it along to dispatchMouseEvent.
        (WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
        and renamed it from click. Added an underlyingEvent parameter, and passed that along
        in all three of the calls to dispatchSimulatedMouseEvent.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
        setTarget that no longer needs a get().
        * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
        to a call to dispatchSimulatedClick.
        (WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::accessKeyAction): Ditto.
        * html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
        We could move it down to the input and button elements, now that it's just
        a single function call, but it's also OK to just leave it here.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::click): Removed the parameters and changed this to just
        call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
        (WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
        dispatchSimulatedClick.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
        pass the event along as the underlying event.
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.cpp: Removed override of virtual click function. The
        special cases for the file control and hidden input elements aren't needed.
        (WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
        dispatchSimulatedClick.
        (WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
        dispatchSimulatedClick, passing along the event as the underlying event.
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
        to dispatchSimulatedClick, passing the event along as the underlying event. Also
        changed the local variable for the element to a RefPtr since the code assumes it's
        still around after calling arbitrary JavaScript code.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
        dispatchSimulatedClick.

        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
        Removed unneeded ignored parameter to the click function, and also made it non-virtual.

        * loader/NavigationAction.h: Removed unneeded includes.
        * loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
        since none of it is Mac-specific any more.
        * loader/mac/NavigationActionMac.mm: Removed.
        * WebCore.xcodeproj/project.pbxproj: Updated for removed file.

        * ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.

        * loader/FrameLoader.cpp: Added a newly-needed incluude.
        * loader/mac/DocumentLoaderMac.mm: Ditto.
        * loader/mac/FrameLoaderMac.mm: Ditto.
        * rendering/RenderWidget.cpp: Ditto.

2006-12-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        - fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by 
          insufficient context passed to grammar checker

        * bridge/mac/FrameMac.mm:
        (WebCore::markAllMisspellingsInRange):
        new function, extracted from markMisspellings -- ignores grammar
        (WebCore::markAllBadGrammarInRange):
        new function, extracted from markMisspellings -- ignores spelling, and operates on
        appropriately-sized chunks of text
        (WebCore::FrameMac::markMisspellings):
        now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
        than trying to interweave the spelling and grammar logic

2006-12-01  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        With these changes, grammar checking works correctly for the one-by-one case.
        It still doesn't work correctly for the check-as-you-type case; I need to make these
        same kinds of changes in markMisspellings, and refactor to share more code between
        the two cases, but I wanted to get this working code in before modifying it further.

        The major change here is that advanceToNextMisspelling used to look at small chunks of
        text at a time, checking each one for both misspellings and questionable grammar. But
        grammar checking needs at least paragraph-sized chunks of text to have enough context
        to work correctly, so the old mechanism was causing many spurious complaints of bad
        grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
        would complain about missing capitalization). So now the spell checker runs in the
        specified range first. Then the grammar checker runs on the same range (stopping at the
        next misspelling, if any), but expanded to paragraph-aligned boundaries.

        * bridge/mac/FrameMac.mm:
        (WebCore::findFirstMisspellingInRange):
        new function, extracted from advanceToNextMisspelling, and ignores grammar
        (WebCore::paragraphAlignedRangeForRange):
        new function, used by findNextBadGrammarInRange
        (WebCore::findFirstBadGrammarInRange):
        new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
        chunks, and ignores spelling
        (WebCore::subrange):
        new helper function, used by advanceToNextMisspelling
        (WebCore::FrameMac::advanceToNextMisspelling):
        now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
        instead of trying to interweave the spelling and grammar logic

2006-12-01  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11732:
        Windows build bustage.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ChromeClientWin.h:
        * bridge/win/ContextMenuClientWin.h:
        * bridge/win/EditorClientWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        (WebCore::FrameWin::keyPress):
        * bridge/win/FrameWin.h:
        * loader/win/FrameLoaderClientWin.h:
        * platform/ContextMenu.h:
        * platform/Widget.h:
        * platform/win/PlatformScrollBar.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ChromeClientWin::chromeDestroyed):
        (WebCore::ChromeClientWin::addMessageToConsole):
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenuClientWin::contextMenuDestroyed):
        (WebCore::ContextMenuClientWin::contextMenuItemSelected):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::Editor::newGeneralClipboard):
        (WebCore::EditorClientWin::pageDestroyed):
        (WebCore::EditorClientWin::smartInsertDeleteEnabled):
        (WebCore::EditorClientWin::shouldInsertNode):
        (WebCore::FrameLoader::createPlugin):
        (WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
        (WebCore::FrameLoaderClientWin::hasWebView):
        (WebCore::FrameLoaderClientWin::canHandleRequest):
        (WebCore::FrameWin::unfocusWindow):
        (WebCore::FrameWin::bindingRootObject):
        (WebCore::FrameWin::issueCopyCommand):
        (WebCore::FrameWin::markMisspellings):
        (WebCore::FrameWin::issueTransposeCommand):
        (WebCore::FrameWin::markedTextRange):
        (WebCore::FrameWin::respondToChangedSelection):
        (WebCore::FrameWin::markMisspellingsInAdjacentWords):
        (WebCore::FrameWin::isSelectionMisspelled):
        (WebCore::FrameWin::guessesForMisspelledSelection):
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::clearTypes):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::documentFragment):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::~Pasteboard):
        (WebCore::Pasteboard::registerSelectionPasteboardTypes):
        (WebCore::Pasteboard::replaceNBSP):
        (WebCore::Pasteboard::createHandle):
        (WebCore::Pasteboard::createCF_HTMLFromRange):

2006-11-30  Geoffrey Garen  <ggaren@apple.com>

        Rubber Stamped by Anders Carlsson.

        Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
        suggested a command, and conflicted with a different meaning for 'focusNode'
        in the Mozilla selection API.

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

        Reviewed by Justin

        With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
        That revealed another problem in the layout tests involving bad parameters passed to the Range
        constructors.
        
        With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
        no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
        I'm going to update the results for that test and file a separate radar about it, which Justin will
        investigate.

        * dom/Position.h:
        removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
        
        * dom/Range.cpp:
        (WebCore::Range::Range):
        Call setStart and setEnd in the two Range constructors that take parameters, rather than just 
        directly setting the instance variables. This makes Range perform the boundary checks and
        compensations that the DOM spec requires.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs):
        Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
        
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        Assert that the boundary points of the range are valid.

2006-11-30  Lou Amadio  <lamadio@apple.com>

        Reviewed by Dave Hyatt
        Cleaned up generated files.

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isRecognizedTagName):
                Uses the new method for retrieving the list of supported tags
        * ksvg2/scripts/make_names.pl:
                Generates tag lists without using macros.

2006-11-30  Adam Roben  <aroben@apple.com>

        Reviewed by Beth.

        Store ContextMenu's NSMutableArray inside a RetainPtr so that we
        will retain/release it correctly.

        * WebCore.exp:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate): Added a FIXME.
        * platform/ContextMenu.h:
        * platform/mac/ContextMenuMac.mm: 
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::getNSMenuItem):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformDescription):
        (WebCore::ContextMenu::platformDescription):

2006-11-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Rubber stamped by Oliver.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
     
        This is the final patch after the long "die kcanvas" journey.

        All old kcanvas code is gone now, and properly integrated within
        WebCore (stuff like GraphicsContext changes etc.). It shares
        the platform/ design concept: no subclassing, but instead
        implementing parts of the classes/methods per-platform.

        This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
        This layer was just obsolete, given the powerful GraphicsContext API we have
        since quite a while now. All the ugly pushContext/popContext stuff is gone now.

        LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
        Radial gradients as fill color for texts, work again!
        Though "Gradient on text stroke" remains broken. Funny thing:
        With this patch, if you "select" the text using the mouse, as
        soon as the selection rectangle is drawn, you see the correct
        gradient on stroke rendering - at least a hint where it breaks!

        All svg layout tests have subtle text rendering changes - with and without this
        patch, it seems it was forgotton to update svg pixel test baseline, a while ago.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/device/KRenderingDevice.cpp: Removed.
        * kcanvas/device/KRenderingDevice.h: Removed.
        * kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
        * kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
        * kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
        * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
        * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
        * kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
        * kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::sharedSolidPaintServer):
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGClipPathElement.cpp:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
        (WebCore::SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        (WebCore::SVGFEDiffuseLightingElement::updateLights):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
        (WebCore::SVGFEDistantLightElement::lightSource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
        (WebCore::SVGFEFloodElement::parseMappedAttribute):
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEFuncAElement.cpp:
        * ksvg2/svg/SVGFEFuncBElement.cpp:
        * ksvg2/svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
        * ksvg2/svg/SVGFEFuncRElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::SVGFEImageElement):
        (WebCore::SVGFEImageElement::parseMappedAttribute):
        (WebCore::SVGFEImageElement::notifyFinished):
        (WebCore::SVGFEImageElement::filterEffect):
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
        (WebCore::SVGFEOffsetElement::parseMappedAttribute):
        (WebCore::SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::lightSource):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        (WebCore::SVGFESpecularLightingElement::filterEffect):
        (WebCore::SVGFESpecularLightingElement::updateLights):
        * ksvg2/svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
        (WebCore::SVGFESpotLightElement::lightSource):
        * ksvg2/svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        (WebCore::SVGFETileElement::parseMappedAttribute):
        (WebCore::SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::filterEffect):
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::canvasResource):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::canvasResource):
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/svg/SVGPaintServer.h:
        * platform/graphics/svg/SVGPaintServerGradient.cpp:
        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
        * platform/graphics/svg/SVGPaintServerGradient.h:
        * platform/graphics/svg/SVGPaintServerLinearGradient.h:
        * platform/graphics/svg/SVGPaintServerPattern.h:
        * platform/graphics/svg/SVGPaintServerRadialGradient.h:
        * platform/graphics/svg/SVGPaintServerSolid.h:
        * platform/graphics/svg/SVGResource.cpp:
        * platform/graphics/svg/SVGResource.h:
        * platform/graphics/svg/SVGResourceClipper.h:
        * platform/graphics/svg/SVGResourceFilter.h:
        * platform/graphics/svg/SVGResourceMasker.h:
        * platform/graphics/svg/cg/RenderPathCg.cpp: Added.
        * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
        (WebCore::SVGPaintServer::draw):
        (WebCore::SVGPaintServer::teardown):
        (WebCore::SVGPaintServer::renderPath):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::renderPath):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        (WebCore::SVGPaintServerPattern::teardown):
        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
        (WebCore::SVGResourceClipper::applyClip):
        * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
        (WebCore::SVGResourceFilter::SVGResourceFilter):
        (WebCore::SVGResourceFilter::createFilterEffect):
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        (WebCore::SVGResourceMasker::applyMask):
        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
        (WebCore::SVGPaintServer::draw):
        (WebCore::SVGPaintServer::teardown):
        (WebCore::SVGPaintServer::renderPath):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
        (WebCore::setup):
        * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
        (WebCore::SVGResourceClipper::applyClip):
        * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
        (WebCore::SVGResourceFilter::createFilterEffect):
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::beginPath):
        (WebCore::GraphicsContext::addPath):
        (WebCore::GraphicsContext::setFillRule):
        (WebCore::GraphicsContext::currentPath):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::contextForImage):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInline.cpp:
        (WebCore::RenderSVGInline::RenderSVGInline):
        (WebCore::RenderSVGInline::createInlineBox):
        * rendering/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::RenderSVGInlineText):
        * rendering/RenderSVGTSpan.cpp:
        (WebCore::RenderSVGTSpan::RenderSVGTSpan):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):

2006-11-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth Dakin.
        
        Fixed up garbage collection at window close time.

        * bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
        destructor, since the global object hasn't been freed yet.
        * bindings/js/kjs_proxy.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachFromParent): Made this function cross-
        platform.
        * loader/FrameLoader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
        since it's Mac-only.
        (WebCore::FrameLoader::closeBridge):
        * page/Page.cpp:
        (WebCore::Page::~Page): Don't garbage collect in the Page destructor,
        since the Interpreter destructor will do it for us.

2006-11-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim's rubberstamp

        Amazingly, DocumentLoader.h survived all this time without a header guard...

        * loader/DocumentLoader.h:  Added header guard

2006-11-30  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady and Eric.

        XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
        http://bugs.webkit.org/show_bug.cgi?id=11723

        Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
        tested in Safari's debug Snippet Editor.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):

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

        Reviewed by Brady.

        Get rid of PlatformResponse, the platform specific response object is stored inside of 
        the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
        
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::~CachedResource):
        * loader/CachedResource.h:
        (WebCore::CachedResource::response):
        * loader/loader.cpp:
        * loader/loader.h:
        * loader/mac/ImageDocumentMac.mm:
        (WebCore::finishImageLoad):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::didReceiveResponse):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceResponse.h:
        (WebCore::ResourceResponse::nsURLResponse):
        (WebCore::ResourceResponse::cfURLResponse):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::didReceiveResponse):

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

        Reviewed by sullivan
        
        <rdar://problem/4845371>
        In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
        
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
        being inflated even when they were the start/end of a partially selected
        special element.

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

        Reviewed by Oliver.

        Fix fast/dom/xmlhttprequest-get layout test failure.
        
        * platform/network/mac/ResourceResponseMac.mm:
        Initialize the status code to 0 for non-http responses.
        
2006-11-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.
        
        Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
        REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
        
        This was an accidental commit by Anders.

        Chrome can't use the FrameView at window.open time, because it doesn't
        exist yet.
        
        * page/Chrome.cpp:
        (WebCore::Chrome::pageRect):

2006-11-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Mitz Pettel.
        
        Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
        REGRESSION (r17906): Crash in WebCore::FrameMac

        Added null checks for EditorClient, since it can be NULL when the page
        has been destroyed. Removed external access to EditorClient, since it's
        an implementation detail of the Editor.

        No test case because this crash depends on window tear-down. Layout tests
        pass.
        
2006-11-29  Anders Carlsson  <acarlsson@apple.com>

        Fix build.
        
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::receivedResponse):
        Fix tyop.

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

        Reviewed by Darin.

        Have ResourceResponse hold on to the platform object and do lazy
        initialization of the data members.
        
        * WebCore.xcodeproj/project.pbxproj:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::loadResourceSynchronously):
        * platform/network/ResourceRequest.cpp:
        (WebCore::ResourceRequest::updatePlatformRequest):
        (WebCore::ResourceRequest::updateResourceRequest):
        * platform/network/ResourceResponse.cpp: Added.
        (WebCore::ResourceResponse::url):
        (WebCore::ResourceResponse::mimeType):
        (WebCore::ResourceResponse::expectedContentLength):
        (WebCore::ResourceResponse::textEncodingName):
        (WebCore::ResourceResponse::suggestedFilename):
        (WebCore::ResourceResponse::httpStatusCode):
        (WebCore::ResourceResponse::setHTTPStatusCode):
        (WebCore::ResourceResponse::httpStatusText):
        (WebCore::ResourceResponse::setHTTPStatusText):
        (WebCore::ResourceResponse::httpHeaderField):
        (WebCore::ResourceResponse::httpHeaderFields):
        (WebCore::ResourceResponse::setExpirationDate):
        (WebCore::ResourceResponse::expirationDate):
        (WebCore::ResourceResponse::setLastModifiedDate):
        (WebCore::ResourceResponse::lastModifiedDate):
        (WebCore::ResourceResponse::updateResourceResponse):
        * platform/network/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::isMultipart):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::receivedResponse):
        (WebCore::ResourceHandle::willSendRequest):
        * platform/network/mac/ResourceResponseMac.h: Removed.
        * platform/network/mac/ResourceResponseMac.mm:
        (-[NSURLResponse WebCore]):

2006-11-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Maciej.

        A fix for a couple failing layout tests involving copy/cut in iframes.

        * bridge/EditorClient.h:
        Add frame parameter to dataForArchivedSelectionInFrame instead of
        just getting the webview's selectedFrame.

        * platform/mac/PasteboardMac.mm:
        (Pasteboard::writeSelection):
        Pass in the frame

2006-11-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth Dakin.

        Fixed <rdar://problem/4844855> Should clarify when to create clients in 
        the WebCore client API
        
        All clients must now be supplied as constructor arguments. This clarifies 
        when you need to create clients, and also guarantees that objects can't 
        (for the most part) be in a clientless state.

        Layout tests pass. No leaks reported.
        
        * bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
        WebKit to resolve circular dependencies at init time.

2006-11-28  Adam Roben  <aroben@apple.com>

        Reviewed by Ada.

        Add platform-specific constructor/destructor to ContextMenu so we can
        properly retain/release the platform menu description.

        * platform/ContextMenu.h:
        (WebCore::ContextMenu::platformDescription):
        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::getNSMenuItem):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformDescription):

2006-11-28  Adam Roben  <aroben@apple.com>

        Build fix.

        * platform/network/mac/ResourceRequestMac.mm:

2006-11-28  David Harrison  <harrison@apple.com>

        Reviewed by Adele.

        <rdar://problem/4852804> selection color does not get drawn over the missing image rectangle

        Test:
        * editing/selection/select-missing-image.html: Added.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        Draw the selection tint even if the image itself is not available.

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

        Reviewed by Maciej.

        Have ResourceRequest hold on to the platform object so we don't
        have to convert back and forth when nothing in the object changes.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        * page/Chrome.cpp:
        (WebCore::Chrome::pageRect):
        * platform/network/ResourceRequest.cpp: Added.
        (WebCore::ResourceRequest::isEmpty):
        (WebCore::ResourceRequest::url):
        (WebCore::ResourceRequest::setURL):
        (WebCore::ResourceRequest::cachePolicy):
        (WebCore::ResourceRequest::setCachePolicy):
        (WebCore::ResourceRequest::timeoutInterval):
        (WebCore::ResourceRequest::setTimeoutInterval):
        (WebCore::ResourceRequest::mainDocumentURL):
        (WebCore::ResourceRequest::setMainDocumentURL):
        (WebCore::ResourceRequest::httpMethod):
        (WebCore::ResourceRequest::setHTTPMethod):
        (WebCore::ResourceRequest::httpHeaderFields):
        (WebCore::ResourceRequest::httpHeaderField):
        (WebCore::ResourceRequest::setHTTPHeaderField):
        (WebCore::ResourceRequest::httpBody):
        (WebCore::ResourceRequest::setHTTPBody):
        (WebCore::ResourceRequest::allowHTTPCookies):
        (WebCore::ResourceRequest::setAllowHTTPCookies):
        (WebCore::ResourceRequest::updatePlatformRequest):
        (WebCore::ResourceRequest::updateResourceRequest):
        (WebCore::ResourceRequest::addHTTPHeaderField):
        (WebCore::ResourceRequest::addHTTPHeaderFields):
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::willSendRequest):
        * platform/network/mac/ResourceRequestMac.h: Removed.
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::nsURLRequest):
        (WebCore::ResourceRequest::doUpdateResourceRequest):
        (WebCore::ResourceRequest::doUpdatePlatformRequest):

2006-11-28  Adam Roben  <aroben@apple.com>

        Reviewed by Beth.

        More WebCore context menu work (still not turned on, however).

        Split ContextMenuItem into its own files and make it a class.

        * WebCore.exp: Updated symbols.
        * WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate): Code cleanup.
        * platform/ContextMenu.h: Split ContextMenuItem into a separate file,
        removed redundant "Menu" part of platformMenuDescription(),
        setPlatformMenuDescription().
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::hitTestResult):
        (WebCore::ContextMenu::platformDescription):
        * platform/ContextMenuItem.h: Added. Made ContextMenuItem a
        full-fledged class.
        (WebCore::):
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::menu):
        (WebCore::ContextMenuItem::platformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::title):
        * platform/mac/ContextMenuItemMac.mm: Added.
        (WebCore::ContextMenuItem::ContextMenuItem):
        * platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
        (-[MenuTarget forwardContextMenuAction:]):
        (getNSMenuItem): Handle separator items.
        (ContextMenu::appendItem):
        (ContextMenu::itemCount):
        (ContextMenu::insertItem):
        (ContextMenu::setPlatformDescription):
        * page/ContextMenuController.h: Updated declaration, added getter.
        (WebCore::ContextMenuController::contextMenu):

        Added some more context menu plumbing.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::defaultEventHandler): Added code to call the
        ContextMenuController when a context menu event is received.
        * page/ContextMenuClient.h: New client method declaration.
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::handleContextMenuEvent): Set the event
        defaultHandled after handling it.
        (WebCore::ContextMenuController::contextMenuItemSelected): Take a
        ContextMenuItem instead of a separate action and title.

        Changed event-handling methods to return bools to signify whether the
        event was handled or not. This is needed so we can know whether to hand
        the event off to the OS. Also restructured some code to use early
        returns instead of nesting ifs.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventDoubleClick):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::canMouseDownStartSelect):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):
        * page/FrameView.h:
        * platform/ScrollBar.h: More bool return values.
        (WebCore::Scrollbar::handleMouseMoveEvent):
        (WebCore::Scrollbar::handleMouseOutEvent):
        * platform/Widget.h: Ditto.
        (WebCore::Widget::handleMouseMoveEvent):
        (WebCore::Widget::handleMouseReleaseEvent):

        Reverted the changes made in r17805 so that we can have fewer header
        #includes.

        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h: Ditto.
        (WebCore::Page::dragCaretController):
        (WebCore::Page::chrome):
        (WebCore::Page::contextMenuController):

2006-11-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Justin and Adam.

        All layout tests pass as they do without this patch

        * WebCore.exp:
        Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m

        * WebCore.xcodeproj/project.pbxproj:
        Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm

        * bridge/EditorClient.h:
        Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now

        * dom/CharacterData.h:
        (WebCore::CharacterData::isCharacterDataNode):
        * dom/Node.h:
        (WebCore::Node::isCharacterDataNode):
        Added a type-identifying function to Node and the proper subclass

        * dom/Clipboard.h:
        Exposed setAccessPolicy as public
        
        * editing/Editor.h:
        * editing/Editor.cpp:
        Implemented the following
        (WebCore::Editor::canDHTMLCut):
        (WebCore::Editor::canDHTMLCopy):
        (WebCore::Editor::canDHTMLPaste):
        (WebCore::Editor::canSmartCopyOrDelete):
        (WebCore::Editor::deleteSelection):
        (WebCore::Editor::pasteAsPlainTextWithPasteboard):
        (WebCore::Editor::pasteWithPasteboard):
        (WebCore::Editor::canSmartReplaceWithPasteboard):
        (WebCore::Editor::shouldInsertFragment):
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::replaceSelectionWithText):
        (WebCore::Editor::selectedRange):
        (WebCore::Editor::shouldDeleteRange):
        (WebCore::Editor::tryDHTMLCopy):
        (WebCore::Editor::tryDHTMLCut):
        (WebCore::Editor::tryDHTMLPaste):
        (WebCore::Editor::writeSelectionToPasteboard):
        (WebCore::Editor::dispatchCPPEvent):
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::paste):
                
        * platform/mac/ClipboardAccessPolicy.h: Removed.
        Not removed, but moved to dom/ClipboardAccessPolicy.h
        
        * platform/mac/EditorMac.mm: Added.
        (WebCore::Editor::newGeneralClipboard):

        * platform/Pasteboard.h: Added.
        * platform/mac/PasteboardMac.mm: Added.
        The pasteboard class follows a singleton pattern
        (Pasteboard::generalPasteboard):
        (Pasteboard::~Pasteboard):
        (Pasteboard::Pasteboard):
        (Pasteboard::clearTypes):
        (Pasteboard::writeSelection):
        (Pasteboard::selectionPasteboardTypes):
        (Pasteboard::canSmartReplace):
        (Pasteboard::plainText):
        (Pasteboard::documentFragment):
        
        * platform/mac/WebNSAttributedStringExtras.h: Added.
        * platform/mac/WebNSAttributedStringExtras.mm: Added.
        Added select portions of this file from WebKit because the pasteboard needed the following function:
        (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):

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

        Reviewed by harrison

        <rdar://problem/4397952>
        Cannot select buttons at the end of a document, preventing copy/paste
        
        There were no VisiblePositions before/after buttons because editingIgnoresContent
        returned false for buttons. 

        * dom/Position.cpp:
        (WebCore::Position::upstream): Fixed a comment.
        (WebCore::Position::downstream): Ditto.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): It's unnecessary to prefer renderer 
        checks over tag name checks because it seems that a node of a tag name 
        that we do not ignore content for can't have a renderer of a type that we do.
        (WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition): Migrate to enclosingBlock.  Fixes a bug where the
        caret would get stuck moving up/down a line from a caret just before an 
        input element.
        (WebCore::nextLinePosition): Ditto.

2006-11-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Adam.

        Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
        calls cause .5% PLT regression.
        
        Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
        from the Frame to the Page, since it's only responsible for
        Webview-level delegate calls.
        
        I don't really love this design, but it fixes the regression and allows
        a single WebKit object to implement multiple client interfaces.
        
        Layout tests pass.

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

        Try fixing the build.
        
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::IntRect):

2006-11-27  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Getting rid of some of the critical FIXMEs in ContextMenu.cpp.

        * bridge/mac/FrameMac.h: Two new spell checker functions from 
        WebKit. (We will be able to delete the WebKit versions once we 
        switch over to WebCore context menus.)
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::isSelectionMisspelled):
        (WebCore::core): Convert from NSArray of Strings to a Vector of 
        Strings.
        (WebCore::FrameMac::guessesForMisspelledSelection):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canHandleRequest):
        * loader/FrameLoader.h: Make canHandleRequest available through the 
        FrameLoader.
        * loader/FrameLoaderClient.h: canHandleRequest takes a 
        ResourceRequest instead of an NSURLRequest.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::continueAfterNavigationPolicy): Same
        * page/Frame.h: New spell checker functions moved to Frame. These 
        should be moved some place better some day, but FrameMac currently 
        seems to be the place to be for spell checker stuff.
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate): Use new FrameLoader and spell 
        checking functionality to get rid of two if (true) statements. Also 
        add spelling guesses to the editing context menus.

2006-11-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=11694
        XSLT output method does not default to HTML when the target document is HTML

        Test: fast/xsl/default-html.html

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter, 
        serving as a hint when the stylesheet doesn't specify the output method.
        (WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
        document is HTML.

2006-11-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Fixes a crash in SVG caused by an attempt to 
        perform css overflow clipping by preventing
        the css overflow clip from being set in SVG.
        
        <rdar:/problems/4839568>

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::RenderForeignObject):
        * rendering/RenderForeignObject.h:
        * rendering/RenderSVGBlock.cpp: Added.
        (WebCore::RenderSVGBlock::RenderSVGBlock):
        (WebCore::RenderSVGBlock::setStyle):
        * rendering/RenderSVGBlock.h: Added.
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::RenderSVGText):
        * rendering/RenderSVGText.h:

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

        Reviewed by Adam.

        Add an explicit IntRect constructor that takes a FloatRect.
        
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::IntRect):
        * platform/graphics/IntRect.h:

2006-11-27  Ada Chan  <adachan@apple.com>

        Reviewed by Adam.

        Moved WebCoreCache up to WebKit.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreCache.h: Removed.
        * bridge/mac/WebCoreCache.mm: Removed.

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

        Reviewed by Adam.

        Move addMessageToConsole to Chrome.
        
        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        (KJS::ScheduledAction::execute):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.h:
        * page/Chrome.cpp:
        (WebCore::Chrome::addMessageToConsole):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/Frame.h:

2006-11-27  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
          Caret color in new text field should take background color and foreground color into consideration

        * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
          Use the foreground color of the rootEditableElement to determine the caret color.  This will work well for text controls in web pages (since the root is always the actual form control)
          as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.

2006-11-26  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11693
        Fix the Qt build, adapt to various enum/class renamings.

        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceQt::createResource):
        (WebCore::KRenderingDeviceQt::createPaintServer):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
        (WebCore::SVGPaintServer::renderPath):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
        (WebCore::setup):
        * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
        (WebCore::SVGPaintServerSolid::setup):

2006-11-24  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11666
        .getScreenCTM() returns wrong values

        Take into account the local transform matrix too and
        so fix getScreenCTM/getCTM for <text>.

        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::getCTM):
        (SVGStyledTransformableElement::getScreenCTM):
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::getScreenCTM):
        (WebCore::SVGTextElement::getCTM):
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::getCTM):
        (WebCore::SVGTransformable::getScreenCTM):
        * ksvg2/svg/SVGTransformable.h:

2006-11-22  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=11661
        SVG: stroke not sensitive to mouse events (hit testing fails)

        Use mapAbsolutePointToLocal when hit-testing strokes.

        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::nodeAtPoint):

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

        Reviewed by Mitz.

        General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
        Remove config.h inluce from AffineTransform.h
        
        * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        (WebCore::KRenderingDeviceQuartz::createResource):
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::sharedSolidPaintServer):
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        (WebCore::SVGLinearGradientElement::gradientType):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::canvasResource):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        (WebCore::SVGRadialGradientElement::gradientType):
        * platform/graphics/AffineTransform.h:
        * platform/graphics/svg/SVGPaintServer.h:
        (WebCore::):
        * platform/graphics/svg/SVGPaintServerGradient.cpp:
        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
        (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
        * platform/graphics/svg/SVGPaintServerGradient.h:
        * platform/graphics/svg/SVGPaintServerLinearGradient.h:
        (WebCore::SVGPaintServerLinearGradient::type):
        * platform/graphics/svg/SVGPaintServerPattern.h:
        (WebCore::SVGPaintServerPattern::type):
        * platform/graphics/svg/SVGPaintServerRadialGradient.h:
        (WebCore::SVGPaintServerRadialGradient::type):
        * platform/graphics/svg/SVGPaintServerSolid.h:
        (WebCore::SVGPaintServerSolid::type):
        * platform/graphics/svg/SVGResource.h:
        (WebCore::):
        * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
        (WebCore::SVGPaintServer::renderPath):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
        (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::renderPath):
        (WebCore::SVGPaintServerGradient::setup):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
        (WebCore::SVGPaintServerSolid::setup):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

2006-11-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

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

        Move KRenderingPaintServer* classes to the location
        of all other resources (platform/graphics/svg).

        Soon the whole platform/graphics/svg stuff will bemoved
        into ksvg2/ itself, as discussed with Darin.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingPaintServer.h: Removed.
        * kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
        * kcanvas/device/KRenderingPaintServerGradient.h: Removed.
        * kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
        * kcanvas/device/KRenderingPaintServerPattern.h: Removed.
        * kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
        * kcanvas/device/KRenderingPaintServerSolid.h: Removed.
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
        * kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
        * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::sharedSolidPaintServer):
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::strokePaintServer):
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::canvasResource):
        (WebCore::SVGGradientElement::resourceNotification):
        (WebCore::SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        (WebCore::SVGLinearGradientElement::gradientType):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::canvasResource):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        (WebCore::SVGRadialGradientElement::gradientType):
        * platform/graphics/svg/SVGPaintServer.cpp: Added.
        (WebCore::SVGPaintServer::SVGPaintServer):
        (WebCore::SVGPaintServer::~SVGPaintServer):
        (WebCore::SVGPaintServer::activeClient):
        (WebCore::SVGPaintServer::setActiveClient):
        (WebCore::SVGPaintServer::isPaintingText):
        (WebCore::SVGPaintServer::setPaintingText):
        (WebCore::operator<<):
        (WebCore::getPaintServerById):
        * platform/graphics/svg/SVGPaintServer.h: Added.
        (WebCore::):
        (WebCore::SVGPaintServer::isPaintServer):
        * platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
        (WebCore::compareStopOffset):
        (WebCore::operator<<):
        (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
        (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
        (WebCore::SVGPaintServerGradient::gradientStops):
        (WebCore::SVGPaintServerGradient::setGradientStops):
        (WebCore::SVGPaintServerGradient::spreadMethod):
        (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
        (WebCore::SVGPaintServerGradient::boundingBoxMode):
        (WebCore::SVGPaintServerGradient::setBoundingBoxMode):
        (WebCore::SVGPaintServerGradient::gradientTransform):
        (WebCore::SVGPaintServerGradient::setGradientTransform):
        (WebCore::SVGPaintServerGradient::listener):
        (WebCore::SVGPaintServerGradient::setListener):
        (WebCore::SVGPaintServerGradient::externalRepresentation):
        * platform/graphics/svg/SVGPaintServerGradient.h: Added.
        (WebCore::):
        (WebCore::SVGPaintServerGradient::):
        (WebCore::makeGradientStop):
        * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
        (WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
        (WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
        (WebCore::SVGPaintServerLinearGradient::gradientStart):
        (WebCore::SVGPaintServerLinearGradient::setGradientStart):
        (WebCore::SVGPaintServerLinearGradient::gradientEnd):
        (WebCore::SVGPaintServerLinearGradient::setGradientEnd):
        (WebCore::SVGPaintServerLinearGradient::externalRepresentation):
        * platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
        (WebCore::SVGPaintServerLinearGradient::type):
        * platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
        (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
        (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
        (WebCore::SVGPaintServerPattern::bbox):
        (WebCore::SVGPaintServerPattern::setBbox):
        (WebCore::SVGPaintServerPattern::boundingBoxMode):
        (WebCore::SVGPaintServerPattern::setBoundingBoxMode):
        (WebCore::SVGPaintServerPattern::tile):
        (WebCore::SVGPaintServerPattern::setTile):
        (WebCore::SVGPaintServerPattern::patternTransform):
        (WebCore::SVGPaintServerPattern::setPatternTransform):
        (WebCore::SVGPaintServerPattern::listener):
        (WebCore::SVGPaintServerPattern::setListener):
        (WebCore::SVGPaintServerPattern::externalRepresentation):
        * platform/graphics/svg/SVGPaintServerPattern.h: Added.
        (WebCore::SVGPaintServerPattern::type):
        * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
        (WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
        (WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
        (WebCore::SVGPaintServerRadialGradient::gradientCenter):
        (WebCore::SVGPaintServerRadialGradient::setGradientCenter):
        (WebCore::SVGPaintServerRadialGradient::gradientFocal):
        (WebCore::SVGPaintServerRadialGradient::setGradientFocal):
        (WebCore::SVGPaintServerRadialGradient::gradientRadius):
        (WebCore::SVGPaintServerRadialGradient::setGradientRadius):
        (WebCore::SVGPaintServerRadialGradient::externalRepresentation):
        * platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
        (WebCore::SVGPaintServerRadialGradient::type):
        * platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
        (WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
        (WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
        (WebCore::SVGPaintServerSolid::color):
        (WebCore::SVGPaintServerSolid::setColor):
        (WebCore::SVGPaintServerSolid::externalRepresentation):
        * platform/graphics/svg/SVGPaintServerSolid.h: Added.
        (WebCore::SVGPaintServerSolid::type):
        * platform/graphics/svg/SVGResource.cpp:
        * platform/graphics/svg/SVGResource.h:
        * platform/graphics/svg/SVGResourceClipper.cpp:
        * platform/graphics/svg/SVGResourceMarker.cpp:
        * platform/graphics/svg/SVGResourceMasker.cpp:
        * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
        (WebCore::SVGPaintServer::draw):
        (WebCore::SVGPaintServer::teardown):
        (WebCore::SVGPaintServer::renderPath):
        (WebCore::SVGPaintServer::strokePath):
        (WebCore::SVGPaintServer::clipToStrokePath):
        (WebCore::SVGPaintServer::fillPath):
        (WebCore::SVGPaintServer::clipToFillPath):
        * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
        (WebCore::cgGradientCallback):
        (WebCore::CGShadingRefForLinearGradient):
        (WebCore::CGShadingRefForRadialGradient):
        (WebCore::SVGPaintServerGradient::invalidateCaches):
        (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
        (WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
        (WebCore::SVGPaintServerGradient::teardown):
        (WebCore::SVGPaintServerGradient::renderPath):
        (WebCore::SVGPaintServerGradient::setup):
        (WebCore::SVGPaintServerGradient::invalidate):
        * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
        (WebCore::patternCallback):
        (WebCore::SVGPaintServerPattern::setup):
        (WebCore::SVGPaintServerPattern::teardown):
        * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
        (WebCore::SVGPaintServerSolid::setup):
        * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
        (WebCore::SVGPaintServerGradient::fillColorArray):
        * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
        (WebCore::SVGPaintServerLinearGradient::setup):
        * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
        (WebCore::SVGPaintServerPattern::setup):
        * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
        (WebCore::SVGPaintServer::setPenProperties):
        (WebCore::SVGPaintServer::draw):
        (WebCore::SVGPaintServer::teardown):
        (WebCore::SVGPaintServer::renderPath):
        * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
        (WebCore::setup):
        * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
        (WebCore::SVGPaintServerSolid::setup):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeStyle):
        (WebCore::writeRenderResources):

2006-11-21  Alex Taylor  <darwin@techvisual.co.nz>

        Reviewed by Mitz.

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

        Adds calculations for bottom right radius's position
        which was being drawn incorrectly.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paintBorder):

2006-11-20  Rob Buis  <buis@kde.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11519
        REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html

        Transport disabled state from DOM element to the shadow
        DOM/render object.

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::updateFromElement):
        * rendering/RenderTheme.h:

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

        Reviewed by Maciej.

        * loader/TextResourceDecoder.cpp:
        (WebCore::findXMLEncoding):
        Use CString instead of DeprecatedCString.
        
        * platform/CString.cpp:
        (WebCore::CString::find):
        * platform/CString.h:
        (WebCore::CString::data):
        Add find method, make data method inline.
        
        * platform/TextStream.cpp:
        * platform/TextStream.h:
        Remove DeprecatedCString functions.

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

        Reviewed by Maciej.

        Use CString instead of DeprecatedCString.
        
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString):
        (WebCore::fixLineBreaks):
        (WebCore::FormDataList::appendFile):

2006-11-20  Samuel Weinig  <sam@webkit.org>

        Reviewed by Alexey.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
        Fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ContextMenuClientWin.h:
        * bridge/win/EditorClientWin.h:
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ContextMenu::show):
        (WebCore::ContextMenuClientWin::copyLinkToClipboard):
        (WebCore::ContextMenuClientWin::downloadURL):
        (WebCore::ContextMenuClientWin::copyImageToClipboard):
        (WebCore::ContextMenuClientWin::lookUpInDictionary):
        (WebCore::EditorClientWin::shouldInsertText):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameWin::ignoreSpelling):
        (WebCore::FrameWin::learnSpelling):

2006-11-20  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10736
        XMLHttpRequest.responseXML should be null on error

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::wellFormed):
        * dom/XMLTokenizer.h:
        (WebCore::Tokenizer::wellFormed):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::implicitClose):
        * dom/Document.h:
        (WebCore::Document::wellFormed):
        Tell whether XMLTokenizer saw an error. Always true (success) for HTML.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.

2006-11-20  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        http://bugs.webkit.org/show_bug.cgi?id=11633
        Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::setXMLVersion):
        (WebCore::Document::setXMLStandalone):
        * dom/Document.h:
        (WebCore::Document::xmlEncoding):
        (WebCore::Document::xmlVersion):
        (WebCore::Document::xmlStandalone):
        (WebCore::Document::setXMLEncoding):
        * dom/Document.idl:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startDocument):
        (WebCore::startDocumentHandler):
        (WebCore::XMLTokenizer::initializeParserContext):
        Added support for these properties, getting them from an libxml2 context.

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::HTMLDocument):
        HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".

        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.

2006-11-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Rob.

        Fix Qt/Linux build.

        * platform/qt/ContextMenuClientQt.cpp:
        (WebCore::ContextMenuClientQt::ref):
        (WebCore::ContextMenuClientQt::deref):
        (WebCore::ContextMenuClientQt::copyLinkToClipboard):
        (WebCore::ContextMenuClientQt::downloadURL):
        (WebCore::ContextMenuClientQt::copyImageToClipboard):
        (WebCore::ContextMenuClientQt::lookUpInDictionary):
        * platform/qt/ContextMenuClientQt.h:
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::show):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::shouldInsertText):
        * platform/qt/EditorClientQt.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::ignoreSpelling):
        (WebCore::FrameQt::learnSpelling):
        * platform/qt/FrameQt.h:
        * platform/qt/TemporaryLinkStubs.cpp:
        (FrameLoader::reload):

2006-11-20  Samuel Weinig  <sam@webkit.org>

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
        Fix Win32 build

        * config.h: add #define NOMINMAX for windows build
        * platform/win/FontCacheWin.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/win/TemporaryLinkStubs.cpp: add definitions for 
        new cursors.
        (WebCore::aliasCursor):
        (WebCore::noDropCursor):
        (WebCore::progressCursor):

2006-11-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Implementation of actions for the new context menus.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/EditorClient.h: Declaration of shouldInsertText.
        * bridge/mac/FrameMac.h: Two new spelling functions.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::ignoreSpelling):
        (WebCore::FrameMac::learnSpelling):
        * editing/Editor.cpp:
        (WebCore::Editor::shouldInsertText): Call into the client.
        * editing/Editor.h:
        * editing/EditorInsertAction.h: Added.
        (WebCore::): The WebCore equivalent of WebViewInsertAction. This is 
        defined in its own header so that we can use it from Editor.h and 
        EditorClient.h without having one of the above include the other.
        * page/ContextMenuClient.h: A few currently WebKit-implemented 
        function needed for menu actions.
        * page/ContextMenuController.cpp:
        (WebCore::makeGoogleSearchURL):
        (WebCore::ContextMenuController::contextMenuActionSelected): The 
        actions!
        * page/ContextMenuController.h:
        * page/Frame.h: New pure-virtual spelling functions.
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::controller): Get the controller from the 
        menu.
        * platform/ContextMenu.h:
        * platform/mac/ContextMenuMac.mm:
        (-[MenuTarget 
        forwardContextMenuAction:initWithContextMenuController:WebCore::]): 
        Use the controller instead of the menu
        (-[MenuTarget WebCore::]):
        (-[MenuTarget setMenuController:WebCore::]):
        (-[MenuTarget forwardContextMenuAction:]):
        (getNSMenuItem):
        (ContextMenu::show):
        (ContextMenu::hide):

2006-11-19  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack.

        http://bugs.webkit.org/show_bug.cgi?id=11649
        Fix CMake files for Qt-only build without KDE cmake files.
        Fix Qt/KDE build for the SVG support.
        Fix Qt-only build in the resource handler.

        * CMakeLists.txt:
        * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
        (WebCore::SVGResourceFilter::SVGResourceFilter):
        (WebCore::SVGResourceFilter::~SVGResourceFilter):
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::cancel):
        (WebCore::ResourceHandleManager::slotData):
        (WebCore::ResourceHandleManager::slotMimetype):
        (WebCore::ResourceHandleManager::slotResult):
        (WebCore::ResourceHandleManager::deliverJobData):
        * platform/network/qt/ResourceHandleManager.h:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/qt/CursorQt.cpp:
        (WebCore::noDropCursor):
        (WebCore::progressCursor):
        (WebCore::aliasCursor):

2006-11-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=11626
          Automate test for rdar://problem/4056100

        * manual-tests/delete-into-nested-block.html: Removed.

2006-11-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

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

        Split up KCanvasFilters & KCanvasFilterQuartz into several
        new classes (SVGFEBlend, SVGFEComposite...) and move them
        into platform/graphics/svg. This is still a temporary location,
        as discussed with Darin; the whole platform/graphics/svg directory
        will probably be moved into ksvg2/ in near future.

        This finally removes the duplicated enumerations in the svg filter
        classes and within kcanvas. ksvg2/ and platform/graphics/svg share
        their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
        is empty.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm:
        * kcanvas/KCanvasFilters.cpp: Removed.
        * kcanvas/KCanvasFilters.h: Removed.
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceQt::createFilterEffect):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
        * kcanvas/device/quartz/KCanvasItemQuartz.cpp:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
        (WebCore::KRenderingDeviceQuartz::createResource):
        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
        * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
        * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
        * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::transferFunction):
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        (WebCore::SVGFEDiffuseLightingElement::updateLights):
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
        (WebCore::SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::lightSource):
        * ksvg2/svg/SVGFEDistantLightElement.h:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.cpp:
        (WebCore::SVGFEImageElement::filterEffect):
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEMergeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::lightSource):
        * ksvg2/svg/SVGFEPointLightElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::filterEffect):
        (WebCore::SVGFESpecularLightingElement::updateLights):
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::lightSource):
        * ksvg2/svg/SVGFESpotLightElement.h:
        * ksvg2/svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.h:
        (WebCore::):
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * platform/graphics/FloatPoint3D.cpp: Added.
        (WebCore::FloatPoint3D::FloatPoint3D):
        (WebCore::FloatPoint3D::x):
        (WebCore::FloatPoint3D::setX):
        (WebCore::FloatPoint3D::y):
        (WebCore::FloatPoint3D::setY):
        (WebCore::FloatPoint3D::z):
        (WebCore::FloatPoint3D::setZ):
        (WebCore::FloatPoint3D::normalize):
        * platform/graphics/FloatPoint3D.h: Added.
        * platform/graphics/svg/SVGResourceFilter.cpp: Added.
        (WebCore::SVGResourceFilter::clearEffects):
        (WebCore::SVGResourceFilter::addFilterEffect):
        (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
        (WebCore::SVGResourceFilter::externalRepresentation):
        (WebCore::getFilterById):
        * platform/graphics/svg/SVGResourceFilter.h: Added.
        (WebCore::SVGResourceFilter::isFilter):
        (WebCore::SVGResourceFilter::filterBoundingBoxMode):
        (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
        (WebCore::SVGResourceFilter::effectBoundingBoxMode):
        (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
        (WebCore::SVGResourceFilter::filterRect):
        (WebCore::SVGResourceFilter::setFilterRect):
        * platform/graphics/svg/SVGResourceImage.h:
        * platform/graphics/svg/SVGResourceListener.h:
        (SVGResourceListener::SVGResourceListener):
        (SVGResourceListener::~SVGResourceListener):
        * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
        * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
        (WebCore::SVGResourceFilter::SVGResourceFilter):
        (WebCore::SVGResourceFilter::~SVGResourceFilter):
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        (WebCore::SVGResourceFilter::getCIFilterStack):
        (WebCore::SVGResourceFilter::imageForName):
        (WebCore::SVGResourceFilter::setImageForName):
        (WebCore::SVGResourceFilter::setOutputImage):
        (WebCore::alphaImageForImage):
        (WebCore::SVGResourceFilter::inputImage):
        * platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
        * platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
        (WebCore::SVGDistantLightSource::SVGDistantLightSource):
        (WebCore::SVGDistantLightSource::azimuth):
        (WebCore::SVGDistantLightSource::elevation):
        * platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
        (WebCore::SVGFEBlend::in2):
        (WebCore::SVGFEBlend::setIn2):
        (WebCore::SVGFEBlend::blendMode):
        (WebCore::SVGFEBlend::setBlendMode):
        (WebCore::operator<<):
        (WebCore::SVGFEBlend::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEBlend.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
        (WebCore::SVGFEColorMatrix::type):
        (WebCore::SVGFEColorMatrix::setType):
        (WebCore::SVGFEColorMatrix::values):
        (WebCore::SVGFEColorMatrix::setValues):
        (WebCore::operator<<):
        (WebCore::SVGFEColorMatrix::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
        (WebCore::SVGFEComponentTransfer::redFunction):
        (WebCore::SVGFEComponentTransfer::setRedFunction):
        (WebCore::SVGFEComponentTransfer::greenFunction):
        (WebCore::SVGFEComponentTransfer::setGreenFunction):
        (WebCore::SVGFEComponentTransfer::blueFunction):
        (WebCore::SVGFEComponentTransfer::setBlueFunction):
        (WebCore::SVGFEComponentTransfer::alphaFunction):
        (WebCore::SVGFEComponentTransfer::setAlphaFunction):
        (WebCore::operator<<):
        (WebCore::SVGFEComponentTransfer::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
        (WebCore::):
        (WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
        * platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
        (WebCore::SVGFEComposite::in2):
        (WebCore::SVGFEComposite::setIn2):
        (WebCore::SVGFEComposite::operation):
        (WebCore::SVGFEComposite::setOperation):
        (WebCore::SVGFEComposite::k1):
        (WebCore::SVGFEComposite::setK1):
        (WebCore::SVGFEComposite::k2):
        (WebCore::SVGFEComposite::setK2):
        (WebCore::SVGFEComposite::k3):
        (WebCore::SVGFEComposite::setK3):
        (WebCore::SVGFEComposite::k4):
        (WebCore::SVGFEComposite::setK4):
        (WebCore::SVGFEComposite::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEComposite.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
        (WebCore::SVGFEConvolveMatrix::kernelSize):
        (WebCore::SVGFEConvolveMatrix::setKernelSize):
        (WebCore::SVGFEConvolveMatrix::kernel):
        (WebCore::SVGFEConvolveMatrix::setKernel):
        (WebCore::SVGFEConvolveMatrix::divisor):
        (WebCore::SVGFEConvolveMatrix::setDivisor):
        (WebCore::SVGFEConvolveMatrix::bias):
        (WebCore::SVGFEConvolveMatrix::setBias):
        (WebCore::SVGFEConvolveMatrix::targetOffset):
        (WebCore::SVGFEConvolveMatrix::setTargetOffset):
        (WebCore::SVGFEConvolveMatrix::edgeMode):
        (WebCore::SVGFEConvolveMatrix::setEdgeMode):
        (WebCore::SVGFEConvolveMatrix::kernelUnitLength):
        (WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
        (WebCore::SVGFEConvolveMatrix::preserveAlpha):
        (WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
        (WebCore::operator<<):
        (WebCore::SVGFEConvolveMatrix::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
        (WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
        (WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
        (WebCore::SVGFEDiffuseLighting::lightingColor):
        (WebCore::SVGFEDiffuseLighting::setLightingColor):
        (WebCore::SVGFEDiffuseLighting::surfaceScale):
        (WebCore::SVGFEDiffuseLighting::setSurfaceScale):
        (WebCore::SVGFEDiffuseLighting::diffuseConstant):
        (WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
        (WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
        (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
        (WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
        (WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
        (WebCore::SVGFEDiffuseLighting::lightSource):
        (WebCore::SVGFEDiffuseLighting::setLightSource):
        (WebCore::SVGFEDiffuseLighting::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
        * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
        (WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
        (WebCore::SVGFEDisplacementMap::in2):
        (WebCore::SVGFEDisplacementMap::setIn2):
        (WebCore::SVGFEDisplacementMap::xChannelSelector):
        (WebCore::SVGFEDisplacementMap::setXChannelSelector):
        (WebCore::SVGFEDisplacementMap::yChannelSelector):
        (WebCore::SVGFEDisplacementMap::setYChannelSelector):
        (WebCore::SVGFEDisplacementMap::scale):
        (WebCore::SVGFEDisplacementMap::setScale):
        (WebCore::operator<<):
        (WebCore::SVGFEDisplacementMap::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
        (WebCore::SVGFEFlood::floodColor):
        (WebCore::SVGFEFlood::setFloodColor):
        (WebCore::SVGFEFlood::floodOpacity):
        (WebCore::SVGFEFlood::setFloodOpacity):
        (WebCore::SVGFEFlood::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEFlood.h: Added.
        * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
        (WebCore::SVGFEGaussianBlur::stdDeviationX):
        (WebCore::SVGFEGaussianBlur::setStdDeviationX):
        (WebCore::SVGFEGaussianBlur::stdDeviationY):
        (WebCore::SVGFEGaussianBlur::setStdDeviationY):
        (WebCore::SVGFEGaussianBlur::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
        * platform/graphics/svg/filters/SVGFEImage.cpp: Added.
        (WebCore::SVGFEImage::SVGFEImage):
        (WebCore::SVGFEImage::~SVGFEImage):
        (WebCore::SVGFEImage::cachedImage):
        (WebCore::SVGFEImage::setCachedImage):
        (WebCore::SVGFEImage::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEImage.h: Added.
        * platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
        (WebCore::SVGFEMerge::mergeInputs):
        (WebCore::SVGFEMerge::setMergeInputs):
        (WebCore::SVGFEMerge::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEMerge.h: Added.
        * platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
        (WebCore::SVGFEMorphology::morphologyOperator):
        (WebCore::SVGFEMorphology::setMorphologyOperator):
        (WebCore::SVGFEMorphology::radiusX):
        (WebCore::SVGFEMorphology::setRadiusX):
        (WebCore::SVGFEMorphology::radiusY):
        (WebCore::SVGFEMorphology::setRadiusY):
        (WebCore::operator<<):
        (WebCore::SVGFEMorphology::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEMorphology.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
        (WebCore::SVGFEOffset::dx):
        (WebCore::SVGFEOffset::setDx):
        (WebCore::SVGFEOffset::dy):
        (WebCore::SVGFEOffset::setDy):
        (WebCore::SVGFEOffset::externalRepresentation):
        * platform/graphics/svg/filters/SVGFEOffset.h: Added.
        * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
        (WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
        (WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
        (WebCore::SVGFESpecularLighting::lightingColor):
        (WebCore::SVGFESpecularLighting::setLightingColor):
        (WebCore::SVGFESpecularLighting::surfaceScale):
        (WebCore::SVGFESpecularLighting::setSurfaceScale):
        (WebCore::SVGFESpecularLighting::specularConstant):
        (WebCore::SVGFESpecularLighting::setSpecularConstant):
        (WebCore::SVGFESpecularLighting::specularExponent):
        (WebCore::SVGFESpecularLighting::setSpecularExponent):
        (WebCore::SVGFESpecularLighting::kernelUnitLengthX):
        (WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
        (WebCore::SVGFESpecularLighting::kernelUnitLengthY):
        (WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
        (WebCore::SVGFESpecularLighting::lightSource):
        (WebCore::SVGFESpecularLighting::setLightSource):
        (WebCore::SVGFESpecularLighting::externalRepresentation):
        * platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
        * platform/graphics/svg/filters/SVGFETile.h: Added.
        * platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
        (WebCore::SVGFETurbulence::type):
        (WebCore::SVGFETurbulence::setType):
        (WebCore::SVGFETurbulence::baseFrequencyY):
        (WebCore::SVGFETurbulence::setBaseFrequencyY):
        (WebCore::SVGFETurbulence::baseFrequencyX):
        (WebCore::SVGFETurbulence::setBaseFrequencyX):
        (WebCore::SVGFETurbulence::seed):
        (WebCore::SVGFETurbulence::setSeed):
        (WebCore::SVGFETurbulence::numOctaves):
        (WebCore::SVGFETurbulence::setNumOctaves):
        (WebCore::SVGFETurbulence::stitchTiles):
        (WebCore::SVGFETurbulence::setStitchTiles):
        (WebCore::operator<<):
        (WebCore::SVGFETurbulence::externalRepresentation):
        * platform/graphics/svg/filters/SVGFETurbulence.h: Added.
        (WebCore::):
        * platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
        (WebCore::SVGFilterEffect::subRegion):
        (WebCore::SVGFilterEffect::setSubRegion):
        (WebCore::SVGFilterEffect::in):
        (WebCore::SVGFilterEffect::setIn):
        (WebCore::SVGFilterEffect::result):
        (WebCore::SVGFilterEffect::setResult):
        (WebCore::SVGFilterEffect::externalRepresentation):
        (WebCore::operator<<):
        * platform/graphics/svg/filters/SVGFilterEffect.h: Added.
        (WebCore::):
        (WebCore::SVGFilterEffect::SVGFilterEffect):
        (WebCore::SVGFilterEffect::~SVGFilterEffect):
        (WebCore::SVGFilterEffect::effectType):
        * platform/graphics/svg/filters/SVGLightSource.cpp: Added.
        (WebCore::operator<<):
        (WebCore::SVGPointLightSource::externalRepresentation):
        (WebCore::SVGSpotLightSource::externalRepresentation):
        (WebCore::SVGDistantLightSource::externalRepresentation):
        * platform/graphics/svg/filters/SVGLightSource.h: Added.
        (WebCore::):
        (WebCore::SVGLightSource::SVGLightSource):
        (WebCore::SVGLightSource::~SVGLightSource):
        (WebCore::SVGLightSource::type):
        * platform/graphics/svg/filters/SVGPointLightSource.h: Added.
        (WebCore::SVGPointLightSource::SVGPointLightSource):
        (WebCore::SVGPointLightSource::position):
        * platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
        (WebCore::SVGSpotLightSource::SVGSpotLightSource):
        (WebCore::SVGSpotLightSource::position):
        (WebCore::SVGSpotLightSource::direction):
        (WebCore::SVGSpotLightSource::specularExponent):
        (WebCore::SVGSpotLightSource::limitingConeAngle):
        * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
        (WebCore::SVGFEBlend::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
        (WebCore::SVGFEColorMatrix::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
        (WebCore::genImageFromTable):
        (WebCore::setParametersForComponentFunc):
        (WebCore::filterForComponentFunc):
        (WebCore::getFilterForFunc):
        (WebCore::SVGFEComponentTransfer::getFunctionFilter):
        (WebCore::SVGFEComponentTransfer::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
        (WebCore::SVGFEComposite::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
        (WebCore::SVGFEDiffuseLighting::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
        (WebCore::SVGFEDisplacementMap::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
        (WebCore::SVGFEFlood::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
        (WebCore::SVGFEGaussianBlur::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
        * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
        (WebCore::getVectorForChannel):
        (WebCore::ciColor):
        (WebCore::getPointLightVectors):
        (WebCore::getLightVectors):
        (WebCore::getNormalMap):
        * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
        (WebCore::SVGFEImage::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
        (WebCore::SVGFEMerge::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
        (WebCore::SVGFEOffset::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
        (WebCore::SVGFESpecularLighting::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
        (WebCore::SVGFETile::getCIFilter):
        * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
        (WebCore::SVGFilterEffect::getCIFilter):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::getAbsoluteRepaintRect):
        (WebCore::RenderPath::paint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11321
        Element with :target pseudo-class still matched after fragment identifier change

        Make sure the page does a style recalculation and possible rendering
        when navigating back from a page with an anchor to a page without
        an anchor.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::gotoAnchor):

2006-11-18  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Sam Weinig.

        http://bugs.webkit.org/show_bug.cgi?id=11634:
        Fix segfault on startup for Windows build.  Also fix segfault when
        typing in a URL.
        Clean up some of the style of the patch that landed in r17816.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ChromeClientWin.h:
        (WebCore::ChromeClientWin::~ChromeClientWin):
        (WebCore::ChromeClientWin::ref):
        (WebCore::ChromeClientWin::deref):
        * bridge/win/ContextMenuClientWin.h:
        (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
        (WebCore::ContextMenuClientWin::ref):
        (WebCore::ContextMenuClientWin::deref):
        * bridge/win/EditorClientWin.h:
        (WebCore::EditorClientWin::~EditorClientWin):
        (WebCore::EditorClientWin::ref):
        (WebCore::EditorClientWin::deref):
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * bridge/win/FrameWin.h:
        (WebCore::Win):
        * loader/win/FrameLoaderClientWin.h: Added.
        (WebCore::FrameLoaderClientWin::~FrameLoaderClientWin):
        (WebCore::FrameLoaderClientWin::ref):
        (WebCore::FrameLoaderClientWin::deref):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ChromeClientWin::createWindow):
        (WebCore::ChromeClientWin::createModalDialog):
        (WebCore::EditorClientWin::selectWordBeforeMenuEvent):
        (WebCore::EditorClientWin::isEditable):
        (WebCore::EditorClientWin::shouldBeginEditing):
        (WebCore::EditorClientWin::shouldEndEditing):
        (WebCore::EditorClientWin::shouldApplyStyle):
        (WebCore::EditorClientWin::didBeginEditing):
        (WebCore::EditorClientWin::respondToChangedContents):
        (WebCore::EditorClientWin::didEndEditing):
        (WebCore::EditorClientWin::registerCommandForUndo):
        (WebCore::EditorClientWin::registerCommandForRedo):
        (WebCore::EditorClientWin::clearUndoRedoOperations):
        (WebCore::EditorClientWin::canUndo):
        (WebCore::EditorClientWin::canRedo):
        (WebCore::EditorClientWin::undo):
        (WebCore::EditorClientWin::redo):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::createPlugin):
        (WebCore::FrameLoaderClientWin::hasWebView):
        (WebCore::FrameLoaderClientWin::hasFrameView):
        (WebCore::FrameLoaderClientWin::hasBackForwardList):
        (WebCore::FrameLoaderClientWin::resetBackForwardList):
        (WebCore::FrameLoaderClientWin::provisionalItemIsTarget):
        (WebCore::FrameLoaderClientWin::loadProvisionalItemFromPageCache):
        (WebCore::FrameLoaderClientWin::invalidateCurrentItemPageCache):
        (WebCore::FrameLoaderClientWin::privateBrowsingEnabled):
        (WebCore::FrameLoaderClientWin::makeDocumentView):
        (WebCore::FrameLoaderClientWin::makeRepresentation):
        (WebCore::FrameLoaderClientWin::forceLayout):
        (WebCore::FrameLoaderClientWin::forceLayoutForNonHTML):
        (WebCore::FrameLoaderClientWin::updateHistoryForCommit):
        (WebCore::FrameLoaderClientWin::updateHistoryForBackForwardNavigation):
        (WebCore::FrameLoaderClientWin::updateHistoryForReload):
        (WebCore::FrameLoaderClientWin::updateHistoryForStandardLoad):
        (WebCore::FrameLoaderClientWin::updateHistoryForInternalLoad):
        (WebCore::FrameLoaderClientWin::updateHistoryAfterClientRedirect):
        (WebCore::FrameLoaderClientWin::setCopiesOnScroll):
        (WebCore::FrameLoaderClientWin::tokenForLoadErrorReset):
        (WebCore::FrameLoaderClientWin::resetAfterLoadError):
        (WebCore::FrameLoaderClientWin::doNotResetAfterLoadError):
        (WebCore::FrameLoaderClientWin::willCloseDocument):
        (WebCore::FrameLoaderClientWin::detachedFromParent1):
        (WebCore::FrameLoaderClientWin::detachedFromParent2):
        (WebCore::FrameLoaderClientWin::detachedFromParent3):
        (WebCore::FrameLoaderClientWin::detachedFromParent4):
        (WebCore::FrameLoaderClientWin::loadedFromPageCache):
        (WebCore::FrameLoaderClientWin::dispatchDidHandleOnloadEvents):
        (WebCore::FrameLoaderClientWin::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebCore::FrameLoaderClientWin::dispatchDidCancelClientRedirect):
        (WebCore::FrameLoaderClientWin::dispatchWillPerformClientRedirect):
        (WebCore::FrameLoaderClientWin::dispatchDidChangeLocationWithinPage):
        (WebCore::FrameLoaderClientWin::dispatchWillClose):
        (WebCore::FrameLoaderClientWin::dispatchDidReceiveIcon):
        (WebCore::FrameLoaderClientWin::dispatchDidStartProvisionalLoad):
        (WebCore::FrameLoaderClientWin::dispatchDidReceiveTitle):
        (WebCore::FrameLoaderClientWin::dispatchDidCommitLoad):
        (WebCore::FrameLoaderClientWin::dispatchDidFinishLoad):
        (WebCore::FrameLoaderClientWin::dispatchDidFirstLayout):
        (WebCore::FrameLoaderClientWin::dispatchShow):
        (WebCore::FrameLoaderClientWin::cancelPolicyCheck):
        (WebCore::FrameLoaderClientWin::dispatchWillSubmitForm):
        (WebCore::FrameLoaderClientWin::dispatchDidLoadMainResource):
        (WebCore::FrameLoaderClientWin::clearLoadingFromPageCache):
        (WebCore::FrameLoaderClientWin::isLoadingFromPageCache):
        (WebCore::FrameLoaderClientWin::revertToProvisionalState):
        (WebCore::FrameLoaderClientWin::clearUnarchivingState):
        (WebCore::FrameLoaderClientWin::progressStarted):
        (WebCore::FrameLoaderClientWin::progressCompleted):
        (WebCore::FrameLoaderClientWin::setMainFrameDocumentReady):
        (WebCore::FrameLoaderClientWin::willChangeTitle):
        (WebCore::FrameLoaderClientWin::didChangeTitle):
        (WebCore::FrameLoaderClientWin::finishedLoading):
        (WebCore::FrameLoaderClientWin::finalSetupForReplace):
        (WebCore::FrameLoaderClientWin::setDefersLoading):
        (WebCore::FrameLoaderClientWin::isArchiveLoadPending):
        (WebCore::FrameLoaderClientWin::cancelPendingArchiveLoad):
        (WebCore::FrameLoaderClientWin::clearArchivedResources):
        (WebCore::FrameLoaderClientWin::canShowMIMEType):
        (WebCore::FrameLoaderClientWin::representationExistsForURLScheme):
        (WebCore::FrameLoaderClientWin::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoaderClientWin::frameLoadCompleted):
        (WebCore::FrameLoaderClientWin::restoreScrollPositionAndViewState):
        (WebCore::FrameLoaderClientWin::provisionalLoadStarted):
        (WebCore::FrameLoaderClientWin::shouldTreatURLAsSameAsCurrent):
        (WebCore::FrameLoaderClientWin::addHistoryItemForFragmentScroll):
        (WebCore::FrameLoaderClientWin::didFinishLoad):
        (WebCore::FrameLoaderClientWin::prepareForDataSourceReplacement):
        (WebCore::FrameLoaderClientWin::setTitle):
        (WebCore::FrameLoaderClientWin::userAgent):

2006-11-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Rob (yay!).

        http://bugs.webkit.org/show_bug.cgi?id=11640
        XMLHttpRequest produces undefined:undefined HTTP authentication

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        Treat undefined credentials as missing ones.

2006-11-17  Lars Naesbye Christensen  <lars@naesbye.dk>

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=11638
        [CSS 2.1+3] add support for alias, progress, no-drop and not-allowed cursor styles

        * Resources/aliasCursor.png: Added.
        * Resources/noDropCursor.png: Added.
        * Resources/progressCursor.png: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * manual-tests/cursor.html:
        * page/EventHandler.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::handCursor):
        (WebCore::aliasCursor):
        (WebCore::progressCursor):
        (WebCore::noDropCursor):
        * rendering/RenderStyle.h:
        (WebCore::):

2006-11-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam.

        Properly adjust CFAbsoluteTime to time_t to fix date calculations.
        
        Compare lastModified w/ MAX_TIME_T when setting last modified date
        instead of comparing expiration against MAX_TIME_T.

        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::getResourceResponse): Add kCFAbsoluteTimeIntervalSince1970 in assignment

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

        Reviewed by Geoff.

        More conversions from DeprecatedValueList to Vector and HashSet.
        
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::~CSSValueList):
        (WebCore::CSSValueList::append):
        (WebCore::CSSValueList::cssText):
        * css/CSSValueList.h:
        (WebCore::CSSValueList::length):
        (WebCore::CSSValueList::item):
        * dom/Document.cpp:
        (WebCore::Document::attachNodeIterator):
        (WebCore::Document::notifyBeforeNodeRemoval):
        * dom/Document.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::notifyAttributeChange):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::notifyClientsToRepaint):
        * platform/graphics/svg/SVGResource.cpp:
        (WebCore::SVGResource::invalidate):
        (WebCore::SVGResource::addClient):
        * platform/graphics/svg/SVGResource.h:
        * rendering/RenderBlock.h:

=== Safari-521.31 ===

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

        Reviewed by Harrison.

        <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made

        Disable the delete button controller when cloning nodes, Mail does this before saving a draft.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::cloneChildNodes):
        * editing/markup.cpp:
        (WebCore::createFragmentFromNodes):

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

        Reviewed by harrison
        
        <rdar://problem/4237467> REGRESSION: Pasting word from quoted text quotes the destination
        <rdar://problem/4017358> quoted text is wrong color, when pasted as quotation

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::isMailPasteAsQuotationNode): Added.  Checks for the node
        that Mail wraps around an incoming fragment when it wants it to be pasted
        with quoting (no merging should be done).
        (WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Added
        this virtual method in order to adjust the nodes that ReplaceSelectionCommand
        tracks.
        (WebCore::ReplaceSelectionCommand::shouldMerge): Don't merge from content
        inside a Mail Paste as Quotation node.  Allow merging from Mail blockquotes.
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles): When pasting into
        a Mail blockquote, we ignore the parts of the source document's default style
        that are overriden by styles from the Mail blockquote.  This is necessary in order
        for text that's black (because black is the source document's default font color) 
        to appear blue/green/whatever when it's pasted into a Mail blockquote.
        (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Turn an inserted
        Mail Paste as Quotation node into a normal Mail blockquote.  This will prevent
        a copied blockquote that was inserted into the document using Paste as Quotation
        from triggering Paste as Quotation behavior when it's pasted.
        (WebCore::ReplaceSelectionCommand::doApply): Call the new/altered methods.
        * editing/ReplaceSelectionCommand.h:
        * editing/markup.cpp:
        (WebCore::styleFromMatchedRulesForElement): Put this code into a subroutine.
        (WebCore::removeEnclosingMailBlockquoteStyle): Added.
        (WebCore::startMarkup): When wrapping text nodes in style spans, leave out
        styles that Mail blockquotes contribute, so that Mail blockquote styles can
        be differentiated from styles that the user has applied.  When creating markup
        for elements, do the same thing.
        (WebCore::createMarkup): Call the new subroutine.

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

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11635
        Bug 11635: Fix potential issue with non-xslt build

        Fix the issue and do style guideline corrections.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::sheetLoaded):
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        (WebCore::ProcessingInstruction::setXSLStyleSheet):
        (WebCore::ProcessingInstruction::parseStyleSheet):

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

        Reviewed by Harrison.

        <rdar://problem/4843131> text entry is slow inside element that has the deletion rectangle around it

        Only disable/enable the delete button inside applyCommand() to prevent slowing down typing.
        This reintroduces <rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside

        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        (WebCore::EditCommand::unapply):
        (WebCore::EditCommand::reapply):
        (WebCore::applyCommand):
        * editing/EditCommand.h:

2006-11-17  Zack Rusin  <zack@kde.org>

        Reviewed by Mitz. Landed by Niko.

        Making platform Qt/KDE compile and work after
        the latest api changes. Reported as
        http://bugs.webkit.org/show_bug.cgi?id=11617

        * CMakeLists.txt:
        * page/qt/EventHandlerQt.cpp: Added.
        (WebCore::isKeyboardOptionTab):
        (WebCore::EventHandler::tabsToLinks):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::freeClipboard):
        (WebCore::EventHandler::focusDocumentView):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passMouseDownEventToWidget):
        (WebCore::EventHandler::lastEventIsMouseUp):
        (WebCore::EventHandler::dragHysteresisExceeded):
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::handleMouseUp):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        (WebCore::EventHandler::passWheelEventToWidget):
        (WebCore::EventHandler::shouldDragAutoNode):
        (WebCore::EventHandler::dispatchDragSrcEvent):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passWheelEventToSubframe):
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        * platform/ContextMenu.h:
        * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
        (WebCore::SVGResourceClipper::applyClip):
        * platform/qt/ContextMenuClientQt.cpp: Added.
        (WebCore::ContextMenuClientQt::addCustomContextMenuItems):
        (WebCore::ContextMenuClientQt::ref):
        (WebCore::ContextMenuClientQt::deref):
        * platform/qt/ContextMenuClientQt.h: Added.
        * platform/qt/ContextMenuQt.cpp: Added.
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenu::itemCount):
        (WebCore::ContextMenu::insertItem):
        (WebCore::ContextMenu::setPlatformMenuDescription):
        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::selectWordBeforeMenuEvent):
        (WebCore::EditorClientQt::isEditable):
        (WebCore::EditorClientQt::registerCommandForUndo):
        (WebCore::EditorClientQt::registerCommandForRedo):
        (WebCore::EditorClientQt::clearUndoRedoOperations):
        (WebCore::EditorClientQt::canUndo):
        (WebCore::EditorClientQt::canRedo):
        (WebCore::EditorClientQt::undo):
        (WebCore::EditorClientQt::redo):
        * platform/qt/EditorClientQt.h:
        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::mousePressEvent):
        * platform/qt/TemporaryLinkStubs.cpp:
        (FrameView::updateBorder):

2006-11-17  David Harrison  <harrison@apple.com>

        Reviewed by Adele.

        <rdar://problem/4799899> Frame::revealSelection() only scrolls the startContainer's layer

        Replace an assert with a fixme that refers to this bug.
        
        * page/Frame.cpp:
        (WebCore::Frame::revealSelection):

2006-11-16  Rob Buis  <buis@kde.org>

        Reviewed and landed by Brady

        Fixes http://bugs.webkit.org/show_bug.cgi?id=11590 -
        REGRESSION (r17726-r17742): Wikipedia page intermittently loads but doesn't render
        Fix the regression by setting m_loadCompleted correctly.

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::checkLoaded):
        * dom/Node.h:
        (WebCore::Node::sheetLoaded):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::sheetLoaded):
        * dom/ProcessingInstruction.h:
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::sheetLoaded):
        * html/HTMLLinkElement.h:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::sheetLoaded):
        * html/HTMLStyleElement.h:

2006-11-16  David Harrison  <harrison@apple.com>

        Reviewed by Beth.

        <rdar://problem/4056100> REGRESSION (Tiger): Deleting top part of reply email leaves fails to clear text at end of message

        The problem was triggered by the fact that the parent div was changing both
        in position and in height. The renderer normally bifurcates its logic for
        x-position changes vs height changes.

        Call repaintDuringLayoutIfMoved() with old rect (incl. width and height) instead of just the old position.

        Test added:
        * manual-tests/delete-into-nested-block.html
        
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::positionNewFloats):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintDuringLayoutIfMoved):
        * rendering/RenderBox.h:
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::placeChild):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintDuringLayoutIfMoved):
        * rendering/RenderObject.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2006-11-16  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        Slider cleanup.  Let the theme set the size of the slider thumb.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle.
        (WebCore::RenderSlider::createThumbStyle):
        (WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize):  Added.
        * rendering/RenderTheme.h: ditto.
        * rendering/RenderThemeMac.h: ditto.
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.

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

        Reviewed by Darin.

        Use Vector instead of DeprecatedValueList in a few places.
        
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::lengthGetter):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * bindings/js/kjs_dom.h:
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::namedItemGetter):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLCollection::getNamedItems):
        * bindings/objc/DOM.mm:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::dashboardRegionsDictionary):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::diff):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::namedItems):
        * html/HTMLCollection.h:
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::KCanvasFilter::externalRepresentation):
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCanvasFEColorMatrix::values):
        (WebCore::KCanvasFEColorMatrix::setValues):
        (WebCore::KCanvasFEConvolveMatrix::kernel):
        (WebCore::KCanvasFEConvolveMatrix::setKernel):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::getCIFilterStack):
        (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * platform/graphics/svg/SVGResourceClipper.h:
        * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
        (WebCore::SVGResourceClipper::applyClip):
        * platform/network/FormData.h:
        * rendering/RenderPath.h:
        * rendering/SVGRenderTreeAsText.h:
        (WebCore::operator<<):

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

        Reviewed by Tim.

        * editing/markup.cpp:
        (WebCore::createMarkup):
        Add null-checks for the frame, it might not exist for all documents.
        
2006-11-16  Peter Kasting  <pkasting@chromium.org>

        Reviewed and landed by ap.

        http://bugs.webkit.org/show_bug.cgi?id=11509:
        Windows build bustage.

        Also reorganizes WebCore.vcproj to add files whose absence wasn't
        causing compile errors, but which should have been there, and to
        make the include directory ordering (and contents) sane.
        Also reorganizes TemporaryLinkStubs.cpp to put headers and
        function groups in alphabetical order, and ensure that all functions
        in the file call notImplemented().

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/ChromeClientWin.h:
        (WebCore::ChromeClientWin::ref):
        (WebCore::ChromeClientWin::deref):
        * bridge/win/ContextMenuClientWin.h: Added.
        (WebCore::ContextMenuClientWin::~ContextMenuClientWin):
        (WebCore::ContextMenuClientWin::ref):
        (WebCore::ContextMenuClientWin::deref):
        * bridge/win/EditorClientWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::~FrameWin):
        (WebCore::FrameWin::keyPress):
        * bridge/win/FrameWin.h:
        * bridge/win/PageWin.cpp: Removed.
        * editing/EditCommand.h:
        * loader/FormState.h:
        * loader/FrameLoader.h:
        * page/EventHandler.cpp:
        * platform/MimeTypeRegistry.cpp:
        (WebCore::initialiseSupportedImageMIMETypes):
        * platform/graphics/win/ImageWin.cpp:
        * platform/network/ResourceError.cpp:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::onRequestRedirected):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        * platform/win/ScreenWin.cpp:
        (WebCore::monitorInfo):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::screenDepth):
        * platform/win/SoundWin.cpp: Added.
        (WebCore::systemBeep):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::CacheObjectExpiresTime):
        (WebCore::CheckCacheObjectStatus):
        (WebCore::CheckIfReloading):
        (WebCore::defaultLanguage):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::findNextSentenceFromIndex):
        (WebCore::findNextWordFromIndex):
        (WebCore::findSentenceBoundary):
        (WebCore::findWordBoundary):
        (WebCore::focusRingColor):
        (WebCore::historyContains):
        (WebCore::inputElementAltText):
        (WebCore::IsResponseURLEqualToURL):
        (WebCore::cellCursor):
        (WebCore::contextMenuCursor):
        (WebCore::moveCursor):
        (WebCore::verticalTextCursor):
        (WebCore::refreshPlugins):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::ResponseIsMultipart):
        (WebCore::ResponseMIMEType):
        (WebCore::ResponseURL):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::searchableIndexIntroduction):
        (WebCore::ServeSynchronousRequest):
        (WebCore::setFocusRingColorChangeFunction):
        (WebCore::submitButtonDefaultLabel):
        (WebCore::CachedResource::setPlatformResponse):
        (WebCore::CachedResource::setAllData):
        (WebCore::ChromeClientWin::setWindowRect):
        (WebCore::ChromeClientWin::windowRect):
        (WebCore::ChromeClientWin::pageRect):
        (WebCore::ChromeClientWin::scaleFactor):
        (WebCore::ChromeClientWin::focus):
        (WebCore::ChromeClientWin::unfocus):
        (WebCore::ChromeClientWin::createWindow):
        (WebCore::ChromeClientWin::createModalDialog):
        (WebCore::ChromeClientWin::show):
        (WebCore::ChromeClientWin::canRunModal):
        (WebCore::ChromeClientWin::runModal):
        (WebCore::ChromeClientWin::setToolbarsVisible):
        (WebCore::ChromeClientWin::toolbarsVisible):
        (WebCore::ChromeClientWin::setStatusbarVisible):
        (WebCore::ChromeClientWin::statusbarVisible):
        (WebCore::ChromeClientWin::setScrollbarsVisible):
        (WebCore::ChromeClientWin::scrollbarsVisible):
        (WebCore::ChromeClientWin::setMenubarVisible):
        (WebCore::ChromeClientWin::menubarVisible):
        (WebCore::ChromeClientWin::setResizable):
        (WebCore::ContextMenu::appendItem):
        (WebCore::ContextMenuClientWin::addCustomContextMenuItems):
        (WebCore::DocumentLoader::setFrame):
        (WebCore::DocumentLoader::frameLoader):
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::isStopping):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::setLoading):
        (WebCore::DocumentLoader::updateLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::isLoadingInAPISense):
        (WebCore::DocumentLoader::stopRecordingResponses):
        (WebCore::EditorClientWin::shouldDeleteRange):
        (WebCore::EditorClientWin::shouldShowDeleteInterface):
        (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
        (WebCore::EditorClientWin::isGrammarCheckingEnabled):
        (WebCore::EditorClientWin::spellCheckerDocumentTag):
        (WebCore::EventHandler::focusDocumentView):
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::handleMouseUp):
        (WebCore::EventHandler::lastEventIsMouseUp):
        (WebCore::EventHandler::passMousePressEventToSubframe):
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
        (WebCore::EventHandler::passWheelEventToSubframe):
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        (WebCore::EventHandler::shouldDragAutoNode):
        (WebCore::EventHandler::tabsToAllControls):
        (WebCore::EventHandler::tabsToLinks):
        (WebCore::Frame::setNeedsReapplyStyles):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::overrideMediaType):
        (WebCore::FrameLoader::createJavaAppletWidget):
        (WebCore::FrameLoader::redirectDataToPlugin):
        (WebCore::FrameLoader::getHistoryLength):
        (WebCore::FrameLoader::setTitle):
        (WebCore::FrameLoader::referrer):
        (WebCore::FrameLoader::saveDocumentState):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::goBackOrForward):
        (WebCore::FrameLoader::historyURL):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::partClearedInBegin):
        (WebCore::FrameLoader::originalRequestURL):
        (WebCore::FrameLoader::canGoBackOrForward):
        (WebCore::FrameLoader::objectContentType):
        (WebCore::FrameLoader::createPlugin):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameView::updateBorder):
        (WebCore::FrameWin::bindingRootObject):
        (WebCore::FrameWin::canPaste):
        (WebCore::FrameWin::issuePasteAndMatchStyleCommand):
        (WebCore::FrameWin::markedTextRange):
        (WebCore::FrameWin::passSubframeEventToSubframe):
        (WebCore::FrameWin::lastEventIsMouseUp):
        (WebCore::FrameWin::addMessageToConsole):
        (WebCore::FrameWin::shouldChangeSelection):
        (WebCore::FrameWin::respondToChangedSelection):
        (WebCore::FrameWin::clearUndoRedoOperations):
        (WebCore::FrameWin::markMisspellingsInAdjacentWords):
        (WebCore::FrameWin::respondToChangedContents):
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setLineWidth):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::scale):
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::newIconForFile):
        (WebCore::Icon::paint):
        (WebCore::IconDatabase::isIconExpiredForIconURL):
        (WebCore::IconDatabase::hasEntryForIconURL):
        (WebCore::IconDatabase::sharedIconDatabase):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::Image::drawTiled):
        (WebCore::Image::getHBITMAP):
        (WebCore::Path::Path):
        (WebCore::Path::~Path):
        (WebCore::Path::contains):
        (WebCore::Path::translate):
        (WebCore::Path::boundingRect):
        (WebCore::Path::operator=):
        (WebCore::Path::clear):
        (WebCore::Path::moveTo):
        (WebCore::Path::addLineTo):
        (WebCore::Path::addQuadCurveTo):
        (WebCore::Path::addBezierCurveTo):
        (WebCore::Path::addArcTo):
        (WebCore::Path::closeSubpath):
        (WebCore::Path::addArc):
        (WebCore::Path::addRect):
        (WebCore::Path::addEllipse):
        (WebCore::Path::transform):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (WebCore::PlatformScrollbar::PlatformScrollbar):
        (WebCore::PlatformScrollbar::~PlatformScrollbar):
        (WebCore::PlatformScrollbar::width):
        (WebCore::PlatformScrollbar::height):
        (WebCore::PlatformScrollbar::setEnabled):
        (WebCore::PlatformScrollbar::paint):
        (WebCore::PlatformScrollbar::updateThumbPosition):
        (WebCore::PlatformScrollbar::updateThumbProportion):
        (WebCore::PlatformScrollbar::setRect):
        (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (WebCore::PlugInInfoStore::pluginCount):
        (WebCore::PlugInInfoStore::supportsMIMEType):
        (WebCore::PolicyCheck::PolicyCheck):
        (WebCore::PolicyCheck::clear):
        (WebCore::PolicyCheck::clearRequest):
        (WebCore::PolicyCheck::call):
        (WebCore::RenderThemeWin::systemFont):
        (WebCore::RenderThemeWin::paintMenuList):
        (WebCore::RenderThemeWin::adjustMenuListStyle):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::scrollPointRecursively):
        (WebCore::ScrollView::inWindow):
        (WebCore::ScrollView::paint):
        (WebCore::ScrollView::wheelEvent):
        (WebCore::ScrollView::themeChanged):
        (WebCore::ScrollView::convertChildToSelf):
        (WebCore::ScrollView::convertSelfToChild):
        (WebCore::ScrollView::geometryChanged):
        (WebCore::ScrollView::scrollbarUnderMouse):
        (WebCore::ScrollView::setFrameGeometry):
        (WebCore::ScrollView::windowResizerRect):
        (WebCore::ScrollView::resizerOverlapsContent):
        (WebCore::TextField::selectAll):
        (WebCore::TextField::addSearchResult):
        (WebCore::TextField::selectionStart):
        (WebCore::TextField::hasSelectedText):
        (WebCore::TextField::selectedText):
        (WebCore::TextField::setAutoSaveName):
        (WebCore::TextField::checksDescendantsForFocus):
        (WebCore::TextField::setSelection):
        (WebCore::TextField::setMaxResults):
        (WebCore::TextField::edited):
        (WebCore::TextField::focusPolicy):
        (WebCore::TextField::TextField):
        (WebCore::TextField::~TextField):
        (WebCore::TextField::setFont):
        (WebCore::TextField::setAlignment):
        (WebCore::TextField::setWritingDirection):
        (WebCore::TextField::maxLength):
        (WebCore::TextField::setMaxLength):
        (WebCore::TextField::text):
        (WebCore::TextField::setText):
        (WebCore::TextField::cursorPosition):
        (WebCore::TextField::setCursorPosition):
        (WebCore::TextField::setEdited):
        (WebCore::TextField::setReadOnly):
        (WebCore::TextField::setPlaceholderString):
        (WebCore::TextField::setColors):
        (WebCore::TextField::sizeForCharacterWidth):
        (WebCore::TextField::baselinePosition):
        (WebCore::TextField::setLiveSearch):
        (WebCore::Widget::enableFlushDrawing):
        (WebCore::Widget::isEnabled):
        (WebCore::Widget::focusPolicy):
        (WebCore::Widget::disableFlushDrawing):
        (WebCore::Widget::removeFromParent):
        (WebCore::Widget::lockDrawingFocus):
        (WebCore::Widget::unlockDrawingFocus):
        (WebCore::Widget::capturingMouse):
        (WebCore::Widget::setCapturingMouse):
        (WebCore::Widget::capturingTarget):
        (WebCore::Widget::capturingChild):
        (WebCore::Widget::setCapturingChild):
        (WebCore::Widget::convertChildToSelf):
        (WebCore::Widget::convertSelfToChild):
        (WebCore::Widget::setParent):
        (WebCore::Widget::parent):
        (WebCore::Widget::setEnabled):
        (WebCore::Widget::paint):
        (WebCore::Widget::setIsSelected):
        (WebCore::Widget::invalidate):
        (WebCore::Widget::invalidateRect):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::clearFocus):

2006-11-16  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        <rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made

        * editing/markup.cpp:
        (WebCore::createMarkup): disable the delete button so it's elements are not serialized into the markup

2006-11-16  George Staikos  <staikos@kde.org>

        Rubberstamped by Maciej.

        Making the code valgrind clean.

        * rendering/RenderTableCell.cpp: initialize variable m_widthChanged
        (WebCore::RenderTableCell::RenderTableCell):
        * rendering/RenderTableCell.h: remove unused variable nWrap

2006-11-16  David Harrison  <harrison@apple.com>

        Reviewed by Darin and Tim.

        <rdar://problem/4799949> REGRESSION: Crash in FrameMac::eventMayStartDrag() by clicking on a page
        
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::eventMayStartDrag):
        Add nil check of hitTest's result.innerNode().

2006-11-16  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4836897> Deletion rectangle disappears when multiple list items are selected

        Consider the container of the selection range for deletion before asking enclosingNodeOfType().

        * editing/DeleteButtonController.cpp:
        (WebCore::enclosingDeletableElement):

2006-11-16  Rob Buis  <buis@kde.org>

        Reviewed by hyatt.

        Removal of unused m_styleElement.

        * dom/Node.cpp:
        (WebCore::Node::Node):
        (WebCore::Node::dump):
        * dom/Node.h:
        (WebCore::Node::isLink): should be styleElement, a bug?

2006-11-15  Adam Roben  <aroben@apple.com>

        Build fix.

        Rename the items in the ContextMenuAction enum so that they don't
        conflict with WebKit names.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate):
        * platform/ContextMenu.h:
        (WebCore::):
        (WebCore::ContextMenuItem::ContextMenuItem):

2006-11-15  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        Change m_contextMenu to an OwnPtr.

        * WebCore.xcodeproj/project.pbxproj:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::handleContextMenuEvent):
        * page/ContextMenuController.h:

2006-11-15  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        Add new ContextMenuController and ContextMenuClient classes, and move
        context menu responsibilities from Chrome and ChromeClient to them.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj: Add new files to project, and
        alphabetize some others.
        * page/Chrome.cpp: Remove context menu-related code.
        * page/Chrome.h: Ditto.
        * page/ChromeClient.h:
        * page/ContextMenuClient.h: Added.
        * page/ContextMenuController.cpp: Added.
        (WebCore::ContextMenuController::ContextMenuController):
        (WebCore::ContextMenuController::~ContextMenuController):
        (WebCore::ContextMenuController::handleContextMenuEvent):
        (WebCore::ContextMenuController::contextMenuActionSelected):
        * page/ContextMenuController.h: Added.
        (WebCore::ContextMenuController::client):
        * page/Page.cpp: Every Page now has a ContextMenuController.
        (WebCore::Page::Page):
        * page/Page.h: Made m_dragCaretController and m_chrome objects instead
        of pointers to objects.
        (WebCore::Page::contextMenuController):
        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::populate): Removed the call to Chrome to ask the
        delegate to add its menu items, and moved the code from the static
        addDefaultItems function into this method.
        * platform/ContextMenu.h:
        (WebCore::ContextMenu::show): Added an empty method body since this
        method is now called from ContextMenuController (although no one calls
        into ContextMenuController yet, so it's OK for this to be empty).
        (WebCore::ContextMenu::hide): Ditto.

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

        Reviewed by Darin.

        Add null checks on the node filter, they can be null if no filter was passed to the respective
        create functions.
        
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::mark):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::mark):

2006-11-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders.

        Allow <embed> and <object> tags to include non-plugin
        content when plugins are disabled

        Fixes <rdar://problems/4839488>

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::rendererIsNeeded):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::requestObject):

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

        Build fix.  Another type problem that I don't see locally.

        * rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue):

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

        Reviewed by Adam.

        Adding MathExtras header.

        * rendering/RenderSlider.cpp:

2006-11-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Harrison.

        <rdar://problem/4832894> Crash deleting an element inside a list while deletion rectangle is visible (compareBoundaryPoints)

        * Disable and hide the deletion UI for each editing command. This prevents editing commands from being affected
          by the deletion UI elements we insert. The deletion UI is then shown after the editing commands are completely done.

        * Multiple calls to DeleteButtonController's disable() needed to be paired with the same number of enable() calls before
          the deletion UI is enabled again. This allows for nested editing commands to be called without thrashing the deletion UI.

        * Make sure the the renderers are currently reflecting the latest style changes, so call updateLayoutIgnorePendingStylesheets().

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::DeleteButtonController):
        (WebCore::isDeletableElement):
        (WebCore::DeleteButtonController::respondToChangedSelection): check the enabled state
        (WebCore::DeleteButtonController::respondToChangedContents): check the enabled state
        (WebCore::DeleteButtonController::show): call isDeletableElement() to make sure the element is allowed
        (WebCore::DeleteButtonController::deleteTarget): check the enabled state
        * editing/DeleteButtonController.h:
        (WebCore::DeleteButtonController::disable):
        (WebCore::DeleteButtonController::enable):
        (WebCore::DeleteButtonController::enabled):
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): hide and disable the deletion UI, then show at the end
        (WebCore::EditCommand::unapply): ditto
        (WebCore::EditCommand::reapply): ditto

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

        Reviewed by Adam.

        New implementation of slider control.

        * WebCore.xcodeproj/project.pbxproj: Removed DeprecatedSlider and Slider classes, added RenderSlider class.
        * rendering/DeprecatedSlider.cpp: Removed.
        * rendering/DeprecatedSlider.h: Removed.
        * platform/Slider.h: Removed.
        * platform/mac/SliderMac.mm: Removed.
        * platform/win/TemporaryLinkStubs.cpp:

        * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoElement for thumb, PseudoSliderThumb.
        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added code for "-webkit-slider-thumb".
        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): 
        * rendering/RenderStyle.cpp:
        (WebCore::):
        (WebCore::pseudoBit):
        * rendering/RenderStyle.h: (WebCore::RenderStyle::):

        * css/html4.css: Added style for input[type="range"] and input[type="range"]::-webkit-slider-thumb

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createRenderer): Create RenderSlider for input type="range" elements.
        (WebCore::HTMLInputElement::defaultEventHandler): Allow the renderer to forward events, and set thumb position when click occurs on the track.

        * page/EventHandler.cpp:  Added concept of a node that will capture all mouse events.  This will be used by the slider thumb, so it can
          continue to capture mouse move events during the drag, even though those events aren't directly over the slider.
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::setCapturingMouseEventsNode):
        (WebCore::EventHandler::dispatchMouseEvent): If the capturingMouseEventsNode is set, then dispatch all mouse events to that node.
        * page/EventHandler.h:

        * rendering/RenderSlider.cpp: Added.
        (WebCore::HTMLSliderThumbElement::isShadowNode):
        (WebCore::HTMLSliderThumbElement::shadowParentNode):
        (WebCore::HTMLSliderThumbElement::inDragMode): Keeps track of whether or not the thumb is in drag mode.
        (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
        (WebCore::HTMLSliderThumbElement::defaultEventHandler): Handles positioning of slider thumb during drag.
        (WebCore::RenderSlider::RenderSlider):
        (WebCore::RenderSlider::~RenderSlider):
        (WebCore::RenderSlider::baselinePosition):
        (WebCore::RenderSlider::calcMinMaxWidth):
        (WebCore::RenderSlider::setStyle):
        (WebCore::RenderSlider::createThumbStyle):
        (WebCore::RenderSlider::layout): Positions the thumb to be centered on the track.
        (WebCore::RenderSlider::updateFromElement):
        (WebCore::RenderSlider::mouseEventIsInThumb):
        (WebCore::RenderSlider::setValueForPosition):
        (WebCore::RenderSlider::setPositionFromValue):
        (WebCore::RenderSlider::positionForOffset):
        (WebCore::RenderSlider::valueChanged):
        (WebCore::RenderSlider::currentPosition):
        (WebCore::RenderSlider::setCurrentPosition):
        (WebCore::RenderSlider::trackSize):
        (WebCore::RenderSlider::forwardEvent):
        (WebCore::RenderSlider::inDragMode):
        * rendering/RenderSlider.h: Added.
        (WebCore::RenderSlider::renderName):

         * rendering/RenderTheme.cpp: Added drawing code for slider track and thumb.
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::adjustSliderTrackStyle):
        (WebCore::RenderTheme::adjustSliderThumbStyle):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::paintSliderTrack):
        (WebCore::RenderTheme::paintSliderThumb):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::RenderThemeMac):
        (WebCore::TrackGradientInterpolate):
        (WebCore::RenderThemeMac::paintSliderTrack):
        (WebCore::RenderThemeMac::paintSliderThumb):
        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
        (WebCore::RenderThemeMac::adjustSliderThumbStyle):

2006-11-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Oops! Forgot to add this!

        * platform/mac/ContextMenuMac.mm: Added.
        (-[MenuTarget forwardContextMenuAction:initWithContextMenu:WebCore::]):
        (-[MenuTarget WebCore::]):
        (-[MenuTarget setMenu:WebCore::]):
        (-[MenuTarget forwardContextMenuAction:]):
        (getNSMenuItem):
        (ContextMenu::appendItem):
        (ContextMenu::itemCount):
        (ContextMenu::insertItem):
        (ContextMenu::setPlatformMenuDescription):

2006-11-15  Beth Dakin  <bdakin@apple.com>
        &   Adam Roben  <aroben@apple.com>

        Reviewed by Adam and Beth.

        Initial cut at pushing Context Menus into WebCore. Nobody actually 
        calls this code just yet.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Chrome.cpp:
        (WebCore::Chrome::addCustomContextMenuItems): Use the chrome to 
        call into addContextMenuItems on the UIDelegate.
        * page/Chrome.h:
        * page/ChromeClient.h:
        * platform/ContextMenu.cpp: Added.
        (WebCore::addDefaultItems):
        (WebCore::ContextMenu::populate):
        * platform/ContextMenu.h: Added.
        (WebCore::):
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::hitTestResult):
        (WebCore::ContextMenu::platformMenuDescription):

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

        Reviewed by Hyatt.

        - Fix for <rdar://problem/4780306> REGRESSION: clicking in textarea does not set selection at PunBB.org

        * css/html4.css: Removed "-webkit-user-select: ignore" for labels.

2006-11-15  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4836034> REGRESSION: Hang while spell-checking (advanceToNextMisspelling)

        Test:
        * manual-tests/keep_spelling_markers.html:
        Updated to include checking for this bug.
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        it.advance() even when current string is a single space.

2006-11-15  Brady Eidson  <beidson@apple.com>

        Reviewed by lamadio

        Backing out macro expansion

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isRecognizedTagName):
        * ksvg2/scripts/make_names.pl:

2006-11-15  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4770453> VO not honoring secure edit fields in web pages

        The remaining problem was the password fields would return their contents
        even though they did not advertise that they could. Apparently, VoiceOver
        does not read the ads.

        * bridge/mac/WebCoreAXObject.mm:
        (isPasswordFieldElement):
        (-[WebCoreAXObject isPasswordField]):
        (-[WebCoreAXObject textMarkerForVisiblePosition:]):
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        (-[WebCoreAXObject doAXStringForRange:]):

2006-11-13  Lou Amadio  <lamadio@apple.com>

        Reviewed by Darin Adler, Maciej Stachowiak

        Cleanup: Expanded macros in generated files

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isRecognizedTagName):
        * ksvg2/scripts/make_names.pl:

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

        Reviewed by Geoff.

        Use Vector instead of DeprecatedPtrList.
        
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        * editing/BreakBlockquoteCommand.cpp:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintOutline):

2006-11-15  Adam Roben  <aroben@apple.com>

        Build fix.

        * page/EventHandler.h:

2006-11-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Geoff.

        Move things off the bridge, and move sendContextMenuEvent() from 
        EventHandlerMac to EventHandler.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/EditorClient.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * editing/Editor.cpp:
        (WebCore::Editor::selectWordBeforeMenuEvent):
        (WebCore::Editor::clientIsEditable):
        * editing/Editor.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendContextMenuEvent):
        * page/EventHandler.h:
        * page/mac/EventHandlerMac.mm:

2006-11-14  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Harrison.

        <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)

        Adds an EditableLinkNeverLive setting that will make links in editable areas always dead.

        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setEditableLinkBehavior:]):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::setActive):
        (WebCore::HTMLAnchorElement::isLiveLink):
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * page/Settings.h:
        (WebCore::Settings::):

2006-11-14  Mark Rowe  <bdash@webkit.org>

        Reviewed by Oliver.

        Build fix

        * bindings/scripts/CodeGenerator.pm:

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

        Turns out I wasn't forcing DWARF on the world at all, 
        it's now the default!

        * WebCore.xcodeproj/project.pbxproj:

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

        I must stop trying to force DWARF on the world.
        
        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by harrison
        
        <rdar://problem/4806874>
        Missing background image after paste
        
        * editing/markup.cpp:
        (WebCore::createMarkup): If the body is fully selected, add a 
        div with its CSS properties to the markup.  Migrated a use of 
        enclosingBlockFlowElement to enclosingBlock to fix an infinite 
        loop when pasting <div><input></div>.

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

        Reviewed by Adam.

        Add Undo/Redo to execCommand.
        
        * editing/Editor.cpp:
        (WebCore::execRedo):
        (WebCore::execUndo):
        (WebCore::canRedo):
        (WebCore::canUndo):
        (WebCore::CommandEntry::):

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

        Reviewed by Anders.

        - created EventHandler class, moved event handling code from both
          Frame and FrameView in there

        - added ScrollTypes.h header so you can include the scroller-related
          enums without all of Scrollbar.h

        * page/EventHandler.cpp: Added.
        * page/EventHandler.h: Added.
        * page/mac/EventHandlerMac.mm: Added.

        * platform/ScrollBarMode.h: Removed.
        * platform/ScrollTypes.h: Added.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::~FrameMac):
        (WebCore::FrameMac::bridgeForWidget):
        (WebCore::FrameMac::imageFromRect):
        * bridge/mac/FrameViewMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge scrollOverflowInDirection:granularity:]):
        (-[WebCoreFrameBridge nextKeyView]):
        (-[WebCoreFrameBridge previousKeyView]):
        (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
        (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
        (-[WebCoreFrameBridge _visiblePositionForPoint:]):
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
        (-[WebCoreFrameBridge dragSourceMovedTo:]):
        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
        * dom/Document.cpp:
        (WebCore::Document::hoveredNodeDetached):
        * dom/Element.h:
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::defaultEventHandler):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        * editing/SelectionController.h:
        (WebCore::SelectionController::setCaretBlinkingSuspended):
        (WebCore::SelectionController::isCaretBlinkingSuspended):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::setFocus):
        * html/HTMLFrameElementBase.h:
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::open):

        * page/Frame.cpp:
        (WebCore::Frame::caretBlinkTimerFired):
        (WebCore::Frame::frameForWidget):
        (WebCore::Frame::eventHandler):
        (WebCore::Frame::setProhibitsScrolling):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::clear):
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::addRepaintInfo):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::scrollPointRecursively):
        (WebCore::FrameView::setContentsPos):
        (WebCore::FrameView::scheduleRelayoutOfSubtree):
        (WebCore::FrameView::scheduleEvent):
        (WebCore::FrameView::updateOverflowStatus):
        (WebCore::FrameView::dispatchScheduledEvents):
        (WebCore::FrameView::windowClipRectForLayer):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):
        * page/FrameView.h:
        * page/PageState.cpp:
        (WebCore::PageState::PageState):
        (WebCore::PageState::restore):
        * page/PageState.h:
        * platform/ScrollBar.h:
        * platform/ScrollView.h:
        * platform/mac/ClipboardMac.mm:
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::show):
        * platform/mac/SliderMac.mm:
        (-[WebCoreSlider becomeFirstResponder]):
        (-[WebCoreSlider nextKeyView]):
        (-[WebCoreSlider previousKeyView]):
        (-[WebCoreSlider canBecomeKeyView]):
        (Slider::focusPolicy):
        * platform/mac/WebCoreTextField.mm:
        (-[WebCoreTextFieldController textView:shouldHandleEvent:]):
        (-[WebCoreTextFieldController setHasFocus:]):
        (-[WebCoreSearchField nextKeyView]):
        (-[WebCoreSearchField previousKeyView]):
        (-[WebCoreSearchFieldCell _addStringToRecentSearches:]):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::hasFocus):
        (WebCore::Widget::clearFocus):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::setResizing):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll):
        (WebCore::RenderLayer::resize):
        (WebCore::RenderLayer::updateOverflowStatus):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::autoscroll):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::draggableNode):
        (WebCore::RenderObject::destroy):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::RepaintInfo::RepaintInfo):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::viewCleared):

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

        Reviewed by Darin.

        Let the editor client handle undo/redo.
        
        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/EditorClient.h:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::canUndo):
        (WebCore::FrameMac::canRedo):
        * bridge/mac/WebCoreEditCommand.h: Removed.
        * bridge/mac/WebCoreEditCommand.mm: Removed.
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        * editing/JSEditor.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::closeURL):
        * page/Frame.cpp:
        * page/Frame.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::updateFromElement):

2006-11-14  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Brady

        Fix Qt/Linux build.

        * ChangeLog:
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::submitForm):
        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::add):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::submitForm):
        * platform/qt/FrameQtClient.h:

2006-11-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        Cleanup of my patch last night and merging with aroben-style changes from this morning
        (More ref-counted FormData stuff)

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::submitForm):
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::postData):
        * platform/network/ResourceHandle.h:
        * platform/network/cf/FormDataStreamCFNet.cpp:
        (WebCore::setHTTPBody):
        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::getStreamFormDatas):
        (WebCore::formCreate):
        (WebCore::formFinalize):
        (WebCore::setHTTPBody):
        (WebCore::httpBodyFromStream):
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::getResourceRequest):

2006-11-14  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11575
        Bug 11575: REGRESSION: WebCore crash in CSSParser/HTMLTokenizer

        Test: fast/css/css-imports.html

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):
        Fix the crash by testing for null pointer.

2006-11-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Tim H.

        Test for http://bugs.webkit.org/show_bug.cgi?id=3387
        Redundant keydown, keypress, keyup events sent for arrow keys

        * manual-tests/arrow-key-events.html: Added.

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

        Reviewed by Adam.

        Fix up usages of FormData within CFNet loader code.

        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::httpBody):
        * platform/network/cf/FormDataStreamCFNet.cpp:
        (WebCore::getStreamFormDatas): Store RefPtr<FormData>s in the
        streamFormDatas HashMap.
        (WebCore::formCreate):
        (WebCore::formFinalize): Removed delete because the remove() will deref
        and delete if necessary.
        (WebCore::setHTTPBody): Changed parameter to PassRefPtr.
        (WebCore::httpBodyFromStream):
        * platform/network/cf/FormDataStreamCFNet.h: Fix declarations.
        * platform/network/cf/ResourceRequestCFNet.cpp:
        (WebCore::getResourceRequest):

2006-11-14  Greg Jackson  <gjspanner@gmail.com>

        Reviewed by Darin.

        Preserves any pre-existing value for WEBCORE_NAVIGATOR_PLATFORM
        rather than overriding it based on platform detection.

        * bindings/js/kjs_navigator.cpp:

2006-11-13  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Made FormData Shared, and pass it around as such.

        * WebCore.xcodeproj/project.pbxproj: Reordered some items
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFormElement.h:
        * loader/FrameLoader.cpp:
        (WebCore::FormSubmission::FormSubmission):
        (WebCore::FrameLoader::submitForm):
        * loader/FrameLoader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::create):
        * platform/network/FormData.h: Made FormData shared
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::postData): 
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::httpBody):
        (WebCore::ResourceRequest::setHTTPBody): 
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::getResourceRequest):
        (WebCore::nsURLRequest): 

        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::getStreamFormDatas): Hash Streams to RefPtr<FormData>s
        (WebCore::formCreate):
        (WebCore::formFinalize):
        (WebCore::setHTTPBody):
        (WebCore::httpBodyFromStream):

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

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

        Reviewed by harrison
        
        <rdar://problem/4828264>
        In Mail, a crash occurs at WebCore::Selection::toRange() when selecting this web content (http://www.cnet.com/)
        
        The start of the selection is in an editable area, and the end is in an 
        input field inside that editable area.  The code that should pull the end
        of such a selection outside the input field didn't escape shadow nodes,
        it would leave a dangling end, causing the crash in toRange.
        
        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent):  Added an ASSERT and a fixup
        to prevent crashes like this in future Release builds.
        * editing/htmlediting.cpp:
        (WebCore::firstEditablePositionAfterPositionInRoot): Let this function 
        escape shadow nodes.  We might eventually push this code down into 
        next/previous{VisuallyDistinct}Canditate.
        (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.

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

        Reviewed by darin
        
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing):
        * editing/Editor.h:
        (WebCore::Editor::setRemovedAnchor): Pass a PassRefPtr.

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

        Reviewed by Oliver
        
        <rdar://problem/4820026>
        copy/paste of news.google.com yields text from hidden select element options

        We were adding descendants of unrendered select elements. 

        * editing/markup.cpp:
        (WebCore::createMarkup): Don't traverse into nodes without renderers, unless 
        they are grandfathered in by a rendered select element.
        
2006-11-12  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Sam Weinig.

        Fix Qt build. Missing AbstractShared implementation.
        http://bugs.webkit.org/show_bug.cgi?id=11581

        * loader/qt/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::ref):
        (WebCore::FrameLoaderClientQt::deref):
        * loader/qt/FrameLoaderClientQt.h:
        * platform/qt/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::ref):
        (WebCore::ChromeClientQt::deref):
        * platform/qt/ChromeClientQt.h:
        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::ref):
        (WebCore::EditorClientQt::deref):
        * platform/qt/EditorClientQt.h:

2006-11-13  Mark Rowe  <bdash@webkit.org>

        Reviewed by Mitz.

        Fix some Linux/Gdk build issues noted by Alp Toker.

        * Projects/gdk/webcore-gdk.bkl:
        * WebCoreSources.bkl:
        * platform/graphics/gdk/ImageGdk.cpp:
        (WebCore::Image::loadPlatformResource):

2006-11-12  Brady Eidson <beidson@apple.com>

        Reviewed by Anders

        Logging channel plumbing for future work

        * platform/Logging.cpp:
        (WebCore::):
        * platform/Logging.h:
        * platform/mac/LoggingMac.mm:
        (WebCore::InitializeLoggingChannelsIfNecessary):

2006-11-12  Mark Rowe  <bdash@webkit.org>

        Reviewed by Mitz.

        Linux/Gdk compilation fixes, and bakefile cleanups.  Based on patches by
        Alp Toker.

        * Projects/gdk/webcore-gdk.bkl:
        * WebCoreSources.bkl:
        * page/PageState.cpp:
        * platform/gdk/ChromeClientGdk.h:
        (WebCore::ChromeClientGdk::ref):
        (WebCore::ChromeClientGdk::deref):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdkClientDefault::openURL):
        (WebCore::FrameGdkClientDefault::didReceiveData):
        (WebCore::FrameGdkClientDefault::receivedAllData):
        (WebCore::FrameGdk::FrameGdk):
        (WebCore::FrameGdk::~FrameGdk):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/KeyEventGdk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):
        * platform/gdk/ScreenClientGdk.h: Removed.
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::canPaste):
        (FrameGdk::originalRequestURL):
        (TextField::TextField):
        * platform/network/gdk/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        * webcore-base.bkl:

2006-11-11  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        - Fixed loader crash by clarifying ownership of WebKit client objects. 
        WebCore objects own their WebKit clients, and ref and deref through 
        virtual methods, leaving WebKit free to use whatever client / reference-counting 
        implementation it likes.
        
        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/EditorClient.h: Fixed up function prototypes for style.
        * loader/FrameLoader.cpp: Removed detachFrameLoader, since its real purpose
        was to implement an alternative ownership model.
        (WebCore::FrameLoader::~FrameLoader): Removed empty destructor.
        (WebCore::FrameLoader::setClient): This function now takes ownership
        (WebCore::FrameLoader::client):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * page/ChromeClient.h:
        * platform/AbstractShared.h: Added. This is the virtual function-based refcounting
        complement to Shared.
        (WebCore::AbstractShared::~AbstractShared):

2006-11-11  George Staikos  <staikos@kde.org>

        Reviewed by Maciej.

        Fix uninitialized variable.

        * rendering/RenderStyle.h:

2006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Complete cleanup of the CMakeLists.txt.
        Now all files to be built are sorted in alphabetic order.

        General style cleanup, remove all tabs etc.

        * CMakeLists.txt:

2006-11-11  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        Added missing initializer to ResourceRequest -- fixes some loader crashes
        due to assuming a request always has a non-null httpMethod.

        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):

2006-11-11  Brady Eidson <beidson@apple.com>

        Reviewed by Maciej

        Fixed header guard

        * loader/FrameLoaderClient.h:

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

        - attempt to fix Qt build

        * platform/qt/CursorQt.cpp:
        (WebCore::verticalTextCursor): Added. Just returns pointer cursor.
        (WebCore::cellCursor): Ditto.
        (WebCore::contextMenuCursor): Ditto.

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

        Reviewed by hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=10893
        InsertRule can not handle @import statements

        Allow @import as part of a css rule.

        * css/CSSGrammar.y:
        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::checkLoaded):
        * css/CSSStyleSheet.h:
        (WebCore::CSSStyleSheet::loadCompleted):

2006-11-11  Alexey Proskuryakov  <ap@webkit.org>

        Attempt to fix Qt build.

        * CMakeLists.txt: PathQt.cpp is in graphics/qt now.

2006-11-11  Lars Naesbye Christensen  <lars@naesbye.dk>

        Tortured by Sam Weinig, Tim H., Maciej, Mitz and Alexey :-)

        [CSS 3] support for vertical-text, cell and context-menu cursors
        http://bugs.webkit.org/show_bug.cgi?id=11494

        * Resources/cellCursor.png: Added.
        * Resources/contextMenuCursor.png: Added.
        * Resources/verticalTextCursor.png: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * manual-tests/cursor.html:
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::verticalTextCursor):
        (WebCore::cellCursor):
        (WebCore::contextMenuCursor):
        * rendering/RenderStyle.h:
        (WebCore::):

2006-11-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by aroben and ap, landed by ap.

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

        Group graphics related files in platform/graphics.
        Move certain files from certain subdirectories
        into platform/graphics/{win,mac,cg,gdk,qt}

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/AffineTransform.cpp: Removed.
        * platform/AffineTransform.h: Removed.
        * platform/Color.cpp: Removed.
        * platform/Color.h: Removed.
        * platform/FloatPoint.cpp: Removed.
        * platform/FloatPoint.h: Removed.
        * platform/FloatRect.cpp: Removed.
        * platform/FloatRect.h: Removed.
        * platform/FloatSize.cpp: Removed.
        * platform/FloatSize.h: Removed.
        * platform/Icon.h: Removed.
        * platform/Image.cpp: Removed.
        * platform/Image.h: Removed.
        * platform/ImageSource.h: Removed.
        * platform/IntPoint.h: Removed.
        * platform/IntRect.cpp: Removed.
        * platform/IntRect.h: Removed.
        * platform/IntSize.h: Removed.
        * platform/IntSizeHash.h: Removed.
        * platform/Path.cpp: Removed.
        * platform/Path.h: Removed.
        * platform/Pen.cpp: Removed.
        * platform/Pen.h: Removed.
        * platform/cairo/AffineTransformCairo.cpp: Removed.
        * platform/cairo/GraphicsContextCairo.cpp: Removed.
        * platform/cairo/ImageCairo.cpp: Removed.
        * platform/cairo/ImageSourceCairo.cpp: Removed.
        * platform/cairo/cairo/AUTHORS: Removed.
        * platform/cairo/cairo/COPYING: Removed.
        * platform/cairo/cairo/COPYING-LGPL-2.1: Removed.
        * platform/cairo/cairo/COPYING-MPL-1.1: Removed.
        * platform/cairo/cairo/INSTALL: Removed.
        * platform/cairo/cairo/NEWS: Removed.
        * platform/cairo/cairo/README: Removed.
        * platform/cairo/cairo/TODO: Removed.
        * platform/cairo/cairo/src/Makefile.in: Removed.
        * platform/cairo/cairo/src/cairo-arc-private.h: Removed.
        * platform/cairo/cairo/src/cairo-arc.c: Removed.
        * platform/cairo/cairo/src/cairo-array.c: Removed.
        * platform/cairo/cairo/src/cairo-atsui-font.c: Removed.
        * platform/cairo/cairo/src/cairo-atsui.h: Removed.
        * platform/cairo/cairo/src/cairo-beos-surface.cpp: Removed.
        * platform/cairo/cairo/src/cairo-beos.h: Removed.
        * platform/cairo/cairo/src/cairo-cache-private.h: Removed.
        * platform/cairo/cairo/src/cairo-cache.c: Removed.
        * platform/cairo/cairo/src/cairo-clip-private.h: Removed.
        * platform/cairo/cairo/src/cairo-clip.c: Removed.
        * platform/cairo/cairo/src/cairo-color.c: Removed.
        * platform/cairo/cairo/src/cairo-debug.c: Removed.
        * platform/cairo/cairo/src/cairo-debug.h: Removed.
        * platform/cairo/cairo/src/cairo-directfb-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-directfb.h: Removed.
        * platform/cairo/cairo/src/cairo-features.h: Removed.
        * platform/cairo/cairo/src/cairo-features.h.in: Removed.
        * platform/cairo/cairo/src/cairo-fixed.c: Removed.
        * platform/cairo/cairo/src/cairo-font-options.c: Removed.
        * platform/cairo/cairo/src/cairo-font-subset-private.h: Removed.
        * platform/cairo/cairo/src/cairo-font-subset.c: Removed.
        * platform/cairo/cairo/src/cairo-font.c: Removed.
        * platform/cairo/cairo/src/cairo-ft-font.c: Removed.
        * platform/cairo/cairo/src/cairo-ft-private.h: Removed.
        * platform/cairo/cairo/src/cairo-ft.h: Removed.
        * platform/cairo/cairo/src/cairo-glitz-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-glitz.h: Removed.
        * platform/cairo/cairo/src/cairo-gstate-private.h: Removed.
        * platform/cairo/cairo/src/cairo-gstate.c: Removed.
        * platform/cairo/cairo/src/cairo-hash-private.h: Removed.
        * platform/cairo/cairo/src/cairo-hash.c: Removed.
        * platform/cairo/cairo/src/cairo-hull.c: Removed.
        * platform/cairo/cairo/src/cairo-image-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-matrix.c: Removed.
        * platform/cairo/cairo/src/cairo-meta-surface-private.h: Removed.
        * platform/cairo/cairo/src/cairo-meta-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-output-stream.c: Removed.
        * platform/cairo/cairo/src/cairo-paginated-surface-private.h: Removed.
        * platform/cairo/cairo/src/cairo-paginated-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-path-bounds.c: Removed.
        * platform/cairo/cairo/src/cairo-path-data-private.h: Removed.
        * platform/cairo/cairo/src/cairo-path-data.c: Removed.
        * platform/cairo/cairo/src/cairo-path-fill.c: Removed.
        * platform/cairo/cairo/src/cairo-path-fixed-private.h: Removed.
        * platform/cairo/cairo/src/cairo-path-stroke.c: Removed.
        * platform/cairo/cairo/src/cairo-path.c: Removed.
        * platform/cairo/cairo/src/cairo-pattern.c: Removed.
        * platform/cairo/cairo/src/cairo-pdf-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-pdf.h: Removed.
        * platform/cairo/cairo/src/cairo-pen.c: Removed.
        * platform/cairo/cairo/src/cairo-platform.h: Removed.
        * platform/cairo/cairo/src/cairo-png.c: Removed.
        * platform/cairo/cairo/src/cairo-polygon.c: Removed.
        * platform/cairo/cairo/src/cairo-private.h: Removed.
        * platform/cairo/cairo/src/cairo-ps-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-ps.h: Removed.
        * platform/cairo/cairo/src/cairo-quartz-private.h: Removed.
        * platform/cairo/cairo/src/cairo-quartz-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-quartz.h: Removed.
        * platform/cairo/cairo/src/cairo-quartz2-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-quartz2.h: Removed.
        * platform/cairo/cairo/src/cairo-region.c: Removed.
        * platform/cairo/cairo/src/cairo-scaled-font.c: Removed.
        * platform/cairo/cairo/src/cairo-slope.c: Removed.
        * platform/cairo/cairo/src/cairo-spline.c: Removed.
        * platform/cairo/cairo/src/cairo-stroke-style.c: Removed.
        * platform/cairo/cairo/src/cairo-surface-fallback-private.h: Removed.
        * platform/cairo/cairo/src/cairo-surface-fallback.c: Removed.
        * platform/cairo/cairo/src/cairo-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-svg-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-svg.h: Removed.
        * platform/cairo/cairo/src/cairo-traps.c: Removed.
        * platform/cairo/cairo/src/cairo-unicode.c: Removed.
        * platform/cairo/cairo/src/cairo-wideint.c: Removed.
        * platform/cairo/cairo/src/cairo-wideint.h: Removed.
        * platform/cairo/cairo/src/cairo-win32-font.c: Removed.
        * platform/cairo/cairo/src/cairo-win32-private.h: Removed.
        * platform/cairo/cairo/src/cairo-win32-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-win32.h: Removed.
        * platform/cairo/cairo/src/cairo-xcb-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-xcb-xrender.h: Removed.
        * platform/cairo/cairo/src/cairo-xcb.h: Removed.
        * platform/cairo/cairo/src/cairo-xlib-private.h: Removed.
        * platform/cairo/cairo/src/cairo-xlib-screen.c: Removed.
        * platform/cairo/cairo/src/cairo-xlib-surface.c: Removed.
        * platform/cairo/cairo/src/cairo-xlib-test.h: Removed.
        * platform/cairo/cairo/src/cairo-xlib-xrender.h: Removed.
        * platform/cairo/cairo/src/cairo-xlib.h: Removed.
        * platform/cairo/cairo/src/cairo.c: Removed.
        * platform/cairo/cairo/src/cairo.h: Removed.
        * platform/cairo/cairo/src/cairoint.h: Removed.
        * platform/cairo/cairo/src/test-fallback-surface.c: Removed.
        * platform/cairo/cairo/src/test-fallback-surface.h: Removed.
        * platform/cairo/cairo/src/test-meta-surface.c: Removed.
        * platform/cairo/cairo/src/test-meta-surface.h: Removed.
        * platform/cairo/cairo/src/test-paginated-surface.c: Removed.
        * platform/cairo/cairo/src/test-paginated-surface.h: Removed.
        * platform/cairo/pixman/AUTHORS: Removed.
        * platform/cairo/pixman/COPYING: Removed.
        * platform/cairo/pixman/README: Removed.
        * platform/cairo/pixman/src/Makefile.in: Removed.
        * platform/cairo/pixman/src/fbcompose.c: Removed.
        * platform/cairo/pixman/src/fbedge.c: Removed.
        * platform/cairo/pixman/src/fbedgeimp.h: Removed.
        * platform/cairo/pixman/src/fbmmx.c: Removed.
        * platform/cairo/pixman/src/fbmmx.h: Removed.
        * platform/cairo/pixman/src/fbpict.c: Removed.
        * platform/cairo/pixman/src/fbpict.h: Removed.
        * platform/cairo/pixman/src/fbtrap.c: Removed.
        * platform/cairo/pixman/src/icblt.c: Removed.
        * platform/cairo/pixman/src/icbltone.c: Removed.
        * platform/cairo/pixman/src/iccolor.c: Removed.
        * platform/cairo/pixman/src/icformat.c: Removed.
        * platform/cairo/pixman/src/icimage.c: Removed.
        * platform/cairo/pixman/src/icimage.h: Removed.
        * platform/cairo/pixman/src/icint.h: Removed.
        * platform/cairo/pixman/src/icpixels.c: Removed.
        * platform/cairo/pixman/src/icrect.c: Removed.
        * platform/cairo/pixman/src/icrop.h: Removed.
        * platform/cairo/pixman/src/icstipple.c: Removed.
        * platform/cairo/pixman/src/ictransform.c: Removed.
        * platform/cairo/pixman/src/ictrap.c: Removed.
        * platform/cairo/pixman/src/ictri.c: Removed.
        * platform/cairo/pixman/src/icutil.c: Removed.
        * platform/cairo/pixman/src/pixman-remap.h: Removed.
        * platform/cairo/pixman/src/pixman-xserver-compat.h: Removed.
        * platform/cairo/pixman/src/pixman.h: Removed.
        * platform/cairo/pixman/src/pixregion.c: Removed.
        * platform/cairo/pixman/src/pixregionint.h: Removed.
        * platform/cairo/pixman/src/renderedge.c: Removed.
        * platform/cairo/pixman/src/renderedge.h: Removed.
        * platform/cairo/pixman/src/slim_internal.h: Removed.
        * platform/cairo/rgb24-hacks.txt: Removed.
        * platform/cairo/scale-removal.txt: Removed.
        * platform/cg/AffineTransformCG.cpp: Removed.
        * platform/cg/FloatPointCG.cpp: Removed.
        * platform/cg/FloatRectCG.cpp: Removed.
        * platform/cg/FloatSizeCG.cpp: Removed.
        * platform/cg/GraphicsContextCG.cpp: Removed.
        * platform/cg/GraphicsContextPlatformPrivate.h: Removed.
        * platform/cg/ImageCG.cpp: Removed.
        * platform/cg/ImageSourceCG.cpp: Removed.
        * platform/cg/IntPointCG.cpp: Removed.
        * platform/cg/IntRectCG.cpp: Removed.
        * platform/cg/IntSizeCG.cpp: Removed.
        * platform/cg/PDFDocumentImage.cpp: Removed.
        * platform/cg/PDFDocumentImage.h: Removed.
        * platform/cg/PathCG.cpp: Removed.
        * platform/gdk/ImageGdk.cpp: Removed.
        * platform/mac/ColorMac.mm: Removed.
        * platform/mac/FloatPointMac.mm: Removed.
        * platform/mac/FloatRectMac.mm: Removed.
        * platform/mac/FloatSizeMac.mm: Removed.
        * platform/mac/GraphicsContextMac.mm:
        * platform/mac/IconMac.mm: Removed.
        * platform/mac/ImageMac.mm: Removed.
        * platform/mac/IntPointMac.mm: Removed.
        * platform/mac/IntRectMac.mm: Removed.
        * platform/mac/IntSizeMac.mm: Removed.
        * platform/qt/AffineTransformQt.cpp: Removed.
        * platform/qt/ColorQt.cpp: Removed.
        * platform/qt/FloatPointQt.cpp: Removed.
        * platform/qt/FloatRectQt.cpp: Removed.
        * platform/qt/IconQt.cpp: Removed.
        * platform/qt/ImageQt.cpp: Removed.
        * platform/qt/ImageSourceQt.cpp: Removed.
        * platform/qt/IntPointQt.cpp: Removed.
        * platform/qt/IntRectQt.cpp: Removed.
        * platform/qt/IntSizeQt.cpp: Removed.
        * platform/qt/PathQt.cpp: Removed.
        * platform/win/ImageWin.cpp: Removed.
        * platform/win/IntPointWin.cpp: Removed.
        * platform/win/IntRectWin.cpp: Removed.
        * platform/win/IntSizeWin.cpp: Removed.

2006-11-11  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by hyatt.

        A layout test was added when this bug was fixed, so none needed now.
        
        Cleanup after:
        REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
        http://bugs.webkit.org/show_bug.cgi?id=11570
        
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::isSpace): Removed.
        * rendering/RenderText.cpp:
        (WebCore::isSpace): Added.
        (WebCore::RenderText::calcMinMaxWidth): Use inline function instead of polluting RenderStyle.

2006-11-11  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by mitz.
        
        REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
        http://bugs.webkit.org/show_bug.cgi?id=11570

        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::isSpace): Added.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::calcMinMaxWidth): For the purposes of calculating the line widths, 
        treat non-breaking spaces the same as normal spaces if -webkit-nbsp-mode is 'space'

2006-11-10  Zalan Bujtas <zalan.bujtas@nokia.com>

        Reviewed by Maciej.

        Added basic types for symbian platform.
        http://bugs.webkit.org/show_bug.cgi?id=11540

        * config.h:
        * platform/AtomicString.h:
        (WebCore::AtomicString::AtomicString):
        (WebCore::AtomicString::operator TPtrC):
        * platform/DeprecatedString.cpp:
        (WebCore::initializeHandleNodeBlock):
        * platform/DeprecatedString.h: char _internalBuffer has to be in front of
          the bitfields as Codewarrior (3.2.5 build 461) compiler cannot cope with
          bitfields and breaks byte aligment
        * platform/FloatPoint.h:
        * platform/FloatRect.h:
        * platform/IntPoint.h:
        * platform/IntRect.h:
        * platform/IntSize.h:
        * platform/PlatformString.h:
        (WebCore::String::operator TPtrC):
        (WebCore::String::des):
        * platform/StringImpl.h:
        * platform/symbian/DeprecatedStringSymbian.cpp: Added.
        (WebCore::DeprecatedString::setBufferFromDes):
        (WebCore::DeprecatedString::fromDes):
        (WebCore::DeprecatedString::des):
        (WebCore::DeprecatedString::des8):
        * platform/symbian/FloatPointSymbian.cpp: Added.
        (WebCore::FloatPoint::FloatPoint):
        (WebCore::FloatPoint::operator TPoint):
        * platform/symbian/FloatRectSymbian.cpp: Added.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator TRect):
        (WebCore::FloatRect::rect):
        * platform/symbian/IntPointSymbian.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator TPoint):
        * platform/symbian/IntRectSymbian.cpp: Added.
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator TRect):
        (WebCore::IntRect::Rect):
        * platform/symbian/IntSizeSymbian.cpp: Added.
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator TSize):
        * platform/symbian/StringImplSymbian.cpp: Added.
        (WebCore::StringImpl::StringImpl):
        (WebCore::StringImpl::des):
        * platform/symbian/StringSymbian.cpp: Added.
        (WebCore::String::String):

2006-11-10  Zack Rusin  <zack@kde.org>

        Reviewed by Anders.

        Adjust to the changes Brady made in the Qt code.

        * loader/qt/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
        * loader/qt/FrameLoaderClientQt.h:

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

        Reviewed by harrison
        
        <rdar://problem/4069359>
        Deleting hyperlink text, then typing uses link typing style but loses the link itself
        
        The removed anchor element needs to stick around temporarily, in the same way
        that the typing style hangs off the caret until the user moves it.  Also text
        insertion around anchors didn't match TextEdit.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Added.
        (WebCore::DeleteSelectionCommand::doApply): Call saveFullySelectedAnchor.
        * editing/DeleteSelectionCommand.h:
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): Clear the removed anchor after any top level
        editing command that doesn't preserve the typing style (matches TextEdit).
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Added a fixme: we shouldn't call 
        setSelection with a message telling it to clear the typing style 
        (and the saved anchor) here.  Save/restore the saved anchor because of this.
        * editing/Editor.h:
        (WebCore::Editor::removedAnchor): Getter.
        (WebCore::Editor::setRemovedAnchor): Setter.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::prepareForTextInsertion): Insert the saved anchor
        if one exists.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): Clear the removed anchor whenever
        we make a selection change that clears the typing style.
        (WebCore::SelectionController::nodeWillBeRemoved): Removed an old outdated FIXME.
        * editing/htmlediting.cpp:
        (WebCore::positionAvoidingSpecialElementBoundary): Cleaned up and
        made some changes to match TextEdit's behavior.  First, insert content
        inside the anchor when the caret is after it, unless the caret is at the
        end of the document, or if the caret is before it and at the start of a 
        paragraph.

=== Safari-521.30 ===

2006-11-10  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        Check for BHIDDEN in isVisible() also.

        * rendering/RenderStyle.h:
        (WebCore::BorderValue::isVisible):

2006-11-10  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        <rdar://problem/4821423> element deletion UI appears for Mail blockquote and others with less than three visible borders

        Added a new function to BorderValue called isVisible(). This checks nonZero() and !isTransparent().

        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        * rendering/RenderStyle.h:
        (WebCore::BorderValue::isVisible):

2006-11-10  Adam Roben  <aroben@apple.com>

        Rubberstamped by Anders.

        Back out some accidentally-committed changes from r17711.

        * page/Frame.cpp:
        (WebCore::Frame::command):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:

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

        Reviewed by Geoff.

        Add more commands, make toggleBold and toggleItalic executable commands.

        * WebCore.exp:
        * editing/Editor.cpp:
        (WebCore::execCopy):
        (WebCore::execCut):
        (WebCore::execDelete):
        (WebCore::execForwardDelete):
        (WebCore::execPaste):
        (WebCore::execSelectAll):
        (WebCore::execToggleBold):
        (WebCore::execToggleItalic):
        (WebCore::enabled):
        (WebCore::canPaste):
        (WebCore::hasEditableSelection):
        (WebCore::hasEditableRangeSelection):
        (WebCore::hasRangeSelection):
        (WebCore::hasRichlyEditableSelection):
        (WebCore::CommandEntry::):
        * editing/Editor.h:

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

        Reviewed by Maciej, Geoff.

        Added an execCommand method to Editor. The idea is that this should replace the CommandByName object. Get rid of
        the alterCurrentSelection method in the bridge. WebKit can just call execCommand directly.

        * WebCore.exp:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * editing/Editor.cpp:
        (WebCore::execMoveBackward):
        (WebCore::execMoveBackwardAndModifySelection):
        (WebCore::execMoveDown):
        (WebCore::execMoveDownAndModifySelection):
        (WebCore::execMoveForward):
        (WebCore::execMoveForwardAndModifySelection):
        (WebCore::execMoveLeft):
        (WebCore::execMoveLeftAndModifySelection):
        (WebCore::execMoveRight):
        (WebCore::execMoveRightAndModifySelection):
        (WebCore::execMoveToBeginningOfDocument):
        (WebCore::execMoveToBeginningOfDocumentAndModifySelection):
        (WebCore::execMoveToBeginningOfSentence):
        (WebCore::execMoveToBeginningOfSentenceAndModifySelection):
        (WebCore::execMoveToBeginningOfLine):
        (WebCore::execMoveToBeginningOfLineAndModifySelection):
        (WebCore::execMoveToBeginningOfParagraph):
        (WebCore::execMoveToBeginningOfParagraphAndModifySelection):
        (WebCore::execMoveToEndOfDocument):
        (WebCore::execMoveToEndOfDocumentAndModifySelection):
        (WebCore::execMoveToEndOfSentence):
        (WebCore::execMoveToEndOfSentenceAndModifySelection):
        (WebCore::execMoveToEndOfLine):
        (WebCore::execMoveToEndOfLineAndModifySelection):
        (WebCore::execMoveToEndOfParagraph):
        (WebCore::execMoveToEndOfParagraphAndModifySelection):
        (WebCore::execMoveParagraphBackwardAndModifySelection):
        (WebCore::execMoveParagraphForwardAndModifySelection):
        (WebCore::execMoveUp):
        (WebCore::execMoveUpAndModifySelection):
        (WebCore::execMoveWordBackward):
        (WebCore::execMoveWordBackwardAndModifySelection):
        (WebCore::execMoveWordForward):
        (WebCore::execMoveWordForwardAndModifySelection):
        (WebCore::execMoveWordLeft):
        (WebCore::execMoveWordLeftAndModifySelection):
        (WebCore::execMoveWordRight):
        (WebCore::execMoveWordRightAndModifySelection):
        (WebCore::enabledAnySelection):
        (WebCore::createCommandMap):
        (WebCore::CommandEntry::):
        (WebCore::Editor::execCommand):
        * editing/Editor.h:

2006-11-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin

        Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreIconDatabaseBridge.h: Removed.
        * bridge/mac/WebCoreIconDatabaseBridge.mm: Removed.
        * loader/FrameLoaderClient.h:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::sharedIconDatabase):
        (WebCore::IconDatabase::~IconDatabase):
        * loader/icon/IconDatabase.h:
        (WebCore::IconDatabase::isPrivateBrowsingEnabled):
        (WebCore::IconDatabase::enabled):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::finishLoading):
        * loader/mac/FrameLoaderMac.mm:

2006-11-10  Zack Rusin  <zack@kde.org>

        Reviewed and landed by Anders.

        Adjust platform Qt/KDE code to the recent loader
        changes. 

        * CMakeLists.txt:
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createEmptyDocument):
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/qt/DocumentLoaderQt.cpp: Added.
        (WebCore::canonicalizedTitle):
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::frameLoader):
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::unreachableURL):
        (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
        (WebCore::DocumentLoader::isStopping):
        (WebCore::DocumentLoader::clearErrors):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::setupForReplace):
        (WebCore::DocumentLoader::commitIfReady):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setCommitted):
        (WebCore::DocumentLoader::isCommitted):
        (WebCore::DocumentLoader::setLoading):
        (WebCore::DocumentLoader::isLoading):
        (WebCore::DocumentLoader::doesProgressiveLoad):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::updateLoading):
        (WebCore::DocumentLoader::setFrame):
        (WebCore::DocumentLoader::attachToFrame):
        (WebCore::DocumentLoader::detachFromFrame):
        (WebCore::DocumentLoader::prepareForLoadStart):
        (WebCore::DocumentLoader::loadingStartedTime):
        (WebCore::DocumentLoader::setIsClientRedirect):
        (WebCore::DocumentLoader::isClientRedirect):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        (WebCore::DocumentLoader::isLoadingInAPISense):
        (WebCore::DocumentLoader::stopRecordingResponses):
        (WebCore::DocumentLoader::title):
        (WebCore::DocumentLoader::triggeringAction):
        (WebCore::DocumentLoader::setTriggeringAction):
        (WebCore::DocumentLoader::setOverrideEncoding):
        (WebCore::DocumentLoader::overrideEncoding):
        (WebCore::DocumentLoader::setTitle):
        (WebCore::DocumentLoader::URLForHistory):
        * loader/qt/FrameLoaderClientQt.cpp: Added.
        (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
        (WebCore::FrameLoaderClientQt::~FrameLoaderClientQt):
        (WebCore::FrameLoaderClientQt::detachFrameLoader):
        (WebCore::FrameLoaderClientQt::hasWebView):
        (WebCore::FrameLoaderClientQt::hasFrameView):
        (WebCore::FrameLoaderClientQt::hasBackForwardList):
        (WebCore::FrameLoaderClientQt::resetBackForwardList):
        (WebCore::FrameLoaderClientQt::provisionalItemIsTarget):
        (WebCore::FrameLoaderClientQt::loadProvisionalItemFromPageCache):
        (WebCore::FrameLoaderClientQt::invalidateCurrentItemPageCache):
        (WebCore::FrameLoaderClientQt::privateBrowsingEnabled):
        (WebCore::FrameLoaderClientQt::makeDocumentView):
        (WebCore::FrameLoaderClientQt::makeRepresentation):
        (WebCore::FrameLoaderClientQt::forceLayout):
        (WebCore::FrameLoaderClientQt::forceLayoutForNonHTML):
        (WebCore::FrameLoaderClientQt::updateHistoryForCommit):
        (WebCore::FrameLoaderClientQt::updateHistoryForBackForwardNavigation):
        (WebCore::FrameLoaderClientQt::updateHistoryForReload):
        (WebCore::FrameLoaderClientQt::updateHistoryForStandardLoad):
        (WebCore::FrameLoaderClientQt::updateHistoryForInternalLoad):
        (WebCore::FrameLoaderClientQt::updateHistoryAfterClientRedirect):
        (WebCore::FrameLoaderClientQt::setCopiesOnScroll):
        (WebCore::FrameLoaderClientQt::tokenForLoadErrorReset):
        (WebCore::FrameLoaderClientQt::resetAfterLoadError):
        (WebCore::FrameLoaderClientQt::doNotResetAfterLoadError):
        (WebCore::FrameLoaderClientQt::willCloseDocument):
        (WebCore::FrameLoaderClientQt::detachedFromParent1):
        (WebCore::FrameLoaderClientQt::detachedFromParent2):
        (WebCore::FrameLoaderClientQt::detachedFromParent3):
        (WebCore::FrameLoaderClientQt::detachedFromParent4):
        (WebCore::FrameLoaderClientQt::loadedFromPageCache):
        (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
        (WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
        (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
        (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
        (WebCore::FrameLoaderClientQt::dispatchWillClose):
        (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
        (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
        (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
        (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
        (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
        (WebCore::FrameLoaderClientQt::dispatchShow):
        (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
        (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
        (WebCore::FrameLoaderClientQt::dispatchDidLoadMainResource):
        (WebCore::FrameLoaderClientQt::clearLoadingFromPageCache):
        (WebCore::FrameLoaderClientQt::isLoadingFromPageCache):
        (WebCore::FrameLoaderClientQt::revertToProvisionalState):
        (WebCore::FrameLoaderClientQt::clearUnarchivingState):
        (WebCore::FrameLoaderClientQt::progressStarted):
        (WebCore::FrameLoaderClientQt::progressCompleted):
        (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
        (WebCore::FrameLoaderClientQt::willChangeTitle):
        (WebCore::FrameLoaderClientQt::didChangeTitle):
        (WebCore::FrameLoaderClientQt::finishedLoading):
        (WebCore::FrameLoaderClientQt::finalSetupForReplace):
        (WebCore::FrameLoaderClientQt::setDefersLoading):
        (WebCore::FrameLoaderClientQt::isArchiveLoadPending):
        (WebCore::FrameLoaderClientQt::cancelPendingArchiveLoad):
        (WebCore::FrameLoaderClientQt::clearArchivedResources):
        (WebCore::FrameLoaderClientQt::canShowMIMEType):
        (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
        (WebCore::FrameLoaderClientQt::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoaderClientQt::frameLoadCompleted):
        (WebCore::FrameLoaderClientQt::restoreScrollPositionAndViewState):
        (WebCore::FrameLoaderClientQt::provisionalLoadStarted):
        (WebCore::FrameLoaderClientQt::shouldTreatURLAsSameAsCurrent):
        (WebCore::FrameLoaderClientQt::addHistoryItemForFragmentScroll):
        (WebCore::FrameLoaderClientQt::didFinishLoad):
        (WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
        (WebCore::FrameLoaderClientQt::setTitle):
        (WebCore::FrameLoaderClientQt::userAgent):
        * loader/qt/FrameLoaderClientQt.h: Added.
        * loader/qt/FrameLoaderQt.cpp:
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::overrideMediaType):
        (WebCore::FrameLoader::getHistoryLength):
        (WebCore::FrameLoader::referrer):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::goBackOrForward):
        (WebCore::FrameLoader::historyURL):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::canGoBackOrForward):
        (WebCore::FrameLoader::partClearedInBegin):
        (WebCore::FrameLoader::saveDocumentState):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::didChangeTitle):
        (WebCore::FrameLoader::redirectDataToPlugin):
        (WebCore::PolicyCheck::PolicyCheck):
        (WebCore::PolicyCheck::clear):
        (WebCore::PolicyCheck::set):
        (WebCore::PolicyCheck::call):
        (WebCore::PolicyCheck::clearRequest):
        * loader/qt/NavigationActionQt.cpp: Added.
        (WebCore::navigationType):
        (WebCore::NavigationAction::NavigationAction):
        * loader/qt/ResourceLoaderQt.cpp: Added.
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::setDefersLoading):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::loadsBlocked):
        * platform/MimeTypeRegistry.cpp:
        (WebCore::initialiseSupportedImageMIMETypes):
        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::slotResult):
        (WebCore::ResourceHandleManager::cancel):
        * platform/qt/ChromeClientQt.cpp: Added.
        (WebCore::rootWindowForFrame):
        (WebCore::ChromeClientQt::ChromeClientQt):
        (WebCore::ChromeClientQt::~ChromeClientQt):
        (WebCore::ChromeClientQt::setWindowRect):
        (WebCore::ChromeClientQt::windowRect):
        (WebCore::ChromeClientQt::pageRect):
        (WebCore::ChromeClientQt::scaleFactor):
        (WebCore::ChromeClientQt::focus):
        (WebCore::ChromeClientQt::unfocus):
        (WebCore::ChromeClientQt::createWindow):
        (WebCore::ChromeClientQt::createModalDialog):
        (WebCore::ChromeClientQt::show):
        (WebCore::ChromeClientQt::canRunModal):
        (WebCore::ChromeClientQt::runModal):
        (WebCore::ChromeClientQt::setToolbarsVisible):
        (WebCore::ChromeClientQt::toolbarsVisible):
        (WebCore::ChromeClientQt::setStatusbarVisible):
        (WebCore::ChromeClientQt::statusbarVisible):
        (WebCore::ChromeClientQt::setScrollbarsVisible):
        (WebCore::ChromeClientQt::scrollbarsVisible):
        (WebCore::ChromeClientQt::setMenubarVisible):
        (WebCore::ChromeClientQt::menubarVisible):
        (WebCore::ChromeClientQt::setResizable):
        * platform/qt/ChromeClientQt.h: Added.
        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::shouldBeginEditing):
        (WebCore::EditorClientQt::shouldEndEditing):
        (WebCore::EditorClientQt::shouldApplyStyle):
        (WebCore::EditorClientQt::didBeginEditing):
        (WebCore::EditorClientQt::respondToChangedContents):
        (WebCore::EditorClientQt::didEndEditing):
        * platform/qt/EditorClientQt.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::~FrameQt):
        (WebCore::FrameQt::keyEvent):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::didReceiveData):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/ImageQt.cpp:
        * platform/qt/MimeTypeRegistryQt.cpp: Added.
        (WebCore::getMIMETypeForUTI):
        (WebCore::MimeTypeRegistry::getMIMETypeForExtension):
        * platform/qt/PageQt.cpp:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        * platform/qt/ScreenQt.cpp:
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::TextField::TextField):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):

2006-11-10  Brady Eidson <beidson@apple.com>

        Reviewed by Mitz

        http://bugs.webkit.org/show_bug.cgi?id=11554
        Fix the above bug (in didFinishLoading) and also another potential bug in didFailWithError
        in case the icon load fails after some data has been received. 

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didFailWithError): Clear the buffer so half-an-image isn't commited to the DB
        on error.  Also, as a loader re-factoring sanity check, added an assertion
        (WebCore::IconLoader::didFinishLoading): If an icon loader resulted in an error-response, the icon 
        is already committed to the DB.  Skip doing that step twice.

2006-11-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Brady.

        Pulled MIME type handling out of WebFrameBridge and added
        a general C++ class to store/query MIME info
        Added an Obj-C bridge to provide WebKit with access to the
        MimeTypeRegistry for non-Obj-C++ classes.
        
        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * bridge/mac/WebMimeTypeRegistryBridge.h: Added.
        * bridge/mac/WebMimeTypeRegistryBridge.mm: Added.
        (+[WebMimeTypeRegistryBridge supportsImageWithMIMEType:]):
        (+[WebMimeTypeRegistryBridge supportsNonImageWithMIMEType:]):
        (+[WebMimeTypeRegistryBridge supportedNonImageMIMETypes]):
        (+[WebMimeTypeRegistryBridge supportedImageMIMETypes]):
        (+[WebMimeTypeRegistryBridge supportedImageResourceMIMETypes]):
        * platform/Image.cpp:
        (WebCore::Image::supportsType):
        * platform/Image.h:
        * platform/MimeTypeRegistry.cpp: Added.
        (WebCore::initialiseSupportedImageMIMETypes):
        (WebCore::initialiseSupportedNonImageMimeTypes):
        (WebCore::initialiseMimeTypeRegistry):
        (WebCore::MimeTypeRegistry::isSupportedImageMIMEType):
        (WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType):
        (WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType):
        (WebCore::MimeTypeRegistry::getSupportedImageMIMETypes):
        (WebCore::MimeTypeRegistry::getSupportedImageResourceMIMETypes):
        (WebCore::MimeTypeRegistry::getSupportedNonImageMIMETypes):
        * platform/MimeTypeRegistry.h: Added.
        * platform/mac/ImageMac.mm:
        * platform/mac/MimeTypeRegistryMac.mm: Added.
        (WebCore::getMIMETypeForUTI):
        (WebCore::MimeTypeRegistry::getMIMETypeForExtension):

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

        Reviewed by Oliver.

        - rename String::sprintf and DeprecatedString::sprintf to ...::format to avoid needlessly tweaking a search
        for insecure functions. Neither of these has risk of buffer overruns since they calculate the buffer size
        for you and use vsnprintf.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColorFromValue):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::addCSSColor):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::handleError):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/svg/SVGPathSegArc.h:
        (WebCore::SVGPathSegArcAbs::toString):
        (WebCore::SVGPathSegArcRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        (WebCore::SVGPathSegCurvetoCubicAbs::toString):
        (WebCore::SVGPathSegCurvetoCubicRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
        (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
        (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
        * ksvg2/svg/SVGPathSegLineto.h:
        (WebCore::SVGPathSegLinetoAbs::toString):
        (WebCore::SVGPathSegLinetoRel::toString):
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
        (WebCore::SVGPathSegLinetoHorizontalRel::toString):
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        (WebCore::SVGPathSegLinetoVerticalAbs::toString):
        (WebCore::SVGPathSegLinetoVerticalRel::toString):
        * ksvg2/svg/SVGPathSegMoveto.h:
        (WebCore::SVGPathSegMovetoAbs::toString):
        (WebCore::SVGPathSegMovetoRel::toString):
        * ksvg2/svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::closeRenderer):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::setSynchronous):
        * platform/Color.cpp:
        (WebCore::Color::name):
        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedString::setNum):
        (WebCore::DeprecatedString::format):
        * platform/DeprecatedString.h:
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::format):
        (WebCore::String::number):
        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        * platform/win/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::calcMinMaxWidth):

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

        Reviewed by Anders.

        - fixed "Regression: Can't log into gmail.com"
        - fixed "iBench doesn't report results - tests run but no number is recorded"
        
        * platform/network/cf/FormDataStreamCFNet.cpp:
        (WebCore::setHTTPBody): Removed extra ! character.

2006-11-09  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4805409> REGRESSION: Reproducible crash in 
        WebCore::RenderBlock::skipWhitespace

        Note that this will still crash on Debug builds because it will hit 
        an assertion failure in editing. (One of the reasons there is no 
        layout test along with this fix.) There is definitely some editing 
        wackiness happening. See http://bugs.webkit.org/show_bug.cgi?
        id=10144 for updates on the assertion failure bug.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::childRemoved): It is possible for a 
        prevRootBox and its prevRootBox to share a lineBreakObj. So instead 
        of just clearing the lineBreakObj of the prevRootBox, cycle through 
        all prevRootBoxs with the same lineBreakObj. 

2006-11-09  Adam Roben  <aroben@apple.com>

        Reviewed by Geoff.

        Fix the change in behavior I caused in r17680 with my build fix.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::maxTopMargin):
        (WebCore::RenderObject::maxBottomMargin):

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

        Reviewed by Adam, Oliver.

        Move more functions to Editor.

        * bridge/EditorClient.h:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.h:
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):
        (WebCore::EditCommand::unapply):
        (WebCore::EditCommand::reapply):
        * editing/Editor.cpp:
        (WebCore::Editor::respondToChangedContents):
        (WebCore::dispatchEditableContentChangedEvents):
        (WebCore::Editor::appliedEditing):
        (WebCore::Editor::unappliedEditing):
        (WebCore::Editor::reappliedEditing):
        * editing/Editor.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::typingAddedToOpenCommand):
        * page/Frame.cpp:
        * page/Frame.h:

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

        * rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef.

2006-11-09  Alice Liu  <alice.liu@apple.com>

        Reviewed by Beth Dakin.

        Fixed <rdar://problem/4808720> Hamachi test tool crashes Safari in WebCore::HTMLTableSectionElement::deleteRow
        All existing layout tests pass

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::deleteRow):
        check lastSection before deleting row

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

        - improved version of last night's build fix (should not do using namespace in a header)

        * rendering/RenderObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::maxTopMargin):
        (WebCore::RenderObject::maxBottomMargin):

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

        Reviewed by Geoff.
        
        - added ResourceError class and didFailWithError client method

        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didFailWithError):
        (WebCore::IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::didFailWithError):
        * loader/loader.h:
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * platform/cf/RetainPtr.h:
        (WebCore::):
        (WebCore::adoptCFReference):
        (WebCore::RetainPtr::RetainPtr):
        (WebCore::::adopt):
        * platform/network/ResourceError.cpp: Added.
        * platform/network/ResourceError.h: Added.
        (WebCore::ResourceError::ResourceError):
        (WebCore::ResourceError::domain):
        (WebCore::ResourceError::errorCode):
        (WebCore::ResourceError::failingURL):
        (WebCore::ResourceError::localizedDescription):
        (WebCore::ResourceError::unpackPlatformErrorIfNeeded):
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didFailWithError):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didFail):
        (WebCore::ResourceHandle::cancel):
        * platform/network/mac/ResourceErrorMac.mm: Added.
        (-[NSError WebCore]):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::reportError):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::didFailWithError):
        (WebCore::XMLHttpRequest::didFinishLoading):
        * xml/xmlhttprequest.h:

2006-11-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Maciej.

        Linux\Gdk fixes.

        * platform/gdk/ChromeClientGdk.h:
        (WebCore::ChromeClientGdk::~ChromeClientGdk):
        * platform/gdk/CursorGdk.cpp:
        (WebCore::Cursor::Cursor):
        (WebCore::moveCursor):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::FrameGdk):
        (WebCore::FrameGdk::submitForm):
        (WebCore::FrameGdk::urlSelected):
        * platform/gdk/PageGdk.cpp:
        * platform/gdk/ScreenClientGdk.h: Added.
        (WebCore::ScreenClientGdk::~ScreenClientGdk):
        * platform/gdk/ScreenGdk.cpp:
        (WebCore::ScreenClientGdk::depth):
        (WebCore::ScreenClientGdk::depthPerComponent):
        (WebCore::ScreenClientGdk::isMonochrome):
        (WebCore::ScreenClientGdk::rect):
        (WebCore::ScreenClientGdk::usableRect):
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::historyURL):
        (ChromeClientGdk::windowRect):
        (ChromeClientGdk::setWindowRect):
        (ChromeClientGdk::pageRect):
        (ChromeClientGdk::scaleFactor):
        (ChromeClientGdk::focus):
        (ChromeClientGdk::unfocus):
        (ChromeClientGdk::createWindow):
        (ChromeClientGdk::createModalDialog):
        (ChromeClientGdk::show):
        (ChromeClientGdk::canRunModal):
        (ChromeClientGdk::runModal):
        (ChromeClientGdk::setToolbarsVisible):
        (ChromeClientGdk::toolbarsVisible):
        (ChromeClientGdk::setStatusbarVisible):
        (ChromeClientGdk::statusbarVisible):
        (ChromeClientGdk::setScrollbarsVisible):
        (ChromeClientGdk::scrollbarsVisible):
        (ChromeClientGdk::setMenubarVisible):
        (ChromeClientGdk::menubarVisible):
        (ChromeClientGdk::setResizable):
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::client):
        * platform/network/gdk/ResourceHandleManager.cpp:
        (WebCore::writeCallback):
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::remove):

2006-11-08  Adam Roben  <aroben@apple.com>

        Build fix.

        * rendering/RenderObject.h:
        (WebCore::RenderObject::maxTopMargin):
        (WebCore::RenderObject::maxBottomMargin):

2006-11-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders Carlsson.

        Made Screen a good platform citizen by removing its reference to Page. This
        made a class unnecessary, so all screen fuctions are stand-alone now.

        * bindings/js/kjs_window.cpp: Removed unnecessary subtractions
        when computing the screen's available dimensions.

2006-11-08  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11506
        Cleanup RenderObject

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::operator delete):
        (WebCore::RenderObject::createObject):
        (WebCore::RenderObjectCounter::~RenderObjectCounter):
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::isDescendantOf):
        (WebCore::RenderObject::isRoot):
        (WebCore::RenderObject::addChild):
        (WebCore::RenderObject::removeChildNode):
        (WebCore::RenderObject::removeChild):
        (WebCore::RenderObject::appendChildNode):
        (WebCore::RenderObject::insertChildNode):
        (WebCore::RenderObject::nextInPreOrder):
        (WebCore::RenderObject::nextInPreOrderAfterChildren):
        (WebCore::RenderObject::previousInPreOrder):
        (WebCore::RenderObject::isEditable):
        (WebCore::RenderObject::nextEditable):
        (WebCore::RenderObject::previousEditable):
        (WebCore::RenderObject::firstLeafChild):
        (WebCore::RenderObject::lastLeafChild):
        (WebCore::RenderObject::addLayers):
        (WebCore::RenderObject::removeLayers):
        (WebCore::RenderObject::moveLayers):
        (WebCore::RenderObject::findNextLayer):
        (WebCore::RenderObject::enclosingLayer):
        (WebCore::RenderObject::updateFirstLetter):
        (WebCore::RenderObject::offsetParent):
        (WebCore::RenderObject::scroll):
        (WebCore::RenderObject::hasStaticX):
        (WebCore::RenderObject::setNeedsLayout):
        (WebCore::RenderObject::setChildNeedsLayout):
        (WebCore::RenderObject::markContainingBlocksForLayout):
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::containingBlockWidth):
        (WebCore::RenderObject::containingBlockHeight):
        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
        (WebCore::RenderObject::drawBorderArc):
        (WebCore::RenderObject::drawBorder):
        (WebCore::RenderObject::paintBorderImage):
        (WebCore::RenderObject::paintBorder):
        (WebCore::RenderObject::absoluteRects):
        (WebCore::RenderObject::addPDFURLRect):
        (WebCore::RenderObject::addFocusRingRects):
        (WebCore::RenderObject::paintOutline):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::repaintObjectsBeforeLayout):
        (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
        (WebCore::RenderObject::information):
        (WebCore::RenderObject::dump):
        (WebCore::selectStartNode):
        (WebCore::RenderObject::shouldSelect):
        (WebCore::RenderObject::draggableNode):
        (WebCore::RenderObject::createAnonymousBlock):
        (WebCore::RenderObject::handleDynamicFloatPositionChange):
        (WebCore::RenderObject::setStyle):
        (WebCore::RenderObject::setStyleInternal):
        (WebCore::RenderObject::updateBackgroundImages):
        (WebCore::RenderObject::absolutePosition):
        (WebCore::RenderObject::caretRect):
        (WebCore::RenderObject::paddingTop):
        (WebCore::RenderObject::paddingBottom):
        (WebCore::RenderObject::paddingLeft):
        (WebCore::RenderObject::paddingRight):
        (WebCore::RenderObject::tabWidth):
        (WebCore::RenderObject::container):
        (WebCore::RenderObject::removeFromObjectLists):
        (WebCore::RenderObject::destroy):
        (WebCore::RenderObject::arenaDelete):
        (WebCore::RenderObject::hitTest):
        (WebCore::RenderObject::setInnerNode):
        (WebCore::RenderObject::nodeAtPoint):
        (WebCore::RenderObject::verticalPositionHint):
        (WebCore::RenderObject::getVerticalPosition):
        (WebCore::RenderObject::lineHeight):
        (WebCore::RenderObject::invalidateVerticalPositions):
        (WebCore::RenderObject::recalcMinMaxWidths):
        (WebCore::RenderObject::scheduleRelayout):
        (WebCore::RenderObject::setInlineBoxWrapper):
        (WebCore::RenderObject::firstLineStyle):
        (WebCore::RenderObject::getPseudoStyle):
        (WebCore::RenderObject::getTextDecorationColors):
        (WebCore::RenderObject::addDashboardRegions):
        (WebCore::RenderObject::collectDashboardRegions):
        (WebCore::RenderObject::avoidsFloats):
        (WebCore::RenderObject::findCounter):
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        (WebCore::RenderObject::imageChanged):
        (WebCore::RenderObject::previousOffset):
        (WebCore::RenderObject::nextOffset):
        (WebCore::RenderObject::inlineBox):
        * rendering/RenderObject.h:
        (WebCore::):
        (WebCore::RenderObject::renderName):
        (WebCore::RenderObject::parent):
        (WebCore::RenderObject::previousSibling):
        (WebCore::RenderObject::nextSibling):
        (WebCore::RenderObject::firstChild):
        (WebCore::RenderObject::lastChild):
        (WebCore::RenderObject::getOverflowClipRect):
        (WebCore::RenderObject::getClipRect):
        (WebCore::RenderObject::getBaselineOfFirstLineBox):
        (WebCore::RenderObject::setEdited):
        (WebCore::RenderObject::setStaticX):
        (WebCore::RenderObject::setStaticY):
        (WebCore::RenderObject::setPreviousSibling):
        (WebCore::RenderObject::setNextSibling):
        (WebCore::RenderObject::setParent):
        (WebCore::RenderObject::isInlineBlockOrInlineTable):
        (WebCore::RenderObject::isRenderView):
        (WebCore::RenderObject::childrenInline):
        (WebCore::RenderObject::setChildrenInline):
        (WebCore::RenderObject::isAnonymousBlock):
        (WebCore::RenderObject::isDragging):
        (WebCore::RenderObject::needsLayout):
        (WebCore::RenderObject::setMinMaxKnown):
        (WebCore::RenderObject::setNeedsLayoutAndMinMaxRecalc):
        (WebCore::RenderObject::setPositioned):
        (WebCore::RenderObject::setRelPositioned):
        (WebCore::RenderObject::setFloating):
        (WebCore::RenderObject::setInline):
        (WebCore::RenderObject::setShouldPaintBackgroundOrBorder):
        (WebCore::RenderObject::setReplaced):
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        (WebCore::RenderObject::paintBackgroundExtended):
        (WebCore::RenderObject::calcWidth):
        (WebCore::RenderObject::updateFromElement):
        (WebCore::RenderObject::RepaintInfo::RepaintInfo):
        (WebCore::RenderObject::setOverrideSize):
        (WebCore::RenderObject::setPos):
        (WebCore::RenderObject::setWidth):
        (WebCore::RenderObject::setHeight):
        (WebCore::RenderObject::absolutePositionForContent):
        (WebCore::RenderObject::overflowHeight):
        (WebCore::RenderObject::overflowWidth):
        (WebCore::RenderObject::setOverflowHeight):
        (WebCore::RenderObject::setOverflowWidth):
        (WebCore::RenderObject::overflowLeft):
        (WebCore::RenderObject::overflowTop):
        (WebCore::RenderObject::overflowRect):
        (WebCore::RenderObject::stopAutoscroll):
        (WebCore::RenderObject::collapsedMarginTop):
        (WebCore::RenderObject::collapsedMarginBottom):
        (WebCore::RenderObject::maxTopMargin):
        (WebCore::RenderObject::maxBottomMargin):
        (WebCore::RenderObject::):
        (WebCore::RenderObject::setTable):
        (WebCore::RenderObject::isFloatingOrPositioned):
        (WebCore::RenderObject::containsFloat):
        (WebCore::RenderObject::setSelectionState):
        (WebCore::RenderObject::SelectionInfo::SelectionInfo):
        (WebCore::RenderObject::lowestPosition):
        (WebCore::RenderObject::rightmostPosition):
        (WebCore::RenderObject::leftmostPosition):
        (WebCore::RenderObject::calcVerticalMargins):
        (WebCore::RenderObject::font):

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

        Reviewed by Anders.

        - added event parameters to focus-related functions so we can
          implement the "option-tab to all links" behavior without relying
          on a global "current event" -- also makes it work with DOM events

        * page/Frame.h: Removed unneeded includes. Moved some functions
        that were misplaced into the appropriate sections.
        * page/Frame.cpp:
        (WebCore::Frame::doTextFieldCommandFromEvent): Changed parameter from
        PlatformKeyboardEvent to the DOM keyboard event class.
        (WebCore::Frame::tabsToLinks): Added event parameter.
        (WebCore::Frame::tabsToAllControls): Ditto.
        (WebCore::scanForForm): Fixed code that incorrectly assumes
        that an iframe is an HTMLFrameElement (no longer true since Geoff
        changed the class hierarchy a bit).
        (WebCore::Frame::hitTestResultAtPoint): Ditto.

        * bridge/mac/FrameMac.h: Removed unneeded includes. Moved some functions
        that were misplaced into the appropriate sections.
        * bridge/mac/FrameMac.mm:
        (WebCore::selectorForKeyEvent): Changed to use a DOM event instead of
        a PlatformKeyboardEvent.
        (WebCore::FrameMac::nextKeyViewInFrame): Changed to use currentKeyboardEvent()
        and pass event into next/previousFocusNode.
        (WebCore::FrameMac::currentKeyboardEvent): Added. Creates a DOM event from
        the AppKit current event, if it's a keyboard event. Really just a hack that's
        needed to preserve some code we can remove once we deal with the last NSView-
        based form control.
        (WebCore::isKeyboardOptionTab): Added.
        (WebCore::FrameMac::tabsToLinks): Added event parameter, used to check if the
        option (alt) key is down.
        (WebCore::FrameMac::tabsToAllControls): Ditto.
        (WebCore::FrameMac::keyEvent): Changed call to prepareForUserAction() to just
        call resetMultipleFormSubmissionProtection() explicitly instead.
        (WebCore::FrameMac::mouseDown): Ditto.

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityDescription]): Fixed code that incorrectly
        assumes that an iframe is an HTMLFrameElement (no longer true since Geoff
        changed the class hierarchy a bit).
        (-[WebCoreAXObject accessibilityPerformAction:]): Changed call to
        prepareForUserAction() to call resetMultipleFormSubmissionProtection()
        explicitly instead.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::advanceFocus): Changed function to take an
        event parameter, and decide the direction based on the shift key
        modifier instead of a passed-in boolean.

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::nextFocusNode): Added event parameter.
        (WebCore::Document::previousFocusNode): Ditto.
        * dom/Node.h:
        * dom/Node.cpp:
        (WebCore::Node::isKeyboardFocusable): Ditto.
        * html/HTMLAnchorElement.h:
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::isKeyboardFocusable): Ditto.
        * html/HTMLGenericFormElement.h:
        * html/HTMLGenericFormElement.cpp:
        (WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto.
        * html/HTMLInputElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
        * html/HTMLSelectElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::isKeyboardFocusable): Ditto.
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Ditto.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::defaultEventHandler): Pass event to the
        advanceFocus function.

        * platform/TextField.h:
        * platform/mac/TextFieldMac.mm: Removed the non-search field code.

        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextField.mm: Removed the non-search field code.
        (-[WebCoreTextFieldController controlTextDidChange:]): Removed the
        call to FrameMac::handleKeyboardOptionTabInView, which is no longer
        needed since the default handler in HTMLInputElement takes care of
        option-tab.

        * platform/mac/SliderMac.mm:
        (-[WebCoreSlider canBecomeKeyView]): Changed to use currentKeyboardEvent()
        and pass event into tabsToAllControls.
        (Slider::focusPolicy): Ditto.

        * rendering/RenderLineEdit.cpp:
        (WebCore::RenderLineEdit::RenderLineEdit): Removed the non-search field code.
        (WebCore::RenderLineEdit::updateFromElement): Ditto.

2006-11-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Dave Harrison, Oliver, and Darin 
        (oh my!  where was superkevin on this one?)

        <rdar://problem/4816196> "Xcode Help" crashes in WebCore::DocumentLoader::setPrimaryLoadComplete(bool)

        More "free nil checking" we lost in the transition from ObjC to C++

        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::startLoading): Null check m_provisionalDocumentLoader and bail early.
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto

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

        Reviewed by Adam.

        Move more code into editor.
        
        * WebCore.exp:
        * bridge/EditorClient.h:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.h:
        * dom/Document.cpp:
        (WebCore::Document::relinquishesEditingFocus):
        (WebCore::Document::acceptsEditingFocus):
        (WebCore::Document::didBeginEditing):
        (WebCore::Document::didEndEditing):
        * editing/Editor.cpp:
        (WebCore::Editor::indent):
        (WebCore::Editor::outdent):
        * editing/Editor.h:
        * page/Frame.cpp:
        * page/Frame.h:

2006-11-08  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Add ability to HitTestResult to ask if the inner non-shared node is 
        content editable.

        * WebCore.exp: Export HitTestResult::isContentEditable()
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::isContentEditable):
        * rendering/HitTestResult.h:

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

        Build fix.
        
        * WebCore.xcodeproj/project.pbxproj:
        Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase.

2006-11-08  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4713280> Would like to get an array of bounding rects rather than just the union of them for a DOMRange
        <rdar://problem/4804317> Would like SPI to get bounding box for a DOM range without having to change the selection

        Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.

        * bindings/objc/DOM.mm:
        (WebCore::kit):
        (-[DOMNode lineBoxRects]):
        (-[DOMRange boundingBox]):
        (-[DOMRange lineBoxRects]):
        * bindings/objc/DOMPrivate.h:
        * dom/Range.cpp:
        (WebCore::Range::boundingBox):
        (WebCore::Range::addLineBoxRects):
        * dom/Range.h:
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::addLineBoxRects):
        * rendering/RenderContainer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addLineBoxRects):
        * rendering/RenderObject.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::addLineBoxRects):
        * rendering/RenderText.h:

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

        Reviewed by Oliver.
        
        Move methods from the bridge and frame into editor.
        
        * WebCore.exp:
        * bridge/EditorClient.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle):
        (WebCore::Editor::applyStyle):
        (WebCore::Editor::applyParagraphStyle):
        (WebCore::Editor::applyStyleToSelection):
        (WebCore::Editor::applyParagraphStyleToSelection):
        (WebCore::Editor::toggleBold):
        (WebCore::Editor::toggleItalic):
        (WebCore::Editor::selectionStartHasStyle):
        * editing/Editor.h:
        * editing/JSEditor.cpp:
        * page/Frame.cpp:
        * page/Frame.h:

2006-11-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth.
        
        Fixed regression in fast/events/objc-event-api. DumpRenderTree expects to
        be able to dispatch user events even when off-screen, so we have to support
        off-screen windows when handling mouse events.

        * platform/Screen.h:
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::globalPoint): Grab the best screen instead of the screen you're
        on, since you might be off-screen.
        * platform/mac/ScreenMac.mm:
        (WebCore::screenForWindow):

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

        - fix bug caused by last-minute change to my check-in last night
          that is causing layout tests to hang

        * dom/Document.cpp: (WebCore::Document::completeURL): Added comments.
        * loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm): Turn
        a null string into an empty string before calling completeURL.

2006-11-08  Brady Eidson <beidson@apple.com>

        Reviewed by Maciej

        If the request has already been aborted, bail out of didFinishLoading()
        immediately.  This prevents state change notifications that aren't
        needed.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

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

        - another attempt to fix Qt build

        * loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h.

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

        Reviewed by Geoff.

        - stray bits of my FrameLoader patch that I left out by accident

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
        inside the FrameLoader class.
        (WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
        (WebCore::FrameLoader::clear): Stop the redirection timer.
        (WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
        entire function in an if statement. Use less DeprecatedString.
        (WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
        (WebCore::FrameLoader::scheduleRefresh): Ditto.
        (WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
        inside the FrameLoader class.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load): Ditto.
        (WebCore::FrameLoader::loadResourceSynchronously): Ditto.

2006-11-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Another go at fix for <rdar://problem/4820814> A crash occurs at 
        WebCore::HitTestResult::spellingToolTip() when mousing down on 
        iframe at www.macsurfer.com

        The fix from yesterday caused a layout test regression which 
        exposed an existing bug. The existing bug was that we allowed text 
        nodes to stay in the head tag, but other browsers move them to the 
        body. The previous fix also caused a performance regression, which 
        was seemingly easy to fix by moving the new clause in 
        HTMLParser::handleError() to be below the HTMLElement case.

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::childAllowed): Don't allow comment nodes to 
        be the child of the document.
        * html/HTMLHeadElement.cpp:
        (WebCore::HTMLHeadElement::childAllowed): Do not allow non-
        whitespace text nodes to be children of the head.
        * html/HTMLHeadElement.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): Error case for comment nodes.
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent): Safety-net null check 
        for the original crash. 

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

        - another attempt to fix Qt build

        * loader/icon/IconLoader.h: Added missing include.

2006-11-06  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Tim Hatcher.
        
        Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
        
        None of Screen's responsibilities require up-calls to WebKit or delegates, 
        so WebCore can handle it all.
        
        Moved Screen back from page/ to platform/ because it's a platform
        abstraction again.

        Merged scaling and flipping functions into 'toUserSpace' and 'toDeviceSpace',
        since the two were always used together.
        
        Changed pixel depth queries to query the deepest screen. Darin mentioned
        that it might have been a feature, not a bug, to use the main/menubar screen
        regardless of the screen you were on. For scaling and flipping that's not
        the case, but for querying pixel depth I think it is. You want to know
        about the highest pixel depth your content may display on.
        
        Tests still pass.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        * page/Screen.cpp: Removed.
        * page/Screen.h: Removed.
        * page/ScreenClient.h: Removed.
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::globalPoint):
        * platform/mac/ScreenMac.mm:
        (WebCore::window):
        (WebCore::bestScreen):
        (WebCore::Screen::depth):
        (WebCore::Screen::depthPerComponent):
        (WebCore::Screen::isMonochrome):
        (WebCore::Screen::rect):
        (WebCore::Screen::usableRect):
        (WebCore::toUserSpace):
        (WebCore::toDeviceSpace):

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

        - try to fix Qt build

        * CMakeLists.txt: Updated for some file changes.
        * WebCoreSources.bkl: Ditto.

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

        Reviewed by Geoff.

        - moved loader code from Frame/FrameMac to FrameLoader

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSXSLTProcessor.h:
        * bindings/js/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty):
        * bindings/js/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded):
        * bindings/js/kjs_window.cpp:
        (KJS::Screen::Screen):
        (KJS::createNewWindow):
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        (KJS::Window::isSafeScript):
        (KJS::WindowFunc::callAsFunction):
        (KJS::ScheduledAction::execute):
        (KJS::Location::getValueProperty):
        (KJS::Location::put):
        (KJS::Location::toString):
        (KJS::LocationFunc::callAsFunction):
        (KJS::History::getValueProperty):
        (KJS::HistoryFunc::callAsFunction):
        * bindings/objc/DOM.mm:
        (+[DOMNode _nodeWith:WebCore::]):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::~FrameMac):
        (WebCore::FrameMac::setView):
        (WebCore::FrameMac::setStatusBarText):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge close]):
        (-[WebCoreFrameBridge addData:]):
        (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
        (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
        (-[WebCoreFrameBridge baseURL]):
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
        (-[WebCoreFrameBridge canProvideDocumentSource]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseContent):
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createHTMLDocument):
        * dom/DOMImplementation.h:
        * dom/Document.cpp:
        (WebCore::Document::readyState):
        (WebCore::Document::updateTitle):
        (WebCore::Document::open):
        (WebCore::Document::close):
        (WebCore::Document::implicitClose):
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::referrer):
        (WebCore::Document::finishedParsing):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::endElementNs):
        (WebCore::ignorableWhitespaceHandler):
        (WebCore::XMLTokenizer::notifyFinished):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::rangeFromLocationAndLength):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        * html/HTMLBaseElement.cpp:
        (WebCore::HTMLBaseElement::process):
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::lastModified):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isURLAllowed):
        (WebCore::HTMLFrameElementBase::openURL):
        (WebCore::HTMLFrameElementBase::willRemove):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueFromRenderer):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        * html/HTMLPreElement.idl:
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        (WebCore::HTMLScriptElement::insertedIntoDocument):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::write):
        (WebCore::HTMLTokenizer::stopParsing):
        (WebCore::HTMLTokenizer::timerFired):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::prepareFilter):
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::setLoadInProgress):
        * loader/FrameLoader.cpp:
        (WebCore::FormSubmission::FormSubmission):
        (WebCore::ScheduledRedirection::):
        (WebCore::ScheduledRedirection::ScheduledRedirection):
        (WebCore::cancelAll):
        (WebCore::getString):
        (WebCore::isBackForwardLoadType):
        (WebCore::numRequests):
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::createWindow):
        (WebCore::FrameLoader::changeLocation):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::requestFrame):
        (WebCore::FrameLoader::loadSubframe):
        (WebCore::FrameLoader::submitFormAgain):
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::stop):
        (WebCore::FrameLoader::closeURL):
        (WebCore::FrameLoader::cancelRedirection):
        (WebCore::FrameLoader::iconURL):
        (WebCore::FrameLoader::didOpenURL):
        (WebCore::FrameLoader::didExplicitOpen):
        (WebCore::FrameLoader::replaceContentsWithScriptResult):
        (WebCore::FrameLoader::executeScript):
        (WebCore::FrameLoader::cancelAndClear):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::responseMIMEType):
        (WebCore::FrameLoader::setResponseMIMEType):
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::write):
        (WebCore::FrameLoader::end):
        (WebCore::FrameLoader::endIfNotLoading):
        (WebCore::FrameLoader::startIconLoader):
        (WebCore::FrameLoader::commitIconURLToIconDatabase):
        (WebCore::FrameLoader::gotoAnchor):
        (WebCore::FrameLoader::finishedParsing):
        (WebCore::FrameLoader::loadDone):
        (WebCore::FrameLoader::checkCompleted):
        (WebCore::FrameLoader::checkEmitLoadEvent):
        (WebCore::FrameLoader::baseURL):
        (WebCore::FrameLoader::baseTarget):
        (WebCore::FrameLoader::completeURL):
        (WebCore::FrameLoader::scheduleRedirection):
        (WebCore::FrameLoader::scheduleLocationChange):
        (WebCore::FrameLoader::scheduleRefresh):
        (WebCore::FrameLoader::isScheduledLocationChangePending):
        (WebCore::FrameLoader::scheduleHistoryNavigation):
        (WebCore::FrameLoader::redirectionTimerFired):
        (WebCore::FrameLoader::encoding):
        (WebCore::FrameLoader::requestObject):
        (WebCore::FrameLoader::shouldUsePlugin):
        (WebCore::FrameLoader::loadPlugin):
        (WebCore::FrameLoader::clearRecordedFormValues):
        (WebCore::FrameLoader::recordFormValue):
        (WebCore::FrameLoader::parentCompleted):
        (WebCore::FrameLoader::outgoingReferrer):
        (WebCore::FrameLoader::lastModified):
        (WebCore::FrameLoader::opener):
        (WebCore::FrameLoader::setOpener):
        (WebCore::FrameLoader::openedByJavaScript):
        (WebCore::FrameLoader::setOpenedByJavaScript):
        (WebCore::FrameLoader::handleFallbackContent):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::userGestureHint):
        (WebCore::FrameLoader::didNotOpenURL):
        (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
        (WebCore::FrameLoader::setEncoding):
        (WebCore::FrameLoader::addData):
        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::updatePolicyBaseURL):
        (WebCore::FrameLoader::setPolicyBaseURL):
        (WebCore::FrameLoader::scrollToAnchor):
        (WebCore::FrameLoader::isComplete):
        (WebCore::FrameLoader::isLoadingMainResource):
        (WebCore::FrameLoader::url):
        (WebCore::FrameLoader::startRedirectionTimer):
        (WebCore::FrameLoader::stopRedirectionTimer):
        (WebCore::FrameLoader::updateBaseURLForEmptyDocument):
        (WebCore::FrameLoader::completed):
        (WebCore::FrameLoader::started):
        (WebCore::FrameLoader::containsPlugins):
        (WebCore::FrameLoader::prepareForLoadStart):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::setupForReplaceByMIMEType):
        (WebCore::FrameLoader::finalSetupForReplace):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::canTarget):
        (WebCore::FrameLoader::stopLoadingPlugIns):
        (WebCore::FrameLoader::stopLoadingSubresources):
        (WebCore::FrameLoader::stopLoadingSubframes):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::cancelMainResourceLoad):
        (WebCore::FrameLoader::cancelPendingArchiveLoad):
        (WebCore::FrameLoader::activeDocumentLoader):
        (WebCore::FrameLoader::addPlugInStreamLoader):
        (WebCore::FrameLoader::removePlugInStreamLoader):
        (WebCore::FrameLoader::hasMainResourceLoader):
        (WebCore::FrameLoader::isLoadingSubresources):
        (WebCore::FrameLoader::isLoadingPlugIns):
        (WebCore::FrameLoader::isLoading):
        (WebCore::FrameLoader::addSubresourceLoader):
        (WebCore::FrameLoader::removeSubresourceLoader):
        (WebCore::FrameLoader::releaseMainResourceLoader):
        (WebCore::FrameLoader::setDocumentLoader):
        (WebCore::FrameLoader::documentLoader):
        (WebCore::FrameLoader::setPolicyDocumentLoader):
        (WebCore::FrameLoader::provisionalDocumentLoader):
        (WebCore::FrameLoader::setProvisionalDocumentLoader):
        (WebCore::FrameLoader::state):
        (WebCore::FrameLoader::timeOfLastCompletedLoad):
        (WebCore::FrameLoader::setState):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::markLoadComplete):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::privateBrowsingEnabled):
        (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
        (WebCore::FrameLoader::clientRedirected):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::closeOldDataSources):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::isStopping):
        (WebCore::FrameLoader::finishedLoading):
        (WebCore::FrameLoader::URL):
        (WebCore::FrameLoader::isArchiveLoadPending):
        (WebCore::FrameLoader::isHostedByObjectElement):
        (WebCore::FrameLoader::isLoadingMainFrame):
        (WebCore::FrameLoader::canShowMIMEType):
        (WebCore::FrameLoader::representationExistsForURLScheme):
        (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoader::cancelContentPolicyCheck):
        (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::isReplacing):
        (WebCore::FrameLoader::setReplacing):
        (WebCore::FrameLoader::revertToProvisional):
        (WebCore::FrameLoader::subframeIsLoading):
        (WebCore::FrameLoader::willChangeTitle):
        (WebCore::FrameLoader::loadType):
        (WebCore::FrameLoader::stopPolicyCheck):
        (WebCore::FrameLoader::continueAfterContentPolicy):
        (WebCore::FrameLoader::continueAfterWillSubmitForm):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::frameLoadCompleted):
        (WebCore::FrameLoader::firstLayoutDone):
        (WebCore::FrameLoader::isQuickRedirectComing):
        (WebCore::FrameLoader::closeDocument):
        (WebCore::FrameLoader::detachChildren):
        (WebCore::FrameLoader::checkLoadComplete):
        (WebCore::FrameLoader::numPendingOrLoadingRequests):
        (WebCore::FrameLoader::setClient):
        (WebCore::FrameLoader::client):
        (WebCore::FrameLoader::userAgent):
        (WebCore::FrameLoader::createEmptyDocument):
        (WebCore::FrameLoader::tokenizerProcessedData):
        (WebCore::FrameLoader::didTellBridgeAboutLoad):
        (WebCore::FrameLoader::haveToldBridgeAboutLoad):
        (WebCore::FrameLoader::handledOnloadEvents):
        (WebCore::FrameLoader::frameDetached):
        (WebCore::FrameLoader::setTitle):
        (WebCore::FrameLoaderClient::~FrameLoaderClient):
        * loader/FrameLoader.h:
        (WebCore::):
        * loader/FrameLoaderClient.h:
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::createDocumentStructure):
        (WebCore::PluginTokenizer::writeRawData):
        * loader/ResourceLoader.h:
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading):
        (WebCore::IconLoader::finishLoading):
        * loader/loader.cpp:
        (WebCore::Loader::didReceiveResponse):
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::cancelMainResourceLoad):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::loadResourceSynchronously):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::objectContentType):
        (WebCore::nsArray):
        (WebCore::FrameLoader::createPlugin):
        (WebCore::FrameLoader::redirectDataToPlugin):
        (WebCore::FrameLoader::createJavaAppletWidget):
        (WebCore::FrameLoader::partClearedInBegin):
        (WebCore::FrameLoader::saveDocumentState):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::overrideMediaType):
        (WebCore::FrameLoader::mainResourceData):
        (WebCore::FrameLoader::canGoBackOrForward):
        (WebCore::FrameLoader::originalRequestURL):
        (WebCore::FrameLoader::getHistoryLength):
        (WebCore::FrameLoader::goBackOrForward):
        (WebCore::FrameLoader::historyURL):
        (WebCore::FrameLoader::didFinishLoad):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        (WebCore::CheckCacheObjectStatus):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::cancel):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::create):
        * loader/qt/FrameLoaderQt.cpp: Added.
        (WebCore::FrameLoader::submitForm):
        (WebCore::FrameLoader::urlSelected):
        (WebCore::FrameLoader::setTitle):
        (WebCore::FrameLoader::createFrame):
        (WebCore::FrameLoader::objectContentType):
        (WebCore::FrameLoader::createPlugin):
        (WebCore::FrameLoader::createJavaAppletWidget):
        (WebCore::FrameLoader::originalRequestURL):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::document):
        * page/Frame.cpp:
        (WebCore::Frame::~Frame):
        (WebCore::Frame::reparseConfiguration):
        (WebCore::Frame::shouldDragAutoNode):
        (WebCore::Frame::prepareForUserAction):
        (WebCore::FramePrivate::FramePrivate):
        (WebCore::FramePrivate::~FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::mediaType):
        * page/FrameView.h:
        * page/PageState.cpp:
        (WebCore::PageState::PageState):
        (WebCore::PageState::restoreJavaScriptState):
        * platform/mac/CookieJar.mm:
        (WebCore::setCookies):
        * platform/mac/TextCodecMac.cpp:
        * platform/mac/WebFontCache.mm:
        (+[WebFontCache fontWithFamily:traits:size:]):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::start):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQt.h:
        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/RenderBlock.h:
        * rendering/RenderPartObject.cpp:
        (WebCore::isURLAllowed):
        (WebCore::RenderPartObject::updateWidget):
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::getResponseXML):

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

        Reviewed by Geoff.

        Get rid of some duplicate editing enums. Also rename EAlter to EAlteration.
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::registerCommandForUndoOrRedo):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:SelectionController::verticalDistance:]):
        (-[WebCoreFrameBridge selectionGranularity]):
        (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
        (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
        (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
        (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
        (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setModifyBias):
        (WebCore::SelectionController::modify):
        * editing/SelectionController.h:
        (WebCore::SelectionController::):
        * editing/TextGranularity.h:

2006-11-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Changed the check for "top level frame" to something much more valid

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading):

2006-11-07  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt (yesterday).

        Here is part of my patch from yesterday that is safe to roll back 
        in. It will make the BuildBot happy.

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip): Null-check 
        m_innerNonSharedNode.

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

        * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse):
        Comment grammar fix.

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

        Rolled out change for <rdar://problem/4820814>.

        Beth's planning on landing a new change for it soon, but in the mean time
        we need layout tests succeeding again.

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

        Reviewed by Brady.

        - fix <rdar://problem/4752069> 9A274: World of Warcraft Launcher
          crashes on launch in WebCore::ResourceLoader::start

        No layout test, because this depends on cached icons, although there's
        perhaps a way to write a test for it with some further ingenuity.

        * loader/icon/IconLoader.h: Make IconLoader inherit from Noncopyable
        to make explicit the fact that it can't be successfully copied.
        Remove notifyIconChanged function and put the contents in the caller.
        This eliminates the need for IconLoaderMac.mm. Added finishedLoading
        and clearLoadingState functions to share code. Removed m_url, since the
        resource handle already stores the URL. Renamed m_resourceLoader to
        m_handle to reflect the class's name change. Removed the 4096-byte
        inline buffer from m_data, since the malloc savings is not sufficient
        to offset the additional memory use. Removed m_httpStatusCode because
        we can instead cancel the load when we get a status code that reflects
        failure. Added m_loadIsInProgress boolean because we need to detect
        loads that complete during the ResourceHandle::create function call.

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::IconLoader): Initialize m_loadIsInProgress.
        Don't initialize m_httpStatusCode.
        (WebCore::IconLoader::~IconLoader): Updated for name change.
        (WebCore::IconLoader::startLoading): Added code to use the
        m_loadIsInProgress flag to detect if the load completed while inside
        the ResourceHandle::create function. Removed code to set m_url.
        (WebCore::IconLoader::stopLoading): Call clearLoadingState to share
        more code.
        (WebCore::IconLoader::didReceiveResponse): Kill the ResourceHandle
        and finish loading if the HTTP status code indicates failure.
        (WebCore::IconLoader::didReceiveData): Removed assertion that checks
        the ResourceHandle, since we can't do that any more.
        (WebCore::IconLoader::didFinishLoading): Changed to call finishLoading
        so we can share code with the new didReceiveResponse code path.
        (WebCore::IconLoader::finishLoading): Moved code here from the
        didFinishLoading callback. Pass a URL when calling
        commitIconURLToIconDatabase. Call notifyIconChanged directly here
        instead of using a separate function. Call clearLoadingState to
        share more code with stopLoading.
        (WebCore::IconLoader::clearLoadingState): Added.

        * loader/mac/IconLoaderMac.mm: Removed.
        * WebCore.xcodeproj/project.pbxproj: Removed IconLoaderMac.mm.

2006-11-06  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4714993> REGRESSION: After replacing a misspelled word in a sentence, the selected word wraps down to next line (10428)

        * editing/pasteboard/3976872-expected.txt:
        * editing/pasteboard/4076267-2-expected.txt:
        * editing/pasteboard/4076267-3-expected.txt:
        * editing/pasteboard/4076267-expected.txt:
        * editing/pasteboard/8145-1-expected.txt:
        * editing/pasteboard/paste-empty-startcontainer-expected.txt: Removed.
        * editing/pasteboard/paste-match-style-001-expected.txt:
        * editing/pasteboard/paste-match-style-002-expected.txt:
        * editing/pasteboard/paste-text-019-expected.txt:
        * editing/pasteboard/pasting-tabs-expected.txt:
        Updated because pasting text with no newlines does not use intermediate div.
        
        * editing/markup.cpp:
        (WebCore::fillContainerFromString):
        First parameter is now a Container so a fragment can be passed.
        
        (WebCore::createFragmentFromText):
        A string with no newlines gets added inline, rather than being put into a paragraph.

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

        Reviewed by Hyatt.

        Fix for <rdar://problem/4820814> A crash occurs at 
        WebCore::HitTestResult::spellingToolTip() when mousing down on 
        iframe at www.macsurfer.com

        The bug here is that the source of the iframe is only a comment, 
        and we were not properly constructing the frame because it was 
        sort-of empty but not.

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::childAllowed): newChild is NOT allowed if 
        it is a comment node.
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): if n is a comment node and 
        there is no head, we create a head, insert in the document, and add 
        the comment node as a child. This is what Firefox does too. 
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent): Safe-guard for the 
        fix. It is possible to get a mouse event without a target node, so 
        we null check it. (Of course, in the case of this bug, it should 
        not have been null, but it is a good thing to check for anyway.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip): Null-check 
        m_innerNonSharedNode.

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

        Reviewed by harrison
        
        <rdar://problem/4641880>
        Setting bullets to existing text grabs subsequent paragraph
        
        When a selection ends at the start of a paragraph, we rarely paint 
        the selection gap before that paragraph, because there often is no gap.  
        In a case like this, it's not obvious to the user that the selection 
        ends "inside" that paragraph, so it would be confusing if 
        InsertUn{Ordered}List and Indent/Outdent operated on that paragraph.
        
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply): Moved the check for editability of
        the selection to a more appropriate place.  Change the endingSelection
        if it ends at the start of a paragraph.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::doApply): Ditto.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): Ditto.

2006-11-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Sarge

        <rdar://problem/4822911> - ASSERTION was a little overzealous.  
        Toned it down a bit.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):  Toned down assertion

2006-11-06  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Maciej.

        Linux\Gdk build fixes.

        * loader/icon/IconDatabase.cpp:
        * loader/icon/SQLStatement.h:
        * platform/gdk/ChromeClientGdk.h: Added.
        (WebCore::ChromeClientGdk::~ChromeClientGdk):
        * platform/gdk/CursorGdk.cpp:
        (WebCore::pointerCursor):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::doScroll):
        (WebCore::FrameGdk::FrameGdk):
        (WebCore::FrameGdk::submitForm):
        (WebCore::FrameGdk::urlSelected):
        (WebCore::FrameGdk::openURL):
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/FrameGdk.h:
        (WebCore::FrameGdk::client):
        * platform/gdk/RenderPopupMenuGdk.cpp:
        (WebCore::PopupMenu::updateFromElement):
        * platform/gdk/ScreenGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (Slider::focusPolicy):
        (WebCore::ServeSynchronousRequest):
        (FrameGdk::goBackOrForward):
        (FrameGdk::getHistoryLength):
        (FrameGdk::historyURL):
        (ChromeClientGdk::canRunModal):
        (ChromeClientGdk::runModal):
        (WebCore::systemBeep):
        (WebCore::CachedResource::setPlatformResponse):
        (Path::transform):
        (ResourceLoader::loadsBlocked):
        (IconLoader::notifyIconChanged):
        * platform/network/gdk/ResourceHandleManager.cpp:
        (WebCore::writeCallback):
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::add):

2006-11-06  Geoffrey Garen  <ggaren@apple.com>

        build fix.
        
        * WebCore.xcodeproj/project.pbxproj:

2006-11-06  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej, Anders, Darin.

        Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
        Fixed a minor where WebCore would always assume it was displayed on the 
        monitor containing the menubar. window.open and window.showModalDialog 
        are now cross-platform. 
        
        Layout tests, manual-tests/show-modal-dialog, and manual-tests/
        window-open-features-parsing all pass. I verified the new screen functionality
        by running in DRT, and checking whether WebCore knew it was off-screen.
        
        Some refactoring remains, as all were not pleased by this design. I see
        in my future another patch.

        * bindings/js/kjs_window.cpp: Screen is now a stand-alone object with a
        client, to encapsulate asking the platform questions about the screen occupied by
        the page. (Previously, we always assumed we were on screen 0, which was a bug.)
        * bridge/mac/WebCoreFrameBridge.mm:
        (createMouseEventFromDraggingInfo): Reversed argument order, to match other
        functions.
        (-[WebCoreFrameBridge dragSourceMovedTo:]): ditto
        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): ditto
        * bridge/mac/WebCoreFrameNamespaces.h: Removed. Dead Code.
        * bridge/mac/WebCoreFrameNamespaces.mm: Removed. Dead Code.
        * bridge/mac/WebCorePageBridge.h: Removed. Dead Code.
        * bridge/mac/WebCorePageBridge.mm: Removed. Dead Code.
        * manual-tests/window-open-features-parsing.html: Updated for accuracy.
        (In this case, neither size nor position is specified, so you should
        get the default window size and position.)
        * page/Screen.cpp: Added. Includes screen-related helper functions used
        in WebCore and WebKit.
        * platform/PlatformMouseEvent.h: Exported common code so it doesn't have
        to be duplicated. Renamed "position" to "point" since both were used,
        and "point" seemed clearer.
        * platform/Screen.h: Removed. Dead Code.
        * platform/mac/LoggingMac.mm: Added. Moved code here from WebCorePageBridge
        initialization.

2006-11-06  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Tim Hatcher.

        Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
        Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
        
        No layout tests added as this must be tested manually by the test
        WebCore/manual-tests/contenteditable-link.html

        * WebCore.exp: Exported HitTestResult::isLiveLink().
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::isLiveLink):
        * html/HTMLAnchorElement.h: added m_wasShiftKeyDownOnMouseDown variable
        to track shift key status.
        * manual-tests/contenteditable-link.html: Added description about link
        dragging behaviour.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::isLiveLink): Added.
        * rendering/HitTestResult.h:

2006-11-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver

        Fixes <rdar://problem/4812674> and http://bugs.webkit.org/show_bug.cgi?id=11530
        For now, we have to not load favicons when we have no Document - linking directly 
        to PDFs being the common case

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::startLoading): Check for the document and return if none

2006-11-06  Brady Eidson  <beidson@apple.com>

        Reviewed by Dave Harrison

        <rdar://problem/4801066>
        Added a critical null frameLoader() check

        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::loadNow):

2006-11-06  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4813973> Pressing delete key to remove empty quoted line leaves cursor mis-positioned

        Test:
        * editing/deleting/delete-br-012.html
        
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
        Update m_endingPosition when preventing merge.
        Also removed setting of m_mergeBlocksAfterDelete when this function returns true, because is is not checked in this case.

2006-11-06  Mark Rowe  <bdash@webkit.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11526
        Bug 11526: REGRESSION(r17610): Layout test failure in svg/custom/create-metadata-element.svg

        Update DOMNode::toString to always use className rather than preferring nodeName.

        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::toString): Match the format returned by valueOf.

2006-11-06  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        Fix RTL text in SVG to have correct positioning

        * rendering/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):

2006-11-06  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11517
        REGRESSION: Flash clicks/interactivity not working properly

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::handleMouseReleaseEvent):
        Restore parts of event dispatching that were removed when fixing
        bug 7323 - just bypass those for subframes.

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

        - quick attempt to fix the no-SVG build

        * platform/graphics/svg/SVGResource.cpp:
        * platform/graphics/svg/SVGResource.h:
        * platform/graphics/svg/SVGResourceClipper.cpp:
        * platform/graphics/svg/SVGResourceClipper.h:
        * platform/graphics/svg/SVGResourceImage.h:
        * platform/graphics/svg/SVGResourceMarker.cpp:
        * platform/graphics/svg/SVGResourceMarker.h:
        * platform/graphics/svg/SVGResourceMasker.cpp:
        * platform/graphics/svg/SVGResourceMasker.h:
        * platform/graphics/svg/cg/SVGResourceMaskerCg.h:
        * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
        * platform/graphics/svg/qt/SVGResourceImageQt.cpp:
        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
        Added #ifdef SVG_SUPPORT to these files.

2006-11-05  Darin Fisher  <darin@chromium.org>

        Reviewed & landed by Maciej.

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

        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::transferJobStatusCallback):
        (WebCore::ResourceLoader::start):

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

        Reviewed by Oliver.

        - moved FormData and FormDataStream to platform/network directory

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.mm:
        * loader/FormData.cpp: Removed.
        * loader/FormData.h: Removed.
        * loader/mac/FormDataStream.h: Removed.
        * loader/mac/FormDataStream.m: Removed.
        * loader/mac/FrameLoaderMac.mm:
        * loader/mac/SubresourceLoaderMac.mm:
        * platform/network/mac/FormDataStreamMac.h: Added.
        * platform/network/mac/FormDataStreamMac.mm: Added.
        * platform/network/mac/ResourceRequestMac.mm:

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

        Fix build breaks

        * loader/DocumentLoader.h:
        * platform/win/ScreenWin.cpp:

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

        Reviewed by Geoff.

        - more preparation for splitting up Frame into sub-pieces
        - removed unnecessary includes from Frame.h

        * page/Frame.h: Removed unneeded includes and forward declarations.
        Added additional forward declarations. Removed the constant
        NoXPosForVerticalArrowNavigation, now moved inside SelectionController.
        Created sections of functions to be moved into Chrome, Editor,
        EventHandler, FrameLoader, SelectionController, and the Platform
        directory, as well as marking one function for deletion.

        * page/FramePrivate.h: Removed the definition of the constructor and
        destructor and removed unnecessary includes.

        * page/FrameView.h: Removed unneeded forward declarations and friend
        declarations. Created a section of functions and data to be moved into
        EventHandler.

        * bridge/mac/FrameMac.h: Removed unneeded forward declarations.
        Created sections of functions and data to be moved into Chrome,
        Editor, EventHandler, FrameLoader, and the Platform directory.

        * bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
        Removed unused methods areScrollbarsVisible,
        nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.

        * page/Frame.cpp:
        (WebCore::Frame::begin): Added an overload, so Frame.h doesn't have
        to include KURL.h just for the KURL default constructor.
        (WebCore::FramePrivate::FramePrivate): Moved here from FramePrivate.h.
        (WebCore::FramePrivate::~FramePrivate): Ditto.

        * page/FrameView.cpp: Removed unused scrollbarMoved and scrollingSelf
        booleans, scrollbarMoved and cleared funcitons.
        (WebCore::FrameView::clear): Moved the code from the cleared
        function in here.
        (WebCore::FrameView::scrollTo): Removed code to set scrollingSelf.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
        for changes to header.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
        Moved NoXPosForVerticalArrowNavigation into this file.

        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_window.cpp:
        * bridge/mac/WebCoreAXObject.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * css/cssstyleselector.cpp:
        * dom/Document.cpp:
        * dom/Element.cpp:
        * dom/EventTargetNode.cpp:
        * dom/MouseRelatedEvent.cpp:
        * dom/XMLTokenizer.cpp:
        * html/HTMLBaseElement.cpp:
        * html/HTMLDocument.cpp:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLFrameElementBase.cpp:
        * html/HTMLGenericFormElement.cpp:
        * html/HTMLObjectElement.cpp:
        * html/HTMLTokenizer.cpp:
        * loader/mac/FrameLoaderMac.mm:
        * page/PageState.cpp:
        * rendering/RenderApplet.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderPartObject.cpp:
        * rendering/RenderTreeAsText.cpp:
        * xml/XSLTProcessor.cpp:
        Added includes as needed to keep compiling, since there are fewer
        includes in Frame.h.

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

        Reviewed by Dave Harrison.

        http://bugs.webkit.org/show_bug.cgi?id=11402
        REGRESSION: onChange does not work anymore for 1st item in popup

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement):
        (WebCore::HTMLSelectElement::reset):
        Set m_lastOnChangeIndex to -1.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11453
          REGRESSION: Status bar always shows cancelled opening the page

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::~ResourceHandle): Removed call to cancel.
        Since the subresource owns the resource handle, there's no need to cancel.
        This arrangement is only temporary, anyway, since Maciej will soon change
        things so that the subresource loader uses the resource handle and the
        resource handle doesn't know anything about the subresource loader.

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

        Reviewed by Maciej.

        - converted more of the loader machinery to work with cross-platform
          data structures instead of Macintosh-specific ones

          converted most uses of NSURL to KURL and NSEvent to DOM Event in
          loader classes

          moved download function out of FrameLoader.h to avoid reference to
          NSURLConnection

          added DOM Event parameters to various functions so that the handlers
          can use the DOM Event instead of the global "current NSEvent";
          includes Frame::submitForm, HTMLFormElement::prepareSubmit,
          HTMLFormElement::submit, FrameLoader::load

          moved the setMainFrame call that hands ownership to the Page
          into one of the Frame constructors, and removed it from all
          the clients

          removed const from Event parameter to the urlSelected function
          (we rarely use const with DOM elements)

          removed some redundant includes and declarations from various
          header files

          removed NSURL parameter from userAgent function -- if we need it we
          can add it back, but converting from NSURL to KURL and back is
          inefficient enough that it's best to have it out for now (since it's
          been unused for years) -- if we add it back, we can choose an
          appropriate parameter type that's always inexpensive to pass

          did some basic cleanup in the IconLoader class, including removing
          an unnecessary loop that added icon data a byte at a time

          renamed safeLoad to load, since it's no different from the other
          FrameLoader load functions, safety-wise

          fixed some code that was trying to distinguish null frame name from
          empty string frame name -- both should be handled the same, but callers
          were doing it by checking for empty and turning it into null (in a way
          that was causing extra round trips between NSString and WebCore::String)

          corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
          and got rid of case-insensitive compares of methods

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::urlSelected):
        (WebCore::FrameMac::userAgent):
        * bridge/mac/FrameViewMac.mm:
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject rendererForView:]):
        * bridge/mac/WebCorePageBridge.h:
        * bridge/mac/WebCorePageBridge.mm:
        * bridge/mac/WebCoreSettings.mm:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::urlSelected):
        (WebCore::FrameWin::submitForm):
        * bridge/win/FrameWin.h:
        * dom/MouseRelatedEvent.cpp:
        * dom/MouseRelatedEvent.h:
        * dom/UIEvent.cpp:
        (WebCore::UIEvent::~UIEvent):
        * dom/UIEvent.h:
        * dom/UIEventWithKeyState.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::defaultEventHandler):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submitClick):
        (WebCore::HTMLFormElement::prepareSubmit):
        (WebCore::HTMLFormElement::submit):
        * html/HTMLFormElement.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/NavigationAction.h:
        (WebCore::NavigationAction::event):
        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::create):
        (WebCore::IconLoader::startLoading):
        (WebCore::IconLoader::didReceiveData):
        (WebCore::IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::unreachableURL):
        (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
        (WebCore::DocumentLoader::URLForHistory):
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::willSendRequest):
        (WebCore::FrameLoader::clientRedirected):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::notifyIconChanged):
        (WebCore::FrameLoader::URL):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::didChangeTitle):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/mac/IconLoaderMac.mm:
        (WebCore::IconLoader::notifyIconChanged):
        * loader/mac/LoaderFunctionsMac.mm:
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::shouldLoadAsEmptyDocument):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/mac/NavigationActionMac.mm:
        (WebCore::navigationType):
        (WebCore::NavigationAction::NavigationAction):
        * loader/mac/ResourceLoaderMac.mm:
        * loader/mac/SubresourceLoaderMac.mm:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::submitFormAgain):
        (WebCore::Frame::submitForm):
        (WebCore::Frame::endIfNotLoading):
        (WebCore::Frame::hitTestResultAtPoint):
        * page/Frame.h:
        * page/FramePrivate.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::FrameGdk):
        (WebCore::FrameGdk::submitForm):
        (WebCore::FrameGdk::urlSelected):
        * platform/gdk/FrameGdk.h:
        * platform/mac/TextFieldMac.mm:
        * platform/network/HTTPHeaderMap.h:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/network/mac/ResourceResponseMac.h:
        * platform/network/mac/ResourceResponseMac.mm:
        (-[NSURLResponse WebCore]):
        * platform/network/win/ResourceHandleWin.cpp:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        * platform/qt/FrameQt.h:
        * rendering/RenderLineEdit.cpp:
        (WebCore::RenderLineEdit::returnPressed):
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:

2006-11-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adele.

        - replaced receivedRedirect with new willSendRequest delegate
        - removed most mac-specific loader functions
        - use ResourceResponse more in loader code

        * WebCore.xcodeproj/project.pbxproj: Add new files.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getData:andResponse:forURL:]): Adapted
        for CachedResource method renames.
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        Ditto.
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify): simplified
        based on ResourceResponse
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage): adapt for ResourceResponse
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource): store a ResourceResponse;
        platform response is now called platformResponse and expiration date
        is removed.
        (WebCore::CachedResource::~CachedResource): ditto
        (WebCore::CachedResource::isExpired): ditto
        * loader/CachedResource.h:
        (WebCore::CachedResource::platformResponse): ditto
        (WebCore::CachedResource::setResponse): ditto
        (WebCore::CachedResource::canDelete): ditto
        * loader/LoaderFunctions.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse): Adjusted for renames.
        (WebCore::Loader::didReceiveResponse): Store whole ResourceResponse
        in the CachedResource.
        * loader/loader.h:
        * loader/mac/FormDataStream.h:
        * loader/mac/FormDataStream.m:
        (WebCore::getStreamFormDatas): Rearranged things so it's
        possible to get a FormData back out of a form data stream.
        (WebCore::formCreate): ditto
        (WebCore::formFinalize): ditto
        (WebCore::httpBodyFromStream): ditto
        * loader/mac/ImageDocumentMac.mm:
        (WebCore::finishImageLoad): s/response/platformResponse/
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus): ditto
        (WebCore::CachedResource::setPlatformResponse): ditto
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::willSendRequest): send redirect
        to client appropriately
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::willSendRequest): new entry
        point for SubresourceLoader, dispatch to client.
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::allowHTTPCookies): implemented
        (WebCore::ResourceRequest::setAllowHTTPCookies): ditto
        * platform/network/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse): initialize expiration
        date(!)
        * platform/network/cf/FormDataStreamCFNet.cpp: Added.
        (WebCore::getStreamFormDatas): Added this, ported from NSURL version.
        (WebCore::openNextStream): ditto
        (WebCore::formCreate): ditto
        (WebCore::formFinalize): ditto
        (WebCore::formCanRead): ditto
        (WebCore::formEventCallback): ditto
        (WebCore::setHTTPBody): ditto
        (WebCore::httpBodyFromStream): ditto
        * platform/network/cf/FormDataStreamCFNet.h: Added.
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest): implemented
        (WebCore::ResourceHandle::start): use new ResourceRequest stuff
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::getResourceResponse): do nothing for a null response
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::willSendRequest): Implemented; dispatch to client.
        * platform/network/mac/ResourceRequestMac.h: Added.
        * platform/network/mac/ResourceRequestMac.mm: Added.
        (WebCore::getResourceRequest): Added way to convert an NSURLRequest
        to a ResourceRequest.
        (WebCore::nsURLRequest): Opposite of the above.
        * platform/network/cf/ResourceRequestCFNet.h: Added.
        * platform/network/cf/ResourceRequestCFNet.cpp: Added.
        (WebCore::getResourceRequest): Added way to convert an CFURLRequest
        to a ResourceRequest.
        (WebCore::cfURLRequest): Opposite of the above.
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::willSendRequest): Renamed from receivedRedirect,
        adjusted.
        * xml/xmlhttprequest.h:

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

        Change suggested by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11514
          REGRESSION (r17438): Repro crash when opening a web archive

        * bridge/mac/WebCorePageState.mm:
        (-[WebCorePageState dealloc]): Add null check.
        (-[WebCorePageState finalize]): Ditto.

2006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>

        Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Peter Kasting).

        http://bugs.webkit.org/show_bug.cgi?id=11433
        Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        Added platform/graphics platform/network and platform/network/win to headers search paths
        Created platform/graphics and platform/network filters in hierarchy
        Moved GraphicsContext and GraphicsTypes to their respective filters
        Added EditorClient.h
        Added FrameLoader* files in loader/
        Added HitTest* files in rendering/
        Added Editor.* files in editing/
        Added DeleteButton.* and DeleteButtonController.* in editing/

        * bridge/win/ChromeClientWin.h: Added.
        (WebCore::ChromeClientWin::~ChromeClientWin):
        * bridge/win/EditorClientWin.h: Added.
        (WebCore::EditorClientWin::~EditorClientWin):

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        (WebCore::FrameWin::urlSelected):
        (WebCore::FrameWin::submitForm):
        (WebCore::FrameWin::createNewWindow):
        * bridge/win/FrameWin.h:
        Added EditorClient parameter to constructor
        Replace usage of FrameLoadRequest::m_request with FrameLoadRequest::resourceRequest()
        Removed openURL() and openURLRequest from class definition

        * bridge/win/PageWin.cpp:
        * platform/AffineTransform.h:
        * platform/cairo/AffineTransformCairo.cpp: Added.
        (WebCore::AffineTransform::AffineTransform):
        (WebCore::AffineTransform::setMatrix):
        (WebCore::AffineTransform::map):
        (WebCore::AffineTransform::mapRect):
        (WebCore::AffineTransform::isIdentity):
        (WebCore::AffineTransform::m11):
        (WebCore::AffineTransform::m12):
        (WebCore::AffineTransform::m21):
        (WebCore::AffineTransform::m22):
        (WebCore::AffineTransform::dx):
        (WebCore::AffineTransform::dy):
        (WebCore::AffineTransform::reset):
        (WebCore::AffineTransform::scale):
        (WebCore::AffineTransform::rotate):
        (WebCore::AffineTransform::translate):
        (WebCore::AffineTransform::shear):
        (WebCore::AffineTransform::det):
        (WebCore::AffineTransform::invert):
        (WebCore::AffineTransform::operator cairo_matrix_t):
        (WebCore::AffineTransform::operator== ):
        (WebCore::AffineTransform::operator*= ):
        (WebCore::AffineTransform::operator* ):
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        * platform/network/win/ResourceHandleWin.cpp:
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::goBackOrForward):
        (WebCore::FrameWin::getHistoryLength):
        (WebCore::FrameWin::historyURL):
        (WebCore::ServeSynchronousRequest):
        (WebCore::ChromeClientWin::canRunModal):
        (WebCore::ChromeClientWin::runModal):
        (WebCore::EditorClientWin::shouldDeleteRange):
        (WebCore::EditorClientWin::shouldShowDeleteInterface):
        (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
        (WebCore::EditorClientWin::isGrammarCheckingEnabled):
        (WebCore::EditorClientWin::spellCheckerDocumentTag):
        (WebCore::Path::transform):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::ResourceLoader::loadsBlocked):
        (WebCore::systemBeep):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::paintTextField):

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=11448
        &lang; and &rang; entities are mapped to the incorrect Unicode codepoint

        * html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters.

2006-11-03  Mark Rowe  <bdash@webkit.org>

        Reviewed by Oliver.

        Update Windows and Qt project files for file removals in r17585.

        * CMakeLists.txt:
        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-11-03  Zack Rusin  <zack@kde.org>

        Reviewed by Maciej.

        The patch fixes text field drawing on the Qt platform.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::paintTextField): Use the style to correctly
        render the text field

2006-11-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Tim.

        Correct incorrect call to SetCursor

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::userResize):

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

        Reviewed by Oliver.

        Removed DeprecatedRenderSelect and ListBox classes.

        * WebCore.xcodeproj/project.pbxproj:
        * css/html4.css:
        * html/HTMLOptionElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::isKeyboardFocusable):
        (WebCore::HTMLSelectElement::isMouseFocusable):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        (WebCore::HTMLSelectElement::defaultEventHandler):
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        * html/HTMLSelectElement.h:
        * platform/ListBox.h: Removed.
        * platform/mac/FontCacheMac.mm:
        * platform/mac/ListBoxMac.mm: Removed.
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/DeprecatedRenderSelect.cpp: Removed.
        * rendering/DeprecatedRenderSelect.h: Removed.

2006-11-03  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, fix for accidental commit.

        - rolled back more of the accidentall commit that I forgot.

        * platform/network/mac/ResourceRequestMac.h: Removed.
        * platform/network/mac/ResourceRequestMac.mm: Removed.

2006-11-03  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, fix for accidental commit.

        - roll back some network changes accidentally committed with a previous patch.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::~CachedResource):
        (WebCore::CachedResource::setExpireDate):
        (WebCore::CachedResource::isExpired):
        * loader/CachedResource.h:
        (WebCore::CachedResource::response):
        * loader/LoaderFunctions.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse):
        (WebCore::Loader::didReceivedResponse):
        * loader/loader.h:
        * loader/mac/FormDataStream.h:
        * loader/mac/FormDataStream.m:
        (WebCore::formCreate):
        (WebCore::formFinalize):
        * loader/mac/ImageDocumentMac.mm:
        (WebCore::finishImageLoad):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus):
        (WebCore::CachedResource::setResponse):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::willSendRequest):
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::receivedRedirect):
        * platform/network/ResourceRequest.h:
        * platform/network/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::redirectedToURL):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::receivedRedirect):
        * xml/xmlhttprequest.h:

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

        Rubber-stamped by Oliver.

        Remove these, they have been merged with SVGRenderTreeAsText.
        
        * rendering/SVGRenderAsText.cpp: Removed.
        * rendering/SVGRenderAsText.h: Removed.

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

        Build fix.
        
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::willSendRequest):

2006-11-02  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin, Beth.
        
        First cut at factoring Page's UIDelegate-related functions into Chrome
        and ChromeClient.

        Layout tests pass.
        
        * bridge/mac/PageMac.mm: Removed platform-specific constructor, added
        setBridge method to replace it.
        (WebCore::Page::setBridge):

        * bridge/mac/WebCorePageBridge.h: Simplified some things based on the fact
        that WebCorePageBridge.h doesn't need to be included by ObjC-only files,
        and, now that it uses PassRefPtr, can't be.
        
        * page/Chrome.cpp: Added. Code copied and converted to c++ from WebCorePageBridge.mm.

        * page/Page.h:
        (WebCore::Page::dragCaretController): Made this function non-const so that
        m_dragCaretController doesn't have to be mutable.

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

        Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=7323
        REGRESSION (10.4.4): ondrag* events don't fire on page in a frame

        * bridge/mac/FrameMac.h: Moved drag source information to a static variable
        in FrameMac.mm. There can be only one drag active at any moment, and having 
        this information here was making sharing this information between 
        subframes hard.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac): Initialize sharedDragInfo.
        (WebCore::FrameMac::freeClipboard):
        (WebCore::FrameMac::dragHysteresisExceeded):
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::handleMouseReleaseEvent):
        (WebCore::FrameMac::mouseDown):
        (WebCore::FrameMac::dragSourceMovedTo):
        (WebCore::FrameMac::dragSourceEndedAt):
        (WebCore::FrameMac::dispatchDragSrcEvent):
        Access drag source info via sharedDragInfo - this fixes drag source even dispatching.
        Also removed some old code that was forwarding mouse events to subviews to make 
        HTML editing work in subframes.

        * page/FrameView.cpp:
        (WebCore::FrameView::updateDragAndDrop):
        (WebCore::FrameView::cancelDragAndDrop):
        (WebCore::FrameView::performDragAndDrop):
        Forward events to subframes for dispatching - this fixes drag target events.

2006-11-03  Zack Rusin  <zack@kde.org>

        Reviewed by Tim.

        Fixing compile.

        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::CachedResource::setPlatformResponse): Renamed from setResponse

2006-11-01  Zack Rusin  <zack@kde.org>

        Reviewed by Maciej.

        Moving the word/sentence seperators into a file of their own
        and implementing findWordBoundary.

        * CMakeLists.txt:
        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/qt/TextBoundaries.cpp: Added.
        (WebCore::findNextSentenceFromIndex):
        (WebCore::findSentenceBoundary):
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):

2006-11-03  Zack Rusin  <zack@kde.org>

        Reviewed by Maciej.

        Compile on both KDE and Qt platforms

        * CMakeLists.txt: add zlib explicitly
        * platform/network/qt/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::self):
        (WebCore::QtJob::QtJob):
        (WebCore::QtJob::timerEvent): Integrate both implementations
        so that moc can parse it
        (WebCore::ResourceHandleManager::deliverJobData):
        (WebCore::ResourceHandleManager::remove):
        * platform/network/qt/ResourceHandleManager.h:

2006-11-03  Maciej Stachowiak  <mjs@apple.com>

        No review, suggested by Mitz.

        - fix a #if to be #ifdef

        * platform/graphics/svg/cg/SVGResourceImageCg.cpp:

2006-11-03  Zack Rusin  <zack@kde.org>

        Reviewed and landed by Maciej.
        
        Compile on the Qt platform.

        * ksvg2/misc/KCanvasRenderingStyle.h:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):

2006-11-03  Zack Rusin  <zack@kde.org>

        Reviewed by Hyatt. Landed by Maciej.

        Adding setPlatformPen/setPlatformFont/setPlatformFillColor
        to graphics context to be able to set consistant state
        on the platform specific painter without having to change
        fill/stroke/font on every operation. This fixes color/stroke/fill
        and font handling in the Qt port.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setFont):
        (WebCore::GraphicsContext::setPen):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::setPlatformPen):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformFont):
        * platform/graphics/GraphicsContext.h:
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):
        (WebCore::toQtLineCap):
        (WebCore::toQtLineJoin):
        (WebCore::toQPenStyle):
        (WebCore::penToQPen):
        (WebCore::TransparencyLayer::TransparencyLayer):
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::setPlatformFont):
        (WebCore::GraphicsContext::setPlatformPen):
        (WebCore::GraphicsContext::setPlatformFillColor):
        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
        (WebCore::ScrollViewCanvasQt::paintEvent):
        (WebCore::ScrollViewCanvasQt::handleKeyEvent):
        * platform/qt/ScrollViewCanvasQt.h:

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

        Reviewed by Anders.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=9581
        REGRESSION: The new NativeTextArea scrolls to the top when the control is unfocused.

        Test: fast/forms/textarea-no-scroll-on-blur.html

        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent):
          On blur, only scroll back to the start for text fields.

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

        Another build fix.
        
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):

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

        Build fix.
        
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):

2006-11-02  Kevin Ollivier <kevino@theolliviers.com>

        Reviewed by Geoff, landed by Anders.
        
        Fix dependency problems caused when running move-js-headers.sh
        
        * move-js-headers.sh:
        Use cp -p instead of just cp so that the modification time
        of the original files are used.

2006-11-02  Adam Roben  <aroben@apple.com>

        Reviewed by Tim H, landed by Anders.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10840
        REGRESSION: Shadow of file upload button is clipped

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject): Add 2px to the clip
        height to keep from clipping in the shadow

2006-11-02  Eike Preuss  <mail@eikepreuss.de>

        Reviewed by Maciej, landed by Anders.

        * platform/qt/ScrollViewQt.cpp: Fix translation of coordinates between
        content and window. ScrollViewQt already receives correct content
        coordinates from QScrollArea.
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::windowToContents):

2006-11-02  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Maciej, landed by Anders

        * CMakeLists.txt: Make linkage against KDE libraries conditional
        * platform/network/qt/ResourceHandleManager.cpp: Added a simple
          Qt base resource handler that supports only requests to the
          local filesystem. Used when compiling without KDE support.
          ResourceHandleManager.cpp/h are to be split up into ResourceHandleManagerKDE
          and ResourceHandleManagerQt in the future, as well as QtJob.cpp/h.
        (WebCore::QtJob::QtJob):
        (WebCore::QtJob::timerEvent):
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::ResourceHandleManager::~ResourceHandleManager):
        (WebCore::ResourceHandleManager::self):
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        (WebCore::ResourceHandleManager::deliverJobData):
        * platform/network/qt/ResourceHandleManager.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::runJavaScriptAlert):
        (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
        (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
        * platform/qt/LoaderFunctionsQt.cpp: Use the Qt messagebox and
          input dialog functions when compiling without KDE support
        (WebCore::ServeSynchronousRequest):

2006-11-02  David Carson  <dacarson@gmail.com>

        Reviewed by Geoff, landed by Anders.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
        Initializing variable in constructor.

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):

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

        Reviewed by Geoff.

        Use CFMutableURLRequestRef instead of CFHTTPMessageRef since not all URL requests are http requests.
        
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::addHeadersFromHashMap):
        Don't set all headers at once since that clears any previous headers set.
        
        (WebCore::ResourceHandle::start):

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

        Reviewed by Mitz and Geoff.

        - Fix for:
        <rdar://problem/4650271> REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105)
        <rdar://problem/4650813> REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
        <rdar://problem/4658779> REGRESSION: Text selection is weird in textareas in Trac wiki editing pages

        Test: fast/forms/textarea-scrollbar.html

        To avoid some of our flexbox bugs for textareas, we're moving the text controls back to RenderBlock.  This should make them
        a lot more stable.  In the future, when we've worked out more of the flexbox kinks, we may want to consider moving them back.

        * rendering/RenderTextControl.h: Convert text controls back to RenderBlock instead of RenderFlexibleBox.
        * rendering/RenderTextControl.cpp: 
        (WebCore::RenderTextControl::RenderTextControl):
        (WebCore::RenderTextControl::setStyle):
        (WebCore::RenderTextControl::createDivStyle):
        (WebCore::RenderTextControl::updateFromElement):
        (WebCore::RenderTextControl::calcHeight):
        (WebCore::RenderTextControl::baselinePosition):
        (WebCore::RenderTextControl::nodeAtPoint):
        (WebCore::RenderTextControl::layout): Set the inner div's height explicitly before doing a normal layout.
        (WebCore::RenderTextControl::scrollWidth):
        (WebCore::RenderTextControl::scrollHeight):
        (WebCore::RenderTextControl::scrollLeft):
        (WebCore::RenderTextControl::scrollTop):

        * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.

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

        Reviewed by Geoff Garen

        * editing/Selection.cpp:
        (WebCore::Selection::showTreeForThis):
        this debugging method now displays start offset and end offset, at Darin's suggestion

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

        Reviewed by darin

        <rdar://problem/4062865>
        Copy/paste of a select element fails to include the options
        
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify): Added paragraphBoundary.
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Added checks for input elements
        and textareas.  Insertion operations would fail when performed just 
        before/after one of these elements b/c the content would be put inside 
        the element.
        (WebCore::enclosingNodeWithTag): Fixed a problem when calling these in non
        editable content, and made the code to stop at an root faster (don't check
        isDescendantOf on every iteration).
        (WebCore::enclosingNodeOfType): Ditto.
        (WebCore::enclosingList): Ditto.
        (WebCore::enclosingListChild): Ditto.  Added a FIXME, this function seems
        inappropriately named.
        * editing/markup.cpp:
        (WebCore::startMarkup): Use the text node's value instead of its rendered
        content for text nodes inside select elements.  One might also turn off
        annotation when createMarkup enters a select element, but createMarkup
        is iterative, not recursive, so doing so would be complicated.
        (WebCore::createMarkup): Add markup for unrendered nodes if they are 
        descendants of a select element.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph): Migrate to isBlock/enclosingBlock.  Fixes bug
        where various replaced elements can't be copied when they are the only
        thing selected.
        (WebCore::endOfParagraph): Ditto.

2006-11-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Converting more or kcanvas/quartz from Obj-C to C++
        Minor SVG updates
        compatibility fixes

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/device/KRenderingPaintServer.h:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Added.
        (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Removed.
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Added.
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Removed.
        * kcanvas/device/quartz/QuartzSupport.h:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/scripts/cssmakeprops:
        * ksvg2/scripts/cssmakevalues:
        * ksvg2/scripts/make_names.pl:
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        * ksvg2/svg/SVGAnimationElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/svgpathparser.cpp:
        * platform/Path.cpp:
        * platform/graphics/svg/SVGResourceImage.h:
        * rendering/RenderPath.cpp:
        * rendering/SVGRenderAsText.cpp:

2006-11-02  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Adele.

        - Fix a regression from r17521: painting of and crash caused by tables
          with collapsed borders

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint): Changed 'paintInfo' to 'info'. Prior to
        r17521, 'paintInfo' was the local variable. Now 'info' is the local variable
        and 'paintInfo' is the parameter, which we were accidently modifying.

2006-11-01  Adele Peterson  <adele@apple.com>

        Reviewed by Mitz.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
        REGRESSION: Incomplete repaint of overflow areas when deleting

        Restrict the repaint rect for overflow blocks after the height has been fully computed.
        Also, adjust the repaint rect coordinates for the scroll offset.

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

2006-11-01  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
        Rename the "p" member variable of the PaintInfo struct to "context"

        - Renames the 'p' and 'r' member variables of the PaintInfo struct to
          'context' and 'rect' respectively.

        - Assorted surrounding cleanups.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::paint):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint):
        (WebCore::InlineFlowBox::paintBackground):
        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
        (WebCore::InlineFlowBox::paintDecorations):
        * rendering/InlineFlowBox.h:
        * rendering/InlineRunBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::paintCaret):
        (WebCore::RenderBlock::paintObject):
        (WebCore::RenderBlock::paintFloats):
        (WebCore::RenderBlock::paintEllipsisBoxes):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::RenderBlock::fillSelectionGaps):
        (WebCore::RenderBlock::fillInlineSelectionGaps):
        (WebCore::RenderBlock::fillBlockSelectionGaps):
        (WebCore::RenderBlock::fillHorizontalSelectionGap):
        (WebCore::RenderBlock::fillVerticalSelectionGap):
        (WebCore::RenderBlock::fillLeftSelectionGap):
        (WebCore::RenderBlock::fillRightSelectionGap):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paint):
        (WebCore::RenderBox::paintRootBoxDecorations):
        (WebCore::RenderBox::paintBoxDecorations):
        * rendering/RenderBox.h:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::paintObject):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::continuationBefore):
        (WebCore::RenderFlow::addChildWithContinuation):
        (WebCore::RenderFlow::addChild):
        (WebCore::RenderFlow::attachLineBox):
        (WebCore::RenderFlow::destroy):
        (WebCore::RenderFlow::dirtyLinesFromChangedChild):
        (WebCore::RenderFlow::dirtyLineBoxes):
        (WebCore::RenderFlow::createInlineBox):
        (WebCore::RenderFlow::paintLines):
        (WebCore::RenderFlow::getAbsoluteRepaintRect):
        (WebCore::RenderFlow::lowestPosition):
        (WebCore::RenderFlow::rightmostPosition):
        (WebCore::RenderFlow::leftmostPosition):
        (WebCore::RenderFlow::caretRect):
        (WebCore::RenderFlow::addFocusRingRects):
        (WebCore::RenderFlow::paintOutline):
        (WebCore::RenderFlow::paintOutlineForLine):
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        (WebCore::RenderListBox::paintScrollbar):
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::paintObject):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::paint):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        (WebCore::RenderObject::paintBoxDecorations):
        (WebCore::RenderObject::paintingRootForChildren):
        (WebCore::RenderObject::shouldPaintWithinRoot):
        (WebCore::RenderObject::printBoxDecorations):
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * rendering/RenderSVGText.h:
        (WebCore::RenderSVGText::renderName):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::paint):
        (WebCore::RenderTable::paintBoxDecorations):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paint):
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
        (WebCore::RenderTableCell::paintBoxDecorations):
        * rendering/RenderTableCell.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::getBaseline):
        (WebCore::RenderTableSection::setNeedCellRecalc):
        * rendering/RenderText.h:
        (WebCore::RenderText::renderName):
        (WebCore::RenderText::paint):
        (WebCore::RenderText::element):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::RenderTheme):
        (WebCore::RenderTheme::~RenderTheme):
        (WebCore::RenderTheme::controlSupportsTints):
        (WebCore::RenderTheme::adjustRepaintRect):
        (WebCore::RenderTheme::themeChanged):
        (WebCore::RenderTheme::supportsHover):
        (WebCore::RenderTheme::paintCheckbox):
        (WebCore::RenderTheme::setCheckboxSize):
        (WebCore::RenderTheme::paintRadio):
        (WebCore::RenderTheme::setRadioSize):
        (WebCore::RenderTheme::paintButton):
        (WebCore::RenderTheme::setButtonSize):
        (WebCore::RenderTheme::paintTextField):
        (WebCore::RenderTheme::paintTextArea):
        (WebCore::RenderTheme::paintMenuList):
        (WebCore::RenderTheme::paintMenuListButton):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintCheckbox):
        (WebCore::RenderThemeMac::paintRadio):
        (WebCore::RenderThemeMac::paintButton):
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintTextArea):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):
        (WebCore::RenderView::paintBoxDecorations):
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/RenderWidget.h:
        (WebCore::RenderWidget::isWidget):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintEllipsisBox):
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        (WebCore::RootInlineBox::fillLineSelectionGap):
        * rendering/RootInlineBox.h:
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

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

        Reviewed by Oliver, Brady.

        * platform/network/ResourceResponse.h:
        (WebCore::ResourceResponse::setLastModifiedDate):
        (WebCore::ResourceResponse::lastModifiedDate):
        Add getters and setters for last modified dadte.
        
        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::getResourceResponse):
        Fetch the last modified date. Add correct offset to expired date.

2006-11-01  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Mitz.

        Added missing "break;" statement in switch statement from r17493.

        Bug 11442: [CSS 3] support for cursor: all-scroll
        http://bugs.webkit.org/show_bug.cgi?id=11442

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2006-10-31  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Maciej.

        - fix image dragging

        This is covered by editing/selection/drag-to-contenteditable-iframe.html

        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
        HTML IMG elements.
        (WebCore::HitTestResult::absoluteImageURL): Ditto.

2006-10-31  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        This adds the back-end of the remaining WebElementDictionary 
        functions into HitTestResult.

        * WebCore.exp:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::title):
        (WebCore::displayString): This is nearly identical to the 
        displayString() defined in DOMInternal.mm except that it returns a 
        String instead of an NSString. The old code path used the 
        DOMInternal method, so I made a new one here for the new code path.
        (WebCore::HitTestResult::altDisplayString):
        (WebCore::HitTestResult::image):
        (WebCore::HitTestResult::absoluteImageURL):
        (WebCore::HitTestResult::absoluteLinkURL):
        (WebCore::HitTestResult::titleDisplayString):
        (WebCore::HitTestResult::textContent):
        * rendering/HitTestResult.h:

2006-10-31  John Sullivan  <sullivan@apple.com>

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::markMisspellings):
        Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.

2006-10-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej
        
        - fixed <rdar://problem/4804627> ToolTips do not appear for grammar suggestions
        
        The foundation of this was in my last checkin. This checkin is all about displaying
        the correct string in the toolTip.

        * dom/DocumentMarker.h:
        New description field in this struct.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        When adding a grammar marker, supply the appropriate description. Also, added a comment
        about the remaining work to make grammar checking return sensible answers.
        (WebCore::FrameMac::markMisspellings):
        ditto (yes, still needs some refactoring to minimize duplicated code)
        
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::addMarker):
        Now takes an optional description string
        (WebCore::Document::markerContainingPoint):
        New function, returns a pointer to the (first) marker of the specified type whose rect 
        contains the specified point, or 0 if none.
        
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip):
        Replaced hardwired string placeholder implementation with code that uses markerContainingPoint
        and gets the description from the marker.

2006-10-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.
        
        Fixed crash resulting from Darin's last patch to remove BrowserExtension.

        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::createWindow):
        * manual-tests/window-open-features-parsing.html: Updated for clarity.

2006-10-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alice.

        Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
        to WebCore::Editor.
        
        Layout tests pass.
        
        Renamed "may*" to "can*" because "can" is more accurate (these functions
        aren't just about permission) and it matches WebKit.

        (WebCore::FrameMac::handleMouseMoveEvent): Directly test for dragging in a 
        password field. Now that WebCore fully implements canCopy(), it doesn't just
        mean "the selection is not in a password field" anymore.
        (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Removed this #ifed-out code. 
        The fact that it's not called anymore may represent a security issue, but I
        don't see how commented-out code will help reveal the issue, and the
        bridge is going away, anyway.
        * editing/SelectionController.h: Changed selection() calls to references
        to m_sel, to match the rest of the file.

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

        Reviewed by harrison
        
        <rdar://problem/4711063>
        Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): Don't do the test
        insertion and plain text string creation unless we need the string
        for a BeforeTextInserted event handler or for a plain text only region.
        (WebCore::ReplacementFragment::removeInterchangeNodes): Added, moved
        code here from ReplacementFragment's constructor.
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Added a
        FIXME.
        * editing/ReplaceSelectionCommand.h:

2006-10-31  Ada Chan  <adachan@apple.com>

        Reviewed by Adam

        Correct forward declarations of the HitTestRequest struct.

        * rendering/EllipsisBox.h:
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.h:
        * rendering/RenderLayer.h:
        * rendering/RenderObject.h:

2006-10-31  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth and Adam

        Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip; 
        next I'll make it use a string that's relevant for a specific grammar error.

        * WebCore.exp:
        export symbol for spellingToolTip function
        
        * rendering/HitTestResult.h:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::spellingToolTip):
        new function, returns the string to be used in a tool tip that describes the questionable grammar
        
        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        now takes a style and font, needed to compute the rect representing the range containing
        questionable grammar. Computes the rect and associates it with the marker.
        (WebCore::InlineTextBox::paintDocumentMarkers):
        Pass in the style and font now needed by paintSpellingOrGrammarMarker

2006-10-31  Adele Peterson  <adele@apple.com>

        Removed commented out variable from last checkin.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

2006-10-31  Brady Eidson  <beidson@apple.com>

        Build fix (unused variable in release builds)

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

2006-10-31  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=11127 NativeListBox: arrow and drag selection should pivot around one list item
        and http://bugs.webkit.org/show_bug.cgi?id=11173 REGRESSION (NativeListBox): Shift-clicking items in list box doesn't expand the current selection
        and http://bugs.webkit.org/show_bug.cgi?id=11417 REGRESSION: onchange does not fire for list-style select elements

        Tests: 
        * LayoutTests/fast/forms/listbox-selection.html
        * LayoutTests/fast/forms/listbox-onchange.html

        * html/HTMLSelectElement.h: Added m_selectedListIndexBase and m_selectedListIndexExtent to track indices for the active selection in progress.
          Added 2 vectors to cache selection state.  One is kept so that the previous selection state can be restored as the active selection grows and shrinks.
          And one for onChange, that is updated after onChange is fired.
          Added m_activeSelectionState to keep track of whether the current drag selection is selecting or deselecting.
 
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Initialized new variables.
        (WebCore::HTMLSelectElement::setSelectedIndex): If needed, initialize m_selectedListIndexBase and m_selectedListIndexExtent.
        (WebCore::HTMLSelectElement::dispatchBlurEvent): Only fire the onChange event here for menu lists.
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updates base and extent variables for mouse and key events.
        (WebCore::HTMLSelectElement::setBase): Added. Also caches the selection state.
        (WebCore::HTMLSelectElement::setExtent): Added.
        (WebCore::HTMLSelectElement::updateListBoxSelection): Added.
        (WebCore::HTMLSelectElement::listBoxOnChange): Added.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement): Only scroll to reveal the first index if both the first and last indices aren't visible.
        (WebCore::RenderListBox::listIndexAtOffset): Added.  Replaces optionAtPoint, which is no longer used.
        (WebCore::RenderListBox::autoscroll): Now sets the selection using the select's base and extent.
        (WebCore::RenderListBox::stopAutoscroll): Added.  Tells the select element to fire onChange.  This is needed because the autoscroll can end from a mouseUp
         outside of the list box, and the select element won't get a mouseUp event directly.  But the frame will stop the autoscroll at that point, and now we can
         notify the select element from here.
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex): Checks new listIndexIsVisible method.
        (WebCore::RenderListBox::listIndexIsVisible): Added.
        (WebCore::RenderListBox::valueChanged): Removed unnecessary printf.

        * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Added rendererIsBeingDestroyed argument, so when the renderer calls this during destruction, 
        we don't try to use the pointer to that renderer to call stopAutoscroll.  This is done so a renderer that's still alive has a chance to do some cleanup after autoscroll.
        * rendering/RenderListBox.h: (WebCore::RenderListBox::shouldAutoscroll): Always returns true now, since we're also updating selection from the autoscroll timer.
        * rendering/RenderObject.h: (WebCore::RenderObject::stopAutoscroll): Added.
        * rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Calls stopAutoscrollTimer with rendererIsBeingDestroyed argument.

2006-10-31  Beth Dakin  <bdakin@apple.com>

        Forgot to check this in a minute ago. Oops!! Thanks Mitz!

        * rendering/HitTestRequest.h: Added.
        (WebCore::HitTestRequest::HitTestRequest):

2006-10-31  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult 
        should be split into HitTestRequest and HitTestResult

        This patch creates a new struct called HitTestRequest that holds 
        the three boolean values (readonly, active, and mouseMove) that 
        were formerly a part of HitTestResult. All hitTest() and 
        nodeAtPoint() functions now take a HitTestRequest in addition to 
        the HitTestResult.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::handleMouseMoveEvent):
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerForPosition:]):
        (-[WebCoreAXObject accessibilityHitTest:]):
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint):
        (WebCore::Document::prepareMouseEvent):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains):
        * page/Frame.cpp:
        (WebCore::Frame::hitTestResultAtPoint):
        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult):
        (WebCore::HitTestResult::operator=):
        * rendering/HitTestResult.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::hitTestLines):
        * rendering/RenderFlow.h:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::nodeAtPoint):
        * rendering/RenderForeignObject.h:
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint):
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderImage.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll):
        (WebCore::RenderLayer::hitTest):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::updateHoverActiveState):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        (WebCore::RenderObject::nodeAtPoint):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint):
        * rendering/RenderPath.h:
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtPoint):
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtPoint):
        * rendering/RenderSVGText.h:
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        (WebCore::RenderText::nodeAtPoint):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::nodeAtPoint):
        * rendering/RenderTextControl.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:

2006-10-31  Lars Naesbye Christensen <lars@naesbye.dk>

        Reviewed by Maciej.

        Bug 11442: [CSS 3] support for cursor: all-scroll
        http://bugs.webkit.org/show_bug.cgi?id=11442

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * rendering/RenderStyle.h:

2006-10-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff.

        Converting Obj-C++ to C++ in kcanvas

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.cpp: Added.
        * kcanvas/device/quartz/KCanvasItemQuartz.mm: Removed.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Added.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Removed.
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * kcanvas/device/quartz/QuartzSupport.cpp: Added.
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm: Removed.
        * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Added.
        (WebCore::SVGResourceClipper::applyClip):
        * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Removed.
        * platform/graphics/svg/cg/SVGResourceImageCg.cpp: Added.
        * platform/graphics/svg/cg/SVGResourceImageCg.mm: Removed.

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

        Reviewed by harrison
        
        <rdar://problem/4808375>
        REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) [11460}
        
        Completely back out r17276 because of performance issues.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator):
        (WebCore::TextIterator::advance):
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::TextIterator::handleReplacedElement):
        (WebCore::TextIterator::handleNonTextNode):
        (WebCore::TextIterator::exitNode):
        (WebCore::TextIterator::emitCharacter):
        (WebCore::TextIterator::range):
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
        (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
        (WebCore::SimplifiedBackwardsTextIterator::emitCharacter):
        (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
        (WebCore::SimplifiedBackwardsTextIterator::range):
        (WebCore::CharacterIterator::range):
        (WebCore::TextIterator::rangeFromLocationAndLength):
        * editing/TextIterator.h:
        (WebCore::TextIterator::atEnd):
        (WebCore::SimplifiedBackwardsTextIterator::atEnd):

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

        Reviewed by Brady.

        - got "action dictionary" code out of FrameLoader,
          replacing with a class called NavigationAction

        * loader/DocumentLoader.h: Changed m_triggeringAction to a NavigationAction.
        * loader/mac/DocumentLoaderMac.mm:
        (WebCore::DocumentLoader::triggeringAction): Ditto.
        (WebCore::DocumentLoader::setTriggeringAction): Ditto.

        * loader/FrameLoader.h: Changed action parameters to NavigationAction.

        * loader/FrameLoaderClient.h: Changed action parameters to NavigationAction.
        Removed elementForEvent.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::load): Ditto.
        (WebCore::FrameLoader::reload): Ditto.
        (WebCore::FrameLoader::checkNewWindowPolicy): Ditto.
        (WebCore::FrameLoader::checkNavigationPolicy): Ditto.
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Ditto.
        (WebCore::FrameLoader::post): Ditto.

        * loader/NavigationAction.h: Added.
        * loader/NavigationAction.cpp: Added.
        * loader/mac/NavigationActionMac.mm: Added.

        * loader/mac/MainResourceLoaderMac.mm: Fixed copyright.

        * WebCore.xcodeproj/project.pbxproj: Updated for new files.
        * WebCore.exp: Updated.

2006-10-31  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam.

        Build fix

        * platform/win/CookieJarWin.cpp:
        (WebCore::cookies):

2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej. Landed by Adam.

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

        Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
        as dicussed with Dave. Also kill the outdated DESIGN document.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/DESIGN: Removed.
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasTreeDebug.cpp: Moved to rendering/SVGRenderTreeAsText
        * kcanvas/KCanvasTreeDebug.h: Ditto.
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * platform/graphics/svg/SVGResourceClipper.cpp:
        * rendering/RenderTreeAsText.cpp:
        * rendering/SVGRenderTreeAsText.cpp: Added.
        * rendering/SVGRenderTreeAsText.h: Added.
        (WebCore::operator<<):

2006-10-31  Darin Fisher  <darin@chromium.org>

        Reviewed by Maciej.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
        Includes some CRLF -> LF fixups.

        * platform/win/CookieJarWin.cpp:
        (WebCore::cookies):

2006-10-31  Adam Roben  <aroben@apple.com>

        Reviewed by Steve.

        Fix some incorrect forward declarations.

        * loader/FrameLoader.h:
        * page/Frame.h:

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

        * WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
        try to fix the build on the buildbot.

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

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
        (WebCore::FrameMac::markMisspellings): Ditto.

2006-10-31  John Sullivan  <sullivan@apple.com>

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        build fix: needed #ifndef BUILDING_ON_TIGER in one more place

2006-10-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Adam Roben
        
        - fixes <rdar://problem/4804614> Bad grammar ranges are not visibly marked
        
        This patch introduces much of the guts of grammar checking, though still not enough to actually
        check grammar sensibly, due to:
          
        <rdar://problem/4811175> Many false reports of bad grammar appear, caused by insufficient 
        context passed to grammar checker

        * platform/Logging.h:
        * platform/Logging.cpp:
        new log channel SpellingAndGrammar

        * bridge/mac/WebCorePageBridge.mm:
        (initializeLoggingChannelsIfNecessary):
        initialize new log channel

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        Compute bad grammar range when computing misspelling range. Find first detailed grammar range from the
        set NSSpellChecker determines. Compare it with misspelling range to see which is earliest (or shortest
        in the event of a tie), and do further processing with that one (select range; create marker that
        causes range to be visibly marked with a funky underline; update spelling panel appropriately).
        (WebCore::FrameMac::markMisspellings):
        More or less the same types of changes as in advanceToNextMisspelling The loops are structured just 
        differently enough to make sharing code between these two functions a little tricky, so I decided to 
        save that for a later patch.
        
        (WebCore::FrameMac::respondToChangedSelection):
        remove grammar markers when we remove spelling markers        

2006-10-31  Nikolas Zimmermann <zimmermann@kde.org>

        Reviewed by Mitz.

        Fix Qt/Linux build with older gcc3.3.4.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):

2006-10-31  Zack Rusin  <zack@kde.org>

        Reviewed by Mitz.

        Fix the Qt build after last nights changes.

        * WebCore/platform/qt/FrameQt.cpp:
        * WebCore/platform/qt/EditorClientQt.h:
        * WebCore/platform/qt/EditorClientQt.cpp:
        * WebCore/platform/graphics/svg/qt/SVGResourceImageQt.cpp:
        * WebCore/platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
        * WebCore/CMakeLists.txt:
        * WebCore/kcanvas/device/qt/KRenderingDeviceQt.cpp:
        * WebKitQt/QtLauncher/CMakeLists.txt:
        * WebKitQt/WebKitPart/CMakeLists.txt:

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

        Reviewed by Anders.

        - remove BrowserExtension

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::WindowFunc::callAsFunction):
        * bridge/BrowserExtension.h: Removed.
        * bridge/mac/BrowserExtensionMac.h: Removed.
        * bridge/mac/BrowserExtensionMac.mm: Removed.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::urlSelected):
        * bridge/win/BrowserExtensionWin.cpp: Removed.
        * bridge/win/BrowserExtensionWin.h: Removed.
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow):
        * loader/FrameLoader.h:
        * loader/icon/IconLoader.cpp:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::createWindow):
        * page/Frame.cpp:
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::submitForm):
        (WebCore::Frame::scheduleHistoryNavigation):
        (WebCore::Frame::redirectionTimerFired):
        * page/Frame.h:
        * page/FrameLoadRequest.h:
        (WebCore::FrameLoadRequest::FrameLoadRequest):
        (WebCore::FrameLoadRequest::isEmpty):
        (WebCore::FrameLoadRequest::resourceRequest):
        (WebCore::FrameLoadRequest::frameName):
        (WebCore::FrameLoadRequest::setFrameName):
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        (WebCore::FramePrivate::~FramePrivate):
        * platform/gdk/BrowserExtensionGdk.h: Removed.
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::FrameGdk):
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::isEmpty):

2006-10-31  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Modified from original due to earlier reversion

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

        Better SVG integration in WebKit, Part I.

        The patch is mostly about creating a new platform/graphics directory, and
        moving the kcanvas resources (clipper/masker/marker) there (in svg budir),
        with a new name (KCanvasClipper -> SVGResourceClipper). Also fix several ownership
        issues, by using ref counting (the SVG classes now store RefPtrs to the resources).

        KCanvasFilters is still left in kcanvas/ subdirectory, to be converted in a next patch.
        All details of the patch, and upcoming patches can be found in the bug report.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * graphics/svg/SVGResource.cpp: Removed.
        * graphics/svg/SVGResourceClipper.cpp: Removed.
        * graphics/svg/SVGResourceClipper.h: Removed.
        * graphics/svg/SVGResourceImage.h: Removed.
        * graphics/svg/SVGResourceListener.h: Removed.
        * graphics/svg/SVGResourceMarker.cpp: Removed.
        * graphics/svg/SVGResourceMarker.h: Removed.
        * graphics/svg/SVGResourceMasker.cpp: Removed.
        * graphics/svg/SVGResourceMasker.h: Removed.
        * kcanvas/KCanvasClipper.cpp: Removed.
        * kcanvas/KCanvasClipper.h: Removed.
        * kcanvas/KCanvasCreator.cpp: Removed.
        * kcanvas/KCanvasCreator.h: Removed.
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::getFilterById):
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasImage.h: Removed.
        * kcanvas/KCanvasMarker.cpp: Removed.
        * kcanvas/KCanvasMarker.h: Removed.
        * kcanvas/KCanvasMasker.cpp: Removed.
        * kcanvas/KCanvasMasker.h: Removed.
        * kcanvas/KCanvasResource.cpp: Removed.
        * kcanvas/KCanvasResource.h: Removed.
        * kcanvas/KCanvasResourceListener.h: Removed.
        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::writeRenderResources):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingPaintServer.h:
        (WebCore::KRenderingPaintServer::KRenderingPaintServer):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (WebCore::KRenderingPaintServerGradient::listener):
        (WebCore::KRenderingPaintServerGradient::setListener):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::tile):
        (WebCore::KRenderingPaintServerPattern::setTile):
        (WebCore::KRenderingPaintServerPattern::listener):
        (WebCore::KRenderingPaintServerPattern::setListener):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/qt/KCanvasClipperQt.cpp: Removed.
        * kcanvas/device/qt/KCanvasClipperQt.h:
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceQt::contextForImage):
        (WebCore::KRenderingDeviceQt::createResource):
        (WebCore::KRenderingDeviceQt::createPaintServer):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
        * kcanvas/device/qt/RenderPathQt.h: Removed.
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::getCIFilterStack):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Removed.
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Removed.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::contextForImage):
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        (WebCore::KRenderingDeviceQuartz::createResource):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
        (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
        (WebCore::KRenderingPaintServerGradientQuartz::setup):
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::patternCallback):
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::sharedSolidPaintServer):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        (WebCore::SVGClipPathElement::~SVGClipPathElement):
        (WebCore::SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        (WebCore::SVGFilterElement::~SVGFilterElement):
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::~SVGGradientElement):
        (WebCore::SVGGradientElement::canvasResource):
        (WebCore::SVGGradientElement::resourceNotification):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::~SVGMarkerElement):
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::~SVGMaskElement):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::~SVGPatternElement):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::canvasResource):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::canvasResource):
        * platform/GraphicsContext.cpp: Removed.
        * platform/GraphicsContext.h: Removed.
        * platform/GraphicsTypes.cpp: Removed.
        * platform/GraphicsTypes.h: Removed.
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        (WebCore::GraphicsContext::createGraphicsContextPrivate):
        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::font):
        (WebCore::GraphicsContext::setFont):
        (WebCore::GraphicsContext::pen):
        (WebCore::GraphicsContext::setPen):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::fillColor):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawText):
        (WebCore::GraphicsContext::drawHighlightForText):
        (WebCore::GraphicsContext::initFocusRing):
        (WebCore::GraphicsContext::clearFocusRing):
        (WebCore::GraphicsContext::focusRingBoundingRect):
        (WebCore::GraphicsContext::addFocusRingRect):
        (WebCore::GraphicsContext::focusRingWidth):
        (WebCore::GraphicsContext::focusRingOffset):
        (WebCore::GraphicsContext::focusRingRects):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsTypes.cpp:
        (WebCore::):
        (WebCore::parseCompositeOperator):
        (WebCore::compositeOperatorName):
        (WebCore::parseLineCap):
        (WebCore::lineCapName):
        (WebCore::parseLineJoin):
        (WebCore::lineJoinName):
        * platform/graphics/GraphicsTypes.h:
        (WebCore::):
        * platform/graphics/svg/SVGResource.cpp: Added.
        (WebCore::SVGResource::SVGResource):
        (WebCore::SVGResource::~SVGResource):
        (WebCore::SVGResource::invalidate):
        (WebCore::SVGResource::addClient):
        (WebCore::SVGResource::clients):
        (WebCore::SVGResource::idInRegistry):
        (WebCore::SVGResource::setIdInRegistry):
        (WebCore::SVGResource::externalRepresentation):
        (WebCore::getResourceById):
        (WebCore::getPaintServerById):
        (WebCore::operator<<):
        * platform/graphics/svg/SVGResource.h: Added.
        (WebCore::):
        (WebCore::SVGResource::isPaintServer):
        (WebCore::SVGResource::isFilter):
        (WebCore::SVGResource::isClipper):
        (WebCore::SVGResource::isMarker):
        (WebCore::SVGResource::isMasker):
        (WebCore::SVGResourceListener::~SVGResourceListener):
        * platform/graphics/svg/SVGResourceClipper.cpp: Added.
        (WebCore::SVGResourceClipper::SVGResourceClipper):
        (WebCore::SVGResourceClipper::~SVGResourceClipper):
        (WebCore::SVGResourceClipper::resetClipData):
        (WebCore::SVGResourceClipper::addClipData):
        (WebCore::SVGResourceClipper::clipData):
        (WebCore::SVGResourceClipper::externalRepresentation):
        (WebCore::operator<<):
        (WebCore::getClipperById):
        * platform/graphics/svg/SVGResourceClipper.h: Added.
        (WebCore::ClipDataList::addPath):
        (WebCore::SVGResourceClipper::isClipper):
        * platform/graphics/svg/SVGResourceImage.h: Added.
        * platform/graphics/svg/SVGResourceMarker.cpp: Added.
        (WebCore::SVGResourceMarker::SVGResourceMarker):
        (WebCore::SVGResourceMarker::~SVGResourceMarker):
        (WebCore::SVGResourceMarker::setMarker):
        (WebCore::SVGResourceMarker::setRef):
        (WebCore::SVGResourceMarker::draw):
        (WebCore::SVGResourceMarker::externalRepresentation):
        (WebCore::getMarkerById):
        * platform/graphics/svg/SVGResourceMarker.h: Added.
        (WebCore::SVGResourceMarker::refX):
        (WebCore::SVGResourceMarker::refY):
        (WebCore::SVGResourceMarker::setAngle):
        (WebCore::SVGResourceMarker::setAutoAngle):
        (WebCore::SVGResourceMarker::angle):
        (WebCore::SVGResourceMarker::setUseStrokeWidth):
        (WebCore::SVGResourceMarker::useStrokeWidth):
        (WebCore::SVGResourceMarker::isMarker):
        * platform/graphics/svg/SVGResourceMasker.cpp: Added.
        (WebCore::SVGResourceMasker::SVGResourceMasker):
        (WebCore::SVGResourceMasker::~SVGResourceMasker):
        (WebCore::SVGResourceMasker::setMask):
        (WebCore::SVGResourceMasker::mask):
        (WebCore::SVGResourceMasker::externalRepresentation):
        (WebCore::getMaskerById):
        * platform/graphics/svg/SVGResourceMasker.h: Added.
        (WebCore::SVGResourceMasker::isMasker):
        * platform/graphics/svg/cg/SVGResourceClipperCg.mm: Added.
        (WebCore::SVGResourceClipper::applyClip):
        * platform/graphics/svg/cg/SVGResourceImageCg.mm: Added.
        (WebCore::SVGResourceImage::SVGResourceImage):
        (WebCore::SVGResourceImage::~SVGResourceImage):
        (WebCore::SVGResourceImage::init):
        (WebCore::SVGResourceImage::size):
        (WebCore::SVGResourceImage::cgLayer):
        (WebCore::SVGResourceImage::setCGLayer):
        * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Added.
        (WebCore::applyLuminanceToAlphaFilter):
        (WebCore::applyExpandAlphatoGrayscaleFilter):
        (WebCore::transformImageIntoGrayscaleMask):
        (WebCore::SVGResourceMasker::applyMask):
        * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Added.
        (WebCore::SVGResourceClipper::applyClip):
        * platform/graphics/svg/qt/SVGResourceImageQt.cpp: Added.
        (WebCore::SVGResourceImage::init):
        (WebCore::SVGResourceImage::size):
        * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Added.
        (WebCore::SVGResourceMasker::applyMask):
        * platform/qt/GraphicsContextQt.cpp:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

2006-10-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Brady
        
        - minor cleanup to make future patches clearer

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        renamed misspelling to misspellingNSRange for clarity; changed > 0 test to == 0 test
        with "continue" to better match structure of similar code in markMisspellings; a few
        other style tweaks.
        
        (WebCore::FrameMac::markMisspellings):
        renamed misspelling to misspellingNSRange for clarity; removed unnecessary braces around
        a block just after a break and outdented accordingly.

2006-10-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Geoff Garen
        
        WebCore part of change to push the code that updates the spelling panel
        into WebCore, in preparation for some grammar-checking stuff.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        no more return value for this method, and update the spelling panel with
        the misspelled word here rather than in the WebKit callers.

2006-10-30  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders.

        Roll out last patch

        * CMakeLists.txt:
        * ChangeLog:
        * WebCore.xcodeproj/project.pbxproj:
        * graphics/svg/SVGResource.cpp:
        * graphics/svg/SVGResourceClipper.cpp:
        * graphics/svg/SVGResourceClipper.h:
        * graphics/svg/SVGResourceImage.h:
        * graphics/svg/SVGResourceListener.h:
        * graphics/svg/SVGResourceMarker.cpp:
        * graphics/svg/SVGResourceMarker.h:
        * graphics/svg/SVGResourceMasker.cpp:
        * graphics/svg/SVGResourceMasker.h:
        * kcanvas/KCanvasClipper.cpp: Added.
        (WebCore::operator<<):
        (WebCore::KCanvasClipper::KCanvasClipper):
        (WebCore::KCanvasClipper::~KCanvasClipper):
        (WebCore::KCanvasClipper::resetClipData):
        (WebCore::KCanvasClipper::addClipData):
        (WebCore::KCanvasClipper::clipData):
        (WebCore::KCanvasClipper::externalRepresentation):
        (WebCore::getClipperById):
        * kcanvas/KCanvasClipper.h: Added.
        (WebCore::KCClipData::windRule):
        (WebCore::KCClipDataList::KCClipDataList):
        (WebCore::KCClipDataList::addPath):
        (WebCore::KCanvasClipper::isClipper):
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::getFilterById):
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasImage.h: Added.
        (WebCore::KCanvasImage::KCanvasImage):
        (WebCore::KCanvasImage::~KCanvasImage):
        * kcanvas/KCanvasMarker.cpp: Added.
        (WebCore::KCanvasMarker::KCanvasMarker):
        (WebCore::KCanvasMarker::~KCanvasMarker):
        (WebCore::KCanvasMarker::setMarker):
        (WebCore::KCanvasMarker::setRef):
        (WebCore::KCanvasMarker::refX):
        (WebCore::KCanvasMarker::refY):
        (WebCore::KCanvasMarker::setAngle):
        (WebCore::KCanvasMarker::angle):
        (WebCore::KCanvasMarker::setAutoAngle):
        (WebCore::KCanvasMarker::setUseStrokeWidth):
        (WebCore::KCanvasMarker::useStrokeWidth):
        (WebCore::KCanvasMarker::draw):
        (WebCore::KCanvasMarker::externalRepresentation):
        (WebCore::getMarkerById):
        * kcanvas/KCanvasMarker.h: Added.
        (WebCore::KCanvasMarker::isMarker):
        * kcanvas/KCanvasMasker.cpp: Added.
        (WebCore::KCanvasMasker::KCanvasMasker):
        (WebCore::KCanvasMasker::~KCanvasMasker):
        (WebCore::KCanvasMasker::setMask):
        (WebCore::KCanvasMasker::externalRepresentation):
        (WebCore::getMaskerById):
        * kcanvas/KCanvasMasker.h: Added.
        (WebCore::KCanvasMasker::isMasker):
        (WebCore::KCanvasMasker::mask):
        * kcanvas/KCanvasResource.cpp: Added.
        (WebCore::operator<<):
        (WebCore::KCanvasResource::KCanvasResource):
        (WebCore::KCanvasResource::~KCanvasResource):
        (WebCore::KCanvasResource::addClient):
        (WebCore::KCanvasResource::clients):
        (WebCore::KCanvasResource::invalidate):
        (WebCore::KCanvasResource::idInRegistry):
        (WebCore::KCanvasResource::setIdInRegistry):
        (WebCore::KCanvasResource::externalRepresentation):
        (WebCore::getResourceById):
        (WebCore::getPaintServerById):
        * kcanvas/KCanvasResource.h:
        (WebCore::):
        (WebCore::KCanvasResource::isPaintServer):
        (WebCore::KCanvasResource::isFilter):
        (WebCore::KCanvasResource::isClipper):
        (WebCore::KCanvasResource::isMarker):
        (WebCore::KCanvasResource::isMasker):
        * kcanvas/KCanvasResourceListener.h: Added.
        (KCanvasResourceListener::KCanvasResourceListener):
        (KCanvasResourceListener::~KCanvasResourceListener):
        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::writeRenderResources):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingPaintServer.h:
        (WebCore::KRenderingPaintServer::KRenderingPaintServer):
        (WebCore::KRenderingPaintServer::idInRegistry):
        (WebCore::KRenderingPaintServer::setIdInRegistry):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (WebCore::KRenderingPaintServerGradient::listener):
        (WebCore::KRenderingPaintServerGradient::setListener):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::tile):
        (WebCore::KRenderingPaintServerPattern::setTile):
        (WebCore::KRenderingPaintServerPattern::listener):
        (WebCore::KRenderingPaintServerPattern::setListener):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/qt/KCanvasClipperQt.cpp:
        (WebCore::KCanvasClipperQt::applyClip):
        * kcanvas/device/qt/KCanvasClipperQt.h:
        (WebCore::KCanvasClipperQt::KCanvasClipperQt):
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceQt::contextForImage):
        (WebCore::KRenderingDeviceQt::createResource):
        (WebCore::KRenderingDeviceQt::createPaintServer):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::getCIFilterStack):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
        (WebCore::KCanvasMaskerQuartz::KCanvasMaskerQuartz):
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        (WebCore::applyLuminanceToAlphaFilter):
        (WebCore::applyExpandAlphatoGrayscaleFilter):
        (WebCore::transformImageIntoGrayscaleMask):
        (WebCore::KCanvasMaskerQuartz::applyMask):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        (WebCore::KCanvasClipperQuartz::KCanvasClipperQuartz):
        (WebCore::KCanvasImageQuartz::KCanvasImageQuartz):
        (WebCore::KCanvasImageQuartz::init):
        (WebCore::KCanvasImageQuartz::size):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasClipperQuartz::applyClip):
        (WebCore::KCanvasImageQuartz::~KCanvasImageQuartz):
        (WebCore::KCanvasImageQuartz::cgLayer):
        (WebCore::KCanvasImageQuartz::setCGLayer):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::contextForImage):
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        (WebCore::KRenderingDeviceQuartz::createResource):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
        (WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
        (WebCore::KRenderingPaintServerGradientQuartz::setup):
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::patternCallback):
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::sharedSolidPaintServer):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::SVGClipPathElement):
        (WebCore::SVGClipPathElement::~SVGClipPathElement):
        (WebCore::SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFilterElement.cpp:
        (WebCore::SVGFilterElement::SVGFilterElement):
        (WebCore::SVGFilterElement::~SVGFilterElement):
        (WebCore::SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::~SVGGradientElement):
        (WebCore::SVGGradientElement::canvasResource):
        (WebCore::SVGGradientElement::resourceNotification):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::~SVGMarkerElement):
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::~SVGMaskElement):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::~SVGPatternElement):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::canvasResource):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::canvasResource):
        * platform/GraphicsContext.cpp: Added.
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        (WebCore::GraphicsContext::createGraphicsContextPrivate):
        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::font):
        (WebCore::GraphicsContext::setFont):
        (WebCore::GraphicsContext::pen):
        (WebCore::GraphicsContext::setPen):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::fillColor):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawText):
        (WebCore::GraphicsContext::drawHighlightForText):
        (WebCore::GraphicsContext::initFocusRing):
        (WebCore::GraphicsContext::clearFocusRing):
        (WebCore::GraphicsContext::focusRingBoundingRect):
        (WebCore::GraphicsContext::addFocusRingRect):
        (WebCore::GraphicsContext::focusRingWidth):
        (WebCore::GraphicsContext::focusRingOffset):
        (WebCore::GraphicsContext::focusRingRects):
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/GraphicsContext.h: Added.
        * platform/GraphicsTypes.cpp: Added.
        (WebCore::):
        (WebCore::parseCompositeOperator):
        (WebCore::compositeOperatorName):
        (WebCore::parseLineCap):
        (WebCore::lineCapName):
        (WebCore::parseLineJoin):
        (WebCore::lineJoinName):
        * platform/GraphicsTypes.h: Added.
        (WebCore::):
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsTypes.cpp:
        * platform/graphics/GraphicsTypes.h:
        * platform/qt/GraphicsContextQt.cpp:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * rendering/SVGInlineFlowBox.cpp:
        (WebCore::paintSVGInlineFlow):

2006-10-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Geoff Garen.
        
        Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
        grammar-related method.

        * bridge/EditorClient.h:
        declare isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
        isGrammarCheckingEnabled()
        
        * bridge/mac/WebCoreFrameBridge.h:
        removed bridge equivalents

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        convert bridge-using code to editor()->client()-using code
        (WebCore::FrameMac::markMisspellingsInAdjacentWords):
        ditto
        (WebCore::FrameMac::markMisspellings):
        ditto
        (WebCore::FrameMac::respondToChangedSelection):
        ditto
        
        * editing/Editor.h:
        * editing/Editor.cpp:
        (WebCore::Editor::client):
        new method, returns EditorClient pointer. In an ideal world all the code that needed to
        access the EditorClient would be in Editor.cpp, and we wouldn't need this accessor.
        But for now it's too tricky to extricate the spelling-related code from FrameMac.mm.

2006-10-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        Removed a number of editing and selection methods from the bridge.
        
        I moved cross-platform editing and selection code into Editor and 
        SelectionController, respecitvely.

        I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
        everything + the kitchen sink.
        
        Specific comments below for interesting things.
        
        * bindings/objc/DOMInternal.h: Moved exception handling helper methods into
        a new file so that WebKit can use them, too. Added a helper method for
        handling exceptions when selecting a Range.
        * bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into 
        WebKit, since they have to do with creating an NSAttributedString for API
        consumption, and not much to do with general Frame functionality.
        * editing/Editor.h: Moved lastEditCommand tracking (at least the data,
        for now) into the Editor. Eventually, the Frame will not have to notify 
        the Editor of what the lastEditCommand was, since the Editor will perform
        all EditCommands.
        * editing/SelectionController.h: The code here is just stuff moved from the bridge.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
        and return them. The bridge method to select a DOM range did this implicitly,
        since all ObjC DOM operations handle DOM exceptions by throwing them as
        ObjC exceptions.
        * editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
        The two enumerations are numerically identical, but that's an implementation
        detail of TextAffinity that clients shouldn't be required to know about.

2006-10-30  Timothy Hatcher  <timothy@apple.com>

        Rolling out the following change because this crash:
        <rdar://problem/4806705> REGRESSION: Crash occurs at WebCore::Font::lineSpacing() when loading site (http://www.photoplusexpo.com/ppe/index.jsp) 

        And this regression:
        <rdar://problem/4728514> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/

    2006-09-06  David Harrison  <harrison@apple.com>

        Reviewed and tweaked by Tim H. 

        <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation 

        If we don't find the font in the available fonts list, call [NSFont fontWithName:size:] 
        to trigger a search that will include auto activation. No PLT or iBench perf impact. 
        No layout tests affected. Not testable in an automated way that will work on all systems. 

        * platform/mac/WebFontCache.mm: 
        (+[WebFontCache fontWithFamily:traits:size:]): 

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

        Reviewed by harrison

        <rdar://problem/4808375>
        REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) (11460)

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::exitNode): Only create VisiblePositions
        when we're going to use them to create a range for an emitted character.
        We should further speed TextIterators up by avoiding creating VisiblePositions
        for TIs that are only used for the characters they emit (like the one that 
        plainText uses).

2006-10-30  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
        More rendering code cleaning

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::RenderApplet):
        (WebCore::RenderApplet::createWidgetIfNecessary):
        * rendering/RenderApplet.h:
        * rendering/RenderArena.cpp:
        (WebCore::):
        (WebCore::RenderArena::RenderArena):
        (WebCore::RenderArena::allocate):
        (WebCore::RenderArena::free):
        * rendering/RenderArena.h:
        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::RenderBR):
        (WebCore::RenderBR::baselinePosition):
        (WebCore::RenderBR::lineHeight):
        (WebCore::RenderBR::setStyle):
        (WebCore::RenderBR::caretMinOffset):
        (WebCore::RenderBR::positionForCoordinates):
        (WebCore::RenderBR::inlineBox):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::maxTopMargin):
        (WebCore::RenderBlock::maxBottomMargin):
        (WebCore::RenderBlock::initMaxMarginValues):
        (WebCore::RenderBlock::containsFloats):
        (WebCore::RenderBlock::setHasMarkupTruncation):
        (WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
        (WebCore::RenderBlock::BlockSelectionInfo::block):
        (WebCore::RenderBlock::BlockSelectionInfo::state):
        (WebCore::RenderBlock::FloatingObject::FloatingObject):
        (WebCore::RenderBlock::CompactInfo::clear):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::removeChild):
        (WebCore::RenderButton::paintObject):
        * rendering/RenderButton.h:
        (WebCore::RenderButton::renderName):
        (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::RenderContainer):
        * rendering/RenderContainer.h:
        (WebCore::RenderContainer::firstChild):
        (WebCore::RenderContainer::lastChild):
        (WebCore::RenderContainer::calcMinMaxWidth):
        * rendering/RenderCounter.cpp:
        (WebCore::RenderCounter::RenderCounter):
        (WebCore::toRoman):
        (WebCore::toHebrew):
        (WebCore::RenderCounter::calcMinMaxWidth):
        * rendering/RenderCounter.h:
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintBorderMinusLegend):
        (WebCore::RenderFieldset::setStyle):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
        (WebCore::RenderFileUploadControl::setStyle):
        (WebCore::RenderFileUploadControl::paintObject):
        (WebCore::RenderFileUploadControl::calcMinMaxWidth):
        * rendering/RenderFileUploadControl.h:
        (WebCore::RenderFileUploadControl::renderName):
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFlow.h:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::RenderForeignObject):
        (WebCore::RenderForeignObject::paint):
        (WebCore::RenderForeignObject::computeAbsoluteRepaintRect):
        (WebCore::RenderForeignObject::layout):
        (WebCore::RenderForeignObject::nodeAtPoint):
        * rendering/RenderForeignObject.h:
        (WebCore::RenderForeignObject::renderName):
        * rendering/RenderFormElement.cpp:
        (WebCore::RenderFormElement::setStyle):
        (WebCore::RenderFormElement::layout):
        (WebCore::RenderFormElement::textAlignment):
        * rendering/RenderFormElement.h:
        * rendering/RenderFrame.cpp:
        * rendering/RenderFrame.h:
        (WebCore::RenderFrame::element):
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderFrameSet.h:
        (WebCore::RenderFrameSet::element):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/RenderHTMLCanvas.h:
        (WebCore::RenderHTMLCanvas::renderName):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::setStyle):
        (WebCore::RenderImage::setContentObject):
        (WebCore::RenderImage::setCachedImage):
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::paint):
        (WebCore::RenderImage::layout):
        (WebCore::RenderImage::updateAltText):
        * rendering/RenderImage.h:
        (WebCore::RenderImage::element):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::~RenderInline):
        (WebCore::RenderInline::setStyle):
        (WebCore::RenderInline::addChildToFlow):
        (WebCore::RenderInline::cloneInline):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::splitFlow):
        (WebCore::RenderInline::paint):
        (WebCore::RenderInline::absoluteRects):
        (WebCore::RenderInline::calcMinMaxWidth):
        (WebCore::RenderInline::requiresLayer):
        (WebCore::RenderInline::width):
        (WebCore::RenderInline::height):
        (WebCore::RenderInline::renderName):
        (WebCore::RenderInline::nodeAtPoint):
        (WebCore::RenderInline::positionForCoordinates):
        * rendering/RenderInline.h:
        (WebCore::RenderInline::layout):
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        (WebCore::ClipRects::ClipRects):
        (WebCore::RenderLayer::nextSibling):
        (WebCore::RenderLayer::root):
        (WebCore::RenderLayer::setPos):
        (WebCore::RenderLayer::height):
        (WebCore::RenderLayer::relativePositionOffset):
        * rendering/RenderLineEdit.cpp:
        (WebCore::RenderLineEdit::setStyle):
        (WebCore::RenderLineEdit::updateFromElement):
        (WebCore::RenderLineEdit::selectionStart):
        (WebCore::RenderLineEdit::selectionEnd):
        (WebCore::RenderLineEdit::setSelectionStart):
        (WebCore::RenderLineEdit::setSelectionEnd):
        (WebCore::RenderLineEdit::setSelectionRange):
        * rendering/RenderLineEdit.h:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::renderName):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::setStyle):
        (WebCore::getParentOfFirstLineBox):
        (WebCore::RenderListItem::updateMarkerLocation):
        (WebCore::RenderListItem::positionListMarker):
        (WebCore::RenderListItem::paint):
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderListMarker.h:
        (WebCore::RenderListMarker::renderName):
        (WebCore::RenderListMarker::isListMarker):

2006-10-30  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        <rdar://problem/4478625> Basic table editing and culling

        Refined the criteria for deletable elements, rely on the renderer more.
        Corrected the interface positioning for elements that have borders.

        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        (WebCore::DeleteButtonController::show):

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

        - fix build

        * loader/ResourceLoader.h: Added header guard.

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

        Reviewed by Adam.

        - fix FrameLoader files so they can be built on non-Mac platforms

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate): Added code to create the frame loader.
        (WebCore::FramePrivate::~FramePrivate): Added code to delete the frame loader.

        * page/Page.h:
        * page/Page.cpp: (WebCore::Page::setDefersLoading): Removed the
        #if PLATFORM(MAC) that Adam added as a stop-gap when I did this wrong
        the other day.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac): Removed code to create the frame loader.
        (WebCore::FrameMac::~FrameMac): Removed code to delete the frame loader.

        * loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
        around the PolicyCheck definition.

        * loader/FormState.cpp: Changed import to include.
        * loader/FrameLoader.cpp: Ditto.
        * loader/MainResourceLoader.h: Ditto.

        * loader/FrameLoaderTypes.h: Added a header guard.

        * loader/NetscapePlugInStreamLoader.h: Changed import to include.
        Added #if PLATFORM(MAC) around Mac-specific details.
        * loader/SubresourceLoader.h: Ditto.

        * page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
        m_loader from m_frameLoader.

        * CMakeLists.txt: Updated.
        * WebCoreSources.bkl: Updated.

2006-10-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Patch by Zack rusin to fix: 
        http://bugs.webkit.org/show_bug.cgi?id=11429

        Fix startup crash.

        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):

2006-10-30  Zach Rusin  <zack@kde.org>

        Reviewed and landed by Anders.

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::receivedResponse):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::FrameQtClientDefault):
        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::ServeSynchronousRequest):
        More build fixes.

2006-10-30  Simon Hausmann  <hausmann@kde.org>

        Reviewed and landed by Anders.
        
        - fix Qt build
        * platform/qt/FrameQtClient.cpp: ResourceLoaderClient ->
        ResourceHandleClient

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

        Reviewed by John Sullivan.

        - work toward removing Objective-C data types from FrameLoader.h:
          removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
          and WebCoreResourceHandle
        - moved bodyBackgroundColor function from Frame to WebFrame in WebKit

        * page/PageState.h:
        * page/PageState.cpp: Added, C++ class with much of what WebCorePageState had.

        * bridge/mac/FrameMac.h: Removed uneeeded declarations and bodyBackgroundColor().
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::startRedirectionTimer): Use a
        double for the date instead of an NSDate.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm: Removed invalidatePageCache and
        saveDocumentToPageCache methods.

        * bridge/mac/WebCorePageState.h:
        * bridge/mac/WebCorePageState.mm: Removed most of the class and turned it into
        an Objective-C wrapper for PageState.

        * loader/FrameLoader.h: Removed unused Objective-C types, eliminated use of
        NSDate and WebCorePageState.
        * loader/FrameLoaderClient.h: Changed NSDate to double.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::receivedMainResourceError): Moved call to setInPageCache
        here that used to be in invalidateCurrentItemPageCache on the WebKit side.
        (WebCore::FrameLoader::clientRedirected): Changed NSDate to double for date.
        (WebCore::FrameLoader::open): Moved one of the open functions that was part of
        commitProvisionalLoad inside the commitProvisionalLoad function, so that it can
        extract the parameters from the response. Changed the open function that takes
        a PageState to use the new C++ PageState.
        (WebCore::FrameLoader::commitProvisionalLoad): Added the code from the open
        function; tightened up logic, removing a few cases that could never happen, as
        well as the unused reload boolean.

        * ForwardingHeaders/kjs/property_map.h: Added.

        * WebCore.exp: Updated.
        * WebCore.xcodeproj/project.pbxproj: Updated.

2006-10-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - added ResourceResponse class and didReceiveResponse delegate call
        
        * WebCore.xcodeproj/project.pbxproj: Added new files.
        * bridge/mac/WebCoreFrameBridge.h: Removed no longer needed
        expiresTimeForResponse: method.
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc): Updated to use ResourceResponse.
        * loader/FrameLoader.h: Update loadResourceSynchronously to
        use ResourceResponse.
        * loader/LoaderFunctions.h:
        * loader/icon/IconLoader.cpp:
        (IconLoader::didReceiveResponse): Updated from receivedResponse
        and made cross-platform.
        * loader/icon/IconLoader.h: updated for above change
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse): reduced to just saving
        the PlatformResponse (ideally we'd phase out use of this).
        (WebCore::Loader::didReceivedResponse): most of the ReceivedResponse 
        logic.
        * loader/loader.h:
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::loadResourceSynchronously): Return results
        as ResourceResponse.
        * loader/mac/IconLoaderMac.mm: remove receivedResponse.
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest): take ResourceResponse as
        argument.
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h: Remove calls for
        broken out response pieces.
        * platform/network/ResourceHandleClient.h:
        (WebCore::ResourceHandleClient::didReceiveResponse): New
        delegate method.
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal): Remove
        storage of response bits, we're not gonna return them
        seprately any more.
        * platform/network/ResourceResponse.h: Added.
        (WebCore::ResourceResponse::ResourceResponse): Freshly
        implemented. Same for below.
        (WebCore::ResourceResponse::url):
        (WebCore::ResourceResponse::mimeType):
        (WebCore::ResourceResponse::expectedContentLength):
        (WebCore::ResourceResponse::textEncodingName):
        (WebCore::ResourceResponse::suggestedFilename):
        (WebCore::ResourceResponse::httpStatusCode):
        (WebCore::ResourceResponse::setHTTPStatusCode):
        (WebCore::ResourceResponse::httpHeaderField):
        (WebCore::ResourceResponse::httpHeaderFields):
        (WebCore::ResourceResponse::isMultipart):
        (WebCore::ResourceResponse::setExpirationDate):
        (WebCore::ResourceResponse::expirationDate):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::didReceiveResponse): Send didReceiveResponse
        client method.
        * platform/network/cf/ResourceResponseCFNet.h: Added.
        * platform/network/cf/ResourceResponseCFNet.mm: Added.
        (getResourceResponse): Helper function to get a ResourceResponse 
        from CFURLResponseRef.
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        Don't bother cleaning up fields we no longer have.
        (WebCore::ResourceHandle::receivedResponse): Send
        didReceiveResponse client method.
        * platform/network/mac/ResourceResponseMac.h: Added.
        * platform/network/mac/ResourceResponseMac.mm: Added.
        (getResourceResponse): Helper function to get a ResourceResponse 
        from an NSURLResponse*.
        * rendering/HitTestResult.cpp:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc): Prepare for use of ResourceResponse.
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::getResponseText): Store http response
        info in the form of a ResourceResponse, change all methods to
        account for this.
        (WebCore::XMLHttpRequest::getResponseXML):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::getStatus):
        (WebCore::XMLHttpRequest::getStatusText):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

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

        - fix build

        * loader/DocumentLoader.h: Add declarations so this compiles without ObjC.
        * loader/NetscapePlugInStreamLoader.h: Ditto.
        * loader/ResourceLoader.h: Ditto.

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

        - one last name change -- WebFormState.h to FormState.h
        - added more empty placeholder platform-independent files
          for currently-Mac-specific loader classes

        * loader/FormState.cpp: Updated include.
        * loader/FrameLoader.cpp: Updated include.
        * loader/mac/FrameLoaderMac.mm: Updated include.

        * loader/WebFormState.h: Removed.
        * loader/FormState.h: Added.

        * loader/DocumentLoader.cpp: Added.
        * loader/MainResourceLoader.cpp: Added.
        * loader/NetscapePlugInStreamLoader.cpp: Added.
        * loader/ResourceLoader.cpp: Added.
        * loader/SubresourceLoader.cpp: Added.

        * WebCore.xcodeproj/project.pbxproj: Updated for changes above.

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

        - did the do-webcore-rename renames, including a number of changes
          to the names of loader files (and WebResourceLoader -> ResourceLoader),
          jScript() to scriptProxy(), jScriptEnabled() to javaScriptEnabled(),
          and improvements to the names of decoder classes and their source
          files (Decoder -> TextResourceDecoder, StreamingTextDecoder -> TextCodec)

        * CMakeLists.txt:
        * WebCore.exp:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::updateDOMNodeDocument):
        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::implementsCall):
        * bindings/js/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::interpreter):
        (KJS::Window::retrieveWindow):
        (KJS::Window::retrieve):
        (KJS::ScheduledAction::execute):
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::executionContextForDOM):
        (WebCore::FrameMac::bindingRootObject):
        (WebCore::FrameMac::windowScriptObject):
        (WebCore::FrameMac::windowScriptNPObject):
        (WebCore::FrameMac::partClearedInBegin):
        * bridge/mac/WebCoreEncodings.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
        (-[WebCoreFrameBridge stringWithData:]):
        (-[WebCoreFrameBridge executionContextForView:]):
        * bridge/win/FrameWin.cpp:
        * dom/Document.cpp:
        (WebCore::Document::inputEncoding):
        (WebCore::Document::setCharset):
        (WebCore::Document::createHTMLEventListener):
        (WebCore::Document::setDecoder):
        * dom/Document.h:
        (WebCore::Document::decoder):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::noscriptCreateErrorCheck):
        (WebCore::HTMLParser::canvasCreateErrorCheck):
        (WebCore::HTMLParser::isInline):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createNPObject):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::evaluateScript):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::processToken):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::createSVGEventListener):
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::setEncoding):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::CachedXBLDocument):
        (WebCore::CachedXBLDocument::setEncoding):
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
        (WebCore::CachedXSLStyleSheet::setEncoding):
        * loader/CachedXSLStyleSheet.h:
        * loader/Decoder.cpp: Removed.
        * loader/Decoder.h: Removed.
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/FrameLoaderClient.h:
        * loader/MainResourceLoader.h: Added.
        * loader/NetscapePlugInStreamLoader.h: Added.
        * loader/Request.h:
        (WebCore::Request::cachedResource):
        * loader/ResourceLoader.h: Added.
        * loader/SubresourceLoader.h: Added.
        * loader/TextResourceDecoder.cpp: Added.
        (WebCore::TextResourceDecoder::determineContentType):
        (WebCore::TextResourceDecoder::defaultEncoding):
        (WebCore::TextResourceDecoder::TextResourceDecoder):
        (WebCore::TextResourceDecoder::~TextResourceDecoder):
        (WebCore::TextResourceDecoder::setEncoding):
        (WebCore::TextResourceDecoder::checkForBOM):
        (WebCore::TextResourceDecoder::checkForCSSCharset):
        (WebCore::TextResourceDecoder::checkForHeadCharset):
        (WebCore::TextResourceDecoder::detectJapaneseEncoding):
        (WebCore::TextResourceDecoder::decode):
        (WebCore::TextResourceDecoder::flush):
        * loader/TextResourceDecoder.h: Added.
        * loader/WebDocumentLoader.h: Removed.
        * loader/WebLoader.h: Removed.
        * loader/WebMainResourceLoader.h: Removed.
        * loader/WebNetscapePlugInStreamLoader.h: Removed.
        * loader/WebSubresourceLoader.h: Removed.
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        (WebCore::Loader::didReceiveData):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::jobForRequest):
        * loader/mac/DocumentLoaderMac.mm:
        * loader/mac/FormDataStream.m: Added.
        * loader/mac/FrameLoaderMac.mm:
        (WebCore::FrameLoader::cancelPendingArchiveLoad):
        (WebCore::FrameLoader::addPlugInStreamLoader):
        (WebCore::FrameLoader::removePlugInStreamLoader):
        (WebCore::FrameLoader::addSubresourceLoader):
        (WebCore::FrameLoader::removeSubresourceLoader):
        (WebCore::FrameLoader::willSendRequest):
        (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
        (WebCore::FrameLoader::didCancelAuthenticationChallenge):
        (WebCore::FrameLoader::didReceiveResponse):
        (WebCore::FrameLoader::didReceiveData):
        (WebCore::FrameLoader::didFinishLoad):
        (WebCore::FrameLoader::didFailToLoad):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::willUseArchive):
        (WebCore::FrameLoader::isArchiveLoadPending):
        * loader/mac/ImageDocumentMac.mm:
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus):
        * loader/mac/MainResourceLoaderMac.mm:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::releaseDelegate):
        (WebCore::MainResourceLoader::didCancel):
        (WebCore::MainResourceLoader::addData):
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::setDefersLoading):
        * loader/mac/NetscapePlugInStreamLoaderMac.mm:
        (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
        (WebCore::NetscapePlugInStreamLoader::releaseResources):
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
        (WebCore::NetscapePlugInStreamLoader::didFail):
        (WebCore::NetscapePlugInStreamLoader::didCancel):
        * loader/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::releaseResources):
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::setDefersLoading):
        (WebCore::ResourceLoader::frameLoader):
        (WebCore::ResourceLoader::addData):
        (WebCore::ResourceLoader::resourceData):
        (WebCore::ResourceLoader::clearResourceData):
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
        (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didReceiveData):
        (WebCore::ResourceLoader::willStopBufferingData):
        (WebCore::ResourceLoader::didFinishLoading):
        (WebCore::ResourceLoader::didFinishLoadingOnePart):
        (WebCore::ResourceLoader::didFail):
        (WebCore::ResourceLoader::willCacheResponse):
        (WebCore::ResourceLoader::didCancel):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::setIdentifier):
        (WebCore::ResourceLoader::response):
        (WebCore::ResourceLoader::inConnectionCallback):
        (WebCore::ResourceLoader::cancelledError):
        (WebCore::ResourceLoader::receivedCredential):
        (WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
        (WebCore::ResourceLoader::receivedCancellation):
        (WebCore::ResourceLoader::delegate):
        (WebCore::ResourceLoader::releaseDelegate):
        (-[WebCoreResourceLoaderAsDelegate initWithLoader:]):
        * loader/mac/SubresourceLoaderMac.mm:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * loader/mac/WebFormDataStream.h: Removed.
        * loader/mac/WebFormDataStream.m: Removed.
        * page/Frame.cpp:
        (WebCore::Frame::javaScriptEnabled):
        (WebCore::Frame::scriptProxy):
        (WebCore::Frame::executeScript):
        (WebCore::Frame::write):
        (WebCore::Frame::userGestureHint):
        (WebCore::Frame::saveInterpreterBuiltins):
        (WebCore::Frame::restoreInterpreterBuiltins):
        (WebCore::Frame::backslashAsCurrencySymbol):
        * page/Frame.h:
        * page/FramePrivate.h:
        * platform/StreamingTextDecoder.cpp: Removed.
        * platform/StreamingTextDecoder.h: Removed.
        * platform/StreamingTextDecoderICU.cpp: Removed.
        * platform/StreamingTextDecoderICU.h: Removed.
        * platform/TextCodec.cpp: Added.
        * platform/TextCodec.h: Added.
        * platform/TextCodecICU.cpp: Added.
        * platform/TextCodecICU.h: Added.
        * platform/TextCodecLatin1.h:
        * platform/TextCodecUTF16.h:
        * platform/TextDecoder.h:
        * platform/TextEncoding.cpp:
        * platform/TextEncodingRegistry.cpp:
        * platform/image-decoders/jpeg/jmorecfg.h:
        * platform/mac/StreamingTextDecoderMac.cpp: Removed.
        * platform/mac/StreamingTextDecoderMac.h: Removed.
        * platform/mac/TextCodecMac.cpp: Added.
        * platform/mac/TextCodecMac.h: Added.
        * platform/network/ResourceHandleInternal.h:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::bindingRootObject):
        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::CheckCacheObjectStatus):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

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

        Rubber stamped by Adam (kinda).

        - add Mac suffixes and correct filenames inside loader/mac

        * WebCore.xcodeproj/project.pbxproj: Updated for changes below.

        * loader/mac/FrameLoader.mm: Removed.
        * loader/mac/WebDocumentLoader.mm: Removed.
        * loader/mac/WebLoader.mm: Removed.
        * loader/mac/WebMainResourceLoader.mm: Removed.
        * loader/mac/WebNetscapePlugInStreamLoader.mm: Removed.
        * loader/mac/WebSubresourceLoader.mm: Removed.

        * loader/mac/FrameLoaderMac.mm: Added.
        * loader/mac/DocumentLoaderMac.mm: Added.
        * loader/mac/ResourceLoaderMac.mm: Added.
        * loader/mac/MainResourceLoaderMac.mm: Added.
        * loader/mac/WebNetscapePlugInStreamLoaderMac.mm: Added.
        * loader/mac/SubresourceLoaderMac.mm: Removed.

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

        Reviewed by Adam.

        - moving towards use of FrameLoader cross-platform; get FrameLoader.h
          and FrameLoader.cpp mostly ready

        * WebCore.xcodeproj/project.pbxproj: Added FrameLoader.cpp and
        FormState.cpp. Removed WebFormState.mm.

        * loader/FrameLoader.h: Put in lots of #if statements to see if we can
        get this header compiling on non-Mac.
        * loader/FrameLoader.cpp: Added. Has non-Mac-specific bits of FrameLoader.
        * loader/mac/FrameLoader.mm: Moved some non-Mac-specific bits out.

        * loader/FrameLoaderClient.h: Added some ifdefs.
        * loader/WebDocumentLoader.h: Ditto.
        * loader/WebLoader.h: Ditto.
        * loader/WebMainResourceLoader.h: Ditto.

        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        Rewrote to work without bridge, partly to remove the need for ObjC
        bridge type in the header, and also because we're tearing down the bridge.

        * loader/mac/WebMainResourceLoader.mm:
        (WebCore::MainResourceLoader::MainResourceLoader): Removed unused
        m_contentLength and m_bytesReceived.
        (WebCore::MainResourceLoader::didReceiveResponse): Ditto.
        (WebCore::MainResourceLoader::didReceiveData): Ditto.

        * bridge/mac/WebCoreFrameBridge.h: Removed doneProcessingData.
        * bridge/mac/WebCoreFrameBridge.mm: Ditto.

        * loader/mac/FormState.mm: Removed.
        * loader/FormState.cpp: Added.

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

        Rubber stamped by Adam.

        - moving towards use of FrameLoader cross-platform; move the headers
          for the Mac loader from loader/mac into loader, in preparation for
          making them useful on non-Mac

        * WebCore.xcodeproj/project.pbxproj:

        * loader/mac/FrameLoader.h: Removed.
        * loader/mac/WebDocumentLoader.h: Removed.
        * loader/mac/WebFormState.h: Removed.
        * loader/mac/WebLoader.h: Removed.
        * loader/mac/WebMainResourceLoader.h: Removed.
        * loader/mac/WebNetscapePlugInStreamLoader.h: Removed.
        * loader/mac/WebSubresourceLoader.h: Removed.

        * loader/FrameLoader.h: Added.
        * loader/WebDocumentLoader.h: Added.
        * loader/WebFormState.h: Added.
        * loader/WebLoader.h: Added.
        * loader/WebMainResourceLoader.h: Added.
        * loader/WebNetscapePlugInStreamLoader.h: Added.
        * loader/WebSubresourceLoader.h: Added.

2006-10-29  Adam Roben  <aroben@apple.com>

        Reviewed by Geoff.

        Finish Darin's clean up of the use of __APPLE__ in WebCore, begun in
        r17405.

        * platform/DeprecatedString.h:

2006-10-29  Beth Dakin  <bdakin@apple.com>

        Rubber stamped by Geoff.

        This is a followup to my HitTestResult checkin. Most of the 
        HitTestResult local variables in the code were named i or info for 
        when the class was named NodeInfo. This patch renames all of these 
        local variables to result.

        * dom/Document.cpp:
        (WebCore::Document::prepareMouseEvent):
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::mapMouseEvent):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::mapMouseEvent):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::nodeAtPoint):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar):
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::hitTestLines):
        * rendering/RenderFlow.h:
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::nodeAtPoint):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint):
        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll):
        (WebCore::RenderLayer::hitTest):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::updateHoverActiveState):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInScrollbar):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest):
        (WebCore::RenderObject::setInnerNode):
        (WebCore::RenderObject::nodeAtPoint):
        * rendering/RenderObject.h:
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint):
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtPoint):
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtPoint):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint):
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint):
        * rendering/RenderTableSection.h:
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::nodeAtPoint):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint):
        * rendering/RootInlineBox.h:

2006-10-29  Adam Roben  <aroben@apple.com>

        More semi-fixes.

        * page/Page.cpp: Forgot to wrap the actual definition of
        setDefersLoading() in PLATFORM(MAC).
        * platform/PlatformWheelEvent.h: Fix up preprocessor directives.

2006-10-29  Adam Roben  <aroben@apple.com>

        Build semi-fix.

        Move all FrameLoader-related code in Page.{cpp,h} within #if
        PLATFORM(MAC), since this class currently only exists on Mac.

        * page/Page.cpp:
        * page/Page.h:

2006-10-29  Geoffrey Garen  <ggaren@apple.com>

        build fix.
        
        * platform/PlatformString.h:
        (WebCore::String::operator NSString*):

2006-10-29  Geoffrey Garen  <ggaren@apple.com>

        Rolled out accidental commit.
        
        * platform/AtomicString.h:
        (WebCore::AtomicString::AtomicString):
        (WebCore::AtomicString::operator NSString*):

2006-10-29  Geoffrey Garen  <ggaren@apple.com>

        RS by Darin.

        Rolled out change to map NULL Strings to nil NSStrings because it caused
        even more AppKit crashes. Maybe we should remove the NSString * operator
        entirely, since its use is not straight-forward, and require callers to
        specify explicitly whether they tolerate NULL.
        
        * platform/AtomicString.h:
        * platform/PlatformString.h:
        (WebCore::String::operator NSString*):
        * platform/mac/TextFieldMac.mm:
        (-[NSSearchFieldCell _addStringToRecentSearches:]):

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

        Reviewed by Geoff.

        - fixed storage leak showing up on the buildbot

        * loader/mac/WebSubresourceLoader.mm: (WebCore::SubresourceLoader::create):
        Release the NSURLRequest after passing it to load. Also clean up logic a bit.

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

        Rubber stamped by Adam.

        - renamed WebFrameLoaderClient to match the class name inside it

        * loader/mac/WebFrameLoaderClient.h: Removed.
        * loader/FrameLoaderClient.h: Moved it here.

        * WebCore.xcodeproj/project.pbxproj: Updated project.

        * bridge/mac/FrameMac.mm: Updated includes.
        * bridge/mac/WebCoreFrameBridge.mm: Ditto.
        * loader/mac/FrameLoader.mm: Ditto.
        * loader/mac/WebLoader.h: Ditto.

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

        Reviewed by Mitz.

        - fix crash visible on buildbot and also when running the test
          anchor-image-scrolled-x-y.html under libgmalloc

        * loader/mac/WebSubresourceLoader.h: Renamed m_loader to m_handle
        now that the class is named ResourceHandle.
        * loader/mac/WebSubresourceLoader.mm: Renaming, plus:
        (WebCore::SubresourceLoader::didFinishLoading): Get the handle into
        a local RefPtr before calling finishJobAndHandle, since we might get
        cancelled inside that function, so we should not rely on m_handle to
        keep the ResourceHandle alive.
        (WebCore::SubresourceLoader::didFail): Ditto.
        (WebCore::SubresourceLoader::didCancel): Ditto.

2006-10-29  Maciej Stachowiak  <mjs@apple.com>

        - build fix

        * platform/network/mac/ResourceHandleMac.mm:

2006-10-29  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Darin.

        - renamed ResourceLoader to ResourceHandle (and same for related classes)

        * CMakeLists.txt:
        * Projects/gdk/webcore-gdk.bkl:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bridge/mac/FrameMac.mm:
        * bridge/win/FrameWin.cpp:
        * dom/XMLTokenizer.cpp:
        * loader/Cache.cpp:
        * loader/CachedResource.h:
        * loader/LoaderFunctions.h:
        * loader/icon/IconLoader.cpp:
        (IconLoader::startLoading):
        (IconLoader::didReceiveData):
        (IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        (WebCore::Loader::didReceiveData):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::jobForRequest):
        * loader/loader.h:
        * loader/mac/IconLoaderMac.mm:
        (IconLoader::receivedResponse):
        * loader/mac/LoaderFunctionsMac.mm:
        * loader/mac/WebLoader.h:
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::create):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
        (WebCore::FrameGdkClientDefault::openURL):
        (WebCore::FrameGdkClientDefault::submitForm):
        (WebCore::FrameGdkClientDefault::receivedResponse):
        (WebCore::FrameGdkClientDefault::didReceiveData):
        (WebCore::FrameGdkClientDefault::receivedAllData):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (WebCore::ServeSynchronousRequest):
        (WebCore::ResourceHandle::assembleResponseHeaders):
        (WebCore::ResourceHandle::retrieveCharset):
        * platform/network/ResourceHandle.cpp: Added.
        (WebCore::ResourceHandle::ResourceHandle):
        (WebCore::ResourceHandle::create):
        (WebCore::ResourceHandle::isErrorPage):
        (WebCore::ResourceHandle::error):
        (WebCore::ResourceHandle::setError):
        (WebCore::ResourceHandle::responseEncoding):
        (WebCore::ResourceHandle::responseHTTPHeadersAsString):
        (WebCore::ResourceHandle::kill):
        (WebCore::ResourceHandle::requestHeaders):
        (WebCore::ResourceHandle::url):
        (WebCore::ResourceHandle::postData):
        (WebCore::ResourceHandle::method):
        (WebCore::ResourceHandle::client):
        * platform/network/ResourceHandle.h: Added.
        (WebCore::ResourceHandle::getInternal):
        * platform/network/ResourceHandleClient.h: Added.
        (WebCore::ResourceHandleClient::~ResourceHandleClient):
        (WebCore::ResourceHandleClient::didReceiveData):
        (WebCore::ResourceHandleClient::didFinishLoading):
        (WebCore::ResourceHandleClient::receivedRedirect):
        (WebCore::ResourceHandleClient::receivedResponse):
        (WebCore::ResourceHandleClient::receivedAllData):
        * platform/network/ResourceHandleInternal.h: Added.
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/ResourceLoader.cpp: Removed.
        * platform/network/ResourceLoader.h: Removed.
        * platform/network/ResourceLoaderClient.h: Removed.
        * platform/network/ResourceLoaderInternal.h: Removed.
        * platform/network/cf/ResourceHandleCFNet.cpp: Added.
        (WebCore::willSendRequest):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::willCacheResponse):
        (WebCore::didReceiveChallenge):
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        * platform/network/cf/ResourceLoaderCFNet.cpp: Removed.
        * platform/network/gdk/ResourceHandleCurl.cpp: Added.
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        * platform/network/gdk/ResourceHandleManager.cpp: Added.
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::ResourceHandleManager::get):
        (WebCore::ResourceHandleManager::useSimpleTransfer):
        (WebCore::writeCallback):
        (WebCore::ResourceHandleManager::downloadTimerCallback):
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        * platform/network/gdk/ResourceHandleManager.h: Added.
        * platform/network/gdk/ResourceLoaderCurl.cpp: Removed.
        * platform/network/gdk/ResourceLoaderManager.cpp: Removed.
        * platform/network/gdk/ResourceLoaderManager.h: Removed.
        * platform/network/mac/ResourceHandleMac.mm: Added.
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::assembleResponseHeaders):
        (WebCore::ResourceHandle::retrieveResponseEncoding):
        (WebCore::ResourceHandle::receivedResponse):
        (WebCore::ResourceHandle::cancel):
        (WebCore::ResourceHandle::redirectedToURL):
        (WebCore::ResourceHandle::addData):
        (WebCore::ResourceHandle::finishJobAndHandle):
        (WebCore::ResourceHandle::reportError):
        * platform/network/mac/ResourceLoaderMac.mm: Removed.
        * platform/network/qt/ResourceHandleManager.cpp: Added.
        (WebCore::ResourceHandleManager::ResourceHandleManager):
        (WebCore::ResourceHandleManager::~ResourceHandleManager):
        (WebCore::ResourceHandleManager::self):
        (WebCore::ResourceHandleManager::slotData):
        (WebCore::ResourceHandleManager::slotMimetype):
        (WebCore::ResourceHandleManager::slotResult):
        (WebCore::ResourceHandleManager::remove):
        (WebCore::ResourceHandleManager::add):
        (WebCore::ResourceHandleManager::cancel):
        * platform/network/qt/ResourceHandleManager.h: Added.
        * platform/network/qt/ResourceHandleQt.cpp: Added.
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):
        (WebCore::ResourceHandle::assembleResponseHeaders):
        (WebCore::ResourceHandle::retrieveResponseEncoding):
        (WebCore::ResourceHandle::receivedResponse):
        (WebCore::ResourceHandle::extractCharsetFromHeaders):
        * platform/network/qt/ResourceLoaderManager.cpp: Removed.
        * platform/network/qt/ResourceLoaderManager.h: Removed.
        * platform/network/qt/ResourceLoaderQt.cpp: Removed.
        * platform/network/win/ResourceHandleWin.cpp: Added.
        (WebCore::):
        (WebCore::addToOutstandingJobs):
        (WebCore::lookupResourceHandle):
        (WebCore::ResourceHandleWndProc):
        (WebCore::initializeOffScreenResourceHandleWindow):
        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::onHandleCreated):
        (WebCore::ResourceHandle::onRequestRedirected):
        (WebCore::ResourceHandle::onRequestComplete):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::fileLoadTimer):
        (WebCore::ResourceHandle::cancel):
        (WebCore::ResourceHandle::setHasReceivedResponse):
        (WebCore::ResourceHandle::hasReceivedResponse):
        * platform/network/win/ResourceHandleWin.h: Added.
        * platform/network/win/ResourceLoaderWin.cpp: Removed.
        * platform/network/win/ResourceLoaderWin.h: Removed.
        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        (WebCore::FrameQtClientDefault::receivedResponse):
        (WebCore::FrameQtClientDefault::didReceiveData):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/FrameQtClient.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ResourceHandle::assembleResponseHeaders):
        (WebCore::ResourceHandle::retrieveResponseEncoding):
        (WebCore::ServeSynchronousRequest):
        * xml/XSLTProcessor.cpp:
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::receivedRedirect):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

t2006-10-29  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - eliminate use of NSArray to carry form data around

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/FormDataMac.h: Removed.
        * bridge/mac/FormDataMac.mm: Removed.
        * bridge/mac/FrameMac.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::submit):
        * loader/FormData.h:
        (WebCore::FormData::isEmpty):
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * loader/mac/WebFormDataStream.h:
        * loader/mac/WebFormDataStream.m:
        (WebCore::pairRetain):
        (WebCore::pairRelease):
        (WebCore::pairEqual):
        (WebCore::pairHash):
        (WebCore::closeCurrentStream):
        (WebCore::scheduleWithPair):
        (WebCore::advanceCurrentStream):
        (WebCore::openNextStream):
        (WebCore::formCreate):
        (WebCore::formFinalize):
        (WebCore::formOpen):
        (WebCore::formRead):
        (WebCore::formCanRead):
        (WebCore::formClose):
        (WebCore::formSchedule):
        (WebCore::formUnschedule):
        (WebCore::formEventCallback):
        (WebCore::setHTTPBody):
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (WebCore::SubresourceLoader::create):
        * platform/network/mac/ResourceLoaderMac.mm:

2006-10-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - create SubresourceLoader with a ResourceRequest, not broken out request bits

        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (WebCore::SubresourceLoader::create):
        * platform/network/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):

2006-10-29  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - removed ObjC glue between ResourceLoader and SubresourceLoader, then now talk to each other directly

        Removed WebCoreResourceLoader, WebCoreResourceHandle and WebCoreResourceLoaderImp
        
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        * loader/mac/LoaderFunctionsMac.mm:
        * loader/mac/WebLoader.h:
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (WebCore::SubresourceLoader::SubresourceLoader):
        (WebCore::SubresourceLoader::create):
        (WebCore::SubresourceLoader::willSendRequest):
        (WebCore::SubresourceLoader::didReceiveResponse):
        (WebCore::SubresourceLoader::didReceiveData):
        (WebCore::SubresourceLoader::didFinishLoading):
        (WebCore::SubresourceLoader::didFail):
        (WebCore::SubresourceLoader::didCancel):
        * platform/network/ResourceLoader.h:
        * platform/network/ResourceLoaderInternal.h:
        * platform/network/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::receivedResponse):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::redirectedToURL):
        (WebCore::ResourceLoader::addData):
        (WebCore::ResourceLoader::finishJobAndHandle):
        (WebCore::ResourceLoader::reportError):
        * platform/network/mac/WebCoreResourceLoader.h: Removed.
        * platform/network/mac/WebCoreResourceLoaderImp.h: Removed.
        * platform/network/mac/WebCoreResourceLoaderImp.mm: Removed.

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

        Reviewed by Maciej.

        - eliminated the use of Objective-C for the policy decider
          machinery, obviating the need for WebPolicyDecider,
          WebCoreFrameLoaderAsDelegate, and
          WebCoreMainResourceLoaderAsPolicyDelegate

        - grouped the state related to policy decisions into a PolicyCheck
          class to simplify the FrameLoader logic

        - removed six methods from the bridge, reducing FrameLoader's use of
          the bridge to a single method

        - changed form state to always use HashMap instead of NSDictionary

        - moved the defersLoading flag from WebView to WebCore::Page
          and changed code to consistently call it defersLoading rather
          than defersCallbacks

        - updated for rename of PassRefPtr::release to releaseRef
        - replaced all uses of __APPLE__ with appropriate PLATFORM defines
        - cleaned up kjs_binding.h a bit
        - cleaned up FrameMac.h a bit

        * loader/mac/WebPolicyDecider.h: Removed.
        * loader/mac/WebPolicyDecider.mm: Removed.
        * WebCore.xcodeproj/project.pbxproj: Updated for removal.

        * WebCore.exp:
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::ScriptInterpreter):
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        * bindings/js/kjs_binding.h:
        (KJS::ScriptInterpreter::setCurrentEvent):
        (KJS::ScriptInterpreter::setInlineCode):
        (KJS::ScriptInterpreter::setProcessingTimerCallback):
        (KJS::ScriptInterpreter::getCurrentEvent):
        (KJS::cacheDOMObject):
        (KJS::DOMExceptionTranslator::DOMExceptionTranslator):
        * bridge/AXObjectCache.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest):
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::urlSelected):
        (WebCore::FrameMac::userAgent):
        (WebCore::FrameMac::passMouseDownEventToWidget):
        (WebCore::FrameMac::handleMouseMoveEvent):
        * bridge/mac/PageMac.mm:
        (WebCore::Page::Page):
        * bridge/mac/WebCoreEditCommand.mm:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::cssText):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):
        * css/CSSValueList.cpp:
        (WebCore::CSSValueList::append):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssparser.h:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateSelection):
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusNode):
        * dom/Document.h:
        * editing/ReplaceSelectionCommand.h:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        * loader/mac/FrameLoader.h:
        (WebCore::PolicyCheck::request):
        * loader/mac/FrameLoader.mm:
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::setAllDefersLoading):
        (WebCore::FrameLoader::setDefersLoading):
        (WebCore::FrameLoader::willSendRequest):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::checkContentPolicy):
        (WebCore::FrameLoader::cancelContentPolicyCheck):
        (WebCore::FrameLoader::stopPolicyCheck):
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        (WebCore::FrameLoader::continueAfterContentPolicy):
        (WebCore::FrameLoader::continueAfterWillSubmitForm):
        (WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
        (WebCore::FrameLoader::closeDocument):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::PolicyCheck::PolicyCheck):
        (WebCore::PolicyCheck::clear):
        (WebCore::PolicyCheck::set):
        (WebCore::PolicyCheck::call):
        (WebCore::PolicyCheck::dropRequest):
        (WebCore::FrameLoaderClient::~FrameLoaderClient):
        * loader/mac/WebFormState.h:
        * loader/mac/WebFormState.mm:
        * loader/mac/WebFrameLoaderClient.h:
        * loader/mac/WebLoader.h:
        (WebCore::WebResourceLoader::defersLoading):
        * loader/mac/WebLoader.mm:
        (WebCore::WebResourceLoader::WebResourceLoader):
        (WebCore::WebResourceLoader::load):
        (WebCore::WebResourceLoader::setDefersLoading):
        * loader/mac/WebMainResourceLoader.h:
        * loader/mac/WebMainResourceLoader.mm:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::releaseDelegate):
        (WebCore::MainResourceLoader::didCancel):
        (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::callContinueAfterContentPolicy):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        (WebCore::MainResourceLoader::loadNow):
        (WebCore::MainResourceLoader::load):
        (WebCore::MainResourceLoader::setDefersLoading):
        * page/Frame.cpp:
        (WebCore::Frame::paint):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * page/FrameView.h:
        * page/Page.cpp:
        (WebCore::Page::setDefersLoading):
        * page/Page.h:
        (WebCore::Page::defersLoading):
        * platform/DeprecatedString.h:
        * platform/DeprecatedStringList.h:
        * platform/FontFallbackList.h:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::setDragImage):
        (WebCore::ClipboardMac::dragNSImage):
        (WebCore::ClipboardMac::sourceOperation):
        (WebCore::ClipboardMac::destinationOperation):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle):
        * rendering/break_lines.cpp:
        (WebCore::nextBreakablePosition):

2006-10-28  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej.

        Fix layout tests that broke after r17399. Mitz discovered that the
        failures were caused by HitTestResult::m_point being uninitialized
        much of the time. HitTestResults are now always constructed with a
        point, and RenderLayer::hitTest and RenderLayer::hitTestLayer use that
        point instead of being passed one explicitly.

        * WebCore.exp: Change constructor symbol.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::eventMayStartDrag): Update to new constructor and
        hitTest().
        (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
        (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint): Ditto.
        (WebCore::Document::prepareMouseEvent): Ditto.
        * page/Frame.cpp:
        (WebCore::Frame::isPointInsideSelection): Ditto.
        (WebCore::Frame::hitTestResultAtPoint): Ditto.
        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent): Ditto.
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::HitTestResult): Initalize m_point with the
        passed point.
        * rendering/HitTestResult.h: Update constructor declaration.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll): Update to new constructor and
        hitTest().
        (WebCore::RenderLayer::hitTest): Use the IntPoint stored in the
        HitTestResult instead of being passed one.
        (WebCore::RenderLayer::hitTestLayer): Ditto.
        * rendering/RenderLayer.h: Update declarations.

2006-10-28  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::numRequests):
        (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
        * platform/qt/PopupMenuQt.cpp:
        (WebCore::PopupMenu::updateFromElement):

2006-10-28  David Carson  <dacarson@gmail.com>

        Tweaked by Sam. Reviewed by Brady.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=11437
        Initialize m_modifyBiasSet to false, as it sometimes gets 
        used before it has been initalized.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):

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

        Reviewed by Darin.

        This is the WebCore half of pushing elementAtPoint and the backend 
        of WebElementDictionary into WebCore. Most of the changes below are 
        to accommodate one of the following:
                
        -NodeInfo is now a stand-alone class called HitTestResult. 
                Previously it was defined in RenderObject.h, but not for 
                any particular reason. The WebElementDictionary 
                functionality that was pushed into WebCore has been pushed 
                specifically into the this class. In fact, 
                WebElementDictionary now keeps a HitTestResult as a member 
                varibale.
                
        -The enumeration AccessPolicy is now called 
                ClipboardAccessPolicy and is defined in its own header. It 
                was previously defined in ClipboardMac.h, but is now 
                defined independently to avoid including ClipboardMac.h 
                from within FrameMac.h since FrameMac.h is now included in 
                WebElementDictionary.m in WebKit.
                
        -Element now has a virtual target() for the sake of 
                NodeInfo::targetFrame() 

        * WebCore.exp: Several WebCore functions are newly called from 
        WebKit, so they have been added here. 
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm: Must include Image.h because of adjustments 
        to ClipboardMac.
        * bridge/mac/FrameMac.h: Adjust to HitTestResult changes.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy 
        and HitTestResult changes.
        (WebCore::FrameMac::eventMayStartDrag): Same.
        (WebCore::FrameMac::handleMouseMoveEvent): Same.
        (WebCore::FrameMac::dispatchCPPEvent): Same.
        (WebCore::FrameMac::mayDHTMLCut): Same.
        (WebCore::FrameMac::mayDHTMLCopy): Same.
        (WebCore::FrameMac::mayDHTMLPaste): Same.
        (WebCore::FrameMac::tryDHTMLCut): Same
        (WebCore::FrameMac::tryDHTMLCopy): Same.
        (WebCore::FrameMac::tryDHTMLPaste): Same.
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to 
        HitTestResult changes.
        (-[WebCoreAXObject accessibilityHitTest:]): Same.
        * bridge/mac/WebCoreFrameBridge.h: Same.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for 
        ClipboardAccessPolicy changes.
        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same.
        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same.
        * dom/Document.cpp:
        (WebCore::Document::elementFromPoint): Adjust for HitTestResult 
        changes.
        (WebCore::Document::prepareMouseEvent): Same.
        * dom/Element.h:
        (WebCore::Element::target): Now has a virtual target()
        * html/HTMLAnchorElement.h: Same.
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult 
        changes.
        * html/HTMLAreaElement.h: Virtual target()
        * html/HTMLBaseElement.h:
        (WebCore::HTMLBaseElement::target): Same.
        * html/HTMLFormElement.h: Same.
        * html/HTMLLinkElement.h: Same.
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult 
        changes.
        * html/HTMLMapElement.h: Same.
        * page/Frame.cpp:
        (WebCore::Frame::isPointInsideSelection): Same.
        (WebCore::Frame::hitTestResultAtPoint): Same. 
        * page/Frame.h: Same.
        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent): Same.
        * platform/mac/ClipboardAccessPolicy.h: Added.
        (WebCore::):
        * platform/mac/ClipboardMac.h: Remove definition of AccessPolicy, 
        include ClipboardAccessPolicy.h, and rename AccessPolicy to 
        ClipboardAccessPolicy.
        * platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy.
        (WebCore::ClipboardMac::ClipboardMac):
        (WebCore::ClipboardMac::setAccessPolicy):
        (WebCore::ClipboardMac::clearData):
        (WebCore::ClipboardMac::clearAllData):
        (WebCore::ClipboardMac::getData):
        (WebCore::ClipboardMac::setData):
        (WebCore::ClipboardMac::types):
        (WebCore::ClipboardMac::setDragImage):
        (WebCore::ClipboardMac::setDropEffect):
        (WebCore::ClipboardMac::setEffectAllowed):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult 
        changes.
        * rendering/EllipsisBox.h:
        * rendering/HitTestResult.cpp: Added.
        (WebCore::HitTestResult::HitTestResult):
        (WebCore::HitTestResult::~HitTestResult):
        (WebCore::HitTestResult::operator=):
        (WebCore::HitTestResult::setInnerNode):
        (WebCore::HitTestResult::setInnerNonSharedNode):
        (WebCore::HitTestResult::setURLElement):
        (WebCore::HitTestResult::setScrollbar):
        (WebCore::HitTestResult::targetFrame):
        (WebCore::HitTestResult::boundingBox):
        (WebCore::HitTestResult::isSelected):
        (WebCore::HitTestResult::title):
        * rendering/HitTestResult.h: Added.
        (WebCore::HitTestResult::readonly):
        (WebCore::HitTestResult::active):
        (WebCore::HitTestResult::mouseMove):
        (WebCore::HitTestResult::innerNode):
        (WebCore::HitTestResult::innerNonSharedNode):
        (WebCore::HitTestResult::point):
        (WebCore::HitTestResult::URLElement):
        (WebCore::HitTestResult::scrollbar):
        (WebCore::HitTestResult::setPoint):
        (WebCore::HitTestResult::setReadonly):
        (WebCore::HitTestResult::setActive):
        (WebCore::HitTestResult::setMouseMove):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes.
        * rendering/InlineBox.h: Same.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::nodeAtPoint): Same.
        * rendering/InlineFlowBox.h: Same.
        * rendering/InlineTextBox.cpp: 
        (WebCore::InlineTextBox::nodeAtPoint): Same.
        * rendering/InlineTextBox.h: Same.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar): Same.
        (WebCore::RenderBlock::nodeAtPoint): Same.
        * rendering/RenderBlock.h: Same.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::nodeAtPoint): Same.
        * rendering/RenderBox.h: Same.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::hitTestLines): Same.
        * rendering/RenderFlow.h: Same.
        * rendering/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::nodeAtPoint): Same.
        * rendering/RenderForeignObject.h: Same.
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::nodeAtPoint): Same.
        * rendering/RenderFrameSet.h: Same.
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Same.
        * rendering/RenderImage.h: Same.
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::nodeAtPoint): Same.
        * rendering/RenderInline.h: Same.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll): Same.
        (WebCore::RenderLayer::hitTest): Same.
        (WebCore::RenderLayer::hitTestLayer): Same.
        (WebCore::RenderLayer::updateHoverActiveState): Same.
        * rendering/RenderLayer.h: Same.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::isPointInScrollbar): Same.
        * rendering/RenderListBox.h: Same.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hitTest): Same.
        (WebCore::RenderObject::setInnerNode): Same.
        (WebCore::RenderObject::nodeAtPoint): Same.
        * rendering/RenderObject.h: Remove NodeInfo class and forward 
        declare HitTestResult.
        * rendering/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult 
        changes.
        * rendering/RenderPath.h: Same.
        * rendering/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtPoint): Same.
        * rendering/RenderSVGImage.h: Same
        * rendering/RenderSVGText.cpp:
        (WebCore::RenderSVGText::nodeAtPoint): Same.
        * rendering/RenderSVGText.h: Same.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::nodeAtPoint): Same.
        * rendering/RenderTableRow.h: Same.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::nodeAtPoint): Same.
        * rendering/RenderTableSection.h: Same.
        * rendering/RenderText.h: Same.
        (WebCore::RenderText::nodeAtPoint): Same.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::nodeAtPoint): Same.
        * rendering/RenderTextControl.h: Same.
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::nodeAtPoint): Same.
        * rendering/RootInlineBox.h: Same.

2006-10-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=11212, later we will address the performance
        impact of fixing it again.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::clear):

2006-10-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John & Adam.

        - assorted speedups to fix perf regression from fixing correctness regression

        * WebCore.exp: exported new methods.
        * WebCore.xcodeproj/project.pbxproj: Added CachedResourceMac.mm
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * loader/CachedResource.cpp: Removed now obsolete getCFURL.
        * loader/CachedResource.h:
        * loader/mac/CachedResourceMac.mm: Added.
        (WebCore::CachedResource::getNSURLRequest): New method; the NSURLRequest is
        now cached in the CachedObject.
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache): New method - lets
        the WebKit side do faster dispatch for clients that implement the fast path delegate. 
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus): Instead of calling several FrameLoader methods,
        just call loadedResourceFromMemoryCache.
        * loader/mac/WebFrameLoaderClient.h:

2006-10-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej.

        build fix

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

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

        Reviewed by Maciej.

        Moved some WebCoreFrameBridge functions into FrameLoader.
        
        I had to make FrameLoader.h capable of compiling in C++-only source files
        by adding some forward declarations and __OBJC__ #ifdefs.

        * WebCore.exp:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createEmptyDocument):
        (WebCore::FrameMac::tokenizerProcessedData):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        (WebCore::Document::referrer):
        * loader/LoaderFunctions.h:
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        (WebCore::numRequests):
        (WebCore::FrameLoader::numPendingOrLoadingRequests):
        (WebCore::FrameLoader::isReloading):
        (WebCore::FrameLoader::referrer):
        (WebCore::FrameLoader::loadEmptyDocumentSynchronously):
        (WebCore::FrameLoader::startLoadingResource):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckIfReloading):
        * page/Frame.h:
        * page/FrameTree.cpp:
        (WebCore::FrameTree::isDescendantOf):
        (WebCore::FrameTree::traverseNext):
        * page/FrameTree.h:
        * platform/network/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):

2006-10-27  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4478625> HTML Editing: Basic table editing and culling

        Expanded the Deletion UI to lists, positioned block element and block elementss with borders.

        * editing/DeleteButtonController.cpp:
        (WebCore::isDeletableElement):
        (WebCore::enclosingDeletableElement):
        (WebCore::DeleteButtonController::respondToChangedSelection):

2006-10-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin Decker
        
        Some more grammar-checking plumbing. No additional grammar jokes will have been made by the time
        you haven't not finished reading this.

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        Updated for changed signature of paintDocumentMarkers, which causes grammar markers to be
        considered also.
        (WebCore::InlineTextBox::paintDocumentMarkers):
        Renamed from paintAllMarkersOfType; now takes a bool for whether background or foreground
        markers should be painted, instead of a marker type. This avoids walking the collection of
        markers multiple times back to back. Now handles grammar markers.

2006-10-27  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Beth.

        Renamed Copy Files to Copy Generated Headers.
        Copy 4 DOM*Internal.h headers.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-10-27  John Sullivan  <sullivan@apple.com>

        Reviewed by Anders

        * WebCore.exp:
        exported symbol for FrameMac->advanceToNextSpelling()
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        removed advanceToNextMisspelling callers. Clients in WebKit must now call FrameMac directly.

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

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=11423>
        REGRESSION: First newline missing from textarea's value
        
        The regression is that foo, return, bar in a textarea serializes as 'foobar'.
        
        Before my change in r17223, return (an InsertLineBreak) would insert a '\n' 
        (the line break) then a br to prevent the '\n' from collapsing, since the 
        insertion is being done at the end of a block (the textarea's shadow div).  Then, 
        inserting "bar" would displace the br, and "foo\nbar" would serialize as "foo\nbar".  
        After my change in r17223, InsertLineBreak would insert a br then a '\n' (reversed 
        the order).  Then inserting "bar" would displace the '\n' and "foo"<br>"bar" would 
        serialize as "foobar" because when serializing RenderTextControl intentionally asks 
        textContent to not convert brs to newlines.  It seems to think that the only brs in 
        the shadow div will be placeholders or collapsed.
        
        We could remove this assumption, but, for consistancy's sake, I changed InsertLineBreak 
        to insert two '\n's when at the end of a block in white-space:pre text.  This alone 
        would have fixed the bug, but introduced a new one, because foo, return, bar would 
        produce "foo\nbar\n" which would serialize as "foo\nbar\n" (even though the second 
        '\n' is collapsed, because of 9661).  So, then I changed placeholder displacement to 
        displace a '\n' if it's acting as a placeholder.  A "placeholder" is now defined as 
        a br or '\n' that will collapse (become superfluous) when content is inserted just 
        before it.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removePlaceholderAt): Renamed.  Remove
        a br or '\n' if content inserted just before it will cause it to collapse.
        * editing/CompositeEditCommand.h:
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Insert the same type of node
        to prevent a collapse as was used for the line break.  Fixed comments.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Call the renamed function.
        
2006-10-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Brady.

        Fixed semantic inaccuracy in String::operator NSString *(), where a NULL
        String became an empty NSString *, instead of nil. This will become important
        as we start using this conversion more.
        
        Added work-around for AppKit crash that semantic accuracy revealed.
        
        No testcase because I don't think there's a way to reflect this change
        in a webpage yet.

        * platform/PlatformString.h:
        (WebCore::String::operator NSString*):
        * platform/mac/TextFieldMac.mm:
        (-[NSSearchFieldCell _addStringToRecentSearches:]):

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

        Reviewed by Maciej,

        <rdar://problem/4003820> Expose blockquotes in AXAttributedStringForTextMarkerRange

        * bridge/mac/WebCoreAXObject.mm:
        (blockquoteLevel):
        Calculate and return the blockquote level of the element.
        
        (AXAttributeStringSetBlockquoteLevel):
        Add, if non-zero, or clear the block quote level attribute.
        
        (AXAttributedStringAppendText):
        Send AXAttributeStringSetBlockquoteLevel.

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

        - fix one error in the Qt build

        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        Updated.

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

        Reviewed by Maciej.

        * WebCore.exp: Export more symbols needed by WebKit.

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

        Reviewed by the Baroness Esmeralda Von Scratch N' Purr XIV.

        Fixed layout test crash. Oops.
        
        * loader/mac/WebDocumentLoader.mm:
        (WebCore::canonicalizedTitle):

2006-10-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Brady
        
        - fixed <rdar://problem/4806064> Repro crash in FrameMac::loadRequest following iTunes music store link from salon.com
        
        This restores some of the nil-handling that was implicit before some of the code was converted from
        Objective-C to C++.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest):
        handle nil FrameMac
        
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canTargetLoadInFrame:]):
        handle nil Frame

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

        Reviewed by Darin, Maciej.

        Removed many uses of NSString *.
        Moved a few methods from WebCoreFrameBridge to FrameLoader, replacing 
        stringByCollapsingNonPrintingCharacters with a c++ equivalent.
        
        PLT says no performance regression.
        
        * WebCore.exp:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        (WebCore::FrameLoader::setupForReplaceByMIMEType):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::canShowMIMEType):
        (WebCore::FrameLoader::representationExistsForURLScheme):
        (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoader::checkContentPolicy):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::invalidatePendingPolicyDecision):
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
        (WebCore::FrameLoader::post):
        * loader/mac/WebDocumentLoader.h:
        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::doesProgressiveLoad):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::title):
        (WebCore::DocumentLoader::setOverrideEncoding):
        (WebCore::DocumentLoader::overrideEncoding):
        (WebCore::DocumentLoader::setTitle):
        * loader/mac/WebFrameLoaderClient.h:
        * loader/mac/WebMainResourceLoader.mm:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):

2006-10-26  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        <rdar://problem/4796941> Table deletion outline is misplaced at nytimes.com

        The main table at nytimes.com has a fixed width of 874px, but the table ends
        up overflowing to 963px. We now use overflowWidth() and overflowHeight() to correct
        this. The other bug was a missing top and left of 0px on the container element,
        causing the deletion UI to sometimes be offset below the table.

        Now check for the element's renderer at the beginning of show() and
        return early if it is null.

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::updateOutlineStyle):
        (WebCore::DeleteButtonController::show):

2006-10-26  Anders Carlsson  <acarlsson@apple.com>

        Build fix.

        * html/CanvasRenderingContext2D.cpp:
        Include MathExtras.h
        
2006-10-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Anders.

        Some changes to support new grammar checking code in WebKit.

        * WebCore.exp:
        added mangled symbol for Document->removeMarkers() so I can call it from WebKit
        
        * WebCore.xcodeproj/project.pbxproj:
        Made Document.h and DocumentMarker.h private so I can include them from WebKit.
        Made HTMLCollection.h private because Document.h uses it.
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        removed unmarkAllMisspellings(); WebKit now calls through to the Document directly

2006-10-26  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Brady.

        Add reverseFind to String and use it instead of findRev.
        Use CString instead of DeprecatedCString in one place.
        
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        * ksvg2/svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::getTarget):
        * loader/Decoder.cpp:
        (WebCore::Decoder::checkForCSSCharset):
        * platform/PlatformString.h:
        (WebCore::String::reverseFind):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::reverseFind):
        * platform/StringImpl.h:

2006-10-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin
        
        More plumbing for grammar checking. Still no grammars is checked.

        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::):
        added Grammar to enum of marker types; removed explicit enum values; removed unnecessary "enum"
        
        * platform/GraphicsContext.h:
        renamed method drawLineForMisspelling to drawLineForMisspellingOrBadGrammar;
        now takes a bool parameter for whether it represents bad grammar or a misspelling 
        
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
        Renamed from drawLineForMisspelling; uses green dot instead of red dot for grammar case. Changed
        an existing "assert" to "ASSERT".
        
        * rendering/InlineTextBox.h:
        renamed function paintSpellingMarker to paintSpellingOrGrammarMarker;

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
        Renamed from paintSpellingMarker; now takes a bool parameter for whether it represents
        bad grammar or a misspelling
        (WebCore::InlineTextBox::paintAllMarkersOfType):
        now handles markers of type Grammar

=== Safari-521.29 ===
        
2006-10-26  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11424
        Cleanup rendering code

        - Assorted code cleanup.

        * rendering/AutoTableLayout.cpp:
        * rendering/AutoTableLayout.h:
        (WebCore::AutoTableLayout::totalPercent):
        * rendering/CounterListItem.h:
        * rendering/CounterNode.cpp:
        * rendering/CounterNode.h:
        (WebCore::CounterNode::~CounterNode):
        (WebCore::CounterNode::isReset):
        * rendering/CounterResetNode.cpp:
        * rendering/CounterResetNode.h:
        * rendering/DataRef.h:
        (WebCore::DataRef::DataRef):
        * rendering/DeprecatedRenderSelect.h:
        * rendering/DeprecatedSlider.cpp:
        * rendering/DeprecatedSlider.h:
        * rendering/EllipsisBox.cpp:
        * rendering/EllipsisBox.h:
        (WebCore::EllipsisBox::EllipsisBox):
        * rendering/FixedTableLayout.cpp:
        * rendering/FixedTableLayout.h:
        * rendering/GapRects.h:
        * rendering/InlineBox.cpp:
        * rendering/InlineBox.h:
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::setConstructed):
        (WebCore::InlineBox::clearTruncation):
        (WebCore::InlineBox::markDirty):
        * rendering/InlineFlowBox.cpp:
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::InlineFlowBox):
        (WebCore::InlineFlowBox::setConstructed):
        (WebCore::InlineFlowBox::setEdges):
        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
        (WebCore::InlineFlowBox::setVerticalSelectionPositions):
        * rendering/InlineRunBox.h:
        (WebCore::InlineRunBox::paintBackgroundAndBorder):
        (WebCore::InlineRunBox::paintDecorations):
        * rendering/InlineTextBox.cpp:
        * rendering/InlineTextBox.h:
        (WebCore::InlineTextBox::InlineTextBox):
        (WebCore::InlineTextBox::end):
        (WebCore::InlineTextBox::textObject):
        * rendering/Length.h:
        (WebCore::Length::Length):
        * rendering/ListMarkerBox.cpp:
        * rendering/ListMarkerBox.h:
        * rendering/RenderPartObject.h:
        * rendering/RootInlineBox.cpp:
        * rendering/RootInlineBox.h:
        * rendering/SVGInlineFlowBox.cpp:
        * rendering/SVGInlineFlowBox.h:
        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
        * rendering/SVGRootInlineBox.cpp:
        * rendering/SVGRootInlineBox.h:
        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
        * rendering/TableLayout.h:
        (WebCore::TableLayout::TableLayout):
        (WebCore::TableLayout::~TableLayout):
        * rendering/bidi.h:
        (WebCore::BidiStatus::BidiStatus):
        (WebCore::BidiRun::BidiRun):
        * rendering/break_lines.h:

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

        Reviewed by john

        <http://bugs.webkit.org/show_bug.cgi?id=11329>
        Gmail Editor: Can't remove styling applied to selection after clicking "Remove Formatting" toolbar icon.
        
        * editing/Editor.cpp:
        (WebCore::Editor::removeFormattingAndStyle): Moved from JSEditor.
        Wrapped the plain text fragment in a style span with the document 
        default style so that it will appear unstyled regardless of where
        it is inserted.  Could have also inserted the plain text fragment 
        and then applied the document default style to it, but there is not 
        yet any redundant style prevention in ApplyStyleCommand, so this
        is cleaner.
        * editing/Editor.h:
        * editing/JSEditor.cpp:

2006-10-26  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders.
        Fixes <rdar://problem/4800518> -- needed to update existing
        canvas path elements when transforms are performed on the
        context.

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::scale):
        (WebCore::CanvasRenderingContext2D::rotate):
        (WebCore::CanvasRenderingContext2D::translate):

2006-10-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Darin.

        Fix Qt/Linux build.

        * platform/network/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::slotData):
        (WebCore::ResourceLoaderManager::slotMimetype):
        (WebCore::ResourceLoaderManager::remove):
        (WebCore::ResourceLoaderManager::add):
        * platform/network/qt/ResourceLoaderQt.cpp:
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):
        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::ServeSynchronousRequest):

2006-10-26  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Fix: <rdar://problem/3951815> add "type-to-select" feature for list
        boxes (<select> elements)
        Fix: http://bugs.webkit.org/show_bug.cgi?id=9764 New popup menus
        should have type-ahead selection without popping up menu

        * WebCore.xcodeproj/project.pbxproj: Version wars.
        * html/HTMLSelectElement.h: Add new instance variables for type-ahead
        find.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Initialize new
        instance variables.
        (WebCore::HTMLSelectElement::defaultEventHandler): Perform type-ahead
        find on printable character presses.
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Remove
        redundant check that the listIndex has changed (setSelectedIndex does
        this for us), and fix indentation.
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Change an if
        to an else-if.
        (WebCore::stripLeadingWhiteSpace): Helper function for typeAheadFind()
        to strip leading whitespace (including non-breaking spaces) from a
        string.
        (WebCore::HTMLSelectElement::typeAheadFind): New method to perform
        type-ahead find.
        * platform/PopupMenu.h: Added new updateFromElement() method to be
        called from RenderMenuList::updateFromElement().
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::updateFromElement): While we are using
        NSPopUpButtonCell for our popups, this method can stay empty.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::updateFromElement): Scroll to reveal the first
        selected element.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateFromElement): Tell the popup to update
        if it's visible.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11360
          editing/pasteboard/copy-paste-bidi intermittently fails due to disappearance of anonymous RenderBlock

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
        Use two vectors instead of a hash map: more efficient, deterministic. There was no
        reason to use a hash table.

2006-10-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - .5% speed improvement by avoiding excess CFURLRef allocation

        * loader/CachedResource.cpp:
        (WebCore::CachedResource::getCFURL): New method. For Mac only (for now), cache the CFURL
        here for later reuse.
        * loader/CachedResource.h:
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::CheckCacheObjectStatus): Use the cached CFURL, don't make a whole new one.

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

        Reviewed by Anders.

        - removed 55 methods from WebCoreFrameBridge
        - changed callers to use Frame directly instead
        - put FrameLoaderTypes.h types into the WebCore namespace
        - first steps to get FrameLoader.h ready for cross-platform duty

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest):
        (WebCore::FrameMac::startRedirectionTimer):
        (WebCore::FrameMac::stopRedirectionTimer):
        (WebCore::FrameMac::passSubframeEventToSubframe):
        (WebCore::FrameMac::handledOnloadEvents):
        (WebCore::FrameMac::isLoadTypeReload):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge executionContextForView:]):
        (updateRenderingForBindings):
        (-[WebCoreFrameBridge canTargetLoadInFrame:]):
        (-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]):
        (-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
        (-[WebCoreFrameBridge installInFrame:]):
        (-[WebCoreFrameBridge numPendingOrLoadingRequests]):
        (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
        (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]):
        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
        (stringByCollapsingNonPrintingCharacters):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * loader/FrameLoaderTypes.h:
        * loader/mac/FrameLoader.h:
        * loader/mac/FrameLoader.mm:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::activeDocumentLoader):
        (WebCore::FrameLoader::state):
        (WebCore::FrameLoader::setState):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::markLoadComplete):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::handleFallbackContent):
        (WebCore::FrameLoader::isLoadingMainFrame):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        (WebCore::FrameLoader::continueAfterWillSubmitForm):
        (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
        (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
        (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
        (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
        * loader/mac/ImageDocumentMac.mm:
        (WebCore::finishImageLoad):
        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::isLoadingInAPISense):
        * loader/mac/WebMainResourceLoader.h:
        * loader/mac/WebMainResourceLoader.mm:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (-[WebCoreMainResourceLoaderAsPolicyDelegate continueAfterContentPolicy:]):
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):
        * platform/mac/ListBoxMac.mm:
        (-[WebCoreTableView keyDown:]):
        (-[WebCoreTableView keyUp:]):
        * platform/mac/WebCoreTextField.mm:
        (-[WebCoreTextFieldController textView:shouldHandleEvent:]):

2006-10-25  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin.

        Printing fixes

        * page/Frame.cpp:
        (WebCore::Frame::adjustPageHeight):
        * page/Frame.h:
        (WebCore::Frame::setupRootForPrinting):
        (WebCore::Frame::computePageRects):

2006-10-25  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4799088>
        REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.

        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):
        Set the HTTP method before the HTTP body.

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

        Reviewed by Adam.

        Renamed WebFrameLoader to FrameLoader, to match class name.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * loader/mac/FrameLoader.mm: Added.
        * loader/mac/IconLoaderMac.mm:
        * loader/mac/WebDocumentLoader.mm:
        * loader/mac/WebFrameLoader.h: Removed.
        * loader/mac/WebFrameLoader.mm: Removed.
        * loader/mac/WebLoader.mm:
        * loader/mac/WebMainResourceLoader.mm:
        * loader/mac/WebNetscapePlugInStreamLoader.mm:
        * loader/mac/WebSubresourceLoader.mm:

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

        - fix full builds

        * WebCore.xcodeproj/project.pbxproj: Mark bridge/mac/WebCoreResourceLoader.h as private.

2006-10-25  David Smith  <catfish.man@gmail.com>

        Reviewed by Mitz.

        Fixed REGRESSION (r17280): Repro crash when clicking a link with target="_blank"
        http://bugs.webkit.org/show_bug.cgi?id=11411

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canTargetLoadInFrame:]): Check that the target has a frame before using it.

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

        Rubber stamped by Mitz.

        - moved some files that are essentially part of the ResourceLoader implementation to platform/network/mac

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreResourceLoader.h: Moved to platform/network/mac.
        * bridge/mac/WebCoreResourceLoaderImp.h: Moved to platform/network/mac.
        * bridge/mac/WebCoreResourceLoaderImp.mm: Moved to platform/network/mac.

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

        Rubber stamped by Mark.

        - remove no longer existing symbol that was breaking linking

        * WebCore.exp:

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

        Reviewed by Mitz.
        
        - fixed "REGRESSION: Activity window doesn't always list all files until refresh"
        http://bugs.webkit.org/show_bug.cgi?id=11212

        I couldn't figure out how to write a test case.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::clear): Avoid crashing if already detached.
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::clear): Change prototype to make this a proper
        overload for Frame::clear once again(!).

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

        Reviewed by Anders.

        - converted WebFrameLoaderClient to C++
        - renamed frame->frameLoader() function to frame->loader()
        - renamed [bridge impl] to [bridge _frame]
        - removed some bridge methods

        * WebCore.exp: Added more exports.
        * WebCore.xcodeproj/project.pbxproj: Made FrameTree.h private instead of project-internal
        so it can be used in WebKit.

        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createFrame):
        (WebCore::FrameMac::didFirstLayout):
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject rendererForView:]):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
        (-[WebCoreFrameBridge canTargetLoadInFrame:]):
        (-[WebCoreFrameBridge setOpener:]):
        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        (-[WebCoreFrameBridge setTitle:]):
        (-[WebCoreFrameBridge originalRequestURL]):
        (-[WebCoreFrameBridge isLoadTypeReload]):
        (-[WebCoreFrameBridge frameDetached]):
        (-[WebCoreFrameBridge tokenizerProcessedData]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebCoreFrameBridge incomingReferrer]):
        (-[WebCoreFrameBridge isReloading]):
        (-[WebCoreFrameBridge handledOnloadEvents]):
        (-[WebCoreFrameBridge mainResourceURLResponse]):
        (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
        (-[WebCoreFrameBridge _frame]):
        (-[WebCoreFrameBridge executionContextForView:]):
        * bridge/mac/WebCorePageBridge.mm:
        (-[WebCorePageBridge setMainFrame:]):
        * dom/Position.cpp:
        (WebCore::Position::upstream):
        * loader/mac/IconLoaderMac.mm:
        (IconLoader::notifyIconChanged):
        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::frameLoader):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        * loader/mac/WebFormState.mm:
        (WebCore::FormState::FormState):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::prepareForLoadStart):
        (WebCore::FrameLoader::finalSetupForReplace):
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::stopLoadingSubframes):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::cancelPendingArchiveLoad):
        (WebCore::FrameLoader::defersCallbacksChanged):
        (WebCore::FrameLoader::setDefersCallbacks):
        (WebCore::FrameLoader::setDocumentLoader):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::identifierForInitialRequest):
        (WebCore::FrameLoader::willSendRequest):
        (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
        (WebCore::FrameLoader::didCancelAuthenticationChallenge):
        (WebCore::FrameLoader::didReceiveResponse):
        (WebCore::FrameLoader::didReceiveData):
        (WebCore::FrameLoader::didFinishLoad):
        (WebCore::FrameLoader::didFailToLoad):
        (WebCore::FrameLoader::privateBrowsingEnabled):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
        (WebCore::FrameLoader::clientRedirected):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::closeOldDataSources):
        (WebCore::FrameLoader::opened):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::download):
        (WebCore::FrameLoader::finishedLoading):
        (WebCore::FrameLoader::notifyIconChanged):
        (WebCore::FrameLoader::cancelledError):
        (WebCore::FrameLoader::fileDoesNotExistError):
        (WebCore::FrameLoader::willUseArchive):
        (WebCore::FrameLoader::isArchiveLoadPending):
        (WebCore::FrameLoader::handleUnimplementablePolicy):
        (WebCore::FrameLoader::cannotShowMIMEType):
        (WebCore::FrameLoader::interruptionForPolicyChangeError):
        (WebCore::FrameLoader::canShowMIMEType):
        (WebCore::FrameLoader::representationExistsForURLScheme):
        (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoader::checkContentPolicy):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::committedLoad):
        (WebCore::FrameLoader::revertToProvisional):
        (WebCore::FrameLoader::setMainDocumentError):
        (WebCore::FrameLoader::mainReceivedCompleteError):
        (WebCore::FrameLoader::subframeIsLoading):
        (WebCore::FrameLoader::willChangeTitle):
        (WebCore::FrameLoader::didChangeTitle):
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::frameLoadCompleted):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
        (WebCore::FrameLoader::sendRemainingDelegateMessages):
        (WebCore::FrameLoader::requestFromDelegate):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::detachChildren):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::actionInformation):
        (WebCore::FrameLoader::checkLoadComplete):
        (WebCore::FrameLoader::setClient):
        (WebCore::FrameLoader::client):
        (WebCore::FrameLoaderClient::~FrameLoaderClient):
        * loader/mac/WebFrameLoaderClient.h:
        * loader/mac/WebLoader.mm:
        (WebCore::WebResourceLoader::frameLoader):
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):
        * page/Frame.cpp:
        (WebCore::Frame::loader):
        * page/Frame.h:
        * platform/mac/SliderMac.mm:
        (Slider::focusPolicy):

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

        Rubber stamped by Anders.

        - get rid of the assertion firing while running the layout tests

        This does not fix the real problem, which is that we need to map offsets within
        possibly-text-transformed text in the render tree to DOM tree offsets and vice
        versa -- but it gets the tests running again.

        * dom/Position.cpp: (WebCore::Position::upstream): Commented out the assertion.

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

        Reviewed by Oliver.

        - more ResourceLoader cleanup
            - moved HTTPHeaderMap out of ResourceRequest class, so ResourceResponse will be able to use it too
            - took out attempts to suppress setting of "HEAD" and "GET" methods, since underlying bugs are now fixed
        
        * loader/LoaderFunctions.h:
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):
        * platform/network/HTTPHeaderMap.h: Added.
        * platform/network/ResourceLoader.cpp:
        (WebCore::ResourceLoader::requestHeaders):
        * platform/network/ResourceLoader.h:
        * platform/network/ResourceRequest.h:
        * platform/network/cf/ResourceLoaderCFNet.cpp:
        (WebCore::addHeadersFromHashMap):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        * xml/xmlhttprequest.h:

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

        Reviewed by darin

        <http://bugs.webkit.org/show_bug.cgi?id=10993>
        GMail Editor: Caret doesn't always position itself after list marker
        
        List creation uses moveParagraphs to push content into list items.  
        moveParagraphs uses a TextIterator to restore selections after moves.
        Some characters emitted by the TextIterator had bad ranges associated
        with them.  rangeFromLocationAndLength would skip past the range it
        should have used when asked for ranges of length 0.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator): No longer need to initialize a
        removed member variable.
        (WebCore::TextIterator::advance): An extra newline is emitted when leaving
        some blocks.  Use the same range for this newline as for the first newline.
        We should remove this code and just emit two '\n's.
        (WebCore::TextIterator::handleTextNode): Setup m_range.
        (WebCore::TextIterator::handleTextBox): Ditto.
        (WebCore::TextIterator::handleReplacedElement): Ditto.
        (WebCore::TextIterator::handleNonTextNode): Ditto.
        (WebCore::TextIterator::exitNode): Use an m_range from the last VisiblePosition
        in the block we're leaving to that VP after that one.
        (WebCore::TextIterator::emitCharacter): This function now takes in the start
        and the end of the range associated with the emited character, and sets up m_range.
        (WebCore::TextIterator::range): Return m_range.  If it is null (we are atEnd), 
        return the end of the range used to create the iterator, as a convenience to
        callers that use call range() on an iterator that is atEnd.
        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        Same as the changes made to TextIterator's constructor.
        (WebCore::SimplifiedBackwardsTextIterator::advance): Use a null m_range instead of
        a null m_positionNode to signal that we're finished.
        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
        (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Similar to changes
        made to TextIterator.
        (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
        (WebCore::SimplifiedBackwardsTextIterator::emitNewline): Simplified.
        (WebCore::SimplifiedBackwardsTextIterator::range): Similar to the changes made to
        TextIterator::range.
        (WebCore::CharacterIterator::range): This function assumed that an iterator's
        range() was safe to modify.
        (WebCore::TextIterator::rangeFromLocationAndLength):
        If the range we're looking for starts in the current chunk, this function assumed
        that if the chunk started in a text node, it would end in the same text node.  This
        is no longer the case.
        If the range we're looking for starts in the middle of the current chunk, I assume
        that the chunk is inside a text node, because those are the only chunks with length
        greater than one at the moment.
        If the range we're looking for is a zero length range that starts/ends at the end of the
        current chunk, we used to return the start of the next chunk, but that's wrong and
        is what caused this bug.
        * editing/TextIterator.h:
        (WebCore::TextIterator::atEnd): The iterator is atEnd when m_range is null.
        (WebCore::SimplifiedBackwardsTextIterator::atEnd):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary): Cleaned up by using a convenience function.
        (WebCore::nextBoundary): Ditto.

2006-10-24  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        * platform/network/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):
        Don't retain the header dictionary.

2006-10-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=11404
        REGRESSION: Reproducible assertion failure in Shared<WebCore::StringImpl>::ref() 
        running svg/custom/svg/custom/gradient-attr-update.svg
        
        SVGRenderStyle wasn't ref-ing the shared objects it held onto. Oops.

        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/css/SVGRenderStyleDefs.h:

2006-10-24  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Mitz.

        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        Set the http method to "GET" in the constructor that takes a String.

2006-10-24  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Move kcanvas/Render* and kcanvas/SVG* to rendering/Render*
        and rendering/SVG* respectively.  Fix Xcode project and
        CMakeLists.txt to account for the moves.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/RenderForeignObject.cpp: Removed.
        * kcanvas/RenderForeignObject.h: Removed.
        * kcanvas/RenderPath.cpp: Removed.
        * kcanvas/RenderPath.h: Removed.
        * kcanvas/RenderSVGContainer.cpp: Removed.
        * kcanvas/RenderSVGContainer.h: Removed.
        * kcanvas/RenderSVGImage.cpp: Removed.
        * kcanvas/RenderSVGImage.h: Removed.
        * kcanvas/RenderSVGInline.cpp: Removed.
        * kcanvas/RenderSVGInline.h: Removed.
        * kcanvas/RenderSVGInlineText.cpp: Removed.
        * kcanvas/RenderSVGInlineText.h: Removed.
        * kcanvas/RenderSVGTSpan.cpp: Removed.
        * kcanvas/RenderSVGTSpan.h: Removed.
        * kcanvas/RenderSVGText.cpp: Removed.
        * kcanvas/RenderSVGText.h: Removed.
        * kcanvas/SVGInlineFlowBox.cpp: Removed.
        * kcanvas/SVGInlineFlowBox.h: Removed.
        * kcanvas/SVGRootInlineBox.cpp: Removed.
        * kcanvas/SVGRootInlineBox.h: Removed.

2006-10-24  Geoffrey Garen  <ggaren@apple.com>

        Rolling back in, now fixed:
        
        Nixed a few more redundant loading functions in Frame. Did my best to update
        the non-Mac builds.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::urlSelected): Kept always 'true' argument for userGesture
        always 'true', because changing it broke the world, and testing seems to
        indicate that the one caller that might have passed 'false' didn't need to.
        * page/Frame.cpp:
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::frameLoader):
        (WebCore::Frame::redirectionTimerFired):
        * page/Frame.h:
        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::issueCopyCommand):
        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQt.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::shouldInterruptJavaScript):
        (WebCore::FrameWin::issueCopyCommand):

2006-10-24  Anders Carlsson  <acarlsson@apple.com>

        Fix the build (Update for changes to ResourceLoader)
        
        * platform/network/cf/ResourceLoaderCFNet.cpp:
        (WebCore::addHeadersFromHashMap):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):

2006-10-24  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Change #includes using <kcanvas/*.h> to use "*.h" instead
        to prepare for moving the kcanvas files.

        * kcanvas/RenderSVGContainer.h:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:

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

        Reviewed by Darin.

        - More movement towards the final network API.
        
        Changed ResourceLoader::create to take a ResurceRequest and start
        the load. Removed methods relating to setting request
        headers. Removed methods relating to metaData. Added some more
        convenience methods to ResourceRequest.

        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * loader/LoaderFunctions.h:
        * loader/icon/IconLoader.cpp:
        (IconLoader::startLoading):
        (IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdkClientDefault::openURL):
        (WebCore::FrameGdkClientDefault::submitForm):
        * platform/network/ResourceLoader.cpp:
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::create):
        (WebCore::ResourceLoader::responseHTTPHeadersAsString):
        (WebCore::ResourceLoader::url):
        (WebCore::ResourceLoader::postData):
        (WebCore::ResourceLoader::method):
        (WebCore::ResourceLoader::client):
        * platform/network/ResourceLoader.h:
        * platform/network/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/network/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::httpAccept):
        (WebCore::ResourceRequest::setHTTPAccept):
        (WebCore::ResourceRequest::addHTTPHeaderFields):
        * platform/network/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ResourceLoader::retrieveResponseEncoding):
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

2006-10-24  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * loader/FormData.cpp:
        (WebCore::FormData::FormData):
        * loader/FormData.h:
        (WebCore::FormData::FormData):
        Add new constructor that takes a void* and a size.

2006-10-24  Geoffrey Garen  <ggaren@apple.com>

        Rolling out my last change because it broke the world.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::openURL):
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::urlSelected):
        * page/Frame.cpp:
        (WebCore::Frame::openURL):
        (WebCore::Frame::frameLoader):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::redirectionTimerFired):
        * page/Frame.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::openURL):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::openURLRequest):
        * platform/qt/FrameQt.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::openURL):
        (WebCore::FrameWin::openURLRequest):

2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Adam.

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

        Kill KRenderingFillPainter/KRenderingStrokePainter. Those are not needed
        anymore, since kcanvas/ksvg2 are tightly integrated. No LayoutTests fixed
        or broken.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::operator<<):
        (WebCore::writeStyle):
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        * kcanvas/device/KRenderingFillPainter.cpp:
        * kcanvas/device/KRenderingFillPainter.h:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        * kcanvas/device/KRenderingStrokePainter.h:
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        (WebCore::KRenderingPaintServerLinearGradientQt::setup):
        (WebCore::KRenderingPaintServerRadialGradientQt::setup):
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        (WebCore::KRenderingPaintServerQt::setPenProperties):
        * kcanvas/device/qt/KRenderingPaintServerQt.h:
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
        (WebCore::KRenderingPaintServerSolidQt::setup):
        * kcanvas/device/qt/RenderPathQt.cpp:
        (WebCore::getPathStroke):
        (WebCore::RenderPath::strokeBBox):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::RenderPath::strokeBBox):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
        (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
        * kcanvas/device/quartz/QuartzSupport.h:
        (WebCore::CGLineCapFromKC):
        (WebCore::CGLineJoinFromKC):
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::applyStrokeStyleToContext):
        (WebCore::strokeBoundingBox):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::):
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGFEImageElement.cpp:

2006-10-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders.

        Nixed a few more redundant loading functions in Frame. Did my best to update
        the non-Mac builds.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::urlSelected): Changed always 'true' argument for userGesture
        to actually check for a user gesture. New callers rely on this behavior,
        and it seems like the previous behavior must have been a bug.
        * page/Frame.cpp:
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::frameLoader):
        (WebCore::Frame::redirectionTimerFired):
        * page/Frame.h:
        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::issueCopyCommand):
        * platform/qt/FrameQt.cpp:
        * platform/qt/FrameQt.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::FrameWin::shouldInterruptJavaScript):
        (WebCore::FrameWin::issueCopyCommand):

2006-10-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Fix Qt/Linux build.

        - Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
        - Fix CMakeLists.txt to include platform/network.

        * CMakeLists.txt:
        * platform/qt/BrowserExtensionQt.cpp: Removed.
        * platform/qt/BrowserExtensionQt.h: Removed.
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::createNewWindow):
        (WebCore::FrameQt::goBackOrForward):
        (WebCore::FrameQt::historyURL):
        (WebCore::FrameQt::getHistoryLength):
        * platform/qt/FrameQt.h:
        * platform/qt/PageQt.cpp:
        (WebCore::Page::canRunModal):
        (WebCore::Page::canRunModalNow):
        (WebCore::Page::runModal):

2006-10-24  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Tim H.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11314
        Fix build when XSLT_SUPPORT is not defined

        Fix unconditional use of XSLT support.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::end):

2006-10-24  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Darin.

        * CMakeLists.txt: Added project name to kde4_automoc macro, as
          required by the latest KDE4 cmake module.

2006-10-24  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Tim H.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11394
          HTMLViewSourceDocuments are leaking

        * html/HTMLViewSourceDocument.h: Changed RefPtr to plain pointer to avoid
        ref cycle.

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

        Reviewed by Darin.

        Removed one of Frame's redundant urlSelected methods.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::urlSelected):
        since it's unused.
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler): Changed DeprecatedString
        to String because the former is deprecated and its performance is irrelevant
        here. Added call to completeURL because Frame no longer does it for us.
        Having the call here also improves clarity about the element's behavior.
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler): ditto. Also removed bizarre
        irrelevent NULL checks on ownerDocument() because I couldn't help myself.
        * page/Frame.cpp:
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::urlSelected):
        * page/Frame.h:
        * platform/network/ResourceRequest.h: Removed explicit keyword on constructor
        because we want to be able to use these constructors instead of helper functions
        mimicking their behavior sprinkled across different classes.
        (WebCore::ResourceRequest::ResourceRequest):

2006-10-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Moved FrameLoader from WebCoreFrameBridge to Frame.  Frame.h/cpp have generic accessors to the FrameLoader itself
        and creation/deletion is currently managed in FrameMac.mm

        Besides explicitly commented-upon methods, most of the touched code simply changes to get the FrameLoader from the 
        frame instead of the bridge.

        The method [WebCoreFrameBridge frameLoader] remains but only for WebKit's use - No new WebCore code should make 
        use of it as its days are numbered!

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac): Create the FrameLoader
        (WebCore::FrameMac::~FrameMac): Nuke it
        (WebCore::FrameMac::loadRequest):

        * bridge/mac/WebCoreFrameBridge.h: No longer holds an m_frameLoader
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]): No longer creates the FrameLoader
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]): Ditto
        (-[WebCoreFrameBridge clearFrame]): No longer tears down the FrameLoader
        (-[WebCoreFrameBridge setFrameLoaderClient:]):
        (-[WebCoreFrameBridge frameLoader]):
        (-[WebCoreFrameBridge setTitle:]):
        (-[WebCoreFrameBridge didFirstLayout]):
        (-[WebCoreFrameBridge notifyIconChanged:]):
        (-[WebCoreFrameBridge originalRequestURL]):
        (-[WebCoreFrameBridge isLoadTypeReload]):
        (-[WebCoreFrameBridge frameDetached]):
        (-[WebCoreFrameBridge tokenizerProcessedData]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebCoreFrameBridge incomingReferrer]):
        (-[WebCoreFrameBridge isReloading]):
        (-[WebCoreFrameBridge handledOnloadEvents]):
        (-[WebCoreFrameBridge mainResourceURLResponse]):
        (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):

        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::frameLoader):

        * loader/mac/WebFrameLoader.mm:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::stopLoadingSubframes):
        (WebCore::FrameLoader::defersCallbacksChanged):
        (WebCore::FrameLoader::setState):
        (WebCore::FrameLoader::closeOldDataSources):
        (WebCore::FrameLoader::subframeIsLoading):
        (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::detachChildren):
        (WebCore::FrameLoader::checkLoadComplete):

        * loader/mac/WebLoader.mm:
        (WebCore::WebResourceLoader::frameLoader):

        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):

        * page/Frame.cpp:
        (WebCore::Frame::frameLoader):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):

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

        Reviewed by Maciej.

        - fixed two crashes in layout tests I just introduced

        * loader/mac/WebFrameLoader.mm:
        (WebCore::FrameLoader::load): Add null check.
        (WebCore::FrameLoader::setState): Ditto.

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

        Reviewed by Geoff.

        - converted WebDocumentLoader to C++

        * WebCore.exp:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setTitle:]):
        (-[WebCoreFrameBridge originalRequestURL]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebCoreFrameBridge incomingReferrer]):
        (-[WebCoreFrameBridge isReloading]):
        (-[WebCoreFrameBridge mainResourceURLResponse]):
        * loader/mac/WebDocumentLoader.h:
        * loader/mac/WebDocumentLoader.mm:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::frameLoader):
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::setMainResourceData):
        (WebCore::DocumentLoader::mainResourceData):
        (WebCore::DocumentLoader::originalRequest):
        (WebCore::DocumentLoader::originalRequestCopy):
        (WebCore::DocumentLoader::request):
        (WebCore::DocumentLoader::initialRequest):
        (WebCore::DocumentLoader::actualRequest):
        (WebCore::DocumentLoader::URL):
        (WebCore::DocumentLoader::unreachableURL):
        (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
        (WebCore::DocumentLoader::setRequest):
        (WebCore::DocumentLoader::setResponse):
        (WebCore::DocumentLoader::isStopping):
        (WebCore::DocumentLoader::bridge):
        (WebCore::DocumentLoader::setMainDocumentError):
        (WebCore::DocumentLoader::mainDocumentError):
        (WebCore::DocumentLoader::clearErrors):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::stopLoading):
        (WebCore::DocumentLoader::setupForReplace):
        (WebCore::DocumentLoader::commitIfReady):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setCommitted):
        (WebCore::DocumentLoader::isCommitted):
        (WebCore::DocumentLoader::setLoading):
        (WebCore::DocumentLoader::isLoading):
        (WebCore::DocumentLoader::commitLoad):
        (WebCore::DocumentLoader::doesProgressiveLoad):
        (WebCore::DocumentLoader::receivedData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::updateLoading):
        (WebCore::DocumentLoader::response):
        (WebCore::DocumentLoader::setFrame):
        (WebCore::DocumentLoader::attachToFrame):
        (WebCore::DocumentLoader::detachFromFrame):
        (WebCore::DocumentLoader::prepareForLoadStart):
        (WebCore::DocumentLoader::loadingStartedTime):
        (WebCore::DocumentLoader::setIsClientRedirect):
        (WebCore::DocumentLoader::isClientRedirect):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        (WebCore::DocumentLoader::isLoadingInAPISense):
        (WebCore::DocumentLoader::addResponse):
        (WebCore::DocumentLoader::stopRecordingResponses):
        (WebCore::DocumentLoader::title):
        (WebCore::DocumentLoader::setLastCheckedRequest):
        (WebCore::DocumentLoader::lastCheckedRequest):
        (WebCore::DocumentLoader::triggeringAction):
        (WebCore::DocumentLoader::setTriggeringAction):
        (WebCore::DocumentLoader::responses):
        (WebCore::DocumentLoader::setOverrideEncoding):
        (WebCore::DocumentLoader::overrideEncoding):
        (WebCore::DocumentLoader::setTitle):
        (WebCore::DocumentLoader::URLForHistory):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (WebCore::FrameLoader::setupForReplaceByMIMEType):
        (WebCore::FrameLoader::finalSetupForReplace):
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::activeDocumentLoader):
        (WebCore::FrameLoader::addPlugInStreamLoader):
        (WebCore::FrameLoader::removePlugInStreamLoader):
        (WebCore::FrameLoader::addSubresourceLoader):
        (WebCore::FrameLoader::removeSubresourceLoader):
        (WebCore::FrameLoader::setDocumentLoader):
        (WebCore::FrameLoader::documentLoader):
        (WebCore::FrameLoader::setPolicyDocumentLoader):
        (WebCore::FrameLoader::provisionalDocumentLoader):
        (WebCore::FrameLoader::setProvisionalDocumentLoader):
        (WebCore::FrameLoader::setState):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::didReceiveResponse):
        (WebCore::FrameLoader::originalRequest):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::opened):
        (WebCore::FrameLoader::initialRequest):
        (WebCore::FrameLoader::receivedData):
        (WebCore::FrameLoader::setRequest):
        (WebCore::FrameLoader::isStopping):
        (WebCore::FrameLoader::setResponse):
        (WebCore::FrameLoader::mainReceivedError):
        (WebCore::FrameLoader::finishedLoading):
        (WebCore::FrameLoader::notifyIconChanged):
        (WebCore::FrameLoader::URL):
        (WebCore::FrameLoader::checkContentPolicy):
        (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::committedLoad):
        (WebCore::FrameLoader::revertToProvisional):
        (WebCore::FrameLoader::setMainDocumentError):
        (WebCore::FrameLoader::mainReceivedCompleteError):
        (WebCore::FrameLoader::subframeIsLoading):
        (WebCore::FrameLoader::willChangeTitle):
        (WebCore::FrameLoader::didChangeTitle):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::detachFromParent):
        * loader/mac/WebFrameLoaderClient.h:

2006-10-23  Brady Eidson  <beidson@apple.com>

        Lovingly reviewed by Maciej

        Moved loadURL and postURL logic out of WebCoreFrameBridge to FrameMac::loadRequest
        This is a big step towards moving FrameLoader out of the Bridge into Frame/Mac itself

        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow): Use FrameMac::loadRequest

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest): loadURL and postURL logic moved from WebCoreFrameBridge to here

        * bridge/mac/WebCoreFrameBridge.h: Nuked loadURL and postURL
        * bridge/mac/WebCoreFrameBridge.mm: Ditto
        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader safeLoadURL:]): Use FrameMac::loadRequest

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

        RS by Maciej.

        Inside Frame, moved the plethora of load() and stopLoading() functions next 
        to each other to facilitate merging and crying.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest):
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::openURL):
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::urlSelected):
        (WebCore::FrameMac::openURLFromPageCache):
        (WebCore::FrameMac::createFrame):
        * page/Frame.cpp:
        (WebCore::Frame::openURL):
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::loadSubframe):
        (WebCore::Frame::submitFormAgain):
        (WebCore::Frame::submitForm):
        (WebCore::Frame::stop):
        (WebCore::Frame::closeURL):
        (WebCore::Frame::cancelRedirection):
        (WebCore::Frame::iconURL):
        (WebCore::Frame::didOpenURL):
        (WebCore::Frame::didExplicitOpen):
        * page/Frame.h:

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

        RS by Maciej.

        Moved our plethora of load() and stopLoading() functions next to each other
        to facilitate merging and laughter.

        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (WebCore::cancelAll):
        (WebCore::FrameLoader::prepareForLoadStart):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::setupForReplaceByMIMEType):
        (WebCore::FrameLoader::finalSetupForReplace):
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::startLoadingMainResource):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::stopLoadingPlugIns):
        (WebCore::FrameLoader::stopLoadingSubresources):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::stopLoadingSubframes):
        (WebCore::FrameLoader::cancelMainResourceLoad):
        (WebCore::FrameLoader::cancelPendingArchiveLoad):
        (WebCore::FrameLoader::removeSubresourceLoader):
        (WebCore::FrameLoader::mainResourceData):
        (WebCore::FrameLoader::releaseMainResourceLoader):

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

        Reviewed by Maciej.

        - converted WebFrameLoader to C++

        * WebCore.exp: Added many new entry points for WebKit.
        * WebCore.xcodeproj/project.pbxproj: Made more files private (SPI).

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge close]):
        (-[WebCoreFrameBridge clearFrame]):
        (-[WebCoreFrameBridge setFrameLoaderClient:]):
        (-[WebCoreFrameBridge frameLoader]):
        (-[WebCoreFrameBridge setTitle:]):
        (-[WebCoreFrameBridge didFirstLayout]):
        (-[WebCoreFrameBridge notifyIconChanged:]):
        (-[WebCoreFrameBridge originalRequestURL]):
        (-[WebCoreFrameBridge isLoadTypeReload]):
        (-[WebCoreFrameBridge frameDetached]):
        (-[WebCoreFrameBridge tokenizerProcessedData]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
        (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
        (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebCoreFrameBridge incomingReferrer]):
        (-[WebCoreFrameBridge isReloading]):
        (-[WebCoreFrameBridge handledOnloadEvents]):
        (-[WebCoreFrameBridge mainResourceURLResponse]):
        (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
        * loader/mac/WebDocumentLoader.h:
        * loader/mac/WebDocumentLoader.mm:
        (-[WebDocumentLoader frameLoader]):
        (-[WebDocumentLoader dealloc]):
        (-[WebDocumentLoader mainResourceData]):
        (-[WebDocumentLoader setRequest:]):
        (-[WebDocumentLoader bridge]):
        (-[WebDocumentLoader setMainDocumentError:]):
        (-[WebDocumentLoader mainReceivedError:complete:]):
        (-[WebDocumentLoader stopLoading]):
        (-[WebDocumentLoader setupForReplace]):
        (-[WebDocumentLoader commitIfReady]):
        (-[WebDocumentLoader finishedLoading]):
        (-[WebDocumentLoader commitLoadWithData:]):
        (-[WebDocumentLoader doesProgressiveLoadWithMIMEType:]):
        (-[WebDocumentLoader setupForReplaceByMIMEType:]):
        (-[WebDocumentLoader updateLoading]):
        (-[WebDocumentLoader setFrame:]):
        (-[WebDocumentLoader attachToFrame]):
        (-[WebDocumentLoader detachFromFrame]):
        (-[WebDocumentLoader prepareForLoadStart]):
        (-[WebDocumentLoader setPrimaryLoadComplete:]):
        (-[WebDocumentLoader isLoadingInAPISense]):
        (-[WebDocumentLoader setTitle:]):
        * loader/mac/WebFrameLoader.h:
        (WebCore::FrameLoader::frame):
        * loader/mac/WebFrameLoader.mm:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::activeDocumentLoader):
        (WebCore::FrameLoader::addPlugInStreamLoader):
        (WebCore::FrameLoader::removePlugInStreamLoader):
        (WebCore::FrameLoader::defersCallbacksChanged):
        (WebCore::FrameLoader::defersCallbacks):
        (WebCore::setAllDefersCallbacks):
        (WebCore::FrameLoader::setDefersCallbacks):
        (WebCore::cancelAll):
        (WebCore::FrameLoader::stopLoadingPlugIns):
        (WebCore::FrameLoader::isLoadingMainResource):
        (WebCore::FrameLoader::isLoadingSubresources):
        (WebCore::FrameLoader::isLoadingPlugIns):
        (WebCore::FrameLoader::isLoading):
        (WebCore::FrameLoader::stopLoadingSubresources):
        (WebCore::FrameLoader::addSubresourceLoader):
        (WebCore::FrameLoader::removeSubresourceLoader):
        (WebCore::FrameLoader::mainResourceData):
        (WebCore::FrameLoader::releaseMainResourceLoader):
        (WebCore::FrameLoader::cancelMainResourceLoad):
        (WebCore::FrameLoader::startLoadingMainResource):
        (WebCore::FrameLoader::stopLoading):
        (WebCore::FrameLoader::setDocumentLoader):
        (WebCore::FrameLoader::documentLoader):
        (WebCore::FrameLoader::setPolicyDocumentLoader):
        (WebCore::FrameLoader::provisionalDocumentLoader):
        (WebCore::FrameLoader::setProvisionalDocumentLoader):
        (WebCore::FrameLoader::state):
        (WebCore::FrameLoader::timeOfLastCompletedLoad):
        (WebCore::FrameLoader::provisionalLoadStarted):
        (WebCore::FrameLoader::setState):
        (WebCore::FrameLoader::clearProvisionalLoad):
        (WebCore::FrameLoader::markLoadComplete):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::stopLoadingSubframes):
        (WebCore::FrameLoader::startLoading):
        (WebCore::FrameLoader::setupForReplace):
        (WebCore::FrameLoader::identifierForInitialRequest):
        (WebCore::FrameLoader::willSendRequest):
        (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
        (WebCore::FrameLoader::didCancelAuthenticationChallenge):
        (WebCore::FrameLoader::didReceiveResponse):
        (WebCore::FrameLoader::didReceiveData):
        (WebCore::FrameLoader::didFinishLoad):
        (WebCore::FrameLoader::didFailToLoad):
        (WebCore::FrameLoader::privateBrowsingEnabled):
        (WebCore::FrameLoader::originalRequest):
        (WebCore::FrameLoader::receivedMainResourceError):
        (WebCore::FrameLoader::clientRedirectCancelledOrFinished):
        (WebCore::FrameLoader::clientRedirected):
        (WebCore::FrameLoader::shouldReload):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
        (WebCore::FrameLoader::closeOldDataSources):
        (WebCore::FrameLoader::opened):
        (WebCore::FrameLoader::initialRequest):
        (WebCore::FrameLoader::receivedData):
        (WebCore::FrameLoader::setRequest):
        (WebCore::FrameLoader::download):
        (WebCore::FrameLoader::bridge):
        (WebCore::FrameLoader::handleFallbackContent):
        (WebCore::FrameLoader::isStopping):
        (WebCore::FrameLoader::setupForReplaceByMIMEType):
        (WebCore::FrameLoader::setResponse):
        (WebCore::FrameLoader::mainReceivedError):
        (WebCore::FrameLoader::finishedLoading):
        (WebCore::FrameLoader::notifyIconChanged):
        (WebCore::FrameLoader::URL):
        (WebCore::FrameLoader::cancelledError):
        (WebCore::FrameLoader::fileDoesNotExistError):
        (WebCore::FrameLoader::willUseArchive):
        (WebCore::FrameLoader::isArchiveLoadPending):
        (WebCore::FrameLoader::cancelPendingArchiveLoad):
        (WebCore::FrameLoader::handleUnimplementablePolicy):
        (WebCore::FrameLoader::cannotShowMIMEType):
        (WebCore::FrameLoader::interruptionForPolicyChangeError):
        (WebCore::FrameLoader::isHostedByObjectElement):
        (WebCore::FrameLoader::isLoadingMainFrame):
        (WebCore::FrameLoader::canShowMIMEType):
        (WebCore::FrameLoader::representationExistsForURLScheme):
        (WebCore::FrameLoader::generatedMIMETypeForURLScheme):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::checkContentPolicy):
        (WebCore::FrameLoader::cancelContentPolicyCheck):
        (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
        (WebCore::FrameLoader::reloadAllowingStaleData):
        (WebCore::FrameLoader::reload):
        (WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::committedLoad):
        (WebCore::FrameLoader::isReplacing):
        (WebCore::FrameLoader::setReplacing):
        (WebCore::FrameLoader::revertToProvisional):
        (WebCore::FrameLoader::setMainDocumentError):
        (WebCore::FrameLoader::mainReceivedCompleteError):
        (WebCore::FrameLoader::finalSetupForReplace):
        (WebCore::FrameLoader::prepareForLoadStart):
        (WebCore::FrameLoader::subframeIsLoading):
        (WebCore::FrameLoader::willChangeTitle):
        (WebCore::FrameLoader::didChangeTitle):
        (WebCore::FrameLoader::loadType):
        (WebCore::FrameLoader::invalidatePendingPolicyDecision):
        (WebCore::FrameLoader::checkNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNewWindowPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        (WebCore::FrameLoader::continueAfterWillSubmitForm):
        (WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
        (WebCore::FrameLoader::didFirstLayout):
        (WebCore::FrameLoader::frameLoadCompleted):
        (WebCore::FrameLoader::firstLayoutDone):
        (WebCore::FrameLoader::isQuickRedirectComing):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        (WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
        (WebCore::FrameLoader::sendRemainingDelegateMessages):
        (WebCore::FrameLoader::requestFromDelegate):
        (WebCore::FrameLoader::post):
        (WebCore::FrameLoader::detachChildren):
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        (WebCore::FrameLoader::safeLoad):
        (WebCore::FrameLoader::actionInformation):
        (WebCore::FrameLoader::checkLoadComplete):
        (WebCore::FrameLoader::setFrameLoaderClient):
        (WebCore::FrameLoader::client):
        (WebCore::FrameLoader::asDelegate):
        (-[WebCoreFrameLoaderAsDelegate initWithLoader:]):
        (-[WebCoreFrameLoaderAsDelegate detachFromLoader]):
        (-[WebCoreFrameLoaderAsDelegate continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
        (-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
        (-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
        (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNavigationPolicy:formState:]):
        (-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        * loader/mac/WebLoader.h:
        (WebCore::WebResourceLoader::identifier):
        (WebCore::WebResourceLoader::reachedTerminalState):
        (WebCore::WebResourceLoader::cancelled):
        * loader/mac/WebLoader.mm:
        (WebCore::WebResourceLoader::WebResourceLoader):
        (WebCore::WebResourceLoader::releaseResources):
        (WebCore::WebResourceLoader::load):
        (WebCore::WebResourceLoader::frameLoader):
        (WebCore::WebResourceLoader::willSendRequest):
        (WebCore::WebResourceLoader::didReceiveAuthenticationChallenge):
        (WebCore::WebResourceLoader::didCancelAuthenticationChallenge):
        (WebCore::WebResourceLoader::didReceiveResponse):
        (WebCore::WebResourceLoader::didReceiveData):
        (WebCore::WebResourceLoader::didFinishLoading):
        (WebCore::WebResourceLoader::didFinishLoadingOnePart):
        (WebCore::WebResourceLoader::didFail):
        (WebCore::WebResourceLoader::willCacheResponse):
        (WebCore::WebResourceLoader::didCancel):
        (WebCore::WebResourceLoader::cancel):
        (WebCore::WebResourceLoader::cancelledError):
        (WebCore::WebResourceLoader::delegate):
        * loader/mac/WebMainResourceLoader.h:
        * loader/mac/WebMainResourceLoader.mm:
        (WebCore::MainResourceLoader::MainResourceLoader):
        (WebCore::MainResourceLoader::create):
        (WebCore::MainResourceLoader::receivedError):
        (WebCore::MainResourceLoader::didCancel):
        (WebCore::MainResourceLoader::interruptionForPolicyChangeError):
        (WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
        (WebCore::MainResourceLoader::addData):
        (WebCore::MainResourceLoader::willSendRequest):
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        (WebCore::MainResourceLoader::loadNow):
        (WebCore::MainResourceLoader::policyDelegate):
        * loader/mac/WebNetscapePlugInStreamLoader.h:
        * loader/mac/WebNetscapePlugInStreamLoader.mm:
        (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
        (WebCore::NetscapePlugInStreamLoader::create):
        (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
        (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
        (WebCore::NetscapePlugInStreamLoader::didFail):
        (WebCore::NetscapePlugInStreamLoader::didCancel):
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        (-[WebCoreSubresourceHandle initWithLoader:]):

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

        Reviewed by Bradee.

        Shrunk BrowserExtension in preparation for its imminent death, moving page-
        level operations to Page and frame-level operations to Frame.
        
        Removed bizarre Mac(this) syntax inside virtual FrameMac member functions, 
        because 'this' is guaranteed by the compiler to be a FrameMac*.
        
        * bindings/js/kjs_window.cpp: Added NULL checks for m_frame in places
        where it can be NULL.
        * bindings/js/kjs_window.cpp:
        (KJS::canShowModalDialog):
        (KJS::canShowModalDialogNow):
        (KJS::showModalDialog):
        (KJS::History::getValueProperty):
        (KJS::HistoryFunc::callAsFunction):
        * bridge/BrowserExtension.h:
        (WebCore::BrowserExtension::~BrowserExtension):
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::frameDetached):
        (WebCore::FrameMac::unfocusWindow):
        (WebCore::FrameMac::bridgeForWidget):
        (WebCore::FrameMac::documentViewForNode):
        (WebCore::FrameMac::passSubframeEventToSubframe):
        (WebCore::Frame::setNeedsReapplyStyles):
        (WebCore::FrameMac::customHighlightLineRect):
        (WebCore::FrameMac::paintCustomHighlight):
        (WebCore::FrameMac::getHistoryLength):
        (WebCore::FrameMac::goBackOrForward):
        (WebCore::FrameMac::historyURL):
        * bridge/mac/PageMac.mm:
        (WebCore::Page::canRunModal):
        (WebCore::Page::canRunModalNow):
        (WebCore::Page::runModal):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCorePageBridge.h:
        * bridge/win/BrowserExtensionWin.h:
        * page/Frame.cpp:
        (WebCore::Frame::scheduleHistoryNavigation):
        (WebCore::Frame::redirectionTimerFired):
        * page/Frame.h:
        * page/Page.h:

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

        Reviewed by mjs

        <http://bugs.webkit.org/show_bug.cgi?id=11334>
        Writely Editor: Placing caret in a list "highlights" both Numbered List and Bulleted List toolbar icons

        * WebCore.xcodeproj/project.pbxproj:
        * editing/Editor.cpp:
        (WebCore::Editor::selectionUnorderedListState): Added.
        (WebCore::Editor::selectionOrderedListState): Added.
        * editing/Editor.h:
        * editing/JSEditor.cpp:
        * page/Frame.cpp:
        * page/Frame.h:

2006-10-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim H

        * WebCore.xcodeproj/project.pbxproj:
        Include WebCorePrefix.h in Xcode project for convenience and for consistency with WebKit

2006-10-23  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11291
        PNG as cursor image format instead of TIFF

        Original patch by Lars Naesbye Christensen (lars@naesbye.dk)

        - Convert cursor images from TIFF to PNG.

        * Resources/eastResizeCursor.png: Added.
        * Resources/eastResizeCursor.tiff: Removed.
        * Resources/eastWestResizeCursor.png: Added.
        * Resources/eastWestResizeCursor.tiff: Removed.
        * Resources/helpCursor.png: Added.
        * Resources/helpCursor.tiff: Removed.
        * Resources/linkCursor.png: Added.
        * Resources/linkCursor.tiff: Removed.
        * Resources/moveCursor.png: Added.
        * Resources/moveCursor.tiff: Removed.
        * Resources/northEastResizeCursor.png: Added.
        * Resources/northEastResizeCursor.tiff: Removed.
        * Resources/northEastSouthWestResizeCursor.png: Added.
        * Resources/northEastSouthWestResizeCursor.tiff: Removed.
        * Resources/northResizeCursor.png: Added.
        * Resources/northResizeCursor.tiff: Removed.
        * Resources/northSouthResizeCursor.png: Added.
        * Resources/northSouthResizeCursor.tiff: Removed.
        * Resources/northWestResizeCursor.png: Added.
        * Resources/northWestResizeCursor.tiff: Removed.
        * Resources/northWestSouthEastResizeCursor.png: Added.
        * Resources/northWestSouthEastResizeCursor.tiff: Removed.
        * Resources/southEastResizeCursor.png: Added.
        * Resources/southEastResizeCursor.tiff: Removed.
        * Resources/southResizeCursor.png: Added.
        * Resources/southResizeCursor.tiff: Removed.
        * Resources/southWestResizeCursor.png: Added.
        * Resources/southWestResizeCursor.tiff: Removed.
        * Resources/waitCursor.png: Added.
        * Resources/waitCursor.tiff: Removed.
        * Resources/westResizeCursor.png: Added.
        * Resources/westResizeCursor.tiff: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/CursorMac.mm:
        (WebCore::leakNamedCursor):

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

        - fixed build from last change.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::loadRequest):
        (WebCore::FrameMac::openURL):

2006-10-23  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Move border-radius rule for <select>s into RenderThemeMac, as this is
        really a platform-specific look.

        * css/html4.css:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):

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

        Reviewed by Brady.

        - moved things around so loadURL:... is only called from one place

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::frameDetached):
        (WebCore::FrameMac::loadRequest):
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::openURL):
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::urlSelected):

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

        Reviewed by john
        
        <http://bugs.webkit.org/show_bug.cgi?id=11333>
        Writely Editor: After inserting a HR element, pressing return key creates a copy of this HR element in the document
        
        Added special cases in InsertLineBreakCommand for inserting before
        and after tables and horizontal rules.  Also, perform InsertLineBreak
        instead of InsertParagraphSeparator at these positions.

        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):  Use the canonical form
        of the caret position when we check for the new special cases because 
        we know that we canonicalize VisiblePositions to those positions.
        Added code to handle inserting before/after tables and horizontal rules.  
        Fixed a bug when inserting at the end of a block (it checked for a collapse
        of the inserted br by looking for the absence of a br, but the line break 
        might have been a '\n' in white-space:pre text).  Removed unused LOGs.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Perform an 
        InsertLineBreakCommand when before/after a table or a horizontal rule
        so that we don't have to maintain two pieces of special case code.
        Migrated to enclosingBlock.
        * editing/htmlediting.cpp: Added a FIXME.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph): Added a workaround for 8622.
        
2006-10-23  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Make popups a little more flexible.

        * platform/PopupMenu.h:

2006-10-23  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Cleanup CodeGeneratorJS.pm

        * bindings/scripts/CodeGeneratorJS.pm:

2006-10-23  Adam Roben  <aroben@apple.com>

        Rubberstamped by Brady.

        * loader/icon/IconLoader.h: Changed angle-brackets to quotes for
        #include of ResourceLoader.h, since it's a WebCore header.

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

        - fixed mistake that was preventing any loading from happening

        * platform/network/ResourceLoaderClient.h: (WebCore::ResourceLoaderClient::didReceiveData):
        Changed parameter back to int. Perhaps we want to move to "long long" consistently, but
        I'll leave that up to Maciej.

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

        Reviewed by Anders.

        - start converting ResourceLoaderClient to new API

        Did the bits I could do without introducing new types:
        
        - renamed receivedData to didReceiveData
        - renamed version of receivedAllData that doesn't pass any data to didFinishLoading

        * bridge/mac/WebCoreResourceLoaderImp.mm:
        (-[WebCoreResourceLoaderImp addData:]):
        (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
        * loader/icon/IconLoader.cpp:
        (IconLoader::didReceiveData):
        (IconLoader::didFinishLoading):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::didReceiveData):
        * loader/loader.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdkClientDefault::didReceiveData):
        * platform/gdk/FrameGdk.h:
        * platform/network/ResourceLoaderClient.h:
        (WebCore::ResourceLoaderClient::didReceiveData):
        (WebCore::ResourceLoaderClient::didFinishLoading):
        (WebCore::ResourceLoaderClient::receivedResponse):
        * platform/network/cf/ResourceLoaderCFNet.cpp:
        (WebCore::didReceiveData):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::ResourceLoader::cancel):
        * platform/network/gdk/ResourceLoaderManager.cpp:
        (WebCore::writeCallback):
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        (WebCore::ResourceLoaderManager::remove):
        * platform/network/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::slotData):
        (WebCore::ResourceLoaderManager::remove):
        * platform/network/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoader::onRequestComplete):
        (WebCore::ResourceLoader::fileLoadTimer):
        (WebCore::ResourceLoader::cancel):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::didReceiveData):
        * platform/qt/FrameQtClient.h:
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/xmlhttprequest.h:

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

        Rubber stamped by Anders.

        - marked files executable
        
        * ksvg2/scripts/csscssmakeprops:
        * ksvg2/scripts/csscssmakevalues:

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

        Reviewed by Anders.

        - moved ResourceLoader and related files to platform/network
        in preparation for building out this API.

        I tried to update all the build systems but I'm not sure they are
        all fixed properly

        * page/ResourceRequest.h: Moved to platform/network.
        * platform/ResourceLoader.cpp: Moved to platform/network.
        * platform/ResourceLoader.h: Moved to platform/network.
        * platform/ResourceLoaderClient.h: Moved to platform/network.
        * platform/ResourceLoaderInternal.h: Moved to platform/network.
        * platform/cf/ResourceLoaderCFNet.cpp: Moved to platform/network/cf.
        * platform/gdk/ResourceLoaderCurl.cpp: Moved to platform/network/gdk.
        * platform/gdk/ResourceLoaderManager.cpp: Moved to platform/network/gdk.
        * platform/gdk/ResourceLoaderManager.h: Moved to platform/network/gdk.
        * platform/mac/ResourceLoaderMac.mm: Moved to platform/network/mac.
        * platform/qt/ResourceLoaderManager.cpp: Moved to platform/network/qt.
        * platform/qt/ResourceLoaderManager.h: Moved to platform/network/qt.
        * platform/qt/ResourceLoaderQt.cpp: Moved to platform/network/qt.
        * platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win.
        * platform/win/ResourceLoaderWin.h: Moved to platform/network/win.
        * webcore-base.bkl: Updated for new paths.
        * CMakeLists.txt: ditto
        * Projects/gdk/webcore-gdk.bkl: ditto
        * WebCore.xcodeproj/project.pbxproj: ditto
        * WebCoreSources.bkl: ditto

2006-10-22  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - Add DOMHTMLFormElementPrivate.h to the project.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMPrivate.h:

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

        - another try at fixing Qt

        * CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.

        - and fix a couple warnings while I'm at it

        * platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
        Don't do unsigned *= float.

        * rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
        inside #if so it's consistent.

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

        - fix the Qt build

        * platform/qt/EditorClientQt.cpp:
        (WebCore::EditorClientQt::shouldShowDeleteInterface):
        * platform/qt/EditorClientQt.h:
        * platform/qt/FrameQt.cpp:

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

        Reviewed by Adele.

        - convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)

        Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
        there's currently another class with that name).
        Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
        Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
        Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.

        Converted the classes to C++ and added Objective-C delegates to forward from
        API that still requires Objective-C.

        Did not yet rename the source files.

        * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
        classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
        classes.

        * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.

        * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.

        * loader/mac/WebLoader.h:
        * loader/mac/WebLoader.mm:
        * loader/mac/WebMainResourceLoader.h:
        * loader/mac/WebMainResourceLoader.mm:
        * loader/mac/WebNetscapePlugInStreamLoader.h:
        * loader/mac/WebNetscapePlugInStreamLoader.mm:
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        Translate to C++.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (isCaseInsensitiveEqual):
        (isBackForwardLoadType):
        (-[WebFrameLoader dealloc]):
        (-[WebFrameLoader addPlugInStreamLoader:]):
        (-[WebFrameLoader removePlugInStreamLoader:]):
        (-[WebFrameLoader setDefersCallbacks:]):
        (-[WebFrameLoader stopLoadingPlugIns]):
        (-[WebFrameLoader isLoadingMainResource]):
        (-[WebFrameLoader isLoadingSubresources]):
        (-[WebFrameLoader isLoadingPlugIns]):
        (-[WebFrameLoader stopLoadingSubresources]):
        (-[WebFrameLoader addSubresourceLoader:]):
        (-[WebFrameLoader removeSubresourceLoader:]):
        (-[WebFrameLoader mainResourceData]):
        (-[WebFrameLoader releaseMainResourceLoader]):
        (-[WebFrameLoader cancelMainResourceLoad]):
        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
        (-[WebFrameLoader stopLoadingWithError:]):
        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
        (-[WebFrameLoader archiveLoadPendingForLoader:]):
        (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
        * loader/mac/WebFrameLoaderClient.h:
        Call the new C++ API.

2006-10-21  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        Popup tweaks.

        * platform/PopupMenu.h:

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

        * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
        Oops, edited this before landing it and introduced a null-deref! This fixes it.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11379
          assertion failure seen in editing tests (in new DeleteButtonController)

        I cleaned up the relationship between the Frame, Editor, EditorClient, and
        DeleteButtonController a bit while also making the simple change to fix the
        assertion failure.

        * bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):

        * page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
        * page/Frame.cpp:
        (WebCore::Frame::Frame): Ditto.
        (WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
        function, and moved it to Editor rather than right on the DeleteButtonController.
        (WebCore::Frame::unappliedEditing): Ditto.
        (WebCore::Frame::reappliedEditing): Ditto.
        * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.

        * editing/DeleteButtonController.h:
        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
        The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
        for example.
        (WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
        function. Includes an additional check for whether the container is contentEditable, which
        was missing from the old version. This prevents the assertion failure. Also added a check that
        the table itself is editable.
        (WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
        (WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
        selection parameter. No need to pass in the state of the frame since we can get it if we need it.
        (WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.

        * editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
        formatted on multiple lines as usual.
        (WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
        (WebCore::Editor::respondToChangedContents): Ditto.
        (WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.

        * editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
        defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
        changes to DeleteButtonController.h cause very little to recompile.

        * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
        Updated to call the editor instead of the delete button controller for the selection change.

2006-10-21  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):
        Don't leak the header dictionary.

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

        Reviewed by Adam.

        - http://bugs.webkit.org/show_bug.cgi?id=11376
          build scripts should invoke make with "-j" option for multiple processors

        * WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.

2006-10-21  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4478625> HTML Editing: Basic table editing and culling

        Initial implementaltion of table deletion user interface:
        * Interface shows up on the nearest table containing the entire selection.
        * Shows a Dashboard style close button in the top left corner.
        * Shows a 60% opaque black outline around the table.
        * Adds a new EditorClient function shouldShowDeleteInterface.

        Also adds a new constructor CachedImage and setter functions on
        HTMLImageElement and HTMLImageLoader allowing an Image object to be set
        and image element in the page. This change also paves the way to allow an
        NSImage setter on DOMHTMLImageElement. 

        * Resources/deleteButton.tiff: Added.
        * Resources/deleteButtonPressed.tiff: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/EditorClient.h:
        * editing/DeleteButton.cpp: Added.
        (WebCore::DeleteButton::DeleteButton):
        (WebCore::DeleteButton::defaultEventHandler): notify the controller to delete on click
        * editing/DeleteButton.h: Added.
        * editing/DeleteButtonController.cpp: Added.
        (WebCore::DeleteButtonController::DeleteButtonController):
        (WebCore::DeleteButtonController::respondToChangedSelection): move the interface to the new element, or hide
        (WebCore::DeleteButtonController::respondToChangedContents): call updateOutlineStyle
        (WebCore::DeleteButtonController::updateOutlineStyle): resize the outline if the table changed size
        (WebCore::DeleteButtonController::show): shows the interface on a new element
        (WebCore::DeleteButtonController::hide): hides the existing interface
        (WebCore::DeleteButtonController::deleteTarget): deletes the targeted element
        * editing/DeleteButtonController.h: Added.
        (WebCore::DeleteButtonController::target): getter for the current target
        * editing/Editor.cpp:
        (WebCore::Editor::shouldShowDeleteInterface): call the new shouldShowDeleteInterface client function
        (WebCore::Editor::Editor): remove the manual ref now that we use RefPtr for m_client
        (WebCore::Editor::~Editor): remove the manual deref now that we use RefPtr for m_client
        * editing/Editor.h:
        (WebCore::Editor::frame): new getter
        (WebCore::Editor::deleteButtonController): ditto
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): notify the DeleteButtonController about the new selection
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::setCachedImage): new setter that replaces the CachedImage
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::setImage): ditto
        * html/HTMLImageLoader.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::CachedImage): new constructor that takes an Image
        * loader/CachedImage.h: ditto
        * page/Frame.cpp:
        (WebCore::Frame::selectionController): cleanup coding style
        (WebCore::Frame::editor): ditto
        (WebCore::Frame::command): ditto
        (WebCore::Frame::appliedEditing): tell the delete button outline to update
        (WebCore::Frame::unappliedEditing): ditto
        (WebCore::Frame::reappliedEditing): ditto
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): workaround until bug 11363 is fixed

2006-10-21  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Cleanup bindings generation a little through re-factoring 
        and general style cleanup.

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Mitz.

        Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.

        * CMakeLists.txt:
        * platform/qt/EditorClientQt.cpp: Added.
        (WebCore::EditorClientQt::shouldDeleteRange):
        * platform/qt/EditorClientQt.h: Added.
        (WebCore::EditorClientQt::~EditorClientQt):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        * platform/qt/FrameQt.h:

2006-10-21  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
        Auto-generate a few more Objective-C DOM methods.

        - Auto-generate getMatchedCSSRules and getComputedStyle methods.

        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/Document.idl:
        * page/DOMWindow.idl:

2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by aliu, landed by aliu.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        * platform/qt/SoundQt.cpp: Added.
        (WebCore::systemBeep):

2006-10-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Mitz, landed by ap.

        Fix obscure crashes in RenderTableSection on Rob's musicdb file.
        The problem was a missing layout() call on the frame view.
        Thanks go to Mitz Pettel for the initial hint!

        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::paintEvent):

2006-10-20  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Anders.

        Send User-Agent on requests.
        Send custom request headers properly.

        * platform/cf/ResourceLoaderCFNet.cpp:
        (WebCore::addHeadersFromHashMap): Switch over to HashMap iteration from string parsing
        (WebCore::ResourceLoader::start): Send proper User-Agent, change call to add headers

2006-10-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        Fix some bad formatting.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector):

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

        Reviewed by John.

        - fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings

        * loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
        as the key, not the dictionary itself.

2006-10-20  Alice Liu  <alice.liu@apple.com>

        Reviewed by Maciej.

        This is the initial foundation for the EditingController class and
        everything else it needs to work.  The idea is that the Frame has an
        EditingController object that it calls to handle editing commands, the
        most simple examples being copy/paste.  This controller will handle
        these editing commands in WebCore, and only hand off to WebKit to call
        editing delegates (to the let the app intercept editing actions if it
        wants to).  Thus we need a platform-specific client to which the
        EditingController hands off the delegate calls, 
        WebCoreEditingControllerClient.  On the WebCore side this is an 
        abstract base class, and on the WebKit(Mac) side this is an ObjC++
        subclass, WebEditingControllerClient.  How does the EditingController
        get a handle to its platform-specific client?  In WebKit, the creator
        of a platform-specific Frame creates the client (which is ref-counted)
        and passes it down the chain of constructors until it gets back to the
        EditingController, which then refs it in its constructor and derefs in
        its destructor.
        
        No Layout tests needed.
        
        * WebCore.xcodeproj/project.pbxproj:
        Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile

        * bridge/EditorClient.h: Added.
        (WebCore::EditorClient::~EditorClient):

        * bridge/mac/FrameMac.h:
        Added an EditingClient to the constructor, to pass down to Frame constructor

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac):
        Passed client down to Frame constructor
        
        * bridge/mac/WebCoreFrameBridge.h:
        Added an EditingClient to the constructor, to pass down to FrameMac constructor
        
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
        Passed client down to FrameMac constructor
        
        * editing/Editor.cpp: Added.
        Mostly stuf implementations of the following functions, except for a couple.  These are all needed by cut, copy, paste, delete.
        (WebCore::generalPasteboard):
        (WebCore::Editor::canCopy):
        (WebCore::Editor::canCut):
        (WebCore::Editor::canDelete):
        (WebCore::Editor::canDeleteRange):
        (WebCore::Editor::canPaste):
        (WebCore::Editor::canSmartCopyOrDelete):
        (WebCore::Editor::deleteSelection):
        (WebCore::Editor::deleteSelectionWithSmartDelete):
        (WebCore::Editor::isSelectionRichlyEditable):
        (WebCore::Editor::pasteAsPlainTextWithPasteboard):
        (WebCore::Editor::pasteWithPasteboard):
        (WebCore::Editor::selectedRange):
        (WebCore::Editor::shouldDeleteRange):
        (WebCore::Editor::tryDHTMLCopy):
        (WebCore::Editor::tryDHTMLCut):
        (WebCore::Editor::tryDHTMLPaste):
        (WebCore::Editor::writeSelectionToPasteboard):
        (WebCore::Editor::Editor):
        (WebCore::Editor::~Editor):
        (WebCore::Editor::cut):
        (WebCore::Editor::copy):
        (WebCore::Editor::paste):
        (WebCore::Editor::performDelete):
        
        * editing/Editor.h: Added.
        
        * page/Frame.h:
        Added an EditingClient to the constructor, to pass down to Editor constructor

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        Passed down to Editor constructor
        (WebCore::Frame::editor):
        Accessor for Editor stored in FramePrivate
        
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        Added an Editor object to the FramePrivate data
        
        * platform/Sound.h: Added.
        Made a platform-independent accessor to a beep function
        
        * platform/mac/SoundMac.mm: Added.
        (WebCore::systemBeep):
        calls mac system beep
        
2006-10-20  David Hyatt  <hyatt@apple.com>

        Make sure to support the "encoding" property on form elements for
        legacy compatibility.

        Reviewed by darin/john

        No test cases added.  Not sure how to do a form submission of
        various encodings as a layout test.

        * html/HTMLFormElement.h:
        (WebCore::HTMLFormElement::encoding):
        (WebCore::HTMLFormElement::setEncoding):
        * html/HTMLFormElement.idl:

2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and by Anders.

        Fix warnings in JS generation by killing the whole isRefPtr logic,
        and just using WTF::getPtr as Sam Weinig suggested. Also kill some
        places using get() where getPtr() is cleaner - not for m_impl.get().

        * CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
        * bindings/scripts/CodeGeneratorJS.pm:

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

        - rolled out my loader change; caused world leak and possibly a plug-in crash

2006-10-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Tim H

        * loader/mac/LoaderFunctionsMac.mm:
        Autorelease the header NSDictionary.
        
2006-10-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::timerFired):
        Check if the timeout id is still in the table before trying to access it. If it isn't in the table
        it has been deleted inside of the execute method.

2006-10-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin and Geoff.

        Remove debugging output.
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

2006-10-20  David Harrison  <harrison@apple.com>

        Reviewed by John.

        <rdar://problem/4792755> REGRESSON: Drag selecting is erratic

        No test because it would require autoscrolling, which is not available to layout tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll):
        Use hitTest() to find the correct node.
        
        (WebCore::RenderLayer::hitTest):
        Trivial source formatting.

2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).

        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::add):

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

        Reviewed by Adele.

        - convert WebLoader and its 3 subclasses to C++

        Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
        there's currently another class with that name).
        Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
        Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
        Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.

        Converted the classes to C++ and added Objective-C delegates to forward from
        API that still requires Objective-C.

        Did not yet rename the source files.

        * WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
        classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
        classes.

        * WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.

        * platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.

        * loader/mac/WebLoader.h:
        * loader/mac/WebLoader.mm:
        * loader/mac/WebMainResourceLoader.h:
        * loader/mac/WebMainResourceLoader.mm:
        * loader/mac/WebNetscapePlugInStreamLoader.h:
        * loader/mac/WebNetscapePlugInStreamLoader.mm:
        * loader/mac/WebSubresourceLoader.h:
        * loader/mac/WebSubresourceLoader.mm:
        Translate to C++.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (isCaseInsensitiveEqual):
        (isBackForwardLoadType):
        (-[WebFrameLoader dealloc]):
        (-[WebFrameLoader addPlugInStreamLoader:]):
        (-[WebFrameLoader removePlugInStreamLoader:]):
        (-[WebFrameLoader setDefersCallbacks:]):
        (-[WebFrameLoader stopLoadingPlugIns]):
        (-[WebFrameLoader isLoadingMainResource]):
        (-[WebFrameLoader isLoadingSubresources]):
        (-[WebFrameLoader isLoadingPlugIns]):
        (-[WebFrameLoader stopLoadingSubresources]):
        (-[WebFrameLoader addSubresourceLoader:]):
        (-[WebFrameLoader removeSubresourceLoader:]):
        (-[WebFrameLoader mainResourceData]):
        (-[WebFrameLoader releaseMainResourceLoader]):
        (-[WebFrameLoader cancelMainResourceLoad]):
        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
        (-[WebFrameLoader stopLoadingWithError:]):
        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
        (-[WebFrameLoader archiveLoadPendingForLoader:]):
        (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
        * loader/mac/WebFrameLoaderClient.h:
        Call the new C++ API.

2006-10-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Offer a way for WebKitPart to be able to detect when
        the webpage has been completly loaded (including subresources).

        Also fix Qt/Linux build by removing PopupMenu.cpp from CMakeLists.txt
        and removing some functions from PopupMenuQt.cpp, and alter FrameQt.cpp.

        * CMakeLists.txt:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::client):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::setFrame):
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        (WebCore::FrameQtClientDefault::checkLoaded):
        (WebCore::FrameQtClientDefault::traverseNextFrameStayWithin):
        (WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/FrameQtClient.h:
        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::CheckCacheObjectStatus):
        * platform/qt/PopupMenuQt.cpp:
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::ResourceLoaderManager):
        (WebCore::ResourceLoaderManager::slotResult):
        (WebCore::ResourceLoaderManager::add):
        * platform/qt/ResourceLoaderManager.h:
        * platform/qt/ResourceLoaderQt.cpp:
        (WebCore::ResourceLoader::start):

2006-10-20  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Geoff.

        Fix compiler warnings

        * platform/ResourceLoaderClient.h:

2006-10-20  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Win32 build fix and cleanup.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        (WebCore::FrameWin::submitForm):
        * page/ResourceRequest.h:
        (WebCore::ResourceRequest::addHTTPHeaderField):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::Slider::~Slider):
        (WebCore::Slider::setMinValue):
        (WebCore::searchableIndexIntroduction):
        (WebCore::findNextSentenceFromIndex):
        (WebCore::findSentenceBoundary):
        (WebCore::findNextWordFromIndex):
        (WebCore::FrameWin::getObjectInstanceForWidget):
        (WebCore::FrameWin::getEmbedInstanceForWidget):
        (WebCore::FrameWin::runJavaScriptPrompt):
        (WebCore::FrameWin::restoreDocumentState):
        (WebCore::FrameWin::partClearedInBegin):
        (WebCore::FrameWin::createEmptyDocument):
        (WebCore::FrameWin::overrideMediaType):
        (WebCore::FrameWin::markedTextRange):
        (WebCore::FrameWin::passSubframeEventToSubframe):
        (WebCore::FrameWin::lastEventIsMouseUp):
        (WebCore::FrameWin::addMessageToConsole):
        (WebCore::FrameWin::shouldChangeSelection):
        (WebCore::FrameWin::respondToChangedSelection):
        (WebCore::FrameWin::createFrame):
        (WebCore::FrameWin::saveDocumentState):
        (WebCore::FrameWin::clearUndoRedoOperations):
        (WebCore::FrameWin::incomingReferrer):
        (WebCore::FrameWin::markMisspellingsInAdjacentWords):
        (WebCore::FrameWin::respondToChangedContents):
        (WebCore::FrameWin::handledOnloadEvents):
        (WebCore::FrameWin::createPlugin):
        (WebCore::FrameWin::objectContentType):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::historyContains):
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (WebCore::defaultLanguage):
        (WebCore::findWordBoundary):
        (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (WebCore::PlugInInfoStore::supportsMIMEType):
        (WebCore::refreshPlugins):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveResponseEncoding):
        (WebCore::ResourceLoader::startHTTPRequest):
        (WebCore::TextField::TextField):
        (WebCore::focusRingColor):
        (WebCore::setFocusRingColorChangeFunction):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::hide):

2006-10-20  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11303
        Path::transform() should be implemented on Qt build

        Use QPainterPath API to implement Path::transform.
        This fixes svg/custom/clip-path-with-transform.svg on
        the qt build.

        * platform/qt/PathQt.cpp:
        (WebCore::Path::transform):

2006-10-20  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg clipping and painting classes.

        * ksvg2/svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::parseMappedAttribute):
        (WebCore::SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMarkerElement.h:
        (WebCore::SVGMarkerElement::rendererIsNeeded):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        (WebCore::SVGMaskElement::canvasResource):
        * ksvg2/svg/SVGMaskElement.h:
        (WebCore::SVGMaskElement::rendererIsNeeded):
        * ksvg2/svg/SVGPaint.cpp:
        (WebCore::SVGPaint::setPaint):
        (WebCore::SVGPaint::cssText):
        * ksvg2/svg/SVGPaint.h:

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

        Make sure to do the code that checks the repeatInterval before the timer has been
        deleted. (Duh.)

        Reviewed by andersca

        * bindings/js/kjs_window.cpp:
        (KJS::DOMWindowTimer::setNestingLevel):
        (KJS::Window::timerFired):
        (KJS::DOMWindowTimer::fired):
        * platform/Timer.h:

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

        Honor tiny timer intervals for JS timeouts as they are nested until a cutoff point is reached.
        At that point clamp to 10ms to prevent excessive CPU usage.

        Reviewed by anders

        * bindings/js/kjs_window.cpp:
        (KJS::DOMWindowTimer::DOMWindowTimer):
        (KJS::DOMWindowTimer::nestingLevel):
        (KJS::Window::installTimeout):
        (KJS::Window::pauseTimeouts):
        (KJS::Window::resumeTimeouts):
        (KJS::DOMWindowTimer::fired):
        * platform/Timer.h:
        (WebCore::TimerBase::startRepeating):
        (WebCore::TimerBase::startOneShot):
        (WebCore::TimerBase::repeatInterval):
        (WebCore::TimerBase::augmentRepeatInterval):
        (WebCore::TimerBase::inHeap):
        (WebCore::Timer::Timer):
        (WebCore::Timer::fired):

2006-10-20  Steve Falkenburg  <sfalken@apple.com>

        Build fix

        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):

2006-10-19  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam.

        Use GetKeyState rather than GetAsyncKeyState since we're
        calling in these cases in direct response to an event, and want the
        key state associated with that event.
        
        Pass triggering event to url selection method.
        
        * bridge/mac/FrameMac.h: Add triggeringEvent parameter
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::urlSelected): Add triggeringEvent parameter
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::urlSelected): Add triggeringEvent parameter
        * bridge/win/FrameWin.h: Add triggeringEvent parameter
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler): Pass triggering event to URL selection method
        * page/Frame.cpp:
        (WebCore::Frame::changeLocation): Add 0 as triggeringEvent
        (WebCore::Frame::urlSelected): Pass through triggeringEvent
        * page/Frame.h: Add triggeringEvent parameter to urlSelected methods
        * platform/win/KeyEventWin.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use GetKeyState instead of GetAsyncKeyState
        * platform/win/MouseEventWin.cpp: Use GetKeyState instead of GetAsyncKeyState
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

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

        Correct typos from changing "flush" to "prune" using automated search/replace.

        Change the cache heuristic for flushing to allow a higher watermark before initiating an
        aggressive prune.  This ensures that small cache sizes are no worse in terms of performance
        than the old buggy cache.

        Make sizes unsigned instead of ints in the cache's APIs and member variables.

        * loader/Cache.cpp:
        (WebCore::Cache::prune):
        (WebCore::Cache::setMaximumSize):
        * loader/Cache.h:
        (WebCore::Cache::maximumSize):

2006-10-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Daddy Hyatt.

        Use a real hash map for the headers.

        * loader/LoaderFunctions.h:
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * platform/ResourceLoader.cpp:
        (WebCore::ResourceLoader::setRequestHeaders):
        (WebCore::ResourceLoader::requestHeaders):
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::getRequestHeader):
        * xml/xmlhttprequest.h:

2006-10-19  Adam Roben  <aroben@apple.com>

        Reviewed by Ada.

        Pippity-poppity popup tweaks.

        * WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if
        requested and the new index is actually different than the old one.
        * platform/IntPoint.h: Added another casting operator.
        * platform/PopupMenu.cpp: Removed. The code in here, while
        platform-independent, was only useful for the NSPopUpButtonCell
        implementation of popup menus, so I've moved it to PopupMenuMac.mm.
        * platform/PopupMenu.h: Moved the definition of PopupMenu::create into
        the header since it's fairly simple. Made some more methods private now
        that we don't have subclasses and virtual methods anymore.
        (WebCore::PopupMenu::create):
        (WebCore::PopupMenu::menuList):
        (WebCore::PopupMenu::itemHeight):
        (WebCore::PopupMenu::windowRect):
        (WebCore::PopupMenu::listIndexAtPoint):
        (WebCore::PopupMenu::focusedIndex):
        (WebCore::PopupMenu::setWasClicked):
        (WebCore::PopupMenu::wasClicked):
        (WebCore::PopupMenu::setScrollOffset):
        (WebCore::PopupMenu::scrollOffset):
        (WebCore::PopupMenu::wheelDelta):
        * platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp.
        (WebCore::PopupMenu::populate): Call our own clear() method to clear
        the menu.
        * platform/win/IntPointWin.cpp: New casting operator.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator POINTS):

2006-10-19  Adam Roben  <aroben@apple.com>

        Reviewed by Darin.

        Cleaning up Document::nextFocusNode and Document::previousFocusNode.

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

2006-10-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

        - implement new ResourceRequest API and fix up code as appropriate
        
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::WindowFunc::callAsFunction):
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::urlSelected):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
        * dom/DOMImplementation.cpp:
        (WebCore::addString):
        (WebCore::isSVG10Feature):
        (WebCore::isSVG11Feature):
        * dom/Document.h:
        * editing/CommandByName.cpp:
        * editing/JSEditor.cpp:
        * page/Frame.cpp:
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::submitForm):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/ResourceRequest.h:
        (WebCore::):
        (WebCore::ResourceRequest::ResourceRequest):
        (WebCore::ResourceRequest::cachePolicy):
        (WebCore::ResourceRequest::setCachePolicy):
        (WebCore::ResourceRequest::timeoutInterval):
        (WebCore::ResourceRequest::setTimeoutInterval):
        (WebCore::ResourceRequest::mainDocumentURL):
        (WebCore::ResourceRequest::setMainDocumentURL):
        (WebCore::ResourceRequest::httpMethod):
        (WebCore::ResourceRequest::setHTTPMethod):
        (WebCore::ResourceRequest::httpHeaderField):
        (WebCore::ResourceRequest::setHTTPHeaderField):
        (WebCore::ResourceRequest::httpContentType):
        (WebCore::ResourceRequest::setHTTPContentType):
        (WebCore::ResourceRequest::httpReferrer):
        (WebCore::ResourceRequest::setHTTPReferrer):
        (WebCore::ResourceRequest::httpUserAgent):
        (WebCore::ResourceRequest::setHTTPUserAgent):
        (WebCore::ResourceRequest::httpBody):
        (WebCore::ResourceRequest::setHTTPBody):
        (WebCore::ResourceRequest::addHTTPHeaderField):
        * platform/FontCache.cpp:
        (WebCore::computeHash):
        * platform/StringHash.h:
        (WTF::):
        * platform/StringImpl.cpp:
        (WebCore::equalIgnoringCase):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):

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

        Reviewed by levi
        
        <rdar://problem/4447885>
        API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
        
        Fixed indent/outdent to only increment the left margin, to match other browsers.
        Used blockquote class="webkit-indent-blockquote" to do this.  Mail can now
        implement indent/outdent by customizing the appearance of these blockquotes,
        instead of using a new API.
        
        * css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
        * editing/IndentOutdentCommand.cpp:
        (WebCore::indentBlockquoteString): Added.
        (WebCore::createIndentBlockquoteElement): Added.
        (WebCore::isIndentBlockquote): Added.
        (WebCore::isListOrBlockquote): Added.
        (WebCore::IndentOutdentCommand::IndentOutdentCommand):
        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed
        a bug in the code that added an extra br if the placeholder collapsed upon insertion.
        Used the new indentBlockquote checks and enclosing element getters.  
        (WebCore::IndentOutdentCommand::indentRegion): Ditto.
        (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.  Cleaned up the
        logic to pull the selection out of a list a bit.
        * editing/htmlediting.cpp:
        (WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
        * editing/htmlediting.h:

2006-10-19  Timothy Hatcher  <timothy@apple.com>

        Rolling out the this change since it caused a bad regression:
        <rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)

2006-10-12  Adele Peterson  <adele@apple.com>
          
        Reviewed by Dave Harrison.
          
        - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
          
        * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
        Make subtree layouts work for textareas as well as text fields.

2006-10-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * loader/Cache.h:
        * platform/qt/BrowserExtensionQt.cpp:
        * platform/qt/BrowserExtensionQt.h:
        * platform/qt/CursorQt.cpp:
        (WebCore::pointerCursor):
        * platform/qt/LoaderFunctionsQt.cpp:
        (WebCore::NumberOfPendingOrLoadingRequests):
        (WebCore::CheckCacheObjectStatus):
        * platform/qt/ResourceLoaderQt.cpp:
        (WebCore::ResourceLoader::retrieveResponseEncoding):
        (WebCore::ResourceLoader::receivedResponse):

2006-10-19  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by ap.

        Win32 build fix.

        * bridge/win/FrameWin.cpp:
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ResourceLoader::retrieveResponseEncoding):

2006-10-19  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11141
        REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element

        Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
        to document URL. This matches WinIE and partially matches Firefox - although the latter
        reports the href as if it were inherited, it still doesn't use it when resolving URIs in
        @import rules.

        Test: http/tests/uri/css-href.php

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::childrenChanged):
        * ksvg2/svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::childrenChanged):

2006-10-19  Anders Carlsson  <acarlsson@apple.com>

        * loader/Cache.cpp:
        Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems
        with case-sensitive file systems.

2006-10-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej, Brady.

        Remove "charset" from the ResourceLoader metadata map and use 
        a getter function instead. Also, rename charset to encoding in a couple of places.
        
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::setEncoding):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedResource.h:
        (WebCore::CachedResource::setEncoding):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::setEncoding):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::setEncoding):
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::setEncoding):
        * loader/CachedXSLStyleSheet.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse):
        * platform/ResourceLoader.cpp:
        (WebCore::ResourceLoader::responseEncoding):
        (WebCore::ResourceLoader::queryMetaData):
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::retrieveResponseEncoding):
        (WebCore::ResourceLoader::receivedResponse):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::receivedData):

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

        Rewrite of the WebCore memory cache.  The following changes have been made (along with many more):

        (1) Referenced objects are now also cached.

        (2) Pruning of the cache will occur once the cache is both full and in addition
        more than half full with unreferenced objects.

        (3) The prune is much more aggressive now, since referenced objects are counted when
        pruning.  The cache will therefore often prune out every unreferenced object if lots of
        windows/tabs are open.

        (4) Consolidated the request methods for various types of resources to go through a single
        requestResource bottleneck function.

        (5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
        identical.

        (6) Changed "object" to "resource" everywhere.

        (7) The Cache is now an actual object, obtained via cache().

        (8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
        and enabled.

        (9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.

        (10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
        in the LRU lists).  Also fixed a bug with the "-SP" part of the algorithm where the access count was
        being incorrectly weighted too much due to a math error.

        (11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
        the size of referenced resources.

        Reviewed by Maciej, bradee-oh

        * bridge/mac/WebCoreCache.mm:
        (+[WebCoreCache statistics]):
        (+[WebCoreCache empty]):
        (+[WebCoreCache setDisabled:]):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:]):
        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::image):
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::updateFromElement):
        * loader/Cache.cpp:
        (WebCore::cache):
        (WebCore::Cache::Cache):
        (WebCore::createResource):
        (WebCore::Cache::requestResource):
        (WebCore::Cache::resourceForURL):
        (WebCore::Cache::prune):
        (WebCore::Cache::setMaximumSize):
        (WebCore::Cache::remove):
        (WebCore::Cache::addDocLoader):
        (WebCore::Cache::removeDocLoader):
        (WebCore::fastLog2):
        (WebCore::Cache::lruListFor):
        (WebCore::Cache::removeFromLRUList):
        (WebCore::Cache::insertInLRUList):
        (WebCore::Cache::resourceAccessed):
        (WebCore::Cache::adjustSize):
        (WebCore::Cache::getStatistics):
        (WebCore::Cache::setDisabled):
        * loader/Cache.h:
        (WebCore::LRUList::LRUList):
        (WebCore::Cache::loader):
        (WebCore::Cache::maximumSize):
        (WebCore::Cache::disabled):
        (WebCore::Cache::addToLiveObjectSize):
        (WebCore::Cache::removeFromLiveObjectSize):
        (WebCore::Cache::TypeStatistic::TypeStatistic):
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::CachedImage):
        (WebCore::CachedImage::~CachedImage):
        (WebCore::brokenImage):
        (WebCore::nullImage):
        (WebCore::CachedImage::image):
        (WebCore::CachedImage::data):
        * loader/CachedImage.h:
        (WebCore::CachedImage::stillNeedsLoad):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::~CachedResource):
        (WebCore::CachedResource::finish):
        (WebCore::CachedResource::setExpireDate):
        (WebCore::CachedResource::isExpired):
        (WebCore::CachedResource::setRequest):
        (WebCore::CachedResource::ref):
        (WebCore::CachedResource::deref):
        (WebCore::CachedResource::setSize):
        * loader/CachedResource.h:
        (WebCore::CachedResource::):
        (WebCore::CachedResource::setCharset):
        (WebCore::CachedResource::url):
        (WebCore::CachedResource::type):
        (WebCore::CachedResource::referenced):
        (WebCore::CachedResource::count):
        (WebCore::CachedResource::status):
        (WebCore::CachedResource::size):
        (WebCore::CachedResource::isLoaded):
        (WebCore::CachedResource::setLoading):
        (WebCore::CachedResource::isImage):
        (WebCore::CachedResource::accessCount):
        (WebCore::CachedResource::increaseAccessCount):
        (WebCore::CachedResource::setInCache):
        (WebCore::CachedResource::inCache):
        (WebCore::CachedResource::cachePolicy):
        (WebCore::CachedResource::response):
        (WebCore::CachedResource::allData):
        (WebCore::CachedResource::canDelete):
        (WebCore::CachedResource::schedule):
        (WebCore::CachedResource::accept):
        (WebCore::CachedResource::setAccept):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::DocLoader):
        (WebCore::DocLoader::~DocLoader):
        (WebCore::DocLoader::checkForReload):
        (WebCore::DocLoader::requestImage):
        (WebCore::DocLoader::requestCSSStyleSheet):
        (WebCore::DocLoader::requestScript):
        (WebCore::DocLoader::requestXSLStyleSheet):
        (WebCore::DocLoader::requestXBLDocument):
        (WebCore::DocLoader::requestResource):
        (WebCore::DocLoader::setAutoLoadImages):
        (WebCore::DocLoader::removeCachedResource):
        * loader/DocLoader.h:
        (WebCore::DocLoader::cachedResource):
        (WebCore::DocLoader::allCachedResources):
        (WebCore::DocLoader::autoLoadImages):
        (WebCore::DocLoader::cachePolicy):
        (WebCore::DocLoader::expireDate):
        (WebCore::DocLoader::frame):
        (WebCore::DocLoader::doc):
        (WebCore::DocLoader::loadInProgress):
        * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::finish):
        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::cancelRequests):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::NumberOfPendingOrLoadingRequests):
        (WebCore::CheckCacheObjectStatus):
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
        (WebCore::Frame::Frame):
        (WebCore::Frame::stopLoading):
        (WebCore::Frame::setAutoLoadImages):
        (WebCore::Frame::autoLoadImages):
        (WebCore::Frame::begin):
        (WebCore::Frame::checkCompleted):
        (WebCore::Frame::reparseConfiguration):
        * page/Frame.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):

2006-10-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

        - remove vestiges of KXMLCore name (former name of WTF).

        * config.h:

2006-10-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth.
        
        Fixed http://bugs.webkit.org/show_bug.cgi?id=11222

        Some global JS objects lacked references to their property hashtables,
        so for-in enumeration didn't work. I added the references, and then removed
        a few bogus properties from the tables. The bogus ones got in there through
        bit rot.
        
        We should come up with some solution to these hand-written bindings bugs.
        Maybe we could use a script to autogenerate them or something.

        * bindings/js/kjs_window.cpp:
        (KJS::):
        (KJS::History::getValueProperty):

2006-10-18  Adam Roben  <aroben@apple.com>

        Reviewed by Brady.

        Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
        U+000019 (Backtab). This matches our windowsKeyCode for this key
        combination.

        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):

2006-10-18  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam, Brady.

        Loader tweaks.

        * platform/cf/ResourceLoaderCFNet.cpp:
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::didReceiveChallenge):
        (WebCore::runLoaderThread):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):

2006-10-18  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode

        - Store the Mac popup button cell as a RetainPtr to prevent GC collection.
        - Convert more ObjC local statics and member variables to use RetainPtr.
        - Convert more CFRetain/CFRelease to HardRetain/HardRelease.

        * bindings/objc/DOM.mm:
        (ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
        (ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
        * bridge/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
        (WebCore::AXObjectCache::get): use HardRetain and not CFRetain
        (WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
        (+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
        * platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
        * platform/cf/RetainPtr.h:
        (WTF::::operator): implement a missing operator= template function
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::PopupMenu): remove nil initialization
        (WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
        (WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
        (WebCore::PopupMenu::populate): ditto 
        (WebCore::PopupMenu::show): ditto
        (WebCore::PopupMenu::hide): ditto
        (WebCore::PopupMenu::addSeparator): ditto
        (WebCore::PopupMenu::addGroupLabel): ditto
        (WebCore::PopupMenu::addOption): ditto

2006-10-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Adele.

        Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
        are tracking or menus are down (run loop modes)

        I spent a few hours trying to write an automated test, but DRT doesn't
        seem to support it. Manual tests attached to related bugs.
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passMouseDownEventToWidget):
        * platform/mac/SharedTimerMac.cpp:
        (WebCore::setSharedTimerFireTime):

2006-10-18  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Maciej.

        More Win32 buildfix.

        * bridge/win/FrameWin.h:

2006-10-18  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz

        Win32 build fix.

        * bridge/win/BrowserExtensionWin.cpp:
        (WebCore::BrowserExtensionWin::BrowserExtensionWin):
        (WebCore::BrowserExtensionWin::createNewWindow):
        * bridge/win/BrowserExtensionWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::createNewWindow):
        * bridge/win/FrameWin.h:
        * platform/win/CursorWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (Image::getHBITMAP):

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

        Reviewed by harrison
        
        <rdar://problem/4784823>
        GMail Editor: Hang occurs when removing list styling on text in a rich text message

        List removal moves the contents of every list item out of the list it's 
        in. When the code tried to move the contents of an empty list item (an li 
        with no child nodes, not even a placeholder br), moveParagraph didn't prune 
        the li, like it would if the li had a placeholder inside it.  So the list 
        removal code went into an infinite loop, continually attempting to de-list 
        an empty list item.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): If the selection
        to move was empty and in an empty block that doesn't require a 
        placeholder to prop itself open (like a bordered div or an li), 
        remove it during the move.

2006-10-18  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
          REGRESSION (r16975): fast/events/objc-event-api is failing

          When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
          a call to invalidateClick.  This change moves it back to the sequence that existed before.  This allows
          the click count to get properly reset during a selection.

        * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):

2006-10-17  Geoffrey Garen  <ggaren@apple.com>
        
        Reviewed by Anders.
        
        Factored common scaling code into a helper function.

        * platform/mac/ScreenMac.mm:
        (WebCore::scale):
        (WebCore::scaleScreenRectToPageCoordinates):
        (WebCore::scalePageRectToScreenCoordinates):

2006-10-17  Steve Falkenburg  <sfalken@apple.com>

        Build fixes

        * bridge/win/BrowserExtensionWin.cpp:
        (WebCore::BrowserExtensionWin::createNewWindow):
        * bridge/win/BrowserExtensionWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::createNewWindow):
        * bridge/win/FrameWin.h:
        * platform/gdk/BrowserExtensionGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (BrowserExtensionGdk::createNewWindow):
        * platform/qt/BrowserExtensionQt.cpp:
        (WebCore::BrowserExtensionQt::createNewWindow):
        * platform/qt/BrowserExtensionQt.h:

2006-10-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Anders.
        
        Renamed WindowArgs to WindowFeatures, and moved it into its own header.
        ("Features" is the term of art in IE documentation. "Args" is pirate
        talk.)

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::showModalDialog):
        (KJS::setWindowFeature):
        (KJS::parseWindowFeatures):
        (KJS::constrainToVisible):
        (KJS::WindowFunc::callAsFunction):
        * bridge/BrowserExtension.h:
        * bridge/WindowFeatures.h: Added.
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):

2006-10-17  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
        Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint

        - Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.

        - Moves the contents of ksvg/bindings/js/ to bindings/js/.

        - Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.

        - Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching 
          the other CSSValue classing, and allowing the bindings to allocate
          appropriately.

        - Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
          generation for Objective-C.

        - Assorted style cleanups.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.mm:
        (+[DOMCSSValue _CSSValueWith:WebCore::]):
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _eventWith:WebCore::]):
        * bindings/objc/DOMSVG.h:
        * bindings/objc/DOMSVGNumber.mm:
        (-[DOMSVGNumber dealloc]):
        (-[DOMSVGNumber finalize]):
        (-[DOMSVGNumber value]):
        (-[DOMSVGNumber setValue:]):
        (-[DOMSVGNumber _SVGNumber]):
        (-[DOMSVGNumber _initWithFloat:]):
        (+[DOMSVGNumber _SVGNumberWith:]):
        * bindings/objc/DOMSVGPoint.mm:
        (-[DOMSVGPoint dealloc]):
        (-[DOMSVGPoint finalize]):
        (-[DOMSVGPoint x]):
        (-[DOMSVGPoint setX:]):
        (-[DOMSVGPoint y]):
        (-[DOMSVGPoint setY:]):
        (-[DOMSVGPoint WebCore::]):
        (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
        (+[DOMSVGPoint _SVGPointWith:WebCore::]):
        * bindings/objc/DOMSVGRect.mm:
        (-[DOMSVGRect dealloc]):
        (-[DOMSVGRect finalize]):
        (-[DOMSVGRect x]):
        (-[DOMSVGRect setX:]):
        (-[DOMSVGRect y]):
        (-[DOMSVGRect setY:]):
        (-[DOMSVGRect width]):
        (-[DOMSVGRect setWidth:]):
        (-[DOMSVGRect height]):
        (-[DOMSVGRect setHeight:]):
        (-[DOMSVGRect WebCore::]):
        (-[DOMSVGRect _initWithFloatRect:WebCore::]):
        (+[DOMSVGRect _SVGRectWith:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/StyleBase.h:
        (WebCore::StyleBase::isSVGColor):
        (WebCore::StyleBase::isSVGPaint):
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Removed.
        * ksvg2/bindings/js/JSSVGNumber.cpp: Removed.
        * ksvg2/bindings/js/JSSVGNumber.h: Removed.
        * ksvg2/bindings/js/JSSVGPoint.cpp: Removed.
        * ksvg2/bindings/js/JSSVGPoint.h: Removed.
        * ksvg2/bindings/js/JSSVGRect.cpp: Removed.
        * ksvg2/bindings/js/JSSVGRect.h: Removed.
        * ksvg2/svg/SVGColor.h:
        (WebCore::SVGColor::isSVGColor):
        * ksvg2/svg/SVGFECompositeElement.idl:
        * ksvg2/svg/SVGFEFloodElement.idl:
        * ksvg2/svg/SVGLocatable.idl:
        * ksvg2/svg/SVGMarkerElement.idl:
        * ksvg2/svg/SVGPaint.h:
        (WebCore::SVGPaint::isSVGPaint):
        * ksvg2/svg/SVGRectElement.idl:
        * ksvg2/svg/SVGZoomEvent.idl: Removed.

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

        Prepare for the elimination of the RenderLayer for <html> elements.  The layer is still present,
        but this patch makes everything work without a root layer being around.

        Reviewed by beth

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paint):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderLayer.cpp:
        (WebCore::frameVisibleRect):
        (WebCore::RenderLayer::hitTest):
        (WebCore::RenderLayer::hitTestLayer):
        (WebCore::RenderLayer::intersectsDamageRect):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setInnerNode):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paint):

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

        Back out my previous patch to the WebCore memory cache.

        * loader/Cache.cpp:
        (WebCore::Cache::flush):
        (WebCore::Cache::setSize):
        (WebCore::Cache::getLRUListFor):
        (WebCore::Cache::removeFromLRUList):
        (WebCore::Cache::insertInLRUList):
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::deref):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::deref):
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::setRequest):
        (WebCore::CachedResource::deref):
        * loader/CachedResource.h:
        (WebCore::CachedResource::allowInLRUList):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::deref):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::deref):
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::deref):
        * loader/CachedXSLStyleSheet.h:

2006-10-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders.

        Make north and east resize cursors use correct image

        * platform/win/CursorWin.cpp:
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):

2006-10-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Brady

        Various cursor fixes

        * page/FrameView.cpp:
        (WebCore::FrameView::handleMouseMoveEvent):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::pointerCursor):
        * platform/win/CursorWin.cpp:
        (WebCore::supportsAlphaCursors):
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::pointerCursor):

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

        Reviewed by harrison
        
        <rdar://problem/4776665>
        REGRESSION: In Mail, caret is visible when the message body isn't focused

        * page/Frame.cpp:
        (WebCore::Frame::paintCaret): If a caret blink timer is ever on in error
        (like when the frame that contains the caret isn't focused) then we don't 
        want to paint the caret.  We should eventually move to using a single bool
        for caret painting.

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

        Reviewed by harrison
        
        <rdar://problem/4774354>
        REGRESSION: In Gmail, caret reappears when dragging a selection over some text in the message body

        Functions call recomputCaretRect to see if the caret rect has changed, 
        and, if it has, they invalidate (repaint) it.  recomputeCaretRect was 
        returning false if the caret turned into a range selection or was blown 
        away.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::recomputeCaretRect): Don't early return if
        !isCaret().  Obtain the FrameView* using the m_frame pointer, because m_sel 
        may now be null.

2006-10-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Brady.

        BrowserExtension cleanup.
        
        - Removed unnecessary #include of BrowserExtension in Frame.h, added
        #includes to compensate in other files.
        
        - Removed unused versions of createNewWindow.
        
        * bindings/js/kjs_window.cpp:
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/WebCoreFrameBridge.mm:
        * html/HTMLFormElement.cpp:
        * loader/mac/LoaderFunctionsMac.mm:
        * page/Frame.h:
        * page/FramePrivate.h:

2006-10-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Adam.
        
        - Fixed "FIXME: Violates Liskov Substitution principle."
        
        IFRAME was never a true subclass of FRAME, since they disagreed on a
        number of behaviors, which, confusingly, IFRAME just overrode and contradicted. 

        The fix here is to factor out things common to IFRAME and FRAME into a
        common base class, HTMLFrameElementBase.
        
        I also changed some " *" to "* " and added #includes in files that implicitly
        assumed that HTMLIFrameElement.h #included HTMLFrameElement.h.

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

        Reviewed by sullivan
        
        <rdar://problem/4776765>
        REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)

        We set m_needsLayout to false and call caretRect() in the hopes that it will give us 
        the old caret rect.  It in fact corrects the caret rect for an offset that it 
        believes is due to scrolling but which is actually due to a change in selection
        without an accompanying layout.  So it returns the new caret rect regardless of
        what m_needsLayout is set to.
        
        * editing/SelectionController.cpp:
        (WebCore::repaintRectForCaret): Moved the code from caretRepaintRect that
        adds a one pixel slop to this new function.
        (WebCore::SelectionController::caretRepaintRect): Moved this code to
        repaintRectForCaret.
        (WebCore::SelectionController::recomputeCaretRect): Compare the old
        caret rect to the new one that's computed with a fresh layout.  If
        they are different, invalidate both repaint rects.

2006-10-17  David Harrison  <harrison@apple.com>

        Reviewed by Adele.

        <rdar://problem/4770453> VO not honoring secure edit fields in web pages

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject isPasswordField]):
        New. Checks for input with inputType() of PASSWORD.
        
        (-[WebCoreAXObject subrole]):
        Returns NSAccessibilitySecureTextFieldSubrole if [self isPasswordField].
        
        (-[WebCoreAXObject roleDescription]):
        Pass [self subrole] instead of nil when calling NSAccessibilityRoleDescription.
        
        (-[WebCoreAXObject value]):
        Return nil if [self isPasswordField].
        
        (-[WebCoreAXObject accessibilityAttributeNames]):
        Return generic attributes if [self isPasswordField].

        (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
        Return empty array if [self isPasswordField].

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

        Fix "flash to white' problem on yahoo.com as it finishes loading.  Refine the FOUC suppression
        code so that it will only run if the body still has no renderer.

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

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

        Fix a bug where the WebCore memory cache could grow without bound during extended browsing
        sessions.

        Reviewed by mjs

        * loader/Cache.cpp:
        (WebCore::Cache::flush):
        (WebCore::Cache::setSize):
        (WebCore::Cache::getLRUListFor):
        (WebCore::Cache::removeFromLRUList):
        (WebCore::Cache::insertInLRUList):
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        * loader/CachedImage.h:
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::setRequest):
        (WebCore::CachedResource::deref):
        * loader/CachedResource.h:
        (WebCore::CachedResource::allowInLRUList):
        * loader/CachedScript.cpp:
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        * loader/CachedXSLStyleSheet.h:

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

        Reviewed by harrison
        
        <rdar://problem/3655385>
        Editing: -indent: method unimplemented

        Added Frame and bridge methods.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge indent]):
        (-[WebCoreFrameBridge outdent]):
        * page/Frame.cpp:
        (WebCore::Frame::indent): 
        (WebCore::Frame::outdent):
        * page/Frame.h:

2006-10-16  Adam Roben  <aroben@apple.com>

        Reviewed by John.

        More menulist cleanup/tweaking.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSelectedIndex): Renamed 'index'
        parameter to 'optionIndex' for clarity.
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Skip over
        items that are not enabled <option> elements when using arrow keys, and
        make sure we pass an option index to setSelectedIndex.
        * platform/PopupMenu.h:
        (WebCore::PopupMenu::setWasClicked): Specify default argument.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::setTextFromOption): Strip whitespace from
        option text before setting the control text so that options within
        <optgroup>s don't appear indented in the actual control.

2006-10-16  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Adam.

        Win32 build fix.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/BrowserExtensionWin.cpp:
        (WebCore::BrowserExtensionWin::createNewWindow):
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::urlSelected):
        (WebCore::FrameWin::submitForm):
        (WebCore::FrameWin::createNewWindow):
        * bridge/win/FrameWin.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse):
        * platform/win/GraphicsContextWin.cpp:
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::openURLRequest):
        (WebCore::ServeSynchronousRequest):
        (WebCore::CheckIfReloading):
        (WebCore::IsResponseURLEqualToURL):
        (WebCore::ResponseMIMEType):
        (WebCore::ResponseIsMultipart):
        (WebCore::CacheObjectExpiresTime):
        (CachedResource::setResponse):
        (CachedResource::setAllData):
        * rendering/RenderThemeWin.cpp:
        (WebCore::doneDrawing):
        (WebCore::RenderThemeWin::paintButton):
        (WebCore::RenderThemeWin::paintTextField):

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

        Fix for bug 9347, positioned elements have the wrong containing block.  This is a change from CSS2 to
        CSS2.1.  In the absence of any other enclosing positioned elements, the containing block for a positioned
        element is the initial containing block (our RenderView).

        Reviewed by mjs

        Test cases added to fast/block/positioning for quirks and strict modes.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockHeightForPositioned):
        (WebCore::RenderBox::calcAbsoluteVertical):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::container):

2006-10-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Anders.

        Misc Gdk/Linux build fixes.

        * platform/gdk/BrowserExtensionGdk.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::submitForm):
        (WebCore::FrameGdk::urlSelected):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/RenderPopupMenuGdk.cpp:
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::clear):
        (WebCore::PopupMenu::populate):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::addSeparator):
        (WebCore::PopupMenu::addGroupLabel):
        (WebCore::PopupMenu::addOption):
        * platform/gdk/RenderPopupMenuGdk.h:
        * platform/gdk/RenderThemeGdk.cpp:
        * platform/gdk/RenderThemeGdk.h:
        (WebCore::RenderThemeGdk::RenderThemeGdk):
        * platform/gdk/TemporaryLinkStubs.cpp:
        (BrowserExtensionGdk::createNewWindow):
        (BrowserExtensionGdk::BrowserExtensionGdk):
        (BrowserExtensionGdk::setTypedIconURL):
        (BrowserExtensionGdk::setIconURL):
        (BrowserExtensionGdk::getHistoryLength):
        (WebCore::CheckIfReloading):
        (WebCore::CacheObjectExpiresTime):
        (WebCore::ResponseURL):
        (WebCore::IsResponseURLEqualToURL):
        (WebCore::ResponseIsMultipart):
        (WebCore::ResponseMIMEType):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):
        (FileChooser::disconnectUploadControl):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:

2006-10-15  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
        Add getModifierState method to KeyboardEvent

        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/PublicDOMInterfaces.h:
        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::getModifierState):
        * dom/KeyboardEvent.h:
        * dom/KeyboardEvent.idl:

2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Changed PlatformResponse handling for Qt. Don't just store
        a QString object containing the data but a new PlatformResponseQt struct
        containing data and url, and store it as pointer. This is compatible
        to the OS X handling and removes the Qt plaform specific hacks from
        CachedCSSStyleSheet, CachedResource & loader.

        Add new file LoaderFunctionsQt, similar to LoaderFunctionsMac, and move
        all methods from TemporaryLinkStubs related to loading in there, and implement
        some like ServeSynchronousRequest (yay for xslt handling!).

        * CMakeLists.txt:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify):
        * loader/CachedResource.h:
        (WebCore::CachedResource::CachedResource):
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse):
        * platform/ResourceLoaderClient.h:
        * platform/ResourceLoaderInternal.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::~FrameQt):
        (WebCore::FrameQt::createEmptyDocument):
        * platform/qt/FrameQt.h:
        (WebCore::QtFrame):
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::setFrame):
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::loadFinished):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/FrameQtClient.h:
        * platform/qt/LoaderFunctionsQt.cpp: Added.
        (WebCore::ServeSynchronousRequest):
        (WebCore::NumberOfPendingOrLoadingRequests):
        (WebCore::CheckIfReloading):
        (WebCore::CheckCacheObjectStatus):
        (WebCore::IsResponseURLEqualToURL):
        (WebCore::ResponseURL):
        (WebCore::ResponseMIMEType):
        (WebCore::ResponseIsMultipart):
        (WebCore::CacheObjectExpiresTime):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::remove):
        * platform/qt/ResourceLoaderQt.cpp:
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/TemporaryLinkStubs.cpp:

2006-10-14  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg basic datastructure classes.

        * ksvg2/svg/SVGAngle.cpp:
        (WebCore::SVGAngle::valueAsString):
        (WebCore::SVGAngle::context):
        (WebCore::SVGAngle::setContext):
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::ownerSVGElement):
        (WebCore::SVGElement::viewportElement):
        (WebCore::SVGElement::parseMappedAttribute):
        (WebCore::SVGElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGElement.h:
        (WebCore::svg_dynamic_cast):
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGLangSpace.cpp:
        (WebCore::SVGLangSpace::parseMappedAttribute):
        * ksvg2/svg/SVGLangSpace.h:
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::SVGLength):
        (WebCore::SVGLength::setValueAsString):
        (WebCore::SVGLength::dpi):
        (WebCore::SVGLength::updateValue):
        (WebCore::SVGLength::updateValueInSpecifiedUnits):
        (WebCore::SVGLength::context):
        (WebCore::SVGLength::setContext):
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGLengthList.cpp:
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::nearestViewportElement):
        (WebCore::SVGLocatable::farthestViewportElement):
        (WebCore::SVGLocatable::getBBox):
        (WebCore::SVGLocatable::getCTM):
        (WebCore::SVGLocatable::getScreenCTM):
        * ksvg2/svg/SVGNumberList.cpp:
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::getCTM):
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        * ksvg2/svg/SVGStringList.cpp:
        (WebCore::SVGStringList::reset):
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGStylable.cpp:
        * ksvg2/svg/SVGStylable.h:
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::requiredFeatures):
        (WebCore::SVGTests::requiredExtensions):
        (WebCore::SVGTests::systemLanguage):
        (WebCore::SVGTests::isValid):
        (WebCore::SVGTests::parseMappedAttribute):
        * ksvg2/svg/SVGTests.h:
        * ksvg2/svg/SVGTransformable.cpp:
        (WebCore::SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/SVGTransformable.h:
        * ksvg2/svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.h:

2006-10-15  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Implement some functions in FrameQt / ScrollViewQt.

        Added comments what needs to be done in quite some places,
        marked some functions as no-ops.

        * CMakeLists.txt:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::runJavaScriptConfirm):
        (WebCore::FrameQt::locationbarVisible):
        (WebCore::FrameQt::createFrame):
        (WebCore::FrameQt::passSubframeEventToSubframe):
        (WebCore::FrameQt::menubarVisible):
        (WebCore::FrameQt::personalbarVisible):
        (WebCore::FrameQt::statusbarVisible):
        (WebCore::FrameQt::toolbarVisible):
        (WebCore::FrameQt::markedTextRange):
        (WebCore::FrameQt::lastEventIsMouseUp):
        (WebCore::FrameQt::openURLRequest):
        (WebCore::FrameQt::scheduleClose):
        (WebCore::FrameQt::unfocusWindow):
        (WebCore::FrameQt::focusWindow):
        (WebCore::FrameQt::overrideMediaType):
        (WebCore::FrameQt::runJavaScriptPrompt):
        (WebCore::FrameQt::bindingRootObject):
        (WebCore::FrameQt::addPluginRootObject):
        (WebCore::FrameQt::registerCommandForUndo):
        (WebCore::FrameQt::registerCommandForRedo):
        (WebCore::FrameQt::clearUndoRedoOperations):
        (WebCore::FrameQt::respondToChangedSelection):
        (WebCore::FrameQt::respondToChangedContents):
        (WebCore::FrameQt::shouldChangeSelection):
        (WebCore::FrameQt::canGoBackOrForward):
        (WebCore::FrameQt::canPaste):
        (WebCore::FrameQt::canRedo):
        (WebCore::FrameQt::canUndo):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::runJavaScriptAlert):
        (WebCore::FrameQtClientDefault::runJavaScriptConfirm):
        (WebCore::FrameQtClientDefault::runJavaScriptPrompt):
        (WebCore::FrameQtClientDefault::menubarVisible):
        (WebCore::FrameQtClientDefault::toolbarVisible):
        (WebCore::FrameQtClientDefault::statusbarVisible):
        (WebCore::FrameQtClientDefault::personalbarVisible):
        (WebCore::FrameQtClientDefault::locationbarVisible):
        * platform/qt/FrameQtClient.h:
        * platform/qt/ImageSourceQt.cpp:
        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::scrollPointRecursively):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):

2006-10-14  David Harrison  <harrison@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4775213> REGRESSION: Can't from tab from last link on the page to URL address field
        <rdar://problem/4783926> REGRESSION: Typing tab key enters no text

        The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
        of whether frame->view()->advanceFocus() actually changed the focus.

        Trivial fix is to preventDefault() only if advanceFocus() returns true.

        * No test is possible because DumpRenderTree sets the WebView preference to
        tab to links, and that preference cannot be changed dynamically after
        the webview is initialized. Also, the "tab from last link" is not testable
        because DumpRenderTree uses the WebView for the whole window, so tabs can't
        shift focus out of the WebView regardless.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::defaultEventHandler):

2006-10-14  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Mitz.

        Fix Qt/Linux build & some little fixes:

        - Adapt to Maciej's FrameLoadRequest changes.
        - Fix response handling - don't try to compare with '0' - for us it's a non-ptr QString object.
        - Actually call setAllData from loader/loader.cpp (David Carson forgot that in his last commit)
        - Fix CacheObjectExpiresTime/ResponseIsMultipart signature.

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify):
        * loader/CachedResource.h:
        (WebCore::CachedResource::CachedResource):
        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        * platform/qt/BrowserExtensionQt.cpp:
        (WebCore::BrowserExtensionQt::createNewWindow):
        * platform/qt/BrowserExtensionQt.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        (WebCore::FrameQt::openURLRequest):
        * platform/qt/FrameQt.h:
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setURLForRect):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::CacheObjectExpiresTime):
        (WebCore::ResponseIsMultipart):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):

2006-10-14  David Carson  <dacarson@gmail.com>

        Reviewed by Maciej.

        Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
        Removed Mac platform dependance, changed WebCore functions to
        use PlatformResponse/PlatformData rather than NSURLResponse/
        NSData. 

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::checkNotify):
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::createImage):
        * loader/CachedResource.cpp:
        (WebCore::CachedResource::~CachedResource):
        * loader/CachedResource.h:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::response):
        (WebCore::CachedResource::allData):
        * loader/LoaderFunctions.h:
        * loader/loader.cpp:
        (WebCore::Loader::receivedResponse):
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ResponseMIMEType):
        (WebCore::ResponseIsMultipart):
        (WebCore::CacheObjectExpiresTime):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::CacheObjectExpiresTime):
        (WebCore::ResponseIsMultipart):
        (WebCore::ResponseMIMEType):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::CacheObjectExpiresTime):
        (WebCore::ResponseIsMultipart):
        (WebCore::ResponseMIMEType):
        (WebCore::CachedResource::setResponse):
        (WebCore::CachedResource::setAllData):

2006-10-14  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Maciej.

        Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
        Pure virtual classes require non-pure destructor, who knew.

        Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
        so that other platforms can also use CURL, if they wish.

        Silence compiler warning about unused variable in SharedTimerLinux.cpp

        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/gdk/FrameGdk.h:
        (WebCore::FrameGdkClient::~FrameGdkClient):
        * platform/gdk/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        * platform/gdk/SharedTimerLinux.cpp:
        (WebCore::stopSharedTimer):

2006-10-13  Beth Dakin  <bdakin@apple.com>

        Reviewed by Geoff.

        Build fix from my last check-in. Make hasOutlineAnnotation() non-
        inline so that we don't have to include Document.h in 
        RenderObject.h
        Doing so causes a build failure in WebKit, and it probably isn't a 
        good idea anyway.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::hasOutlineAnnotation):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasOutline):

2006-10-13  Beth Dakin  <bdakin@apple.com>

        Patch written mostly by Ken Kraisler, but also by me.

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
        problem/3391162> PDF created by printing should have live 
        hyperlinks

        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::focusRingBoundingRect):
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setURLForRect):
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setURLForRect): Implement method to add 
        URL link to PDF document.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of 
        querying the outline width
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintObject): Same as above.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::paintLines): Call the new paintOutline()
        (WebCore::RenderFlow::paintOutline): Take care of focus ring and 
        pdf url rects, and outline painting.
        * rendering/RenderFlow.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF 
        link to a rectanglular region.
        (WebCore::RenderObject::paintOutline): Take care of pdf rects as 
        well as focus ring painting.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the 
        element is a link and we are printing.
        (WebCore::RenderObject::hasOutline): Returns true is the style has 
        an outline and hasOutlineAnnotation() is true.
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is 
        greater than 0 and outlineStyle is greater than BHIDDEN.

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

        Reviewed by ggaren and harrison
        
        <rdar://problem/4744008>
        9A270: Mail crashes when I try to paste large items from Safari

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
        Even though we put nodes in the hash map in pre-order, they don't necessary
        come out of the iterator that way.  If a node is a redundant style span
        and one of its pruned ancestors comes off the hash map after it, and that
        ancestor is a redundant style span or font tag, we will try to remove it
        even though it has already been removed and we'll crash.
        The test case added with the fix depends on our hash map implementation
        because it requires that a particular redundant style span come out of 
        the iterator before its parent. So, it may eventually not provide 
        coverage for the fix.

2006-10-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::WindowFunc::callAsFunction):
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::submitForm):
        (WebCore::FrameMac::openURLRequest):
        (WebCore::FrameMac::urlSelected):
        * bridge/win/BrowserExtensionWin.h:
        * page/Frame.cpp:
        (WebCore::Frame::changeLocation):
        (WebCore::Frame::urlSelected):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::submitForm):
        * page/Frame.h:
        * page/FrameLoadRequest.h: Added.
        (WebCore::FrameLoadRequest::FrameLoadRequest):
        (WebCore::FrameLoadRequest::lockHistory):
        (WebCore::FrameLoadRequest::setLockHistory):
        * page/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):

2006-10-13  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej

        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader loadDocumentLoader:]):
        Replace ASSERT(!policyDocumentLoader) with code that handles this case. This can
        happen when loading a page during a decidePolicyForNavigationAction callback.

2006-10-13  Dave Hyatt  <hyatt@apple.com>

        Transparency layer work.

        Reviewed by aroben

        * platform/GraphicsContext.h:
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        * platform/cg/GraphicsContextPlatformPrivate.h:
        (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
        (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):

2006-10-13  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg paint server classes.

        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::SVGGradientElement):
        (WebCore::SVGGradientElement::parseMappedAttribute):
        (WebCore::SVGGradientElement::notifyAttributeChange):
        (WebCore::SVGGradientElement::canvasResource):
        (WebCore::SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
        (WebCore::SVGLinearGradientElement::parseMappedAttribute):
        (WebCore::SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyClientsToRepaint):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::canvasResource):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::rendererIsNeeded):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGStopElement.cpp:
        (WebCore::SVGStopElement::SVGStopElement):
        (WebCore::SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGStopElement.h:

2006-10-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin, John.

        - Merged more frame and iframe code
        - Fixed a bug where iframes returned incorrect values for renderer-dependent 
        properties during javascript: loads because they didn't have renderers at 
        load time
        
        PLT insists this is a small performance win. Don't believe its lies.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::frameGetter): Renamed frameWidth and frameHeight to
        width and height, for consistency with the rest of the DOM.
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::queuePostAttachCallback): Added a post-attach callback
        queue that gets drained after the render tree is fully constructed. Currently,
        this is only used for frame loading.
        (WebCore::ContainerNode::attach):
        * dom/ContainerNode.h:
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::insertedIntoDocument): Removed frame loading from
        attach() because loading iframes during attach() causes a crash. 
        Moved frame loading logic into insertedIntoDocument(). That's a more 
        logical place for it because  document insertion is what 
        triggers frame loading. Made frame loading a post-attach callback, instead
        of an immediate action, to fix the incorrect values bug.
        (WebCore::HTMLFrameElement::attach): Added setWidget call that used to be
        in HTMLIFrameElement::attach. IFRAME requires this call. FRAME will soon 
        require this call, once I remove the call from WebKit.
        (WebCore::HTMLFrameElement::setLocation):
        (WebCore::HTMLFrameElement::width):
        (WebCore::HTMLFrameElement::height):
        * html/HTMLFrameElement.h: Made openURL non-virtual to avoid the unnecessary
        killing of puppies.
        * html/HTMLIFrameElement.cpp: Merged code into HTMLFrameElement
        (WebCore::HTMLIFrameElement::rendererIsNeeded):
        (WebCore::HTMLIFrameElement::createRenderer):
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        (WebCore::HTMLIFrameElement::removedFromDocument):
        (WebCore::HTMLIFrameElement::attach):
        * page/FrameView.h: Removed unused method.

2006-10-13  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)

        Tests added or changed:
        * editing/style/style-boundary-005.html: Added. Matches steps from bug.
        * editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
        * editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
        * editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
        * editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).

        * dom/Text.cpp:
        (WebCore::Text::splitText):
        Comment changes.
        
        * editing/ApplyStyleCommand.cpp:
        (WebCore::isUnstyledStyleSpan):
        Renamed from isEmptyStyleSpan.
        
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        Rename emptySpans local to unstyledSpans.
        
        (WebCore::dummySpanAncestorForNode):
        New. To locate Apple style span created when splitting a text node.
        
        (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
        Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
        of dummy span's parents, rather than traversing up from start and
        end locations. Old algorithm would miss empty spans in the bug case.
        
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
        
        (WebCore::ApplyStyleCommand::removeCSSStyle):
        Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
        
        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
        Comment changes.
        
        * editing/ApplyStyleCommand.h:
        Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
          
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles):
        Allow for Apple style span to be unstyled, because old email may have this in the DOM.
        Use !node->hasChildNodes() instead of !node->firstChild().
        
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::doApply):
        Comment changes.
        
        * rendering/RenderTreeAsText.cpp:
        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
        (WebCore::operator<<):
        Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM

2006-10-13  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix Qt/Linux build after Adele's popup menu changes.

        * CMakeLists.txt:
        * platform/qt/FileChooserQt.cpp:
        (WebCore::FileChooser::disconnectUploadControl):
        * platform/qt/PopupMenuQt.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::clear):
        (WebCore::PopupMenu::populate):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::addSeparator):
        (WebCore::PopupMenu::addGroupLabel):
        (WebCore::PopupMenu::addOption):
        * platform/qt/RenderPopupMenuQt.cpp: Removed.
        * platform/qt/RenderPopupMenuQt.h: Removed.
        * platform/qt/RenderThemeQt.cpp:

2006-10-13  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Darin.

        fixed build failure 

        * WebCore.xcodeproj/project.pbxproj:
        * loader/mac/WebFrameLoader.mm:

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

        Reviewed by Adele.

        - converted WebFormState from Objective-C to C++

        * WebCore.exp: Added a new symbol, changed one symbol from C to C++.

        * WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
        Added UChar.h and FrameLoaderTypes.h.

        * loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.

        * loader/mac/WebFormState.h: Converted class to C++.
        * loader/mac/WebFormState.mm: Ditto.

        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
        (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
        (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
        (-[WebFrameLoader continueAfterNewWindowPolicy:]):
        (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
        (-[WebFrameLoader continueAfterNavigationPolicy:]):
        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        Changed Objective-C WebFormState uses to C++ WebCore::FormState.

2006-10-13  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        - Fix for <rdar://problem/4768591> REGRESSION: List box selection color should just be a darker version of regular selection color

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
        (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):

2006-10-13  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg structure classes.

        * ksvg2/svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement):
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::SVGDescElement):
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGDocument.cpp:
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::SVGElementInstance):
        (WebCore::SVGElementInstance::correspondingElement):
        (WebCore::SVGElementInstance::correspondingUseElement):
        (WebCore::SVGElementInstance::parentNode):
        (WebCore::SVGElementInstance::childNodes):
        (WebCore::SVGElementInstance::previousSibling):
        (WebCore::SVGElementInstance::nextSibling):
        (WebCore::SVGElementInstance::firstChild):
        (WebCore::SVGElementInstance::lastChild):
        * ksvg2/svg/SVGElementInstance.h:
        * ksvg2/svg/SVGElementInstanceList.cpp:
        * ksvg2/svg/SVGElementInstanceList.h:
        * ksvg2/svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement):
        (WebCore::SVGGElement::parseMappedAttribute):
        (WebCore::SVGDummyElement::SVGDummyElement):
        * ksvg2/svg/SVGGElement.h:
        (WebCore::SVGGElement::rendererIsNeeded):
        * ksvg2/svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::createRenderer):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::pixelUnitToMillimeterX):
        (WebCore::SVGSVGElement::pixelUnitToMillimeterY):
        (WebCore::SVGSVGElement::currentScale):
        (WebCore::SVGSVGElement::setCurrentScale):
        (WebCore::SVGSVGElement::currentTranslate):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::suspendRedraw):
        (WebCore::SVGSVGElement::unsuspendRedraw):
        (WebCore::SVGSVGElement::unsuspendRedrawAll):
        (WebCore::SVGSVGElement::forceRedraw):
        (WebCore::SVGSVGElement::getIntersectionList):
        (WebCore::SVGSVGElement::getEnclosureList):
        (WebCore::SVGSVGElement::checkIntersection):
        (WebCore::SVGSVGElement::checkEnclosure):
        (WebCore::SVGSVGElement::deselectAll):
        (WebCore::SVGSVGElement::createSVGLength):
        (WebCore::SVGSVGElement::createSVGAngle):
        (WebCore::SVGSVGElement::createSVGMatrix):
        (WebCore::SVGSVGElement::createSVGTransform):
        (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        (WebCore::SVGSVGElement::setCurrentTime):
        * ksvg2/svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::rendererIsNeeded):
        * ksvg2/svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::SVGSwitchElement):
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGSwitchElement.h:
        (WebCore::SVGSwitchElement::rendererIsNeeded):
        * ksvg2/svg/SVGSymbolElement.cpp:
        (WebCore::SVGSymbolElement::SVGSymbolElement):
        (WebCore::SVGSymbolElement::parseMappedAttribute):
        * ksvg2/svg/SVGSymbolElement.h:
        (WebCore::SVGSymbolElement::shouldAttachChild):
        * ksvg2/svg/SVGTitleElement.cpp:
        (WebCore::SVGTitleElement::SVGTitleElement):
        * ksvg2/svg/SVGTitleElement.h:
        * ksvg2/svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::parseMappedAttribute):
        (WebCore::SVGUseElement::closeRenderer):
        * ksvg2/svg/SVGUseElement.h:
        (WebCore::SVGUseElement::rendererIsNeeded):

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

        Reviewed by Anders.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=11172
          REGRESSION (NativeListBox): OPTION text paints over the edge of the select element at http://jobs.apple.com/
        
         Test: fast/forms/listbox-width-change.html

        * rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement):
          When the options change, call setNeedsLayoutAndMinMaxRecalc.

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

        Reviewed by Oliver.

        - moved a bunch of WebFrameBridge code down to WebCoreFrameBridge, now that it no longer has any WebKit dependencies

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (stringByCollapsingNonPrintingCharacters):
        (-[WebCoreFrameBridge setTitle:]):
        (-[WebCoreFrameBridge didFirstLayout]):
        (-[WebCoreFrameBridge notifyIconChanged:]):
        (-[WebCoreFrameBridge originalRequestURL]):
        (-[WebCoreFrameBridge isLoadTypeReload]):
        (-[WebCoreFrameBridge frameDetached]):
        (-[WebCoreFrameBridge tokenizerProcessedData]):
        (-[WebCoreFrameBridge receivedData:textEncodingName:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        (-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebCoreFrameBridge reportClientRedirectCancelled:]):
        (-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
        (-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebCoreFrameBridge incomingReferrer]):
        (-[WebCoreFrameBridge isReloading]):
        (-[WebCoreFrameBridge handledOnloadEvents]):
        (-[WebCoreFrameBridge mainResourceURLResponse]):
        (-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
        * loader/mac/LoaderNSURLExtras.h:
        * loader/mac/LoaderNSURLRequestExtras.h: Added.
        * loader/mac/LoaderNSURLRequestExtras.m: Added.
        (isConditionalRequest):
        (setHTTPReferrer):
        * loader/mac/WebFrameLoader.mm:
        * loader/mac/WebSubresourceLoader.mm:

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

        RS by Geoff.

        Renamed menuListIsDetaching to disconnectMenuList, 
        uploadControlDetaching to disconnectUploadControl, and fileChooserDetachingSoon to disconnectFileChooser.  
        These names match similar methods in WebCore a little better.

        * platform/FileChooser.h:
        * platform/PopupMenu.h: (WebCore::PopupMenu::disconnectMenuList):
        * platform/mac/FileChooserMac.mm: (-[OpenPanelController disconnectFileChooser]):
        (WebCore::FileChooser::disconnectUploadControl):
        * platform/win/TemporaryLinkStubs.cpp: (FileChooser::disconnectUploadControl):
        * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList):

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

        Reviewed by Maciej.

        WebCore part of fix for <rdar://problem/4450613> need a means to attach user data to any menu that is popuped up in HTML

        Added private delegate method for clients that want access to a PopupMenu's NSMenu.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::willPopupMenu):
        * bridge/mac/WebCoreFrameBridge.h:

        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Calls willPopupMenu with the NSMenu about to be popped up.

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

        Reviewed by Alice.

        - Fix for <rdar://problem/4707372> 
          After timers fix, crash in -[NSMenu performActionForItemAtIndex:] after moving/detroying active popup menu

        * platform/PopupMenu.h: (WebCore::PopupMenu::menuListIsDetaching): Added. Zeros out the pointer to the menu list.
        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::~RenderMenuList): Calls menuListIsDetaching.
        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added a RefPtr to protect the PopupMenu while the NSMenu is up,
          in case the RenderMenuList goes away.  Also, checks the pointer to the menu list immediately afterwards.

2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Trying to fix "DRT hangs on certain testcases" like fast/dom/Document/document-reopen.html
        document.open(); document.write(..); and NO document.close(). On the Qt platform this
        leaves a HTMLDocument which is still in parsing mode (parsing() always returns true).
        DRT waits forever, but m_frame->isComplete() is never true due the parsing mode problem.

        Hmpf, this took me nine hours to debug today.
        Result: Couldn't find the real fix, going for a workaround for now.
        
        540 minutes, 1 line of code changed after all -> 0,0019 lines per minute.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::handledOnloadEvents): Call endIfNotLoading() manually.
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::receivedData): Use write() again instead of addData().

2006-10-12  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Move popup menu code out of rendering/ and into platform/.
        RenderPopupMenu becomes PopupMenu, the
        RenderPopupMenuMac/RenderPopupMenuWin subclasses and all the associated
        virtual methods go away, RenderTheme gets to stop worrying about popup
        menus, PopupMenu becomes ref-counted, and everyone becomes happy.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Move files within project.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * html/HTMLSelectElement.cpp: Remove unnecessary #include.
        * platform/PopupMenu.cpp: Moved from rendering/RenderPopupMenu.cpp.
        Also renamed showPopup()/hidePopup() to show()/hide() to disambiguate
        from RenderMenuList::showPopup/hidePopup.
        (WebCore::PopupMenu::create): New static creation method to hand back a
        PassRefPtr<PopupMenu>.
        (WebCore::PopupMenu::addItems): This platform-independent method should
        be called by PopupMenu::populate when the platform-specific
        implementation is ready to receive the menu items. Fixed an ASSERT
        while I was at it.
        * platform/PopupMenu.h: Moved from rendering/RenderPopupMenu.h. No more
        need for virtual methods.
        (WebCore::PopupMenu::wasClicked):
        (WebCore::PopupMenu::setWasClicked):
        (WebCore::PopupMenu::popupHandle):
        * platform/mac/PopupMenuMac.mm: Moved from
        rendering/RenderPopupMenuMac.mm. Much renaming ensues.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::clear):
        (WebCore::PopupMenu::populate):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::addSeparator):
        (WebCore::PopupMenu::addGroupLabel): Since we don't have our own
        RenderStyle anymore, just pick up the style from our RenderMenuList.
        (WebCore::PopupMenu::addOption): Ditto.
        * platform/win/TemporaryLinkStubs.cpp: Rename-fest.
        (PopupMenu::PopupMenu):
        (PopupMenu::~PopupMenu):
        (PopupMenu::clear):
        (PopupMenu::populate):
        (PopupMenu::show):
        (PopupMenu::hide):
        (PopupMenu::addSeparator):
        (PopupMenu::addGroupLabel):
        (PopupMenu::addOption):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::~RenderMenuList):
        (WebCore::RenderMenuList::showPopup): Use nice new simple
        PopupMenu::create to make the popup.
        (WebCore::RenderMenuList::hidePopup):
        * rendering/RenderMenuList.h: Hold a RefPtr<PopupMenu> instead of a
        RenderPopupMenu*.
        (WebCore::RenderMenuList::popup):
        * rendering/RenderPopupMenu.cpp: Removed.
        * rendering/RenderPopupMenu.h: Removed.
        * rendering/RenderPopupMenuMac.h: Removed.
        * rendering/RenderPopupMenuMac.mm: Removed.
        * rendering/RenderPopupMenuWin.h: Removed.
        * rendering/RenderTheme.cpp: Get rid of createPopupMenu() method.
        * rendering/RenderTheme.h: Ditto.
        * rendering/RenderThemeMac.h: Ditto.
        * rendering/RenderThemeMac.mm: Ditto.
        * rendering/RenderThemeWin.cpp: Ditto.
        * rendering/RenderThemeWin.h: Ditto.

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

        Reviewed by Dave Harrison.

        - Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)

        * rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
        Make subtree layouts work for textareas as well as text fields.

2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by MacDome.

        Finally found a way to remove our begin() trickery in FrameQt.
        The (probably misnamed) Frame::setEncoding() function automatically
        calls Frame::receivedFirstData() which calls being on the working
        url, which has been passed to didOpenUrl(). Took me some hours
        to figure out that the missing charset logic, forced us to do hacks.

        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::tokenizerProcessedData):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::FrameQtClientDefault):
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        (WebCore::FrameQtClientDefault::receivedData):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/FrameQtClient.h:
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::slotData):
        (WebCore::ResourceLoaderManager::slotMimetype):
        (WebCore::ResourceLoaderManager::slotResult):
        (WebCore::ResourceLoaderManager::remove):
        * platform/qt/ResourceLoaderQt.cpp:
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::extractCharsetFromHeaders):

2006-10-12  Adam Roben  <aroben@apple.com>

        Reviewed by Hyatt.

        Bandaid-ing a null-dereference crash until a real fix is made.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):

2006-10-12  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg text classes.

        * ksvg2/svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::SVGTRefElement):
        (WebCore::SVGTRefElement::updateReferencedText):
        (WebCore::SVGTRefElement::parseMappedAttribute):
        (WebCore::SVGTRefElement::childShouldCreateRenderer):
        (WebCore::SVGTRefElement::createRenderer):
        * ksvg2/svg/SVGTRefElement.h:
        (WebCore::SVGTRefElement::rendererIsNeeded):
        * ksvg2/svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::SVGTSpanElement):
        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
        (WebCore::SVGTSpanElement::createRenderer):
        * ksvg2/svg/SVGTSpanElement.h:
        (WebCore::SVGTSpanElement::rendererIsNeeded):
        * ksvg2/svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::SVGTextContentElement):
        (WebCore::SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        (WebCore::SVGTextElement::localMatrix):
        (WebCore::SVGTextElement::parseMappedAttribute):
        (WebCore::SVGTextElement::updateLocalTransform):
        (WebCore::SVGTextElement::nearestViewportElement):
        (WebCore::SVGTextElement::farthestViewportElement):
        (WebCore::SVGTextElement::getScreenCTM):
        (WebCore::SVGTextElement::getCTM):
        (WebCore::SVGTextElement::createRenderer):
        (WebCore::SVGTextElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGTextElement.h:
        (WebCore::SVGTextElement::getTransformToElement):
        (WebCore::SVGTextElement::rendererIsNeeded):
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
        (WebCore::SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.h:

2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Specialization of alert() for DumpRenderTree - just log the output, don't show any message box.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::runJavaScriptAlert): Move runJavaScriptAlert functionality to FrameQtClientDefault.
        * platform/qt/FrameQtClient.cpp:
        (WebCore::FrameQtClientDefault::runJavaScriptAlert):
        * platform/qt/FrameQtClient.h:

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

        Reviewed by Eric.

        - move m_responseMIMEType out of ResourceRequest, where it doesn't belong

        * page/FramePrivate.h: Add m_responseMIMEType
        * page/ResourceRequest.h: Remove m_responseMIMEType
        * page/Frame.cpp:
        (WebCore::Frame::setResponseMIMEType): added
        (WebCore::Frame::responseMIMEType): added
        (WebCore::Frame::begin): get MIME type from the right place
        (WebCore::Frame::write): ditto
        * page/Frame.h:
        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow): updated to use new Frame methods
        (KJS::WindowFunc::callAsFunction): ditto
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): ditto
        (-[WebCoreFrameBridge canProvideDocumentSource]): ditto
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::createDocumentStructure): ditto

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

        Reviewed by Eric.
        
        <rdar://problem/4774321> REGRESSION: "Can't find the server" error page contains unstyled text and missing image

        We really need some way to test loadHTMLString since it keeps breaking!
        
        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader commitProvisionalLoad:]): Set stuff up on the proper data source.

2006-10-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * platform/qt/FileChooserQt.cpp:
        (WebCore::FileChooser::create):

2006-10-12  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Maciej.

        Update Gdk\Linux build for recent changes, based on Qt code

        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
        (WebCore::FrameGdkClientDefault::~FrameGdkClientDefault):
        (WebCore::FrameGdkClientDefault::setFrame):
        (WebCore::FrameGdkClientDefault::openURL):
        (WebCore::FrameGdkClientDefault::submitForm):
        (WebCore::FrameGdkClientDefault::receivedResponse):
        (WebCore::FrameGdkClientDefault::receivedData):
        (WebCore::FrameGdkClientDefault::receivedAllData):
        (WebCore::FrameGdk::FrameGdk):
        (WebCore::FrameGdk::openURL):
        (WebCore::FrameGdk::submitForm):
        (WebCore::FrameGdk::urlSelected):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::createJavaAppletWidget):
        (FileChooser::create):

2006-10-12  Dave Hyatt  <hyatt@apple.com>

        Patch to add more clipping retrieval functionality for widgets.
       
        Reviewed by mjs

        * page/Frame.h:
        Remove windowResizerRect.  This is in the wrong place.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):
        (WebCore::FrameView::windowClipRectForLayer):
        Break out windowClipRect into helper functions that can be called separately (to make
        it easier for scrollbars in overflow sections and list boxes to get to an enclosing
        layer and get the right clip.
        
        * page/FrameView.h:
        Add the new windowClipRect helper methods.
        
        * platform/ScrollBar.h:
        Add a new interface to ScrollbarClient so that scrollbars can hand back proper
        clip rects for themselves depending on how they are used.
        
        * platform/ScrollView.h:
        Stub out methods for talking to a double buffer backing store on Win32.
        
        * platform/Widget.h:
        Add the ability to query for invalidation suppression.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::windowClipRect):
        (WebCore::RenderLayer::paintOverflowControls):
        (WebCore::RenderLayer::calculateRects):
        (WebCore::RenderLayer::childrenClipRect):
        (WebCore::RenderLayer::selfClipRect):
        * rendering/RenderLayer.h:
        Enhance layers so that they can return either their foreground or background
        document clip rects.  Make sure a layer scrollbar can return a proper clip.
        
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::windowClipRect):
        * rendering/RenderListBox.h:
        Make sure a list box scrollbar can return a proper clip.
        
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::enclosingLayer):
        * rendering/RenderObject.h:
        Make enclosingLayer const.
        
2006-10-11  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - some changes to prepare for converting more code to C++

        * bridge/mac/WebCoreFrameBridge.h: Added import of <Cocoa/Cocoa.h> so this header is
        self-sufficient.

        * bridge/mac/WebCoreViewFactory.h: Added forward declaration of the NSMenu class.
        Needed since the class is used in this header (for some work I have not landed yet).

        * loader/mac/LoaderNSURLExtras.h:
        * loader/mac/WebFormDataStream.h:
        Added extern "C" so this code can be used from C++.

        * loader/mac/LoaderNSURLExtras.m:
        * loader/mac/WebDataProtocol.mm:
        * loader/mac/WebDocumentLoader.mm:
        * loader/mac/WebFormDataStream.m:
        * loader/mac/WebLoader.mm:
        * loader/mac/WebMainResourceLoader.mm:
        * loader/mac/WebNetscapePlugInStreamLoader.mm:
        * loader/mac/WebPolicyDecider.mm:
        * loader/mac/WebSubresourceLoader.mm:
        Added missing includes of config.h.

2006-10-11  John Sullivan  <sullivan@apple.com>
        
        Darin wrote this code; we tested it; I give it the thumbs up.
        
        - fixed regression from svn revision 16982 that was generating the wrong Obj-C classes

        The hash table to look up an element class given a QualifiedName was
        not working at all.

        * dom/QualifiedName.h:
        (WebCore::QualifiedName::impl):
        Added. This new accessor method for impl is needed if we want to use
        a QualifiedName as a hash table key without doing the kind of specialization
        we do for String. Maybe later we can do the String thing.

        * bindings/objc/DOM.mm:
        (WebCore::addElementClass):
        Use QualifiedName.impl instead of the QualifiedName pointer itself.
        The QualifiedName pointer is *not* unique so almost nothing would be found
        in this hash table!
        (WebCore::elementClass):
        ditto
        
2006-10-11  Adam Roben  <aroben@apple.com>

        Rubberstamped by Anders.

        Clean up FileChooser::create and Icon::newIconForFile.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::create):
        * platform/mac/IconMac.mm:
        (WebCore::Icon::newIconForFile):

2006-10-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=11251
        Corrects canvas tag to not throw JS exception when drawing
        zero sized rects, arcs, etc

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::arcTo):
        (WebCore::CanvasRenderingContext2D::arc):
        (WebCore::CanvasRenderingContext2D::rect):
        (WebCore::CanvasRenderingContext2D::clearRect):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::strokeRect):

2006-10-11  Rob Buis  <buis@kde.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11221
        REGRESSION: iExploder crash due to style="cursor: url()"

        Take better care of empty cursor lists.

        Test: fast/css/invalid-cursor-property-crash.html

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):

2006-10-11  Adam Roben  <aroben@apple.com>

        Fixing Windows for real this time.

        * platform/win/TemporaryLinkStubs.cpp:
        (FileChooser::create):

2006-10-11  Adam Roben  <aroben@apple.com>

        Fix Windows build.

        * platform/win/TemporaryLinkStubs.cpp:
        (FileChooser::create):

2006-10-11  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Hyatt.
        
        http://bugs.webkit.org/show_bug.cgi?id=4377
        
        Respect css visibility semantics for layers too

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode):
        (WebCore::RenderContainer::appendChildNode):
        (WebCore::RenderContainer::insertChildNode):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::setHasVisibleContent):
        (WebCore::RenderLayer::dirtyVisibleContentStatus):
        (WebCore::RenderLayer::childVisibilityChanged):
        (WebCore::RenderLayer::dirtyVisibleDescendantStatus):
        (WebCore::RenderLayer::updateVisibilityStatus):
        (WebCore::RenderLayer::addChild):
        (WebCore::RenderLayer::removeChild):
        (WebCore::RenderLayer::updateZOrderLists):
        (WebCore::RenderLayer::collectLayers):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::hasVisibleContent):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle):

2006-10-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - added RetainPtr, smart pointer for refcounted ObjC objects and CFTypes

        * WebCore.xcodeproj/project.pbxproj:
        * platform/cf/RetainPtr.h: Added.
        (WTF::):
        (WTF::RetainPtr::RetainPtr):
        (WTF::RetainPtr::~RetainPtr):
        (WTF::RetainPtr::get):
        (WTF::RetainPtr::operator*):
        (WTF::RetainPtr::operator->):
        (WTF::RetainPtr::operator!):
        (WTF::RetainPtr::operator UnspecifiedBoolType):
        (WTF::::operator):
        (WTF::::swap):
        (WTF::swap):
        (WTF::operator==):
        (WTF::operator!=):
        (WTF::static_pointer_cast):
        (WTF::const_pointer_cast):
        (WTF::getPtr):
        
        - use it in WidgetMac so it gets tested in at least one place
        
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::setEnabled):
        (WebCore::Widget::isEnabled):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::getView):
        (WebCore::Widget::setView):
        (WebCore::Widget::getOuterView):

2006-10-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej.

        Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:]):
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge close]):
        (-[WebCoreFrameBridge setFrameLoaderClient:]):
        (-[WebCoreFrameBridge frameLoader]):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader initWithFrameBridge:]):
        (-[WebFrameLoader setFrameLoaderClient:]):

2006-10-10  Adam Roben  <aroben@apple.com>

        Reviewed by Oliver.

        Make FileChooser ref-counted.

        * platform/FileChooser.h:
        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::create):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
        * rendering/RenderFileUploadControl.h:

2006-10-10  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11248
        Even More auto-generated Objective-C DOM bindings changes

        - Auto-generate DOMSVGPathElement.

        - Auto-generate the internal interfaces even for classes that have
          custom internal implementations.  Change IDL property from ObjCNoInternal
          to ObjCCustomInternalImpl to indicate the change.

        - Add SVG classes to DOMNode and DOMEvent internal interfaces.

        - Add isSVGZoomEvent() method to Event class to match other Event subclasses
          and make DOM binding possible.

        - Assorted cleanups.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::addElementClass):
        (WebCore::createElementClassMap):
        (WebCore::elementClass):
        (-[DOMNode description]):
        (+[DOMNode _nodeWith:WebCore::]):
        (-[DOMNode addEventListener:listener:useCapture:]):
        (-[DOMNode removeEventListener:listener:useCapture:]):
        (-[DOMElement _NPObject]):
        (WebCore::ObjCEventListener::handleEvent):
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _eventWith:WebCore::]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor WebCore::]):
        * bindings/objc/DOMSVGPathSegInternal.h: Removed.
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSRule.idl:
        * css/CSSValue.idl:
        * css/StyleSheet.idl:
        * dom/Event.cpp:
        (WebCore::Event::isSVGZoomEvent):
        * dom/Event.h:
        * dom/Event.idl:
        * dom/Node.idl:
        * ksvg2/events/SVGZoomEvent.cpp:
        (WebCore::SVGZoomEvent::isSVGZoomEvent):
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/svg/SVGAnimatedAngle.idl:
        * ksvg2/svg/SVGCircleElement.idl:
        * ksvg2/svg/SVGClipPathElement.idl:
        * ksvg2/svg/SVGPathElement.idl:
        * ksvg2/svg/SVGPathSeg.idl:

2006-10-10  Oliver Hunt  <oliver@apple.com>

        rubber stamped by Anders.

        More buildbot bustage

        * kcanvas/SVGInlineFlowBox.cpp:
        (WebCore::placeBoxesVerticallyWithAbsBaseline):

2006-10-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Anders 

        Unbreak build bots

        * dom/Text.cpp:
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::layout):
        * kcanvas/SVGInlineFlowBox.cpp:
        (WebCore::placePositionedBoxesHorizontally):
        (WebCore::placeBoxesVerticallyWithAbsBaseline):

2006-10-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by hyatt.

        Fixes bugs #6423, #6559, #10380 and #10839 

        * WebCore.xcodeproj/project.pbxproj:
        * css/svg.css:
        * dom/Text.cpp:
        (WebCore::Text::createRenderer):
        * kcanvas/RenderSVGInline.cpp: Added.
        (WebCore::RenderSVGInline::RenderSVGInline):
        (WebCore::RenderSVGInline::createInlineBox):
        * kcanvas/RenderSVGInline.h: Added.
        (WebCore::RenderSVGInline::renderName):
        (WebCore::RenderSVGInline::requiresLayer):
        * kcanvas/RenderSVGInlineText.cpp: Added.
        (WebCore::RenderSVGInlineText::RenderSVGInlineText):
        (WebCore::RenderSVGInlineText::absoluteRects):
        (WebCore::RenderSVGInlineText::selectionRect):
        * kcanvas/RenderSVGInlineText.h: Added.
        (WebCore::RenderSVGInlineText::renderName):
        (WebCore::RenderSVGInlineText::requiresLayer):
        * kcanvas/RenderSVGTSpan.cpp: Added.
        (WebCore::RenderSVGTSpan::RenderSVGTSpan):
        (WebCore::RenderSVGTSpan::absoluteRects):
        * kcanvas/RenderSVGTSpan.h: Added.
        (WebCore::RenderSVGTSpan::renderName):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::RenderSVGText):
        (WebCore::RenderSVGText::computeAbsoluteRepaintRect):
        (WebCore::RenderSVGText::layout):
        (WebCore::RenderSVGText::createInlineBox):
        (WebCore::RenderSVGText::nodeAtPoint):
        (WebCore::RenderSVGText::absoluteRects):
        (WebCore::RenderSVGText::paint):
        (WebCore::RenderSVGText::relativeBBox):
        * kcanvas/RenderSVGText.h:
        (WebCore::RenderSVGText::renderName):
        * kcanvas/SVGInlineFlowBox.cpp: Added.
        (WebCore::SVGInlineFlowBox::paint):
        (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
        (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
        (WebCore::paintSVGInlineFlow):
        (WebCore::translateBox):
        (WebCore::placePositionedBoxesHorizontally):
        (WebCore::placeSVGFlowHorizontally):
        (WebCore::placeBoxesVerticallyWithAbsBaseline):
        (WebCore::placeSVGFlowVertically):
        * kcanvas/SVGInlineFlowBox.h: Added.
        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
        * kcanvas/SVGRootInlineBox.cpp: Added.
        (WebCore::SVGRootInlineBox::paint):
        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
        (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
        * kcanvas/SVGRootInlineBox.h: Added.
        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
        * ksvg2/svg/SVGTRefElement.cpp:
        (SVGTRefElement::createRenderer):
        * ksvg2/svg/SVGTSpanElement.cpp:
        (SVGTSpanElement::createRenderer):
        * rendering/InlineFlowBox.h:

2006-10-10  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Improve popup menu behavior.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Cache
        m_lastOnChangeIndex so we know when to fire onChange.
        (WebCore::HTMLSelectElement::setSelectedIndex): Added parameter to
        specify whether we should fire onChange.
        (WebCore::HTMLSelectElement::dispatchBlurEvent): Fire onChange on blur.
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Fire
        onChange when using the Enter key to change the selection.
        * html/HTMLSelectElement.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateFromElement): Extract setText logic
        into its own method.
        (WebCore::RenderMenuList::setTextFromOption): New method.
        (WebCore::RenderMenuList::valueChanged): Let setSelectedIndex call
        onChange instead of calling it directly here.
        * rendering/RenderMenuList.h:

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

        Reviewed by Beth. 


        - Fix for <rdar://problem/4707489> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active <input type=text>
          and <rdar://problem/4707519> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active textarea

        Moved autoscroll code to the Frame class

        * bridge/mac/FrameMac.h: Moved _mouseDownMayStartDrag and _mouseDownMayStartAutoscroll flags to the frame.
        * bridge/mac/FrameMac.mm: Use new getters and setters for drag and autoscroll flags.  Moved autoscroll code to Frame::handleMouseMoveEvent.
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::handleMousePressEvent):
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::mouseDown):

        * bridge/mac/WebCoreFrameBridge.h: Removed handleAutoscrollForMouseDragged, which called over the bridge for AppKit to do autoscroll for us.
        Now we scroll our views in WebCore.

        * page/Frame.cpp:
        (WebCore::Frame::handleMousePressEvent): Initialize the mouseDownMayStartAutoscroll flag.
        (WebCore::Frame::handleMouseMoveEvent): Now kicks off autoscroll if appropriate.  Moved from FrameMac.
        (WebCore::Frame::updateSelectionForMouseDragOverPosition): Factored code out from handleMouseMoveEvent so we can update the selection from autoscroll too.
        (WebCore::Frame::mouseDownMayStartAutoscroll): Added.
        (WebCore::Frame::setMouseDownMayStartAutoscroll): Added.
        (WebCore::Frame::mouseDownMayStartDrag): Added.
        (WebCore::Frame::setMouseDownMayStartDrag): Added.
        (WebCore::Frame::autoscrollRenderer): Added
        (WebCore::Frame::setAutoscrollRenderer): Added.
        (WebCore::Frame::handleAutoscroll): Updated to use autoscrollRenderer getter and setter.
        (WebCore::Frame::autoscrollTimerFired): ditto.
        (WebCore::Frame::stopAutoscrollTimer): ditto. 
        * page/Frame.h: Made autoscrollRenderer and stopAutoscrollTimer public, so the renderer being autoscrolled can kill the timer when it dies.

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate): Added mouseDownMayStartDrag and mouseDownMayStartAutoscroll flags.  Moved from FrameMac.

        * page/FrameView.cpp: Store the current mouse position in window coordinates.  The callers can convert to their own coordinate space.
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::FrameView::handleMouseDoubleClickEvent):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll): Rewrote this to scroll recursively, and to scroll based on the mouse position (not the selection).  
         We also need to update the selection here, since autoscroll can occur without a mouseMove event, and the selection needs to get reset as we scroll.

        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::autoscroll): Convert the mouse coordinates to the right space.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::shouldAutoscroll): Also return true if the renderer is a root (so we know to autoscroll views too)
        (WebCore::RenderObject::destroy): If this renderer is being autoscrolled, stop the frame's autoscroll timer.

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

        Rubber stamped by Maciej.

        - convert many of the loader source files to Objective-C++ to prepare
          to convert some of them to C++

        * WebCore.xcodeproj/project.pbxproj:
        * loader/mac/WebDataProtocol.m: Removed.
        * loader/mac/WebDocumentLoader.m: Removed.
        * loader/mac/WebFormState.m: Removed.
        * loader/mac/WebFrameLoader.m: Removed.
        * loader/mac/WebLoader.m: Removed.
        * loader/mac/WebMainResourceLoader.m: Removed.
        * loader/mac/WebNetscapePlugInStreamLoader.m: Removed.
        * loader/mac/WebPolicyDecider.m: Removed.
        * loader/mac/WebSubresourceLoader.m: Removed.
        * loader/mac/WebDataProtocol.mm: Added.
        * loader/mac/WebDocumentLoader.mm: Added.
        * loader/mac/WebFormState.mm: Added.
        * loader/mac/WebFrameLoader.mm: Added.
        * loader/mac/WebLoader.mm: Added.
        * loader/mac/WebMainResourceLoader.mm: Added.
        * loader/mac/WebNetscapePlugInStreamLoader.mm: Added.
        * loader/mac/WebPolicyDecider.mm: Added.
        * loader/mac/WebSubresourceLoader.mm: Added.

2006-10-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mitz.

        - fixed REGRESSION (r16960): crash on navigating to site
        http://www.zoominfo.com/Search/CompanyDetail.aspx?CompanyID=62948057&cs=QGDwILZIE
        
        * loader/mac/WebFrameLoader.m:
        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
        Add back a mistakenly removed retain.

2006-10-10  Maciej Stachowiak  <mjs@apple.com>

        - fixed release build

        * WebCore.xcodeproj/project.pbxproj:

2006-10-10  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - moved a big honkin' pile of code over from WebKit; made minimal needed changes to compile

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/mac/LoaderNSURLExtras.m: Added.
        * loader/mac/WebDataProtocol.m: Added.
        * loader/mac/WebDocumentLoader.m: Added.
        * loader/mac/WebFormDataStream.m: Added.
        * loader/mac/WebFrameLoader.m: Added.
        * loader/mac/WebLoader.m: Added.
        (-[NSURLProtocol didReceiveResponse:]):
        (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
        * loader/mac/WebMainResourceLoader.m: Added.
        (-[WebMainResourceLoader didReceiveResponse:]):
        * loader/mac/WebPolicyDecider.m: Added.
        * loader/mac/WebSubresourceLoader.h: Added.
        * loader/mac/WebSubresourceLoader.m: Added.

2006-10-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver (sort of?)

        - WebCore part of moving down NSURL extras

        * WebCore.exp:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

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

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg animation classes.

        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::SVGAnimateElement):
        (WebCore::SVGAnimateElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
        (WebCore::SVGAnimateTransformElement::initialMatrix):
        (WebCore::SVGAnimateTransformElement::transformMatrix):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedPathData.cpp:
        * ksvg2/svg/SVGAnimatedPathData.h:
        * ksvg2/svg/SVGAnimatedPoints.cpp:
        * ksvg2/svg/SVGAnimatedPoints.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::targetElement):

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

        Reviewed by Oliver.

        - added isMainFrame and frameLoader to WebCoreFrameBridge for ease of future code motion

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

2006-10-09  Adam Roben  <aroben@apple.com>

        Backing out accidental commit.

        * page/Frame.cpp:
        (WebCore::Frame::finishedParsing):

2006-10-09  Adam Roben  <aroben@apple.com>

        Reviewed by Darin.

        Add ASSERTs to RefPtr to make sure we don't ref within a destructor, as
        this could cause recursive calls to the destructor. RefPtr now also
        inherits from Noncopyable.

        * dom/NodeFilter.h:
        * dom/Traversal.h:
        * page/DOMWindow.h:
        * page/Frame.cpp:
        (WebCore::Frame::finishedParsing):
        * page/Frame.h:
        * page/Plugin.h:
        * platform/FontFallbackList.h:
        * platform/Icon.h:
        * platform/Shared.h:
        (WebCore::Shared::Shared):
        (WebCore::Shared::ref):
        (WebCore::Shared::deref):
        (WebCore::Shared::hasOneRef):
        (WebCore::Shared::refCount):
        * platform/StringImpl.h:

2006-10-09  Oliver Hunt <ohunt@apple.com>

        Reviewed by Anders.

        Correcting ifdef's

        * html/CanvasGradient.cpp:
        (WebCore::CanvasGradient::CanvasGradient):
        (WebCore::CanvasGradient::~CanvasGradient):
        (WebCore::CanvasGradient::addColorStop):
        * html/CanvasGradient.h:
        * html/CanvasPattern.cpp:
        (WebCore::CanvasPattern::CanvasPattern):
        (WebCore::CanvasPattern::~CanvasPattern):
        * html/CanvasPattern.h:
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::fill):
        (WebCore::CanvasRenderingContext2D::stroke):
        (WebCore::CanvasRenderingContext2D::fillRect):
        (WebCore::CanvasRenderingContext2D::setShadow):
        (WebCore::CanvasRenderingContext2D::applyShadow):
        (WebCore::CanvasRenderingContext2D::drawImage):
        (WebCore::CanvasRenderingContext2D::createPattern):
        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
        (WebCore::CanvasRenderingContext2D::applyFillPattern):
        * html/CanvasRenderingContext2D.h:
        * html/CanvasStyle.cpp:
        (WebCore::CanvasStyle::applyStrokeColor):
        (WebCore::CanvasStyle::applyFillColor):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint):
        (WebCore::HTMLCanvasElement::createDrawingContext):
        * html/HTMLCanvasElement.h:

2006-10-09  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej.

        Fix a possible recursive destructor call.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Add a FIXME about cleaning up the destructor.
        (WebCore::Frame::finishedParsing): Don't create a protector RefPtr if
        we're already being destroyed.

2006-10-09  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11234
        Assorted Objective-C bindings changes

        - Auto-generate DOMSVGPathSegArcAbs, DOMSVGPathSegArcRel, DOMSVGPathSegClosePath, 
          DOMSVGPathSegCurvetoCubicAbs, DOMSVGPathSegCurvetoCubicRel, 
          DOMSVGPathSegCurvetoCubicSmoothAbs, DOMSVGPathSegCurvetoCubicSmoothRel, 
          DOMSVGPathSegCurvetoQuadraticAbs, DOMSVGPathSegCurvetoQuadraticRel, 
          DOMSVGPathSegCurvetoQuadraticSmoothAbs, DOMSVGPathSegCurvetoQuadraticSmoothRel, 
          DOMSVGPathSegLinetoAbs, DOMSVGPathSegLinetoHorizontalAbs, 
          DOMSVGPathSegLinetoHorizontalRel, DOMSVGPathSegLinetoRel, 
          DOMSVGPathSegLinetoVerticalAbs, DOMSVGPathSegLinetoVerticalRel, 
          DOMSVGPathSegMovetoAbs, DOMSVGPathSegMovetoRel and DOMSVGSVGElement.

        - Auto-generate absoluteImageURL method for DOMHTMLInputElement and
          DOMHTMLObjectElement.

        - Auto-generate the internal methods for classes with ivars (notably 
          DOMNodeIterator and DOMTreeWalker)

        - Put more methods in the WebCore namespace and factor out the  
          displayString method into DOMInternal.h as done by Darin in his 
          patch for http://bugs.webkit.org/show_bug.cgi?id=11219.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMNode _initWithNode:WebCore::]):
        (+[DOMNode _nodeWith:WebCore::]):
        (-[DOMNode addEventListener:listener:useCapture:]):
        (-[DOMNode removeEventListener:listener:useCapture:]):
        (-[DOMNode dispatchEvent:]):
        (-[DOMElement _imageTIFFRepresentation]):
        (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
        (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
        (+[DOMStyleSheet _styleSheetWith:WebCore::]):
        (-[DOMCSSRule _initWithCSSRule:WebCore::]):
        (+[DOMCSSRule _CSSRuleWith:WebCore::]):
        (-[DOMCSSValue _initWithCSSValue:WebCore::]):
        (+[DOMCSSValue _CSSValueWith:WebCore::]):
        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent _initWithEvent:WebCore::]):
        (+[DOMEvent _eventWith:WebCore::]):
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
        * bindings/objc/DOMInternal.h:
        (-[DOMNodeFilter WebCore::]):
        * bindings/objc/DOMInternal.mm:
        (-[WebScriptObject _init]):
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        (WebCore::displayString):
        * bindings/objc/DOMObject.mm:
        (-[DOMObject dealloc]):
        (-[DOMObject finalize]):
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor dealloc]):
        (-[DOMRGBColor finalize]):
        (-[DOMRGBColor color]):
        (-[DOMRGBColor _initWithRGB:WebCore::]):
        (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
        * bindings/objc/DOMSVG.h:
        * bindings/objc/DOMSVGPathSegInternal.h: Added.
        * bindings/objc/DOMSVGPathSegInternal.mm: Added.
        (-[DOMSVGPathSeg WebCore::]):
        (-[DOMSVGPathSeg _initWithSVGPathSeg:WebCore::]):
        (+[DOMSVGPathSeg _SVGPathSegWith:WebCore::]):
        * bindings/objc/DOMXPath.mm:
        (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
        (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/NodeIterator.idl:
        * dom/TreeWalker.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLObjectElement.idl:
        * ksvg2/svg/SVGDocument.idl:
        * ksvg2/svg/SVGElement.idl:
        * ksvg2/svg/SVGPathSeg.idl:
        * ksvg2/svg/SVGPathSegArcAbs.idl:
        * ksvg2/svg/SVGPathSegArcRel.idl:
        * ksvg2/svg/SVGPathSegClosePath.idl:
        * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl:
        * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
        * ksvg2/svg/SVGPathSegLinetoAbs.idl:
        * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl:
        * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl:
        * ksvg2/svg/SVGPathSegLinetoRel.idl:
        * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl:
        * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl:
        * ksvg2/svg/SVGPathSegMovetoAbs.idl:
        * ksvg2/svg/SVGPathSegMovetoRel.idl:

2006-10-09  Peter Kasting  <pkasting@chromium.org>

        Unreviewed build fix.

        Fix windows build bustage.

        * platform/win/TemporaryLinkStubs.cpp:

2006-10-09  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Geoff.

        Fix memory leaks discovered via valgrind. Gdk build fixes.

        * Projects/gdk/webcore-gdk.bkl:
        * make-generated-sources.sh:
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::draw):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
        (WebCore::PlatformScrollbar::verticalScrollbarWidth):

2006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Beth.

        Fix LayoutTests/fast/css/case-transform.html with Qt - the last crashing layout test.

        * platform/qt/GlyphMapQt.cpp: Handle UTF-16 characters properly
        (WebCore::GlyphMap::fillPage):

2006-10-09  Nikolas Zimmermann  <zimmermann@kde.org>

        Unreviewed build fix.

        Fix for Qt/Linux build, based on fixes to the Win32 build in r16928 and r16929.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::createJavaAppletWidget):
        * platform/qt/FrameQt.h:
        * platform/qt/TemporaryLinkStubs.cpp:

2006-10-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Tiny changes to help reorganize WebFrameLoader code in WebKit

        * bridge/mac/WebCoreIconDatabaseBridge.h: Added "createInstance"
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (+[WebCoreIconDatabaseBridge sharedInstance]): Added, uses createInstance from WebKit side

2006-10-09  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Remove redundant call to Frame::cancelAndClear from ~Frame, since it's
        already called frome ~FrameMac.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame):

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

        * bridge/win/FrameWin.h:
        Add function declaration.
        
2006-10-09  Anders Carlsson  <acarlsson@apple.com>

        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::createJavaAppletWidget):
        Try fixing the Win32 build.

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

        Reviewed by Adam.

        Move applet widget creation to Frame and get rid of JavaAppletWidget.
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/JavaAppletWidget.h: Removed.
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createJavaAppletWidget):
        * bridge/mac/JavaAppletWidget.mm: Removed.
        * page/Frame.h:
        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):

2006-10-09  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=11220
          Fix manual test for http://bugs.webkit.org/show_bug.cgi?id=8276

        Subversion does not support resource forks and HFS metadata, so
        the resources for this test need to be on a disk image.

        * manual-tests/plain-text-paste.html: Changed instructions to refer to the disk image.
        * manual-tests/resources/plain-text-paste.dmg: Added.
        * manual-tests/resources/plain-text-paste/._1.textClipping: Removed.
        * manual-tests/resources/plain-text-paste/._2.textClipping: Removed.
        * manual-tests/resources/plain-text-paste/._4.txt: Removed.
        * manual-tests/resources/plain-text-paste/._5.webloc: Removed.
        * manual-tests/resources/plain-text-paste/1.textClipping: Removed.
        * manual-tests/resources/plain-text-paste/2.textClipping: Removed.
        * manual-tests/resources/plain-text-paste/3.gif: Removed.
        * manual-tests/resources/plain-text-paste/4.txt: Removed.
        * manual-tests/resources/plain-text-paste/5.webloc: Removed.

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in filter classes.

        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        (WebCore::SVGFEBlendElement::parseMappedAttribute):
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
        (WebCore::SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEFuncAElement.cpp:
        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
        * ksvg2/svg/SVGFEFuncBElement.cpp:
        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
        * ksvg2/svg/SVGFEFuncGElement.cpp:
        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
        * ksvg2/svg/SVGFEFuncRElement.cpp:
        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
        (WebCore::SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFELightElement.cpp:
        (WebCore::SVGFELightElement::SVGFELightElement):
        (WebCore::SVGFELightElement::parseMappedAttribute):
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::SVGFEMergeElement):

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

        Reviewed by olliej.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in SVGPath* classes.

        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        (WebCore::SVGPathElement::getPointAtLength):
        (WebCore::SVGPathElement::createSVGPathSegClosePath):
        (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
        (WebCore::SVGPathElement::createSVGPathSegArcAbs):
        (WebCore::SVGPathElement::createSVGPathSegArcRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
        (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
        (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
        (WebCore::SVGPathElement::svgMoveTo):
        (WebCore::SVGPathElement::svgLineTo):
        (WebCore::SVGPathElement::svgLineToHorizontal):
        (WebCore::SVGPathElement::svgLineToVertical):
        (WebCore::SVGPathElement::svgCurveToCubic):
        (WebCore::SVGPathElement::svgCurveToCubicSmooth):
        (WebCore::SVGPathElement::svgCurveToQuadratic):
        (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
        (WebCore::SVGPathElement::svgArcTo):
        (WebCore::SVGPathElement::parseMappedAttribute):
        (WebCore::SVGPathElement::pathSegList):
        (WebCore::SVGPathElement::normalizedPathSegList):
        (WebCore::SVGPathElement::animatedPathSegList):
        (WebCore::SVGPathElement::animatedNormalizedPathSegList):
        (WebCore::SVGPathElement::toPathData):
        * ksvg2/svg/SVGPathElement.h:
        (WebCore::SVGPathElement::rendererIsNeeded):
        * ksvg2/svg/SVGPathSeg.h:
        * ksvg2/svg/SVGPathSegArc.cpp:

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

        Reviewed by aroben.

        http://bugs.webkit.org/show_bug.cgi?id=11217
        Cleanup svg coding style

        Cleanup coding style in svg shape classes.

        * ksvg2/svg/SVGCircleElement.cpp:
        (WebCore::SVGCircleElement::SVGCircleElement):
        (WebCore::SVGCircleElement::parseMappedAttribute):
        (WebCore::SVGCircleElement::pushAttributeContext):
        * ksvg2/svg/SVGCircleElement.h:
        (WebCore::SVGCircleElement::rendererIsNeeded):
        * ksvg2/svg/SVGEllipseElement.cpp:
        * ksvg2/svg/SVGEllipseElement.h:
        (WebCore::SVGEllipseElement::rendererIsNeeded):
        * ksvg2/svg/SVGLineElement.cpp:
        (WebCore::SVGLineElement::parseMappedAttribute):
        (WebCore::SVGLineElement::pushAttributeContext):
        * ksvg2/svg/SVGLineElement.h:
        (WebCore::SVGLineElement::rendererIsNeeded):
        * ksvg2/svg/SVGPolyElement.cpp:
        (WebCore::SVGPolyElement::SVGPolyElement):
        (WebCore::SVGPolyElement::points):
        (WebCore::SVGPolyElement::animatedPoints):
        (WebCore::SVGPolyElement::parseMappedAttribute):
        (WebCore::SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGPolyElement.h:
        (WebCore::SVGPolyElement::rendererIsNeeded):
        * ksvg2/svg/SVGPolygonElement.cpp:
        (WebCore::SVGPolygonElement::SVGPolygonElement):
        (WebCore::SVGPolygonElement::toPathData):
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.cpp:
        (WebCore::SVGPolylineElement::SVGPolylineElement):
        (WebCore::SVGPolylineElement::toPathData):
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::parseMappedAttribute):
        (WebCore::SVGRectElement::pushAttributeContext):
        * ksvg2/svg/SVGRectElement.h:
        (WebCore::SVGRectElement::rendererIsNeeded):

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

        Reviewed by Maciej.

        - added a bit more WebCoreSystemInterface

            wkGetNSURLResponseCalculatedExpiration
            wkGetNSURLResponseLastModifiedDate
            wkGetNSURLResponseMustRevalidate

        * WebCore.exp: Added the new symbols.
        * platform/mac/WebCoreSystemInterface.h: Ditto.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.

        - quiet down the code generation script

        * bindings/scripts/CodeGenerator.pm:

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

        Reviewed by Darin.

        - more code laundering - add wkSupportsMultipartXMixedReplace

        * WebCore.exp:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Darin and Oliver.

        Fix artefacts when drawing polygons, most noticeable when painting <hr> elements.

        * platform/qt/GraphicsContextQt.cpp: Fix wrong operator<< usage.
        (WebCore::GraphicsContext::drawConvexPolygon):

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

        Reviewed by Darin.

        * page/Frame.cpp:
        (WebCore::Frame::submitForm):
        No need to use latin1() here.

2006-10-08  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Darin.

        Kill warnings when generating IDL files on Qt/Linux, as the
        SOURCE_ROOT environment variable is not defined (and not needed) for us.

        * bindings/scripts/CodeGenerator.pm:

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

        Reviewed by Darin.

        - split didNotOpenURL: into general and page-cache-specific parts

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

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

        Reviewed by Darin.

        * loader/loader.cpp:
        Remove DeprecatedStringList.h include.
        
        * page/Frame.cpp:
        (WebCore::Frame::submitForm):
        Don't remove "attach" from mailto URLs, we don't do it anywhere else.

2006-10-08  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11215
        Yet another round of Objective-C SVG DOM bindings auto-generation

        - Auto-generate DOMSVGPatternElement, DOMSVGPointList, DOMSVGPolygonElement, 
          DOMSVGPolylineElement, DOMSVGRadialGradientElement, DOMSVGRenderingIntent,
          DOMSVGScriptElement, DOMSVGSetElement, DOMSVGStopElement, DOMSVGSwitchElement, 
          DOMSVGSymbolElement, DOMSVGTRefElement, DOMSVGTSpanElement, 
          DOMSVGTextContentElement, DOMSVGTextElement, DOMSVGTextPositioningElement, 
          DOMSVGTitleElement, DOMSVGUnitTypes, DOMSVGUseElement, DOMSVGViewElement, 
          DOMSVGZoomAndPan and DOMSVGZoomEvent.

        - Auto-generate the implementations of DOMHTMLAppletElement and DOMHTMLEmbedElement
          using the new [ConvertFromString] property.

        - Add forward declarations for NS* types to auto-generated classes.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMHTMLAppletElement.mm: Removed.
        * bindings/objc/DOMHTMLEmbedElement.mm: Removed.
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMSVG.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * html/HTMLAppletElement.idl:
        * html/HTMLEmbedElement.idl:
        * ksvg2/svg/SVGPatternElement.idl:
        * ksvg2/svg/SVGPolygonElement.idl:
        * ksvg2/svg/SVGPolylineElement.idl:
        * ksvg2/svg/SVGRadialGradientElement.idl:
        * ksvg2/svg/SVGRenderingIntent.idl:
        * ksvg2/svg/SVGScriptElement.idl:
        * ksvg2/svg/SVGSetElement.idl:
        * ksvg2/svg/SVGStopElement.idl:
        * ksvg2/svg/SVGSwitchElement.idl:
        * ksvg2/svg/SVGSymbolElement.idl:
        * ksvg2/svg/SVGTRefElement.idl:
        * ksvg2/svg/SVGTSpanElement.idl:
        * ksvg2/svg/SVGTextContentElement.idl:
        * ksvg2/svg/SVGTextElement.idl:
        * ksvg2/svg/SVGTextPositioningElement.idl:
        * ksvg2/svg/SVGTitleElement.idl:
        * ksvg2/svg/SVGUseElement.idl:
        * ksvg2/svg/SVGViewElement.idl:
        * ksvg2/svg/SVGZoomEvent.idl:

2006-10-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        Remove crossDomain, it was unused and is one of the last functions that use DeprecatedStringList.        
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        
2006-10-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Convert a bunch of RefPtr<StringImpl> to String.
        
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::didTellBridgeAboutLoad):
        (WebCore::FrameMac::haveToldBridgeAboutLoad):
        * dom/BeforeUnloadEvent.cpp:
        (WebCore::BeforeUnloadEvent::storeResult):
        * dom/BeforeUnloadEvent.h:
        (WebCore::BeforeUnloadEvent::result):
        * dom/Document.cpp:
        (WebCore::Document::createEntityReference):
        * dom/Entity.cpp:
        (WebCore::Entity::Entity):
        (WebCore::Entity::nodeName):
        (WebCore::Entity::toString):
        * dom/Entity.h:
        (WebCore::Entity::publicId):
        (WebCore::Entity::systemId):
        (WebCore::Entity::notationName):
        * dom/EntityReference.cpp:
        (WebCore::EntityReference::EntityReference):
        (WebCore::EntityReference::nodeName):
        (WebCore::EntityReference::cloneNode):
        (WebCore::EntityReference::toString):
        * dom/EntityReference.h:
        * dom/KeyboardEvent.cpp:
        (WebCore::KeyboardEvent::KeyboardEvent):
        (WebCore::KeyboardEvent::initKeyboardEvent):
        * dom/KeyboardEvent.h:
        (WebCore::KeyboardEvent::keyIdentifier):
        * dom/MutationEvent.cpp:
        (WebCore::MutationEvent::MutationEvent):
        (WebCore::MutationEvent::initMutationEvent):
        * dom/MutationEvent.h:
        (WebCore::MutationEvent::prevValue):
        (WebCore::MutationEvent::newValue):
        (WebCore::MutationEvent::attrName):
        * dom/Notation.cpp:
        (WebCore::Notation::Notation):
        (WebCore::Notation::nodeName):
        * dom/Notation.h:
        (WebCore::Notation::publicId):
        (WebCore::Notation::systemId):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::ProcessingInstruction):
        (WebCore::ProcessingInstruction::setData):
        (WebCore::ProcessingInstruction::nodeName):
        (WebCore::ProcessingInstruction::nodeValue):
        (WebCore::ProcessingInstruction::cloneNode):
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::toString):
        * dom/ProcessingInstruction.h:
        (WebCore::ProcessingInstruction::target):
        (WebCore::ProcessingInstruction::data):
        (WebCore::ProcessingInstruction::localHref):

2006-10-07  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11206
        10 more SVG Objective-C auto-generated bindings

        - Auto-generate DOMSVGFilterElement, DOMSVGFitToViewBox, 
          DOMSVGForeignObjectElement, DOMSVGGElement, DOMSVGGradientElement,
          DOMSVGImageElement, DOMSVGLineElement, DOMSVGLinearGradientElement, 
          DOMSVGMarkerElement, DOMSVGMaskElement and DOMSVGPaint.

        - Auto-generate the text method for DOMRange.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMRGBColor.mm:
        * bindings/objc/DOMSVG.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/Range.idl:
        * ksvg2/svg/SVGFilterElement.cpp:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterElement.idl:
        * ksvg2/svg/SVGForeignObjectElement.idl:
        * ksvg2/svg/SVGGElement.idl:
        * ksvg2/svg/SVGGradientElement.idl:
        * ksvg2/svg/SVGImageElement.idl:
        * ksvg2/svg/SVGLineElement.idl:
        * ksvg2/svg/SVGLinearGradientElement.idl:
        * ksvg2/svg/SVGMarkerElement.idl:
        * ksvg2/svg/SVGMaskElement.idl:
        * ksvg2/svg/SVGPaint.idl:

2006-10-07  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11198
        Auto-generate a few more Objective-C DOM interfaces

        - Fully auto-generate DOMAbstractView and DOMRange.

        - Auto-generate just the interface for DOMRGBColor.

        - Add DOMRanges.h as the new top level file for Ranges
          module.

        - Add DOMRanges.h and DOMXPath.h to DOM.mm

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.h:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMAbstractView.h: Removed.
        * bindings/objc/DOMAbstractView.mm: Removed.
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMRGBColor.h: Removed.
        * bindings/objc/DOMRGBColor.mm:
        * bindings/objc/DOMRange.h: Removed.
        * bindings/objc/DOMRanges.h: Added.
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/RGBColor.idl:
        * dom/Range.idl:
        * page/AbstractView.idl: Added.

2006-10-07  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Eric.

        Bug 10837: REGRESSION: Yahoo New Charts Crashes WebKit
        http://bugs.webkit.org/show_bug.cgi?id=10837

        Return null when there is no frame. This matches Firefox.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty):

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

        Implement scroll corner painting (a white rect fill) for overflow areas to cover up
        scrollbar joins properly.

        Refactor painting of scrollbars and resizers into common functions.  Eliminate the
        extra 20 bytes per RenderLayer by cutting out m_resizerImage and m_resizerControlRect.

        Reviewed by mitz

        * page/FrameView.cpp:
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        * platform/mac/PlatformScrollBar.h:
        (WebCore::PlatformScrollbar::horizontalScrollbarHeight):
        (WebCore::PlatformScrollbar::verticalScrollbarWidth):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::scrollCornerRect):
        (WebCore::RenderLayer::positionOverflowControls):
        (WebCore::RenderLayer::paintOverflowControls):
        (WebCore::RenderLayer::isPointInResizeControl):
        (WebCore::RenderLayer::paintLayer):
        * rendering/RenderLayer.h:

2006-10-07  Mark Rowe  <bdash@webkit.org>

        Reviewed by Mitz.

        Linux/Gdk build fixes, primarily consisting of s/ScrollBar/Scrollbar/ and
        matching recent ResourceLoader changes.

        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::openURL):
        (WebCore::FrameGdk::urlSelected):
        * platform/gdk/PlatformScrollBar.h:
        * platform/gdk/ResourceLoaderCurl.cpp:
        (WebCore::ResourceLoader::start):
        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::hScrollbarMode):
        (WebCore::ScrollView::vScrollbarMode):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameView::passMousePressEventToScrollbar):
        (Widget::removeFromParent):
        (ScrollView::addChild):
        (ScrollView::updateScrollbars):
        (ScrollView::scrollbarUnderMouse):
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::~PlatformScrollbar):
        (PlatformScrollbar::width):
        (PlatformScrollbar::height):
        (PlatformScrollbar::setEnabled):
        (PlatformScrollbar::paint):
        (PlatformScrollbar::updateThumbPosition):
        (PlatformScrollbar::updateThumbProportion):
        (PlatformScrollbar::setRect):
        (Scrollbar::Scrollbar):
        (Scrollbar::setSteps):
        (Scrollbar::scroll):
        (Scrollbar::setValue):
        (Scrollbar::setProportion):

2006-10-06  Dave Hyatt  <hyatt@apple.com>

        Implement a new method for obtaining accurate clip rectangles that can be used by plugins to properly clip.

        * page/FrameView.cpp:
        (WebCore::FrameView::windowClipRect):
        * page/FrameView.h:
        * platform/ScrollView.h:
        * platform/Widget.cpp:
        (WebCore::Widget::windowClipRect):
        * platform/Widget.h:
        (WebCore::Widget::geometryChanged):
        (WebCore::Widget::handleMouseMoveEvent):
        (WebCore::Widget::handleMouseReleaseEvent):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::addChild):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::documentClipRect):
        * rendering/RenderLayer.h:

2006-10-06  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam.

        Add another method we'll need for scrollbar dodging

        * platform/ScrollView.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (ScrollView::resizerOverlapsContent):

2006-10-06  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11191
        Auto-generate the interfaces even for Objective-C DOM 
        bindings that need custom implementations

        - Fully auto-generate DOMEventTarget, DOMNodeFilter and 
          DOMHTMLOptionElement.

        - Auto-generate just the interface for DOMHTMLAppletElement,
          DOMHTMLEmbedElement, DOMSVGNumber, DOMSVGPoint and DOMSVGRect
          using the new IDL property ObjCCustomImplementation.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMEventTarget.h: Removed.
        * bindings/objc/DOMHTMLAppletElement.h: Removed.
        * bindings/objc/DOMHTMLEmbedElement.h: Removed.
        * bindings/objc/DOMHTMLOptionElement.h: Removed.
        * bindings/objc/DOMHTMLOptionElement.mm: Removed.
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMNodeFilter.h: Removed.
        * bindings/objc/DOMSVGNumber.h: Removed.
        * bindings/objc/DOMSVGPoint.h: Removed.
        * bindings/objc/DOMSVGPoint.mm:
        (-[DOMSVGPoint matrixTransform:]):
        * bindings/objc/DOMSVGRect.h: Removed.
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/EventTarget.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLOptionElement.idl:
        * ksvg2/svg/SVGNumber.idl:
        * ksvg2/svg/SVGPoint.idl:
        * ksvg2/svg/SVGRect.idl:

2006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Make Qt/Linux compile again completly.

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::removeFromParent):

2006-10-06  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Fix Qt/Linux build by adapting the s/ScrollBar/Scrollbar/ patch.

        * platform/qt/PlatformScrollBar.h:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::hScrollbarMode):
        (WebCore::ScrollView::vScrollbarMode):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        (WebCore::ScrollView::scrollbarUnderMouse):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::Scrollbar::Scrollbar):
        (WebCore::Scrollbar::setSteps):
        (WebCore::Scrollbar::scroll):
        (WebCore::Scrollbar::setValue):
        (WebCore::Scrollbar::setProportion):
        (WebCore::PlatformScrollbar::PlatformScrollbar):
        (WebCore::PlatformScrollbar::~PlatformScrollbar):
        (WebCore::PlatformScrollbar::width):
        (WebCore::PlatformScrollbar::height):
        (WebCore::PlatformScrollbar::setEnabled):
        (WebCore::PlatformScrollbar::paint):
        (WebCore::PlatformScrollbar::updateThumbPosition):
        (WebCore::PlatformScrollbar::updateThumbProportion):
        (WebCore::PlatformScrollbar::setRect):
        (FrameView::passMousePressEventToScrollbar):

2006-10-06  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11177
        Another round of Objective-C SVG DOM bindings auto-generation

        - Auto-generate DOMSVGAnimatedNumberList, DOMSVGAnimatedRect, 
          DOMSVGComponentTransferFunctionElement, DOMSVGFEBlendElement, 
          DOMSVGFEColorMatrixElement, DOMSVGFEComponentTransferElement, 
          DOMSVGFECompositeElement, DOMSVGFEDiffuseLightingElement,
          DOMSVGFEDisplacementMapElement, DOMSVGFEDistantLightElement, 
          DOMSVGFEFloodElement, DOMSVGFEFuncAElement, DOMSVGFEFuncBElement, 
          DOMSVGFEFuncGElement, DOMSVGFEFuncRElement, DOMSVGFEGaussianBlurElement, 
          DOMSVGFEImageElement, DOMSVGFEMergeElement, DOMSVGFEMergeNodeElement, 
          DOMSVGFEOffsetElement, DOMSVGFEPointLightElement, 
          DOMSVGFESpecularLightingElement, DOMSVGFESpotLightElement, 
          DOMSVGFETileElement, DOMSVGFETurbulenceElement, 
          DOMSVGFilterPrimitiveStandardAttributes and DOMSVGNumberList. 

        - Adds interfaces and implementation stubs for DOMSVGNumber, DOMSVGPoint
          and DOMSVGRect.

        - IDL clean up.

        - Make numOctaves in SVGFETurbulenceElement use a long instead of an int
          in it's macro declaration and definition.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.mm:
        (+[DOMCSSValue _CSSValueWith:WebCore::]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMSVG.h:
        * bindings/objc/DOMSVGNumber.h: Added.
        * bindings/objc/DOMSVGNumber.mm: Added.
        (-[DOMSVGNumber dealloc]):
        (-[DOMSVGNumber finalize]):
        (-[DOMSVGNumber value]):
        (-[DOMSVGNumber setValue:]):
        (-[DOMSVGNumber _SVGNumber]):
        (-[DOMSVGNumber _initWithFloat:]):
        (+[DOMSVGNumber _SVGNumberWith:]):
        * bindings/objc/DOMSVGPoint.h: Added.
        * bindings/objc/DOMSVGPoint.mm: Added.
        (-[DOMSVGPoint dealloc]):
        (-[DOMSVGPoint finalize]):
        (-[DOMSVGPoint x]):
        (-[DOMSVGPoint setX:]):
        (-[DOMSVGPoint y]):
        (-[DOMSVGPoint setY:]):
        (-[DOMSVGPoint WebCore::]):
        (-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
        (+[DOMSVGPoint _SVGPointWith:WebCore::]):
        * bindings/objc/DOMSVGRect.h: Added.
        * bindings/objc/DOMSVGRect.mm: Added.
        (-[DOMSVGRect dealloc]):
        (-[DOMSVGRect finalize]):
        (-[DOMSVGRect x]):
        (-[DOMSVGRect setX:]):
        (-[DOMSVGRect y]):
        (-[DOMSVGRect setY:]):
        (-[DOMSVGRect width]):
        (-[DOMSVGRect setWidth:]):
        (-[DOMSVGRect height]):
        (-[DOMSVGRect setHeight:]):
        (-[DOMSVGRect WebCore::]):
        (-[DOMSVGRect _initWithFloatRect:WebCore::]):
        (+[DOMSVGRect _SVGRectWith:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * ksvg2/svg/SVGAnimatedNumberList.idl:
        * ksvg2/svg/SVGAnimatedRect.idl:
        * ksvg2/svg/SVGComponentTransferFunctionElement.idl:
        * ksvg2/svg/SVGCursorElement.idl:
        * ksvg2/svg/SVGFEBlendElement.idl:
        * ksvg2/svg/SVGFEColorMatrixElement.idl:
        * ksvg2/svg/SVGFEComponentTransferElement.idl:
        * ksvg2/svg/SVGFECompositeElement.idl:
        * ksvg2/svg/SVGFEDiffuseLightingElement.idl:
        * ksvg2/svg/SVGFEDisplacementMapElement.idl:
        * ksvg2/svg/SVGFEDistantLightElement.idl:
        * ksvg2/svg/SVGFEFloodElement.idl:
        * ksvg2/svg/SVGFEFuncAElement.idl:
        * ksvg2/svg/SVGFEFuncBElement.idl:
        * ksvg2/svg/SVGFEFuncGElement.idl:
        * ksvg2/svg/SVGFEFuncRElement.idl:
        * ksvg2/svg/SVGFEGaussianBlurElement.idl:
        * ksvg2/svg/SVGFEImageElement.idl:
        * ksvg2/svg/SVGFEMergeElement.idl:
        * ksvg2/svg/SVGFEMergeNodeElement.idl:
        * ksvg2/svg/SVGFEOffsetElement.idl:
        * ksvg2/svg/SVGFEPointLightElement.idl:
        * ksvg2/svg/SVGFESpecularLightingElement.idl:
        * ksvg2/svg/SVGFESpotLightElement.idl:
        * ksvg2/svg/SVGFETileElement.idl:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.idl:
        * ksvg2/svg/SVGNumberList.idl:

2006-10-06  Adam Roben  <aroben@apple.com>

        Backing out my previous change.

        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):

2006-10-06  Adam Roben  <aroben@apple.com>

        Build fix.

        * WebCore.xcodeproj/project.pbxproj:
        * page/FrameView.cpp:
        (WebCore::FrameView::windowResizerRect):

2006-10-06  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej.

        More loader tweaks.

        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ResourceLoader::newHTTPRequest):

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

        Reviewed by aroben.

        Stub out some methods that we'll be able to use to dodge a window resizer.

        * bridge/win/FrameWin.h:
        * page/Frame.h:
        (WebCore::Frame::windowResizerRect):
        * page/FrameView.h:
        * platform/ScrollView.h:
        (WebCore::ScrollView::windowResizerRect):
        * platform/Widget.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::windowResizerRect):
        (Widget::setParent):
        (Widget::parent):
        (FrameWin::windowResizerRect):

2006-10-05  Dave Hyatt  <hyatt@apple.com>

        Stub out setFrameGeometry.
        
        * platform/ScrollView.h:

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

        Reverting autoscroll fix.  I need to rework this a little.

        * page/Frame.cpp:
        (WebCore::Frame::handleAutoscroll):
        (WebCore::Frame::autoscrollTimerFired):
        (WebCore::Frame::stopAutoscrollTimer):
        * page/Frame.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::~RenderLayer):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::~RenderListBox):

2006-10-05  Alice  <alice.liu@apple.com>

        Reviewed by Adam.

        Fixed <rdar://problem/4731778>

        * editing/CommandByName.cpp:
        (WebCore::Frame::Command::):
        was calling the wrong enabledFn for arrow selection and navigation

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

        Reviewed by Maciej.

        - Fix for <rdar://problem/4707489> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active <input type="text">
          and <rdar://problem/4707519> After timers fix, crash below RenderLayer::autoscroll after moving/destroying active textarea

        * rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): If the renderer is being autoscrolled, then stop the autoscroll timer.
        * rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): ditto.

        * page/Frame.cpp: Added getter and setter for the renderer being autoscrolled.
        (WebCore::Frame::handleAutoscroll):
        (WebCore::Frame::autoscrollTimerFired):
        (WebCore::Frame::autoscrollRenderer):
        (WebCore::Frame::setAutoscrollRenderer):
        (WebCore::Frame::stopAutoscrollTimer):
        * page/Frame.h:

2006-10-05  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Eric.

        Fix win32 build bustage after ggaren's Scrollbar renaming changes.
        Properly include PlatformScrollBar.h in WbCore.vcproj.
        Clean up WidgetWin.cpp a bit.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/Widget.h:
        * platform/win/PlatformScrollBar.h:
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
        (WebCore::ScrollView::resizeContents):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::hScrollbarMode):
        (WebCore::ScrollView::vScrollbarMode):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        (WebCore::ScrollView::updateScrollbars):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::passMousePressEventToScrollbar):
        (Widget::removeFromParent):
        (ScrollView::scrollbarUnderMouse):
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::~PlatformScrollbar):
        (PlatformScrollbar::width):
        (PlatformScrollbar::height):
        (PlatformScrollbar::setEnabled):
        (PlatformScrollbar::paint):
        (PlatformScrollbar::updateThumbPosition):
        (PlatformScrollbar::updateThumbProportion):
        (PlatformScrollbar::setRect):
        (Scrollbar::Scrollbar):
        (Scrollbar::setSteps):
        (Scrollbar::scroll):
        (Scrollbar::setValue):
        (Scrollbar::setProportion):
        * platform/win/WidgetWin.cpp:
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::Widget::Widget):
        (WebCore::Widget::setContainingWindow):
        (WebCore::Widget::containingWindow):

2006-10-05  Geoffrey Garen  <ggaren@apple.com>

        build fix.
        
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createFrame):
        * bridge/mac/FrameViewMac.mm:
        (WebCore::FrameView::passMousePressEventToScrollbar):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge installInFrame:]):
        * bridge/mac/WebCoreFrameView.h:
        * platform/ScrollBar.cpp:
        * platform/Widget.h:
        * platform/mac/PlatformScrollBar.h:
        * platform/mac/PlatformScrollBarMac.mm:
        (NSControlSizeForScrollBarControlSize):
        (-[WebCoreScrollBar initWithPlatformScrollbar:]):
        (-[WebCoreScrollBar detachPlatformScrollbar]):
        (-[WebCoreScrollBar scroll:]):
        (-[WebCoreScrollBar widget]):
        (WebCore::PlatformScrollbar::PlatformScrollbar):
        (WebCore::PlatformScrollbar::~PlatformScrollbar):
        (WebCore::PlatformScrollbar::updateThumbPosition):
        (WebCore::PlatformScrollbar::updateThumbProportion):
        (WebCore::PlatformScrollbar::scrollbarHit):
        (WebCore::PlatformScrollbar::width):
        (WebCore::PlatformScrollbar::height):
        (WebCore::PlatformScrollbar::setRect):
        (WebCore::PlatformScrollbar::setEnabled):
        (WebCore::PlatformScrollbar::paint):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::setVScrollbarMode):
        (WebCore::ScrollView::setHScrollbarMode):
        (WebCore::ScrollView::setScrollbarsMode):
        (WebCore::ScrollView::vScrollbarMode):
        (WebCore::ScrollView::hScrollbarMode):
        (WebCore::ScrollView::suppressScrollbars):
        (WebCore::ScrollView::scrollbarUnderMouse):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::removeFromParent):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar):

2006-10-05  Geoffrey Garen  <ggaren@apple.com>

        build fix.
        
        * platform/Widget.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::destroyScrollbar):

2006-10-06  Mitz Pettel  <mitz@webkit.org>

        http://bugs.webkit.org/show_bug.cgi?id=8276
        Fix broken manual test added back in r13990.

        Add resource forks for test resources.

        * manual-tests/resources/plain-text-paste/._1.textClipping: Added.
        * manual-tests/resources/plain-text-paste/._2.textClipping: Added.
        * manual-tests/resources/plain-text-paste/._4.txt: Added.
        * manual-tests/resources/plain-text-paste/._5.webloc: Added.

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

        Rename addClip to clip.

        Reviewed by darin

        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clip):
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::concatCTM):
        * platform/cg/GraphicsContextPlatformPrivate.h:
        (WebCore::GraphicsContextPlatformPrivate::save):
        (WebCore::GraphicsContextPlatformPrivate::restore):
        (WebCore::GraphicsContextPlatformPrivate::clip):
        (WebCore::GraphicsContextPlatformPrivate::scale):
        (WebCore::GraphicsContextPlatformPrivate::rotate):
        (WebCore::GraphicsContextPlatformPrivate::translate):
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::addRoundedRectClip):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintBackground):
        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::paintObject):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::beginTransparencyLayers):
        (WebCore::setClip):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::paintObject):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::paintObject):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::paintBackgroundsBehindCell):

2006-10-05  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=10386
          Delete RenderImageButton.* and remove references from .vcproj and .bkl files

        * CMakeLists.txt:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCoreSources.bkl:
        * rendering/RenderImageButton.cpp: Removed.
        * rendering/RenderImageButton.h: Removed.

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

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=11067
          manual-tests/scrollbar-hittest2.html is invalid

        * manual-tests/scrollbar-hittest2.html:

2006-10-05  David Carson  <dacarson@gmail.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11152
        Adjust the tokenizer chunk size to be smaller for
        mobile devices, and also decrease the yield timer
        for the tokenizer so that it can resume earlier.

        * html/HTMLTokenizer.cpp:
        * config.h:

2006-10-05  Adam Roben  <aroben@apple.com>

        Removing accidentally-checked-in do-nothing code.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):

2006-10-05  David Carson  <dacarson@gmail.com>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11158
        Initialize class variables

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):

2006-10-05  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Darin, landed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=11176
        Fix win32 build, adapt to Maciej's ResourceLoader changes.

        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoader::start):

2006-10-05  Brett Wilson  <brettw@chromium.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10989
        Provide a way for embedders to implement BrowserExtensionWin

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/BrowserExtensionWin.cpp: Added.
        (BrowserExtensionWin::BrowserExtensionWin):
        (BrowserExtensionWin::setTypedIconURL):
        (BrowserExtensionWin::setIconURL):
        (BrowserExtensionWin::getHistoryLength):
        (BrowserExtensionWin::canRunModal):
        (BrowserExtensionWin::createNewWindow):
        (BrowserExtensionWin::canRunModalNow):
        (BrowserExtensionWin::runModal):
        (BrowserExtensionWin::goBackOrForward):
        (BrowserExtensionWin::historyURL):
        * bridge/win/BrowserExtensionWin.h:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::createNewWindow):
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:

2006-10-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.
        
        Fixed <rdar://problem/4766987>
        
        - renamed ScrollBar to Scrollbar and scroll bar to scrollbar in every case
        except for file names.
        
        - fixed RenderLayer to properly tear down scrollbars, removing them from
        their parents.

        * bindings/js/kjs_window.cpp:
        (KJS::showModalDialog):
        (KJS::setWindowFeature):
        (KJS::parseWindowFeatures):
        * bridge/BrowserExtension.h:
        * dom/Document.cpp:
        (WebCore::Document::setInPageCache):
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::init):
        (WebCore::HTMLFrameElement::parseMappedAttribute):
        * html/HTMLFrameElement.h:
        (WebCore::HTMLFrameElement::scrollingMode):
        * page/Frame.cpp:
        (WebCore::Frame::finishedParsing):
        (WebCore::Frame::scrollbarsVisible):
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::resetScrollbars):
        (WebCore::FrameView::clear):
        (WebCore::FrameView::initScrollbars):
        (WebCore::FrameView::applyOverflowToViewport):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::setScrollbarsMode):
        (WebCore::FrameView::setVScrollbarMode):
        (WebCore::FrameView::setHScrollbarMode):
        (WebCore::FrameView::restoreScrollbar):
        (WebCore::FrameView::dispatchMouseEvent):
        (WebCore::FrameView::scrollbarMoved):
        * page/FrameView.h:
        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
        * page/MouseEventWithHitTestResults.h:
        (WebCore::MouseEventWithHitTestResults::scrollbar):
        * platform/ScrollBar.cpp:
        (WebCore::Scrollbar::Scrollbar):
        (WebCore::Scrollbar::setValue):
        (WebCore::Scrollbar::setProportion):
        (WebCore::Scrollbar::setSteps):
        (WebCore::Scrollbar::scroll):
        * platform/ScrollBar.h:
        (WebCore::):
        (WebCore::ScrollbarClient::~ScrollbarClient):
        (WebCore::Scrollbar::~Scrollbar):
        (WebCore::Scrollbar::orientation):
        (WebCore::Scrollbar::controlSize):
        (WebCore::Scrollbar::hasPlatformScrollbars):
        (WebCore::Scrollbar::client):
        * platform/ScrollBarMode.h:
        (WebCore::):
        * platform/ScrollView.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::~RenderLayer):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::horizontaScrollbarWidget):
        (WebCore::RenderLayer::verticalScrollbarWidget):
        (WebCore::RenderLayer::valueChanged):
        (WebCore::RenderLayer::createScrollbar):
        (WebCore::RenderLayer::destroyScrollbar):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::verticalScrollbarWidth):
        (WebCore::RenderLayer::horizontalScrollbarHeight):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::horizontalScrollbar):
        (WebCore::RenderLayer::verticalScrollbar):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::~RenderListBox):
        (WebCore::RenderListBox::calcMinMaxWidth):
        (WebCore::RenderListBox::isPointInScrollbar):
        (WebCore::RenderListBox::optionAtPoint):
        (WebCore::RenderListBox::valueChanged):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::NodeInfo::scrollbar):
        (WebCore::RenderObject::NodeInfo::setScrollbar):

2006-10-05  Peter Kasting  <pkasting@chromium.org>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=11138
        Incorrect mouse event generation on Windows

        * platform/win/MouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (1) Set mouse button even for non-click-related messages.
        (2) Track clicks correctly for all buttons, not just the left button.

2006-10-05  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Fix Qt/Linux build, adapt to Eric's quartz changes and to Maciej's ResourceLoader changes.

        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        (WebCore::KRenderingPaintServerLinearGradientQt::renderPath):
        (WebCore::KRenderingPaintServerLinearGradientQt::setup):
        (WebCore::KRenderingPaintServerRadialGradientQt::setup):
        (WebCore::KRenderingPaintServerRadialGradientQt::renderPath):
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
        (WebCore::KRenderingPaintServerPatternQt::renderPath):
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        (WebCore::KRenderingPaintServerQt::setPenProperties):
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
        (WebCore::KRenderingPaintServerSolidQt::setup):
        (WebCore::KRenderingPaintServerSolidQt::renderPath):
        * kcanvas/device/qt/RenderPathQt.cpp:
        (WebCore::getPathStroke):

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11054
        REGRESSION: Traditional Chinese encoding in login authentication

        1. Treat GB2312 encoding as GBK (its more modern superset), to match other browsers.
        2. On the Web, GB2312 is encoded as EUC-CN or HZ, while ICU provides a native encoding
        for encoding GB_2312-80 and several others. So, we need to override this behavior, too.

        * platform/StreamingTextDecoderICU.cpp:
        (WebCore::TextCodecICU::registerEncodingNames):

2006-10-05  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Removed dead code.
        Filed http://bugs.webkit.org/show_bug.cgi?id=11167 to for followup on removed FIXMEs

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/ecma/GlobalObject.cpp: Removed.
        * ksvg2/ecma/GlobalObject.h: Removed.

2006-10-05  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej.

        Small ResourceLoaderInternal tweak.

        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):

2006-10-05  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        More incremental KCanvas cleanup and optimization.
        Added SVGRenderStyle::hasFill() and hasStroke() removed more KSVGPainterFactory methods.
        Optimized dash array usage to not malloc.
        Also removed un-needed KSVGRenderingStyle includes.

        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::operator<<):
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::RenderPath::strokeBBox):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::setup):
        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerSolidQuartz::setup):
        (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::applyStrokeStyleToContext):
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::hasStroke):
        (WebCore::SVGRenderStyle::hasFill):
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::strokePaintServer):
        * ksvg2/misc/KCanvasRenderingStyle.h:

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

        Reviewed by Adam.

        - changed ResourceLoader to be refcounted

        It keeps a ref on itself while loading as well. This makes
        for a much saner memory management model than the previous.

        * bridge/mac/WebCoreResourceLoaderImp.mm:
        (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * loader/icon/IconLoader.cpp:
        (IconLoader::IconLoader):
        (IconLoader::~IconLoader):
        (IconLoader::startLoading):
        (IconLoader::stopLoading):
        (IconLoader::receivedData):
        * loader/icon/IconLoader.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        * platform/ResourceLoader.cpp:
        (WebCore::ResourceLoader::create):
        (WebCore::ResourceLoader::kill):
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        * xml/xmlhttprequest.h:

2006-10-05  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Improve SVG opacity performance by clipping to the object bbox before starting a new opacity layer.
        http://bugs.webkit.org/show_bug.cgi?id=11163
        
        No SVG performance tests yet.

        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):

2006-10-05  Dave Hyatt  <hyatt@apple.com>

        Stub out some stuff for widget focusability.

        Reviewed by maciej
 
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchMouseEvent):
        * platform/ScrollView.h:
        * platform/Widget.h:

2006-10-05  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej and Tim H.

        Copy some WebKit frame lifetime logic into WebCore -- just a step
        along the path to frame lifetime being handled completely in WebCore.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setView): Move platform-independent parts of this
        method into Frame.
        * page/Frame.cpp:
        (WebCore::Frame::setView): Adding platform-independent parts of
        FrameMac::setView
        (WebCore::Frame::detachChildren): New method to accomplish what
        -[WebFrameBridge _detachChildren] currently does.
        (WebCore::Frame::clear): Call detachChildren
        * page/Frame.h: Add declaration for detachChildren

2006-10-04  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        Fixed <rdar://problem/4758577> REGRESSION: Business and People widgets fails to complete search query

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::setRequestHeader):
        removed exception set when the request is not open yet

2006-10-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4654328>
        Safari Crashes in WebCore::PluginTokenizer::writeRawData If I Try to Open a SWF File With Plug-ins Turned Off
        
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::writeRawData):
        Only send the data to the plug-in if plug-ins are enabled, otherwise just silently eat it.

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

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=11130
        Convert "undefined" to AE missing value

        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue): return missing value for UndefinedType.

2006-10-03  Dave Hyatt  <hyatt@apple.com>

        Scrolling work.  Eliminate convertTo/FromContainingWindow as cross-platform functions.  Add back in
        the windowToContents/contentsToWindow functions.
        
        Reviewed by anders

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::dragHysteresisExceeded):
        (WebCore::FrameMac::mouseDown):
        (WebCore::FrameMac::shouldDragAutoNode):
        (WebCore::FrameMac::sendContextMenuEvent):
        * bridge/mac/FrameViewMac.mm:
        (WebCore::FrameView::passMousePressEventToScrollbar):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge _visiblePositionForPoint:]):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        * page/Frame.cpp:
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::handleMouseMoveEvent):
        (WebCore::Frame::handleMouseReleaseEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::FrameView::handleMouseDoubleClickEvent):
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::prepareMouseEvent):
        (WebCore::FrameView::handleWheelEvent):
        * page/FrameView.h:
        * platform/ScrollBar.cpp:
        (WebCore::ScrollBar::setValue):
        * platform/ScrollView.h:
        * platform/Widget.h:
        (WebCore::Widget::scrolled):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::contentsToWindow):
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::scrollbarUnderMouse):
        * platform/mac/WidgetMac.mm:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        (WebCore::RenderLayer::positionScrollbars):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        * rendering/RenderView.cpp:
        * rendering/RenderView.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidget):

2006-09-26  David Smith  <catfish.man@gmail.com>

        Reviewed by Timothy.

        http://bugs.webkit.org/show_bug.cgi?id=3723
        Add -scrollDOMRangeToVisible:

        No automated tests are possible as this code path isn't reachable from JavaScript.

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

2006-10-03  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Timothy.

        <http://bugs.webkit.org/show_bug.cgi?id=10338>
        When contentEditable, cursor doesn't change to hand
        
        Allow the behaviour of editable links to be specified by a WebPreference
        The preference WebKitEditableLinkBehavior has four options:
         - AlwaysLive: Safari 2.0 behaviour
         - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour)
         - LiveWhenNotFocused: Editable links are live only when their editable block is not
             focused, or when the shift key is pressed
         - DefaultBehavior: This is the same as OnlyLiveWithShiftKey.
         
        No layout tests, just a modification of a manual-test as it isn't possible to test
        this automatically.

        * bridge/mac/WebCoreSettings.h:
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setEditableLinkBehavior:]):
        (-[WebCoreSettings editableLinkBehavior]):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::setActive):
        * html/HTMLAnchorElement.h:
        * manual-tests/contenteditable-link.html:
        * page/FrameView.cpp:
        (WebCore::nodeIsNotBeingEdited):
        (WebCore::selectCursor):
        * page/Settings.h:
        (WebCore::Settings::):
        (WebCore::Settings::Settings):
        (WebCore::Settings::editableLinkBehavior):
        (WebCore::Settings::setEditableLinkBehavior):

2006-10-03  Beth Dakin  <bdakin@apple.com>

        Reviewed Darin.

        No test cases needed.

        Implemented a version of StringImpl::append that takes a UChar* and 
        a length.

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::append):
        (WebCore::StringImpl::insert): Call new append instead of making a 
        new StringImpl.
        * platform/StringImpl.h:

2006-10-03  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11099
        HttpSendRequestEx results in ERROR_HTTP_HEADER_NOT_FOUND

        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoader::onHandleCreated):

2006-10-02  Geoffrey Garen  <ggaren@apple.com>

        Feared, loathed, reviewed by Darin.

        More frame/iframe merging. Merged IFRAME::willRemove and IFRAME::detach 
        into FRAME, plus other cleanup.
        
        No new behavior, so no new test. Layout tests pass. Basic browsing and
        Mail editing seem to work.
        
        * dom/Node.cpp:
        (WebCore::Node::detach): Removed random commented-out code.
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::isURLAllowed): 
        (1) Removed reference to FrameView, to dissociate frame loading from rendering.
        (2) Renamed newURL to completeURL because the difference between newURL
        and URLString is that newURL is a KURL that is the complete version of URLString,
        not that it is new.
        (WebCore::HTMLFrameElement::willRemove): 
        (1) Removed close() call and moved close() code into willRemove(), also removing 
        close() call from detach(), since willRemove is the well-defined place 
        from DOM tear-down, not detach().
        (2) Removed manual renderer detach code because the DOM is not responsible
        for managing the render tree. I confirmed that this change not
        regress <rdar://problem/4132581>.
        (3) Removed questionable ASSERT. The ASSERT assumed that iframe elements
        lost their content frames after being removed from the DOM. That's our 
        current behavior, but it's going to change in future rounds of refactoring.
        This also fixes <rdar://problem/4750835>.
        (WebCore::HTMLFrameElement::setLocation): Removed wacky manual calls to
        attach/detach, because the render tree should not be in charge of deciding
        when to load.
        * html/HTMLFrameElement.h:
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach): Renamed renderPart to renderPartObject,
        because the renderer is a renderPartObject, not a renderPart.
        * html/HTMLIFrameElement.h:

2006-10-03  Mark Rowe  <bdash@webkit.org>

        Reviewed by Mitz.

        http://bugs.webkit.org/show_bug.cgi?id=11137
        Bug 11137: GdkLauncher dies with "pure virtual method called" if
        window is closed while page still loading

        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::~FrameGdk): Call cancelAndClear to allow virtual
        methods to be called before the FrameGdk portion of "this" is torn down.

2006-10-03  Adam Roben  <aroben@apple.com>

        Reviewed by Darin.

        Handle tab key presses in the DOM.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::defaultEventHandler): Add tab key handling.
        * page/FrameView.cpp:
        (WebCore::FrameView::advanceFocus): Rename and reimplement
        focusNextPrevNode. Now we just call Element::focus().
        * page/FrameView.h: Rename focusNextPrevNode to advanceFocus and make
        it public.

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

        Reviewed by mjs
        
        <rdar://problem/4760612>
        TOT REGRESSION: Repro assertion failure when forwarding draft in Range::compareBoundaryPoints
        
        No layout test possible, attributedStringFrom:(DOMNode*)...etc isn't available to DRT.
        
        * dom/Range.cpp:
        (WebCore::Range::boundaryPointsValid): compareBoundaryPoints asserts that the incoming 
        positions are non-null since most of it's callers would be in a bad state if the positions 
        were null.  boundaryPointsValid, which calls compareBoundaryPoints, is an exception.  
        Instead of removing the assert I've added nil checks in boundaryPointsValid, to keep it 
        from entering compareBoundaryPoints and hitting the assert.

2006-10-03  Adele Peterson  <adele@apple.com>

        Reviewed by Geoff.

        Make code for turning off new listbox implementation mac-only, since there's no implementation on other platforms.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::isKeyboardFocusable):
        (WebCore::HTMLSelectElement::isMouseFocusable):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        (WebCore::HTMLSelectElement::defaultEventHandler):

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

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11132
          Caret disappears when you're typing

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): Remove unnecessary call to
        clearCaretRectIfNeeded. The recomputeCaretRect now takes care of this.
        (WebCore::SelectionController::recomputeCaretRect): Explicitly set m_needsLayout
        to false so we can get the old caret repaint rect. Later we need to change the
        design so getting the rect doesn't have a side effect of causing a layout without
        invalidation.

2006-10-03  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4671286> Candidate Window isn't displayed and only first candidate is displayed at typing location.

        Updated test:
        * fast/text/justified-text-rect.html

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge convertToNSRange:]):
        (-[WebCoreFrameBridge convertToDOMRange:]):
        Make the selection's root editable element (or the document itself) be
        the basis for NSRange conversions. This supports "shadow DOM" like
        that for text fields and text areas.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs):
        Pass the document element as the scope.
        
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::rangeFromLocationAndLength):
        Make the first parameter the scope.
        
        * editing/TextIterator.h:
        Make the first parameter of rangeFromLocationAndLength() the scope.

2006-10-03  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix Qt/Linux build.

        * CMakeLists.txt: Add counter related files.

2006-10-03  Mark Rowe  <bdash@webkit.org>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10981
        Linux/GDK build fixes

        Based on a patch by Krzysztof Kowalczyk.

        * WebCoreSources.bkl:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::doScroll):
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/PlatformScrollBar.h: Added.
        (WebCore::PlatformScrollBar::isWidget):
        * platform/gdk/ScrollViewGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameView::passMousePressEventToScrollbar):
        (FrameView::passMousePressEventToSubframe):
        (FrameView::passMouseReleaseEventToSubframe):
        (FrameView::passMouseMoveEventToSubframe):
        (FrameView::passWheelEventToSubframe):
        (Cursor::Cursor):
        (Widget::invalidate):
        (Widget::invalidateRect):
        (ScrollView::wheelEvent):
        (ScrollView::convertToContainingWindow):
        (ScrollView::convertFromContainingWindow):
        (GraphicsContext::clip):
        (PlatformScrollBar::PlatformScrollBar):
        (PlatformScrollBar::updateThumbPosition):
        (PlatformScrollBar::updateThumbProportion):
        (ScrollBar::ScrollBar):
        (ScrollBar::setProportion):
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/gdk/WheelEventGdk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * platform/gdk/WidgetGdk.cpp:
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):

2006-10-02  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej.

        Let Windows determine which mouse button is pressed.

        * platform/PlatformMouseEvent.h: Add message parameter to constructor.
        * platform/win/MouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Use message
        parameter to determine which mouse button is pressed.

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

        Reviewed by anders
        
        Build fix
        
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::empty):
        * editing/SelectionController.h:

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

        Reviewed by john
        
        <rdar://problem/4755287>
        Writely Editor: Crash occurs at WebCore::maxDeepOffset(WebCore::Node const*) when attempting to create a OL/UL following a HR element

        * editing/markup.cpp:
        (WebCore::createMarkup): Migrate to isBlock (isBlockFlow is true for inline replaced 
        elements).  Don't skip blocks that aren't containers (like horizontal rules).

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

        Reviewed by Justin Garcia.

        - correct mistaken code that would restart blinking every
          time "invalidateSelection" is called even if the caret
          has not moved

        * editing/SelectionController.h:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setSelection): Update for name change.
        (WebCore::SelectionController::recomputeCaretRect): New function.
        Computes caret rect and does any necessary invalidation if the rect
        changes.
        (WebCore::SelectionController::invalidateCaretRect): Renamed from
        needsCaretRepaint. Invalidates the caret rect unconditionally. Also
        calls recomputeCaretRect as a side effect.

        * page/Frame.cpp:
        (WebCore::Frame::invalidateSelection): Remove unneeded call to
        clearCaretRectIfNeeded.
        (WebCore::Frame::clearCaretRectIfNeeded): Updated for name change.
        (WebCore::Frame::selectionLayoutChanged): Restructured to use the new
        recomputeCaretRect function and not restart blinking if caret has
        not changed position.
        (WebCore::Frame::caretBlinkTimerFired): Removed some checks that
        are not needed since selectionLayoutChanged already checks these.

        * page/FramePrivate.h: Removed unused m_blinkCaret.

2006-10-02  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam.

        Build fix. Add counters to vcproj.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-10-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Adele

        If the Icon DB schema changes underneath you, the latest ToT can crash and burn when writing
        icon data out because we don't correctly check SQL error conditions.

        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::writeToDatabase):

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

        Reviewed by Hyatt.

        Added method to find out whether a layout has occurred.

        * page/FrameView.cpp:
        (WebCore::FrameView::didFirstLayout):
        * page/FrameView.h:

2006-10-02  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Initial implementation of CSS2 counters. See http://
        bugs.webkit.org/show_bug.cgi?id=4980 for more details.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp: 
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return 
        the increment/reset list now that this is implemented.
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cssText): 
        * css/Counter.h:
        (WebCore::Counter::Counter):
        (WebCore::Counter::~Counter):
        (WebCore::Counter::identifier):
        (WebCore::Counter::listStyle):
        (WebCore::Counter::separator):
        (WebCore::Counter::listStyleNumber):
        (WebCore::Counter::setIdentifier):
        (WebCore::Counter::setListStyle):
        (WebCore::Counter::setSeparator):
        * css/cssparser.cpp:
        (WebCore::CSSParser::addProperty): Take care of reset/increment
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseContent): content can now take counters
        (WebCore::CSSParser::parseCounterContent): Parse counter() and 
        counters()
        (WebCore::CSSParser::parseCounter): Parse counter-reset and 
        counter-increment
        * css/cssparser.h:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::applyProperty):
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::insert): Implemented a version of insert that 
        accepts a UChar* and a length.
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::insert): Same as above.
        * platform/StringImpl.h:
        * rendering/CounterListItem.h: Added.
        * rendering/CounterNode.cpp: Added.
        (WebCore::CounterNode::CounterNode):
        (WebCore::CounterNode::insertAfter):
        (WebCore::CounterNode::removeChild):
        (WebCore::CounterNode::remove):
        (WebCore::CounterNode::setUsesSeparator):
        (WebCore::CounterNode::recountAndGetNext):
        (WebCore::CounterNode::recountTree):
        (WebCore::CounterNode::setSelfDirty):
        (WebCore::CounterNode::setParentDirty):
        * rendering/CounterNode.h: Added.
        (WebCore::CounterNode::~CounterNode):
        (WebCore::CounterNode::parent):
        (WebCore::CounterNode::previousSibling):
        (WebCore::CounterNode::nextSibling):
        (WebCore::CounterNode::firstChild):
        (WebCore::CounterNode::lastChild):
        (WebCore::CounterNode::value):
        (WebCore::CounterNode::setValue):
        (WebCore::CounterNode::count):
        (WebCore::CounterNode::setCount):
        (WebCore::CounterNode::setHasSeparator):
        (WebCore::CounterNode::isReset):
        (WebCore::CounterNode::hasSeparator):
        (WebCore::CounterNode::willNeedLayout):
        (WebCore::CounterNode::setWillNeedLayout):
        (WebCore::CounterNode::isRoot):
        (WebCore::CounterNode::setRenderer):
        (WebCore::CounterNode::renderer):
        * rendering/CounterResetNode.cpp: Added.
        (WebCore::CounterResetNode::CounterResetNode):
        (WebCore::CounterResetNode::insertAfter):
        (WebCore::CounterResetNode::removeChild):
        (WebCore::CounterResetNode::recountAndGetNext):
        (WebCore::CounterResetNode::setParentDirty):
        (WebCore::CounterResetNode::updateTotal):
        * rendering/CounterResetNode.h: Added.
        (WebCore::CounterResetNode::firstChild):
        (WebCore::CounterResetNode::lastChild):
        (WebCore::CounterResetNode::isReset):
        (WebCore::CounterResetNode::total):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::updatePseudoChildForObject): Account for 
        counter content.
        * rendering/RenderCounter.cpp: Added.
        (WebCore::RenderCounter::RenderCounter):
        (WebCore::RenderCounter::layout):
        (WebCore::toRoman):
        (WebCore::toLetterString):
        (WebCore::toHebrew):
        (WebCore::RenderCounter::convertValueToType):
        (WebCore::RenderCounter::calcMinMaxWidth):
        * rendering/RenderCounter.h: Added.
        (WebCore::RenderCounter::renderName):
        (WebCore::RenderCounter::isCounter):
        * rendering/RenderObject.cpp:
        (WebCore::getRenderObjectsToCounterNodeMaps): Maps RenderObjects to 
        maps of CounterNodes
        (WebCore::RenderObject::RenderObject):
        (WebCore::RenderObject::destroy): Destroy the maps.
        (WebCore::RenderObject::findCounter): Finds/creates counters.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isCounter):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleVisualData::StyleVisualData):
        (WebCore::RenderStyle::arenaDelete):
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::diff):
        (WebCore::RenderStyle::setContent):
        (WebCore::ContentData::clearContent):
        (WebCore::RenderStyle::counterDataEquivalent):
        (WebCore::hasCounter):
        (WebCore::RenderStyle::hasCounterReset):
        (WebCore::RenderStyle::hasCounterIncrement):
        (WebCore::readCounter):
        (WebCore::RenderStyle::counterReset):
        (WebCore::RenderStyle::counterIncrement):
        * rendering/RenderStyle.h:
        (WebCore::StyleVisualData::operator==):
        (WebCore::CounterData::CounterData):
        (WebCore::CounterData::identifier):
        (WebCore::CounterData::listStyle):
        (WebCore::CounterData::separator):
        (WebCore::ContentData::contentCounter):
        (WebCore::ContentData::):
        (WebCore::RenderStyle::counterIncrement):
        (WebCore::RenderStyle::counterReset):
        (WebCore::RenderStyle::setCounterIncrement):
        (WebCore::RenderStyle::setCounterReset):
        (WebCore::RenderStyle::setCounterResetList):
        (WebCore::RenderStyle::setCounterIncrementList):
        (WebCore::RenderStyle::counterResetValueList):
        (WebCore::RenderStyle::counterIncrementValueList):

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

        Reviewed by Adam.

        - Fix for <rdar://problem/4463841> Switch to use new list box implementation for <select multiple>

        There are a few outstanding issues, so I've left the old code in for now.  So you can use the old-style listboxes
        by using "-webkit-appearance:none".

        * css/html4.css:

2006-10-02  David Harrison  <harrison@apple.com>

        Reverted the code part of r16696, my patch for <rdar://problem/4641262>, because the problem was
        addressed at a deeper level by r16696, the patch for <http://bugs.webkit.org/show_bug.cgi?id=10842>.
        Left the layout test.
        
        * rendering/bidi.cpp:
        (WebCore::checkMidpoints):

2006-10-02  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Fix Qt/Linux build.

        * platform/qt/TemporaryLinkStubs.cpp: s/DeprecatedStringList/Vector<String>/
        (WebCore::supportedKeySizes):

2006-10-02  Nikolas Zimmermann <zimmermann@kde.org>

        Reviewed by eseidel & mjs.  Landed by eseidel.

        Fix Qt/Linux build with older gcc 3.3.4.
        http://bugs.webkit.org/show_bug.cgi?id=11116

        As discussed with Maciej, the GCC_ROOT_NS_HACK
        can be completely removed, as well as the friendship
        between cacheGlobalObject & the JS* objects.

        * bindings/scripts/CodeGeneratorJS.pm: Remove friendship.
        * platform/image-decoders/png/pnggccrd.c: Fix comments for gcc3.
        (png_read_filter_row_mmx_avg):
        * platform/image-decoders/png/pngvcrd.c: Ditto.
        (png_mmx_support):
        (png_read_filter_row_mmx_avg):

2006-10-01  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Alexey.

        - reverted fix for http://bugs.webkit.org/show_bug.cgi?id=10893 since it led to layout test crashes

        * css/CSSGrammar.y:

2006-10-01  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Eliminate a few more hotspots in SVG drawing code.
        
        No test cases were harmed in the making of this patch.  (And SVG has no perf tests.)

        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerSolidQuartz::setup): use a single shared colorspace, avoid a few mallocs
        * platform/mac/ColorMac.mm:
        (+[WebCoreControlTintObserver WebCore]): store a single shared colorspace instance

2006-10-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.
        
        More frame/iframe merging.
        
        - Removed needWidgetUpdate and related code. needWidgetUpdate is always
        false, so this was dead code.
        - Removed FIXME about setInViewSourceMode inside openURL(). openURL(), rather
        than attach(), is the correct place for setInViewSourceMode, because
        openURL() is the function that creates our frame.
        - Moved IFRAME insertedIntoDocument() code into FRAME, and removed FRAME
        code that did the same thing in other places.
        - Made FRAME's attach() method suffuciently generic so that IFRAME could
        call up to it, rather than skipping its superclass and calling up directly 
        to ELEMENT.
        - Changed a few IFRAME up-calls to ELEMENT into up-calls to FRAME.
        - Replaced ad hoc frame loading code in FRAME::attach() with call to
        openURL(), the designated frame loading function.

        Layout tests pass. I added a layout test for viewsource mode, since I
        broke it in the course of writing this patch.

2006-10-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        Get rid of availableStyleSheets() and remove DeprecatedStringList.h include.
        
        * dom/Node.h:
        Remove DeprecatedStringList class forward declaration.
        
        * editing/markup.cpp:
        Include DeprecatedStringList.h here since it's not included by Document.h anymore.
        
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/KCanvasTreeDebug.h:
        Remove unused functions.
        
        * loader/loader.cpp:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameView.h:
        Fixup DeprecatedStringList.h includes.

2006-09-30  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4641262> REGRESSION: Japanese text corrupts on wrapping point

        Problem was that the decision to trim was based only on whether the character
        is a soft hyphen, which caused pretty much any Japanese character to go.
        Changed to decide based on whether the character is ignorable whitespace.
        
        Test:
        * fast/text/international/wrap-CJK-001.html

        * rendering/bidi.cpp:
        (WebCore::isTrimmableChar):
        New. Checks whether character is whitespace that can be ignored
        according to the text node's style.
        trimmed from the end of wrapped line.
        (WebCore::checkMidpoints):
        Call isTrimmable() rather than checking for char != SOFT_HYPHEN.

2006-10-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Mitz Pettel.

        Convert the SVG code to use Vector<String> instead of DeprecatedStringList.

        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::setRGBColor):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
        * ksvg2/svg/SVGLengthList.cpp:
        * ksvg2/svg/SVGNumberList.cpp:
        (SVGNumberList::parse):
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        * ksvg2/svg/SVGStringList.cpp:
        (WebCore::SVGStringList::reset):
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGTransformable.cpp:
        (SVGTransformable::parseTransformAttribute):

2006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric, tweaked and landed by ap.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * platform/qt/PlatformScrollBar.h:
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::ScrollBar::ScrollBar):
        (WebCore::PlatformScrollBar::PlatformScrollBar):
        (FrameView::passMousePressEventToSubframe):
        (FrameView::passMouseMoveEventToSubframe):
        (FrameView::passMouseReleaseEventToSubframe):
        (FrameView::passWheelEventToSubframe):
        (FrameView::passMousePressEventToScrollbar):
        * ksvg2/svg/SVGDocument.h:

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

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=10190
        REGRESSION: Repro crash when navigating away from an image document that hasn't finished loading

        No test case added (probably requires new DumpRenderTree functionality)

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged): Added early return if the document is
        being destroyed.

2006-10-01  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=10842
        REGRESSION (r15418): contenteditable div truncates rightmost Japanese character
        
        Make sure we only break after a space (and not any other valid line-break) if
        the style is -webkit-line-break: after-white-space (e.g. for a contentEditable div).
        I also did a logic shuffle at Mitz's request to prevent doing an if on the same expression
        twice in quick succession.

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

2006-10-01  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej and Darin.

        http://bugs.webkit.org/show_bug.cgi?id=4372
        JavaScript document.write page form does not submit in Safari

        Test: fast/forms/document-write.html

        * page/Frame.cpp:
        (WebCore::Frame::submitForm): Don't check for parsing().

2006-10-01  Alexey Proskuryakov  <ap@nypop.com>

        Build fix.

        * bridge/mac/FrameViewMac.mm: Add missing #imports.

2006-10-01  Dave Hyatt  <hyatt@apple.com>

        Refactor the code that passes mouse presses to the Mac scrollbar and make it cross-platform.
       
        Reviewed by mitz

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
        * bridge/mac/FrameViewMac.mm:
        (WebCore::FrameView::passMousePressEventToScrollbar):
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::FrameView::setMousePressed):
        * page/FrameView.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::passMousePressEventToScrollbar):

2006-09-30  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11102
        Add more SVG Objective-C DOM bindings

        - Auto-generate Objective-C DOM bindings for DOMSVGAElement,
          DOMSVGAnimateColorElement, DOMSVGAnimateElement, DOMSVGAnimateTransformElement,
          DOMSVGAnimatedPathData, DOMSVGAnimatedPoints, DOMSVGAnimatedPreserveAspectRatio,
          DOMSVGAnimationElement, DOMSVGCircleElement, DOMSVGClipPathElement, DOMSVGColor,
          DOMSVGCursorElement, DOMSVGDefsElement, DOMSVGDescElement, DOMSVGDocument, 
          DOMSVGEllipseElement, DOMSVGPreserveAspectRatio, and DOMSVGURIReference.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMSVG.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * ksvg2/svg/SVGAElement.idl:
        * ksvg2/svg/SVGAnimateColorElement.idl:
        * ksvg2/svg/SVGAnimateElement.idl:
        * ksvg2/svg/SVGAnimateTransformElement.idl:
        * ksvg2/svg/SVGAnimatedPathData.idl:
        * ksvg2/svg/SVGAnimatedPoints.idl:
        * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl:
        * ksvg2/svg/SVGAnimationElement.idl:
        * ksvg2/svg/SVGCircleElement.idl:
        * ksvg2/svg/SVGClipPathElement.idl:
        * ksvg2/svg/SVGColor.idl:
        * ksvg2/svg/SVGCursorElement.idl:
        * ksvg2/svg/SVGDefsElement.idl:
        * ksvg2/svg/SVGDescElement.idl:
        * ksvg2/svg/SVGDocument.idl:
        * ksvg2/svg/SVGEllipseElement.idl:
        * ksvg2/svg/SVGPointList.idl:
        * ksvg2/svg/SVGPreserveAspectRatio.idl:
        * ksvg2/svg/SVGRect.idl:
        * ksvg2/svg/SVGSVGElement.idl:

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

        Reviewed by Adele.

        - fix build

        * platform/FloatRect.h:
        (WebCore::FloatRect::contains): Added; not exactly the same semantic as IntRect containment
        but more appropriate for path-type stuff.
        * platform/cg/PathCG.cpp:
        (WebCore::Path::contains): Don't use enclosingIntRect, just use FloatRect::contains.

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=11011
        External CSS is parsed as iso-8859-1 even though the main document is utf-8

        Test: fast/encoding/css-charset-default.xhtml

        * loader/CachedResourceClient.h:
        (WebCore::CachedResourceClient::setCSSStyleSheet):
        (WebCore::CachedResourceClient::setXSLStyleSheet):
        Divided setStyleSheet into setCSSStyleSheet and setXSLStyleSheet. The former
        takes an additional charset parameter, to be passed to CSSStyleSheet constructor.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::setCSSStyleSheet):
        (WebCore::CSSImportRule::insertedIntoParent): Default to parent stylesheet's charset.
        * css/CSSImportRule.h:

        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        * css/CSSStyleSheet.h:
        Added an m_charset member to be used when loading child stylesheets. Removed an unused m_implicit
        member. Changed some String parameters to const String&.

        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::StyleSheet):
        * css/StyleSheet.h:
        Changed some String parameters to const String&. Removed an unused (even unimplemented) constructor.

        * css/StyleSheetList.cpp:
        (WebCore::StyleSheetList::length):
        (WebCore::StyleSheetList::item):
        * css/StyleSheetList.h:
        Special-casing implicit stylesheets seemed to be dead code, removed.

        * dom/Document.cpp:
        (WebCore::Document::setCSSStyleSheet):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        Renamed setStyleSheet() to setCSSStyleSheet().

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet): Pass a correct charset to requestCSSStyleSheet().
        (WebCore::ProcessingInstruction::setCSSStyleSheet):
        (WebCore::ProcessingInstruction::setXSLStyleSheet):
        (WebCore::ProcessingInstruction::parseStyleSheet):
        * dom/ProcessingInstruction.h:

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process): Default to document encoding if a charset attribute 
        is not specified.
        (WebCore::HTMLLinkElement::setCSSStyleSheet):
        * html/HTMLLinkElement.h:

        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::childrenChanged):
        * ksvg2/svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::childrenChanged):
        Inherit URL and charset from the document.

        * loader/Cache.cpp:
        (WebCore::Cache::requestCSSStyleSheet):
        * loader/Cache.h:
        Adjust for setStyleSheet() renaming.

        * loader/CachedCSSStyleSheet.h: Removed an unused constructor.
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::ref):
        (WebCore::CachedCSSStyleSheet::deref):
        (WebCore::CachedCSSStyleSheet::checkNotify):
        Pass the encoding to setCSSStyleSheet().

        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::ref):
        (WebCore::CachedXSLStyleSheet::checkNotify):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestCSSStyleSheet):
        * loader/DocLoader.h:
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
        (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
        * xml/XSLImportRule.cpp:
        (WebCore::XSLImportRule::setXSLStyleSheet):
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLImportRule.h:
        Adjust for setStyleSheet() renaming.

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

        Reviewed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=11096
        Hit testing for polylines fails

        Fix Path::contains so it handles filled, non-closed paths too.

        * platform/cg/PathCG.cpp:
        (WebCore::Path::contains):

2006-09-30  Dave Hyatt  <hyatt@apple.com>

        Refactor subframe event handling to hide more of the Mac-specific logic from the cross-platform code.
        Stub out a capturing API that mimics the way Web browsers capture events and route them to specific
        subframes while the mouse is down.
      
        Reviewed by mitzpettel

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passWidgetMouseDownEventToWidget):
        (WebCore::FrameMac::passWheelEventToWidget):
        * bridge/mac/FrameViewMac.mm:
        (WebCore::FrameView::passMousePressEventToSubframe):
        (WebCore::FrameView::passMouseMoveEventToSubframe):
        (WebCore::FrameView::passMouseReleaseEventToSubframe):
        (WebCore::FrameView::passWheelEventToSubframe):
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameView.cpp:
        (WebCore::subframeForTargetNode):
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::FrameView::handleMouseDoubleClickEvent):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):
        (WebCore::FrameView::handleWheelEvent):
        * page/FrameView.h:
        * platform/ScrollBar.h:
        (WebCore::ScrollBar::handleMouseMoveEvent):
        (WebCore::ScrollBar::handleMouseOutEvent):
        * platform/Widget.h:
        (WebCore::Widget::handleMouseMoveEvent):
        (WebCore::Widget::handleMouseReleaseEvent):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::passMousePressEventToSubframe):
        (FrameView::passMouseMoveEventToSubframe):
        (FrameView::passMouseReleaseEventToSubframe):
        (FrameView::passWheelEventToSubframe):
        (Widget::capturingMouse):
        (Widget::setCapturingMouse):
        (Widget::capturingTarget):
        (Widget::capturingChild):
        (Widget::setCapturingChild):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2006-09-29  Darin Fisher  <darin@chromium.org>

        Reviewed by Adele.

        Fixes windows bustage:
        http://bugs.webkit.org/show_bug.cgi?id=11093

        * platform/win/PlatformScrollBar.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (PlatformScrollBar::PlatformScrollBar):
        (ScrollBar::ScrollBar):

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

        Eliminate RenderLayer::gScrollBar in favor of caching the scrollbar hit
        in RenderObject::NodeInfo (and then propagating that Widget to
        MouseEventWithHitTestResults).

        This allows RenderListBox and RenderBlock to do the same thing when the
        mouse is over the scrollbar.

        Also land fix to support font-size: 0.

        Reviewed by mjs (scrollbar), eric (font-size)

        * dom/Document.cpp:
        (WebCore::Document::prepareMouseEvent):
        * page/Frame.cpp:
        (WebCore::Frame::passWidgetMouseDownEventToWidget):
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::dispatchMouseEvent):
        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
        * page/MouseEventWithHitTestResults.h:
        (WebCore::MouseEventWithHitTestResults::scrollbar):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar):
        (WebCore::RenderBlock::nodeAtPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::getHiddenBehavior):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::RenderListBox):
        (WebCore::RenderListBox::~RenderListBox):
        (WebCore::RenderListBox::isPointInScrollbar):
        * rendering/RenderListBox.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::NodeInfo::NodeInfo):
        (WebCore::RenderObject::NodeInfo::scrollbar):
        (WebCore::RenderObject::NodeInfo::setScrollbar):

2006-09-29  Darin Fisher  <darin@chromium.org>

        Reviewed by Adele.

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

        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::convertToContainingWindow):
        (WebCore::ScrollView::convertFromContainingWindow):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):

2006-09-29  Adele Peterson  <adele@apple.com>

        Updated with new argument for PlatformScrollBar.

        * platform/win/TemporaryLinkStubs.cpp:
        (PlatformScrollBar::PlatformScrollBar):

2006-09-29  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fixing build bustage with cast to int.

        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::lastSelectedListIndex):

2006-09-29  Adele Peterson  <adele@apple.com>

        Fixing accidental include.

        * rendering/RenderListBox.cpp:

2006-09-29  Adele Peterson  <adele@apple.com>

        Adding RenderListBox files.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-09-29  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        Initial implementation of engine-based list box control.

        * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp

        * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
        * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::handleMousePressEvent):
        (WebCore::FrameMac::handleMouseMoveEvent):
        (WebCore::FrameMac::mouseDown):

        * page/Frame.cpp:
        (WebCore::Frame::handleMouseMoveEvent):
        (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
        (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
        (WebCore::Frame::autoscrollTimerFired): ditto.
        (WebCore::Frame::stopAutoscrollTimer): ditto.
        (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
        * page/Frame.h:
        * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.

        * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::currentMousePosition):
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::FrameView::handleMouseDoubleClickEvent):
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        (WebCore::FrameView::handleMouseReleaseEvent):
        * page/FrameView.h:

        * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
        * platform/ScrollBar.h:
        (WebCore::):
        (WebCore::ScrollBar::controlSize):
        * platform/mac/PlatformScrollBar.h:
        * platform/mac/PlatformScrollBarMac.mm:
        (NSControlSizeForScrollBarControlSize):
        (-[WebCoreScrollBar initWithPlatformScrollBar:]):
        (WebCore::PlatformScrollBar::PlatformScrollBar):

        * rendering/RenderBlock.h:
        * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::shouldAutoscroll):
        (WebCore::RenderObject::autoscroll):
        * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):

        * css/html4.css: Added properties for new list boxes.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
        (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
        * html/HTMLOptionElement.h: Added disabled method.

        * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::lastSelectedListIndex):
        (WebCore::HTMLSelectElement::deselectItems):
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::isKeyboardFocusable):
        (WebCore::HTMLSelectElement::isMouseFocusable):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::recalcListItems):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
        (WebCore::HTMLSelectElement::nextSelectableListIndex):
        (WebCore::HTMLSelectElement::previousSelectableListIndex):
        * html/HTMLSelectElement.h:

        * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::paintDecorations):
        (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
        (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::supportsFocusRing):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):

        * rendering/RenderListBox.cpp: Added.
        (WebCore::RenderListBox::RenderListBox):
        (WebCore::RenderListBox::~RenderListBox):
        (WebCore::RenderListBox::setStyle):
        (WebCore::RenderListBox::updateFromElement):
        (WebCore::RenderListBox::calcMinMaxWidth):
        (WebCore::RenderListBox::size):
        (WebCore::RenderListBox::numItems):
        (WebCore::RenderListBox::calcHeight):
        (WebCore::RenderListBox::baselinePosition):
        (WebCore::RenderListBox::itemBoundingBoxRect):
        (WebCore::RenderListBox::paintObject):
        (WebCore::RenderListBox::paintScrollbar):
        (WebCore::RenderListBox::paintItemForeground):
        (WebCore::RenderListBox::paintItemBackground):
        (WebCore::RenderListBox::scrollBarTarget):
        (WebCore::RenderListBox::isPointInScrollbar):
        (WebCore::RenderListBox::optionAtPoint):
        (WebCore::RenderListBox::autoscroll):
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
        (WebCore::RenderListBox::scroll):
        (WebCore::RenderListBox::valueChanged):
        * rendering/RenderListBox.h: Added.
        (WebCore::RenderListBox::isListBox):
        (WebCore::RenderListBox::selectionChanged):
        (WebCore::RenderListBox::setSelectionChanged):
        (WebCore::RenderListBox::canHaveChildren):
        (WebCore::RenderListBox::renderName):
        (WebCore::RenderListBox::setOptionsChanged):
        (WebCore::RenderListBox::shouldAutoscroll):
        (WebCore::RenderListBox::listIndexIsVisible):

2006-09-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        We had a bug where html4.css was ignoring Media Queries. In the end 
        the problem was that we were trying to send a char* to the 
        MediaQueryEvaluator constructor that expects a String, but the 
        char* got interpreted as a bool, the wrong constructor was called, 
        and the media type was never set.

        No test case possible since this only affects html4.css

        * css/MediaQueryEvaluator.cpp: New constructor that expects takes a 
        char*
        (WebCore::MediaQueryEvaluator):
        * css/MediaQueryEvaluator.h: Same.

2006-09-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by John, Maciej.
        
        Integrated some frame and iframe code. I'm trying to fix up frame ownership
        and loading. Reducing the number of different code paths involved
        seemed like a good first step.
        
        As a side effect, I fixed a bug where FRAME elements would report their
        src attributes as relative, rather than compelete, URLs. (IFRAME elements
        had the correct complete URL behavior.)

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::isURLAllowed): Fixed comment typo
        (WebCore::HTMLFrameElement::openURL):
            (1) Removed checks that requestFrame does for us
            (2) Added isURLAllowed check, to have one clear bottleneck for it
            (3) Added viewsource check, to have one clear bottleneck for it
        (WebCore::HTMLFrameElement::close): Changed to use the common contentFrame()
        method, instead of finding our content frame in our own unique way.
        (WebCore::HTMLFrameElement::setLocation): Removed isURLAllowed check,
        since openURL does this for us now.
        (WebCore::HTMLFrameElement::src): Return complete URL instead of relative.
        This is what FF does, and it made no sense to have different behaviors
        for FRAME and IFRAME elements.
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::HTMLIFrameElement): Removed duplicate init
        code.
        * html/HTMLIFrameElement.h: Removed src() and openURL() methods, since
        HTMLFrameElement now does everything we need.

2006-09-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Hyatt.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::convertToContainingWindow):
        (WebCore::ScrollView::convertFromContainingWindow):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):

2006-09-29  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11082
        Simplify Internal methods for the auto-generated Objective-C DOM code

        - Auto-generate the internal methods for more Objective-C classes.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCSS.mm:
        (-[DOMStyleSheet WebCore::]):
        (+[DOMStyleSheet _styleSheetWith:WebCore::]):
        (-[DOMCSSRule WebCore::]):
        (-[DOMCSSRule _initWithCSSRule:WebCore::]):
        (+[DOMCSSRule _CSSRuleWith:WebCore::]):
        (-[DOMCSSValue WebCore::]):
        (-[DOMCSSValue _initWithCSSValue:WebCore::]):
        (+[DOMCSSValue _CSSValueWith:WebCore::]):
        * bindings/objc/DOMHTMLAppletElement.mm:
        (-[DOMHTMLAppletElement WebCore::]):
        (+[DOMHTMLAppletElement _HTMLOptionElementWith:WebCore::]):
        * bindings/objc/DOMHTMLEmbedElement.mm:
        (-[DOMHTMLEmbedElement WebCore::]):
        (+[DOMHTMLEmbedElement _HTMLEmbedElementWith:WebCore::]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMInternal.mm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValueList.idl:
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NodeIterator.idl:
        * dom/OverflowEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:

2006-09-29  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
        <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot

        Test added
        * fast/text/attributed-substring-from-range-001.html

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString):
        Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case.
        Also, add validation of the range.

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10893
        InsertRule can not handle @import statements

        Allow @import as part of a css rule.

        * css/CSSGrammar.y:

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

        Switch over the Mac-specific uses of viewportToContents/contentsToViewport.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::eventMayStartDrag):
        (WebCore::FrameMac::dragHysteresisExceeded):
        (WebCore::FrameMac::mouseDown):
        (WebCore::FrameMac::shouldDragAutoNode):
        (WebCore::FrameMac::sendContextMenuEvent):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge _visiblePositionForPoint:]):

2006-09-28  Dave Hyatt  <hyatt@apple.com>

        This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow.
        ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document
        view.
       
        Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to
        the patch after review, once I realized that these new functions essentially do the same thing.)

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        (WebCore::EventTargetNode::dispatchWheelEvent):
        * page/Frame.cpp:
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::handleMouseMoveEvent):
        (WebCore::Frame::handleMouseReleaseEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent):
        (WebCore::selectCursor):
        (WebCore::FrameView::dispatchDragEvent):
        (WebCore::FrameView::prepareMouseEvent):
        (WebCore::FrameView::handleWheelEvent):
        * platform/ScrollView.h:
        * platform/Widget.cpp:
        (WebCore::Widget::convertToContainingWindow):
        * platform/Widget.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::convertToContainingWindow):
        (WebCore::ScrollView::convertFromContainingWindow):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::convertToContainingWindow):
        (WebCore::ScrollView::convertFromContainingWindow):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):

2006-09-28  Alice Liu  <alice.liu@apple.com>

        Build fix by adding missing files for CommandByName

        * WebCore.xcodeproj/project.pbxproj:

2006-09-28  Alice Liu  <alice.liu@apple.com>

        Adding CommandByName files to the vcproj

        * WebCore.vcproj/WebCore/WebCore.vcproj:

2006-09-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adam Roben.

        This patch adds a command class that is attached to the frame so the frame can more easily execute commands such as copy, paste, select, etc. 
        This patch also exposes some UBRK-related utilities so that they can be used elsewhere.
        This patch also changes windows PlatformMouseEvent so that we can detect multiple-click mouse events

        * editing/CommandByName.cpp: Added.
        Added a command class that hangs off the frame so the frame can call commands more easily.  
        (WebCore::Frame::commandImp):
        (WebCore::Frame::execCopy):
        (WebCore::Frame::execCut):
        (WebCore::Frame::execDelete):
        (WebCore::Frame::execForwardDelete):
        (WebCore::Frame::execPaste):
        (WebCore::Frame::execMoveLeft):
        (WebCore::Frame::execMoveRight):
        (WebCore::Frame::execMoveUp):
        (WebCore::Frame::execMoveDown):
        (WebCore::Frame::execSelectAll):
        (WebCore::Frame::execSelectLeft):
        (WebCore::Frame::execSelectRight):
        (WebCore::Frame::execSelectUp):
        (WebCore::Frame::execSelectDown):
        (WebCore::Frame::enabled):
        (WebCore::Frame::enabledAnySelection):
        (WebCore::Frame::enabledAnyEditableSelection):
        (WebCore::Frame::enabledPaste):
        (WebCore::Frame::enabledAnyRangeSelection):
        (WebCore::Frame::enabledAnyEditableRangeSelection):
        (WebCore::Frame::createCommandDictionary):
        (WebCore::Frame::Command::):
        (WebCore:::m_frame):
        (WebCore::CommandByName::execCommand):
        * editing/CommandByName.h: Added.
        * page/Frame.cpp:
        Added implementation of accessor for CommandByName member
        (WebCore::Frame::command):
        * page/Frame.h:
        Added accessor for CommandByName member
        * page/FramePrivate.h:
        Added a CommandByName member
        (WebCore::FramePrivate::FramePrivate):
        * platform/PlatformMouseEvent.h:
        Changed constructor prototype
        * platform/StringImpl.cpp:
        Exposing getWordBreakIterator to be used elsewhere
        (WebCore::getWordBreakIterator):
        * platform/StringImpl.h:
        Exposing getWordBreakIterator to be used elsewhere
        * platform/win/MouseEventWin.cpp:
        Changed the PlatformMouseEvent on windows so that we "roll our own" multi-click mouse events instead of relying on the system to tell us, enabling us to detect triple-clicks
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2006-09-28  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Remove no-longer-used PopUpButton.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove PopUpButton.h
        * WebCore.xcodeproj/project.pbxproj: Remove PopUpButton.h,
        PopUpButtonMac.mm
        * platform/PopUpButton.h: Removed.
        * platform/mac/PopUpButtonMac.mm: Removed.
        * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods
        * rendering/DeprecatedRenderSelect.cpp: Change #include of
        PopUpButton.h to ListBox.h

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

        Reviewed by Alice.

        - change that should fix <rdar://problem/4733044> REGRESSION: XML iBench shows
          10% perf. regression (copying strings while decoding)

        Use Vector<UChar> instead of String when building up the decoded string in
        the ICU and Mac decoders. Using String leads to O(n^2) behavior because
        String grows the buffer every single time that append is called. Using
        Vector::append instead of String::append also avoids constructing a string
        each time just to append and a questionable copy that is done inside the
        String::append function which also contributed to the slowness.

        * platform/PlatformString.h:
        * platform/String.cpp: (WebCore::String::adopt): Added. Makes a String from a
        Vector<UChar>, adopting the buffer from the vector to avoid copying and memory
        allocation.
        * platform/StringImpl.h:
        * platform/StringImpl.cpp: (WebCore::StringImpl::adopt): Ditto.

        * platform/StreamingTextDecoder.h:
        * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM):
        Change to use a Vector<UChar> instead of a String, since vectors have better
        resizing performance (they store a separate capacity).

        * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::decode):
        * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::decode):
        Change to use Vector<UChar> instead of String and then create a string at
        the end of the process using the new adopt function.

2006-09-28  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11057
        Auto-generate more SVG Objective-C bindings

        - Auto-generates DOMSVGAnimatedAngle, DOMSVGAnimatedBoolean, 
          DOMSVGAnimatedEnumeration, DOMSVGAnimatedInteger, DOMSVGAnimatedLength,
          DOMSVGAnimatedLengthList, DOMSVGAnimatedNumber, DOMSVGAnimatedString,
          DOMSVGAnimatedTransformList, DOMSVGExternalResourcesRequired,
          DOMSVGLangSpace, DOMSVGLocatable, DOMSVGMetadataElement, DOMSVGRectElement,
          DOMSVGStringList, DOMSVGStylable, DOMSVGStyleElement, DOMSVGTests, 
          and DOMSVGTransformable.

        - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple
          parent interfaces and the SVG animated classes.

        - Corrects CodeGenerator.pm to only skip the first parent for the main 
          interface.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMSVG.h:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * ksvg2/svg/SVGAnimatedAngle.idl:
        * ksvg2/svg/SVGAnimatedBoolean.idl:
        * ksvg2/svg/SVGAnimatedEnumeration.idl:
        * ksvg2/svg/SVGAnimatedInteger.idl:
        * ksvg2/svg/SVGAnimatedLength.idl:
        * ksvg2/svg/SVGAnimatedLengthList.idl:
        * ksvg2/svg/SVGAnimatedNumber.idl:
        * ksvg2/svg/SVGAnimatedPathData.idl:
        * ksvg2/svg/SVGAnimatedString.idl:
        * ksvg2/svg/SVGAnimatedTransformList.idl:
        * ksvg2/svg/SVGExternalResourcesRequired.idl:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl:
        * ksvg2/svg/SVGFitToViewBox.idl:
        * ksvg2/svg/SVGLangSpace.idl:
        * ksvg2/svg/SVGLocatable.idl:
        * ksvg2/svg/SVGMetadataElement.idl:
        * ksvg2/svg/SVGStringList.idl:
        * ksvg2/svg/SVGStylable.idl:
        * ksvg2/svg/SVGStyleElement.idl:
        * ksvg2/svg/SVGTests.idl:
        * ksvg2/svg/SVGTransformable.idl:
        * ksvg2/svg/SVGURIReference.idl:
        * ksvg2/svg/SVGUnitTypes.idl:
        * ksvg2/svg/SVGZoomAndPan.idl:

2006-09-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz Pettel!!!

        Change the error code check for common functions from SQLResultOk to SQLResultDone 

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::forgetPageURLQuery):
        (WebCore::IconDatabase::setIconIDForPageURLQuery):
        (WebCore::IconDatabase::addIconForIconURLQuery):

2006-09-28  Dave Hyatt  <hyatt@apple.com>

        Just eliminate MapWindowPoints usage and use the HWND as
        the viewport.

        * platform/win/MouseEventWin.cpp:
        (WebCore::positionForEvent):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::viewportToContents):
        (WebCore::ScrollView::contentsToViewport):

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

        Fix for bug 9222, cursor is wrong when mousing over overflow scrollbars in textareas.  Make sure
        selectCursor checks for whether or not a scrollbar was hit.  Also stub out a mouseMoved method for
        scrollbars to provide hover feedback if needed.

        Reviewed by Eric

        * page/FrameView.cpp:
        (WebCore::selectCursor):
        (WebCore::FrameView::handleMouseMoveEvent):
        * platform/ScrollBar.h:
        (WebCore::ScrollBar::mouseMoved):

2006-09-27  Darin Fisher  <darin@chromium.org>

        Reviewed by Maciej and Adam, landed by Adam

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072
        Windows build is busted

        * platform/win/TemporaryLinkStubs.cpp:
        (ScrollView::paint):
        (ScrollView::themeChanged):

2006-09-27  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        paths with no fill specified default to black but do not receive paint-related mouse events
        http://bugs.webkit.org/show_bug.cgi?id=11069
        The default fill was being applied at the wrong place in the rendering chain, causing this problem.

        Test: svg/custom/hover-default-fill.svg

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::nodeAtPoint): use isFilled and isStroked
        * ksvg2/css/SVGRenderStyle.h: use defaultFill() and defaultStroke()
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::isFilled): remove null check
        (WebCore::KSVGPainterFactory::fillPaintServer): remove null check
        (WebCore::KSVGPainterFactory::isStroked): remove null check
        (WebCore::KSVGPainterFactory::strokePaintServer): remove null check
        * ksvg2/svg/SVGPaint.cpp:
        (WebCore::SVGPaint::defaultFill): added.
        (WebCore::SVGPaint::defaultStroke): added.
        * ksvg2/svg/SVGPaint.h:

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

        Reviewed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=11015
        SVG handles em units incorrectly

        Calculate viewport coordinates at layout time, since
        at this point the font size is known and lengths depending
        on font sizes can be calculated correctly.

        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::viewport):
        (WebCore::RenderSVGContainer::calcViewport):
        * kcanvas/RenderSVGContainer.h:
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::updateValue):
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::createRenderer):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::createRenderer):
        (WebCore::SVGSVGElement::attributeChanged):
        * ksvg2/svg/SVGSVGElement.h:

2006-09-27  Eric Seidel  <eric@webkit.org>

        Reviewed by darin.

        Change our invalid-fill error behavior to match Opera (and soon Firefox)
        http://bugs.webkit.org/show_bug.cgi?id=11017

        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::isFilled):
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::isStroked):
        (WebCore::KSVGPainterFactory::strokePaintServer):

2006-09-27  Brady Eidson  <beidson@apple.com>

        Build fix

        * loader/icon/IconDatabase.cpp:
        (WebCore::readySQLStatement):

2006-09-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam

        In very specific circumstances, prepared SQLStatements can become invalid without
        any warning.  This checks for that state and re-prepares the statement and also
        adds more aggressive error-checking everywhere these statements are used.

        * loader/icon/IconDatabase.cpp:
        (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
        (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
        (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
        (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
        (WebCore::IconDatabase::forgetPageURLQuery): Ditto
        (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
        (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
        (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
        (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
        * loader/icon/SQLStatement.h:

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

        Reviewed by Steve.

        - clean up options for font code path

        * platform/Font.h:
        * platform/Font.cpp:
        (WebCore::Font::setCodePath): Added. Replaces boolean version.
        (WebCore::Font::canUseGlyphCache): Update to handle "never use complex" case too.

        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreSetAlwaysUseATSU): Change to call setCodePath.

2006-09-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
        Added limit parameter, passed down to Frame
        
        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::markAllMatchesForText):
        Added limit parameter. Stop the search if it hits limit.

2006-09-26  Sean Gies  <seangies@apple.com>

        Reviewed by Brady Eidson.

        * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these.

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

        Reviewed by john
        
        <rdar://problem/4747695> 
        Gmail Editor: Crash at WebCore::Range::startPosition() when decreasing a indent
        
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Stop expanding
        to select special elements that are fully selected after expansion
        moves to positions that are visually distinct from the originals.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): If the content of the list 
        item will be moved into another list, put it in a list item.

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

        Reviewed by Darin.
        
        Temporary work-around for frame lifetime issue.

        * page/Frame.cpp:
        (WebCore::Frame::clear):
        (WebCore::Frame::disconnectOwnerElement):

2006-09-26  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11038
        Auto-generate DOMSVGElement for the Objective-C bindings

        - Auto-generates DOMSVGElement.

        - Make SVGExceptions work like all the other ExceptionCode
          extensions (Range, XPath, etc.) by adding SVGExceptionOffset
          and SVGExceptionMax.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        (KJS::):
        (KJS::setDOMException):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMInternal.mm:
        (raiseDOMException):
        * bindings/objc/DOMSVG.h:
        * bindings/objc/DOMSVGExecption.h: Added.
        * ksvg2/ksvg.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::setId):
        (WebCore::SVGElement::setXmlbase):
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGElement.idl:
        * ksvg2/svg/SVGException.h: Added.
        (WebCore::):

2006-09-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Tim H.
        
        viewbox parser does not allow <tab> as a delimiter
        http://bugs.webkit.org/show_bug.cgi?id=11014

        Test: svg/hixie/viewbox/003.xml

        * ksvg2/svg/svgpathparser.cpp:
        (WebCore::isWhitespace): new function
        (WebCore::skipOptionalSpaces):
        (WebCore::skipOptionalSpacesOrComma):

2006-09-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Tim H.

        SVGDocument::createElement does not create elements in the SVG namespace
        http://bugs.webkit.org/show_bug.cgi?id=10932
        
        Test: svg/custom/createelement.svg

        * ksvg2/svg/SVGDocument.cpp:
        (WebCore::SVGDocument::createElement):
        * ksvg2/svg/SVGDocument.h:

2006-09-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Tim H.
        
        RenderPath::nodeAtPoint does not respect stroke width
        http://bugs.webkit.org/show_bug.cgi?id=10829

        Test: svg/custom/stroke-width-click.svg

        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::RenderPath::strokeContains):
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:

2006-09-26  Eric Seidel  <eric@webkit.org>

        Reviewed by mitz.

        Bring animation back to life
        http://bugs.webkit.org/show_bug.cgi?id=11021
        
        Register/unregister SVGSVGElements as time containers on insertion/removal.
        Replace uses of DeprecatedString with String in SVGAnimationElement
        Various whitespace clean-up.

        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (WebCore::SVGTimer::notifyAll):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::startAnimations):
        (WebCore::SVGDocumentExtensions::pauseAnimations):
        (WebCore::SVGDocumentExtensions::unpauseAnimations):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::SVGAnimationElement):
        (WebCore::SVGAnimationElement::parseMappedAttribute):
        (WebCore::SVGAnimationElement::parseClockValue):
        (WebCore::SVGAnimationElement::targetAttribute):
        (WebCore::SVGAnimationElement::setTargetAttribute):
        (WebCore::SVGAnimationElement::attributeName):
        * ksvg2/svg/SVGAnimationElement.h:
        (WebCore::SVGAnimationElement::rendererIsNeeded):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getScreenCTM):
        (WebCore::SVGSVGElement::createRenderer):
        (WebCore::SVGSVGElement::insertedIntoDocument): added, calls addTimeContainer(this)
        (WebCore::SVGSVGElement::removedFromDocument): added, calls removeTimeContainer(this)
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::handleTimerEvent):
        * ksvg2/svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::getTarget):
        * ksvg2/svg/SVGURIReference.h:

2006-09-26  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by mitzpettel.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11020
        No-SVG build broken since r16549
        
        Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * platform/qt/GraphicsContextQt.cpp:

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10820
        Add StringImpl::toDouble() and remove uses of .deprecatedString().toDouble()
        
        (Originally written by Eric Seidel).
        
        * bindings/js/kjs_window.cpp:
        (KJS::floatFeature):
        * ksvg2/svg/SVGAngle.cpp:
        (SVGAngle::setValueAsString):
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::parseMappedAttribute):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::parseMappedAttribute):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (WebCore::SVGFECompositeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::parseMappedAttribute):
        * ksvg2/svg/SVGFELightElement.cpp:
        (SVGFELightElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (WebCore::SVGFEOffsetElement::parseMappedAttribute):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::parseMappedAttribute):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (WebCore::SVGFETurbulenceElement::parseMappedAttribute):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::parseMappedAttribute):
        * platform/AtomicString.h:
        (WebCore::AtomicString::toDouble):
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::toDouble):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::toDouble):
        * platform/StringImpl.h:
        * rendering/DeprecatedSlider.cpp:
        (WebCore::DeprecatedSlider::updateFromElement):
        * xml/XPathGrammar.y:

2006-09-25  David Harrison  <harrison@apple.com>

        Reviewed by Tim Omernick and Tim Hatcher.

        <rdar://problem/4717965> Text Field text parameterized attributes should work
        <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute.
        
        (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
        Cleaned up. Added text field and text area parameterzed attributes.
        
        (-[WebCoreAXObject doAXLineForTextMarker:]):
        Fixed to be zero-based and to deal with the first position properly.
        
        (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
        Minor formatting.
        
        (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]):
        (-[WebCoreAXObject indexForTextMarker:]):
        (-[WebCoreAXObject textMarkerRangeForRange:]):
        (-[WebCoreAXObject rangeForTextMarkerRange:]):
        New utility methods.
        
        (-[WebCoreAXObject doAXLineForIndex:]):
        (-[WebCoreAXObject doAXRangeForLine:]):
        (-[WebCoreAXObject doAXStringForRange:]):
        (-[WebCoreAXObject doAXRangeForPosition:]):
        (-[WebCoreAXObject doAXRangeForIndex:]):
        (-[WebCoreAXObject doAXBoundsForRange:]):
        (-[WebCoreAXObject doAXAttributedStringForRange:]):
        (-[WebCoreAXObject doAXRTFForRange:]):
        (-[WebCoreAXObject doAXStyleRangeForIndex:]):
        Implement text field and text area parameterized attributes.
         
        (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
        Added text field and text area parameterzed attributes.

        * rendering/RenderTextControl.h:
        Made indexForVisiblePosition() and visiblePositionForIndex() public.

2006-09-25  Adam Roben  <aroben@apple.com>

        Reviewed by Brady.

        Build fixes.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix malformed XML.
        * platform/ResourceLoader.h: Store whether a particular job
        has received a response within the ResourceLoader object itself, since
        it's possible that we will enter the InternetReadFileExA while loop
        twice for the same job.
        * platform/ResourceLoaderInternal.h: Add private instance variable to
        store whether we've received a response.
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/win/GraphicsContextWin.cpp: Fix order of preprocessor
        directives.
        * platform/win/ResourceLoaderWin.cpp: 
        (WebCore::ResourceLoader::onRequestComplete): Ask the ResourceLoader
        whether it has received a response instead of assuming it hasn't.
        (WebCore::ResourceLoader::setHasReceivedResponse): Added.
        (WebCore::ResourceLoader::hasReceivedResponse): Added.
        * platform/win/TemporaryLinkStubs.cpp: Rename setKnobProportion to
        setProportion
        (ScrollBar::setProportion):

2006-09-25  Brady Eidson  <beidson@apple.com>

        Requested by ggaren

        Disabled IconDatabase logging by default

        * platform/Logging.cpp:
        (WebCore::):

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

        Build fix

        * platform/cf/ResourceLoaderCFNet.cpp:
        (WebCore::willCacheResponse):

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

        Reviewed by john
        
        <http://bugs.webkit.org/show_bug.cgi?id=11002>
        Gmail Editor: Crash at WebCore::SplitElementCommand::doApply() when attempting to indent in a new message
        
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion): Special case
        an empty root editable element.

2006-09-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Steve

        Math error in SystemTimeWin

        * platform/win/SystemTimeWin.cpp:
        (WebCore::currentTime):

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

        Reviewed by Eric.

        Whitespace cleanup; rename *job variables to *loader.

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
        (KJS::JSXMLHttpRequestConstructorImp::implementsConstruct):
        (KJS::JSXMLHttpRequestConstructorImp::construct):
        (KJS::JSXMLHttpRequest::getOwnPropertySlot):
        (KJS::JSXMLHttpRequest::getValueProperty):
        (KJS::JSXMLHttpRequest::put):
        (KJS::JSXMLHttpRequest::putValueProperty):
        (KJS::JSXMLHttpRequest::mark):
        (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
        (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
        * bindings/js/JSXMLHttpRequest.h:
        (KJS::JSXMLHttpRequest::toBoolean):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::receivedAllData):
        (WebCore::XMLHttpRequest::receivedData):
        * xml/xmlhttprequest.h:
        (WebCore::):

2006-09-25  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady.

        - Deprecate the rest of the old-style methods that are not generated.
        - Add @property syntax to DOMRange.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMRange setStart:offset:]):
        (-[DOMRange setEnd:offset:]):
        (-[DOMRange compareBoundaryPoints:sourceRange:]):
        (-[DOMRange setStart::]):
        (-[DOMRange setEnd::]):
        (-[DOMRange compareBoundaryPoints::]):
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):
        (-[DOMDocument createNodeIterator::::]):
        (-[DOMDocument createTreeWalker::::]):
        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCSS.mm:
        (-[DOMDocument getComputedStyle:pseudoElement:]):
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getMatchedCSSRules:pseudoElement:]):
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMRange.h:
        * bindings/objc/DOMTraversal.h:

2006-09-25  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.
        
        Outermost <svg> element should clip to viewport
        http://bugs.webkit.org/show_bug.cgi?id=11007

        Test: svg/custom/viewport-clip.svg

        * css/svg.css: change svg:root overflow: from 'visible' to 'hidden'

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

        Reviewed by Maciej.

        * css/MediaList.cpp:
        Remove unused header.
        
        * dom/Document.cpp:
        (WebCore::Document::clear):
        Use clear instead of iterating through the list of event listeners, removing each one.
        (Doing that causes a crash when running the layout tests with GuardMalloc turned on)
        
        * html/HTMLKeygenElement.cpp:
        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
        (WebCore::HTMLKeygenElement::appendFormData):
        Update due to changes in the SSL key generator.
        
        * ksvg2/svg/SVGAngle.cpp:
        Remove unused header.
        
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::parseMappedAttribute):
        Rename methods and pass Strings instead of DeprecatedStrings to
        parseSeparatedList.
        
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        Remove unused headers.
        
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::parseSeparatedList):
        * ksvg2/svg/SVGHelper.h:
        Rename ParseSeperatedList to parseSeparatedList, make it take a String instead of a 
        DeprecatedString and have it use Vector<String> instead of DeprecatedStringList.
        
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGLengthList.h:
        Use Vector<String> instead of DeprecatedStringList.
        
        * loader/Cache.cpp:
        (WebCore::Cache::requestImage):
        (WebCore::Cache::requestStyleSheet):
        (WebCore::Cache::requestScript):
        (WebCore::Cache::requestXSLStyleSheet):
        (WebCore::Cache::requestXBLDocument):
        (WebCore::Cache::remove):
        (WebCore::Cache::get):
        Use a String as the key in the cache set instead of a RefPtr<StringImpl>.
        
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::needReload):
        * loader/DocLoader.h:
        Use a HashSet instead of DeprecatedStringList.
        
        * page/FrameView.h:
        Remove declarations that have no functions.
        
        * platform/SSLKeyGenerator.h:
        * platform/mac/SSLKeyGeneratorMac.mm:
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        Convert to use Vector<String> instead of DeprecatedStringList, and String instead of
        DeprecatedString.

2006-09-25  Dave Hyatt  <hyatt@apple.com>

        Shunt the RenderTheme world transform adoption between
        Cairo and Windows into getWindowsContext and move the method
        out of GraphicsContextCairo and into GraphicsContextWin.

        * ChangeLog:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/win/GraphicsContextWin.cpp: Added.
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):
        * rendering/RenderThemeWin.cpp:
        (WebCore::prepareForDrawing):

2006-09-24  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        <svg:a> cannot be styled with a:hover
        http://bugs.webkit.org/show_bug.cgi?id=11005
        
        Test: svg/hixie/cascade/002.xml

        * css/cssstyleselector.cpp:
        (WebCore::checkPseudoState):

2006-09-24  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10882
        SVG needs Obj-C DOM bindings

        - Auto-generate the first 8 Objective-C SVG DOM bindings.  The 
          auto-generated classes are DOMSVGAngle, DOMSVGLength, DOMSVGLengthList,
          DOMSVGMatrix, DOMSVGPathSeg, DOMSVGPathSegList, DOMSVGTransform, and 
          DOMSVGTransformList.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMSVG.h: Added.
        * ksvg2/svg/SVGAngle.idl:
        * ksvg2/svg/SVGLength.idl:
        * ksvg2/svg/SVGLengthList.idl:
        * ksvg2/svg/SVGMatrix.idl:
        * ksvg2/svg/SVGPathSeg.idl:
        * ksvg2/svg/SVGPathSegList.idl:
        * ksvg2/svg/SVGTransform.idl:
        * ksvg2/svg/SVGTransformList.idl:

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

        Reviewed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6001
        WebKit does not handle fallback custom cursors
        Fix for http://bugs.webkit.org/show_bug.cgi?id=6002
        WebKit does not properly handle SVG <cursor> element

        Add support for svg cursor images. Also make sure hotspot
        settings are handled correctly. Add tests for handling of css3
        cursor syntax with hotspots in strict and quirks mode. Finally
        implement fallback.

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSCursorImageValue.cpp: Added.
        (WebCore::CSSCursorImageValue::CSSCursorImageValue):
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        * css/CSSCursorImageValue.h: Added.
        (WebCore::CSSCursorImageValue::hotspot):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * ksvg2/svg/SVGCursorElement.cpp:
        * manual-tests/css3-cursor-fallback-quirks.html: Added.
        * manual-tests/css3-cursor-fallback-strict.html: Added.
        * manual-tests/cursorfallback.xml: Added.
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::createCustomCursor):
        (WebCore::Cursor::Cursor):
        * platform/qt/CursorQt.cpp:
        (WebCore::Cursor::Cursor):
        * rendering/RenderStyle.cpp:
        (WebCore::StyleInheritedData::StyleInheritedData):
        (WebCore::StyleInheritedData::operator==):
        (WebCore::RenderStyle::diff):
        (WebCore::RenderStyle::addCursor):
        (WebCore::RenderStyle::addSVGCursor):
        (WebCore::RenderStyle::setCursorList):
        (WebCore::RenderStyle::clearCursorList):
        * rendering/RenderStyle.h:
        (WebCore::CursorData::CursorData):
        (WebCore::CursorList::operator[]):
        (WebCore::CursorList::size):
        (WebCore::CursorList::append):
        (WebCore::RenderStyle::cursors):

2006-09-24  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=11009
        Auto-generate the internal methods interfaces for the Objective-C bindings

        - Auto-generate the internal method declarations into their own files
          named in the form DOMFooBarInternal.h for class DOMFooBar.

        - Remove all use of DOM_cast from code.

        - Assorted cleanups.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMNode _initWithNode:WebCore::]):
        (-[DOMNode WebCore::]):
        (-[DOMRange dealloc]):
        (-[DOMRange finalize]):
        (-[DOMRange _initWithRange:WebCore::]):
        (-[DOMRange WebCore::]):
        (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
        (-[DOMNodeFilter WebCore::]):
        (-[DOMNodeFilter dealloc]):
        (-[DOMNodeFilter finalize]):
        (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
        (-[DOMNodeIterator WebCore::]):
        (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
        (-[DOMTreeWalker WebCore::]):
        * bindings/objc/DOMAbstractView.mm:
        (-[DOMAbstractView _initWithAbstractView:WebCore::]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
        (-[DOMCSSRule _initWithRule:WebCore::]):
        (-[DOMCSSValue _initWithValue:WebCore::]):
        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent _initWithEvent:WebCore::]):
        * bindings/objc/DOMHTMLAppletElement.mm:
        (-[DOMHTMLAppletElement align]):
        (-[DOMHTMLAppletElement setAlign:]):
        (-[DOMHTMLAppletElement alt]):
        (-[DOMHTMLAppletElement setAlt:]):
        (-[DOMHTMLAppletElement archive]):
        (-[DOMHTMLAppletElement setArchive:]):
        (-[DOMHTMLAppletElement code]):
        (-[DOMHTMLAppletElement setCode:]):
        (-[DOMHTMLAppletElement codeBase]):
        (-[DOMHTMLAppletElement setCodeBase:]):
        (-[DOMHTMLAppletElement height]):
        (-[DOMHTMLAppletElement setHeight:]):
        (-[DOMHTMLAppletElement hspace]):
        (-[DOMHTMLAppletElement setHspace:]):
        (-[DOMHTMLAppletElement name]):
        (-[DOMHTMLAppletElement setName:]):
        (-[DOMHTMLAppletElement object]):
        (-[DOMHTMLAppletElement setObject:]):
        (-[DOMHTMLAppletElement vspace]):
        (-[DOMHTMLAppletElement setVspace:]):
        (-[DOMHTMLAppletElement width]):
        (-[DOMHTMLAppletElement setWidth:]):
        * bindings/objc/DOMInternal.h:
        (getDOMWrapper):
        (addDOMWrapper):
        (raiseOnDOMError):
        * bindings/objc/DOMXPath.mm:
        (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Fix Qt/Linux build after Dave's Scrollbar changes.

        * platform/qt/PlatformScrollBar.h: (Somehow this contained the file twice! Removed one instance!)
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::ScrollBar::setProportion):
        (WebCore::PlatformScrollBar::updateThumbPosition):
        (WebCore::PlatformScrollBar::updateThumbProportion):

2006-09-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Qt/Linux build system changes: enable xpath/xslt by default.
        Offer possibility to change all of these using 'ccmake'.

        * CMakeLists.txt:

2006-09-24  Dave Hyatt  <hyatt@apple.com>

        Cleanup of Scrollbar APIs.  Rename setKnobProportion to setProportion.  Rename setScrollbarValue to updateThumbPosition.
        Give setProportion a base class implementation and implement it using the same pattern as setValue/updateThumbPosition (so that
        the base calls a protected virtual function, updateThumbProportion, implemented by the derived class to update the actual scrollbar itself).

        * platform/ScrollBar.cpp:
        (WebCore::ScrollBar::setValue):
        (WebCore::ScrollBar::setProportion):
        * platform/ScrollBar.h:
        (WebCore::ScrollBar::value):
        * platform/mac/PlatformScrollBar.h:
        * platform/mac/PlatformScrollBarMac.mm:
        (WebCore::PlatformScrollBar::updateThumbPosition):
        (WebCore::PlatformScrollBar::updateThumbProportion):
        * platform/win/PlatformScrollBar.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (PlatformScrollBar::updateThumbPosition):
        (PlatformScrollBar::updateThumbProportion):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=4872
        XMLHttpRequest fails to throw an exception when there is a security violation
        (mismatching domains)

        Raise an exception if there is a security violation, and also in cases required by
        the current draft of XHR specification.

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::getValueProperty): Raise an exception if a DOM method reports one.
        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Raise an exception if a DOM method
        reports one, and also if there were too few arguments passed. 

        * bindings/js/kjs_binding.cpp:
        (KJS::setDOMException): Added support for custom XHR exceptions.

        * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an
        exception code range for XHR exceptions.

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open): Removed a check for m_aborted that could never succeed.
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::getStatus):
        (WebCore::XMLHttpRequest::getStatusText):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        (WebCore::XMLHttpRequest::receivedAllData):
        (WebCore::XMLHttpRequest::receivedData):

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

        Reviewed by Jeff Jenkins.

        Tweak CF types.

        * platform/cf/ResourceLoaderCFNet.cpp:
        (WebCore::willCacheResponse):

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

        Reviewed by darin

        <http://bugs.webkit.org/show_bug.cgi?id=8029>
        Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf

        * dom/Document.cpp:
        (WebCore::Document::clearSelectionIfNeeded):
        * dom/Element.cpp:
        (WebCore::Element::contains):
        * dom/Node.cpp:
        (WebCore::Node::traverseNextNode):
        (WebCore::Node::traverseNextSibling):
        (WebCore::Node::traversePreviousNodePostOrder):
        (WebCore::Node::checkAddChild):
        (WebCore::Node::isDescendantOf):
        * dom/Node.h:
        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::notifyBeforeNodeRemoval):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::mergeIdenticalElements):
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::updatePositionForNodeRemoval):
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::enclosingListOrBlockquote):
        * editing/Selection.cpp:
        (WebCore::Selection::validate):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved):
        * editing/TextIterator.cpp:
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next):
        (WebCore::VisiblePosition::previous):
        (WebCore::VisiblePosition::canonicalPosition):
        (WebCore::isFirstVisiblePositionInNode):
        (WebCore::isLastVisiblePositionInNode):
        * editing/htmlediting.cpp:
        (WebCore::firstEditablePositionAfterPositionInRoot):
        (WebCore::lastEditablePositionBeforePositionInRoot):
        (WebCore::enclosingNodeWithTag):
        (WebCore::enclosingList):
        (WebCore::enclosingListChild):
        * editing/markup.cpp:
        (WebCore::createMarkup):

2006-09-22  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        - Added @property syntax to non-generated headers
          inside #ifndef BUILDING_ON_TIGER.
        - Changed the DOMEventTarget protocol to have have new versions
          of addEventListener and removeEventListener with named parameters.
          These old style methods can be removed once Mail changes to use
          the new methods <rdar://problem/4746649>.

        * WebCorePrefix.h: define BUILDING_ON_TIGER when Tiger is the target
        * bindings/objc/DOM.mm:
        (-[DOMNode addEventListener:listener:useCapture:]):
        (-[DOMNode addEventListener:::]): call the new method
        (-[DOMNode removeEventListener:listener:useCapture:]):
        (-[DOMNode removeEventListener:::]): call the new method
        * bindings/objc/DOMAbstractView.h:
        * bindings/objc/DOMEventTarget.h:
        * bindings/objc/DOMHTMLAppletElement.h:
        * bindings/objc/DOMHTMLEmbedElement.h:
        * bindings/objc/DOMHTMLOptionElement.h:
        * bindings/objc/DOMObject.h:
        * bindings/objc/DOMRGBColor.h:

2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt.

        * platform/qt/FrameQt.cpp:
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::translate): Make it actually translate, not scale! :-)
        (WebCore::GraphicsContext::origin):
        * platform/qt/PlatformScrollBar.h: Added.
        (WebCore::PlatformScrollBar::isWidget):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::invalidate):
        (WebCore::Widget::invalidateRect):

2006-09-22  Dave Hyatt <hyatt@apple.com>

        Super-minor tweaks to the systemFont function on Mac.
        Set the generic family to None rather than to Serif, and
        don't waste time setting the computed size, since that is
        set from the specified size over in CSSStyleSelector anyway.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::systemFont):

2006-09-22  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady.

        Build fix for Xcode 2.3. Convert GraphicsContext::translate() to
        take floats. There was already an implicit conversion to float/double
        when calling CGContextTranslateCTM or cairo_translate.

        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::translate):
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::translate):

2006-09-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Sfalken

        Add redirect and other cleanup to ResourceLoaderWin.cpp
        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10927
        Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10744

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ResourceLoader.h:
        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoaderWndProc):
        (WebCore::initializeOffScreenResourceLoaderWindow):
        (WebCore::ResourceLoader::onHandleCreated):
        (WebCore::ResourceLoader::onRequestRedirected):
        (WebCore::ResourceLoader::onRequestComplete):
        (WebCore::transferJobStatusCallback):

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

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=10803
        REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing

        * page/FrameView.cpp:
        (WebCore::FrameView::hoverTimerFired): Use the current event.

2006-09-22  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders.

        Fix (last) svg memory leak.

        * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case.
        (SVGTransformable::parseTransformAttribute):

2006-09-22  Eric Seidel  <eric@webkit.org>

        No review necessary, just removing a dead file.

        Remove unused file (added previously by mistake) to make room for real implementation.

        * platform/mac/BitmapImageMac.mm: Removed.

2006-09-22  Dave Hyatt <hyatt@apple.com>

        Move PlatformScrollBar.h down into the platforms.
        
        Reviewed by andersca

        * platform/PlatformScrollBar.h: Removed.
        * platform/win/PlatformScrollBar.h: Added.
        * platform/mac/PlatformScrollBar.h: Added.

2006-09-22   Dave Hyatt  <hyatt@apple.com>

        Add support for invalidation of widgets.  This will be needed for the Win32 widget subsystem (and for
        any widget subsystems that don't have any underlying native objects backing the widgets.

        Reviewed by anders

        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::invalidate):
        (WebCore::Widget::invalidateRect):
        * platform/win/TemporaryLinkStubs.cpp:
        (Widget::invalidate):
        (Widget::invalidateRect):

2006-09-22  Rob Buis  <buis@kd.org>

        Reviewed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=10901
        Merge build fixes from unity

        * CMakeLists.txt:

2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=10977
        SVGDocument does not expose 'rootElement' property

        Enable 'rootElement' property.

        * ksvg2/svg/SVGDocument.idl:

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

        Tweak includes.

        * platform/ResourceLoaderInternal.h:

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

        build fixed. band happy.
        
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::translate):
        * platform/mac/WidgetMac.mm:

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

        Reviewed by Maciej.
        
        Some Widget refactoring.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/mac/FrameMac.mm:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::runJavaScriptAlert):
        (WebCore::FrameWin::runJavaScriptConfirm):
        * bridge/win/PageWin.cpp:
        (WebCore::Page::Page):
        (WebCore::rootWindowForFrame):
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::translate):
        * page/FrameView.cpp:
        (WebCore::FrameView::isFrameView):
        * page/Page.h:
        (WebCore::Page::setInstanceHandle):
        (WebCore::Page::instanceHandle):
        * platform/GraphicsContext.h:
        * platform/ScrollView.h:
        * platform/Widget.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::origin):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::clearFocus):
        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::initializeOffScreenResourceLoaderWindow):
        * platform/win/ScreenWin.cpp:
        (WebCore::monitorInfo):
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleContentRect):
        (WebCore::ScrollView::viewportToContents):
        (WebCore::ScrollView::contentsToViewport):
        (WebCore::ScrollView::scrollBy):
        (WebCore::ScrollView::updateScrollInfo):
        (WebCore::ScrollView::updateScrollBars):
        * platform/win/SharedTimerWin.cpp:
        (WebCore::initializeOffScreenTimerWindow):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameView::updateBorder):
        (ScrollView::paint):
        (GraphicsContext::clip):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::parentWindow):
        (WebCore::Widget::setParentWindow):
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::hasFocus):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::setFrameGeometry):

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

        Reviewed by Tim H.

        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::backslashAsCurrencySymbol):
        Add comment clarifying why backslashAsCurrencySymbol is needed.

2006-09-21  Sean Gies  <seangies@apple.com>

        Reviewed by Adam Roben.

        Add utility functions to get and release HDC from GraphicsContext.

        * platform/GraphicsContext.h: Add utilities to get and release HDC.
        * platform/cairo/GraphicsContextCairo.cpp: Implement new utilities.
        * rendering/RenderThemeWin.cpp: Switch to new utilities.

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

        Reviewed by anders
        
        <rdar://problem/4426622>
        Plain text paste slow.  Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...)

        * editing/htmlediting.cpp:
        (WebCore::rebalanceWhitespaceInTextNode): We no longer need to use a RegExp replace because we
        aren't producing complicated sequences here.  Use multiple UChar -> UChar replaces instead for speed.
        Got rid of uses of DepricatedString.

2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Don't crash if no IconDatabase is available (ie. on Qt/Gdk)

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading):

2006-09-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Fix Qt/Linux build.

        * CMakeLists.txt:
        * kcanvas/device/qt/KCanvasClipperQt.h:
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::isLoadTypeReload):
        (WebCore::FrameQt::originalRequestURL):
        * platform/qt/FrameQt.h:
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::concatCTM):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::wheelEvent):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::IconDatabase::setIconURLForPageURL):

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

        Reviewed by john
        
        <http://bugs.webkit.org/show_bug.cgi?id=7165>
        TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe

        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::MoveSelectionCommand): Set the document
        to the position-to-move-to's document, not the fragment's document.  The 
        fragment's document is the document used to create the fragment and is irrelavant.

=== Safari-521.27 ===

2006-09-21  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        When your assumption is "IconDatabase::sharedIconDatabase()" will never fail but it does, you're in trouble
        This fixes Spinneret so it won't crash on its first load!

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading):

2006-09-21  Brady Eidson  <beidson@apple.com>

        Build fix

        * platform/win/TemporaryLinkStubs.cpp:
        (ScrollView::wheelEvent):

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

        Reviewed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=10946
        new marker code draws end-marker in wrong place

        Keep track of the start of the subpath so we can handle
        closeTo/moveTo correctly.

        * kcanvas/RenderPath.cpp:
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::updateMarkerDataForElement):

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

        Wheel scrolling prep for Win32.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/PlatformWheelEvent.h:
        * platform/ScrollBar.h:
        * platform/ScrollView.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::wheelEvent):
        * rendering/RenderLayer.cpp:

2006-09-20  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        Bug 10917: REGRESSION (r16027): iFrame transparency broken
        http://bugs.webkit.org/show_bug.cgi?id=10917

        Don't paint the base background color if we transparent.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):

2006-09-20  Adam Roben  <aroben@apple.com>

        Reviewed by andersca.

        * platform/FileChooser.h: Remove no-longer-necessary namespace std

2006-09-20  Eric Seidel  <eric@webkit.org>

        Reviewed by beth.

        Cleanup style in KCanvas.
        Remove extra white-space, unneeded arguments, etc.

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasClipper.cpp:
        (WebCore::operator<<):
        (WebCore::KCanvasClipper::externalRepresentation):
        * kcanvas/KCanvasClipper.h:
        * kcanvas/KCanvasFilters.cpp:
        (WebCore::KCanvasFilter::externalRepresentation):
        (WebCore::operator<<):
        (WebCore::KCanvasFilterEffect::externalRepresentation):
        (WebCore::KCPointLightSource::externalRepresentation):
        (WebCore::KCSpotLightSource::externalRepresentation):
        (WebCore::KCDistantLightSource::externalRepresentation):
        (WebCore::KCanvasFEBlend::externalRepresentation):
        (WebCore::KCanvasFEColorMatrix::externalRepresentation):
        (WebCore::KCanvasFEComponentTransfer::externalRepresentation):
        (WebCore::KCanvasFEComposite::externalRepresentation):
        (WebCore::KCanvasFEConvolveMatrix::externalRepresentation):
        (WebCore::KCanvasFEDiffuseLighting::externalRepresentation):
        (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
        (WebCore::KCanvasFEFlood::externalRepresentation):
        (WebCore::KCanvasFEGaussianBlur::externalRepresentation):
        (WebCore::KCanvasFEImage::externalRepresentation):
        (WebCore::KCanvasFEMerge::externalRepresentation):
        (WebCore::KCanvasFEMorphology::externalRepresentation):
        (WebCore::KCanvasFEOffset::externalRepresentation):
        (WebCore::KCanvasFESpecularLighting::externalRepresentation):
        (WebCore::KCanvasFETile::externalRepresentation):
        (WebCore::KCanvasFETurbulence::externalRepresentation):
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCanvasFEDiffuseLighting::lightSource):
        (WebCore::KCanvasFESpecularLighting::lightSource):
        * kcanvas/KCanvasImage.h:
        * kcanvas/KCanvasMarker.cpp:
        (WebCore::KCanvasMarker::externalRepresentation):
        * kcanvas/KCanvasMarker.h:
        * kcanvas/KCanvasResource.cpp:
        (WebCore::operator<<):
        * kcanvas/KCanvasResource.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::operator<<):
        (WebCore::writeIndent):
        (WebCore::writeStyle):
        (WebCore::write):
        (WebCore::writeRenderResources):
        * kcanvas/KCanvasTreeDebug.h:
        (WebCore::operator<<):
        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint):
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        (WebCore::drawStartAndMidMarkers):
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::translateForAttributes):
        * kcanvas/RenderSVGImage.h:
        * kcanvas/device/KRenderingDevice.cpp:
        (WebCore::KRenderingDevice::currentContext):
        (WebCore::KRenderingDevice::popContext):
        (WebCore::KRenderingDevice::pushContext):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingFillPainter.h:
        * kcanvas/device/KRenderingPaintServer.h:
        (WebCore::KRenderingPaintServer::KRenderingPaintServer):
        (WebCore::KRenderingPaintServer::activeClient):
        (WebCore::KRenderingPaintServer::setActiveClient):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (WebCore::operator<<):
        (WebCore::KRenderingPaintServerGradient::externalRepresentation):
        (WebCore::KRenderingPaintServerLinearGradient::externalRepresentation):
        (WebCore::KRenderingPaintServerGradient::listener):
        (WebCore::KRenderingPaintServerGradient::setListener):
        (WebCore::KRenderingPaintServerRadialGradient::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (WebCore::KRenderingPaintServerPattern::tile):
        (WebCore::KRenderingPaintServerPattern::setTile):
        (WebCore::KRenderingPaintServerPattern::listener):
        (WebCore::KRenderingPaintServerPattern::setListener):
        (WebCore::KRenderingPaintServerPattern::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        (WebCore::KRenderingPaintServerSolid::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        (WebCore::KRenderingStrokePainter::strokeMiterLimit):
        (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
        * kcanvas/device/KRenderingStrokePainter.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::prepareFilter):
        * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        (WebCore::KCanvasMaskerQuartz::applyMask):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        (WebCore::KCanvasImageQuartz::init):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasClipperQuartz::applyClip):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceQuartz::quartzContext):
        (WebCore::KRenderingDeviceQuartz::contextForImage):
        (WebCore::KRenderingDeviceQuartz::createPaintServer):
        (WebCore::KRenderingDeviceQuartz::createResource):
        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::CGShadingRefForLinearGradient):
        (WebCore::CGShadingRefForRadialGradient):
        (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerQuartzHelper::strokePath):
        (WebCore::KRenderingPaintServerQuartzHelper::clipToStrokePath):
        (WebCore::KRenderingPaintServerQuartzHelper::fillPath):
        (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
        (WebCore::KRenderingPaintServerSolidQuartz::draw):
        (WebCore::KRenderingPaintServerSolidQuartz::setup):
        (WebCore::KRenderingPaintServerSolidQuartz::renderPath):
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        (WebCore::KRenderingPaintServerPatternQuartz::renderPath):
        (WebCore::KRenderingPaintServerPatternQuartz::teardown):
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::applyStrokeStyleToContext):

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

        Reviewed by Dave Hyatt.

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        Use lroundf instead of lround since deltas are floats.

2006-09-20  Julien Palmas  <julien.palmas@gmail.com>

        Reviewed by eseidel.  Landed by eseidel.

        Test: svg/custom/pattern-y-offset.svg

        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerPatternQuartz::setup):

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

        Add a new wheelEvent method to ScrollView.  Platforms that wish
        to handle the wheel event for the scroll view themselves can then
        do so there.  (Mac lets the underlying NSScrollView do it for now.)

        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::wheelEvent):

2006-09-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Omernick

        Part of fixing a crash Tim O showed me that I missed in a release build.
        WebKit should be able to call through the bridge to WebCore no matter what -
        Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase()

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
        (-[WebCoreIconDatabaseBridge isOpen]):
        (-[WebCoreIconDatabaseBridge removeAllIcons]):
        (-[WebCoreIconDatabaseBridge _isEmpty]):
        (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
        (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
        (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
        (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
        (-[WebCoreIconDatabaseBridge retainIconForURL:]):
        (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
        (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
        (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
        (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
        (-[WebCoreIconDatabaseBridge _setEnabled:]):
        (-[WebCoreIconDatabaseBridge _isEnabled]):

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

        Reviewed by Darin.

        Add String::split which returns a Vector of Strings and use it instead of 
        DeprecatedStringList.
        
        * bindings/js/kjs_events.cpp:
        (KJS::Clipboard::getValueProperty):
        * bindings/js/kjs_window.cpp:
        (KJS::parseModalDialogFeatures):
        * css/MediaList.cpp:
        (WebCore::MediaList::setMediaText):
        * dom/Clipboard.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::formData):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::split):
        * platform/StringImpl.cpp:
        * platform/StringImpl.h:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::types):

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

        Reviewed by harrison

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): Don't call 
        HTMLElement::isContentEditable just to check the Frame's editability, since
        it calls updateRenderering, which can get us into infinite recursion.

2006-09-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin

        Cleaned up my last patch alot, and made the WebCore icon database disabled by default

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase): Disabled by default
        (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed)
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto
        (WebCore::IconDatabase::iconForPageURL): Ditto
        (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto
        (WebCore::IconDatabase::iconURLForPageURL): Ditto
        (WebCore::IconDatabase::retainIconForPageURL): Ditto
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto
        (WebCore::IconDatabase::setIconDataForIconURL): Ditto
        (WebCore::IconDatabase::setIconURLForPageURL): Ditto
        (WebCore::IconDatabase::hasEntryForIconURL): Ditto
        (WebCore::IconDatabase::setEnabled): Fixed a big bug here!

2006-09-20  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10935
        REGRESSION: file upload control with direction:rtl or text-align:right
        draws button on top of filename/icon

        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::setStyle): Force text-align to
        match direction
        (WebCore::RenderFileUploadControl::paintObject): Fix positioning of
        the filename and icon in RTL

2006-09-20  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adam Roben.

        fixed windows build

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        changed lrint to lround

2006-09-20  Sam Weinig  <sam.weinig@gmail.com>

        Build Fix.  Adds isHorizontal attribute back to WheelEvent
        for the Objective-C bindings.  If it is found that isHorizontal
        is not used, we should remove it again but also remove it's
        declaration from PublicDOMInterfaces.h

        * dom/WheelEvent.h:
        (WebCore::WheelEvent::isHorizontal):
        * dom/WheelEvent.idl:

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

        Fix for 10945, WheelEvent should support two dimensions at once, since
        MacBooks allow for diagonal scrolling.  Also enhance the PlatformWheelEvent
        to allow for diagonal scrolling.

        Reviewed by Eric

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchWheelEvent):
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:
        (WebCore::WheelEvent::wheelDelta):
        (WebCore::WheelEvent::wheelDeltaX):
        (WebCore::WheelEvent::wheelDeltaY):
        * dom/WheelEvent.idl:
        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::deltaX):
        (WebCore::PlatformWheelEvent::deltaY):
        (WebCore::PlatformWheelEvent::normalize):
        * platform/mac/WheelEventMac.mm:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2006-09-19  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Split KCanvasResources.* into multiple files (and some other minor spacing changes).
        
        No tests were harmed in the making of this patch.

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasClipper.cpp: Added.
        (WebCore::operator<<):
        * kcanvas/KCanvasClipper.h: Added.
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasImage.h:
        * kcanvas/KCanvasMarker.cpp: Added.
        * kcanvas/KCanvasMarker.h: Added.
        * kcanvas/KCanvasMasker.cpp: Added.
        (WebCore::KCanvasMasker::KCanvasMasker):
        (WebCore::KCanvasMasker::setMask):
        (WebCore::KCanvasMasker::externalRepresentation):
        (WebCore::getMaskerById):
        * kcanvas/KCanvasMasker.h: Added.
        * kcanvas/KCanvasResource.cpp: Added.
        (WebCore::KCanvasResource::invalidate):
        (WebCore::KCanvasResource::externalRepresentation):
        (WebCore::getResourceById):
        (WebCore::getPaintServerById):
        * kcanvas/KCanvasResource.h: Added.
        * kcanvas/KCanvasResources.cpp: Removed.
        * kcanvas/KCanvasResources.h: Removed.
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderSVGContainer.cpp:
        * kcanvas/RenderSVGImage.cpp:
        * kcanvas/RenderSVGText.cpp:
        * kcanvas/device/KRenderingPaintServer.h:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFilterElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.h:

2006-09-19  Brady Eidson <beidson@apple.com>

        Reviewed by Sarge Decker

        <rdar://problem/4739892> and <rdar://problem/4729797>
        - WebCore::IconDatabase needs to have and respect an enabled() flag
        - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge _setEnabled:]): Added
        (-[WebCoreIconDatabaseBridge _isEnabled]): Added
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open): Don't open if disabled
        (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed
        (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed
        (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed
        (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed
        (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed
        (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed
        (WebCore::IconDatabase::releaseIconURL):
        (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed
        (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed
        (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed
        (WebCore::IconDatabase::setEnabled): Added
        * loader/icon/IconDatabase.h:
        (WebCore::IconDatabase::enabled): Added
        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon
        * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include

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

        Massage mouse wheel handling so that it is more cross-platform.  Make
        all the work happen in handleWheelEvent on the FrameView.

        Reviewed by bradee-oh

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::wheelEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::handleWheelEvent):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::platformDelta):
        (WebCore::PlatformWheelEvent::delta):
        * platform/mac/WheelEventMac.mm:
        (WebCore::platformDeltaForEvent):
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scroll):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::scroll):

2006-09-19  Eric Seidel  <eric@webkit.org>

        Reviewed by adele.

        Improve test output for filters with bounding-box relative sizes.
        http://bugs.webkit.org/show_bug.cgi?id=8585

        Many test results updated.

        * kcanvas/KCanvasFilters.cpp:
        (WebCore::KCanvasFilter::externalRepresentation):

2006-09-19  Eric Seidel  <eric@webkit.org>

        Reviewed by adele.
        
        Markers should clip to their viewport.
        http://bugs.webkit.org/show_bug.cgi?id=5967

        Test: svg/custom/marker-overflow-clip.svg

        * kcanvas/KCanvasResources.cpp:
        (WebCore::KCanvasMarker::KCanvasMarker):
        (WebCore::KCanvasMarker::setMarker):
        (WebCore::KCanvasMarker::draw):
        * kcanvas/KCanvasResources.h:
        (WebCore::KCanvasMasker::mask):
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::canvasResource):
        (WebCore::SVGMarkerElement::createRenderer):

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

        Reviewed by eseidel

        Backing out my recent change.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): 

2006-09-19  Brady Eidson  <beidson@apple.com>

        Reviewed by Kevin McCullough

        http://bugs.webkit.org/show_bug.cgi?id=10940
        Opening a PDF in a new tab/window creates a documentless-frame
        and we deref the document without checking its validity

        * page/Frame.cpp:
        (WebCore::Frame::iconURL):

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

        Reviewed by harrison
        
        <rdar://problem/4735272>
        Can not click into link in programmatically editable content

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using
        userModify to implement document wide editability.

2006-09-19  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin and landed by Brady

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10939
        Build broken when SVG is not enabled.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::startElementNs):

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

        Reviewed by harrison
        
        <rdar://problem/4727383> REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces

        Pasting plain text results in a match style paste, and the insertion
        position is whitespace normal, which clobbers the whitespace:pre on 
        tab spans.  Skip changes to the whitespace mode when computing a style
        change for tab spans or the text nodes inside tab spans.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init): Don't change the whitespace mode inside
        tab spans.

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

        Fix for bug 5298, shape=default not supported for image maps.  Implement
        support for it.

        Reviewed by timo

        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::mapMouseEvent):

2006-09-19  Adam Roben  <aroben@apple.com>

        Reviewed by Adele.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10824
        "no file selected" placeholder text missing from file upload control

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderFileUploadControl.cpp: Remove class
        RenderFileUploadInnerFileBox, rename defaultFilenameNumChars to
        defaultWidthNumChars
        (WebCore::RenderFileUploadControl::RenderFileUploadControl): Call
        RenderBlock constructor instead of RenderFlexibleBox, 
        (WebCore::RenderFileUploadControl::setStyle): Remove references to
        m_fileBox.
        (WebCore::RenderFileUploadControl::valueChanged): Call repaint()
        instead of updateIconAndFileName() (which has been removed)
        (WebCore::RenderFileUploadControl::updateFromElement): Remove
        references to m_fileBox, don't call updateIconAndFilename()
        (WebCore::RenderFileUploadControl::maxFilenameWidth): Calculate width
        without using m_fileBox
        (WebCore::RenderFileUploadControl::createButtonStyle): Remove
        now-unnecessary display:box rule.
        (WebCore::RenderFileUploadControl::paintObject): Remove redundant call
        to paintingDisabled() now that Icon::paint() does it, and add code to
        paint the filename directly.
        (WebCore::RenderFileUploadControl::calcMinMaxWidth): Move this method
        out of RenderFileUploadInnerFileBox and into RenderFileUploadControl
        * rendering/RenderFileUploadControl.h: Make RenderFileUploadControl a
        subclass of RenderBlock instead of RenderFlexibleBox, remove
        updateIconAndFilename() method, remove m_fileBox instance variable.

2006-09-19  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        Exceptions thrown from <script> tags in XHTML/SVG docs show the wrong line numbers
        http://bugs.webkit.org/show_bug.cgi?id=10846
        
        No automated test case possible until http://bugs.webkit.org/show_bug.cgi?id=10905 is resolved.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::XMLTokenizer::endElementNs):

2006-09-19  Krzysztof Kowalczyk <kkowalczyk@gmail.com>

        Reviewed by eseidel.  Landed by eseidel.
        
        Build fix only, no tests affected.

        * platform/gdk/FontPlatformDataGdk.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::isLoadTypeReload):
        (FrameGdk::originalRequestURL):
        (IconDatabase::setIconURLForPageURL):

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

        Refine the fix for 9805 to really get all the complex cases right.

        Reviewed by Eric

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::handleBottomOfBlock):

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

        Fix for 9805, <hr> not positioned properly following a previous empty sibling
        that had clear:both set on it.  Update self-collapsing block clearance
        behavior to match what is specified in the latest draft of CSS2.1.

        Reviewed by Eric

        Added fast/block/margin-collapse/empty-clear-blocks.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloatsIfNeeded):
        (WebCore::RenderBlock::handleBottomOfBlock):

2006-09-18  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady, landed by Brady

        Send receivedResponse callback to ResourceLoaderClient when loading
        file URLs.

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

        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoader::fileLoadTimer):

2006-09-18  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        <rdar://problem/3028061> - WebKit never updates favicon
        The WebKit enforced expiration date for icons has worked for some time, but the
        move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
        functionality.  This patch fixes that up, along with some other architectural improvements,
        the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.

        * bridge/mac/FrameMac.h: Added isLoadTypeReload()
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
        * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
        * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
        * dom/Document.h: Added m_iconURL
        (WebCore::Document::iconURL): Added
        (WebCore::Document::setIconURL): Ditto
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
        * page/Frame.cpp:
        (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
        (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
        * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
        * page/FramePrivate.h: Nuked IconURL
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::isLoadTypeReload):

2006-09-18  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as
          it is it turns out that AppKit uses it.

        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMRGBColor.mm:
        (-[DOMRGBColor _color]):

2006-09-18  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
        Yet Another Objective-C Bindings Patch

        - Whitespace cleanup for IDLParser.pm

        - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException
          and DOMAbstractView into their own files.

        - Remove private method [DOMRGBColor _color] from DOMPrivate.h as
          it is not used and a public method is available now.

        - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h
          as it not used.

        - Auto-generate method isContentEditable for DOMNode.

        - General cleanup of bindings code including removing unneeded #imports
          and whitespace cleanup

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (addElementClass):
        (elementClass):
        (-[DOMNode _initWithNode:WebCore::]):
        (+[DOMNode _nodeWith:WebCore::]):
        (-[DOMNode WebCore::]):
        (-[DOMNode KJS::Bindings::]):
        (-[DOMNode addEventListener:::]):
        (-[DOMNode removeEventListener:::]):
        (-[DOMNode dispatchEvent:]):
        (-[DOMElement image]):
        (-[DOMElement _font]):
        (-[DOMElement _imageTIFFRepresentation]):
        (-[DOMElement _getURLAttribute:]):
        (-[DOMElement _NPObject]):
        (-[DOMElement isFocused]):
        (-[DOMRange dealloc]):
        (-[DOMRange finalize]):
        (-[DOMRange description]):
        (-[DOMRange startContainer]):
        (-[DOMRange startOffset]):
        (-[DOMRange endContainer]):
        (-[DOMRange endOffset]):
        (-[DOMRange collapsed]):
        (-[DOMRange commonAncestorContainer]):
        (-[DOMRange setStart::]):
        (-[DOMRange setEnd::]):
        (-[DOMRange setStartBefore:]):
        (-[DOMRange setStartAfter:]):
        (-[DOMRange setEndBefore:]):
        (-[DOMRange setEndAfter:]):
        (-[DOMRange collapse:]):
        (-[DOMRange selectNode:]):
        (-[DOMRange selectNodeContents:]):
        (-[DOMRange compareBoundaryPoints::]):
        (-[DOMRange deleteContents]):
        (-[DOMRange extractContents]):
        (-[DOMRange cloneContents]):
        (-[DOMRange insertNode:]):
        (-[DOMRange surroundContents:]):
        (-[DOMRange cloneRange]):
        (-[DOMRange toString]):
        (-[DOMRange detach]):
        (-[DOMRange _initWithRange:WebCore::]):
        (+[DOMRange _rangeWith:WebCore::]):
        (-[DOMRange WebCore::]):
        (-[DOMNodeFilter _initWithNodeFilter:WebCore::]):
        (+[DOMNodeFilter _nodeFilterWith:WebCore::]):
        (-[DOMNodeFilter WebCore::]):
        (-[DOMNodeFilter dealloc]):
        (-[DOMNodeFilter finalize]):
        (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]):
        (-[DOMNodeIterator WebCore::]):
        (+[DOMNodeIterator _nodeIteratorWith:WebCore::filter:]):
        (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]):
        (-[DOMTreeWalker WebCore::]):
        (+[DOMTreeWalker _treeWalkerWith:WebCore::filter:]):
        (ObjCNodeFilterCondition::acceptNode):
        (-[DOMDocument createNodeIterator::::]):
        (-[DOMDocument createTreeWalker::::]):
        (ObjCEventListener::find):
        (ObjCEventListener::create):
        (ObjCEventListener::handleEvent):
        * bindings/objc/DOMAbstractView.h: Added.
        * bindings/objc/DOMAbstractView.mm: Added.
        (-[DOMAbstractView document]):
        (-[DOMAbstractView WebCore::]):
        (-[DOMAbstractView _initWithAbstractView:WebCore::]):
        (+[DOMAbstractView _abstractViewWith:WebCore::]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMStyleSheet _initWithStyleSheet:WebCore::]):
        (+[DOMStyleSheet _styleSheetWith:WebCore::]):
        (+[DOMCSSStyleSheet _CSSStyleSheetWith:WebCore::]):
        (-[DOMCSSRule _initWithRule:WebCore::]):
        (+[DOMCSSRule _CSSRuleWith:WebCore::]):
        (-[DOMCSSValue _initWithValue:WebCore::]):
        (+[DOMCSSValue _CSSValueWith:WebCore::]):
        (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:WebCore::]):
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getMatchedCSSRules::]):
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEventException.h: Added.
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMException.h: Added.
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
        (viewForElement):
        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
        (-[DOMHTMLInputElement _selectedRange]):
        (-[DOMHTMLInputElement _setAutofilled:]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMObject.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMRange.h:
        * bindings/objc/DOMRangeException.h: Added.
        * bindings/objc/DOMViews.h:
        * bindings/objc/DOMViews.mm: Removed.
        * bindings/objc/DOMXPath.h:
        * bindings/objc/DOMXPathException.h: Added.
        * bindings/scripts/IDLParser.pm:
        * dom/Node.idl:

2006-09-18  Brady Eidson  <beidson@apple.com>

        Windows build fix

        * platform/win/TemporaryLinkStubs.cpp:
        (IconDatabase::setIconURLForPageURL):

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

        Fix for bug 3969, hr width doesn't update when it clears a float.  This
        was also a problem with tables and overflow sections.

        Reviewed by Eric

        Added fast/block/float/width-update-after-clear.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::collapseMargins):
        (WebCore::RenderBlock::clearFloatsIfNeeded):

2006-09-18  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        http://bugs.webkit.org/show_bug.cgi?id=10907
        REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly

        * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual
        * bridge/win/FrameWin.h: Added originalRequestURL()
        * loader/icon/IconLoader.cpp:
        (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase()
        * page/Frame.cpp:
        (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url.
        (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load
        (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL
        * page/Frame.h: Added pure virtual originalRequestURL()
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::originalRequestURL): Added

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10807
        REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg

        Make sure the paint method is not exited without popping
        context and transparency layer.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):

2006-09-18  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Eric.
        
        - fix for http://bugs.webkit.org/show_bug.cgi?id=10896
        REGRESSION: WebKit can't be built with SVG disabled
        
        * bindings/scripts/CodeGeneratorObjC.pm:
        For each file generated add a #ifdef <something>_SUPPORT / #endif
        pair if the idl file has a Conditional extended attribute

2006-09-17  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.
        
        REGRESSION (r16245): double-clicking on javascript exceptions fails to show source
        http://bugs.webkit.org/show_bug.cgi?id=10813

        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge stringWithData:textEncodingName:]):

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

        Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=10779
        REGRESSION: Animated GIF ignores frame intervals and loops infinitely

        No test possible.

        * platform/Image.cpp:
        (WebCore::Image::shouldAnimate): Don't check that there is more than one frame,
        maybe the rest just hasn't been loaded yet.
        (WebCore::Image::startAnimation): Move the frame count check here - there is no need
        to start animating before we get at least two frames.

2006-09-17  Brady Eidson <beidson@apple.com>

        Reviewed by Sarge

        IconLoader now gracefully handles the condition where there's no document in the frame
        (ie. PDFs)

        * loader/icon/IconLoader.cpp:
        (IconLoader::startLoading):

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

        Fix for bug 10899, rework how CSS keywords work to be smarter about
        using the correct size when generic families change (e.g., monospace to
        serif and vice versa).

        Reviewed by aroben

        Added fast/text/basic/generic-family-changes.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
        (WebCore::CSSStyleSelector::fontSizeForKeyword):
        * css/cssstyleselector.h:
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * platform/FontDescription.h:
        (WebCore::FontDescription::FontDescription):
        (WebCore::FontDescription::keywordSize):
        (WebCore::FontDescription::setKeywordSize):
        (WebCore::FontDescription::operator==):

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

        Reviewed by Brady.

        http://bugs.webkit.org/show_bug.cgi?id=10852
        REGRESSION: Reproducible crash in XMLHttpRequest::abort()

        Test: http/tests/xmlhttprequest/xhr-onunload.html

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start().

        * loader/icon/IconLoader.cpp:
        (IconLoader::startLoading): Fix a similar latent bug here.

2006-09-17  Adam Roben  <aroben@apple.com>

        Build fix.

        * loader/icon/IconDatabase.cpp:

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

        Reviewed by Brady.

        Add simplifyWhiteSpace and stripWhiteSpace to the String class. 
        Change the XSLT Parameter Map to use Strings instead of StringImpls.
        General cleanup.

        * bindings/js/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * bindings/js/kjs_window.cpp:
        (KJS::ScheduledAction::execute):
        * css/MediaList.cpp:
        (WebCore::MediaList::setMediaText):
        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::StyleChange::init):
        * html/HTMLDocument.cpp:
        (WebCore::parseDocTypeDeclaration):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::attach):
        (WebCore::HTMLObjectElement::setComplete):
        (WebCore::HTMLObjectElement::detach):
        (WebCore::HTMLObjectElement::recalcStyle):
        (WebCore::HTMLObjectElement::childrenChanged):
        (WebCore::HTMLObjectElement::isImageType):
        * html/HTMLObjectElement.h:
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::value):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::appendFormData):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):
        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::setRGBColor):
        * ksvg2/svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::description):
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::stripWhiteSpace):
        (WebCore::String::simplifyWhiteSpace):
        * platform/StringImpl.cpp:
        (WebCore::isSpace):
        (WebCore::parseLength):
        (WebCore::StringImpl::stripWhiteSpace):
        (WebCore::StringImpl::simplifyWhiteSpace):
        (WebCore::StringImpl::toInt):
        * platform/StringImpl.h:
        * platform/mac/ClipboardMac.mm:
        (WebCore::cocoaTypeFromMIMEType):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::FunNormalizeSpace::doEvaluate):
        * xml/XPathGrammar.y:
        * xml/XPathStep.cpp:
        (WebCore::XPath::Step::nodeTestMatches):
        * xml/XSLStyleSheet.cpp:
        (WebCore::XSLStyleSheet::loadChildSheets):
        (WebCore::XSLStyleSheet::locateStylesheetSubResource):
        * xml/XSLTProcessor.cpp:
        (WebCore::xsltParamArrayFromParameterMap):
        (WebCore::XSLTProcessor::setParameter):
        (WebCore::XSLTProcessor::getParameter):
        (WebCore::XSLTProcessor::removeParameter):
        * xml/XSLTProcessor.h:
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::getStatusText):

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

        Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats
        are declared right before the fieldsets.  It turns out fieldsets in other
        browsers avoid floats (like overflow:auto/hidden/scroll sections do), so
        adding that behavior to fieldset fixes the bug.

        Made avoidsFloats virtual and did some refactoring to make tables, flexboxes
        and fieldsets all subclass.

        Reviewed by anders

        Added fast/forms/float-before-fieldset.html

        * rendering/RenderFieldset.h:
        (WebCore::RenderFieldset::avoidsFloats):
        * rendering/RenderFlexibleBox.h:
        (WebCore::RenderFlexibleBox::avoidsFloats):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::avoidsFloats):
        * rendering/RenderObject.h:
        * rendering/RenderTable.h:
        (WebCore::RenderTable::avoidsFloats):

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

        Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and
        "rules" attributes on tables.

        Reviewed by bradee-oh

        Well-covered by existing layout tests.

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::additionalAttributeStyleDecl):
        * html/HTMLTableColElement.h:
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::HTMLTableElement):
        (WebCore::HTMLTableElement::~HTMLTableElement):
        (WebCore::HTMLTableElement::setCaption):
        (WebCore::HTMLTableElement::setTHead):
        (WebCore::HTMLTableElement::setTFoot):
        (WebCore::HTMLTableElement::setTBody):
        (WebCore::HTMLTableElement::createTHead):
        (WebCore::HTMLTableElement::deleteTHead):
        (WebCore::HTMLTableElement::createTFoot):
        (WebCore::HTMLTableElement::deleteTFoot):
        (WebCore::HTMLTableElement::createCaption):
        (WebCore::HTMLTableElement::deleteCaption):
        (WebCore::HTMLTableElement::insertRow):
        (WebCore::HTMLTableElement::deleteRow):
        (WebCore::HTMLTableElement::addChild):
        (WebCore::HTMLTableElement::childrenChanged):
        (WebCore::HTMLTableElement::mapToEntry):
        (WebCore::HTMLTableElement::parseMappedAttribute):
        (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
        (WebCore::HTMLTableElement::getSharedCellDecl):
        (WebCore::HTMLTableElement::getSharedGroupDecl):
        (WebCore::HTMLTableElement::attach):
        * html/HTMLTableElement.h:
        (WebCore::HTMLTableElement::caption):
        (WebCore::HTMLTableElement::tHead):
        (WebCore::HTMLTableElement::tFoot):
        (WebCore::HTMLTableElement::):
        * html/HTMLTableRowElement.h:
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl):
        * html/HTMLTableSectionElement.h:

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

        Fix for bugzilla bug 4192, font size wrong for <tt> elements that
        specify their own new font-family list.  Make sure to always
        reset the generic family along with the family list when mapping in
        new font-family values.

        Reviewed by bradee-oh

        fast/text/basic/generic-family-reset.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

2006-09-16  Brady Eidson <beidson@apple.com>

        Reviewed by Hyatt

        Pruning code relating to WebKit's icon loader

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        * loader/icon/IconDatabase.h:
        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
        its new home

2006-09-16  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10885
        Auto-generate DOMHTMLDocument for the Objective-C bindings

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLDocument createDocumentFragmentWithText:]):
        * bindings/objc/DOMHTMLDocument.h: Removed.
        * bindings/objc/DOMHTMLDocument.mm: Removed.
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * html/HTMLDocument.idl:
        * platform/DeprecatedString.h:
        (WebCore::DeprecatedString::operator NSString*):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10866
        Code in kcanvas/ should not use Private

        Remove Private classes and tweak coding style.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::RenderPath):
        (WebCore::RenderPath::~RenderPath):
        (WebCore::RenderPath::localTransform):
        (WebCore::RenderPath::setLocalTransform):
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::relativeBBox):
        (WebCore::RenderPath::setPath):
        (WebCore::RenderPath::path):
        (WebCore::RenderPath::layout):
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::~RenderSVGContainer):
        (WebCore::RenderSVGContainer::drawsContents):
        (WebCore::RenderSVGContainer::setDrawsContents):
        (WebCore::RenderSVGContainer::localTransform):
        (WebCore::RenderSVGContainer::setLocalTransform):
        (WebCore::RenderSVGContainer::layout):
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::setViewport):
        (WebCore::RenderSVGContainer::viewport):
        (WebCore::RenderSVGContainer::setViewBox):
        (WebCore::RenderSVGContainer::viewBox):
        (WebCore::RenderSVGContainer::setAlign):
        (WebCore::RenderSVGContainer::align):
        (WebCore::RenderSVGContainer::fillContains):
        (WebCore::RenderSVGContainer::strokeContains):
        (WebCore::RenderSVGContainer::setSlice):
        (WebCore::RenderSVGContainer::slice):
        * kcanvas/RenderSVGContainer.h:
        * kcanvas/device/KRenderingFillPainter.cpp:
        (WebCore::KRenderingFillPainter::KRenderingFillPainter):
        (WebCore::KRenderingFillPainter::~KRenderingFillPainter):
        (WebCore::KRenderingFillPainter::fillRule):
        (WebCore::KRenderingFillPainter::setFillRule):
        (WebCore::KRenderingFillPainter::opacity):
        (WebCore::KRenderingFillPainter::setOpacity):
        * kcanvas/device/KRenderingFillPainter.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient):
        (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient):
        (WebCore::KRenderingPaintServerGradient::gradientStops):
        (WebCore::KRenderingPaintServerGradient::setGradientStops):
        (WebCore::KRenderingPaintServerGradient::spreadMethod):
        (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod):
        (WebCore::KRenderingPaintServerGradient::boundingBoxMode):
        (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode):
        (WebCore::KRenderingPaintServerGradient::gradientTransform):
        (WebCore::KRenderingPaintServerGradient::setGradientTransform):
        (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient):
        (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient):
        (WebCore::KRenderingPaintServerLinearGradient::gradientStart):
        (WebCore::KRenderingPaintServerLinearGradient::setGradientStart):
        (WebCore::KRenderingPaintServerLinearGradient::gradientEnd):
        (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd):
        (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient):
        (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient):
        (WebCore::KRenderingPaintServerRadialGradient::gradientCenter):
        (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter):
        (WebCore::KRenderingPaintServerRadialGradient::gradientFocal):
        (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal):
        (WebCore::KRenderingPaintServerRadialGradient::gradientRadius):
        (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius):
        (WebCore::KRenderingPaintServerGradient::listener):
        (WebCore::KRenderingPaintServerGradient::setListener):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
        (WebCore::KRenderingPaintServerPattern::setBbox):
        (WebCore::KRenderingPaintServerPattern::bbox):
        (WebCore::KRenderingPaintServerPattern::boundingBoxMode):
        (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode):
        (WebCore::KRenderingPaintServerPattern::tile):
        (WebCore::KRenderingPaintServerPattern::setTile):
        (WebCore::KRenderingPaintServerPattern::patternTransform):
        (WebCore::KRenderingPaintServerPattern::setPatternTransform):
        (WebCore::KRenderingPaintServerPattern::listener):
        (WebCore::KRenderingPaintServerPattern::setListener):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid):
        (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid):
        (WebCore::KRenderingPaintServerSolid::color):
        (WebCore::KRenderingPaintServerSolid::setColor):
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        (WebCore::KRenderingStrokePainter::KRenderingStrokePainter):
        (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter):
        (WebCore::KRenderingStrokePainter::strokeWidth):
        (WebCore::KRenderingStrokePainter::setStrokeWidth):
        (WebCore::KRenderingStrokePainter::strokeMiterLimit):
        (WebCore::KRenderingStrokePainter::setStrokeMiterLimit):
        (WebCore::KRenderingStrokePainter::strokeCapStyle):
        (WebCore::KRenderingStrokePainter::setStrokeCapStyle):
        (WebCore::KRenderingStrokePainter::strokeJoinStyle):
        (WebCore::KRenderingStrokePainter::setStrokeJoinStyle):
        (WebCore::KRenderingStrokePainter::dashOffset):
        (WebCore::KRenderingStrokePainter::setDashOffset):
        (WebCore::KRenderingStrokePainter::dashArray):
        (WebCore::KRenderingStrokePainter::setDashArray):
        (WebCore::KRenderingStrokePainter::opacity):
        (WebCore::KRenderingStrokePainter::setOpacity):
        (WebCore::KRenderingStrokePainter::dirty):
        (WebCore::KRenderingStrokePainter::setDirty):
        * kcanvas/device/KRenderingStrokePainter.h:

2006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Anders.

        http://bugs.webkit.org/show_bug.cgi?id=10887
        Fix build error

        * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h.

2006-09-16  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Anders.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=10886
        REGRESSION (r16387): Reproducible crash when mousing over HTML document

        - Special case method [DOMNode ownerDocument] to call document() instead
          or ownerDocument() to return to the old behavior. 

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-09-15  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher

        <rdar://problem/4730811> - New IconDatabase needs to attempt to create its path.
        Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created

        * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME
        (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities"
        (WebCore::IconDatabase::open): Make sure the directory exists

2006-09-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady.

        Make new style ObjC methods public API.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/PublicDOMInterfaces.h:

2006-09-15  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
        Auto-generate DOMNode for the Objective-C bindings

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMNode boundingBox]):
        (-[DOMNode lineBoxRects]):
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMNode.h: Removed.
        * bindings/objc/DOMNode.mm: Removed.
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/Node.idl:

2006-09-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Justin.

        Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
        (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
        (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
        (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
        (-[WebCoreFrameBridge insertLineBreak]):
        (-[WebCoreFrameBridge insertParagraphSeparator]):
        (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
        (-[WebCoreFrameBridge insertText:selectInsertedText:]):
        (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
        (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
        (createMouseEventFromDraggingInfo):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::moveTo):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::setBase):
        (WebCore::SelectionController::setExtent):
        * editing/SelectionController.h:
        * page/Frame.cpp:
        (WebCore::Frame::revealSelection):
        (WebCore::Frame::revealCaret):
        * page/Frame.h:

2006-09-15  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        Added the ability to get a mutable char* from a CString, which will copy the internal
        buffer if the ref count is greater than 1 so your mutable char* won't affect any other
        referrer of that buffer.

        * platform/CString.cpp:
        (WebCore::CString::mutableData):
        (WebCore::CString::copyBufferIfNeeded):
        * platform/CString.h:

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

        Reviewed by harrison
        
        <rdar://problem/4674869>
        REGRESSION: selecting text to write over results in cursor jumping to middle of next line

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify): Added lineBoundary to test fix.
        * editing/visible_units.cpp:
        (WebCore::endOfLine): If the last box on the line is a lineBreak, return the
        position before it, not after it.

2006-09-15  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=10864
        Bug 10864: Linux\GDK build fixes

        * Projects/gdk/webcore-gdk.bkl:
        * WebCoreSources.bkl:
        * platform/gdk/FontCacheGdk.cpp:
        * platform/gdk/FontDataGdk.cpp:
        (WebCore::FontData::platformInit):
        * platform/gdk/FontGdk.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/ImageGdk.cpp: Added.
        (WebCore::Image::initPlatformData):
        (WebCore::Image::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::supportsType):
        * platform/gdk/RenderPopupMenuGdk.cpp:
        (WebCore::RenderPopupMenuGdk::hidePopup):
        * platform/gdk/RenderPopupMenuGdk.h:
        * platform/gdk/ScreenGdk.cpp:
        (WebCore::drawableForPage):
        (WebCore::screenRect):
        (WebCore::screenDepth):
        (WebCore::usableScreenRect):
        (WebCore::scaleFactor):
        * platform/gdk/SystemTimeLinux.cpp:
        (WebCore::currentTime):
        * platform/gdk/TemporaryLinkStubs.cpp:
        (FrameGdk::bindingRootObject):
        (FrameGdk::markMisspellings):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (FrameGdk::shouldChangeSelection):
        (FrameGdk::respondToChangedSelection):
        (FrameGdk::respondToChangedContents):
        (Path::contains):
        (PlatformScrollBar::PlatformScrollBar):
        (PlatformScrollBar::~PlatformScrollBar):
        (PlatformScrollBar::width):
        (PlatformScrollBar::height):
        (PlatformScrollBar::setEnabled):
        (PlatformScrollBar::paint):
        (PlatformScrollBar::setScrollBarValue):
        (PlatformScrollBar::setKnobProportion):
        (PlatformScrollBar::setRect):
        (ScrollBar::ScrollBar):
        (FileChooser::FileChooser):
        (FileChooser::~FileChooser):
        (FileChooser::openFileChooser):
        (FileChooser::basenameForWidth):
        (FileChooser::uploadControlDetaching):
        (FileChooser::chooseFile):
        (Icon::Icon):
        (Icon::~Icon):
        (Icon::newIconForFile):
        (Icon::paint):
        (IconLoader::stopLoading):
        (IconLoader::startLoading):
        (IconLoader::createForFrame):
        (IconDatabase::isIconExpiredForIconURL):
        (IconDatabase::hasEntryForIconURL):
        (IconDatabase::sharedIconDatabase):
        * platform/gdk/WidgetGdk.cpp:
        * webcore-base.bkl:

2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10835
        Fix svg memory leaks.

        Reworked SVGList to deal with RefPtr's for ptr types
        which makes manual refcounting unnecessary, and is much safer.

        Removing all virtual functions (nullItem) from SVGList, and
        also remove SVGListBase. Switch to a similar concept like
        Vector/VectorTraits (see new file SVGListTraits.h).

        Credits go to Eric/Maciej for the inspiration.

        * CMakeLists.txt: Add SVGListTraits.cpp to build
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Generator changes for SVGTransform/PathSeg/LengthList (now RefPtr based)
        * kcanvas/RenderSVGText.cpp: Add some get() methods, as SVGLengthList is RefPtr based now.
        (WebCore::RenderSVGText::translationForAttributes):
        * ksvg2/svg/SVGAnimateTransformElement.cpp: Add some get() methods, as SVGTransformList is RefPtr based now.
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        * ksvg2/svg/SVGElementInstanceList.cpp: Be RefPtr based.
        (WebCore::SVGElementInstanceList::SVGElementInstanceList):
        * ksvg2/svg/SVGElementInstanceList.h:
        * ksvg2/svg/SVGLengthList.cpp: Ditto.
        (WebCore::SVGLengthList::SVGLengthList):
        * ksvg2/svg/SVGLengthList.h: Ditto.
        * ksvg2/svg/SVGList.h: Rewrote, as described above.
        (WebCore::SVGListTypeOperations::nullItem):
        (WebCore::SVGList::SVGList):
        (WebCore::SVGList::~SVGList):
        (WebCore::SVGList::clear):
        (WebCore::SVGList::getFirst):
        (WebCore::SVGList::getLast):
        (WebCore::SVGList::getItem):
        (WebCore::SVGList::replaceItem):
        (WebCore::SVGList::removeItem):
        * ksvg2/svg/SVGListTraits.cpp: Added.
        * ksvg2/svg/SVGListTraits.h: Added.
        (WebCore::):
        * ksvg2/svg/SVGPathElement.cpp: Add some get() methods, as SVGPathSegList is RefPtr based now.
        (WebCore::SVGPathElement::toPathData):
        * ksvg2/svg/SVGPathSegList.cpp: Be RefPtr based.
        (WebCore::SVGPathSegList::SVGPathSegList):
        * ksvg2/svg/SVGPathSegList.h: Ditto.
        * ksvg2/svg/SVGTransform.cpp: Style cleanup.
        (SVGTransform::SVGTransform):
        * ksvg2/svg/SVGTransformList.cpp: Be RefPtr based.
        (SVGTransformList::SVGTransformList):
        (SVGTransformList::createSVGTransformFromMatrix):
        (SVGTransformList::consolidate):
        * ksvg2/svg/SVGTransformList.h: Ditto.
        * ksvg2/svg/SVGTransformable.cpp: Fix RefPtr usage of SVGTransform.
        (SVGTransformable::parseTransformAttribute):

2006-09-15  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Fix build on Qt/Linux and implement Frame::addMessageToConsole to
        be able to see javascript errors for instance.

        * CMakeLists.txt:
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQt.cpp: Implement addMessageToConsole.
        (WebCore::FrameQt::bindingRootObject):
        * platform/qt/TemporaryLinkStubs.cp
        (WebCore::IconDatabase::hasEntryForIconURL):
        (WebCore::IconDatabase::sharedIconDatabase):

2006-09-15  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10869
        Auto-generate the internal methods for the Objective-C bindings

        - Auto-generates the internal method (ie. the _fooBar and _fooBarWith methods)
          implementations where standard.  For cases where a custom implementation was
          needed, added a [ObjCNoInternal] extended attribute to the corresponding IDL.

        - Some general cleanup of some of the non-generated bindings, to bring them in-
          line with what the generated bindings look like.

        * bindings/objc/DOM.mm:
        (-[DOMNode description]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMCSSPrimitiveValue WebCore::]):
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getMatchedCSSRules::]):
        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent WebCore::]):
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMHTMLDocument.mm:
        (-[DOMHTMLDocument title]):
        (-[DOMHTMLDocument setTitle:]):
        (-[DOMHTMLDocument referrer]):
        (-[DOMHTMLDocument domain]):
        (-[DOMHTMLDocument URL]):
        (-[DOMHTMLDocument body]):
        (-[DOMHTMLDocument setBody:]):
        (-[DOMHTMLDocument images]):
        (-[DOMHTMLDocument applets]):
        (-[DOMHTMLDocument links]):
        (-[DOMHTMLDocument forms]):
        (-[DOMHTMLDocument anchors]):
        (-[DOMHTMLDocument cookie]):
        (-[DOMHTMLDocument setCookie:]):
        (-[DOMHTMLDocument open]):
        (-[DOMHTMLDocument close]):
        (-[DOMHTMLDocument write:]):
        (-[DOMHTMLDocument writeln:]):
        (-[DOMHTMLDocument getElementById:]):
        (-[DOMHTMLDocument getElementsByName:]):
        (-[DOMHTMLDocument WebCore::]):
        (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
        * bindings/objc/DOMHTMLOptionElement.mm:
        (-[DOMHTMLOptionElement form]):
        (-[DOMHTMLOptionElement defaultSelected]):
        (-[DOMHTMLOptionElement setDefaultSelected:]):
        (-[DOMHTMLOptionElement text]):
        (-[DOMHTMLOptionElement index]):
        (-[DOMHTMLOptionElement disabled]):
        (-[DOMHTMLOptionElement setDisabled:]):
        (-[DOMHTMLOptionElement label]):
        (-[DOMHTMLOptionElement setLabel:]):
        (-[DOMHTMLOptionElement selected]):
        (-[DOMHTMLOptionElement setSelected:]):
        (-[DOMHTMLOptionElement value]):
        (-[DOMHTMLOptionElement setValue:]):
        (-[DOMHTMLOptionElement WebCore::]):
        (+[DOMHTMLOptionElement _HTMLOptionElementWith:WebCore::]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMNode.mm:
        (-[DOMNode dealloc]):
        (-[DOMNode finalize]):
        (-[DOMNode nodeName]):
        (-[DOMNode nodeValue]):
        (-[DOMNode setNodeValue:]):
        (-[DOMNode nodeType]):
        (-[DOMNode parentNode]):
        (-[DOMNode childNodes]):
        (-[DOMNode firstChild]):
        (-[DOMNode lastChild]):
        (-[DOMNode previousSibling]):
        (-[DOMNode nextSibling]):
        (-[DOMNode attributes]):
        (-[DOMNode ownerDocument]):
        (-[DOMNode insertBefore::]):
        (-[DOMNode replaceChild::]):
        (-[DOMNode removeChild:]):
        (-[DOMNode appendChild:]):
        (-[DOMNode hasChildNodes]):
        (-[DOMNode cloneNode:]):
        (-[DOMNode normalize]):
        (-[DOMNode isSupported::]):
        (-[DOMNode namespaceURI]):
        (-[DOMNode prefix]):
        (-[DOMNode setPrefix:]):
        (-[DOMNode localName]):
        (-[DOMNode hasAttributes]):
        (-[DOMNode isSameNode:]):
        (-[DOMNode isEqualNode:]):
        (-[DOMNode isDefaultNamespace:]):
        (-[DOMNode lookupPrefix:]):
        (-[DOMNode lookupNamespaceURI:]):
        (-[DOMNode textContent]):
        (-[DOMNode setTextContent:]):
        (-[DOMNode boundingBox]):
        (-[DOMNode lineBoxRects]):
        * bindings/objc/DOMObject.mm:
        (-[DOMObject _init]):
        * bindings/objc/DOMXPath.mm:
        (-[DOMNativeXPathNSResolver dealloc]):
        (-[DOMNativeXPathNSResolver finalize]):
        (-[DOMNativeXPathNSResolver WebCore::]):
        (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
        (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
        (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
        (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
        * css/CSSCharsetRule.idl:
        * css/CSSFontFaceRule.idl:
        * css/CSSImportRule.idl:
        * css/CSSMediaRule.idl:
        * css/CSSPageRule.idl:
        * css/CSSPrimitiveValue.idl:
        * css/CSSRule.idl:
        * css/CSSStyleRule.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSUnknownRule.idl:
        * css/CSSValue.idl:
        * css/CSSValueList.idl:
        * css/StyleSheet.idl:
        * dom/Event.idl:
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/NodeIterator.idl:
        * dom/OverflowEvent.idl:
        * dom/TreeWalker.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:

2006-09-15  Adam Roben  <aroben@apple.com>

        Reviewed by timothy.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10865
        New file upload control should match the width of the old one

        Make width of new file upload control match the old one as closely as
        possible.

        * rendering/RenderFileUploadControl.cpp:

2006-09-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Eric.

        Remove the SVG IDL files from the Copy Resources phase.

        * WebCore.xcodeproj/project.pbxproj:

2006-09-15  Brady Eidson  <beidson@apple.com>

        Reviewed by Eric Siedel

        Dumped the use of CGColorRef and directly use the floating point data from
        WebCore::Color

        This fixes the performance regression found between 16285 and 16286

        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):

2006-09-14  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=10838
        Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate

        FrameMac relies on its cleanupPluginObjects being called to perform cleanup.  The virtual
        Frame::cleanupPluginObjects method is called from Frame's destructor, which results
        in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects
        will be called from Frame::clear
        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Use cancelAndClear.
        (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that
        FrameMac can use.
        * page/Frame.h:

2006-09-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej's rubber stamp

        Exact same fix I just made, but in the other method I horked up
        Also added a reference to the bugzilla in comments

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading):
        (WebCore::Frame::stop):

2006-09-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Fixed a bad iFrame crash, resolving some of the layout test badness

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading):
        - Added a RefPtr to protect the frame itself to prevent its destruction during this method

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

        Reviewed by harrison
        
        <rdar://problem/4655880> Up/Down arrows skip over To Do

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canDeleteRange:]): Added a FIXME.
        * dom/Node.cpp: Removed the unused inSameRootEditableElement.
        * dom/Node.h:
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modify): Added documentboundary to granularities in order test a fix.
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition): Use highestEditableRoot so that this function can move from
        editable content into editable content that's embedded in non-editable content.
        (WebCore::nextLinePosition): Ditto.
        (WebCore::startOfEditableContent): Renamed from startOfEditableRoot and use highestEditableRoot.
        This is the behavior that callers desire.  This fixes Command + Up/Down.
        (WebCore::endOfEditableContent): Ditto.
        * editing/visible_units.h:

2006-09-14  Karthik Kumar  <karthikkumar@gmail.com>

        Reviewed by timothy. Landed by aroben.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10856
        Windows build fixes after r16360

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add loader\icon to
        AdditionalIncludeDirectories
        * platform/win/TemporaryLinkStubs.cpp: Add link stubs for IconLoader,
        IconDatabase
        (IconLoader::stopLoading):
        (IconLoader::startLoading):
        (IconLoader::createForFrame):
        (IconDatabase::isIconExpiredForIconURL):
        (IconDatabase::hasEntryForIconURL):
        (IconDatabase::sharedIconDatabase):

2006-09-14  Brady Eidson  <beidson@apple.com>

        Part of a build fix for Windows - rest will be working out a mess of temporary link stubs

        * loader/icon/IconLoader.cpp:
        (IconLoader::receivedAllData):
        * page/Frame.cpp:
        * page/FramePrivate.h:

2006-09-14  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Justin Garcia.

        - http://bugs.webkit.org/show_bug.cgi?id=10726
          Crash in ApplyStyleCommand::applyRelativeFontStyleChange

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Prevent a crash by
        makeing sure that the 'beyondEnd' node is after the start node.

2006-09-14  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10845
        Various bugs/crashes in ResourceLoaderWin with local files.

        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::fileLoadTimer):

2006-09-13  Brady Eidson <beidson@apple.com>

        Reviewed by Maciej

        Icon loads now take place in WebCore

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:
        - Moved enforcement of a Mozilla Favicon extension elsewhere
        
        * bridge/mac/FrameMac.h: 
        * bridge/mac/FrameMac.mm: 
        (WebCore::FrameMac::originalRequestURL):
        - Added accessor to "original request URL"
        
        * bridge/mac/WebCoreFrameBridge.h: 
        - Removed methods to set the iconURL as all loading is now done in WebCore
        - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL
        
        * html/HTMLLinkElement.cpp: 
        (WebCore::HTMLLinkElement::process):
        - Moved enforcement of a Mozilla Favicon extension elsewhere
        
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconURLForPageURL):
        - Changed an ASSERT to correctly handle a sketchy (invalid) situation

        * loader/icon/IconLoader.h: Added.
        * loader/icon/IconLoader.cpp: Added.
        (IconLoader::IconLoader):
        (IconLoader::createForFrame):
        - Static factory method with a private constructor to enforce 
          "you MUST have a Frame to create an IconLoader" semantics
        (IconLoader::~IconLoader):
        (IconLoader::startLoading):
        (IconLoader::stopLoading):
        (IconLoader::receivedData):
        - ResourceLoaderClient delegate
        (IconLoader::receivedAllData):
        - Ditto

        * loader/mac/IconLoaderMac.mm: Added.
        (IconLoader::receivedResponse):
        (IconLoader::notifyIconChanged):
        - For now, these are platform specific methods
        - One to get the HTTP response code of an icon load
        - The other to call through to the app when the icon has changed (loaded)

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::iconURL):
        (WebCore::Frame::setIconURL):
        - Frame objects now have an inherent icon URL and a way to calculate/access it
        (WebCore::Frame::endIfNotLoading):
        - This is where we actually kick off the IconLoader
        (WebCore::Frame::stop):
        - Added call to stop loading the icon

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        (WebCore::FramePrivate::~FramePrivate):
        - Added the icon URL as a private member
        - Added the IconLoader as a private member, and clean it up on deletion

        * platform/mac/ResourceLoaderMac.mm:
        (WebCore::ResourceLoader::start):  Added a valuable ASSERT

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

        Fix for 10841, unable to check checkboxes inside labels.

        Reviewed by xenon, bradee-oh

        * css/html4.css:
        * dom/Element.cpp:
        (WebCore::Element::contains):
        * dom/Element.h:
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::defaultEventHandler):

2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Adam.

        http://bugs.webkit.org/show_bug.cgi?id=10834
        Bug 10834: FileChooser constructor in FileChooserMac appears to overretain m_controller

        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::FileChooser): Don't over-retain the OpenPanelController.

2006-09-13  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10836
        Bug 10836: REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef

        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText): Release CGColorRef after use.
        (WebCore::Font::drawGlyphs): Ditto.

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

        Try fixing the Win32 build.
        
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::bindingRootObject):

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

        Reviewed by Tim O.

        Add USE defines for the generic JavaScriptCore bindings as well as NPAPI bindings.
        
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::createLanguageInstanceForValue):
        * bindings/js/kjs_dom.cpp:
        (KJS::getRuntimeObject):
        * bridge/mac/FrameMac.h:
        * config.h:
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::~HTMLAppletElement):
        (WebCore::HTMLAppletElement::detach):
        * html/HTMLAppletElement.h:
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::detach):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        (WebCore::HTMLObjectElement::detach):
        * html/HTMLObjectElement.h:
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
        (WebCore::HTMLPlugInElement::createNPObject):
        * html/HTMLPlugInElement.h:
        * page/Frame.h:

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

        Clean up the XBL and XSLT ifdefs to be consistent with the SVG
        and XPath ifdefs.  KHTML_NO_XBL is flipped and is now XBL_SUPPORT.
        KHTML_XSLT is now XSLT_SUPPORT.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSXSLTProcessor.cpp:
        * bindings/js/JSXSLTProcessor.h:
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * config.h:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::recalcStyleSelector):
        * dom/Document.h:
        (WebCore::Document::bindingManager):
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::ProcessingInstruction):
        (WebCore::ProcessingInstruction::checkStyleSheet):
        (WebCore::ProcessingInstruction::setStyleSheet):
        * dom/ProcessingInstruction.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::processingInstruction):
        (WebCore::XMLTokenizer::insertErrorMessageBlock):
        * dom/XMLTokenizer.h:
        * loader/Cache.cpp:
        (WebCore::Cache::getStatistics):
        * loader/Cache.h:
        * loader/CachedResource.h:
        (WebCore::CachedResource::):
        * loader/CachedResourceClient.h:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:
        * rendering/RenderStyle.cpp:
        (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
        (WebCore::StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData):
        (WebCore::StyleCSS3NonInheritedData::operator==):
        * rendering/RenderStyle.h:
        * xml/XSLImportRule.cpp:
        * xml/XSLImportRule.h:
        * xml/XSLStyleSheet.cpp:
        * xml/XSLStyleSheet.h:
        * xml/XSLTProcessor.cpp:
        * xml/XSLTProcessor.h:

2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Fix newly introduced memory leaks in SVG.
        http://bugs.webkit.org/show_bug.cgi?id=10835

        * ksvg2/svg/SVGList.h:
        (WebCore::SVGListBase::~SVGListBase):
        (WebCore::SVGListBase::clearVector):
        (WebCore::SVGListBase::clear):
        (WebCore::SVGList::clearVector):
        (WebCore::):
        * ksvg2/svg/SVGNumberList.cpp: s/float/double/ - forgot that!
        (SVGNumberList::SVGNumberList):
        * ksvg2/svg/SVGNumberList.h: Ditto.

2006-09-13  Darin Fisher  <darin@chromium.org>

        Reviewed/landed by aroben.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10833
        Windows build needs fixed after move to engine-rendered file upload widget

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add RenderFileUpload files,
        remove RenderFileButton files
        * platform/win/TemporaryLinkStubs.cpp: Add stubs for FileChooser, Icon
        (FileChooser::FileChooser):
        (FileChooser::~FileChooser):
        (FileChooser::openFileChooser):
        (FileChooser::basenameForWidth):
        (FileChooser::uploadControlDetaching):
        (FileChooser::chooseFile):
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        (Icon::Icon):
        (Icon::~Icon):
        (Icon::newIconForFile):
        (Icon::paint):

2006-09-13  Darin Fisher  <darin@chromium.org>

        Reviewed/landed by aroben.

        Fixes http://bugs.webkit.org/attachment.cgi?id=10537
        Webkit WebCore build fails on Windows

        * WebCore.vcproj/WebCore/build-generated-files.sh: export SOURCE_ROOT
        variable

2006-09-13  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Fix Qt/Linux build.

        * CMakeLists.txt: Change SVGZoomEvent.idl location & add RenderFileUploadControl
        * platform/Icon.h: Add wtf/Platform.h include
        * platform/qt/FileChooserQt.cpp: Added as stub. Easy to implement though.
        (WebCore::FileChooser::FileChooser):
        (WebCore::FileChooser::~FileChooser):
        (WebCore::FileChooser::openFileChooser):
        (WebCore::FileChooser::basenameForWidth):
        (WebCore::FileChooser::uploadControlDetaching):
        (WebCore::FileChooser::chooseFile):
        * platform/qt/IconQt.cpp: Added as stub.
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::newIconForFile):
        (WebCore::Icon::paint):
        * platform/qt/TemporaryLinkStubs.cpp: Remove old RenderFileButton code & some new *Labels needed
        (searchableIndexIntroduction):
        (fileButtonChooseFileLabel):
        (fileButtonNoFileSelectedLabel):

2006-09-12  Adam Roben  <aroben@apple.com>

        Reviewed by eseidel.

        Switch back to passing relative paths to generate-bindings.pl when
        generating JS bindings.

        * DerivedSources.make: Pass in relative paths to generate-bindings.pl
        * bindings/scripts/CodeGenerator.pm: Make ScanDirectory never call
        chdir and always construct absolute paths instead.

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

        Fix for bug 3244, implement html4 label support.

        Reviewed by mjs, aroben

        Added fast/events/label-focus.html

        * css/html4.css:
        * html/HTMLLabelElement.cpp:
        (WebCore::HTMLLabelElement::formElement):
        (WebCore::HTMLLabelElement::setActive):
        (WebCore::HTMLLabelElement::setHovered):
        (WebCore::HTMLLabelElement::defaultEventHandler):
        * html/HTMLLabelElement.h:

2006-09-12  Julien Palmas  <julien.palmas@gmail.com>

        Reviewed by darin.  Landed by eseidel.

        * ksvg2/svg/svgpathparser.cpp:
        (WebCore::SVGPolyParser::parsePoints):

2006-09-11  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Andersca, Maciej, Brady.

        - Implemented intersectsNode in the Range Class
          to be compliant with Mozilla standard

        * dom/Range.cpp:
        (WebCore::Range::intersectsNode):
        * dom/Range.h:
        * dom/Range.idl:

2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Test: svg/W3C-SVG-1.1/struct-dom-01-b.svg (fixed)
        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10826
        
        Also finally fixes some long outstanding bugs:
        Fixes: http://bugs.webkit.org/show_bug.cgi?id=9190
        Fixes: http://bugs.webkit.org/show_bug.cgi?id=9229
        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10413

        Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX.

        * CMakeLists.txt:
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
        * ksvg2/svg/SVGAElement.idl: Added.
        * ksvg2/svg/SVGAngle.idl:
        * ksvg2/svg/SVGAnimateColorElement.idl: Added.
        * ksvg2/svg/SVGAnimateElement.idl: Added.
        * ksvg2/svg/SVGAnimateTransformElement.idl: Added.
        * ksvg2/svg/SVGAnimatedLengthList.idl: Added.
        * ksvg2/svg/SVGAnimatedNumberList.idl: Added.
        * ksvg2/svg/SVGAnimatedTransformList.idl: Added.
        * ksvg2/svg/SVGAnimationElement.idl: Added.
        * ksvg2/svg/SVGCircleElement.idl: Added.
        * ksvg2/svg/SVGClipPathElement.idl: Added.
        * ksvg2/svg/SVGColor.idl:
        * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Added.
        * ksvg2/svg/SVGCursorElement.idl: Added.
        * ksvg2/svg/SVGDefsElement.idl: Added.
        * ksvg2/svg/SVGDescElement.idl: Added.
        * ksvg2/svg/SVGEllipseElement.idl: Added.
        * ksvg2/svg/SVGEvent.idl:
        * ksvg2/svg/SVGExternalResourcesRequired.idl: Added.
        * ksvg2/svg/SVGFEBlendElement.idl: Added.
        * ksvg2/svg/SVGFEColorMatrixElement.idl: Added.
        * ksvg2/svg/SVGFEComponentTransferElement.idl: Added.
        * ksvg2/svg/SVGFECompositeElement.idl: Added.
        * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Added.
        * ksvg2/svg/SVGFEDisplacementMapElement.idl: Added.
        * ksvg2/svg/SVGFEDistantLightElement.idl: Added.
        * ksvg2/svg/SVGFEFloodElement.idl: Added.
        * ksvg2/svg/SVGFEFuncAElement.idl: Added.
        * ksvg2/svg/SVGFEFuncBElement.idl: Added.
        * ksvg2/svg/SVGFEFuncGElement.idl: Added.
        * ksvg2/svg/SVGFEFuncRElement.idl: Added.
        * ksvg2/svg/SVGFEGaussianBlurElement.idl: Added.
        * ksvg2/svg/SVGFEImageElement.idl: Added.
        * ksvg2/svg/SVGFEMergeElement.idl: Added.
        * ksvg2/svg/SVGFEMergeNodeElement.idl: Added.
        * ksvg2/svg/SVGFEOffsetElement.idl: Added.
        * ksvg2/svg/SVGFEPointLightElement.idl: Added.
        * ksvg2/svg/SVGFESpecularLightingElement.idl: Added.
        * ksvg2/svg/SVGFESpotLightElement.idl: Added.
        * ksvg2/svg/SVGFETileElement.idl: Added.
        * ksvg2/svg/SVGFETurbulenceElement.idl: Added.
        * ksvg2/svg/SVGFilterElement.idl: Added.
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Added.
        * ksvg2/svg/SVGFitToViewBox.idl: Added.
        * ksvg2/svg/SVGForeignObjectElement.idl: Added.
        * ksvg2/svg/SVGGElement.idl: Added.
        * ksvg2/svg/SVGGradientElement.idl: Added.
        * ksvg2/svg/SVGImageElement.idl: Added.
        * ksvg2/svg/SVGLangSpace.idl: Added.
        * ksvg2/svg/SVGLength.idl:
        * ksvg2/svg/SVGLengthList.idl: Added.
        * ksvg2/svg/SVGLineElement.idl: Added.
        * ksvg2/svg/SVGLinearGradientElement.idl: Added.
        * ksvg2/svg/SVGLocatable.idl: Added.
        * ksvg2/svg/SVGMarkerElement.idl: Added.
        * ksvg2/svg/SVGMaskElement.idl: Added.
        * ksvg2/svg/SVGNumberList.idl: Added.
        * ksvg2/svg/SVGPaint.idl: Added.
        * ksvg2/svg/SVGPathElement.idl:
        * ksvg2/svg/SVGPathSeg.idl:
        * ksvg2/svg/SVGPatternElement.idl: Added.
        * ksvg2/svg/SVGPointList.idl: Added.
        * ksvg2/svg/SVGPolygonElement.idl: Added.
        * ksvg2/svg/SVGPolylineElement.idl: Added.
        * ksvg2/svg/SVGPreserveAspectRatio.idl:
        * ksvg2/svg/SVGRadialGradientElement.idl: Added.
        * ksvg2/svg/SVGRectElement.idl: Added.
        * ksvg2/svg/SVGRenderingIntent.idl: Added.
        * ksvg2/svg/SVGSVGElement.idl:
        * ksvg2/svg/SVGScriptElement.idl: Added.
        * ksvg2/svg/SVGSetElement.idl: Added.
        * ksvg2/svg/SVGStopElement.idl: Added.
        * ksvg2/svg/SVGStringList.idl: Added.
        * ksvg2/svg/SVGStylable.idl: Added.
        * ksvg2/svg/SVGStyleElement.idl: Added.
        * ksvg2/svg/SVGSwitchElement.idl: Added.
        * ksvg2/svg/SVGSymbolElement.idl: Added.
        * ksvg2/svg/SVGTRefElement.idl: Added.
        * ksvg2/svg/SVGTSpanElement.idl: Added.
        * ksvg2/svg/SVGTests.idl: Added.
        * ksvg2/svg/SVGTextContentElement.idl: Added.
        * ksvg2/svg/SVGTextElement.idl: Added.
        * ksvg2/svg/SVGTextPositioningElement.idl: Added.
        * ksvg2/svg/SVGTitleElement.idl: Added.
        * ksvg2/svg/SVGTransform.idl:
        * ksvg2/svg/SVGTransformList.idl: Added.
        * ksvg2/svg/SVGTransformable.idl: Added.
        * ksvg2/svg/SVGURIReference.idl: Added.
        * ksvg2/svg/SVGUnitTypes.idl: Added.
        * ksvg2/svg/SVGUseElement.idl: Added.
        * ksvg2/svg/SVGViewElement.idl: Added.
        * ksvg2/svg/SVGZoomAndPan.idl: Added.
        * ksvg2/svg/SVGZoomEvent.idl: Added.

2006-09-12  Adam Roben  <aroben@apple.com>

        Reviewed by timo, ggaren.

        Make Icon ref-counted.

        * platform/FileChooser.h: Store m_icon as a RefPtr instead of
        auto_ptr.
        * platform/Icon.h: Inherit from Shared<Icon>
        * platform/mac/FileChooserMac.mm:
        (WebCore::FileChooser::chooseFile): Update m_icon usage
        * platform/mac/IconMac.mm:
        (WebCore::Icon::newIconForFile): Return a RefPtr instead of an
        auto_ptr

=== Safari-521.26 ===

2006-09-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders.

        Add exception codes to SVGList functions, adjust all code using it.

        Move SVGPaintType enums from ksvg.h into SVGPaint (needed for js generation)
        Move SVGUnitTypes enums from ksvg.h into it's own file SVGUnitType.h (ditto)
        Move SVGRenderingIntent enums from ksvg.h into it's own file SVGRenderingIntent.h (ditto)
        Move SVGZoomAndPan enums from ksvg.h into SVGSVGElement (ditto)
        Move SVGFE* related enums into their respecitive classes.

        Fix JSSVGNumber to operator on doubles, instead of floats.

        * ksvg2/bindings/js/JSSVGNumber.cpp:
        (WebCore::getJSSVGNumber):
        * ksvg2/bindings/js/JSSVGNumber.h:
        (WebCore::JSSVGNumber::JSSVGNumber):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGPaint):
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        (StyleFillData::operator==):
        * ksvg2/ksvg.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::isFilled):
        (WebCore::KSVGPainterFactory::fillPaintServer):
        (WebCore::KSVGPainterFactory::isStroked):
        (WebCore::KSVGPainterFactory::strokePaintServer):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (WebCore::SVGTimer::notifyAll):
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::getSimpleDuration):
        (SVGAnimationElement::parseMappedAttribute):
        (SVGAnimationElement::setTargetAttribute):
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::SVGClipPathElement):
        (SVGClipPathElement::parseMappedAttribute):
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::transferFunction):
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        (WebCore::SVGComponentTransferFunctionElement::):
        * ksvg2/svg/SVGDocument.cpp:
        (WebCore::SVGDocument::dispatchZoomEvent):
        (WebCore::SVGDocument::dispatchScrollEvent):
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::parseMappedAttribute):
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEBlendElement.h:
        (WebCore::SVGFEBlendElement::):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::parseMappedAttribute):
        (SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        (WebCore::SVGFEColorMatrixElement::):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::parseMappedAttribute):
        (SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.h:
        (WebCore::SVGFECompositeElement::):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::parseMappedAttribute):
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        (WebCore::SVGFEDisplacementMapElement::):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::parseMappedAttribute):
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::parseMappedAttribute):
        (SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        (SVGFEMergeNodeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::parseMappedAttribute):
        (SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::parseMappedAttribute):
        (SVGFESpecularLightingElement::filterEffect):
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::parseMappedAttribute):
        (WebCore::SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        (WebCore::SVGFETurbulenceElement::):
        * ksvg2/svg/SVGFilterElement.cpp:
        (SVGFilterElement::SVGFilterElement):
        (SVGFilterElement::parseMappedAttribute):
        (SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::SVGGradientElement):
        (SVGGradientElement::parseMappedAttribute):
        * ksvg2/svg/SVGGradientElement.h:
        (WebCore::SVGGradientElement::):
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::ParseSeperatedList):
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGList.h:
        (WebCore::SVGListBase::clear):
        (WebCore::SVGListBase::initialize):
        (WebCore::SVGListBase::getItem):
        (WebCore::SVGListBase::insertItemBefore):
        (WebCore::SVGListBase::replaceItem):
        (WebCore::SVGListBase::removeItem):
        (WebCore::SVGListBase::appendItem):
        * ksvg2/svg/SVGLocatable.cpp:
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.h:
        (WebCore::SVGMarkerElement::):
        * ksvg2/svg/SVGNumberList.cpp:
        (SVGNumberList::parse):
        * ksvg2/svg/SVGPaint.cpp:
        (WebCore::SVGPaint::SVGPaint):
        (WebCore::SVGPaint::uri):
        (WebCore::SVGPaint::setUri):
        (WebCore::SVGPaint::setPaint):
        * ksvg2/svg/SVGPaint.h:
        (WebCore::SVGPaint::):
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::svgMoveTo):
        (WebCore::SVGPathElement::svgLineTo):
        (WebCore::SVGPathElement::svgLineToHorizontal):
        (WebCore::SVGPathElement::svgLineToVertical):
        (WebCore::SVGPathElement::svgCurveToCubic):
        (WebCore::SVGPathElement::svgCurveToCubicSmooth):
        (WebCore::SVGPathElement::svgCurveToQuadratic):
        (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
        (WebCore::SVGPathElement::svgArcTo):
        (WebCore::SVGPathElement::svgClosePath):
        (WebCore::SVGPathElement::parseMappedAttribute):
        (WebCore::SVGPathElement::toPathData):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::parseMappedAttribute):
        (SVGPolyElement::svgPolyTo):
        (SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGPolygonElement.cpp:
        (SVGPolygonElement::toPathData):
        * ksvg2/svg/SVGPolylineElement.cpp:
        (SVGPolylineElement::toPathData):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRenderingIntent.h: Added.
        (WebCore::SVGRenderingIntent::):
        (WebCore::SVGRenderingIntent::SVGRenderingIntent):
        (WebCore::SVGRenderingIntent::~SVGRenderingIntent):
        * ksvg2/svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::):
        * ksvg2/svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::type):
        (WebCore::SVGScriptElement::setType):
        (WebCore::SVGScriptElement::parseMappedAttribute):
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGStringList.cpp:
        (WebCore::SVGStringList::reset):
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        (SVGStyledLocatableElement::getTransformToElement):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::parseMappedAttribute):
        (SVGStyledTransformableElement::getTransformToElement):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::hasExtension):
        (WebCore::SVGTests::isValid):
        * ksvg2/svg/SVGTests.h:
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::getSubStringLength):
        (SVGTextContentElement::getStartPositionOfChar):
        (SVGTextContentElement::getEndPositionOfChar):
        (SVGTextContentElement::getExtentOfChar):
        (SVGTextContentElement::getRotationOfChar):
        (SVGTextContentElement::selectSubString):
        * ksvg2/svg/SVGTextContentElement.h:
        (WebCore::SVGTextContentElement::):
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextElement.h:
        (WebCore::SVGTextElement::getTransformToElement):
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformList.cpp:
        (SVGTransformList::consolidate):
        (SVGTransformList::concatenate):
        * ksvg2/svg/SVGTransformable.cpp:
        (SVGTransformable::parseTransformAttribute):
        * ksvg2/svg/SVGUnitTypes.h: Added.
        (WebCore::SVGUnitTypes::):
        (WebCore::SVGUnitTypes::SVGUnitTypes):
        (WebCore::SVGUnitTypes::~SVGUnitTypes):
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::closeRenderer):
        * ksvg2/svg/SVGViewElement.h:
        (WebCore::SVGViewElement::):
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::SVGZoomAndPan):
        (WebCore::SVGZoomAndPan::parseMappedAttribute):

2006-09-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Adele Peterson.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::doTextFieldCommandFromEvent):
        Don't call textField:doCommandBySelector: with a nil selector. This was indirectly causing a
        (valid) assertion failure in some Safari code.

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

        Reviewed by John Sullivan.

        <rdar://problem/4717841> Setting AXFocused to true does not activate the insertion point in text field

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
        For AXFocus, use focus() if the node is an element, so that selection is set.
        Matches tabbing behavior in text fields and text areas.

2006-09-12  Adam Roben  <aroben@apple.com>

        Reviewed by adele.

        Make uploading work with the new file upload control.

        * css/html4.css: Remove unnecessary style (this is already done in
        RenderFileUpload.cpp)
        * html/HTMLInputElement.cpp: Don't get the button text from the value
        attribute for file controls.
        (WebCore::HTMLInputElement::valueWithDefault):
        * platform/mac/FileChooserMac.mm: Call
        RenderFileUploadControl::valueChanged when the user selects a file.
        (WebCore::FileChooser::chooseFile):
        * rendering/RenderFileUploadControl.cpp: Add valueChanged() method to
        update the form and fire the onChange event.
        (WebCore::RenderFileUploadControl::valueChanged):
        (WebCore::RenderFileUploadControl::updateFromElement):
        * rendering/RenderFileUploadControl.h: Add valueChanged() declaration.

2006-09-12  Adam Roben  <aroben@apple.com>

        Adding rules to html4.css to style the button in file upload controls.

        * css/html4.css:

2006-09-12  Adam Roben  <aroben@apple.com>

        Reviewed many times by darin, hyatt.

        Switch to new engine-based implementation of <input type="file">

        * WebCore.exp: Remove obsolete symbol WebCoreFileButton
        * WebCore.xcodeproj/project.pbxproj: Remove files for old widget-based
        control, add files for new engine-based control
        * css/CSSSelector.cpp: Add support for new
        '-webkit-file-upload-button' pseudo element
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h: Ditto.
        (WebCore::CSSSelector::):
        * css/cssstyleselector.cpp: Ditto.
        (WebCore::CSSStyleSelector::checkOneSelector):
        * html/HTMLInputElement.cpp: Send click events to new control
        (WebCore::HTMLInputElement::select):
        (WebCore::HTMLInputElement::click):
        (WebCore::HTMLInputElement::createRenderer):
        (WebCore::HTMLInputElement::valueWithDefault):
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLTextFieldInnerElement.h: Add 'virtual' keyword
        (WebCore::HTMLTextFieldInnerElement::shadowParentNode):
        * platform/FileButton.h: Removed.
        * platform/FileChooser.h: Added. This is the replacement for
        FileButton.h
        (WebCore::FileChooser::filename):
        (WebCore::FileChooser::icon):
        (WebCore::FileChooser::uploadControl):
        (WebCore::FileChooser::document):
        * platform/Icon.h: Added new platform-specific class representing a
        file icon.
        * platform/LocalizedStrings.h:
        * platform/mac/FileButtonMac.mm: Removed.
        * platform/mac/FileChooserMac.mm: Added. This is the replacement for
        FileButtonMac.mm
        (-[OpenPanelController initWithFileChooser:]):
        (-[OpenPanelController fileChooserDetachingSoon]):
        (-[OpenPanelController beginSheet]):
        (-[OpenPanelController chooseFilename:]):
        (-[OpenPanelController cancel]):
        (WebCore::FileChooser::FileChooser):
        (WebCore::FileChooser::~FileChooser):
        (WebCore::FileChooser::openFileChooser):
        (WebCore::FileChooser::basenameForWidth):
        (WebCore::FileChooser::uploadControlDetaching):
        (WebCore::FileChooser::chooseFile):
        * platform/mac/IconMac.mm: Added.
        (WebCore::Icon::Icon):
        (WebCore::Icon::~Icon):
        (WebCore::Icon::newIconForFile):
        (WebCore::Icon::paint):
        * platform/mac/LocalizedStringsMac.mm: Call across bridge to get
        localized strings.
        (WebCore::fileButtonChooseFileLabel):
        (WebCore::fileButtonNoFileSelectedLabel):
        * rendering/RenderButton.cpp: Extract method setText() from
        updateFromElement.
        (WebCore::RenderButton::updateFromElement):
        (WebCore::RenderButton::setText):
        * rendering/RenderButton.h: Add declaration for new setText method.
        * rendering/RenderFileButton.cpp: Removed.
        * rendering/RenderFileButton.h: Removed.
        * rendering/RenderFileUploadControl.cpp: Added. This is the
        replacement for RenderFileButton.cpp.
        (WebCore::RenderFileUploadInnerFileBox::renderName):
        (WebCore::HTMLFileUploadInnerButtonElement::isShadowNode):
        (WebCore::HTMLFileUploadInnerButtonElement::shadowParentNode):
        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
        (WebCore::RenderFileUploadControl::~RenderFileUploadControl):
        (WebCore::RenderFileUploadControl::setStyle):
        (WebCore::RenderFileUploadControl::updateIconAndFilename):
        (WebCore::RenderFileUploadControl::click):
        (WebCore::RenderFileUploadControl::updateFromElement):
        (WebCore::RenderFileUploadControl::maxFilenameWidth):
        (WebCore::RenderFileUploadControl::createButtonStyle):
        (WebCore::RenderFileUploadControl::paintObject):
        (WebCore::RenderFileUploadInnerFileBox::RenderFileUploadInnerFileBox):
        (WebCore::RenderFileUploadInnerFileBox::setStyle):
        (WebCore::RenderFileUploadInnerFileBox::layout):
        (WebCore::RenderFileUploadInnerFileBox::setHasIcon):
        (WebCore::RenderFileUploadInnerFileBox::setFilename):
        (WebCore::RenderFileUploadInnerFileBox::calcMinMaxWidth):
        (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
        (WebCore::HTMLFileUploadInnerButtonElement::createRenderer):
        * rendering/RenderFileUploadControl.h: Added. This is the replacement
        for RenderFileButton.h.
        (WebCore::RenderFileUploadControl::renderName):
        * rendering/RenderStyle.cpp: Add support for
        -webkit-file-upload-button pseudo element.
        (WebCore::):
        (WebCore::pseudoBit):
        * rendering/RenderStyle.h: Ditto.
        (WebCore::RenderStyle::):

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

        Reviewed by John Sullivan.

        Do the plugin object cleanup in Frame::clear instead of setView.
        
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setView):
        (WebCore::FrameMac::cleanupPluginObjects):
        * page/Frame.cpp:
        (WebCore::Frame::clear):
        * page/Frame.h:

2006-09-12  Darin Fisher  <darin@chromium.org>

        Reviewed/landed by aroben.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10822
        windows build is busted

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing
        JSRangeException.{cpp,h} to project

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

        Fix fieldsets so that they properly expand to enclose overhanging floats
        when the fieldset has auto height.  This is a nifty undocumented behavior
        of the fieldset element.  The bug is 3898.

        Reviewed by mjs

        Added fast/forms/fieldset-with-float.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderFieldset.h:
        (WebCore::RenderFieldset::renderName):
        (WebCore::RenderFieldset::expandsToEncloseOverhangingFloats):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::expandsToEncloseOverhangingFloats):
        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats):

2006-09-11  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.
        
        REGRESSION: When dragging a link on a page, the selected link doesn't display it's name or URL
        http://bugs.webkit.org/show_bug.cgi?id=10819
        http://bugs.webkit.org/show_bug.cgi?id=10814

        No test cases were harmed in the coding of the patch.

        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):

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

        Fix for bug 8126, column widths apply to the border boxes of cells.

        Reviewed by aroben

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::styleOrColWidth):

2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Adele.

        Fix Qt/Linux build.

        * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines.

2006-09-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

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

        This finally fixes the SVGAnimated* classes JS bindings!

        - Move all SVGAnimated*.idl files from ksvg2/bindings/idl/svg to ksvg2/svg
        - Adjust XCode/Qt build files to generate the new idl files

        - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/
                                                                  LengthList/Number/NumberList/PreserveAspectRatio/
                                                                  Rect/String/TransformList)

        - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType
        - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept

        - Add two new macros: ANIMATED_PROPERTY_EMPTY_DECLARATIONS / ANIMATED_PROPERTY_FORWARD_DECLARATIONS.
          This is used to fix multiple-inheritance issues in SVG with properties,
          similar like SVGTests::isValid() was fixed.

        - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList.
          (SVGAnimated*Lists work again now)

        - Adjust macros in SVGElement to create the "*Animated" tear-off classes.

        - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header.

        * CMakeLists.txt:
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
        (WebCore::RenderSVGImage::paint):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::translationForAttributes):
        * ksvg2/ksvg.h:
        * ksvg2/misc/SVGDocumentExtensions.h:
        (WebCore::FloatRect):
        * ksvg2/svg/SVGAElement.h:
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate):
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (SVGComponentTransferFunctionElement::transferFunction):
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGElementInstanceList.cpp:
        (WebCore::SVGElementInstanceList::SVGElementInstanceList):
        * ksvg2/svg/SVGElementInstanceList.h:
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (SVGFEColorMatrixElement::parseMappedAttribute):
        (SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGGElement.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::SVGGradientElement):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLength.cpp:
        * ksvg2/svg/SVGLengthList.cpp:
        (WebCore::SVGLengthList::SVGLengthList):
        (WebCore::SVGLengthList::parse):
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGList.h:
        (WebCore::SVGListBase::SVGListBase):
        (WebCore::SVGListBase::~SVGListBase):
        (WebCore::SVGListBase::numberOfItems):
        (WebCore::SVGListBase::clear):
        (WebCore::SVGListBase::initialize):
        (WebCore::SVGListBase::getFirst):
        (WebCore::SVGListBase::getLast):
        (WebCore::SVGListBase::getItem):
        (WebCore::SVGListBase::insertItemBefore):
        (WebCore::SVGListBase::replaceItem):
        (WebCore::SVGListBase::removeItem):
        (WebCore::SVGListBase::appendItem):
        (WebCore::SVGList::nullItem):
        (WebCore::):
        * ksvg2/svg/SVGLocatable.cpp:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGNumberList.cpp:
        (SVGNumberList::SVGNumberList):
        (SVGNumberList::parse):
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::pathSegList):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPathSegList.cpp:
        (WebCore::SVGPathSegList::SVGPathSegList):
        * ksvg2/svg/SVGPathSegList.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPointList.cpp:
        (SVGPointList::SVGPointList):
        * ksvg2/svg/SVGPointList.h:
        * ksvg2/svg/SVGPolyElement.cpp:
        (SVGPolyElement::points):
        (SVGPolyElement::svgPolyTo):
        (SVGPolyElement::notifyAttributeChange):
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/SVGPolygonElement.cpp:
        (SVGPolygonElement::toPathData):
        * ksvg2/svg/SVGPolylineElement.cpp:
        (SVGPolylineElement::toPathData):
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        (WebCore::SVGPreserveAspectRatio::):
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::createRenderer):
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStringList.cpp:
        (WebCore::SVGStringList::SVGStringList):
        (WebCore::SVGStringList::reset):
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::SVGStyledTransformableElement):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.h:
        * ksvg2/svg/SVGSymbolElement.h:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::isValid):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (SVGTextPositioningElement::SVGTextPositioningElement):
        (SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTransformList.cpp:
        (SVGTransformList::SVGTransformList):
        (SVGTransformList::createSVGTransformFromMatrix):
        (SVGTransformList::consolidate):
        (SVGTransformList::concatenate):
        * ksvg2/svg/SVGTransformList.h:
        * ksvg2/svg/SVGURIReference.h:
        * ksvg2/svg/SVGUseElement.h:
        * ksvg2/svg/SVGViewElement.h:

2006-09-11  Adam Roben  <aroben@apple.com>

        Rubberstamped by Adele.

        Rename LocalGraphicsContext.{h,mm} to
        LocalCurrentGraphicsContext.{h,mm} to match the class name.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/LocalCurrentGraphicsContext.mm: Added.
        * platform/mac/LocalCurrentGraphicsContext.h: Added.
        * platform/mac/LocalGraphicsContext.h: Removed.
        * platform/mac/LocalGraphicsContext.mm: Removed.
        * rendering/RenderThemeMac.mm: Fix #include to match renamed file

2006-09-11  Brady Eidson  <beidson@apple.com>

        Build fix

        * WebCore.xcodeproj/project.pbxproj:

2006-09-11  Kevin McCullough  <KMcCullough@apple.com>

        Reviewed by Darin. 

        - Implements comparePoint on the Range class

        - Exposes RangeExceptions in JavaScript

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        * bindings/objc/DOMInternal.mm:
        * dom/Range.cpp:
        (WebCore::Range::comparePoint):
        (WebCore::Range::compareNode):
        * dom/Range.h:
        (WebCore::Range::):
        * dom/Range.idl:
        * dom/RangeException.h: Added.
        (WebCore::):
        * dom/RangeException.idl: Added.
        * page/DOMWindow.idl:

2006-09-11  Adam Roben  <aroben@apple.com>

        Reviewed by timo.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10812
        Move LocalGraphicsContext out of RenderThemeMac

        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/LocalGraphicsContext.h: Added.
        * platform/mac/LocalGraphicsContext.mm: Added.
        (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
        (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
        * rendering/RenderThemeMac.mm:

2006-09-11  Vladimir Olexa  <vladimir.olexa@gmail.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10323
          REGRESSION: javascript: URL containing '\\' gets passed as '//'

        Test: fast/dom/javascript-backslash.html

        * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash
        substitution in JavaScript URLs.

2006-09-11  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin and Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10792
        Remove the [Exclude=LANGUAGE] idiom from IDL's and code generators 
        for something better

        - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE)
          idiom.

        - Assorted whitespace changes to IDL files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMEvents.h:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSValue.idl:
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/NamedNodeMap.idl:
        * dom/NodeFilter.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLOptionsCollection.idl:

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

        Fix an unwitting victim of the kMin->min change.  calcBlockMinMaxWidth
        was accidentally renamed to calcBlominMaxWidth.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcMinMaxWidth):
        (WebCore::RenderBlock::calcBlockMinMaxWidth):
        * rendering/RenderBlock.h:

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

        Rework the printer font stuff a little bit so that the Font API doesn't
        have to be changed.

        Reviewed by eseidel

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreStringTruncator.mm:
        (truncateString):
        (+[WebCoreStringTruncator widthOfString:font:]):
        * platform/Font.cpp:
        (WebCore::Font::drawSimpleText):
        * platform/Font.h:
        * platform/TextStyle.h:
        (WebCore::TextStyle::TextStyle):
        (WebCore::TextStyle::attemptFontSubstitution):
        (WebCore::TextStyle::setRTL):
        * platform/mac/FontMac.mm:
        (WebCore::m_wordSpacing):
        (WebCore::Font::drawGlyphs):
        * platform/mac/ListBoxMac.mm:
        (itemTextRenderer):
        (groupLabelTextRenderer):
        (-[WebCoreTableView drawRow:clipRect:]):
        * platform/mac/PopUpButtonMac.mm:
        (PopUpButton::sizeHint):
        * platform/mac/TextFieldMac.mm:
        (-[NSSearchFieldCell _addStringToRecentSearches:]):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):
        (WebCoreTextFloatWidth):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):

2006-09-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Small cleanups + future plans

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open): path separator cleanup
        * platform/Image.h: 
     
2006-09-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Added specialized HashTraits

        * platform/IntSizeHash.h:

2006-09-10  Brady Eidson  <beidson@apple.com>

        Forgetting header #define protection is BAAAAAD
        (and re-alphabetized the project file)

        * WebCore.xcodeproj/project.pbxproj:
        * platform/IntSizeHash.h:

2006-09-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Moved the custom IntSize hash out of IconDatabase into a more generally useful file

        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDatabase.h:
        * platform/IntSizeHash.h: Added.

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

        Fix for bug 10801, form controls that get styled suddenly lose their
        intrinsic margins.  Move the intrinsic margin addition code into
        adjustRenderStyle and get it out of the theme code and the old form control
        code.

        Reviewed by aroben

        * css/cssstyleselector.cpp:
        (WebCore::addIntrinsicMargins):
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * css/html4.css:
        * rendering/DeprecatedRenderSelect.h:
        (WebCore::DeprecatedRenderSelect::calcReplacedHeight):
        * rendering/DeprecatedSlider.h:
        * rendering/RenderFormElement.cpp:
        (WebCore::RenderFormElement::setStyle):
        * rendering/RenderFormElement.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize):
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustButtonStyle):
        (WebCore::RenderThemeMac::adjustTextFieldStyle):
        (WebCore::RenderThemeMac::adjustTextAreaStyle):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::adjustButtonStyle):
        (WebCore::RenderThemeWin::adjustTextFieldStyle):
        (WebCore::RenderThemeWin::adjustTextAreaStyle):

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

        - test for http://bugs.webkit.org/show_bug.cgi?id=10547

        * manual-tests/target-test.html: Added.
        * manual-tests/targeted.html: Added.

2006-09-10  Eric Seidel  <eric@webkit.org>

        Reviewed by darin.
        
        Remove a bunch more NSGraphicsContext related code.
        Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly)
        Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function.

        No tests were harmed in the making of this patch.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge drawRect:]):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        (WebCore::KRenderingDeviceContextQuartz::cgContext):
        (WebCore::KRenderingDeviceQuartz::isBuffered):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
        (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
        * kcanvas/device/quartz/QuartzSupport.mm:
        * platform/Font.cpp:
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        * platform/Font.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText):
        * platform/GraphicsContext.h:
        * platform/mac/FileButtonMac.mm:
        (-[WebFileChooserButton drawRect:]):
        * platform/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::ATSULayoutParameters):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawGlyphs):
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspelling):
        * platform/mac/ListBoxMac.mm:
        (-[WebCoreTableView drawRow:clipRect:]):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderThemeMac.mm:
        (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge):
        (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge):
        (WebCore::RenderThemeMac::paintButton):
        (WebCore::RenderThemeMac::paintTextField):
        (WebCore::RenderThemeMac::paintTextArea):

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

        Reviewed by aroben.

        Fixes to work with string API changes.

        * platform/cf/ResourceLoaderCFNet.cpp:
        (WebCore::arrayFromFormData):
        (WebCore::ResourceLoader::start):
        * platform/cf/StringCF.cpp:
        * platform/cf/StringImplCF.cpp:

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

        Fix for Bugzilla bug 5500, scrollLeft/Top/Width/Height properties not supported
        on textarea.  Refactored the DOM getters and setters to go through the renderer
        instead of right to the layer.  The renderer functions are virtual so that the
        text control can subclass and forward to its anonymous div.

        Fix for Bugzilla bug 10719, When positioned objects are sizing using their
        containing block width as a guide, they should not ever use the line width like
        non-positioned objects do.

        Reviewed by aroben

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Element.cpp:
        (WebCore::Element::scrollLeft):
        (WebCore::Element::scrollTop):
        (WebCore::Element::setScrollLeft):
        (WebCore::Element::setScrollTop):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::clientWidth):
        (WebCore::RenderObject::clientHeight):
        (WebCore::RenderObject::scrollWidth):
        (WebCore::RenderObject::scrollHeight):
        (WebCore::RenderObject::scrollLeft):
        (WebCore::RenderObject::scrollTop):
        (WebCore::RenderObject::setScrollLeft):
        (WebCore::RenderObject::setScrollTop):
        (WebCore::RenderObject::hasStaticX):
        (WebCore::RenderObject::hasStaticY):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::clientLeft):
        (WebCore::RenderObject::clientTop):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::scrollWidth):
        (WebCore::RenderTextControl::scrollHeight):
        (WebCore::RenderTextControl::scrollLeft):
        (WebCore::RenderTextControl::scrollTop):
        (WebCore::RenderTextControl::setScrollLeft):
        (WebCore::RenderTextControl::setScrollTop):
        * rendering/RenderTextControl.h:

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

        Implement support for the WinIE clientLeft and clientTop extensions.

        Reviewed by aroben

        * dom/Element.cpp:
        (WebCore::Element::clientLeft):
        (WebCore::Element::clientTop):
        * dom/Element.h:
        * dom/Element.idl:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::clientLeft):
        (WebCore::RenderObject::clientTop):

2006-09-09  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Eric.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10795
        Auto-generate the Objective-C DOM XPath bindings

        - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMXPath.h:
        * bindings/objc/DOMXPath.mm:
        * bindings/objc/PublicDOMInterfaces.h:
        * xml/XPathExpression.idl:
        * xml/XPathNSResolver.idl:
        * xml/XPathResult.idl:

2006-09-09  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Eric.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10791
        Even More Objective-C DOM auto-generation cleanup

        - Auto-generate some remaining extension methods for DOMDocument
          and DOMCSSStyleDeclaration.

        - Split DOMHTMLEmbedElement into it's own files.  It can't be
          auto-generated yet because the Objective-C interface is significantly
          different from the implementation interface.  Since HTMLEmbedElement
          is not in the W3C spec, this is somewhat of a gray area.

        - Auto-generate DOMEventListener protocol.

        - Clean up the IDL files by separating the extensions from the
          specified methods and attributes.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMEventListener.h: Removed.
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMHTMLEmbedElement.h: Added.
        * bindings/objc/DOMHTMLEmbedElement.mm: Added.
        (-[DOMHTMLEmbedElement align]):
        (-[DOMHTMLEmbedElement setAlign:]):
        (-[DOMHTMLEmbedElement height]):
        (-[DOMHTMLEmbedElement setHeight:]):
        (-[DOMHTMLEmbedElement name]):
        (-[DOMHTMLEmbedElement setName:]):
        (-[DOMHTMLEmbedElement src]):
        (-[DOMHTMLEmbedElement setSrc:]):
        (-[DOMHTMLEmbedElement type]):
        (-[DOMHTMLEmbedElement setType:]):
        (-[DOMHTMLEmbedElement width]):
        (-[DOMHTMLEmbedElement setWidth:]):
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * css/CSSStyleDeclaration.idl:
        * dom/Document.idl:
        * dom/KeyboardEvent.h:
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/MutationEvent.idl:
        * dom/OverflowEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:
        * html/HTMLEmbedElement.idl: Added.

2006-09-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Tim H.
        
        Remove DeprecatedString usage and fix style.
        http://bugs.webkit.org/show_bug.cgi?id=10787

        No tests were harmed in the making of this patch.

        * kcanvas/KCanvasFilters.cpp:
        (WebCore::KCanvasFilterEffect::in):
        (WebCore::KCanvasFilterEffect::setIn):
        (WebCore::KCanvasFilterEffect::result):
        (WebCore::KCanvasFilterEffect::setResult):
        (WebCore::KCanvasFEMerge::externalRepresentation):
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCanvasFEBlend::in2):
        (WebCore::KCanvasFEBlend::setIn2):
        (WebCore::KCanvasFEComposite::in2):
        (WebCore::KCanvasFEComposite::setIn2):
        (WebCore::KCanvasFEDisplacementMap::in2):
        (WebCore::KCanvasFEDisplacementMap::setIn2):
        (WebCore::KCanvasFEMerge::mergeInputs):
        (WebCore::KCanvasFEMerge::setMergeInputs):
        * kcanvas/KCanvasResources.cpp:
        (WebCore::KCanvasResource::idInRegistry):
        (WebCore::KCanvasResource::setIdInRegistry):
        (WebCore::getResourceById):
        * kcanvas/KCanvasResources.h:
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::getAbsoluteRepaintRect):
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::paint):
        (WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):
        * kcanvas/device/KRenderingPaintServer.h:
        (WebCore::KRenderingPaintServer::idInRegistry):
        (WebCore::KRenderingPaintServer::setIdInRegistry):
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::imageForName):
        (WebCore::KCanvasFilterQuartz::setImageForName):
        (WebCore::KCanvasFEMergeQuartz::getCIFilter):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyle.cpp:
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/ecma/GlobalObject.cpp:
        (GlobalObject::get):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (WebCore::SVGTimer::notifyAll):
        * ksvg2/svg/SVGDescElement.cpp:
        (WebCore::SVGDescElement::SVGDescElement):
        (WebCore::SVGDescElement::description):
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
        (WebCore::SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        (WebCore::SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::SVGFECompositeElement):
        (SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        (SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::SVGFEOffsetElement):
        (SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        (SVGFESpecularLightingElement::filterEffect):
        * ksvg2/svg/SVGFETileElement.cpp:
        (WebCore::SVGFETileElement::SVGFETileElement):
        (WebCore::SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (SVGFETurbulenceElement::SVGFETurbulenceElement):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::getCTM):
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGStyleElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGViewElement.cpp:
        (WebCore::SVGViewElement::SVGViewElement):
        (WebCore::SVGViewElement::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPan.cpp:
        (WebCore::SVGZoomAndPan::SVGZoomAndPan):

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

        Reviewed by Tim H.

        <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
        
        Fixes the quoting logic. The previous logic did not account for the
        CSS tokenizer's regex character range between * and ~ as valid in URL types.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::isCSSTokenizerURL):

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

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=10759
          fast/AppleScript/array.html test failing

        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors.

2006-09-08  Eric Seidel  <eric@webkit.org>

        Reviewed by darin.

        Replace incorrect fooBaseValue() calls with foo() calls instead.
        http://bugs.webkit.org/show_bug.cgi?id=10746
        
        With the previously broken animation system, we had both base and anim values
        but they were not automatically connected/disconnected when animation started and stopped.
        So the animVals were basically never used (since they were always wrong).
        Now, animVal and baseVal are handled correctly.
        
        There are only 3 places in the code where we will ever need to use the BaseValue accessor variants.
        1. SVGAnimated* DOM bindings
        2. Animation Code
        3. parseMappedAttribute implementations

        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::translationForAttributes):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::relativeBBox):
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        (WebCore::RenderSVGImage::translationForAttributes):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::translationForAttributes):
        * ksvg2/misc/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::updateFromElement):
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGCircleElement.cpp:
        (SVGCircleElement::parseMappedAttribute):
        (SVGCircleElement::toPathData):
        (SVGCircleElement::pushAttributeContext):
        (SVGCircleElement::hasPercentageValues):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::transferFunction):
        * ksvg2/svg/SVGCursorElement.cpp:
        (SVGCursorElement::parseMappedAttribute):
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::parseMappedAttribute):
        (WebCore::SVGEllipseElement::toPathData):
        (WebCore::SVGEllipseElement::pushAttributeContext):
        (WebCore::SVGEllipseElement::hasPercentageValues):
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::lightSource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (SVGFEImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (SVGFEMergeElement::SVGFEMergeElement):
        (SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
        (WebCore::SVGFEPointLightElement::lightSource):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::filterEffect):
        * ksvg2/svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::lightSource):
        * ksvg2/svg/SVGFETileElement.cpp:
        (SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (SVGFETurbulenceElement::filterEffect):
        * ksvg2/svg/SVGFilterElement.cpp:
        (SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::toPathData):
        (SVGLineElement::pushAttributeContext):
        (SVGLineElement::hasPercentageValues):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::attributeChanged):
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::pushAttributeContext):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::toPathData):
        (WebCore::SVGRectElement::pushAttributeContext):
        (WebCore::SVGRectElement::hasPercentageValues):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        (WebCore::SVGSVGElement::createRenderer):
        * ksvg2/svg/SVGTRefElement.cpp:
        (SVGTRefElement::updateReferencedText):
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::closeRenderer):

2006-09-08  Eric Seidel  <eric@webkit.org>

        Reviewed by beth.

        Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList)
        http://bugs.webkit.org/show_bug.cgi?id=10778

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

2006-09-07  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin and Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10774
        Auto-generate the Objective-C DOM Traversal bindings

        - Auto-generates DOMNodeIterator and DOMTreeWalker.

        - Splits out DOMNodeFilter into its own file.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMNodeFilter.h: Added.
        * bindings/objc/DOMTraversal.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/NodeFilter.idl:
        * dom/NodeIterator.idl:
        * dom/Range.idl:
        * dom/TreeWalker.idl:

2006-09-07  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin, landed by Adam.

        Fixes part of bug 10743: Windows build busted.

        * platform/win/FontCacheWin.cpp: Add missing #include, set svn:eol-style to native
        (WebCore::FontCache::getFontLinkInterface):
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/win/FontDataWin.cpp: Ditto.
        (WebCore::FontData::platformWidthForGlyph):
        * platform/win/FontWin.cpp: Add missing #include, band-aid over const problem with GlyphBufferGlyph
        (WebCore::Font::drawGlyphs):
        * platform/win/ResourceLoaderWin.cpp: Add missing #include, change .ascii() to .latin1()
        (WebCore::ResourceLoaderWndProc):
        (WebCore::ResourceLoader::start):

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10753
        REGRESSION: The beginning of a CSS file is missing

        Test: http/tests/incremental/slow-utf8-css.pl

        * loader/Decoder.cpp:
        (WebCore::Decoder::checkForCSSCharset): Use the same buffering logic as used for HTML.
        (WebCore::Decoder::decode):
        * loader/Decoder.h: Added a return value and a movedDataToBuffer parameter to
        checkForCSSCharset().

2006-09-07  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10766
        Auto-generate the Objective-C DOM Events bindings

        - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, 
          DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
          
        - Splits out DOMEventListener and DOMEventTarget into their own files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMEventListener.h: Added.
        * bindings/objc/DOMEventTarget.h: Added.
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent WebCore::]):
        (-[DOMEvent _initWithEvent:WebCore::]):
        (+[DOMEvent _eventWith:WebCore::]):
        * bindings/objc/DOMEventsNonstandard.mm: Removed.
        * bindings/objc/DOMNode.h:
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/Event.idl:
        * dom/EventListener.idl: Added.
        * dom/EventTarget.idl: Added.
        * dom/KeyboardEvent.idl:
        * dom/MouseEvent.idl:
        * dom/UIEvent.idl:
        * dom/WheelEvent.idl:

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9753
        SVG with width and height 100% leaves room for scrollbar on the right.

        Relayout children of svg containers, except svg shapes that do not depend on percentages.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::hasPercentageValues):
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * ksvg2/svg/SVGCircleElement.cpp:
        (SVGCircleElement::hasPercentageValues):
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::hasPercentageValues):
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::hasPercentageValues):
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::hasPercentageValues):
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::hasPercentageValues):

2006-09-06  Brady Eidson <beidson@apple.com>

        Constant renamed in 16250 wasn't changed in each use

        * platform/win/GlyphMapWin.cpp:
        (WebCore::GlyphMap::fillPage):

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

        Reviewed by Tim Hatcher.

        - fix crashes affecting editing layout tests (regressions from my vector change)

        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.

2006-09-06  David Harrison  <harrison@apple.com>

        Reviewed and tweaked by Tim H.

        <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation

        If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
        to trigger a search that will include auto activation. No PLT or iBench perf impact.
        No layout tests affected. Not testable in an automated way that will work on all systems.

        * platform/mac/WebFontCache.mm:
        (+[WebFontCache fontWithFamily:traits:size:]):

2006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Fix Qt/Linux build.

        * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build.
        * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include.
        * platform/qt/FontCacheQt.cpp: Add FontData.h include.
        * platform/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast.
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection".
        (WebCore::FrameQt::respondToChangedSelection): Ditto.
        (WebCore::FrameQt::respondToChangedContents): Ditto.
        (WebCore::FrameQt::shouldChangeSelection): Ditto.
        * platform/qt/FrameQt.h: Ditto.
        * platform/qt/ImageQt.cpp:
        (WebCore::Image::supportsType): Fix String->QString conversion.
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion.
        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes.
        * platform/qt/qt-encodings.txt: Removed.

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

        Reviewed by Tim Hatcher.

        - http://bugs.webkit.org/show_bug.cgi?id=10675
          tweak font-related headers and convert lists to vectors

        One major change was to greatly reduce the number of files that include Font.h.
        Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.

        * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.

        * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
        Font::getNSFont since a WebCore::Font represents more than one NSFont.

        * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
        * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
        * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::dashboardRegions): Ditto.
        (WebCore::Document::setDashboardRegions): Ditto.
        * dom/Document.h: Ditto.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
        * html/FormDataList.h: Ditto.
        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
        * kcanvas/RenderPath.h: Ditto.
        * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
        * kcanvas/RenderSVGImage.h: Ditto.
        * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
        * kcanvas/RenderSVGText.h: Ditto.
        * loader/FormData.cpp:
        (WebCore::FormData::flatten): Ditto.
        (WebCore::FormData::flattenToString): Ditto.
        * loader/FormData.h: (WebCore::FormData::elements): Ditto.
        * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
        * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
        * page/Frame.h: Ditto.
        * page/FramePrivate.h: Ditto.
        * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
        * rendering/InlineTextBox.h: Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Ditto.
        (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
        * rendering/RenderContainer.h: Ditto.
        * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
        * rendering/RenderInline.h: Ditto.
        * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
        * rendering/RenderObject.h: Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::lineBoxRects): Ditto.
        (WebCore::RenderObject::absoluteRects): Ditto.
        (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
        (WebCore::RenderObject::addDashboardRegions): Ditto.
        (WebCore::RenderObject::collectDashboardRegions): Ditto.
        * rendering/RenderStyle.h: Ditto.
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::initialDashboardRegions): Ditto.
        (WebCore::RenderStyle::noneDashboardRegions): Ditto.
        * rendering/RenderText.h: Ditto.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::absoluteRects): Ditto.
        (WebCore::RenderText::lineBoxRects): Ditto.
        * rendering/RenderView.h: Ditto.
        * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
        depend on getNSFont on a Font.
        (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
        (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
        (WebCore::convertAttributesToUnderlines): Updated to use Vector.
        (WebCore::FrameMac::setMarkedTextRange): Ditto.
        (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.

        * bridge/mac/WebCoreAXObject.mm:
        (boundingBoxRect): Updated to use Vector.
        (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.

        * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
        * page/Settings.h: Ditto.
        * platform/mac/WebCoreTextRenderer.mm: Ditto.
        * rendering/EllipsisBox.cpp: Ditto.

        * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
        Updated to use a Vector that we iterate in reverse order instead of a linked list
        that we reverse by prepending elements instead of adding to the end.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.

        * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.

        * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
        * platform/Font.cpp: Changed to use const instead of #define.
        (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
        eliminates the need to have TextStyle defined to compiler the Font.h header.

        * platform/TextStyle.h: Added.

        * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
        can stand alone.

        * platform/FontFallbackList.h: Tweaks.
        * platform/FontFallbackList.cpp: Tweaks.

        * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
        using Shared and RefPtr, which resulted in removing many explicit functions.
        * platform/FontFamily.cpp: More of the same.

        * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
        macros.

        * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
        only for the typedef of Glyph; there's no reason to not just repeat that typedef here
        since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
        to GlyphPage::size.
        * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
        constants. Updated for cGlyphPageSize change.
        * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.

        * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
        only for the typedef of Glyph; there's no reason to not just repeat that typedef here
        since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
        to GlyphWidthPage::size.
        * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.

        * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
        function to use overloading instead of default parameters to allow TextStyle to be optional.
        This cuts the dependency on TextStyle.
        * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.

        * platform/Image.h: Removed unneeded forward declaration of IntSize.

        * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
        Changed to not depend on Font::getNSFont.
        * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
        * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
        Ditto.
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::showPopup): Ditto.
        (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
        (WebCore::RenderPopupMenuMac::addOption): Ditto.

        * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
        constants and inline functions instead.

        * platform/mac/FontMac.mm: Fixed includes.
        * platform/mac/PopUpButtonMac.mm: Ditto.
        * rendering/RenderMenuList.cpp: Ditto.
        * rendering/RenderTextControl.cpp: Ditto.

        * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
        compatible with all 4 of C, ObjC, C++, ObjC++.

2006-09-05  Darin Fisher  <darin@chromium.org>

        Reviewed/landed by aroben.

        Fixes bug 10743: Windows build is busted.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.h:
        * platform/ResourceLoaderInternal.h:
        * platform/TextEncodingRegistry.cpp:
        * platform/win/ResourceLoaderWin.cpp:
        (WebCore::ResourceLoaderWndProc):
        (WebCore::ResourceLoader::start):
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::markMisspellings):
        (FrameWin::shouldChangeSelection):
        (FrameWin::respondToChangedSelection):
        (FrameWin::respondToChangedContents):
        (RenderThemeWin::adjustMenuListStyle):

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

        - some quick build fixes

        * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
        * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
        of CharsetNames.h.
        * css/CSSGrammar.y: Remove use of WebCore::UChar.
        * platform/UChar.h: Back out WebCore::UChar for now.

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

        Reviewed by Alexey.

        - http://bugs.webkit.org/show_bug.cgi?id=10728
          text encodings should work without a numeric ID

        - includes a fix for http://bugs.webkit.org/show_bug.cgi?id=10681
          REGRESSION: Reproducible crash at Wikipedia

        - fixed a bug where link elements would not set the charset properly for
          CSS stylesheets they loaded

        - converted DeprecatedString code paths that are related to decoding web
          pages to use String instead, to ensure that conversion back and forth won't
          hurt performance

        Test: fast/encoding/css-link-charset.html
        Test: fast/forms/form-data-encoding-normalization-overrun.html

        Coverage for encoding issues is pretty good, so we probably don't need more
        tests to land this. Our existing tests did find issues with this patch while
        it was under development. And I suppose it would be nice to have even more tests.

        * platform/TextEncoding.h:
        * platform/TextEncoding.cpp:
        (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
        (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
        added an overload for String as well as const char*. Simplified because now the only
        data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
        to make the name canonical (resolve aliases) and atomic (use a single pointer for each
        encoding name so we can compare and hash efficiently).
        (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
        of TextDecoder that can be used when the data to decode is all present at once.
        (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
        then uses the registry to get a codec to handle the rest.
        (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
        name of the only encoding that uses visual ordering. We blur the concepts a bit so that
        we treat the visual ordering and logical ordering variations as two separate encodings.
        (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
        determine if an encoding is Japanese.
        (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
        with the names of the two encodings that have the strange backslash.
        (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
        boolean parameter to the constructor.
        (WebCore::ASCIIEncoding): Added.
        (WebCore::Latin1Encoding): Added.
        (WebCore::UTF16BigEndianEncoding): Added.
        (WebCore::UTF16LittleEndianEncoding): Added.
        (WebCore::UTF8Encoding): Added.
        (WebCore::WindowsLatin1Encoding): Added.

        * platform/TextEncodingRegistry.h: Added.
        * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
        aliases and names and another of all the codecs and parameters for each name.

        * platform/TextDecoder.h: Added.
        * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
        to the proper codec, based on code that used to be in both the ICU and Mac codecs.

        * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
        the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
        Added typedefs of the registrar function types so classes derived from this one
        can use them without including the TextEncodingRegistry header. Renamed toUnicode
        and fromUnicode to decode and encode. Changed the parameter and return types so that
        the parameters are pointers to the data and the return types are String and CString.
        * platform/StreamingTextDecoder.cpp:
        (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
        classes derived from this one.

        * platform/TextCodecLatin1.h: Added.
        * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
        Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.

        * platform/TextCodecUTF16.h: Added.
        * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
        UTF-16, based on code that used to be in both the ICU and Mac codecs.

        * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
        the files in a later check-in. Removed all the functions having to do with handling
        BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
        because that's superseded by the registry. Added registry hook functions.
        * platform/StreamingTextDecoderICU.cpp:
        (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
        ICU can handle with the "IANA" standard. Also includes a special case for a particular
        type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
        not in ICU but that were historically known to WebKit for encodings that ICU handles. 
        (WebCore::newTextCodecICU): Added. Used by registerCodecs.
        (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
        as above.
        (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
        actual ICU encoding and decoding.
        (WebCore::TextCodecICU::~TextCodecICU): Renamed.
        (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
        (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
        to check if the cached converter can be reused in a simpler way.
        (WebCore::TextCodecICU::decode): Updated for changes to types.
        (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
        since this is now handled by the caller.

        * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
        the files in a later check-in. Removed all the functions having to do with handling
        BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
        because that's superseded by the registry. Added registry hook functions.
        * platform/mac/StreamingTextDecoderMac.cpp:
        (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
        the charset table generated by the make-charset-table.pl perl script.
        (WebCore::newTextCodecMac): Added. Used by registerCodecs.
        (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
        as above.
        (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
        actual TEC/CF encoding and decoding.
        (WebCore::TextCodecMac::~TextCodecMac): Renamed.
        (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
        (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
        (WebCore::TextCodecMac::decode): Updated for changes to types.
        (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
        since this is now handled by the caller.

        * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
        only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
        which is only encodings that are not supported by ICU.
        * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
        * platform/CharsetData.h: Changed from a platform-independent header into a
        Macintosh-specific one. A later patch should move this and rename it. Also
        subsumes ExtraCFEncodings.h.

        * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
        "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.

        * loader/Decoder.h: Change the default encoding parameter to the constructor to be
        a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
        TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
        since TextEncoding supports both directly in a straightforward way. Changed both
        decode and flush functions to return String instead of DeprecatedString. Added a
        number of private functions to factor this class a bit more so it's easier to read.
        Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
        * loader/Decoder.cpp:
        (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
        the content type based on the passed-in MIME type.
        (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
        default encoding based on the passed in default and the content type.
        (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
        m_reachedBody to m_checkedForHeadCharset.
        (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
        than an encoding name.
        (WebCore::Decoder::checkForBOM): Factored out of decode.
        (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
        (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
        (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
        (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
        Changed to use the new Vector<char> and the new API for TextDecoder.
        (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
        practice since we don't re-use the decoder after flushing it.

        * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
        to. We'll switch away from the ICU ::UChar type, because we don't want to be so
        closely tied to ICU -- include this instead of <unicode/umachine.h>.

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::latin1): Updated for changes to TextEncoding.
        (WebCore::String::utf8): Ditto.
        (WebCore::String::newUninitialized): Added. Gives a way to create a String and
        then write directly into its buffer.

        * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
        be a const UChar*. While it's true that this function changes the underlying
        StringImpl, the characters still shouldn't be modified with the returned pointer.
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
        (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
        and then write directly into its buffer.

        * platform/CString.h:
        * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
        to create a CString and then write directly into its buffer.

        * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
        +[WebCoreFrameBridge stringWithData:textEncoding:] with
        -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
        IDs around.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
        to DeprecatedString.
        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        Ditto.
        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
        (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
        (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
        what its encoding is, and decodes using that.
        (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
        no longer involved a text encoding ID number.
        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
        Changed to use UChar instead of DeprecatedChar.
        (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
        now-unneeded conversion to DeprecatedString.
        (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.

        * html/HTMLFormElement.cpp:
        (WebCore::encodeCString): Changed parameter to CString.
        (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.

        * loader/CachedCSSStyleSheet.h:
        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
        decoder was created without passing in the character set. Also changed from
        DeprecatedString to String.
        (WebCore::CachedCSSStyleSheet::setCharset): More of the same.

        * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
        to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
        CString instead of DeprecatedCString, etc.
        * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
        * bridge/mac/FrameMac.h: Ditto.
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
        Ditto.
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject helpText]): Ditto.
        (-[WebCoreAXObject value]): Ditto.
        (-[WebCoreAXObject accessibilityDescription]): Ditto.
        (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
        * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
        Also fixed code that does a deref without a ref to use RefPtr instead.
        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
        * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
        * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::setCharset): Ditto.
        (WebCore::Document::write): Ditto.
        (WebCore::Document::determineParseMode): Ditto.
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
        * dom/XMLTokenizer.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::shouldAllowExternalLoad): Ditto.
        (WebCore::createStringParser): Ditto.
        (WebCore::XMLTokenizer::write): Ditto.
        (WebCore::toString): Ditto.
        (WebCore::handleElementAttributes): Ditto.
        (WebCore::XMLTokenizer::startElementNs): Ditto.
        (WebCore::XMLTokenizer::endElementNs): Ditto.
        (WebCore::XMLTokenizer::characters): Ditto.
        (WebCore::XMLTokenizer::processingInstruction): Ditto.
        (WebCore::XMLTokenizer::cdataBlock): Ditto.
        (WebCore::XMLTokenizer::comment): Ditto.
        (WebCore::XMLTokenizer::internalSubset): Ditto.
        (WebCore::getXHTMLEntity): Ditto.
        (WebCore::externalSubsetHandler): Ditto.
        (WebCore::XMLTokenizer::initializeParserContext): Ditto.
        (WebCore::XMLTokenizer::notifyFinished): Ditto.
        (WebCore::xmlDocPtrForString): Ditto.
        (WebCore::parseXMLDocumentFragment): Ditto.
        (WebCore::attributesStartElementNsHandler): Ditto.
        (WebCore::parseAttributes): Ditto.
        * html/FormDataList.h:
        * html/FormDataList.cpp:
        (WebCore::FormDataList::appendString): Ditto. Also changed to call the
        encoding function by its new name and with new parameters.
        (WebCore::FormDataList::appendFile): Ditto.
        * html/HTMLDocument.h:
        * html/HTMLDocument.cpp:
        (WebCore::parseDocTypePart): Ditto.
        (WebCore::containsString): Ditto.
        (WebCore::parseDocTypeDeclaration): Ditto.
        (WebCore::HTMLDocument::determineParseMode): Ditto.
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
        * html/HTMLTokenizer.h:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): Ditto.
        (WebCore::HTMLTokenizer::parseTag): Ditto.
        (WebCore::HTMLTokenizer::write): Ditto.
        (WebCore::HTMLTokenizer::finish): Ditto.
        (WebCore::parseHTMLDocumentFragment): Ditto.
        * loader/Cache.h:
        * loader/Cache.cpp:
        (WebCore::Cache::requestStyleSheet): Ditto.
        (WebCore::Cache::requestScript): Ditto.
        * loader/CachedResource.h: Ditto.
        * loader/CachedScript.h:
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::CachedScript): Ditto.
        (WebCore::CachedScript::ref): Ditto.
        (WebCore::CachedScript::deref): Ditto.
        (WebCore::CachedScript::setCharset): Ditto.
        (WebCore::CachedScript::data): Ditto.
        (WebCore::CachedScript::checkNotify): Ditto.
        * loader/CachedXBLDocument.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::setCharset): Ditto.
        * loader/CachedXSLStyleSheet.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestStyleSheet): Ditto.
        (WebCore::DocLoader::requestScript): Ditto.
        * loader/DocLoader.h: Ditto.
        * loader/FormData.h:
        * loader/FormData.cpp:
        (WebCore::FormData::FormData): Ditto.
        (WebCore::FormData::appendFile): Ditto.
        (WebCore::FormData::flattenToString): Ditto.
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
        (WebCore::getString): Ditto.
        (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
        (WebCore::Frame::executeScript): Ditto.
        (WebCore::Frame::clear): Ditto.
        (WebCore::Frame::write): Ditto.
        (WebCore::Frame::endIfNotLoading): Ditto.
        (WebCore::Frame::baseTarget): Ditto.
        (WebCore::Frame::scheduleRedirection): Ditto.
        (WebCore::Frame::scheduleLocationChange): Ditto.
        (WebCore::Frame::scheduleHistoryNavigation): Ditto.
        (WebCore::Frame::changeLocation): Ditto.
        (WebCore::Frame::redirectionTimerFired): Ditto.
        (WebCore::Frame::encoding): Ditto.
        (WebCore::Frame::submitForm): Ditto.
        (WebCore::Frame::referrer): Ditto.
        (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
        (WebCore::Frame::setEncoding): Ditto.
        * page/Settings.h: Ditto.
        * platform/SegmentedString.h: Ditto.
        * platform/SegmentedString.cpp: Ditto.
        * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
        * xml/XSLTProcessor.cpp:
        (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
        (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
        * xml/xmlhttprequest.h:
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::open): Ditto.
        (WebCore::XMLHttpRequest::send): Ditto.
        (WebCore::XMLHttpRequest::receivedData): Ditto.

        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
        (WebCore::DeprecatedString::utf8): Ditto.

        * platform/KURL.h:
        * platform/KURL.cpp:
        (WebCore::KURL::KURL): Updated to overload based on presence or absence of
        TextEncoding rather than having a default.
        (WebCore::KURL::init): Moved body of constructor in here. Updated to use
        the new TextEncoding interface.
        (WebCore::KURL::decode_string): Updated to overload based on presence or
        absence of TextEncoding rather than having a default. Updated to use
        the new TextEncoding interface.
        (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.

        * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
        code to use U_ZERO_ERROR instead of a typecast.

        * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
        * platform/GraphicsContext.h: Ditto.

        * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
        * rendering/break_lines.cpp: Ditto.
        * xml/XMLSerializer.cpp: Ditto.

        * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.

        * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
        * platform/CharsetNames.cpp: Ditto.
        * platform/mac/ExtraCFEncodings.h: Ditto.

2006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

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

        -> Remove all SVGAnimated* usage from ksvg2.
        This is all done using a set of macros which live in svg/SVGElement.h
        (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS).
        Transform all properties to this new concept using Eric ruby script.

        -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
        -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".

        -> Add "virtual const SVGElement* contextElement() const".
        This concept allows to access the document (needed to access the SVGDocumentExtensions)
        from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc.

        These classes contain this contextElement() function as pure virtual functions.
        The topmost classes (like SVGCircleElement) implement this function with "return this".

        -> Move default value initialization to constructors.
        As the lazy_create usage, which was involved in default property initialization,
        has been removed, we need to do the initialization in the constructor.
        
        This forces us to fix the SVGLength class, as calling viewportElement() from the
        constructor does not work. This SVGLength cleanup is one of the next things to fix.

        * bindings/scripts/CodeGeneratorJS.pm:
        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::translationForAttributes):
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):
        (WebCore::RenderSVGImage::relativeBBox):
        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
        (WebCore::RenderSVGImage::translationForAttributes):
        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::translationForAttributes):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (WebCore::SVGTimer::notifyAll):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        * ksvg2/misc/SVGDocumentExtensions.h:
        (WebCore::SVGDocumentExtensions::baseValueMap):
        (WebCore::SVGDocumentExtensions::baseValue):
        (WebCore::SVGDocumentExtensions::setBaseValue):
        (WebCore::SVGDocumentExtensions::hasBaseValue):
        (WebCore::String):
        (WebCore::bool):
        (WebCore::double):
        * ksvg2/misc/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::updateFromElement):
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::parseMappedAttribute):
        (WebCore::SVGAElement::defaultEventHandler):
        * ksvg2/svg/SVGAElement.h:
        (WebCore::SVGAElement::contextElement):
        * ksvg2/svg/SVGAnimateColorElement.h:
        (WebCore::SVGAnimateColorElement::contextElement):
        * ksvg2/svg/SVGAnimateElement.h:
        (WebCore::SVGAnimateElement::contextElement):
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::initialMatrix):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        (WebCore::SVGAnimateTransformElement::contextElement):
        * ksvg2/svg/SVGCircleElement.cpp:
        (SVGCircleElement::SVGCircleElement):
        (SVGCircleElement::parseMappedAttribute):
        (SVGCircleElement::toPathData):
        (SVGCircleElement::pushAttributeContext):
        * ksvg2/svg/SVGCircleElement.h:
        (WebCore::SVGCircleElement::contextElement):
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::SVGClipPathElement):
        (SVGClipPathElement::parseMappedAttribute):
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGClipPathElement.h:
        (WebCore::SVGClipPathElement::contextElement):
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
        (SVGComponentTransferFunctionElement::parseMappedAttribute):
        (SVGComponentTransferFunctionElement::transferFunction):
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.cpp:
        (SVGCursorElement::SVGCursorElement):
        (SVGCursorElement::parseMappedAttribute):
        * ksvg2/svg/SVGCursorElement.h:
        (WebCore::SVGCursorElement::contextElement):
        * ksvg2/svg/SVGDefsElement.h:
        (WebCore::SVGDefsElement::contextElement):
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::SVGEllipseElement):
        (WebCore::SVGEllipseElement::parseMappedAttribute):
        (WebCore::SVGEllipseElement::toPathData):
        (WebCore::SVGEllipseElement::pushAttributeContext):
        * ksvg2/svg/SVGEllipseElement.h:
        (WebCore::SVGEllipseElement::contextElement):
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
        (WebCore::SVGExternalResourcesRequired::parseMappedAttribute):
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        (SVGFEBlendElement::SVGFEBlendElement):
        (SVGFEBlendElement::parseMappedAttribute):
        (SVGFEBlendElement::filterEffect):
        * ksvg2/svg/SVGFEBlendElement.h:
        (WebCore::SVGFEBlendElement::contextElement):
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
        (SVGFEColorMatrixElement::parseMappedAttribute):
        (SVGFEColorMatrixElement::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        (WebCore::SVGFEColorMatrixElement::contextElement):
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        (SVGFEComponentTransferElement::SVGFEComponentTransferElement):
        (SVGFEComponentTransferElement::parseMappedAttribute):
        (SVGFEComponentTransferElement::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        (WebCore::SVGFEComponentTransferElement::contextElement):
        * ksvg2/svg/SVGFECompositeElement.cpp:
        (SVGFECompositeElement::SVGFECompositeElement):
        (SVGFECompositeElement::parseMappedAttribute):
        (SVGFECompositeElement::filterEffect):
        * ksvg2/svg/SVGFECompositeElement.h:
        (WebCore::SVGFECompositeElement::contextElement):
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
        (WebCore::SVGFEDiffuseLightingElement::filterEffect):
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        (WebCore::SVGFEDiffuseLightingElement::contextElement):
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
        (SVGFEDisplacementMapElement::parseMappedAttribute):
        (SVGFEDisplacementMapElement::filterEffect):
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        (WebCore::SVGFEDisplacementMapElement::contextElement):
        * ksvg2/svg/SVGFEDistantLightElement.cpp:
        (WebCore::SVGFEDistantLightElement::lightSource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::parseMappedAttribute):
        (SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGFEFloodElement.h:
        (WebCore::SVGFEFloodElement::contextElement):
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
        (SVGFEGaussianBlurElement::parseMappedAttribute):
        (SVGFEGaussianBlurElement::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        (WebCore::SVGFEGaussianBlurElement::contextElement):
        * ksvg2/svg/SVGFEImageElement.cpp:
        (SVGFEImageElement::SVGFEImageElement):
        (SVGFEImageElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEImageElement.h:
        (WebCore::SVGFEImageElement::contextElement):
        * ksvg2/svg/SVGFELightElement.cpp:
        (SVGFELightElement::SVGFELightElement):
        (SVGFELightElement::parseMappedAttribute):
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        (SVGFEMergeElement::SVGFEMergeElement):
        (SVGFEMergeElement::filterEffect):
        * ksvg2/svg/SVGFEMergeElement.h:
        (WebCore::SVGFEMergeElement::contextElement):
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        (SVGFEMergeNodeElement::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        (WebCore::SVGFEMergeNodeElement::contextElement):
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        (SVGFEOffsetElement::SVGFEOffsetElement):
        (SVGFEOffsetElement::parseMappedAttribute):
        (SVGFEOffsetElement::filterEffect):
        * ksvg2/svg/SVGFEOffsetElement.h:
        (WebCore::SVGFEOffsetElement::contextElement):
        * ksvg2/svg/SVGFEPointLightElement.cpp:
        (WebCore::SVGFEPointLightElement::lightSource):
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
        (SVGFESpecularLightingElement::parseMappedAttribute):
        (SVGFESpecularLightingElement::filterEffect):
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        (WebCore::SVGFESpecularLightingElement::contextElement):
        * ksvg2/svg/SVGFESpotLightElement.cpp:
        (WebCore::SVGFESpotLightElement::lightSource):
        * ksvg2/svg/SVGFETileElement.cpp:
        (SVGFETileElement::parseMappedAttribute):
        (SVGFETileElement::filterEffect):
        * ksvg2/svg/SVGFETileElement.h:
        (WebCore::SVGFETileElement::contextElement):
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        (SVGFETurbulenceElement::SVGFETurbulenceElement):
        (SVGFETurbulenceElement::parseMappedAttribute):
        (SVGFETurbulenceElement::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElement.h:
        (WebCore::SVGFETurbulenceElement::contextElement):
        * ksvg2/svg/SVGFilterElement.cpp:
        (SVGFilterElement::SVGFilterElement):
        (SVGFilterElement::parseMappedAttribute):
        (SVGFilterElement::canvasResource):
        * ksvg2/svg/SVGFilterElement.h:
        (WebCore::SVGFilterElement::contextElement):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        (SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
        (SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes):
        (SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
        (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
        (WebCore::SVGFitToViewBox::parseMappedAttribute):
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
        (WebCore::SVGForeignObjectElement::parseMappedAttribute):
        * ksvg2/svg/SVGForeignObjectElement.h:
        (WebCore::SVGForeignObjectElement::isValid):
        (WebCore::SVGForeignObjectElement::contextElement):
        * ksvg2/svg/SVGGElement.h:
        (WebCore::SVGGElement::contextElement):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::SVGGradientElement):
        (SVGGradientElement::parseMappedAttribute):
        (SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGImageElement.cpp:
        (SVGImageElement::SVGImageElement):
        (SVGImageElement::parseMappedAttribute):
        (SVGImageElement::haveLoadedRequiredResources):
        * ksvg2/svg/SVGImageElement.h:
        (WebCore::SVGImageElement::contextElement):
        * ksvg2/svg/SVGLangSpace.h:
        * ksvg2/svg/SVGLength.cpp:
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::SVGLineElement):
        (SVGLineElement::parseMappedAttribute):
        (SVGLineElement::toPathData):
        (SVGLineElement::pushAttributeContext):
        * ksvg2/svg/SVGLineElement.h:
        (WebCore::SVGLineElement::contextElement):
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::SVGLinearGradientElement):
        (SVGLinearGradientElement::parseMappedAttribute):
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGLinearGradientElement.h:
        (WebCore::SVGLinearGradientElement::contextElement):
        * ksvg2/svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::SVGMarkerElement):
        (WebCore::SVGMarkerElement::parseMappedAttribute):
        (WebCore::SVGMarkerElement::setOrientToAuto):
        (WebCore::SVGMarkerElement::setOrientToAngle):
        (WebCore::SVGMarkerElement::canvasResource):
        * ksvg2/svg/SVGMarkerElement.h:
        (WebCore::SVGMarkerElement::contextElement):
        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::SVGMaskElement):
        (WebCore::SVGMaskElement::attributeChanged):
        (WebCore::SVGMaskElement::parseMappedAttribute):
        (WebCore::SVGMaskElement::drawMaskerContent):
        * ksvg2/svg/SVGMaskElement.h:
        (WebCore::SVGMaskElement::contextElement):
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::SVGPathElement):
        * ksvg2/svg/SVGPathElement.h:
        (WebCore::SVGPathElement::isValid):
        (WebCore::SVGPathElement::contextElement):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::SVGPatternElement):
        (WebCore::SVGPatternElement::parseMappedAttribute):
        (WebCore::SVGPatternElement::pushAttributeContext):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        (WebCore::SVGPatternElement::contextElement):
        * ksvg2/svg/SVGPolyElement.h:
        (WebCore::SVGPolyElement::contextElement):
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::~SVGRadialGradientElement):
        (WebCore::SVGRadialGradientElement::parseMappedAttribute):
        (WebCore::SVGRadialGradientElement::buildGradient):
        * ksvg2/svg/SVGRadialGradientElement.h:
        (WebCore::SVGRadialGradientElement::contextElement):
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::SVGRectElement):
        (WebCore::SVGRectElement::parseMappedAttribute):
        (WebCore::SVGRectElement::toPathData):
        (WebCore::SVGRectElement::pushAttributeContext):
        * ksvg2/svg/SVGRectElement.h:
        (WebCore::SVGRectElement::contextElement):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::~SVGSVGElement):
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::parseMappedAttribute):
        (WebCore::SVGSVGElement::getCTM):
        (WebCore::SVGSVGElement::getScreenCTM):
        (WebCore::SVGSVGElement::createRenderer):
        * ksvg2/svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::contextElement):
        * ksvg2/svg/SVGScriptElement.h:
        (WebCore::SVGScriptElement::contextElement):
        * ksvg2/svg/SVGSetElement.h:
        (WebCore::SVGSetElement::contextElement):
        * ksvg2/svg/SVGStopElement.cpp:
        (SVGStopElement::SVGStopElement):
        (SVGStopElement::parseMappedAttribute):
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStylable.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::SVGStyledTransformableElement):
        (SVGStyledTransformableElement::parseMappedAttribute):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.cpp:
        * ksvg2/svg/SVGSwitchElement.h:
        (WebCore::SVGSwitchElement::contextElement):
        * ksvg2/svg/SVGSymbolElement.h:
        (WebCore::SVGSymbolElement::contextElement):
        * ksvg2/svg/SVGTRefElement.cpp:
        (SVGTRefElement::updateReferencedText):
        * ksvg2/svg/SVGTRefElement.h:
        (WebCore::SVGTRefElement::contextElement):
        * ksvg2/svg/SVGTSpanElement.h:
        (WebCore::SVGTSpanElement::contextElement):
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::SVGTextContentElement):
        (SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::SVGTextElement):
        (WebCore::SVGTextElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextElement.h:
        (WebCore::SVGTextElement::contextElement):
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        (SVGTextPositioningElement::SVGTextPositioningElement):
        (SVGTextPositioningElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTransformable.cpp:
        * ksvg2/svg/SVGTransformable.h:
        * ksvg2/svg/SVGURIReference.cpp:
        (SVGURIReference::parseMappedAttribute):
        * ksvg2/svg/SVGURIReference.h:
        * ksvg2/svg/SVGUseElement.cpp:
        (SVGUseElement::SVGUseElement):
        (SVGUseElement::parseMappedAttribute):
        (SVGUseElement::closeRenderer):
        * ksvg2/svg/SVGUseElement.h:
        (WebCore::SVGUseElement::contextElement):
        * ksvg2/svg/SVGViewElement.h:
        (WebCore::SVGViewElement::contextElement):

2006-09-05  Eric Seidel  <eric@webkit.org>

        Reviewed by aroben.

        Speed up path parsing by removing string copies.
        http://bugs.webkit.org/show_bug.cgi?id=10722
        
        Tests already cover path parsing.

        * ksvg2/svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        * ksvg2/svg/svgpathparser.cpp:
        (WebCore::skipOptionalSpaces): Added.
        (WebCore::skipOptionalSpacesOrComma): Added.
        (WebCore::parseCoord):
        (WebCore::SVGPolyParser::parsePoints):
        (WebCore::SVGPathParser::parseSVG):

2006-09-05  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10742
        More Objective-C DOM auto-generation cleanup
        
        - Factor out implementation type-getters into their own function 
          and standardize naming as was done for type-makers (ie. HTML 
          and CSS prefixing for method names).

        * bindings/objc/DOMCSS.mm:
        (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
        (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
        (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]):
        (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]):
        (-[DOMHTMLTableElement _HTMLTableElement]):
        (-[DOMHTMLTableCellElement _HTMLTableCellElement]):
        (-[DOMHTMLEmbedElement _HTMLEmbedElement]):
        (-[DOMHTMLEmbedElement align]):
        (-[DOMHTMLEmbedElement setAlign:]):
        (-[DOMHTMLEmbedElement height]):
        (-[DOMHTMLEmbedElement setHeight:]):
        (-[DOMHTMLEmbedElement name]):
        (-[DOMHTMLEmbedElement setName:]):
        (-[DOMHTMLEmbedElement src]):
        (-[DOMHTMLEmbedElement setSrc:]):
        (-[DOMHTMLEmbedElement type]):
        (-[DOMHTMLEmbedElement setType:]):
        (-[DOMHTMLEmbedElement width]):
        (-[DOMHTMLEmbedElement setWidth:]):
        * bindings/objc/DOMInternal.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
        (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
        (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
        (-[WebCoreFrameBridge selectionStartHasStyle:]):
        (-[WebCoreFrameBridge selectionHasStyle:]):

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

        Reviewed by Adam.

        Removed dead code for password field.

        * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextField.mm:

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

        Reviewed by thatcher
        
        Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
        
        Fixes:
        <http://bugs.webkit.org/show_bug.cgi?id=6498>
        SelectionController's setters should notify delegates of selection changes
        
        Moved setSelection from Frame to SelectionController.
        I haven't moved any of the work that's done as a result of a 
        Selection change to SelectionController yet.
        Make fewer uses of SelectionControllers.  They're now only used for 
        the Frame's selection, the Page's drag caret, and functions that
        need to do Selection expansion.

        * bindings/js/kjs_window.cpp:
        (KJS::Selection::getValueProperty):
        (KJS::Selection::toString):
        (KJS::SelectionFunc::callAsFunction):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        (WebCore::FrameMac::dispatchCPPEvent):
        (WebCore::FrameMac::fontForSelection):
        (WebCore::FrameMac::baseWritingDirectionForSelectionStart):
        (WebCore::FrameMac::markMisspellingsInAdjacentWords):
        (WebCore::FrameMac::markMisspellings):
        (WebCore::FrameMac::respondToChangedSelection):
        (WebCore::FrameMac::shouldChangeSelection):
        (WebCore::FrameMac::shouldDeleteSelection):
        (WebCore::FrameMac::respondToChangedContents):
        * bridge/mac/PageMac.mm:
        (WebCore::Page::Page):
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
        (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
        (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
        (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge isSelectionEditable]):
        (-[WebCoreFrameBridge isSelectionRichlyEditable]):
        (-[WebCoreFrameBridge selectionState]):
        (-[WebCoreFrameBridge deselectText]):
        (-[WebCoreFrameBridge selectedAttributedString]):
        (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
        (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
        (-[WebCoreFrameBridge selectedDOMRange]):
        (-[WebCoreFrameBridge selectNSRange:]):
        (-[WebCoreFrameBridge selectedNSRange]):
        (-[WebCoreFrameBridge selectionAffinity]):
        (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
        (-[WebCoreFrameBridge setSelectionToDragCaret]):
        (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
        (-[WebCoreFrameBridge moveDragCaretToPoint:]):
        (-[WebCoreFrameBridge removeDragCaret]):
        (-[WebCoreFrameBridge dragCaretDOMRange]):
        (-[WebCoreFrameBridge isDragCaretRichlyEditable]):
        (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
        (-[WebCoreFrameBridge ensureSelectionVisible]):
        (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
        * bridge/win/PageWin.cpp:
        (WebCore::Page::Page):
        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        (WebCore::Document::clearSelectionIfNeeded):
        (WebCore::Document::notifyBeforeNodeRemoval):
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::EditCommand):
        * editing/JSEditor.cpp:
        * editing/ModifySelectionListLevel.cpp:
        (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
        (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
        * editing/Selection.cpp:
        (WebCore::Selection::setBase):
        (WebCore::Selection::setExtent):
        * editing/Selection.h:
        (WebCore::Selection::extent):
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::SelectionController):
        (WebCore::SelectionController::moveTo):
        (WebCore::SelectionController::setSelection):
        (WebCore::SelectionController::nodeWillBeRemoved):
        (WebCore::SelectionController::modify):
        (WebCore::SelectionController::clear):
        (WebCore::SelectionController::setBase):
        (WebCore::SelectionController::setExtent):
        * editing/SelectionController.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::caretRect):
        * editing/VisiblePosition.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * page/Frame.cpp:
        (WebCore::Frame::selectedText):
        (WebCore::Frame::hasSelection):
        (WebCore::Frame::selectionController):
        (WebCore::Frame::dragCaretController):
        (WebCore::Frame::notifyRendererOfSelectionChange):
        (WebCore::Frame::invalidateSelection):
        (WebCore::Frame::clearCaretRectIfNeeded):
        (WebCore::Frame::setFocusNodeIfNeeded):
        (WebCore::Frame::selectionLayoutChanged):
        (WebCore::Frame::caretBlinkTimerFired):
        (WebCore::Frame::paintCaret):
        (WebCore::Frame::paintDragCaret):
        (WebCore::Frame::isPointInsideSelection):
        (WebCore::Frame::selectClosestWordFromMouseEvent):
        (WebCore::Frame::handleMousePressEventDoubleClick):
        (WebCore::Frame::handleMousePressEventTripleClick):
        (WebCore::Frame::handleMousePressEventSingleClick):
        (WebCore::Frame::handleMouseMoveEvent):
        (WebCore::Frame::handleMouseReleaseEvent):
        (WebCore::Frame::selectAll):
        (WebCore::Frame::selectContentsOfNode):
        (WebCore::Frame::shouldChangeSelection):
        (WebCore::Frame::shouldDeleteSelection):
        (WebCore::Frame::isSelectionInPasswordField):
        (WebCore::Frame::appliedEditing):
        (WebCore::Frame::unappliedEditing):
        (WebCore::Frame::reappliedEditing):
        (WebCore::Frame::computeAndSetTypingStyle):
        (WebCore::Frame::applyStyle):
        (WebCore::Frame::applyParagraphStyle):
        (WebCore::Frame::selectionListState):
        (WebCore::Frame::selectionHasStyle):
        (WebCore::Frame::selectionComputedStyle):
        (WebCore::Frame::selectFrameElementInParentIfFullySelected):
        (WebCore::Frame::currentForm):
        (WebCore::Frame::revealSelection):
        (WebCore::Frame::centerSelectionInVisibleArea):
        (WebCore::Frame::styleForSelectionStart):
        (WebCore::Frame::setSelectionFromNone):
        (WebCore::Frame::findString):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * page/FrameView.cpp:
        (WebCore::FrameView::clear):
        * page/Page.cpp:
        (WebCore::Page::dragCaretController):
        * page/Page.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintCaret):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::autoscroll):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::selectionStart):
        (WebCore::RenderTextControl::selectionEnd):
        (WebCore::RenderTextControl::setSelectionRange):
        (WebCore::RenderTextControl::selectionChanged):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeSelection):

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

        Reviewed by Adam.

        Let the engine draw the focus ring for styled menu lists.

        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance.

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

        Reviewed by Adam.

        - Fix for <rdar://problem/4706463> REGRESSION: Must click twice on <select> elements for menu to show

        * rendering/RenderPopupMenuMac.h:
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::showPopup): Moved call to dismiss popup into hidePopup method.
         Now calls RenderMenuList::hidePopup which will update the m_popupIsVisible flag on the menu list before hiding the popup.
        (WebCore::RenderPopupMenuMac::hidePopup): Added.

2006-09-05  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=10738
        Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h

        - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
          DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.

        - Rename the "type-makers" (used to make a binding from an implementation 
          type) so that all the HTML ones begin with the prefix HTML.  Did the same
          for the CSS.

        - Auto-generate a couple more methods from DOMExtensions.h.

        - Various cleanups of the Objective-C auto-generation code.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMDocument createCSSStyleDeclaration]):
        * bindings/objc/DOMCSS.mm:
        (+[DOMCSSRuleList _CSSRuleListWith:]):
        (+[DOMCSSRule _CSSRuleWith:]):
        (+[DOMCSSStyleDeclaration _CSSStyleDeclarationWith:]):
        (+[DOMCSSValue _CSSValueWith:]):
        (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:]):
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getMatchedCSSRules::]):
        * bindings/objc/DOMCSSInternal.h: Removed.
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMEventsInternal.h: Removed.
        * bindings/objc/DOMEventsNonstandard.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.mm:
        (+[DOMHTMLCollection _HTMLCollectionWith:]):
        (+[DOMHTMLOptionsCollection _HTMLOptionsCollectionWith:]):
        (+[DOMHTMLElement _HTMLElementWith:]):
        (+[DOMHTMLFormElement _HTMLFormElementWith:]):
        (+[DOMHTMLTableCaptionElement _HTMLTableCaptionElementWith:]):
        (+[DOMHTMLTableSectionElement _HTMLTableSectionElementWith:]):
        (+[DOMHTMLTableElement _HTMLTableElementWith:]):
        (+[DOMHTMLTableCellElement _HTMLTableCellElementWith:]):
        * bindings/objc/DOMHTMLAppletElement.mm:
        * bindings/objc/DOMHTMLDocument.mm:
        (-[DOMHTMLDocument body]):
        (-[DOMHTMLDocument images]):
        (-[DOMHTMLDocument applets]):
        (-[DOMHTMLDocument links]):
        (-[DOMHTMLDocument forms]):
        (-[DOMHTMLDocument anchors]):
        * bindings/objc/DOMHTMLInternal.h: Removed.
        * bindings/objc/DOMHTMLOptionElement.mm:
        (-[DOMHTMLOptionElement form]):
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMRGBColor.mm:
        (setWrapperForRGB):
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        * bindings/objc/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue):
        * bindings/objc/DOMViews.mm:
        (-[DOMAbstractView WebCore::]):
        (-[DOMAbstractView _initWithAbstractView:WebCore::]):
        (+[DOMAbstractView _abstractViewWith:WebCore::]):
        * bindings/objc/DOMViewsInternal.h: Removed.
        * bindings/objc/DOMXPath.mm:
        * bindings/objc/DOMXPathInternal.h: Removed.
        * bindings/objc/PublicDOMInterfaces.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge typingStyle]):
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLinkElement.idl:

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

        Conditionalize new DOM headers for ObjC only

        * DerivedSources.make:

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10716
        XMLHttpRequest.responseText is null if HTTP response is empty

        Extended existing tests:
        - http/tests/xmlhttrequest/zero-length-response.html
        - http/tests/xmlhttrequest/zero-length-response-sync.html

        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest): Initialize responseText to an empty string.
        (WebCore::XMLHttpRequest::open): Reset responseText to an empty string.
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::getValueProperty): Return null rather than undefined
        for nil responseXML.

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

        Reviewed by Darin.

        Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
        http://bugs.webkit.org/show_bug.cgi?id=10714
        
        - New PublicDOMInterfaces.h file is consulted when generating
          the ObjC DOM files. All public DOM class interfaces, properties
          and methods need to be in this file. Anything not in the file will
          be generated into the appropriate private header file. During
          generation if something changed or is missing in the public API
          a build error will occur. New interfaces added to the IDLs files
          will now not automatically be reflected in the public ObjC API.
          Methods commented out in PublicDOMInterfaces.h are pending public
          and will be uncommented once approved.

        - Removed most of the Exclude=ObjC uses from the IDL files. This
          attribute was mostly used to prevent changes to the public headers.

        - Make a new parameter name if the original conflicts with a property name.

        - Simplified the generation code for dealing with exceptions.

        - Moved file opens to WriteData. Files are unlinked before
          being opened to work around a Leopard file truncation bug.

        - Fixed #imports for DOMImplementation to be DOMDOMImplementation.h

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/PublicDOMInterfaces.h: Added.
        * bindings/scripts/CodeGeneratorObjC.pm:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/NamedNodeMap.idl:
        * dom/ProcessingInstruction.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTextAreaElement.idl:

2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Continue fixing the build, I forgot this in my previous patch!

        * platform/qt/PathQt.cpp:
        (WebCore::Path::apply):

2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Fix build on Qt/Linux.

        * CMakeLists.txt:
        * platform/qt/PathQt.cpp:
        (WebCore::Path::transform):

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10676
        @charset rules not accessible via DOM

        Test: fast/encoding/css-charset-dom.html

        * WebCore.xcodeproj/project.pbxproj: Added CSSCharsetRule.cpp
        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleSheet::getValueProperty):
        Separated Rules and CssRules, since now they behave differently.

        * css/CSSCharsetRule.h: Make the constructor take an encoding.
        * css/CSSCharsetRule.cpp: Added.

        * css/CSSGrammar.y: Create CSSStylesheetRules as necessary.

        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::CSSRuleList):
        * css/CSSRuleList.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::cssRules):
        * css/CSSStyleSheet.h:
        Skip charset rules in IE compatibility mode.

        * css/StyleBase.h:
        (WebCore::StyleBase::isCharsetRule): Fixed a typo.

        * css/cssparser.cpp:
        (WebCore::CSSParser::createCharsetRule):
        * css/cssparser.h:
        Added createCharsetRule().

2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Darin.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10644
        Let FrameQt operate on a FrameQtClient, just like Win/Mac handle it.

        * CMakeLists.txt:
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::~FrameQt):
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        * platform/qt/FrameQt.h:
        * platform/qt/FrameQtClient.cpp: Added.
        (WebCore::FrameQtClientDefault::FrameQtClientDefault):
        (WebCore::FrameQtClientDefault::~FrameQtClientDefault):
        (WebCore::FrameQtClientDefault::setFrame):
        (WebCore::FrameQtClientDefault::openURL):
        (WebCore::FrameQtClientDefault::submitForm):
        (WebCore::FrameQtClientDefault::receivedResponse):
        (WebCore::FrameQtClientDefault::receivedData):
        (WebCore::FrameQtClientDefault::receivedAllData):
        * platform/qt/FrameQtClient.h: Added.
        (WebCore::FrameQtClient::~FrameQtClient):

2006-09-04  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        Clean-up style and spacing.
        http://bugs.webkit.org/show_bug.cgi?id=10724
        No tests needed, no functional changes.

        * ksvg2/svg/svgpathparser.cpp:
        (WebCore::parseCoord):
        (WebCore::SVGPolyParser::parsePoints):
        (WebCore::SVGPathParser::parseSVG):
        (WebCore::SVGPathParser::calculateArc):
        (WebCore::SVGPathParser::svgLineToHorizontal):
        (WebCore::SVGPathParser::svgLineToVertical):
        (WebCore::SVGPathParser::svgCurveToCubicSmooth):
        (WebCore::SVGPathParser::svgCurveToQuadratic):
        (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
        (WebCore::SVGPathParser::svgArcTo):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=6546
        clipPath data does not respect transforms

        Get the transform from the dom element and adjust
        the clip path with it.

        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):

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

        Reviewed by Eric.

        This code should have gone in as part of:
        http://bugs.webkit.org/show_bug.cgi?id=10696
        It addresses the comments there, also we use double instead
        of float now in calculations.

        * platform/Path.cpp:
        (WebCore::Path::createRoundedRectangle):
        (WebCore::Path::createRectangle):
        (WebCore::Path::createEllipse):
        (WebCore::Path::createCircle):

2006-09-03  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin and Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10711
          Auto-generate the Objective-C DOM Stylesheet bindings

          Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.mm:
        (+[DOMStyleSheet _styleSheetWith:]):
        (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
        * bindings/objc/DOMCSSInternal.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMObject.mm:
        (-[DOMObject sheet]):
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMStylesheets.h:
        * bindings/objc/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/StyleSheet.idl: Added.
        * css/StyleSheetList.idl: Added.

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10696
        RenderPathQuartz and RenderPathQt should not be needed

        Cleanup of code related to RenderPath.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasCreator.h:
        * kcanvas/RenderPath.cpp:
        (WebCore::):
        (WebCore::DrawMarkersData::DrawMarkersData):
        (WebCore::drawMarkerWithData):
        (WebCore::updateMarkerDataForElement):
        (WebCore::drawStartAndMidMarkers):
        (WebCore::RenderPath::drawMarkersIfNeeded):
        * kcanvas/RenderPath.h:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/RenderPathQt.cpp:
        (WebCore::RenderPath::strokeContains):
        (WebCore::RenderPath::strokeBBox):
        * kcanvas/device/qt/RenderPathQt.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::RenderPath::strokeBBox):
        (WebCore::RenderPath::strokeContains):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * kcanvas/device/quartz/QuartzSupport.h:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGCircleElement.cpp:
        (SVGCircleElement::toPathData):
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::toPathData):
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGGElement.cpp:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::toPathData):
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGPathElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGPolygonElement.cpp:
        * ksvg2/svg/SVGPolylineElement.cpp:
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::toPathData):
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::createRenderer):
        * ksvg2/svg/SVGSwitchElement.cpp:
        * ksvg2/svg/SVGTextElement.cpp:
        * ksvg2/svg/SVGUseElement.cpp:
        * platform/Path.h:
        (WebCore::):
        * platform/cg/PathCG.cpp:
        (WebCore::CGPathToCFStringApplierFunction):
        (WebCore::CGPathApplierToPathApplier):
        (WebCore::Path::apply):
        (WebCore::Path::transform):
        * platform/qt/PathQt.cpp:
        (WebCore::Path::apply):

2006-09-03  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        Bug 10685: ObjC DOM should have no unnamed parameters
        http://bugs.webkit.org/show_bug.cgi?id=10685

        - The ObjC code generation script now outputs parameter prefixes
          for methods that have more than 1 parameter. This prefix is simply
          the parameter name. Some parameter names have been changed in the IDL
          files to produce better prefixes. If an extended attribute of "ObjCPrefix"
          exists on a parameter we will use that for the prefix.

        - A backwards compatible version of the method is placed in a
          category with a deprecation macro for 10.5 and later. This step only
          happens if the IDL extended attribute "OldStyleObjC" is defined.
          All new functions in IDL should not get this attribute.

        - Made the $interfaceMethodSelector regex in IDLStructure.pm allow "=" so 
          parameter extended attributes can have values.

        - Moved RemoveExcludedAttributesAndFunctions to CodeGenerator.pm
          so it can be shared between the two generators.
          
        - Removed the die when we encounter a getter that uses exceptions.
          Sam Weinig added support for this in an earlier change.

        - Check if $ENV{"MACOSX_DEPLOYMENT_TARGET"} is defined before we compare.
          This caused a perl warning when generating on other platforms.

        - The ObjC generation will not happen on platforms other than Mac OS.
          This is determined by the "OS" env variable Xcode sets. This check
          is in the DerivedSources.make.

        - Added a way to skip generation if the constructor of the specific
          generator returns undef. Not used yet.

        - Many cleanup tweaks in CodeGeneratorObjC.pm.

        - Removed IDL and CSS files from the project's resource copy phase,
          these do no need to be in WebCore's resources. 

        * DerivedSources.make
        * WebCore.xcodeproj/project.pbxproj
        * bindings/scripts/CodeGenerator.pm
        * bindings/scripts/CodeGeneratorJS.pm
        * bindings/scripts/CodeGeneratorObjC.pm
        * bindings/scripts/IDLStructure.pm
        * css/CSSMediaRule.idl
        * css/CSSPrimitiveValue.idl
        * css/CSSStyleDeclaration.idl
        * css/CSSStyleSheet.idl
        * dom/CharacterData.idl
        * dom/DOMImplementation.idl
        * dom/Document.idl
        * dom/Element.idl
        * dom/KeyboardEvent.idl
        * dom/MouseEvent.idl
        * dom/MutationEvent.idl
        * dom/NamedNodeMap.idl
        * dom/UIEvent.idl
        * html/HTMLCanvasElement.idl
        * html/HTMLSelectElement.idl
        * ksvg2/bindings/idl/svg/SVGLengthList.idl
        * ksvg2/bindings/idl/svg/SVGNumberList.idl
        * ksvg2/bindings/idl/svg/SVGPointList.idl
        * ksvg2/bindings/idl/svg/SVGStringList.idl
        * ksvg2/bindings/idl/svg/SVGTextContentElement.idl
        * ksvg2/bindings/idl/svg/SVGTransformList.idl
        * ksvg2/svg/SVGSVGElement.idl
        * page/DOMWindow.idl

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

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=10693
        Convert JavaScript arrays to AppleScript lists

        Test: fast/AppleScript/array.html

        * bridge/mac/WebCoreFrameBridge.mm:
        (aeDescFromJSValue): Added a case for ArrayInstance.

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10697
        REGRESSION (r16175): Errors in incremental decoding of UTF-8

        Tests:
        - http/tests/incremental/slow-utf8-html.pl
        - fast/encoding/charset-invalid.html

        * loader/Decoder.cpp:
        (Decoder::Decoder): Ensure that we have a valid encoding. Get its name via TextEncoding, to match
        the logic in setEncodingName().
        (Decoder::setEncodingName): Only set m_encodingName if the encoding is valid. Rely on TextEncoding
        constructor to lowercase it if necessary.
        (Decoder::decode): Use setEncodingName() to apply encoding from BOM. Don't try to ensure the
        validity of encoding - it is enforced by class constructor and setEncodingName().

2006-09-02  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10684
          Auto-generate the Objective-C DOM CSS bindings

          Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
          DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
          DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
          DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.

          Splits DOMRGBColor into its own files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCSS.mm:
        (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
        (+[DOMCSSPrimitiveValue _valueWith:]):
        * bindings/objc/DOMCSSInternal.h:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMRGBColor.h: Added.
        * bindings/objc/DOMRGBColor.mm: Added.
        (getWrapperForRGB):
        (setWrapperForRGB):
        (removeWrapperForRGB):
        (-[DOMRGBColor dealloc]):
        (-[DOMRGBColor finalize]):
        (-[DOMRGBColor red]):
        (-[DOMRGBColor green]):
        (-[DOMRGBColor blue]):
        (-[DOMRGBColor alpha]):
        (-[DOMRGBColor color]):
        (-[DOMRGBColor _initWithRGB:WebCore::]):
        (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
        * bindings/scripts/CodeGeneratorObjC.pm:
        * css/CSSCharsetRule.idl: Added.
        * css/CSSFontFaceRule.idl: Added.
        * css/CSSImportRule.idl: Added.
        * css/CSSMediaRule.idl: Added.
        * css/CSSPageRule.idl: Added.
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl: Added.
        * css/CSSStyleSheet.idl: Added.
        * css/CSSUnknownRule.idl: Added.
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/RGBColor.idl: Added.
        * css/Rect.idl:
        * css/RectImpl.h:

2006-09-02  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Justin.
        
        http://bugs.webkit.org/show_bug.cgi?id=10579
        AppleStyleCommand::applyBlockStyle crash

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
        making sure that the 'beyondEnd' node is after the start node.

2006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Tim H.

        Bug 10454: Unix bakefile fixes
        http://bugs.webkit.org/show_bug.cgi?id=10454

        * WebCoreSources.bkl:
        * platform/gdk/RenderPopupMenuGdk.cpp:
        (WebCore::RenderPopupMenuGdk::RenderPopupMenuGdk):
        * platform/gdk/RenderPopupMenuGdk.h:
        * platform/gdk/RenderThemeGdk.cpp:
        (WebCore::RenderThemeGdk::createPopupMenu):
        (WebCore::RenderThemeGdk::systemFont):
        * platform/gdk/RenderThemeGdk.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        * webcore-base.bkl:

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

        Reviewed by Anders.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10667
          Password: Double-click should select-all to avoid exposing word boundaries

        Test: fast/forms/password-doubleclick-selection.html

        * editing/visible_units.cpp:
        (WebCore::previousBoundary): When searching for boundaries in renderers that use the textSecurity property, 
         convert characters in strings to alpha-numeric characters (in this case, all 'x's) so that every character
         isn't treated as a punctuation boundary.
        (WebCore::nextBoundary): ditto.
        * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Updated to use the renderer's 
          string instead of the node value.  This matches the base class implementation of handleTextNode.

        Code cleanup.
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 
          Avoid unnecessary check for password field case if the smart replace condition is false.
        * page/Frame.cpp: (WebCore::Frame::mayCopy): Removed duplicate code.  Calls isSelectionInPasswordField now.
        * rendering/RenderText.cpp: (WebCore::RenderText::setText): Updated formatting.

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

        Fix for 10682, refine the FOUC paint suppression logic so that it
        is only triggered when FOUC would really have occurred.

        Reviewed by aroben

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
        (WebCore::Document::updateStyleSelector):
        * dom/Document.h:
        (WebCore::Document::haveStylesheetsLoaded):
        (WebCore::Document::):
        (WebCore::Document::didLayoutWithPendingStylesheets):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):

2006-09-01  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin. Updated/landed by Adam.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=10553
        Windows build fixes

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.vcproj/WebCore/build-generated-files.sh:
        * bridge/win/FrameWin.h:
        * bridge/win/PageWin.cpp:
        (WebCore::Page::Page):
        * platform/win/FontWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::registerCommandForUndo):
        (FrameWin::canPaste):
        (FrameWin::issuePasteAndMatchStyleCommand):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (FrameWin::overrideMediaType):
        (FrameWin::saveDocumentState):
        (FrameWin::respondToChangedContents):
        (FrameWin::handledOnloadEvents):
        (FrameWin::createPlugin):
        (FrameWin::objectContentType):
        (Path::contains):
        (TextField::TextField):
        (RenderPopupMenuWin::hidePopup):
        (RenderThemeWin::paintMenuList):
        (RenderThemeWin::adjustMenuListStyle):
        (CString::CString):
        (CString::data):
        * platform/win/WidgetWin.cpp:
        * rendering/RenderPopupMenuWin.h:

2006-09-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Omernick

        Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
        Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
        Also, fixed a grammar error in my previous ChangeLog entry.

        * bridge/mac/WebCorePageBridge.mm:
        (initializeLoggingChannelsIfNecessary): Initialize the new channel
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
        (WebCore::SQLDatabase::setBusyHandler): ditto
        (WebCore::SQLDatabase::clearAllTables): ditto
        (WebCore::SQLDatabase::runVacuumCommand): ditto
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::prepare): Added a log
        (WebCore::SQLStatement::step): ditto
        (WebCore::SQLStatement::finalize): ditto
        (WebCore::SQLStatement::reset): ditto
        (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
        (WebCore::SQLStatement::returnTextResults): ditto
        (WebCore::SQLStatement::returnTextResults16): ditto
        (WebCore::SQLStatement::returnIntResults): ditto
        (WebCore::SQLStatement::returnInt64Results): ditto
        (WebCore::SQLStatement::returnDoubleResults): ditto
        * platform/Logging.cpp:
        (WebCore::): Added new logging channel
        * platform/Logging.h: ditto

2006-09-01  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Omernick.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6990
        Switch to use new text field implementation for <input type="password">

        * css/html4.css: Give input[password] the same style properties as normal text fields.
        * html/HTMLInputElement.cpp: Removed checks for TextFieldAppearance.
        (WebCore::HTMLInputElement::selectionStart):
        (WebCore::HTMLInputElement::selectionEnd):
        (WebCore::HTMLInputElement::setSelectionStart):
        (WebCore::HTMLInputElement::setSelectionEnd):
        (WebCore::HTMLInputElement::select):
        (WebCore::HTMLInputElement::setSelectionRange):
        (WebCore::HTMLInputElement::createRenderer):
        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField):

2006-09-01  Brady Eidson  <beidson@apple.com>

        Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)

        Added some constants for SQL Result Codes to SQLDatabase.h
        This way, users of SQLDatabase can access all necessary SQLite functionality
        without having access to sqlite3.h.
        Also reordered some files in the xcodeproj and some #includes

        * WebCore.xcodeproj/project.pbxproj:  Reordered some files 
        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::writeToDatabase): Use our new result codes
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::sharedIconDatabase): Use our new result codes
        (WebCore::IconDatabase::retainIconForPageURL): Use our new result codes
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Use our new result codes
        (WebCore::IconDatabase::addIconForIconURLQuery): Use our new result codes
        (WebCore::IconDatabase::hasIconForIconURLQuery): Use our new result codes
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::lastError): Moved from header to eliminate dependency on sqlite3.h in header
        (WebCore::SQLDatabase::lastErrorMsg): Ditto
        * loader/icon/SQLDatabase.h: Removed #include <sqlite3.h>
        * loader/icon/SQLStatement.cpp: Added #include <sqlite3.h>
        * loader/icon/SQLStatement.h: Removed #include <sqlite3.h>

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

        Fix for 10680, contrained flexbox is not shrinking flexible children
        properly.  (Fixing in case it's hit by the file upload control.)

        Reviewed by aroben

        Adding 026.html to fast/flexbox.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::allowedChildFlex):

2006-09-01  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.  Landed by eseidel.

        Implement support for multiple parents in the SVG idls.

        For class "FooBar" go through all parents recursively,
        collect their attributes & functions & constants and
        add them directly into the class "FooBar".

        (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first)

        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/generate-bindings.pl:

2006-09-02  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by hyatt.  Landed by eseidel.

        Fix build on Linux.

        * CMakeLists.txt: Add platform/CString.cpp.
        * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature
        * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature

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

        Reviewed by Brady.

        - a few small tweaks to the icon database bridge

        * bridge/mac/WebCoreIconDatabaseBridge.h: Removed unnecessary declarations.
        Renamed sharedBridgeInstance to sharedInstance.
        * bridge/mac/WebCoreIconDatabaseBridge.mm: Put functions inside WebCore namespace.
        (WebCore::IconDatabase::loadIconFromURL): Updated for sharedInstance namespace.

2006-09-01  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/4651318> REGRESSION: can't drag library items to widget in Dashcode
        <rdar://problem/4701626> REGRESSION: Unit Converter widget doesn't work convert data in its fields

        jsNull should not be returned as NSNull because existing applications do not
        expect that return value. Return as nil for backwards compatibility.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):

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

        Release build fix.

        * loader/Decoder.cpp:
        (Decoder::Decoder): Use String::latin1().

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

        Reviewed by Eric.

        - http://bugs.webkit.org/show_bug.cgi?id=5620
        Should only honor encoding from <meta> in HTML

        - http://bugs.webkit.org/show_bug.cgi?id=9783
        An XML declaration without an explicit encoding incorrectly triggers
        UTF-8 encoding in an HTML document

        - http://bugs.webkit.org/show_bug.cgi?id=10155
        CSS2: @charset is not supported
        
        * loader/Decoder.cpp:
        (Decoder::Decoder): Decoder now knows what kind of content it is decoding.
        Also, the browser default encoding can now be passed directly to the constructor,
        to streamline the logic.
        (Decoder::decode): Add support for @charset, differentiate between HTML and XML.
        (Decoder::setEncodingName): Style cleanup.
        (Decoder::encodingName): Ditto.
        (Decoder::flush): Ditto.
        * loader/Decoder.h:
        (WebCore::Decoder::):

        * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
        (WebCore::CachedCSSStyleSheet::setCharset):
        (WebCore::CachedCSSStyleSheet::data):
        * loader/CachedCSSStyleSheet.h:
        Use Decoder instead of TextEncoding::toUnicode() to enable @charset support.

        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type.
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto.
        (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe.

        * page/Frame.cpp:
        (WebCore::Frame::write): Pass a content type and a default encoding to 
        the Decoder.
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document
        MIME type.
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::receivedData): Ditto.

2006-09-01  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10580
          Password: New secure text field allows non-Roman text entry

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode.
        (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry.
        * bridge/mac/FrameMac.h: ditto.
        * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto.
        * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto.

2006-09-01  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=10665
          Password: Disable smartReplace for new password fields

        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
          Don't smart replace when the selection being replaced is in a password field.

2006-08-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10669
          Auto-generate the remaining Objective-C HTML DOM bindings
          
          Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement,
          DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement,
          DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement,
          DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement,
          DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement,
          DOMHTMLTableCaptionElement, DOMHTMLTableCellElement,
          DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement,
          and DOMHTMLTableSectionElement.  

          Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own 
          files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLAnchorElement absoluteLinkURL]):
        (-[DOMHTMLImageElement altDisplayString]):
        (-[DOMHTMLImageElement absoluteImageURL]):
        (-[DOMHTMLImageElement WebCore::]):
        (-[DOMHTMLObjectElement absoluteImageURL]):
        (-[DOMHTMLObjectElement WebCore::]):
        (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
        (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
        (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
        (-[DOMHTMLTableSectionElement _tableSectionElement]):
        (+[DOMHTMLTableElement _tableElementWith:]):
        (-[DOMHTMLTableElement _tableElement]):
        (+[DOMHTMLTableCellElement _tableCellElementWith:]):
        (-[DOMHTMLTableCellElement _tableCellElement]):
        * bindings/objc/DOMHTMLAppletElement.h: Added.
        * bindings/objc/DOMHTMLAppletElement.mm: Added.
        (-[DOMHTMLAppletElement WebCore::]):
        (-[DOMHTMLAppletElement align]):
        (-[DOMHTMLAppletElement setAlign:]):
        (-[DOMHTMLAppletElement alt]):
        (-[DOMHTMLAppletElement setAlt:]):
        (-[DOMHTMLAppletElement archive]):
        (-[DOMHTMLAppletElement setArchive:]):
        (-[DOMHTMLAppletElement code]):
        (-[DOMHTMLAppletElement setCode:]):
        (-[DOMHTMLAppletElement codeBase]):
        (-[DOMHTMLAppletElement setCodeBase:]):
        (-[DOMHTMLAppletElement height]):
        (-[DOMHTMLAppletElement setHeight:]):
        (-[DOMHTMLAppletElement hspace]):
        (-[DOMHTMLAppletElement setHspace:]):
        (-[DOMHTMLAppletElement name]):
        (-[DOMHTMLAppletElement setName:]):
        (-[DOMHTMLAppletElement object]):
        (-[DOMHTMLAppletElement setObject:]):
        (-[DOMHTMLAppletElement vspace]):
        (-[DOMHTMLAppletElement setVspace:]):
        (-[DOMHTMLAppletElement width]):
        (-[DOMHTMLAppletElement setWidth:]):
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/objc/DOMHTMLOptionElement.h: Added.
        * bindings/objc/DOMHTMLOptionElement.mm: Added.
        (-[DOMHTMLOptionElement WebCore::]):
        (-[DOMHTMLOptionElement form]):
        (-[DOMHTMLOptionElement defaultSelected]):
        (-[DOMHTMLOptionElement setDefaultSelected:]):
        (-[DOMHTMLOptionElement text]):
        (-[DOMHTMLOptionElement index]):
        (-[DOMHTMLOptionElement disabled]):
        (-[DOMHTMLOptionElement setDisabled:]):
        (-[DOMHTMLOptionElement label]):
        (-[DOMHTMLOptionElement setLabel:]):
        (-[DOMHTMLOptionElement selected]):
        (-[DOMHTMLOptionElement setSelected:]):
        (-[DOMHTMLOptionElement value]):
        (-[DOMHTMLOptionElement setValue:]):
        * bindings/objc/DOMPrivate.h:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-08-31  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement _isTextField]):
        moved isindex from the list of nonTextInputTypes to the list of textInputTypes
        * css/html4.css:
        added isindex to certain rules that applied to input fields
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::canHaveSelection):
        (WebCore::HTMLInputElement::selectionStart):
        (WebCore::HTMLInputElement::selectionEnd):
        (WebCore::HTMLInputElement::setSelectionStart):
        (WebCore::HTMLInputElement::setSelectionEnd):
        (WebCore::HTMLInputElement::select):
        (WebCore::HTMLInputElement::setSelectionRange):
        (WebCore::HTMLInputElement::createRenderer):
        for the 8 methods above, moved the case for isindex to the same case as text
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::isNonWidgetTextField):
        added isindex to this test
        * html/HTMLIsIndexElement.idl:
        HTMLIsIndexElement inherits from HTMLInputElement
        * rendering/RenderLineEdit.cpp:
        (WebCore::RenderLineEdit::RenderLineEdit):
        removed the case for isindex since we changed the renderer type from a RenderLineEdit
        to a RenderTextControl in WebCore::HTMLInputElement::createRenderer()

2006-08-31  David Harrison  <harrison@apple.com>

        Reviewed by Adele.

        <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly

        ... and most of
        <rdar://problem/4708022> REGRESSION: TextRange-based attributes are missing from text fields
        <rdar://problem/4709515> REGRESSION: Expose text areas

        Remaining work for those two bugs in new bugs:

        <rdar://problem/4712101> Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements
        <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
        <rdar://problem/4712125> Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements

        * bridge/AXObjectCache.h:
        (WebCore::AXObjectCache::postNotificationToElement):
        * bridge/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postNotification):
        (WebCore::AXObjectCache::postNotificationToElement):
        Removed postNotificationToTopWebArea.
        postNotification now posts to input element or top web area, as appropriate.
        postNotificationToElement posts to the specified element itself.
        
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::respondToChangedContents):
        Take a selection.  Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any.
        
        * bridge/mac/WebCoreAXObject.h:
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject isWebArea]):
        (-[WebCoreAXObject isAnchor]):
        (-[WebCoreAXObject isTextRange]):
        New convenience methods.
        
        (-[WebCoreAXObject role]):
        (-[WebCoreAXObject roleDescription])        
        (-[WebCoreAXObject value]):
        (-[WebCoreAXObject accessibilityDescription]):
        Support AXTextField and AXTextArea.

        (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
        Register AXTextField and AXTextArea elements so notifications to them can be observed.
        
        (-[WebCoreAXObject accessibilityIsIgnored]):
        Use new convenience method isWebArea.

        (-[WebCoreAXObject accessibilityAttributeNames]):
        Simplify the array creation.
        Add text range support.
       
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        Add text range support.
       
        (-[WebCoreAXObject canSetFocusAttribute]):
        (-[WebCoreAXObject canSetValueAttribute]):
        (-[WebCoreAXObject canSetTextRangeAttributes]):
        New convenience methods.
        
        (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
        (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
        Add text range support.

        (-[WebCoreAXObject observableObject]):
        New to locate text field or text area to notify.
        
        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        Post AXSelectedTextChanged notification with new selection's start node.
        postNotification will send it to the input element, if there is one, or the top WebArea.
        
        (WebCore::Document::implicitClose):
        Use postNotificationToElement now that it acts like the old postNotification.
        
        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::appliedEditing):
        (WebCore::Frame::unappliedEditing):
        (WebCore::Frame::reappliedEditing):
        Pass the selection of interest to respondToChangedContents.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        Use postNotificationToElement now that it acts like the old postNotification.

2006-08-31  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10666
        Password: Disallow Spelling, Font, Speech, and Writing Direction context menu

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added.
        * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added.
        * page/Frame.h:

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

        Reviewed by Tim O, Hyatt.

        * WebCore.xcodeproj/project.pbxproj:
        Add KURLCFNet.cpp
        
        * platform/KURL.h:
        Get rid of include, add KURL constructor that takes a CFURLRef.
        
        * platform/PlatformString.h:
        * platform/StringImpl.h:
        Get rid of include.
        
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::KURL):
        Add constructor.
        
        * platform/cf/ResourceLoaderCFNet.cpp:
        Fix includes.
        
        * platform/cf/StringCF.cpp:
        (WebCore::String::createCFString):
        Move this here from PlatformString.h
        
        * platform/cf/StringImplCF.cpp:
        (WebCore::StringImpl::createCFString):
        Fix cast.
        
        * platform/mac/KURLMac.mm:
        Move createCFURL() to KURLCFNet.cpp

2006-08-31 Dave Hyatt <hyatt@apple.com>

        Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.

        Reviewed by adam

        * platform/ScrollBar.cpp:

2006-08-31  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        Cleaned up my last patch after further considerations

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
          for and fix danglers.  Does so in all builds (changed from debug only in my last patch)
        (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
        (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
        * loader/icon/IconDatabase.h:

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

        Reviewed by Maciej.

        Add CString. CString is a simple, null-terminated byte buffer that supports data
        sharing. Its main use is to be a better const char*.
        
        Also add latin1 and utf8 methods to String which returns CStrings.
        
        * platform/CString.cpp: Added.
        (WebCore::CString::CString):
        (WebCore::CString::init):
        (WebCore::CString::data):
        (WebCore::CString::length):
        (WebCore::CString::deprecatedCString):
        * platform/CString.h: Added.
        (WebCore::CStringBuffer::CStringBuffer):
        (WebCore::CStringBuffer::data):
        (WebCore::CStringBuffer::length):
        (WebCore::CString::CString):
        (WebCore::CString::operator const char*):
        (WebCore::CString::isNull):
        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::latin1):
        (WebCore::String::utf8):

2006-08-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Hyatt

        Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
        Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
        (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
        (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
        * loader/icon/IconDatabase.h:

2006-08-31  Brady Eidson  <beidson@apple.com>

        Reviewed by Hyatt

        Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
        causing icons to be pruned before their time and pages to lose their icons.  This is because I misunderstood
        how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of 
        perform an update.  Also added an assertion to make sure this doesn't happen again.

        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
          this into an UPDATE attempt followed by the initial INSERT
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
          in the future.  Note this change will not cause incompatibility with the current schema, therefore I didn't update
          the official database version number
        (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
        * loader/icon/SQLDatabase.h: Ditto

2006-08-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10653
          Auto-generate another 20 Objective-C DOM HTML bindings

          Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, 
          DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, 
          DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
          DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
          DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
          DOMHTMLTextAreaElement, and DOMHTMLUListElement.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLInputElement altDisplayString]):
        (-[DOMHTMLInputElement absoluteImageURL]):
        (-[DOMHTMLInputElement WebCore::]):
        (-[DOMHTMLInputElement _rectOnScreen]):
        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
        (-[DOMHTMLInputElement _selectedRange]):
        (-[DOMHTMLInputElement _setAutofilled:]):
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-08-31  Adele Peterson  <adele@apple.com>

        Reviewed by John Sullivan.

        Removing use of SPI in favor of Carbon API to enable and disable secure event input.

        * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
        * platform/mac/WebCoreSystemInterface.h: ditto.
        * platform/mac/WebCoreSystemInterface.mm: ditto.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
        (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.

2006-08-30  Brady Eidson  <beidson@apple.com>

        Reviewed by "common sense" (and Maciej)

        Fixed two logging typos

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::syncDatabase):

2006-08-30  Adele Peterson  <adele@apple.com>

        Adding missing nil check for focus node.

        * page/Frame.cpp: (WebCore::Frame::setIsActive):

2006-08-30  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        WebCore part of fix for  http://bugs.webkit.org/show_bug.cgi?id=10575
        Enable secure input mode for new password fields

        * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
        * platform/mac/WebCoreSystemInterface.h: ditto.
        * platform/mac/WebCoreSystemInterface.mm: ditto.

        * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
        (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
        (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
        * page/Frame.h:
        (WebCore::Frame::setSecureKeyboardEntry):
        (WebCore::Frame::secureKeyboardEntry):

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

        Reviewed by Tim Hatcher.

        - eliminated the need for UsesPassRefPtr in IDL files
        - got rid of the category mechanism for ObjC generated DOM headers
          (after discussions with Tim H where we decided it's not needed)
        - simplified use of macro inside ObjC generated code

        * ForwardingHeaders/wtf/GetPtr.h: Added.

        * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
        categories. Eliminated use of DOM_cast since that's for the protection
        of human programmers -- the script won't make mistakes that it needs
        to catch. Changed macro to always be named IMPL instead of incorporating
        the class name. Use WTF::getPtr to extract the pointer, and removed the
        code that uses .get() to extract the pointer in the PassRefPtr case.

        * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
        * dom/DOMImplementation.idl: Ditto.
        * dom/Document.idl: Ditto.
        * dom/Element.idl: Ditto.
        * dom/NamedNodeMap.idl: Ditto.
        * html/HTMLDocument.idl: Ditto.
        * html/HTMLElement.idl: Ditto.
        * html/HTMLFormElement.idl: Ditto.
        * html/HTMLMapElement.idl: Ditto.
        * html/HTMLSelectElement.idl: Ditto.
        * html/HTMLTableElement.idl: Ditto.
        * html/HTMLTableRowElement.idl: Ditto.
        * html/HTMLTableSectionElement.idl: Ditto.

2006-08-30  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their 
        ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
        run as if it was disabled via a preference.
        Also took the opportunity to change some ASSERTS() to reasonable behavior

        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure 
          out there's a problem.
        (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
        (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
        (-[WebCoreIconDatabaseBridge retainIconForURL:]):
        (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
        (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
        (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
        (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open): If we fail to open, return false 
        (WebCore::IconDatabase::~IconDatabase): cleanup better
        * loader/icon/IconDatabase.h:

2006-08-30  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
        <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject canSetFocusAttribute]):
        (-[WebCoreAXObject canSetValueAttribute]):
        New utility methods.  Text fields and buttons are focusable.
        Text fields can have their value set. We need not make
        popupbutton value settable because AppKit does not.
        
        (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
        Call new utility methods.
        
        (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
        Set focus for text field or button.
        Set value for text field.
        
2006-08-30  David Hyatt  <hyatt@apple.com>

        Fix for bugs 9000 and 10606.  Add code to suppress painting when
        a FOUC situation would otherwise occur.  There will still typically be
        a flash to white, but at least the wrong content won't show.

        Reviewed by darin

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
        (WebCore::Document::preferredStylesheetSet):
        (WebCore::Document::selectedStylesheetSet):
        (WebCore::Document::setSelectedStylesheetSet):
        (WebCore::Document::stylesheetLoaded):
        (WebCore::Document::updateStyleSelector):
        * dom/Document.h:
        (WebCore::Document::haveStylesheetsLoaded):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintChildren):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintLayer):
        (WebCore::isSubframe):
        (WebCore::RenderLayer::hitTest):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle):

2006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Eric. Landed by rwlbuis.
 
         Apply Rob's fixes in RenderPathQt too -> unbreak build.
 
         * kcanvas/RenderPath.h: Some style cleanups.
         * kcanvas/device/qt/RenderPathQt.cpp:
         (WebCore::RenderPathQt::strokeContains):
         * kcanvas/device/qt/RenderPathQt.h:

2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10640
          Auto-generate 10 more Objective-C DOM HTML bindings

          Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
          DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
          DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.

          Splits DOMHTMLDocument into it's own files.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMHTMLDocument.h: Added.
        * bindings/objc/DOMHTMLDocument.mm: Added.
        (-[DOMHTMLDocument WebCore::]):
        (-[DOMHTMLDocument title]):
        (-[DOMHTMLDocument setTitle:]):
        (-[DOMHTMLDocument referrer]):
        (-[DOMHTMLDocument domain]):
        (-[DOMHTMLDocument URL]):
        (-[DOMHTMLDocument body]):
        (-[DOMHTMLDocument setBody:]):
        (-[DOMHTMLDocument images]):
        (-[DOMHTMLDocument applets]):
        (-[DOMHTMLDocument links]):
        (-[DOMHTMLDocument forms]):
        (-[DOMHTMLDocument anchors]):
        (-[DOMHTMLDocument cookie]):
        (-[DOMHTMLDocument setCookie:]):
        (-[DOMHTMLDocument open]):
        (-[DOMHTMLDocument close]):
        (-[DOMHTMLDocument write:]):
        (-[DOMHTMLDocument writeln:]):
        (-[DOMHTMLDocument getElementById:]):
        (-[DOMHTMLDocument getElementsByName:]):
        (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
        (-[DOMHTMLDocument createDocumentFragmentWithText:]):
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * html/HTMLDocument.idl:

2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Use QColor <-> Color conversion operator, instead of faking it.

        * platform/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillRect):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10586
        pointer-events has issues when things are not stroked/filled

        Add a param to fillContains/strokeContains to indicate
        whether we still want hit testing when there is no fill/stroke.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::nodeAtPoint):
        * kcanvas/RenderPath.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::KCanvasItemQuartz::strokeContains):

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

        Reviewed by harrison
        
        <rdar://problem/4700297>
        REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
        around insertionPos before insertion because the content might 
        cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
        * editing/htmlediting.cpp:
        (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
        for simplicity, we can produce sequences of regular spaces and
        nbsps on serialization (10636).

2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        The old solution was slow & does not work correctly.
        Move the QString -> DeprecatedString conversion into
        DeprectedString.cpp, to be able to access allocateHandle().

        * platform/DeprecatedString.cpp:
        (WebCore::DeprecatedString::DeprecatedString):
        * platform/qt/StringQt.cpp:

2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Implement containsCharacters() / determinePitch() functions.

        * platform/qt/FontDataQt.cpp:
        (WebCore::FontData::containsCharacters):
        (WebCore::FontData::determinePitch):

2006-08-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin's rubberstamp

        We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead

        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::removeAllIcons):

2006-08-29  waylonis  <waylonis@google.com>

        Reviewed, tweaked by ggaren.
        
        - Changed to use ExecState on current context rather than global.
          Part of the fix for http://bugs.webkit.org/show_bug.cgi?id=10114
        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject throwException:]):
        (-[WebScriptObject setException:]):

2006-08-30  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - WebCore part of fix for:
        http://bugs.webkit.org/show_bug.cgi?id=10576
        Disallow copy from new password fields

        * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
        * page/Frame.h: Added mayCopy.

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
        (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method.  This also checks mayCopy now.
        (WebCore::FrameMac::mayDHTMLCopy): ditto.
        (WebCore::FrameMac::tryDHTMLCut): ditto.
        (WebCore::FrameMac::tryDHTMLCopy): ditto.
        (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
        (WebCore::FrameMac::tryDHTMLPaste): ditto.
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
        (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
        (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
        (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
        (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
        (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
        (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.

        * css/html4.css: Added !important to the -webkit-text-security property for password fields.

2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Commit KDE related tweaks, to be able to
        differentiate between a Qt-only or a KDE build.

        * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
                          Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.

2006-08-30  Timothy Hatcher  <timothy@apple.com>

        Rubber-stamped by Brady.

        Fix for the generated headers to make the build work
        during "installhdrs" builds. Also export DOM headers
        using the #import <WebCore/DOM*.h> syntax.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorObjC.pm:

2006-08-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Kevin Decker (Sarge)

        <rdar://problem/4678414> - New IconDB needs to delete icons when asked
        <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge removeAllIcons]):  Added
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
        (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
        (WebCore::IconDatabase::removeAllIcons): Actually implemented
        (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
        * loader/icon/IconDatabase.h:
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
        (WebCore::SQLDatabase::vacuum): Added
        * loader/icon/SQLDatabase.h:
        (WebCore::SQLDatabase::path): changed name from getPath()

2006-08-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Alice

        Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
        This is a win on the iBench

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconURLForPageURL):
        * loader/icon/IconDatabase.h:

2006-08-29  Alice Liu  <alice.liu@apple.com>

        Reviewed by Brady.

        Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar

        * platform/mac/ScreenMac.mm:
        (WebCore::flipScreenRect):
        reverted the one line in this method back to what it was before r15765.  This changed caused window.screenY to be incorrect.  

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

        Reviewed by Hyatt.

        - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)

        The bug was that we would return "none" for computed style properties when they were
        exactly "-1px".

        Test: fast/css/computed-style-negative-top.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForLength): Moved special case for "undefined length" out of here.
        (WebCore::valueForMaxLength): Moved it into here.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
        only for max-height and max-width.

2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        Add path-related SVG JavaScript bindings to generation.

        * CMakeLists.txt:

2006-08-29  Eric Seidel  <eric@webkit.org>

        Reviewed by kevin.

        Re-enable path-related SVG JavaScript bindings.
        http://bugs.webkit.org/show_bug.cgi?id=10623
        Split all SVGPathSeg*.idl files into Abs and Rel pieces.
        Move all SVGPath*.idl files into ksvg2/svg

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
        * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
        * ksvg2/ksvg.h: move SVGPathSegment enum
        * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
        (WebCore::SVGPathElement::toPathData):
        * ksvg2/svg/SVGPathSeg.cpp:
        (WebCore::SVGPathSeg::SVGPathSeg):
        * ksvg2/svg/SVGPathSeg.h:
        (WebCore::SVGPathSeg::):
        * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
        * ksvg2/svg/SVGPathSegArcRel.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
        * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
        * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
        * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.

2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric, landed by Anders.

        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604

        Finish Unity merging. Remove libcurl usage, in favour of KIO.
        This makes the regression testing fly! IO processing is way faster now.

        * CMakeLists.txt:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        (WebCore::FrameQt::createEmptyDocument):
        (WebCore::FrameQt::receivedData):
        (WebCore::FrameQt::receivedAllData):
        * platform/qt/FrameQt.h:
        * platform/qt/ResourceLoaderCurl.cpp: Removed.
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::ResourceLoaderManager):
        (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
        (WebCore::ResourceLoaderManager::self):
        (WebCore::ResourceLoaderManager::slotData):
        (WebCore::ResourceLoaderManager::slotMimetype):
        (WebCore::ResourceLoaderManager::slotResult):
        (WebCore::ResourceLoaderManager::remove):
        (WebCore::ResourceLoaderManager::add):
        * platform/qt/ResourceLoaderManager.h:
        * platform/qt/ResourceLoaderQt.cpp: Added.
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::receivedResponse):

2006-08-29  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Eric.

        Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
        http://bugs.webkit.org/show_bug.cgi?id=10632

        Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
        This is backwards compatible with the getter/setter methods.
        Generate setter arguments with a "new" prefix to avoid the property
        name conflict warning. Also removes some whitespace and the comments
        that we added to the headers. This makes the headers look like what we ship now.

        * bindings/objc/DOMCSS.mm:
        (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
        (-[DOMDocument getMatchedCSSRules::]): ditto.
        * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.

2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Fix time calculation, by using a correct calculation. Calling time()
        returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
        Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>

        * platform/qt/SystemTimeQt.cpp:
        (WebCore::currentTime):

2006-08-29  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10628
          Auto-generate the remaining Objective-C DOM bindings

          Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
          and DOMHTMLOptionsCollection, and lays groundwork for the rest of the 
          HTML DOM bindings by adding/fixing the appropriate IDL's and updating
          the CodeGeneratorObjC.pm build script.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMHTML.mm:
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/scripts/CodeGeneratorObjC.pm:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLCollection.idl: Added.
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl: Added.
        * html/HTMLFrameSetElement.idl: Added.
        * html/HTMLIFrameElement.idl: Added.
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLObjectElement.idl: Added.
        * html/HTMLOptionsCollection.idl:
        * html/HTMLPreElement.idl:
        * html/HTMLSelectElement.idl: Added.
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl: Added.
        * html/HTMLTableCellElement.idl: Added.
        * html/HTMLTableColElement.idl: Added.
        * html/HTMLTableElement.idl: Added.
        * html/HTMLTableRowElement.idl: Added.
        * html/HTMLTableSectionElement.idl: Added.
        * html/HTMLTextAreaElement.idl:

2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10629.
        Drawing convex polygons is broken in the Qt platform.

        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):

2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Implementing font hashing properly, fixes weird crashes in HashMap.

        * platform/qt/FontPlatformData.h:
        * platform/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::hash):

2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by ggaren.

        Fix scrollbars to reappear after the first layouting.

        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::suppressScrollBars):

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

        Reviewed by Darin and Geoff.

        Move the CF String functions to separate files in platform/cf.
        Also, move the files in platform/cfnet to platform/cf.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/PlatformString.h:
        * platform/StringImpl.h:
        * platform/cf/StringCF.cpp: Added.
        (WebCore::String::String):
        * platform/cf/StringImplCF.cpp: Added.
        (WebCore::StringImpl::createCFString):
        * platform/cfnet/KURLCFNet.cpp: Removed.
        * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
        * platform/mac/StringImplMac.mm:
        * platform/mac/StringMac.mm:

2006-08-29  Geoffrey Garen  <ggaren@apple.com>

        Rolling out a change I included by accident in my last commit.
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passMouseDownEventToWidget):
        * platform/mac/SharedTimerMac.cpp:
        (WebCore::setSharedTimerFireTime):

2006-08-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.
        
        Added support for experimental CFNetwork-based loader (not turned on yet).
        
        While I was there, I did the following platform cleanup:
        - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
          USE(CFNETWORK) idiom.
        - Removed some #includes of windows.h in platform-independent headers.
        - Changed #ifdef __APPLE__ to PLATFORM(MAC)
        - Fixed some build bustage, including case-sensitive filesystem bustage.

        * loader/loader.cpp:
        (WebCore::Loader::receivedAllData):
        * platform/Cursor.h:
        * platform/KURL.h:
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderClient.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/cfnet/KURLCFNet.cpp: Added.
        (WebCore::KURL::createCFURL):
        * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
        (WebCore::willSendRequest):
        (WebCore::didReceiveChallenge):
        (WebCore::didCancelChallenge):
        (WebCore::didReceiveResponse):
        (WebCore::didReceiveData):
        (WebCore::didFinishLoading):
        (WebCore::didFail):
        (WebCore::willCacheResponse):
        (WebCore::addHeadersFromString):
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::arrayFromFormData):
        (WebCore::emptyPerform):
        (WebCore::runLoaderThread):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):
        * platform/win/CursorWin.cpp:

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

        Reviewed by harrison
        
        <rdar://problem/4700341>
        REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
        * page/Frame.cpp:
        (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().

2006-08-28  Tim Omernick  <timo@apple.com>

        Reviewed by John Sullivan.

        Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
        <http://bugs.webkit.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
        in Firefox

        No test cases added, since this is essentially a leak fix.

        A brief history of NPP_GetValue(), NPObjects, and reference counting.

        Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules.  We failed to take
        into account the fact that plug-ins are required to retain NPObjects before returning them.  This creates several
        classes of interesting plug-ins:

        1) Plug-ins tested in WebKit and other browsers.  These plug-ins may have WebKit-specific workarounds to not retain
           the returned NPObject, thus avoiding the memory leak in WebKit.

        2) Plug-ins tested only in other browsers.  These plug-ins must already retain their NPObjects, since other browsers
           implemented the NPRuntime retain/release rules correctly.  These plug-ins likely work in WebKit, but probably leak
           NPObjects since WebKit adds its own retain in addition to the plug-in's retain.

        3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
           Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain.  These plug-ins
           work in older WebKits because WebKit did not expect the plug-in to retain the NPObject.  Now that our retain
           rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior.  We could
           potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
           documented NPRuntime reference counting rules.  Furthermore, it is extremely unlikely that someone would develop
           a Netscape plug-in and test it *only* in WebKit.  The entire purpose of creating a Netscape plugin is so that it
           works in all browsers!

        4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
           These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
           extra retain.  A developer of this type of plug-in is probably unaware of the NPObject leak.  A more savvy developer
           would create a plug-in that fits into category #1.
        
        I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
        returned NPObject, and the browser is expected to release it when done.  This means that plug-ins in category #3 need to be
        changed so that they don't crash in Safari.  However, such plug-ins already crash in every other browser, so I do not feel that
        this needs to be handled specifically by WebKit.

        * bridge/mac/FrameMac.mm:
        Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
        retained NPObject.  Also changed it to return an actual NPObject* instead of a void*.  There is only one caller of this method,
        and only one implementor.  Using void* here is a needless abstraction.  It's an NPObject*!  Admit it!
        (WebCore::getInstanceForView):
        Release the NPObject after creating the bindings instance.  This is the actual bug fix.

2006-08-28  Alice Liu  <alice.liu@apple.com>

        Reviewed by Geoff.

        Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write

        * dom/Document.cpp:
        (WebCore::Document::open):
        set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen()
        * page/Frame.cpp:
        (WebCore::Frame::didExplicitOpen):
        set the frame's url to the document's url

2006-08-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Adele and Adam

        Added an optimization to return early if there's no replacements to be made

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::replace):

2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
        Provide stub implementation of RenderPopupMenuQt.

        * CMakeLists.txt:
        * platform/qt/RenderPopupMenuQt.cpp: Added.
        (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
        (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
        (WebCore::RenderPopupMenuQt::clear):
        (WebCore::RenderPopupMenuQt::populate):
        (WebCore::RenderPopupMenuQt::showPopup):
        (WebCore::RenderPopupMenuQt::hidePopup):
        (WebCore::RenderPopupMenuQt::addSeparator):
        (WebCore::RenderPopupMenuQt::addGroupLabel):
        (WebCore::RenderPopupMenuQt::addOption):
        * platform/qt/RenderPopupMenuQt.h: Added.
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::systemFont):
        (WebCore::RenderThemeQt::createPopupMenu):

2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by ap.

        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604
        Offer QString -> DeprecatedString conversion.

        * platform/DeprecatedString.h:
        * platform/qt/StringQt.cpp:
        (WebCore::DeprecatedString::DeprecatedString):

2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim Hatcher.
        
        Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::systemFont):
        Remove annoying notImplemented() usage in systemFont()

2006-08-28  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
        Add AXStyleTextMarkerRangeForTextMarker.
        
        (startOfStyleRange):
        (endOfStyleRange):
        Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.

        (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
        Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
        
        (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
        Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.

2006-08-28  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4517383> Hide all images used for spacing purpose in AX

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityIsIgnored]):
        Check for one-dimensional image
        Check whether rendered image was stretched from one-dimensional file image

2006-08-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Rewrote StringImpl::replace(UChar, StringImpl*)

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::replace):

2006-08-27  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Tim H.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=4624
          WebCore needs autogenerated Obj-C DOM bindings

          First round of auto-generated Objective C DOM bindings, starting
          with the DOM Core.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMNode description]):
        (-[DOMNode KJS::Bindings::]):
        (-[DOMNode dispatchEvent:]):
        (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
        (+[DOMNamedNodeMap _namedNodeMapWith:]):
        (-[DOMNodeList _initWithNodeList:]):
        (+[DOMNodeList _nodeListWith:]):
        (-[DOMImplementation _initWithDOMImplementation:]):
        (+[DOMImplementation _DOMImplementationWith:]):
        (-[DOMImplementation _DOMImplementation]):
        (+[DOMDocumentFragment _documentFragmentWith:]):
        (-[DOMDocumentFragment _fragment]):
        (-[DOMDocument createCSSStyleDeclaration]):
        (+[DOMDocument _documentWith:]):
        (-[DOMDocument _document]):
        (-[DOMDocument _ownerElement]):
        (+[DOMAttr _attrWith:]):
        (-[DOMAttr _attr]):
        (+[DOMDocumentType _documentTypeWith:WebCore::]):
        (-[DOMDocumentType WebCore::]):
        (+[DOMText _textWith:WebCore::]):
        (+[DOMComment _commentWith:WebCore::]):
        (+[DOMCDATASection _CDATASectionWith:WebCore::]):
        (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
        (+[DOMEntityReference _entityReferenceWith:WebCore::]):
        * bindings/objc/DOMCSS.h:
        * bindings/objc/DOMCSS.mm:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.mm:
        (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
        * bindings/objc/DOMHTMLInternal.h:
        * bindings/objc/DOMImplementationFront.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMNode.h: Added.
        * bindings/objc/DOMNode.mm: Added.
        (-[DOMNode dealloc]):
        (-[DOMNode finalize]):
        (-[DOMNode nodeName]):
        (-[DOMNode nodeValue]):
        (-[DOMNode setNodeValue:]):
        (-[DOMNode nodeType]):
        (-[DOMNode parentNode]):
        (-[DOMNode childNodes]):
        (-[DOMNode firstChild]):
        (-[DOMNode lastChild]):
        (-[DOMNode previousSibling]):
        (-[DOMNode nextSibling]):
        (-[DOMNode attributes]):
        (-[DOMNode ownerDocument]):
        (-[DOMNode insertBefore::]):
        (-[DOMNode replaceChild::]):
        (-[DOMNode removeChild:]):
        (-[DOMNode appendChild:]):
        (-[DOMNode hasChildNodes]):
        (-[DOMNode cloneNode:]):
        (-[DOMNode normalize]):
        (-[DOMNode isSupported::]):
        (-[DOMNode namespaceURI]):
        (-[DOMNode prefix]):
        (-[DOMNode setPrefix:]):
        (-[DOMNode localName]):
        (-[DOMNode hasAttributes]):
        (-[DOMNode isSameNode:]):
        (-[DOMNode isEqualNode:]):
        (-[DOMNode isDefaultNamespace:]):
        (-[DOMNode lookupPrefix:]):
        (-[DOMNode lookupNamespaceURI:]):
        (-[DOMNode textContent]):
        (-[DOMNode setTextContent:]):
        (-[DOMNode boundingBox]):
        (-[DOMNode lineBoxRects]):
        * bindings/objc/DOMObject.h: Added.
        * bindings/objc/DOMObject.mm: Added.
        (-[DOMObject init]):
        (-[DOMObject dealloc]):
        (-[DOMObject finalize]):
        (-[DOMObject copyWithZone:]):
        (-[DOMObject sheet]):
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMRange.h:
        * bindings/objc/DOMStylesheets.h:
        * bindings/objc/DOMTraversal.h:
        * bindings/objc/DOMViews.h:
        * bindings/objc/DOMViews.mm:
        * bindings/objc/DOMXPath.h:
        * bindings/objc/DOMXPath.mm:
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorObjC.pm: Added.
        * dom/Attr.idl:
        * dom/CDATASection.idl: Added.
        * dom/Comment.idl: Added.
        * dom/DOMImplementation.idl:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/EntityReference.idl: Added.
        * dom/NamedNodeMap.idl: Added.
        * dom/NodeList.idl: Added.
        * dom/ProcessingInstruction.idl:

2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Tim H.

        Fix crash in LayoutTests/css1/font_properties/font.html,
        by implementing FontData::smallCapsFontData.

        * platform/qt/FontDataQt.cpp:
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):

2006-08-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Plugged a leak in StringImpl::replace()

        * platform/StringImpl.cpp:
        (WebCore::StringImpl::replace):

2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Remove most annoying notImplemented() usages and
        implement some missing ScrollViewQt functions.
        Much nicer output when invoking run-webkit-tests.

        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::saveDocumentState):
        (WebCore::FrameQt::restoreDocumentState):
        (WebCore::FrameQt::clearUndoRedoOperations):
        (WebCore::FrameQt::partClearedInBegin):
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::headerCallback):
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::suppressScrollBars):
        (WebCore::ScrollView::setStaticBackground):
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::historyContains):
        (WebCore::CheckCacheObjectStatus):
        (WebCore::CheckIfReloading):
        (loadResourceIntoArray):
        (WebCore::PlugInInfoStore::supportsMIMEType):

2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Fix Qt build (add SVGMetaDataElement.cpp to build system)

        * CMakeLists.txt:

2006-08-27  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        No logic changes.  Just cleanup.

        * ksvg2/svg/SVGAngle.cpp:
        (SVGAngle::SVGAngle):
        (SVGAngle::unitType):
        (SVGAngle::valueAsString):
        (SVGAngle::newValueSpecifiedUnits):
        (SVGAngle::convertToSpecifiedUnits):
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::unitType):
        (WebCore::SVGLength::newValueSpecifiedUnits):
        (WebCore::SVGLength::convertToSpecifiedUnits):
        (WebCore::SVGLength::updateValue):
        (WebCore::SVGLength::updateValueInSpecifiedUnits):
        * ksvg2/svg/SVGLength.h:
        * platform/BitmapImage.cpp: Removed.
        * platform/BitmapImage.h: Removed.

2006-08-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        -Changed all of the commonly used queries to keep around pre-prepared statements and bind
        their arguments instead of constructing a new, messy, string appended statement each time
        -Changed some code in pruneUnretainedIconsOnStartup regarding transactions

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase): Initializers
        (WebCore::IconDatabase::close): Wipe all the preprepared statements
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
        (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
        (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
        (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
        (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
        (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
        (WebCore::IconDatabase::forgetPageURLQuery): ditto
        (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
        (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
        (WebCore::IconDatabase::addIconForIconURLQuery): ditto
        (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
        * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
        * loader/icon/SQLStatement.h:
        (WebCore::SQLStatement::database): Added

2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix switch logic.

        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::setHScrollBarMode):
        (WebCore::ScrollView::setVScrollBarMode):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10557
        KCanvasPath should be replace by platform/Path

        Refactoring out the KCanvasPath class.

        * CMakeLists.txt:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasCreator.cpp:
        (WebCore::KCanvasCreator::createRoundedRectangle):
        (WebCore::KCanvasCreator::createRectangle):
        (WebCore::KCanvasCreator::createEllipse):
        (WebCore::KCanvasCreator::createCircle):
        (WebCore::KCanvasCreator::createLine):
        * kcanvas/KCanvasCreator.h:
        * kcanvas/KCanvasPath.cpp: Removed.
        * kcanvas/KCanvasPath.h: Removed.
        * kcanvas/KCanvasResources.cpp:
        (WebCore::operator<<):
        (WebCore::KCanvasResource::clients):
        (WebCore::KCanvasResource::invalidate):
        (WebCore::KCanvasClipper::addClipData):
        * kcanvas/KCanvasResources.h:
        (WebCore::KCClipData::windRule):
        (WebCore::KCClipDataList::KCClipDataList):
        (WebCore::KCClipDataList::addPath):
        * kcanvas/KCanvasTreeDebug.cpp:
        (WebCore::operator<<):
        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::fillContains):
        (WebCore::RenderPath::relativeBBox):
        (WebCore::RenderPath::setPath):
        (WebCore::RenderPath::path):
        (WebCore::RenderPath::paint):
        (WebCore::RenderPath::nodeAtPoint):
        * kcanvas/RenderPath.h:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingFillPainter.cpp:
        (WebCore::KRenderingFillPainter::fillRule):
        (WebCore::KRenderingFillPainter::setFillRule):
        * kcanvas/device/KRenderingFillPainter.h:
        * kcanvas/device/qt/KCanvasClipperQt.cpp:
        (WebCore::KCanvasClipperQt::applyClip):
        * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
        * kcanvas/device/qt/KCanvasPathQt.h: Removed.
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceContextQt::addPath):
        (WebCore::KRenderingDeviceContextQt::setFillRule):
        (WebCore::KRenderingDeviceQt::createItem):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/RenderPathQt.cpp:
        (WebCore::RenderPathQt::drawMarkersIfNeeded):
        (WebCore::RenderPathQt::strokeContains):
        (WebCore::getPathStroke):
        (WebCore::RenderPathQt::strokeBBox):
        * kcanvas/device/qt/RenderPathQt.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
        (WebCore::KCanvasItemQuartz::strokeBBox):
        (WebCore::KCanvasItemQuartz::strokeContains):
        * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (WebCore::KCanvasClipperQuartz::applyClip):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::addPath):
        (WebCore::KRenderingDeviceQuartz::createItem):
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::scratchContext):
        (WebCore::strokeBoundingBox):
        (WebCore::pathContainsPoint):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::):
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (WebCore::KSVGPainterFactory::fillPainter):
        * ksvg2/svg/SVGCircleElement.cpp:
        (SVGCircleElement::toPathData):
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::toPathData):
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::notifyAttributeChange):
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::toPathData):
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::toPathData):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::notifyClientsToRepaint):
        * ksvg2/svg/SVGPolygonElement.cpp:
        (SVGPolygonElement::toPathData):
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.cpp:
        (SVGPolylineElement::toPathData):
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGRectElement.cpp:
        (WebCore::SVGRectElement::toPathData):
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::createRenderer):
        * ksvg2/svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::toPathData):
        * ksvg2/svg/SVGTextContentElement.cpp:
        * ksvg2/svg/SVGTextElement.cpp:
        * platform/Path.h:
        (WebCore::):
        (WebCore::Path::setWindingRule):
        (WebCore::Path::windingRule):
        * platform/cg/PathCG.cpp:
        (WebCore::Path::contains):
        (WebCore::Path::isEmpty):
        (WebCore::CGPathToCFStringApplierFunction):
        (WebCore::CFStringFromCGPath):
        (WebCore::Path::debugString):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::openURL):
        * platform/qt/PathQt.cpp:
        (WebCore::Path::contains):
        (WebCore::Path::isEmpty):
        (WebCore::Path::debugString):

2006-08-26  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt.

        pointer-events attribute does not work.
        http://bugs.webkit.org/show_bug.cgi?id=10415

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
        (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
        * kcanvas/RenderPath.h:
        (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
        (WebCore::SVGPaint::SVGPaint):
        (WebCore::SVGPaint::paintType):
        (WebCore::SVGPaint::uri):
        (WebCore::SVGPaint::setUri):
        (WebCore::SVGPaint::setPaint):
        * ksvg2/svg/SVGPaint.h:

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10558
        SVG should have support for <metadata> element

        Add support for metadata tag.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
        * ksvg2/svg/SVGMetadataElement.cpp: Added.
        (SVGMetadataElement::SVGMetadataElement):
        (SVGMetadataElement::~SVGMetadataElement):
        * ksvg2/svg/SVGMetadataElement.h: Added.
        * ksvg2/svg/SVGMetadataElement.idl: Added.
        * ksvg2/svg/svgtags.in:

2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Daily Qt build fixes :-)

        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        * platform/qt/ImageQt.cpp:
        (WebCore::Image::initPlatformData):
        (WebCore::Image::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):

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

        Fix the ifdef in Path.h to be CG.

        * platform/Path.h:

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

        Fix Mac build bustage (lots of float/int confusion).  I am not sure
        whether rounding was desired or not... this is just a band-aid to get
        the build working again.

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintMenuListButton):
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):

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

        More refactoring of image to disentangle graphics (e.g., Cairo) from
        platform (e.g., Windows).

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        Add ImageWin to project.

        * loader/Cache.cpp:
        (WebCore::Cache::init):
        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::loadImageFromResource):
        Renamed loadResource to loadPlatformResource to try to make it more clear
        that this call is implemented on each OS (and not by graphics libraries).

        * platform/Image.cpp:
        (WebCore::Image::Image):
        (WebCore::Image::~Image):
        (WebCore::Image::invalidateData):
        (WebCore::Image::size):
        (WebCore::Image::setData):
        (WebCore::Image::setNativeData):
        Fix up the PDF code to not be considered platform data any more, since
        PDF rendering is not for a specific OS.

        Renamed the methods that set OS-specific data (like NSImage) to PlatformData
        instead of NativeData.

        * platform/Image.h:
        Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
        Renamed methods to reflect that they are OS-specific and not
        graphics-library-specific.
       
        * platform/cairo/ImageCairo.cpp:
        Removed the platform data methods.  Other platforms besides Windows that
        use Cairo will need to account for this change by adding these methods
        to their OS Image***.cpp file.

        * platform/cg/ImageCG.cpp:
        (WebCore::Image::drawTiled):
        Add FIXMEs to the wkpattern stuff.

        * platform/cg/PDFDocumentImage.cpp:
        Shouldn't have #imports in .cpp.

        * platform/mac/ImageMac.mm:
        (WebCore::Image::initPlatformData):
        (WebCore::Image::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::getTIFFRepresentation):
        Add the platform data initializers to the Mac Image file.   Move the
        TIFF representation there as well, since this is only used by Mac code.

        * platform/win/ImageWin.cpp: Added.
        (WebCore::Image::initPlatformData):
        (WebCore::Image::invalidatePlatformData):
        (WebCore::Image::loadPlatformResource):
        (WebCore::Image::supportsType):
        Similar work for Windows.  Add stubs for possible future HBITMAP returns
        in the platform data methods.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintResizeControl):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintResizeControl):
        loadResource -> loadPlatformResource

2006-08-26  Adam Roben  <aroben@apple.com>

        Rubber-stamped by Adele.

        Fixed build.

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):

2006-08-25  Adele Peterson  <adele@apple.com>

        Patch by Francisco, Reviewed by me.

        Preparation for switch to new text field implementation of password field.

        Added -webkit-text-security property.

        Tests: updated fast/css/computed-style-expected.txt

        * css/CSSPropertyNames.in: Added -webkit-text-security.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
        * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
        * css/html4.css: Added style for password field to use -webkit-text-security.

        * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
        (WebCore::HTMLInputElement::selectionStart):
        (WebCore::HTMLInputElement::selectionEnd):
        (WebCore::HTMLInputElement::setSelectionStart):
        (WebCore::HTMLInputElement::setSelectionEnd):
        (WebCore::HTMLInputElement::select):
        (WebCore::HTMLInputElement::setSelectionRange):
        (WebCore::HTMLInputElement::createRenderer):
        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.

        * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
         characters with one character, like a bullet.
        * platform/StringImpl.h:

        * rendering/RenderStyle.cpp:
        (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
        (WebCore::RenderStyle::diff): Added case for textSecurity.
        * rendering/RenderStyle.h:
        (WebCore::):
        (WebCore::RenderStyle::textSecurity): Added.
        (WebCore::RenderStyle::setTextSecurity): Added.
        (WebCore::RenderStyle::initialTextSecurity): Added.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setStyle): Added case for textSecurity.
        (WebCore::RenderText::setText): ditto.

2006-08-25  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.

        Tests:   fast/forms/select-baseline.html
                 fast/borders/borderRadiusInvalidColor.html
        updated: fast/forms/select-style-expected.txt and more...

        * css/html4.css: Added style rules for styled select elements.

        * platform/GraphicsContext.h: Added argument for antialiasing.
        * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
        * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
        (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
         (any callers that set this to true were already ensuring that their color was valid).
         Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
        (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
        (WebCore::RenderObject::paintOutline): ditto.
        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
        * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
          Added case for when there's no children to check for hasLineIfEmpty.
        * rendering/RenderBlock.h:
        * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
        * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
        * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
        (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.

        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
        * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
         immediately after painting the background.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
        For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
        to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
        (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
         so the arrow control will draw at the right time (after the background).
        (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
        (WebCore::RenderTheme::paintBorderOnly): ditto.
        (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
        (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
        * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.

        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
        (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
        (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
        (WebCore::TopGradientInterpolate): Added.
        (WebCore::BottomGradientInterpolate): Added.
        (WebCore::MainGradientInterpolate): Added.
        (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
        (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
        (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.

2006-08-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam

        Changed some time()-related code to be more platform independent

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::isIconExpiredForIconURL):
        (WebCore::IconDatabase::getOrCreateIconDataCache):
        (WebCore::IconDatabase::setIconDataForIconURL):

2006-08-25  David Harrison  <harrison@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute

        * bridge/mac/WebCoreAXObject.mm:
        (labelForElement):
        New. Returns the HTMLLabelElement, if any, for the specified Element.
        
        (-[WebCoreAXObject title]):
        For input elements, return the innerHTML() of the labelForElement().

2006-08-25  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher

        Changed some debugging-only code to be more platform independent

        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
        (WebCore::IconDatabase::syncDatabase):

2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10561
        Qt platform build fixes.

        * platform/qt/FrameQt.h:
        * platform/qt/ScreenQt.cpp:
        (WebCore::qwidgetForPage):
        (WebCore::screenRect):
        (WebCore::screenDepth):
        (WebCore::usableScreenRect):
        * platform/qt/TemporaryLinkStubs.cpp:
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        * platform/qt/WidgetQt.cpp:

2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Finally fix font caching. WebKit+Qt now works
        out of the box without any further patches :-)

        * platform/qt/FontDataQt.cpp:
        (WebCore::FontData::platformDestroy):
        * platform/qt/FontPlatformData.h:
        * platform/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::isFixedPitch):
        (WebCore::FontPlatformData::font):
        (WebCore::FontPlatformData::fontPtr):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):

2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10559
        Confirm to WebKit style guide - last fixes :-)

        * platform/ResourceLoaderClient.h:
        * platform/qt/ComboBoxQt.cpp:
        * platform/qt/FrameQt.cpp:
        (WebCore::doScroll):
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::setTitle):
        (WebCore::FrameQt::passSubframeEventToSubframe):
        (WebCore::FrameQt::registerCommandForUndo):
        (WebCore::FrameQt::registerCommandForRedo):
        (WebCore::FrameQt::keyEvent):
        (WebCore::FrameQt::setFrameGeometry):
        * platform/qt/GlyphMapQt.cpp:
        (WebCore::GlyphMap::fillPage):
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):
        (WebCore::toQtLineCap):
        (WebCore::toQtLineJoin):
        (WebCore::TextShadow::TextShadow):
        (WebCore::GraphicsContextPlatformPrivate::p):
        * platform/qt/ImageQt.cpp:
        (WebCore::FrameData::clear):
        (WebCore::Image::supportsType):
        * platform/qt/IntSizeQt.cpp:
        * platform/qt/LineEditQt.cpp:
        * platform/qt/ListBoxQt.cpp:
        * platform/qt/PageQt.cpp:
        (WebCore::Page::windowRect):
        * platform/qt/PathQt.cpp:
        (WebCore::Path::~Path):
        * platform/qt/ResourceLoaderCurl.cpp:
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::headerCallback):
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        (WebCore::ResourceLoaderManager::add):
        * platform/qt/ScreenQt.cpp:
        (WebCore::screenRect):
        (WebCore::usableScreenRect):
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):
        (WebCore::ScrollView::setParentWidget):
        (WebCore::ScrollView::addChild):
        * platform/qt/SharedTimerQt.cpp:
        (WebCore::setSharedTimerFiredFunction):
        * platform/qt/SharedTimerQt.h:
        (WebCore::SharedTimerQt::SharedTimerQt):
        (WebCore::SharedTimerQt::fire):
        * platform/qt/SystemTimeQt.cpp:
        (WebCore::currentTime):
        * platform/qt/TextEditQt.cpp:
        (WebCore::PlatformTextEdit::setParentWidget):
        (WebCore::PlatformTextEdit::text):
        (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):

2006-08-24  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        Follow up for...
        <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange

        Fix bug I introduced in r15959.
        
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        Use topDocument in case we are in a subframe (we want the start/end of the overall page).

2006-08-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Alice

        Fixed my previous checkin, which was pruning the users entire icon db on startup everytime

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
          are indexed to 1, not 0

2006-08-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        Frame refactoring: changed FrameView clients so they no longer assume that
        FrameViews are Widgets that can tell you things about the platform, in 
        preparation for divorcing FrameViews from heavy-weight Widgets altogether.

        This patch makes Page, rather than Widget, responsible for answering
        questions about the screen (scale factor, color depth, etc.). Refactoring 
        aside, I think this makes more sense, since (a) the screen has nothing to do 
        with any particular widget and (b) Page was already half-responsible for
        answering those questions, anyway.

        Plus some random Windows build fix goodness.

        Layout tests still pass.

2006-08-24  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Hyatt.

        Allow changing the background color WebCore draws under transparent page backgrounds.
        No automated way to test. All tests pass, no performance regression.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setBaseBackgroundColor:]):
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameView::baseBackgroundColor):
        (WebCore::FrameView::setBaseBackgroundColor):
        * page/FrameView.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

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

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10169
          REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
        - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
        - other editing-related cleanup

        Test: fast/forms/drag-into-textarea.html

        * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
        * bridge/win/FrameWin.h: Ditto.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
        (WebCore::FrameMac::registerCommandForUndo): Ditto.
        (WebCore::FrameMac::registerCommandForRedo): Ditto.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
        Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
        (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
        (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.

        * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
        parameter to be a PassRefPtr. Reversed order of child and parent parameters.
        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
        (WebCore::AppendNodeCommand::doApply): Ditto.
        (WebCore::AppendNodeCommand::doUnapply): Ditto.

        * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
        * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.

        * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
        * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
        (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
        since setEndingSelection is no longer overloaded for Position.

        * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
        a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
        m_commands and made both doUnapply and doReapply private.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
        (WebCore::CompositeEditCommand::doReapply): Ditto.
        (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
        starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
        (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
        (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
        (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
        (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
        (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
        (WebCore::CompositeEditCommand::appendNode): Ditto.
        (WebCore::CompositeEditCommand::removeNode): Ditto.
        (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
        (WebCore::CompositeEditCommand::splitTextNode): Ditto.
        (WebCore::CompositeEditCommand::splitElement): Ditto.
        (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
        (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
        (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
        (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
        (WebCore::CompositeEditCommand::inputText): Ditto.
        (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
        (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
        (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
        (WebCore::CompositeEditCommand::deleteSelection): Ditto.
        (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
        (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
        would not remove an empty attribute -- will not come up in practice, but wrong in theory.
        (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
        (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
        (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
        Selection explicitly since setEndingSelection is no longer overloaded for Position.
        (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
        block placeholder class string is no longer spread across multiple functions.
        Perhaps we can get rid of this altogether at some point.

        * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
        Also removed unneeded destructor.
        * editing/DeleteFromTextNodeCommand.cpp:
        (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.

        * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
        * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.

        * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
        and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
        and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
        Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
        endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
        are needed so we can determine which editable elements an editing operation affects. Changed setParent()
        and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
        applyCommand() function that's convenient to use on a newly-created command.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
        and ending root editable elements.
        (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
        code to assert and set m_start. Eliminated use of EditCommandPtr.
        (WebCore::EditCommand::unapply): Ditto.
        (WebCore::EditCommand::reapply): Ditto.
        (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
        not change the starting selection of the parent unless this is the first command in the parent -- didn't
        make sense the way it was.
        (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
        (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
        based on the ending selection of the parent, formerly done by callers.
        (WebCore::applyCommand): Added.

        * editing/FormatBlockCommand.h: Tweaked formatting.
        * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
        * editing/InsertLineBreakCommand.h: Ditto.
        * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
        (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
        (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.

        * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
        * editing/InsertIntoTextNodeCommand.cpp:
        (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.

        * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
        the constants.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::InsertListCommand): Ditto.
        (WebCore::InsertListCommand::doApply): Ditto.

        * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
        and changed the parameter of the node to insert to a PassRefPtr.
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.

        * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Ditto.
        (WebCore::InsertTextCommand::insertTab): Ditto.

        * editing/JSEditor.h: Tweaked formatting and names.
        * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.

        * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
        * editing/JoinTextNodesCommand.cpp:
        (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
        * editing/MergeIdenticalElementsCommand.h: Ditto.
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.

        * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
        IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
        * editing/ModifySelectionListLevel.cpp:
        (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
        (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
        Changed to use Type instead of EListType.
        (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
        (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
        (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
        Changed to not use EditCommandPtr.
        (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
        (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
        (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
        (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
        EditCommandPtr.

        * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
        parameter to be a PassRefPtr.
        * editing/MoveSelectionCommand.cpp:
        (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
        (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.

        * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
        * editing/RebalanceWhitespaceCommand.cpp:
        (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
        (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.

        * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.

        * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
        * editing/RemoveNodeAttributeCommand.cpp:
        (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.

        * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
        * editing/RemoveNodeCommand.cpp:
        (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.

        * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
        * editing/RemoveNodePreservingChildrenCommand.cpp:
        (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.

        * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.

        * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
        a macro. Added constructors that take visible positions. Changed setBase and
        setExtent to take const Position& for better efficiency.
        * editing/Selection.cpp:
        (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
        and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.

        * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
        * editing/SetNodeAttributeCommand.cpp:
        (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.

        * editing/SplitElementCommand.h: Removed unnneeded document parameter.
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::SplitElementCommand): Ditto.

        * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
        * editing/SplitTextNodeCommand.cpp:
        (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.

        * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
        * editing/SplitTextNodeContainingElementCommand.cpp:
        (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.

        * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
        Renamed openForMoveTyping() with isOpenForMoreTyping().
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        (WebCore::TypingCommand::insertText): Ditto.
        (WebCore::TypingCommand::insertLineBreak): Ditto.
        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
        (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
        (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
        (WebCore::TypingCommand::closeTyping): Ditto.
        (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
        (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.

        * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
        * editing/WrapContentsInDummySpanCommand.cpp:
        (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.

        * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
        unsigned short.

        * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
        appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
        and registerCommandForRedo() to take PassRefPtr<EditCommand>.
        * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
        (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
        from Selection to simplify the code.
        (WebCore::Frame::selectAll): Ditto.
        (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
        (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
        both of the root editable elements involved in a change -- the start selection
        might be in a different element than the end selection.
        (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
        and to do it before setting the ending selection. Also update to use PassRefPtr instead
        of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
        to registerCommandForUndo will take ownership and set it to 0.
        (WebCore::Frame::unappliedEditing): Ditto.
        (WebCore::Frame::reappliedEditing): Ditto.
        (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
        (WebCore::Frame::applyStyle): Ditto.
        (WebCore::Frame::applyParagraphStyle): Ditto.

        * platform/gdk/FrameGdk.h: Updated for above changes.
        * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
        * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.

2006-08-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Alice

        <rdar://problem/4697973> - Unacceptable delay on startup
        <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup

        This patch was started by me and finished by Mark Rowe - we now special case all retains during
        startup into one huge sql transaction.  Also we track PageURL retains instead of IconURLs so pruning works right.
        Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile.  Testing with a huge set of 
        bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also 
        has a noticeable delay.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
        (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
        (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto
        (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
        (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
        (WebCore::IconDatabase::syncDatabase): Change the timing log message
        * loader/icon/IconDatabase.h:
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
        * loader/icon/SQLStatement.h:

2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * CMakeLists.txt:
            Remove KCanvasMatrix.cpp because it no longer exists
            Remove platform/qt/test
        * platform/FloatSize.h:
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
            Added PLATFORM(QT) hooks in the image-decoders/, as they also need
            to work for Qt, not only for Cairo.
        * platform/qt/qt-encodings.txt: Added (required for build).

2006-08-24  Adam Roben  <aroben@apple.com>

        Fixing a typo from last patch.

        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        (WebCore::KRenderingPaintServerQt::setPenProperties):

2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed/landed by Adam.

        Final cleanup to conform to WebKit coding style!

        * kcanvas/device/qt/KCanvasClipperQt.cpp:
        (WebCore::KCanvasClipperQt::applyClip):
        * kcanvas/device/qt/KCanvasClipperQt.h:
        * kcanvas/device/qt/KCanvasPathQt.cpp:
        * kcanvas/device/qt/KCanvasPathQt.h:
        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
        (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
        (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
        * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
        * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
        (WebCore::KRenderingPaintServerQt::setPenProperties):
        * kcanvas/device/qt/KRenderingPaintServerQt.h:
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
        (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
        (WebCore::KRenderingPaintServerSolidQt::renderPath):
        * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
        * kcanvas/device/qt/RenderPathQt.cpp:
        * kcanvas/device/qt/RenderPathQt.h:
        * platform/qt/AffineTransformQt.cpp:
        * platform/qt/BrowserExtensionQt.cpp:
        * platform/qt/BrowserExtensionQt.h:
        * platform/qt/ColorQt.cpp:
        (WebCore::Color::Color):
        * platform/qt/ComboBoxQt.cpp:
        (WebCore::PlatformComboBox::PlatformComboBox):
        (WebCore::PlatformComboBox::~PlatformComboBox):
        (WebCore::PlatformComboBox::setParentWidget):
        (WebCore::PlatformComboBox::appendGroupLabel):
        * platform/qt/CookieJarQt.cpp:
        * platform/qt/CursorQt.cpp:
        (WebCore::Cursors::Cursors::self):
        * platform/qt/FloatPointQt.cpp:
        * platform/qt/FloatRectQt.cpp:
        * platform/qt/FontCacheQt.cpp:
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::createFontPlatformData):
        * platform/qt/FontDataQt.cpp:
        * platform/qt/FontPlatformData.h:
        * platform/qt/FontPlatformDataQt.cpp:
        * platform/qt/FontQt.cpp:
        (WebCore::Font::operator QFont):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        * platform/qt/FrameQt.cpp:
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        (WebCore::FrameQt::keyEvent):
        * platform/qt/FrameQt.h:
        * platform/qt/GlyphMapQt.cpp:
        * platform/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::setFocusRingClip):
        (WebCore::GraphicsContext::clip):
        * platform/qt/ImageQt.cpp:
        (WebCore::Image::draw):
        (WebCore::Image::drawTiled):
        * platform/qt/ImageSourceQt.cpp:
        * platform/qt/IntPointQt.cpp:
        * platform/qt/IntRectQt.cpp:
        * platform/qt/IntSizeQt.cpp:
        * platform/qt/LineEditQt.cpp:
        (WebCore::PlatformLineEdit::PlatformLineEdit):
        (WebCore::PlatformLineEdit::~PlatformLineEdit):
        (WebCore::PlatformLineEdit::setParentWidget):
        (WebCore::PlatformLineEdit::addSearchResult):
        * platform/qt/ListBoxQt.cpp:
        (WebCore::ListBox::ListBox):
        (WebCore::ListBox::~ListBox):
        (WebCore::ListBox::setParentWidget):
        * platform/qt/PageQt.cpp:
        (WebCore::Page::windowRect):
        (WebCore::Page::setWindowRect):
        * platform/qt/PathQt.cpp:
        (WebCore::Path::addArc):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/PlatformMouseEventQt.cpp:
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
        (WebCore::RenderThemeQt::applyTheme):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::paintTextField):
        * platform/qt/ResourceLoaderCurl.cpp:
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/ResourceLoaderManager.cpp:
        (WebCore::ResourceLoaderManager::add):
        * platform/qt/ResourceLoaderManager.h:
        * platform/qt/ScreenQt.cpp:
        * platform/qt/ScrollViewCanvasQt.cpp:
        (WebCore::ScrollViewCanvasQt::handleKeyEvent):
        * platform/qt/ScrollViewCanvasQt.h:
        * platform/qt/ScrollViewQt.cpp:
        * platform/qt/SharedTimerQt.cpp:
        * platform/qt/SharedTimerQt.h:
        (WebCore::SharedTimerQt::inst):
        * platform/qt/StringQt.cpp:
        * platform/qt/SystemTimeQt.cpp:
        * platform/qt/TemporaryLinkStubs.cpp:
        * platform/qt/TextEditQt.cpp:
        (WebCore::PlatformTextEdit::PlatformTextEdit):
        (WebCore::PlatformTextEdit::~PlatformTextEdit):
        (WebCore::PlatformTextEdit::setParentWidget):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setQWidget):

2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed and landed by Anders.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * CMakeLists.txt:
        * platform/qt/FrameQt.cpp: Added.
        (WebCore::doScroll):
        (WebCore::FrameView::isFrameView):
        (WebCore::FrameQt::FrameQt):
        (WebCore::FrameQt::init):
        (WebCore::FrameQt::~FrameQt):
        (WebCore::FrameQt::openURL):
        (WebCore::FrameQt::submitForm):
        (WebCore::FrameQt::urlSelected):
        (WebCore::FrameQt::userAgent):
        (WebCore::FrameQt::runJavaScriptAlert):
        (WebCore::FrameQt::runJavaScriptConfirm):
        (WebCore::FrameQt::locationbarVisible):
        (WebCore::FrameQt::setTitle):
        (WebCore::FrameQt::createFrame):
        (WebCore::FrameQt::passWheelEventToChildWidget):
        (WebCore::FrameQt::passSubframeEventToSubframe):
        (WebCore::FrameQt::objectContentType):
        (WebCore::FrameQt::createPlugin):
        (WebCore::FrameQt::passMouseDownEventToWidget):
        (WebCore::FrameQt::menubarVisible):
        (WebCore::FrameQt::personalbarVisible):
        (WebCore::FrameQt::statusbarVisible):
        (WebCore::FrameQt::toolbarVisible):
        (WebCore::FrameQt::createEmptyDocument):
        (WebCore::FrameQt::markedTextRange):
        (WebCore::FrameQt::incomingReferrer):
        (WebCore::FrameQt::mimeTypeForFileName):
        (WebCore::FrameQt::markMisspellingsInAdjacentWords):
        (WebCore::FrameQt::markMisspellings):
        (WebCore::FrameQt::lastEventIsMouseUp):
        (WebCore::FrameQt::saveDocumentState):
        (WebCore::FrameQt::restoreDocumentState):
        (WebCore::FrameQt::openURLRequest):
        (WebCore::FrameQt::scheduleClose):
        (WebCore::FrameQt::unfocusWindow):
        (WebCore::FrameQt::focusWindow):
        (WebCore::FrameQt::overrideMediaType):
        (WebCore::FrameQt::addMessageToConsole):
        (WebCore::FrameQt::runJavaScriptPrompt):
        (WebCore::FrameQt::getEmbedInstanceForWidget):
        (WebCore::FrameQt::getObjectInstanceForWidget):
        (WebCore::FrameQt::getAppletInstanceForWidget):
        (WebCore::FrameQt::registerCommandForUndo):
        (WebCore::FrameQt::registerCommandForRedo):
        (WebCore::FrameQt::clearUndoRedoOperations):
        (WebCore::FrameQt::issueUndoCommand):
        (WebCore::FrameQt::issueRedoCommand):
        (WebCore::FrameQt::issueCutCommand):
        (WebCore::FrameQt::issueCopyCommand):
        (WebCore::FrameQt::issuePasteCommand):
        (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
        (WebCore::FrameQt::issueTransposeCommand):
        (WebCore::FrameQt::respondToChangedSelection):
        (WebCore::FrameQt::respondToChangedContents):
        (WebCore::FrameQt::shouldChangeSelection):
        (WebCore::FrameQt::partClearedInBegin):
        (WebCore::FrameQt::canGoBackOrForward):
        (WebCore::FrameQt::handledOnloadEvents):
        (WebCore::FrameQt::canPaste):
        (WebCore::FrameQt::canRedo):
        (WebCore::FrameQt::canUndo):
        (WebCore::FrameQt::print):
        (WebCore::FrameQt::shouldInterruptJavaScript):
        (WebCore::FrameQt::keyEvent):
        (WebCore::FrameQt::receivedResponse):
        (WebCore::FrameQt::receivedData):
        (WebCore::FrameQt::receivedAllData):
        (WebCore::FrameQt::setFrameGeometry):
        * platform/qt/FrameQt.h: Added.
        * platform/qt/ScrollViewCanvasQt.cpp: Added.
        (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
        (WebCore::ScrollViewCanvasQt::paintEvent):
        (WebCore::ScrollViewCanvasQt::sizeHint):
        (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
        (WebCore::ScrollViewCanvasQt::mousePressEvent):
        (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
        (WebCore::ScrollViewCanvasQt::keyPressEvent):
        (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
        (WebCore::ScrollViewCanvasQt::handleKeyEvent):
        * platform/qt/ScrollViewCanvasQt.h: Added.
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::setParentWidget):

2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by ap.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * platform/qt/FontCacheQt.cpp: Added.
        (WebCore::FontCache::platformInit):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::createFontPlatformData):
        * platform/qt/FontDataQt.cpp: Added.
        (WebCore::FontData::platformInit):
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):
        (WebCore::FontData::containsCharacters):
        (WebCore::FontData::determinePitch):
        (WebCore::FontData::platformWidthForGlyph):
        * platform/qt/FontPlatformData.h: Added.
        * platform/qt/FontPlatformDataQt.cpp: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::isFixedPitch):
        (WebCore::FontPlatformData::setFont):
        (WebCore::FontPlatformData::font):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/qt/FontQt.cpp: Added.
        (WebCore::Font::operator QFont):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        * platform/qt/GlyphMapQt.cpp: Added.
        (WebCore::GlyphMap::fillPage):

2006-08-24  David Harrison  <harrison@apple.com>

        Reinstate r15966 because layout test changes are correct.

        <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance):

2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by ap.

        http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support (Part II)

        Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
        Use AffineTransform everywhere instead.

        * kcanvas/device/qt/KRenderingDeviceQt.cpp:
        (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
        (WebCore::KRenderingDeviceContextQt::concatCTM):
        (WebCore::KRenderingDeviceContextQt::ctm):
        * kcanvas/device/qt/KRenderingDeviceQt.h:
        * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
        (WebCore::KRenderingPaintServerLinearGradientQt::setup):
        (WebCore::KRenderingPaintServerRadialGradientQt::setup):

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10524
        svg transform: comma delimiting breaks display

        Properly parse transforms which use ',' as seperators.

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

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

        Reviewed by Maciej.

        - added an assert to make it slightly easier to debug the common case of
          calling document() on a node of 0

        * dom/Node.h: (WebCore::Node::document): ASSERT(this).

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

        Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
        separates the graphics engines from their respective platforms and replaces
        #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * platform/AffineTransform.h:
        * platform/Color.h:
        * platform/Cursor.h:
        * platform/FloatPoint.h:
        * platform/FloatRect.h:
        * platform/FloatSize.h:
        * platform/Font.h:
        * platform/FontData.h:
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/GraphicsContext.h:
        * platform/Image.h:
        * platform/ImageSource.h:
        * platform/IntPoint.h:
        * platform/IntRect.h:
        * platform/IntSize.h:
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderClient.h:
        * platform/Widget.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/cairo/ImageCairo.cpp:
        * platform/cairo/ImageSourceCairo.cpp:
        * platform/cg/AffineTransformCG.cpp:
        * platform/cg/FloatPointCG.cpp: Added.
        * platform/cg/FloatRectCG.cpp: Added.
        * platform/cg/FloatSizeCG.cpp: Added.
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::setFocusRingClip):
        (WebCore::GraphicsContext::clearFocusRingClip):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::GraphicsContext::drawLine):
        * platform/cg/GraphicsContextPlatformPrivate.h: Added.
        (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        * platform/cg/ImageCG.cpp: Added.
        (WebCore::Image::drawTiled):
        * platform/cg/ImageSourceCG.cpp: Added.
        * platform/cg/IntPointCG.cpp: Added.
        * platform/cg/IntRectCG.cpp: Added.
        * platform/cg/IntSizeCG.cpp: Added.
        * platform/cg/PDFDocumentImage.cpp: Added.
        (WebCore::PDFDocumentImage::adjustCTM):
        * platform/cg/PDFDocumentImage.h: Added.
        * platform/cg/PathCG.cpp:
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
        * platform/mac/FloatPointMac.mm:
        * platform/mac/FloatRectMac.mm:
        * platform/mac/FloatSizeMac.mm:
        * platform/mac/GraphicsContextMac.mm:
        * platform/mac/ImageMac.mm:
        * platform/mac/ImageSourceMac.cpp: Removed.
        * platform/mac/IntPointMac.mm:
        * platform/mac/IntRectMac.mm:
        * platform/mac/IntSizeMac.mm:
        * platform/mac/PDFDocumentImage.h: Removed.
        * platform/mac/PDFDocumentImage.mm: Removed.

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

        Remove the ifdef for platform scrollbars vs. engine scrollbars until
        engine scrollbars actually exist.

        * platform/ScrollBar.h:
        (WebCore::ScrollBar::hasPlatformScrollBars):

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

        Reviewed by harrison
        
        Removed the poorly named next/previousVisiblePosition
        and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
        Removed the unused VisiblePosition::maxOffset()

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next):
        (WebCore::VisiblePosition::previous):
        (WebCore::VisiblePosition::canonicalPosition):
        * editing/VisiblePosition.h: 

2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Alexey. Landed by rwlbuis.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support (Part II)

        * platform/qt/GraphicsContextQt.cpp: Added.
        (WebCore::toQtCompositionMode):
        (WebCore::toQtLineCap):
        (WebCore::toQtLineJoin):
        (WebCore::TransparencyLayer::TransparencyLayer):
        (WebCore::TransparencyLayer::cleanup):
        (WebCore::TextShadow::TextShadow):
        (WebCore::TextShadow::isNull):
        (WebCore::GraphicsContextPlatformPrivate::p):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::platformContext):
        (WebCore::GraphicsContext::savePlatformState):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::drawRect):
        (WebCore::adjustLineToPixelBounderies):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawEllipse):
        (WebCore::GraphicsContext::drawArc):
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::addClip):
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::setFocusRingClip):
        (WebCore::GraphicsContext::clearFocusRingClip):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::drawLineForMisspelling):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::beginTransparencyLayer):
        (WebCore::GraphicsContext::endTransparencyLayer):
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setLineWidth):
        (WebCore::GraphicsContext::setLineCap):
        (WebCore::GraphicsContext::setLineJoin):
        (WebCore::GraphicsContext::setMiterLimit):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::translate):
        (WebCore::GraphicsContext::rotate):
        (WebCore::GraphicsContext::scale):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::createRenderingDeviceContext):
        * platform/qt/ImageQt.cpp: Added.
        (WebCore::FrameData::clear):
        (WebCore::Image::initNativeData):
        (WebCore::Image::destroyNativeData):
        (WebCore::Image::invalidateNativeData):
        (WebCore::Image::loadResource):
        (WebCore::Image::supportsType):
        (WebCore::Image::draw):
        (WebCore::Image::drawTiled):
        (WebCore::Image::checkForSolidColor):
        * platform/qt/ImageSourceQt.cpp: Added.
        (WebCore::createDecoder):
        (WebCore::ImageSource::ImageSource):
        (WebCore::ImageSource::~ImageSource):
        (WebCore::ImageSource::initialized):
        (WebCore::ImageSource::setData):
        (WebCore::ImageSource::isSizeAvailable):
        (WebCore::ImageSource::size):
        (WebCore::ImageSource::repetitionCount):
        (WebCore::ImageSource::frameCount):
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameHasAlphaAtIndex):

2006-08-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Adele

        Moved default URL icon from WebKit to WebCore

        * Resources/urlIcon.tiff: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDataCache.cpp:
        (WebCore::IconDataCache::loadImageFromResource):
        * loader/icon/IconDataCache.h:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::defaultIcon):
        * loader/icon/IconDatabase.h:

2006-08-23  Adam Roben  <aroben@apple.com>

        Reviewed by Darin, Adele.

        Some popup refactoring/cleanup.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::defaultEventHandler):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList):
        (WebCore::RenderMenuList::~RenderMenuList):
        (WebCore::RenderMenuList::showPopup):
        (WebCore::RenderMenuList::hidePopup):
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::popup):
        (WebCore::RenderMenuList::popupIsVisible):
        * rendering/RenderPopupMenu.h:
        * rendering/RenderPopupMenuMac.h:
        (WebCore::RenderPopupMenuMac::hidePopup):

2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders. Landed by rwlbuis.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * platform/qt/ResourceLoaderCurl.cpp: Added.
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::receivedResponse):
        * platform/qt/ResourceLoaderManager.cpp: Added.
        (WebCore::ResourceLoaderManager::ResourceLoaderManager):
        (WebCore::ResourceLoaderManager::get):
        (WebCore::ResourceLoaderManager::useSimpleTransfer):
        (WebCore::writeCallback):
        (WebCore::headerCallback):
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        (WebCore::ResourceLoaderManager::remove):
        (WebCore::ResourceLoaderManager::add):
        (WebCore::ResourceLoaderManager::cancel):
        * platform/qt/ResourceLoaderManager.h: Added.
        * platform/qt/StringQt.cpp: Added.
        (WebCore::String::String):
        (WebCore::String::operator QString):
        (WebCore::DeprecatedString::operator QString):

2006-08-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries

        * WebCore.xcodeproj/project.pbxproj: Reordered some files
        * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
        (WebCore::IconDataCache::writeToDatabase):
        * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
        (WebCore::IconDatabase::retainIconURL):
        (WebCore::IconDatabase::releaseIconURL):
        (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
        (WebCore::IconDatabase::establishIconIDForIconURL):
        (WebCore::imageDataForIconURLQuery):
        (WebCore::timeStampForIconURLQuery):
        (WebCore::iconURLForPageURLQuery):
        (WebCore::forgetPageURLQuery):
        (WebCore::setIconIDForPageURLQuery):
        (WebCore::getIconIDForIconURLQuery):
        (WebCore::addIconForIconURLQuery):
        (WebCore::hasIconForIconURLQuery):
        * loader/icon/SQLDatabase.h:
        (WebCore::escapeSQLString): Added

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

        Reviewed by Brady.

        - assorted style cleanup of icon loader code:
        
        - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
        - split headers to be one per class, to match impl files
        - made files that are purely local in IconDatabase.cpp static
        - make each impl file include config.h as first header (and no config.h includes in other headers)
        - avoid multiple copies of Vector<unsigned char> for image data

        * WebCore.xcodeproj/project.pbxproj:
        * loader/icon/IconDataCache.cpp:
        * loader/icon/IconDataCache.h: Added.
        (WebCore::):
        (WebCore::IconDataCache::getTimestamp):
        (WebCore::IconDataCache::setTimestamp):
        (WebCore::IconDataCache::getIconURL):
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::imageDataForIconURL):
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::pageURLTableIsEmptyQuery):
        (WebCore::imageDataForIconURLQuery):
        (WebCore::timeStampForIconURLQuery):
        (WebCore::iconURLForPageURLQuery):
        (WebCore::forgetPageURLQuery):
        (WebCore::setIconIDForPageURLQuery):
        (WebCore::getIconIDForIconURLQuery):
        (WebCore::addIconForIconURLQuery):
        (WebCore::hasIconForIconURLQuery):
        * loader/icon/IconDatabase.h:
        * loader/icon/SQLDatabase.cpp:
        * loader/icon/SQLDatabase.h:
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::getColumnBlobAsVector):
        * loader/icon/SQLStatement.h: Added.
        (WebCore::SQLStatement::isPrepared):
        (WebCore::SQLStatement::prepareAndStep):
        (WebCore::SQLStatement::lastError):
        (WebCore::SQLStatement::lastErrorMsg):
        * loader/icon/SQLTransaction.cpp:
        * loader/icon/SQLTransaction.h: Added.

2006-08-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
        As such, I'm renaming it to IconDataCache.
        Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
        TimeStamp when an icon is created or the data is changed.
        IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
        IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
        The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.

        * WebCore.xcodeproj/project.pbxproj: Renamed a file
        * loader/icon/IconDataCache.cpp: Added.
        (IconDataCache::IconDataCache):
        (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
        (IconDataCache::manuallySetImageData): Delete the old image and create the new one
        (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
        (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
        (WebCore::IconDatabase::iconForPageURL): 
        (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
        (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
        (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
        (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
        * loader/icon/IconDatabase.h:
        (WebCore::IconDataCache::getTimestamp):
        (WebCore::IconDataCache::setTimestamp):
        * loader/icon/SiteIcon.cpp: Removed.


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

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=10449>
        REGRESSION(r15918): drag-into-marker.html failing

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
        in a list item.

2006-08-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Kevin

        Added a check in getTIFFRepresentation to not proceed if the frame count is zero
        This is an error condition that was handled gracefully before - in certain circumstances
        the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
        or invalid data.  This small change bails out before that call if that call will definitely fail

        * platform/mac/ImageMac.mm:
        (WebCore::Image::getTIFFRepresentation):

2006-08-22  David Harrison  <harrison@apple.com>

        Backed out my last change (r15966) because it broke lots of layout tests.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance):

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

        Reviewed by Anders.

        - added some SPI indirections to support the following in WebKit/Loader:
            - pull more WebDataSource code into WebFrameLoader
            - make WebMainResourceLoader not depend on WebKit or on SPI

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

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

        Reviewed by harrison

        <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
        
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::isInterchangeNewlineNode):
        (WebCore::isInterchangeConvertedSpaceSpan):
        (WebCore::ReplacementFragment::ReplacementFragment):
        (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
        remove them and remove style nodes and style spans which were only contributing redundant styles.
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:

2006-08-22  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole

        This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.

        Test case added:
        * manual-tests/inline-input-marking.html: Added.
        Check that underlining of the inline input hole does not obscure the glyphs.
        
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintMarkedTextUnderline):
        Position underline at bottom of text box.
        Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10402
        REPRO: SVG crashes inside gradient code

        Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.

        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::notifyAttributeChange):
        (SVGGradientElement::resourceNotification):

2006-08-22  David Harrison  <harrison@apple.com>

        Reviewed by John.

        <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange

        * bridge/mac/WebCoreAXObject.mm:
        (headingLevel):
        (-[WebCoreAXObject headingLevel]):
        (-[WebCoreAXObject isHeading]):
        New. Heading level is per the tag (h1 == 1, h2 == 2, etc.)
        
        (-[WebCoreAXObject role]):
        (-[WebCoreAXObject roleDescription]):
        Add role and roleDescription for headings.
        
        (-[WebCoreAXObject value]):
        Value is the headingLevel.
        
        (AXAttributeStringSetHeadingLevel):
        (AXAttributedStringAppendText):
        Put text's heading level (if applicable) in the attributes.
        
2006-08-22  David Harrison  <harrison@apple.com>

        Reviewed by John.

        <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange

        Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too.
        
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance):
        Include controls.

2006-08-22  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4407336> Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject textMarkerRange]):
        Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset().
        Check for VisiblePositions being equal.  If so, adjust end one to its next().
        That happens with, e.g., buttons.

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10491
        KCanvasMatrix removal

        Remove KCanvasMatrix from project, using AffineTransform instead.

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasMatrix.cpp: Removed.
        * kcanvas/KCanvasMatrix.h: Removed.
        * kcanvas/KCanvasResources.cpp:
        (WebCore::KCanvasMarker::draw):
        * kcanvas/KCanvasResources.h:
        * kcanvas/RenderForeignObject.cpp:
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::viewportTransform):
        (WebCore::RenderSVGContainer::getAspectRatio):
        * kcanvas/RenderSVGContainer.h:
        * kcanvas/RenderSVGText.cpp:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (WebCore::KRenderingPaintServerGradient::gradientTransform):
        (WebCore::KRenderingPaintServerGradient::setGradientTransform):
        (WebCore::KRenderingPaintServerGradient::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (WebCore::KRenderingPaintServerPattern::patternTransform):
        (WebCore::KRenderingPaintServerPattern::setPatternTransform):
        (WebCore::KRenderingPaintServerPattern::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (WebCore::KRenderingDeviceContextQuartz::concatCTM):
        (WebCore::KRenderingDeviceContextQuartz::ctm):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (WebCore::KRenderingPaintServerPatternQuartz::setup):
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        (SVGLinearGradientElement::buildGradient):
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        (WebCore::SVGRadialGradientElement::buildGradient):

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10405
        REPRO: SVG Maze crashes in RenderPath code

        Do not render a path when it is empty so maze15.svg does not crash anymore.
        Also get rid of a runtime warning issued by CGContextGetPathBoundingBox.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::paint):
        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
        (WebCore::KCanvasPathQuartz::strokeBoundingBox):

2006-08-21  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        <rdar://4690949> - New IconDB: Need to prune unretained icons on startup

        Added a flag to track whether or not the initial pruning has taken place on startup
        If that flag is not set, IconURL retain counts will be tracked in a temporary db table
        in addition to the in-memory hash.  Then when the timer fires after initial retains
        are complete, we prune those icons not in the retain table, prune dangling PageURL
        references, delete the temporary table, and set the flag - and carry on as normal

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase): initialize the flag
        (WebCore::IconDatabase::open): changed the schema of the temporary table
        (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
        (WebCore::IconDatabase::releaseIconURL): ditto
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
          wipe all the PageURLs who no longer point to a valid IconURL
        * loader/icon/IconDatabase.h:

2006-08-21  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=10419
        XSLTProcessor transformToFragment fails because of an XML declaration

        Test: fast/xsl/transformToFragment-XML-declaration.html

        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.

2006-08-21  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange

        Added support for the NSAccessibilityMisspelledTextAttribute.
        
        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

        * bridge/mac/WebCoreAXObject.mm:
        Lots of trivial formatting in many methods.
        
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
        of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
        attribute.

        (WebCore::AXAttributeStringSetSpelling): 
        New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.

        (-[WebCoreAXObject AXAttributedStringAppendText:]):
        Added call to AXAttributeStringSetSpelling.
        
        * editing/visible_units.cpp:
        (WebCore::startOfDocument):
        (WebCore::endOfDocument):
        Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
        so a previously existing VisiblePosition is not required.
        
        * editing/visible_units.h:
        Declare new forms of startOfDocument and endOfDocument.

2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * platform/qt/TemporaryLinkStubs.cpp: Added.
        (JavaAppletWidget::JavaAppletWidget):
        (Font::selectionRectForComplexText):
        (Font::offsetForPositionForComplexText):
        (WebCore::refreshPlugins):
        (WebCore::focusRingColor):
        (Image::drawTiled):
        (WebCore::TextField::selectAll):
        (WebCore::TextField::addSearchResult):
        (WebCore::TextField::selectionStart):
        (WebCore::TextField::hasSelectedText):
        (WebCore::TextField::selectedText):
        (WebCore::TextField::setAutoSaveName):
        (WebCore::TextField::checksDescendantsForFocus):
        (WebCore::TextField::setSelection):
        (WebCore::TextField::setMaxResults):
        (WebCore::TextField::edited):
        (WebCore::TextField::focusPolicy):
        (WebCore::TextField::TextField):
        (WebCore::TextField::~TextField):
        (WebCore::TextField::setFont):
        (WebCore::TextField::setAlignment):
        (WebCore::TextField::setWritingDirection):
        (WebCore::TextField::maxLength):
        (WebCore::TextField::setMaxLength):
        (WebCore::TextField::text):
        (WebCore::TextField::setText):
        (WebCore::TextField::cursorPosition):
        (WebCore::TextField::setCursorPosition):
        (WebCore::TextField::setEdited):
        (WebCore::TextField::setReadOnly):
        (WebCore::TextField::setPlaceholderString):
        (WebCore::TextField::setColors):
        (WebCore::TextField::sizeForCharacterWidth):
        (WebCore::TextField::baselinePosition):
        (WebCore::TextField::setLiveSearch):
        (WebCore::Slider::Slider):
        (WebCore::Slider::sizeHint):
        (WebCore::Slider::~Slider):
        (WebCore::Slider::setValue):
        (WebCore::Slider::setMaxValue):
        (WebCore::Slider::setMinValue):
        (WebCore::Slider::setFont):
        (WebCore::Slider::value):
        (WebCore::Slider::focusPolicy):
        (WebCore::ScrollBar::ScrollBar):
        (WebCore::ScrollBar::setSteps):
        (WebCore::ScrollBar::scroll):
        (WebCore::ScrollBar::setValue):
        (WebCore::ScrollBar::setKnobProportion):
        (WebCore::PlatformScrollBar::PlatformScrollBar):
        (WebCore::PlatformScrollBar::~PlatformScrollBar):
        (WebCore::PlatformScrollBar::width):
        (WebCore::PlatformScrollBar::height):
        (WebCore::PlatformScrollBar::setEnabled):
        (WebCore::PlatformScrollBar::paint):
        (WebCore::PlatformScrollBar::setScrollBarValue):
        (WebCore::PlatformScrollBar::setKnobProportion):
        (WebCore::PlatformScrollBar::setRect):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        (WebCore::CheckCacheObjectStatus):
        (WebCore::CheckIfReloading):
        (WebCore::ServeSynchronousRequest):
        (WebCore::historyContains):
        (WebCore::submitButtonDefaultLabel):
        (WebCore::inputElementAltText):
        (WebCore::resetButtonDefaultLabel):
        (WebCore::defaultLanguage):
        (WebCore::findNextSentenceFromIndex):
        (WebCore::findSentenceBoundary):
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):
        (Frame::setNeedsReapplyStyles):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::searchableIndexIntroduction):
        (WebCore::setFocusRingColorChangeFunction):
        (FrameView::updateBorder):
        (loadResourceIntoArray):
        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
        (PlugInInfoStore::pluginCount):
        (WebCore::PlugInInfoStore::supportsMIMEType):
        (FileButton::FileButton):
        (FileButton::click):
        (FileButton::sizeForCharacterWidth):
        (FileButton::focusPolicy):
        (FileButton::frameGeometry):
        (FileButton::setFilename):
        (FileButton::baselinePosition):
        (FileButton::setFrameGeometry):
        (FileButton::setDisabled):
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):

2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * platform/qt/CursorQt.cpp: Added.
        (WebCore::Cursor::Cursor):
        (WebCore::Cursor::~Cursor):
        (WebCore::Cursor::operator=):
        (WebCore::Cursors::Cursors::self):
        (WebCore::moveCursor):
        (WebCore::crossCursor):
        (WebCore::handCursor):
        (WebCore::iBeamCursor):
        (WebCore::waitCursor):
        (WebCore::helpCursor):
        (WebCore::eastResizeCursor):
        (WebCore::northResizeCursor):
        (WebCore::northEastResizeCursor):
        (WebCore::northWestResizeCursor):
        (WebCore::southResizeCursor):
        (WebCore::southEastResizeCursor):
        (WebCore::southWestResizeCursor):
        (WebCore::westResizeCursor):
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        * platform/qt/RenderThemeQt.cpp: Added.
        (WebCore::RenderThemeQt::RenderThemeQt):
        (WebCore::RenderThemeQt::supportsHover):
        (WebCore::RenderThemeQt::paintCheckbox):
        (WebCore::RenderThemeQt::paintRadio):
        (WebCore::theme):
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::controlSupportsTints):
        (WebCore::RenderThemeQt::systemFont):
        (WebCore::RenderThemeQt::createPopupMenu):
        (WebCore::RenderThemeQt::addIntrinsicMargins):
        (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
        (WebCore::RenderThemeQt::setCheckboxSize):
        (WebCore::RenderThemeQt::setRadioSize):
        (WebCore::RenderThemeQt::supportsFocus):
        (WebCore::RenderThemeQt::applyTheme):
        (WebCore::RenderThemeQt::adjustButtonStyle):
        (WebCore::RenderThemeQt::paintButton):
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::paintTextField):

2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467
        WebKit should have Qt platform support

        * platform/qt/SharedTimerQt.cpp: Added.
        (WebCore:setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):
        * platform/qt/SharedTimerQt.h: Added.
        (WebCore::SharedTimerQt::SharedTimerQt):
        (WebCore::SharedTimerQt::~SharedTimerQt):
        (WebCore::SharedTimerQt::inst):
        (WebCore::SharedTimerQt::fire):
        * platform/qt/SystemTimeQt.cpp: Added.
        (WebCore::currentTime):

2006-08-21  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        -Defers writing to the database via a timer and handles starting the timer
         intelligently

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open): Don't start the update timer by default
        (WebCore::IconDatabase::close): Call syncDatabase()
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
        (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
        (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
        (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
        (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
        * loader/icon/IconDatabase.h:

2006-08-21  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Eric.

        - http://bugs.webkit.org/show_bug.cgi?id=10429
          XSLTProcessor.transformToFragment crashes if the owner document is empty

        Test: fast/js/xslt-fragment-in-empty-doc.html

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.

2006-08-21  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
         In the near future, we'll also have timer-based deferred *addition* of database records
        -Keep retain/release counts in a hash instead of a DB table
        -Keep only one hash record for the SiteIcons
        -Renamed some methods for clarity

        * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
        * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
        (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open): Added new timer setup
        (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
        (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
        (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
        (WebCore::IconDatabase::retainIconURL): Added
        (WebCore::IconDatabase::releaseIconURL): Added
        (WebCore::IconDatabase::forgetPageURL):  Added
        (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
        (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
        (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
        (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
        * loader/icon/IconDatabase.h: Added multiple stuffs

2006-08-21  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej's rubberstamp

        Removed stale file references from the Xcode.proj

        * WebCore.xcodeproj/project.pbxproj:

2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Maciej. Landed by rwlbuis.

        Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10463
        WebKit should have Qt platform support

        Removing HelperQt.h usage by creating appropriate operators
        constructor in some of the platform classes, as suggested by Darin.

        * CMakeLists.txt:
        * platform/DeprecatedString.h:
        * platform/Font.h:
        * platform/PlatformString.h:
        * platform/qt/ComboBoxQt.cpp:
        (WebCore::PlatformComboBox::appendItem):
        (WebCore::PlatformComboBox::appendGroupLabel):
        (WebCore::PlatformComboBox::setFont):
        * platform/qt/LineEditQt.cpp:
        (WebCore::PlatformLineEdit::setFont):
        (WebCore::PlatformLineEdit::setText):
        (WebCore::PlatformLineEdit::text):
        (WebCore::PlatformLineEdit::selectedText):
        * platform/qt/ListBoxQt.cpp:
        (WebCore::ListBox::setFont):
        (WebCore::ListBox::appendItem):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/ScrollViewQt.cpp:
        * platform/qt/StringQt.cpp: Added.
        (WebCore::String::String):
        (WebCore::String::operator QString):
        (WebCore::DeprecatedString::operator QString):
        * platform/qt/TextEditQt.cpp:
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::setFont):

2006-08-18  Steve Falkenburg  <sfalken@apple.com>

        Rubber stamped by adele.
        
        Fix call to WebFormDelegate's textFieldDidBeginEditing.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::subtreeHasChanged):

2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        Next chunk of the implementation for:
        http://bugs.webkit.org/show_bug.cgi?id=10467

        WebKit should have Qt platform support

        * platform/qt/KeyboardCodes.h: Added.
        * platform/qt/PlatformKeyboardEventQt.cpp: Added.
        (WebCore::keyIdentifierForQtKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/qt/PlatformMouseEventQt.cpp: Added.
        (WebCore::):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        Next chunk of the implementation for:
        http://bugs.webkit.org/show_bug.cgi?id=10467

        WebKit should have Qt platform support

        * platform/qt/AffineTransformQt.cpp: Added.
        (WebCore::AffineTransform::AffineTransform):
        (WebCore::AffineTransform::setMatrix):
        (WebCore::AffineTransform::map):
        (WebCore::AffineTransform::mapRect):
        (WebCore::AffineTransform::isIdentity):
        (WebCore::AffineTransform::m11):
        (WebCore::AffineTransform::m12):
        (WebCore::AffineTransform::m21):
        (WebCore::AffineTransform::m22):
        (WebCore::AffineTransform::dx):
        (WebCore::AffineTransform::dy):
        (WebCore::AffineTransform::reset):
        (WebCore::AffineTransform::scale):
        (WebCore::AffineTransform::rotate):
        (WebCore::AffineTransform::translate):
        (WebCore::AffineTransform::shear):
        (WebCore::AffineTransform::det):
        (WebCore::AffineTransform::invert):
        (WebCore::AffineTransform::operator QMatrix):
        (WebCore::AffineTransform::operator==):
        (WebCore::AffineTransform::operator*=):
        (WebCore::AffineTransform::operator*):
        * platform/qt/BrowserExtensionQt.cpp: Added.
        (WebCore::BrowserExtensionQt::BrowserExtensionQt):
        (WebCore::BrowserExtensionQt::canRunModal):
        (WebCore::BrowserExtensionQt::createNewWindow):
        (WebCore::BrowserExtensionQt::canRunModalNow):
        (WebCore::BrowserExtensionQt::runModal):
        (WebCore::BrowserExtensionQt::goBackOrForward):
        (WebCore::BrowserExtensionQt::historyURL):
        (WebCore::BrowserExtensionQt::setTypedIconURL):
        (WebCore::BrowserExtensionQt::setIconURL):
        (WebCore::BrowserExtensionQt::getHistoryLength):
        * platform/qt/BrowserExtensionQt.h: Added.
        * platform/qt/CookieJarQt.cpp: Added.
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/qt/PageQt.cpp: Added.
        (WebCore::rootWindowForFrame):
        (WebCore::Page::windowRect):
        (WebCore::Page::setWindowRect):
        * platform/qt/PathQt.cpp: Added.
        (WebCore::Path::Path):
        (WebCore::Path::~Path):
        (WebCore::Path::operator=):
        (WebCore::Path::contains):
        (WebCore::Path::translate):
        (WebCore::Path::boundingRect):
        (WebCore::Path::moveTo):
        (WebCore::Path::addLineTo):
        (WebCore::Path::addQuadCurveTo):
        (WebCore::Path::addBezierCurveTo):
        (WebCore::Path::addArcTo):
        (WebCore::Path::closeSubpath):
        (WebCore::Path::addArc):
        (WebCore::Path::addRect):
        (WebCore::Path::addEllipse):
        (WebCore::Path::clear):
        * platform/qt/ScreenQt.cpp: Added.
        (WebCore::screenRect):
        (WebCore::screenDepth):
        (WebCore::usableScreenRect):


2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        First chunk of the implementation for:
        http://bugs.webkit.org/show_bug.cgi?id=10467

        WebKit should have Qt platform support

        * platform/qt/ComboBoxQt.cpp: Added.
        (WebCore::PlatformComboBox::PlatformComboBox):
        (WebCore::PlatformComboBox::~PlatformComboBox):
        (WebCore::PlatformComboBox::setParentWidget):
        (WebCore::PlatformComboBox::clear):
        (WebCore::PlatformComboBox::appendItem):
        (WebCore::PlatformComboBox::appendGroupLabel):
        (WebCore::PlatformComboBox::appendSeparator):
        (WebCore::PlatformComboBox::setCurrentItem):
        (WebCore::PlatformComboBox::sizeHint):
        (WebCore::PlatformComboBox::frameGeometry):
        (WebCore::PlatformComboBox::setFrameGeometry):
        (WebCore::PlatformComboBox::baselinePosition):
        (WebCore::PlatformComboBox::setFont):
        (WebCore::PlatformComboBox::focusPolicy):
        (WebCore::PlatformComboBox::itemSelected):
        (WebCore::PlatformComboBox::setWritingDirection):
        (WebCore::PlatformComboBox::populate):
        (WebCore::PlatformComboBox::populateMenu):
        * platform/qt/LineEditQt.cpp: Added.
        (WebCore::PlatformLineEdit::PlatformLineEdit):
        (WebCore::PlatformLineEdit::~PlatformLineEdit):
        (WebCore::PlatformLineEdit::setParentWidget):
        (WebCore::PlatformLineEdit::setColors):
        (WebCore::PlatformLineEdit::setAlignment):
        (WebCore::PlatformLineEdit::setCursorPosition):
        (WebCore::PlatformLineEdit::cursorPosition):
        (WebCore::PlatformLineEdit::setEdited):
        (WebCore::PlatformLineEdit::edited):
        (WebCore::PlatformLineEdit::setFont):
        (WebCore::PlatformLineEdit::setMaxLength):
        (WebCore::PlatformLineEdit::maxLength):
        (WebCore::PlatformLineEdit::setReadOnly):
        (WebCore::PlatformLineEdit::isReadOnly):
        (WebCore::PlatformLineEdit::setText):
        (WebCore::PlatformLineEdit::text):
        (WebCore::PlatformLineEdit::setWritingDirection):
        (WebCore::PlatformLineEdit::selectAll):
        (WebCore::PlatformLineEdit::hasSelectedText):
        (WebCore::PlatformLineEdit::selectionStart):
        (WebCore::PlatformLineEdit::selectedText):
        (WebCore::PlatformLineEdit::setSelection):
        (WebCore::PlatformLineEdit::sizeForCharacterWidth):
        (WebCore::PlatformLineEdit::baselinePosition):
        (WebCore::PlatformLineEdit::focusPolicy):
        (WebCore::PlatformLineEdit::checksDescendantsForFocus):
        (WebCore::PlatformLineEdit::setLiveSearch):
        (WebCore::PlatformLineEdit::setAutoSaveName):
        (WebCore::PlatformLineEdit::setMaxResults):
        (WebCore::PlatformLineEdit::setPlaceholderString):
        (WebCore::PlatformLineEdit::addSearchResult):
        * platform/qt/ListBoxQt.cpp: Added.
        (WebCore::ListBox::ListBox):
        (WebCore::ListBox::~ListBox):
        (WebCore::ListBox::setParentWidget):
        (WebCore::ListBox::sizeForNumberOfLines):
        (WebCore::ListBox::setSelectionMode):
        (WebCore::ListBox::clear):
        (WebCore::ListBox::doneAppendingItems):
        (WebCore::ListBox::setSelected):
        (WebCore::ListBox::isSelected):
        (WebCore::ListBox::setEnabled):
        (WebCore::ListBox::isEnabled):
        (WebCore::ListBox::setWritingDirection):
        (WebCore::ListBox::focusPolicy):
        (WebCore::ListBox::checksDescendantsForFocus):
        (WebCore::ListBox::clearCachedTextRenderers):
        (WebCore::ListBox::setFont):
        (WebCore::ListBox::appendItem):
        * platform/qt/ScrollViewQt.cpp: Added.
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::~ScrollView):
        (WebCore::ScrollView::setParentWidget):
        (WebCore::ScrollView::updateContents):
        (WebCore::ScrollView::visibleWidth):
        (WebCore::ScrollView::visibleHeight):
        (WebCore::ScrollView::visibleContentRect):
        (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::scrollOffset):
        (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::addChild):
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::scrollPointRecursively):
        (WebCore::ScrollView::inWindow):
        * platform/qt/TextEditQt.cpp: Added.
        (WebCore::PlatformTextEdit::PlatformTextEdit):
        (WebCore::PlatformTextEdit::~PlatformTextEdit):
        (WebCore::PlatformTextEdit::setParentWidget):
        (WebCore::PlatformTextEdit::setColors):
        (WebCore::PlatformTextEdit::setAlignment):
        (WebCore::PlatformTextEdit::setLineHeight):
        (WebCore::PlatformTextEdit::setCursorPosition):
        (WebCore::PlatformTextEdit::getCursorPosition):
        (WebCore::PlatformTextEdit::setFont):
        (WebCore::PlatformTextEdit::setReadOnly):
        (WebCore::PlatformTextEdit::isReadOnly):
        (WebCore::PlatformTextEdit::setDisabled):
        (WebCore::PlatformTextEdit::isDisabled):
        (WebCore::PlatformTextEdit::hasSelectedText):
        (WebCore::PlatformTextEdit::setText):
        (WebCore::PlatformTextEdit::text):
        (WebCore::PlatformTextEdit::textWithHardLineBreaks):
        (WebCore::PlatformTextEdit::focusPolicy):
        (WebCore::PlatformTextEdit::setWordWrap):
        (WebCore::PlatformTextEdit::wordWrap):
        (WebCore::PlatformTextEdit::setScrollBarModes):
        (WebCore::PlatformTextEdit::setWritingDirection):
        (WebCore::PlatformTextEdit::selectionStart):
        (WebCore::PlatformTextEdit::selectionEnd):
        (WebCore::PlatformTextEdit::setSelectionStart):
        (WebCore::PlatformTextEdit::setSelectionEnd):
        (WebCore::PlatformTextEdit::selectAll):
        (WebCore::PlatformTextEdit::setSelectionRange):
        (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
        (WebCore::PlatformTextEdit::checksDescendantsForFocus):
        * platform/qt/WidgetQt.cpp: Added.
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::WidgetPrivate::~WidgetPrivate):
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::setClient):
        (WebCore::Widget::client):
        (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::setQWidget):
        (WebCore::Widget::qwidget):
        (WebCore::Widget::setParentWidget):
        (WebCore::Widget::parentWidget):
        (WebCore::Widget::setFrameGeometry):
        (WebCore::Widget::mapFromGlobal):
        (WebCore::Widget::scaleFactor):
        (WebCore::Widget::lockDrawingFocus):
        (WebCore::Widget::unlockDrawingFocus):
        (WebCore::Widget::paint):
        (WebCore::Widget::enableFlushDrawing):
        (WebCore::Widget::isEnabled):
        (WebCore::Widget::setIsSelected):
        (WebCore::Widget::disableFlushDrawing):
        (WebCore::Widget::setEnabled):
        (WebCore::Widget::focusPolicy):

2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        First chunk of the implementation for:
        http://bugs.webkit.org/show_bug.cgi?id=10467

        WebKit should have Qt platform support

        * platform/qt/ColorQt.cpp: Added.
        (WebCore::Color::Color):
        (WebCore::Color::operator QColor):
        * platform/qt/FloatPointQt.cpp: Added.
        (WebCore::FloatPoint::FloatPoint):
        (WebCore::FloatPoint::operator QPointF):
        * platform/qt/FloatRectQt.cpp: Added.
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::operator QRectF):
        * platform/qt/IntPointQt.cpp: Added.
        (WebCore::IntPoint::IntPoint):
        (WebCore::IntPoint::operator QPoint):
        * platform/qt/IntRectQt.cpp: Added.
        (WebCore::IntRect::IntRect):
        (WebCore::IntRect::operator QRect):
        * platform/qt/IntSizeQt.cpp: Added.
        (WebCore::IntSize::IntSize):
        (WebCore::IntSize::operator QSize):

 2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
 
         Reviewed by Eric. Landed by rwlbuis.
 
         Fixes: http://bugs.webkit.org/show_bug.cgi?id=10470
         The Qt platform needs a KCanvas device.
 
         * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
         (WebCore::KCanvasClipperQt::applyClip):
         * kcanvas/device/qt/KCanvasClipperQt.h: Added.
         (WebCore::KCanvasClipperQt::KCanvasClipperQt):
         * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
         (WebCore::KCanvasPathQt::KCanvasPathQt):
         (WebCore::KCanvasPathQt::~KCanvasPathQt):
         (WebCore::KCanvasPathQt::isEmpty):
         (WebCore::KCanvasPathQt::moveTo):
         (WebCore::KCanvasPathQt::lineTo):
         (WebCore::KCanvasPathQt::curveTo):
         (WebCore::KCanvasPathQt::closeSubpath):
         (WebCore::KCanvasPathQt::boundingBox):
         (WebCore::KCanvasPathQt::strokeBoundingBox):
         (WebCore::KCanvasPathQt::strokeContainsPoint):
         (WebCore::KCanvasPathQt::containsPoint):
         * kcanvas/device/qt/KCanvasPathQt.h: Added.
         (WebCore::KCanvasPathQt::qtPath):
         * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
         (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
         (WebCore::KRenderingDeviceContextQt::concatCTM):
         (WebCore::KRenderingDeviceContextQt::ctm):
         (WebCore::KRenderingDeviceContextQt::mapFromVisual):
         (WebCore::KRenderingDeviceContextQt::mapToVisual):
         (WebCore::KRenderingDeviceContextQt::clearPath):
         (WebCore::KRenderingDeviceContextQt::addPath):
         (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
         (WebCore::KRenderingDeviceContextQt::painter):
         (WebCore::KRenderingDeviceContextQt::pathBBox):
         (WebCore::KRenderingDeviceContextQt::setFillRule):
         (WebCore::KRenderingDeviceContextQt::fillPath):
         (WebCore::KRenderingDeviceContextQt::strokePath):
         (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
         (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
         (WebCore::KRenderingDeviceQt::popContext):
         (WebCore::KRenderingDeviceQt::pushContext):
         (WebCore::KRenderingDeviceQt::qtContext):
         (WebCore::KRenderingDeviceQt::contextForImage):
         (WebCore::KRenderingDeviceQt::stringForPath):
         (WebCore::KRenderingDeviceQt::createResource):
         (WebCore::KRenderingDeviceQt::createPaintServer):
         (WebCore::KRenderingDeviceQt::createFilterEffect):

2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10466
        WebKit should have Qt platform support.

        * platform/Color.h:
        * platform/Cursor.h:
        (WebCore::Cursor::Cursor):
        * platform/FloatPoint.h:
        * platform/FloatRect.h:
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/GraphicsContext.h:
        * platform/ImageSource.h:
        * platform/IntPoint.h:
        * platform/IntRect.h:
        * platform/IntSize.h:
        * platform/ListBox.h:
        * platform/Path.h:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderClient.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/ScrollView.h:
        * platform/Widget.h:

2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10465
        General WebKit Linux build fixes.

        * kcanvas/KCanvasFilters.cpp:
        (WebCore::operator<<):
        * kcanvas/RenderSVGImage.cpp:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * page/Frame.h:
        * rendering/RenderStyle.h:
        (WebCore::RenderStyle::deleteBindingURIs):
        * xml/DOMParser.cpp:

2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric. Landed by rwlbuis.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10464
        Offer a cmake build system for Qt platform.

        * CMakeLists.txt: Added.

2006-08-17  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons

        Accessorized RenderMenuList objects.
        
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject mouseButtonListener]):
        Trivial formatting.
        
        (-[WebCoreAXObject actionElement]):
        Return the HTMLSelectElement.
        
        (-[WebCoreAXObject firstChild]):
        (-[WebCoreAXObject lastChild]):
        (-[WebCoreAXObject previousSibling]):
        (-[WebCoreAXObject nextSibling]):
        (-[WebCoreAXObject parentObject]):
        (-[WebCoreAXObject parentObjectUnignored]):
        (-[WebCoreAXObject isAttachment]):
        (-[WebCoreAXObject attachmentView]):
        Trivial formatting.

        (-[WebCoreAXObject role]):
        Return NSAccessibilityPopUpButtonRole.

        (-[WebCoreAXObject subrole]):
        Trivial formatting.
        
        (-[WebCoreAXObject roleDescription]):
        Return NSAccessibilityPopUpButtonRole.
        
        (-[WebCoreAXObject textUnderElement]):
        Trivial formatting.

        (-[WebCoreAXObject value]):
        Return the RenderMenuList::text().
        
        (-[WebCoreAXObject position]):
         Trivial formatting.

        (-[WebCoreAXObject accessibilityIsIgnored]):
        - Ignore popup menu items because AppKit does.
        - Remove redundant check for buttonTag (earlier isControl() check suffices).
        
        (-[WebCoreAXObject accessibilityAttributeNames]):
        (-[WebCoreAXObject accessibilityActionNames]):
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        Trivial formatting.
        
        (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
        Removed old debugging code that is no longer needed.
        Trivial formatting.
        
        (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
        (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
        (-[WebCoreAXObject removeAXObjectID]):
        Trivial formatting.
        
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::accessKeyAction):
        Call click() instead of focus().
        
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::text):
        Added for easy access to popup's current text.
        
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::isMenuList):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isMenuList):
        Added so popups can be identified.

2006-08-17  David Harrison  <harrison@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range

        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

        * bridge/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::visiblePositionForTextMarker):
        Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.

2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Anders.

        Fixes: http://bugs.webkit.org/show_bug.cgi?id=10447
        AffineTransform should be multi-platform compatible

        * platform/AffineTransform.h:
        * platform/cg/AffineTransformCG.cpp:
        (WebCore::AffineTransform::m11):
        (WebCore::AffineTransform::m12):
        (WebCore::AffineTransform::m21):
        (WebCore::AffineTransform::m22):
        (WebCore::AffineTransform::dx):
        (WebCore::AffineTransform::dy):

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

        Fix an issue with CSS2 system fonts where they did not respect text
        zoom.  This was most visible with the new control fonts used for form
        controls (they stopped swapping between small/mini/regular as you zoomed).

        Reviewed by beth

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

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

        Reviewed by thatcher
        
        First part of fix for:
        <rdar://problem/4384589>
        Mail hung on paste text
        
        Fixes:
        <http://bugs.webkit.org/show_bug.cgi?id=8592>
        Extra line left after deleting whitespace:pre text
        <rdar://problem/4128080> Paste as HTML does not yield equivalent style
        <rdar://problem/4046469> Box styles on first element aren't copied/pasted
        Copy/paste of arstechnica.com
        
        Here's how we avoid adding redundant style information on paste: insert 
        the fragment and do a test rendering, save away style information for 
        every node in the fragment, remove all style information from the fragment, 
        remove the fragment, insert it into the appropriate place in the document, 
        then restore only those styles gathered during the test insertion that aren't
        redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
        and a layout for nearly every inserted node.  
        Instead we want to insert the fragment into the document without removing the 
        style information, then mark style nodes and inline style declarations for 
        removal if they are redundant, and sweep to remove them.  This means that we 
        can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
        have style spans around them.  This patch removes the use of wasBlock in 
        ReplaceSelectionCommand.
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Added code
        to remove the line placeholder left after a move from preserveNewline text.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
        we're deleting a paragraph in preserveNewline text.
        * editing/JSEditor.cpp: Pass true to prevent nesting.
        * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
        (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
        (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
        (WebCore::RenderingInfo::RenderingInfo): Ditto.
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
        merging rules into one method.
        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
        (WebCore::ReplaceSelectionCommand::shouldMerge):
        (WebCore::ReplaceSelectionCommand::doApply): 
        Don't do nesting prevention when pasting into an empty paragraph, this
        fixes 4046469, the common cause of paste fidelity bugs, but needs
        to be tweaked a little because this can lead to margin/border build-up
        on repeated copy/pastes.
        Don't track startPos in addition to insertionPos.  It was never used.
        Fixed a bug where a fragment starting with an interchange newline would
        cause content to be put outside of an editable region when pasting at the 
        very end of it.
        Adjust insertionPos before insertion (not during) and do not consult wasBlock
        to decide whether or not to do so.
        Changed the way we do the start merge: insert the fragment, then stich 
        paragraphs together, in the same way that we do the end merge.  This 
        doesn't require wasBlock and fixes bugs.
        Replaced some uses of insertionPos with endOfInsertedContent.
        Fixed a bug in the expansion of the last incoming br (a "collapsed" br
        is one where !isStartOfParagraph([br,0])).
        Removed the special case code that did the end merge for the preserveNewline 
        case, since this patch fixes the moveParagraph bug in the preserveNewline case.
        Removed some unused variables.
        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
        holding a line open should always be displaced by inserted content, unless 
        the inserted content ends with a br.
        (WebCore::ReplaceSelectionCommand::updateNodesInserted):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::RenderingInfo::style):
        * editing/markup.cpp:
        (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
        annotate is true (when we're creating markup for the pasteboard).

2006-08-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Brady Eidson
        
        - fixed <rdar://problem/4637156> underlines appearing in white selection text

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::paintDecorations):
        bail out if phase is PaintPhaseSelection and forceWhiteText is true

2006-08-16  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        Updated the DB version number and added a helpful comment explaining its meaning

        * loader/icon/IconDatabase.cpp:

2006-08-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Major refactoring of new iconDB:
        -Instead of private browsing being handled by in-memory tables, it's now handled
         by a separate in-memory database with the same table names.  This allows us to 
         re-use the same SQL on either the main or private-browsing database
        -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
         "Query" that take a database as the method's argument so the same language can run on
         both private and main tables
        -Now that we have two DBs, moved the retain/release count to the m_mainDB
        -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
         down on some high-usage, low value queries which were too expensive
        -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
        -Pruned tons of unused methods from previous revisions

     * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
        * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase): Updated initializer list
        (WebCore::IconDatabase::open): Sets up both databases
        (WebCore::IconDatabase::close): Closes both databases
        (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
        (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
        (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
        (WebCore::IconDatabase::createDatabaseTables): Ditto
        (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
        (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
        (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
        (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
        (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
        (WebCore::IconDatabase::releaseIconForPageURL): Ditto
        (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
        (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
        (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
        (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
        (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
        (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
        (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
        (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
        (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
        (WebCore::IconDatabase::~IconDatabase):
        (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
        (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
        (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
        (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
        (WebCore::forgetPageURLQuery): Self-explanatory SQL query
        (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
        (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
        (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
        (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
     * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
        (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases

2006-08-15  Jonas Witt <jonas.witt@gmail.com>

        Reviewed by Darin.

        - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
          http://bugs.webkit.org/show_bug.cgi?id=9736

        * bindings/objc/DOMEvents.mm:
        (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
        * bindings/objc/DOMEventsNonstandard.mm:
        (-[DOMWheelEvent initWheelEvent:::::::::::]):
        * bindings/objc/DOMPrivate.h:

        - added an initializer for the WheelEvent

        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::initWheelEvent):
        * dom/WheelEvent.h:

2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Tim H.

        Build fix:  DWARF and -gfull are incompatible with symbol separation.

        * WebCore.xcodeproj/project.pbxproj:

2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=10394
        Bug 10394: WebKit Release and Production configurations should enable dead code stripping

        * WebCore.xcodeproj/project.pbxproj:

2006-08-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.
        
        - This patch reworks a previous fix for <rdar://problem/3524912> repro 
        crash in KHTMLParser::parseToken, due to parser's current element being 
        destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
        leaks.
        
        The previous solutions caused a ~2% performance regression on iBench HTML,
        due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
        for a total win of ~3% vs current TOT.
        
        We can merge this fix to the branch to fix <rdar://problem/4661982> 
        (crash in KHTMLParser::popBlock).
        
        The solution here is:
        (1) Don't let the parser ref document nodes -- that causes leaks.
        (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
        moving a node between stacks or to/from 'current', rather than deref'ing
        and then ref'ing again, simply move the node, along with its refcount, to
        its new location, and overwrite its old location.
 
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLParser.cpp:
        (WebCore::HTMLStackElem::HTMLStackElem):
        (WebCore::HTMLStackElem::derefNode):
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::setCurrent):
        (WebCore::HTMLParser::insertNode):
        (WebCore::HTMLParser::popNestedHeaderTag):
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::HTMLParser::reopenResidualStyleTags):
        (WebCore::HTMLParser::pushBlock):
        (WebCore::HTMLParser::popBlock):
        (WebCore::HTMLParser::popOneBlockCommon):
        (WebCore::HTMLParser::popOneBlock):
        (WebCore::HTMLParser::moveOneBlockToStack):
        * html/HTMLParser.h:

2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=10384
        Bug 10384: Switch to DWARF for Release configuration

        * WebCore.xcodeproj/project.pbxproj:

2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Hyatt.
        Tweaked and landed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10399
        Bug 10399: RenderTextArea is unused

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Removed RenderTextArea source files.

        * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
        * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.

        * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.

        * platform/TextBox.h: Removed.
        * platform/mac/TextBoxMac.mm: Removed.
        * platform/mac/WebCoreTextArea.h: Removed.
        * platform/mac/WebCoreTextArea.mm: Removed.
        * rendering/RenderTextArea.cpp: Removed.
        * rendering/RenderTextArea.h: Removed.

2006-08-15  Brady Eidson  <beidson@apple.com>

        Reviewed by THE OTHER Maciej...

        Two small fixes -
        1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
        2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
        null dereference later

        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
        (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::retainIconForPageURL):  Name change
        (WebCore::IconDatabase::releaseIconForPageURL):  ditto
        (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
        * loader/icon/IconDatabase.h:  Some renames

2006-08-14  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        <mask>, <marker>, <pattern> inside <defs> do not work
        http://bugs.webkit.org/show_bug.cgi?id=6548

        * ksvg2/svg/SVGDefsElement.cpp:
        (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
        (WebCore::SVGDefsElement::isValid): moved to .cpp file
        (WebCore::SVGDefsElement::rendererIsNeeded): Added.
        (WebCore::SVGDefsElement::createRenderer): Added.
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGGElement.cpp:
        (WebCore::SVGGElement::SVGGElement): adjusted spacing
        (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
        (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing

2006-08-14  Eric Seidel  <eric@webkit.org>

        Reviewed by darin and mjs.
        
        Add better SVGLoad event support.
        http://bugs.webkit.org/show_bug.cgi?id=6010
        There will still need to be additional support added for <link> and <script> elements.
        Not all of the error -> loaded -> error transition cases work yet.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        * html/HTMLImageLoader.h:
        (WebCore::HTMLImageLoader::haveFiredLoadEvent):
        (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
        * ksvg2/misc/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::SVGImageLoader):
        (WebCore::SVGImageLoader::dispatchLoadEvent):
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimatedBoolean.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::parseMappedAttribute):
        (WebCore::SVGElement::haveLoadedRequiredResources):
        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
        (WebCore::SVGElement::closeRenderer):
        * ksvg2/svg/SVGElement.h:
        (WebCore::SVGElement::rendererIsNeeded):
        (WebCore::svg_dynamic_cast):
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGImageElement.cpp:
        (SVGImageElement::SVGImageElement):
        (SVGImageElement::haveLoadedRequiredResources):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):
        * ksvg2/svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        (WebCore::SVGScriptElement::parseMappedAttribute):
        (WebCore::SVGScriptElement::executeScript):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=10393
        Autogenerate NodeIterator and TreeWalker.
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.
        
        * bindings/js/JSNodeIteratorCustom.cpp: Added.
        (WebCore::JSNodeIterator::mark):
        * bindings/js/JSTreeWalkerCustom.cpp: Added.
        (WebCore::JSTreeWalker::mark):
        
        * bindings/js/kjs_traversal.cpp:
        * bindings/js/kjs_traversal.h:
        Remove implementations of DOMNodeIterator and DOMTreeWalker.

        * bindings/scripts/CodeGeneratorJS.pm:
        Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
        
        * bindings/objc/DOM.mm:
        (-[DOMNodeIterator detach]):
        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::detach):
        * dom/NodeIterator.h:
        Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
        * dom/NodeIterator.idl: Added.
        * dom/TreeWalker.idl: Added.

2006-08-14  Brady Eidson  <beidson@apple.com>

        Reviewed by John

        The changes are plentiful, but small, mostly to improve performance
        1) Add a bool flag to SiteIcon to stop it from querying the database over and over
        2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
        3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
        4) Added isIconURLRetained() to optimize the retain count check
        5) Prune old, unused code

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::imageDataForIconID): Removed unused code
        (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
        (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
        (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
        (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
        (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
        (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
        (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
          for an icon so much as whether or not it is retained
        (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
          SQLite code
        * loader/icon/IconDatabase.h:  Added new methods/variables
        * loader/icon/SiteIcon.cpp:
        (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
        (SiteIcon::getImage): Ditto

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

        Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.

        Reviewed by ggaren

        Added fast/parser/bad-xml-slash.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10204
          REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages

        Test: fast/parser/title-error-test.html

        * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
        handling case that was skipping until a </style> tag in code that was shared
        between both <title> and <style>. Also rearranged the code a tiny bit.

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

        Reviewed by Hyatt.

        - fixed some storage leaks
          (part of http://bugs.webkit.org/show_bug.cgi?id=10259)

        * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
        Rearrange code so that "delete this" is called any time the function returns
        false -- ownership was inconsistent before.

        * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
        Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
        some of what it does has to be done during destruction. A little awkward since
        I preserved the order of operations. Perhaps we could structure this better later.

2006-08-14  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan and Geoff Garen.

        <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute

        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

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityDescription]):
        For a web area, return the name of the owning frame or iframe.
        
        (-[WebCoreAXObject accessibilityAttributeNames]):
        Advertize NSAccessibilityDescriptionAttribute.
        
        (-[WebCoreAXObject rendererForView:]):
        Clean up some old naming.

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10353
        XMLSerializer and DOMParser should have real implementations
        
        Make real implementation files for DOMParser and XMLSerializer and wrap them
        using our bindings generation.
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMParser.cpp: Removed.
        * bindings/js/JSDOMParser.h: Removed.
        * bindings/js/JSXMLSerializer.cpp: Removed.
        * bindings/js/JSXMLSerializer.h: Removed.
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * bindings/js/kjs_window.h:
        (KJS::Window::):
        * page/DOMWindow.idl:
        * xml/DOMParser.cpp: Added.
        (WebCore::DOMParser::parseFromString):
        * xml/DOMParser.h: Added.
        * xml/DOMParser.idl: Added.
        * xml/XMLSerializer.cpp: Added.
        (WebCore::XMLSerializer::serializeToString):
        * xml/XMLSerializer.h: Added.
        * xml/XMLSerializer.idl: Added.

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

        Reviewed by Brady.

        - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface

        * WebCore.exp: export new functions
        * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
        * platform/mac/WebCoreSystemInterface.mm: ditto

2006-08-13  Maks Orlovich  <maksim@kde.org>

        Reviewed (and tweaked a little) by Maciej.
        
        - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
        in a 1.2% speed improvement on JS iBench (and probably overall memory savings).

        The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
        
        * bindings/js/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):

2006-08-12  Eric Seidel  <eric@webkit.org>

        Reviewed by hyatt and mjs.

        Fix two missing null checks causing layout test crashes.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null


2006-08-11  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        The outermost <svg> element needs to clip itself
        http://bugs.webkit.org/show_bug.cgi?id=5358

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
        (WebCore::RenderSVGContainer::paint):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
        (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
        * ksvg2/svg/SVGPaint.cpp: spacing changes
        (WebCore::SVGPaint::SVGPaint): spacing cleanup
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
        * platform/GraphicsContext.h: Added concatCTM
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::concatCTM): Added.

2006-08-11  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Renamed a method/parameter for clarity and consistency, as well as some style
        cleanups and removing some ridiculously verbose log messages.
        Also added an _isEmpty method to the database and bridge for WebKit's use.
        Finally, added a central way for both WebKit and WebCore to get the icon database filename

        * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
        * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
        (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
        (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
        (-[WebCoreIconDatabaseBridge isOpen]):
        (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
        (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
        (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
        (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
        (-[WebCoreIconDatabaseBridge retainIconForURL:]):
        (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
        (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
        (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
        (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
        (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::defaultDatabaseFilename):  Added
        (WebCore::IconDatabase::open):  
        (WebCore::IconDatabase::isEmpty):  Added
        (WebCore::IconDatabase::retainIconForURL):  Removed log message
        (WebCore::IconDatabase::releaseIconForURL):  Removed log message
        * loader/icon/IconDatabase.h: 

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

        Eliminate RenderImageButton.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject isImageButton]):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createRenderer):
        * rendering/RenderImage.h:
        (WebCore::RenderImage::isImage):

2006-08-11  Adele Peterson  <adele@apple.com>

        Reviewed by Brady.

        - Fix for <rdar://problem/4656274> 
        REGRESSION: option elements are selected when added regardless of "selected" property

        Test: fast/forms/option-constructor-selected.html

        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
        When adding an option element, check that the option element is selected before calling setSelectedIndex.

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

        Fix for bug 10349, make sure to call setChanged when an anchor changes
        from not being a link to being a link (and vice versa).

        Test is in fast/dynamic/link-href-change.html

        Reviewed by darin

        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        (WebCore::HTMLAnchorElement::parseMappedAttribute):
        * html/HTMLAnchorElement.h:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::parseMappedAttribute):

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

        Reviewed by Darin.

        Revert an over-optimization step that messed up the HashSet lookup.

        * dom/DOMImplementation.cpp:

2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>

        Rubber stamped by tim

        Removed commented out code

        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):

2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>

        Reviewed by geoff

        Fixed regression in SVG image layout
        (see bug #10346)

        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):

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

        Rubber-stamped by Maciej.

        Move xpath to xml.
        
        * DerivedSources.make:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * xpath/XPathEvaluator.cpp: Removed.
        * xpath/XPathEvaluator.h: Removed.
        * xpath/XPathEvaluator.idl: Removed.
        * xpath/XPathExpression.cpp: Removed.
        * xpath/XPathExpression.h: Removed.
        * xpath/XPathExpression.idl: Removed.
        * xpath/XPathNSResolver.cpp: Removed.
        * xpath/XPathNSResolver.h: Removed.
        * xpath/XPathNSResolver.idl: Removed.
        * xpath/XPathNamespace.cpp: Removed.
        * xpath/XPathNamespace.h: Removed.
        * xpath/XPathResult.cpp: Removed.
        * xpath/XPathResult.h: Removed.
        * xpath/XPathResult.idl: Removed.
        * xpath/impl/XPathExpressionNode.cpp: Removed.
        * xpath/impl/XPathExpressionNode.h: Removed.
        * xpath/impl/XPathFunctions.cpp: Removed.
        * xpath/impl/XPathFunctions.h: Removed.
        * xpath/impl/XPathGrammar.y: Removed.
        * xpath/impl/XPathParser.cpp: Removed.
        * xpath/impl/XPathParser.h: Removed.
        * xpath/impl/XPathPath.cpp: Removed.
        * xpath/impl/XPathPath.h: Removed.
        * xpath/impl/XPathPredicate.cpp: Removed.
        * xpath/impl/XPathPredicate.h: Removed.
        * xpath/impl/XPathStep.cpp: Removed.
        * xpath/impl/XPathStep.h: Removed.
        * xpath/impl/XPathUtil.cpp: Removed.
        * xpath/impl/XPathUtil.h: Removed.
        * xpath/impl/XPathValue.cpp: Removed.
        * xpath/impl/XPathValue.h: Removed.
        * xpath/impl/XPathVariableReference.cpp: Removed.
        * xpath/impl/XPathVariableReference.h: Removed.

2006-08-10  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages

        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

        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject value]):
        Add handling for text input fields.

2006-08-09  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10247
        REGRESSION: Unable to build webkit without SVG/XPATH

        * bindings/js/kjs_binding.cpp:
        (KJS::setDOMException):
        * bindings/js/kjs_dom.cpp:
        (KJS::toJS):
        * bindings/js/kjs_html.cpp:
        (KJS::HTMLElementFunction::callAsFunction):
        * bindings/js/kjs_proxy.cpp:
        * bindings/js/kjs_proxy.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMInternal.mm:
        (raiseDOMException):
        * bindings/objc/DOMXPath.mm:
        * bindings/objc/DOMXPathInternal.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
        * css/CSSGrammar.y:
        * css/CSSStyleDeclaration.cpp:
        (WebCore::propertyID):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssparser.h:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::loadDefaultStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/cssstyleselector.h:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::~Document):
        (WebCore::Document::createElementNS):
        (WebCore::Document::implicitClose):
        (WebCore::Document::recalcStyleSelector):
        (WebCore::Document::createEvent):
        * dom/Document.h:
        * dom/Document.idl:
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
        * dom/Node.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::endElementNs):
        (WebCore::XMLTokenizer::insertErrorMessageBlock):
        * html/HTMLEmbedElement.cpp:
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasCreator.h:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasImage.h:
        * kcanvas/KCanvasMatrix.cpp:
        * kcanvas/KCanvasMatrix.h:
        * kcanvas/KCanvasPath.cpp:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasResourceListener.h:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/RenderForeignObject.cpp:
        * kcanvas/RenderForeignObject.h:
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp:
        * kcanvas/RenderSVGContainer.h:
        * kcanvas/RenderSVGImage.cpp:
        * kcanvas/RenderSVGImage.h:
        * kcanvas/RenderSVGText.cpp:
        * kcanvas/RenderSVGText.h:
        * kcanvas/device/KRenderingDevice.cpp:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingFillPainter.cpp:
        * kcanvas/device/KRenderingFillPainter.h:
        * kcanvas/device/KRenderingPaintServer.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        * kcanvas/device/KRenderingStrokePainter.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
        * ksvg2/css/SVGCSSParser.cpp:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/css/SVGRenderStyle.cpp:
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/ecma/GlobalObject.cpp:
        * ksvg2/ecma/GlobalObject.h:
        * ksvg2/events/JSSVGLazyEventListener.cpp:
        * ksvg2/events/JSSVGLazyEventListener.h:
        * ksvg2/events/SVGZoomEvent.cpp:
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/ksvg.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/misc/KSVGTimeScheduler.h:
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/misc/SVGImageLoader.cpp:
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/svg/DOMList.h:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGAElement.h:
        * ksvg2/svg/SVGAngle.cpp:
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateElement.cpp:
        * ksvg2/svg/SVGAnimateElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedAngle.cpp:
        * ksvg2/svg/SVGAnimatedAngle.h:
        * ksvg2/svg/SVGAnimatedBoolean.cpp:
        * ksvg2/svg/SVGAnimatedBoolean.h:
        * ksvg2/svg/SVGAnimatedColor.cpp:
        * ksvg2/svg/SVGAnimatedColor.h:
        * ksvg2/svg/SVGAnimatedEnumeration.cpp:
        * ksvg2/svg/SVGAnimatedEnumeration.h:
        * ksvg2/svg/SVGAnimatedInteger.cpp:
        * ksvg2/svg/SVGAnimatedInteger.h:
        * ksvg2/svg/SVGAnimatedLength.cpp:
        * ksvg2/svg/SVGAnimatedLength.h:
        * ksvg2/svg/SVGAnimatedLengthList.cpp:
        * ksvg2/svg/SVGAnimatedLengthList.h:
        * ksvg2/svg/SVGAnimatedNumber.cpp:
        * ksvg2/svg/SVGAnimatedNumber.h:
        * ksvg2/svg/SVGAnimatedNumberList.cpp:
        * ksvg2/svg/SVGAnimatedNumberList.h:
        * ksvg2/svg/SVGAnimatedPathData.cpp:
        * ksvg2/svg/SVGAnimatedPathData.h:
        * ksvg2/svg/SVGAnimatedPoints.cpp:
        * ksvg2/svg/SVGAnimatedPoints.h:
        * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
        * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
        * ksvg2/svg/SVGAnimatedRect.cpp:
        * ksvg2/svg/SVGAnimatedRect.h:
        * ksvg2/svg/SVGAnimatedString.cpp:
        * ksvg2/svg/SVGAnimatedString.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * ksvg2/svg/SVGAnimatedTransformList.cpp:
        * ksvg2/svg/SVGAnimatedTransformList.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGCircleElement.cpp:
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.cpp:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDOMImplementation.cpp:
        * ksvg2/svg/SVGDOMImplementation.h:
        * ksvg2/svg/SVGDefsElement.cpp:
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGDescElement.cpp:
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGDocument.cpp:
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGElementInstance.cpp:
        * ksvg2/svg/SVGElementInstance.h:
        * ksvg2/svg/SVGElementInstanceList.cpp:
        * ksvg2/svg/SVGElementInstanceList.h:
        * ksvg2/svg/SVGEllipseElement.cpp:
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFEBlendElement.cpp:
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.cpp:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEDistantLightElement.cpp:
        * ksvg2/svg/SVGFEDistantLightElement.h:
        * ksvg2/svg/SVGFEFloodElement.cpp:
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEFuncAElement.cpp:
        * ksvg2/svg/SVGFEFuncAElement.h:
        * ksvg2/svg/SVGFEFuncBElement.cpp:
        * ksvg2/svg/SVGFEFuncBElement.h:
        * ksvg2/svg/SVGFEFuncGElement.cpp:
        * ksvg2/svg/SVGFEFuncGElement.h:
        * ksvg2/svg/SVGFEFuncRElement.cpp:
        * ksvg2/svg/SVGFEFuncRElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.h:
        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFEPointLightElement.cpp:
        * ksvg2/svg/SVGFEPointLightElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFESpotLightElement.cpp:
        * ksvg2/svg/SVGFESpotLightElement.h:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFilterElement.cpp:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGFitToViewBox.cpp:
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGGElement.cpp:
        * ksvg2/svg/SVGGElement.h:
        * ksvg2/svg/SVGGradientElement.cpp:
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        * ksvg2/svg/SVGHelper.h:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLangSpace.cpp:
        * ksvg2/svg/SVGLangSpace.h:
        * ksvg2/svg/SVGLength.cpp:
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGLengthList.cpp:
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGLineElement.cpp:
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGLocatable.cpp:
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGMatrix.cpp:
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGNumber.cpp:
        * ksvg2/svg/SVGNumber.h:
        * ksvg2/svg/SVGNumberList.cpp:
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGPaint.cpp:
        * ksvg2/svg/SVGPaint.h:
        * ksvg2/svg/SVGPathElement.cpp:
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPathSeg.cpp:
        * ksvg2/svg/SVGPathSeg.h:
        * ksvg2/svg/SVGPathSegArc.cpp:
        * ksvg2/svg/SVGPathSegArc.h:
        * ksvg2/svg/SVGPathSegClosePath.cpp:
        * ksvg2/svg/SVGPathSegClosePath.h:
        * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * ksvg2/svg/SVGPathSegLineto.cpp:
        * ksvg2/svg/SVGPathSegLineto.h:
        * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        * ksvg2/svg/SVGPathSegList.cpp:
        * ksvg2/svg/SVGPathSegList.h:
        * ksvg2/svg/SVGPathSegMoveto.cpp:
        * ksvg2/svg/SVGPathSegMoveto.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPoint.cpp:
        * ksvg2/svg/SVGPoint.h:
        * ksvg2/svg/SVGPointList.cpp:
        * ksvg2/svg/SVGPointList.h:
        * ksvg2/svg/SVGPolyElement.cpp:
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/SVGPolygonElement.cpp:
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.cpp:
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRect.cpp:
        * ksvg2/svg/SVGRect.h:
        * ksvg2/svg/SVGRectElement.cpp:
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGScriptElement.cpp:
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGSetElement.cpp:
        * ksvg2/svg/SVGSetElement.h:
        * ksvg2/svg/SVGStopElement.cpp:
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStringList.cpp:
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGStylable.cpp:
        * ksvg2/svg/SVGStylable.h:
        * ksvg2/svg/SVGStyleElement.cpp:
        * ksvg2/svg/SVGStyleElement.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.cpp:
        * ksvg2/svg/SVGSwitchElement.h:
        * ksvg2/svg/SVGSymbolElement.cpp:
        * ksvg2/svg/SVGSymbolElement.h:
        * ksvg2/svg/SVGTRefElement.cpp:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTSpanElement.cpp:
        * ksvg2/svg/SVGTSpanElement.h:
        * ksvg2/svg/SVGTests.cpp:
        * ksvg2/svg/SVGTests.h:
        * ksvg2/svg/SVGTextContentElement.cpp:
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTextPositioningElement.cpp:
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTitleElement.cpp:
        * ksvg2/svg/SVGTitleElement.h:
        * ksvg2/svg/SVGTransform.cpp:
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformList.cpp:
        * ksvg2/svg/SVGTransformList.h:
        * ksvg2/svg/SVGTransformable.cpp:
        * ksvg2/svg/SVGTransformable.h:
        * ksvg2/svg/SVGURIReference.cpp:
        * ksvg2/svg/SVGURIReference.h:
        * ksvg2/svg/SVGUseElement.cpp:
        * ksvg2/svg/SVGUseElement.h:
        * ksvg2/svg/SVGViewElement.cpp:
        * ksvg2/svg/SVGViewElement.h:
        * ksvg2/svg/SVGZoomAndPan.cpp:
        * ksvg2/svg/SVGZoomAndPan.h:
        * ksvg2/svg/svgpathparser.cpp:
        * ksvg2/svg/svgpathparser.h:
        * page/DOMWindow.idl:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::begin):
        (WebCore::Frame::pauseTimeouts):
        (WebCore::Frame::resumeTimeouts):
        * platform/GraphicsContext.h:
        * platform/cg/GraphicsContextCG.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::isTransparent):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):
        * rendering/RenderObject.h:
        * rendering/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):
        (WebCore::RenderStyle::inheritFrom):
        (WebCore::RenderStyle::operator==):
        (WebCore::RenderStyle::inheritedNotEqual):
        (WebCore::RenderStyle::diff):
        * rendering/RenderStyle.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        (WebCore::externalRepresentation):
        * xpath/XPathEvaluator.cpp:
        * xpath/XPathEvaluator.h:
        * xpath/XPathExpression.cpp:
        * xpath/XPathExpression.h:
        * xpath/XPathNSResolver.cpp:
        * xpath/XPathNSResolver.h:
        * xpath/XPathNamespace.cpp:
        * xpath/XPathNamespace.h:
        * xpath/XPathResult.cpp:
        * xpath/XPathResult.h:
        * xpath/impl/XPathExpressionNode.cpp:
        * xpath/impl/XPathExpressionNode.h:
        * xpath/impl/XPathFunctions.cpp:
        * xpath/impl/XPathFunctions.h:
        * xpath/impl/XPathGrammar.y:
        * xpath/impl/XPathParser.cpp:
        * xpath/impl/XPathParser.h:
        * xpath/impl/XPathPath.cpp:
        * xpath/impl/XPathPath.h:
        * xpath/impl/XPathPredicate.cpp:
        * xpath/impl/XPathPredicate.h:
        * xpath/impl/XPathStep.cpp:
        * xpath/impl/XPathStep.h:
        * xpath/impl/XPathUtil.cpp:
        * xpath/impl/XPathUtil.h:
        * xpath/impl/XPathValue.cpp:
        * xpath/impl/XPathValue.h:
        * xpath/impl/XPathVariableReference.cpp:
        * xpath/impl/XPathVariableReference.h:

        Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
        #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
        (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
        in RenderTreeAsText.cpp)

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10230
        SVGDOMImplementation should die (and be rolled into DOMImplementation)

        Delete SVGDOMImplementation and references to it. The
        svg specific functionality is now in DOMImplementation.

        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMImplementation.cpp:
        (WebCore::svgFeatureSet):
        (WebCore::DOMImplementation::hasFeature):
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createSVGDocument):
        * dom/DOMImplementation.h:
        * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
        * ksvg2/svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument):
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::isSupported):
        * 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/SVGFELightElement.cpp:
        * ksvg2/svg/SVGFEMergeElement.cpp:
        * ksvg2/svg/SVGFEOffsetElement.cpp:
        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
        * ksvg2/svg/SVGFETileElement.cpp:
        * ksvg2/svg/SVGFETurbulenceElement.cpp:
        * ksvg2/svg/SVGGradientElement.cpp:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGPolyElement.cpp:
        * ksvg2/svg/SVGStopElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::isValid):
        * ksvg2/svg/SVGTransformable.cpp:
        * page/Frame.cpp:
        (WebCore::Frame::begin):

2006-08-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders and John

        Icons can now refresh when new data is sent from WebKit, both on disk and in memory

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
        outside of any greater context
        (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
        (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
        to get whether or not an icon has expired

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
        (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
        (WebCore::IconDatabase::iconForPageURL): 
        (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
        (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
        (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
        image when new icon data is loaded
        (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID

        * loader/icon/IconDatabase.h: added/changed some methods
        * loader/icon/SiteIcon.cpp:
        (SiteIcon::getImage): simplified/removed debugging code
        (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
        data is loaded

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

        Reviewed by Eric Seidel.

        - fix a storage leak

        * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
        Delete the values if we are going to exit without using the maps.
        Otherwise all the values leak.

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10213
          REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>

        Test: fast/frames/iframe-option-crash.xhtml

        * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
        Check for a nil renderer.

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

        Fix for Radar bug #4644045, regression where dragging selection no longer
        works for floats contained inside layers.  I added an optimization to
        refine dirty rect checking for layers, and it incorrectly excluded floats
        from the paint bounds since PaintPhaseSelection was not considered when
        analyzing the floatRect().

        Reviewed by beth

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

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

        Fix remove() so that it is equivalent to calling removeChild on the
        parent.  This involved moving three operations that remove did.

        (1) Move the accessibility object cache removal into the destroy methods,
        since this really should just happen when a render object is going away.

        (2) removeFromObjectLists shifted into removeChild, which means it will
        now be called more often (this is a correct change).  Note that there is
        also now a new guard on removeFromObjectLists so that it won't do any
        work unless the document is not being destroyed.

        (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
        the line box tree.  This moved right into RenderContainer's removeChildNode so
        that it is now done even in the lowest level RenderContainer removal primitive.

        Reviewed by beth

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode):
        (WebCore::RenderContainer::removeChild):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::removeFromObjectLists):
        (WebCore::RenderObject::destroy):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::remove):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::destroy):

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

        Back out the fix for list marker crashes.  The actual bug here is that
        there is a confusing mismatch between remove() and removeChild() in the
        render tree.  remove() does a little bit of extra work that removeChild
        should be doing instead (so that remove() can just be a shorthand for
        removeChild).

        This conservative fix does not solve the remove/removeChild mismatch
        but instead just changes the list marker updating code to use remove
        instead.

        Reviewed by beth

        Test Case: fast/lists/dynamic-marker-crash.html

        * rendering/ListMarkerBox.cpp:
        * rendering/ListMarkerBox.h:
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::updateMarkerLocation):

2006-08-04  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
          Make WebCore (and friends) compile with -Wshorten-64-to-32

          * Adds -Wshorten-64-to-32 flag to Xcode project.
          * Adds 'f' to float literals where expecting a float.
          * Use cosf() instead of cos() when assigning to a float.

        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
        (+[WKDiffuseLightingFilter initialize]):
        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
        (-[WKDiscreteTransferFilter outputImage]):
        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
        (+[WKDisplacementMapFilter initialize]):
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
        (+[WKSpecularLightingFilter initialize]):
        * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
        (-[WKSpotLightFilter outputImage]):
        * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
        (-[WKTableTransferFilter outputImage]):

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

        Fix for bug 10229, don't bother trying to clear when no floats are
        present.  I suspect there's still a bug in the math that follows, but
        this fix is safer in that it just does the obvious thing (and doesn't
        compute any clearance if no floats are even around).

        Reviewed by maciej

        * ChangeLog:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::getClearDelta):

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

        Reviewed by harrison
        
        <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
        Copy/Paste fidelity was bad.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle):
        * editing/markup.cpp:
        (WebCore::startMarkup): We were not adding non-inheritable styles
        to the markup for an element unless they were in the elements inline
        style declaration.

2006-08-03  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
          Make WebCore compile with -Wundef

          * Adds -Wundef flag to Xcode project
          * Converts #ifs to #ifdef and #ifndefs where needed.
          * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
            (and in one instance in config.h with #if !COMPILER(MSVC))
          * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
            to fix a warning from within Bison.
          * Cleaned up style a little in surrounding code.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
        * config.h:
        * css/CSSGrammar.y:
        * css/MediaFeatureNames.cpp:
        * css/MediaFeatureNames.h:
        * css/cssparser.cpp:
        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::setActive):
        * dom/Element.cpp:
        (WebCore::Element::attach):
        * dom/Element.h:
        * dom/EventNames.cpp:
        * dom/EventNames.h:
        * dom/NamedAttrMap.h:
        * dom/Position.cpp:
        * dom/QualifiedName.cpp:
        * dom/QualifiedName.h:
        * dom/Range.h:
        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::error):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::continueProcessing):
        (WebCore::HTMLTokenizer::write):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::notifyFinished):
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/scripts/make_names.pl:
        * loader/CachedResource.h:
        * loader/LoaderFunctions.h:
        * loader/loader.h:
        * page/Frame.cpp:
        * page/FrameTree.cpp:
        * page/FrameView.cpp:
        (WebCore::FrameView::clear):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::layoutTimerFired):
        (WebCore::FrameView::scheduleRelayout):
        (WebCore::FrameView::unscheduleRelayout):
        * platform/AtomicString.cpp:
        * platform/AtomicString.h:
        * platform/Cursor.h:
        * platform/DeprecatedArray.h:
        * platform/DeprecatedString.cpp:
        (WebCore::allocateHandle):
        (WebCore::initializeHandleNodeBlock):
        (WebCore::freeHandle):
        * platform/FloatPoint.h:
        * platform/FloatRect.h:
        * platform/FloatSize.h:
        * platform/GraphicsContext.h:
        * platform/Image.h:
        * platform/IntPoint.h:
        * platform/IntRect.h:
        (WebCore::IntRect::inflateX):
        (WebCore::IntRect::inflateY):
        * platform/IntSize.h:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformString.h:
        * platform/ResourceLoader.h:
        * platform/ResourceLoaderInternal.h:
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/ScrollView.h:
        * platform/StaticConstructors.h:
        * platform/StreamingTextDecoderICU.cpp:
        (WebCore::StreamingTextDecoderICU::convert):
        * platform/StringImpl.h:
        * platform/Widget.h:
        * platform/mac/BlockExceptions.mm:
        * platform/mac/ColorMac.mm:
        (+[WebCoreControlTintObserver WebCore]):
        * platform/mac/FloatPointMac.mm:
        * platform/mac/FloatRectMac.mm:
        * platform/mac/FloatSizeMac.mm:
        * platform/mac/FontMac.mm:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawFocusRing):
        * platform/mac/IntPointMac.mm:
        * platform/mac/IntRectMac.mm:
        * platform/mac/IntSizeMac.mm:
        * platform/mac/WebCoreSystemInterface.h:
        * rendering/RenderBlock.h:
        * rendering/RenderTableCell.h:
        * rendering/bidi.cpp:
        (WebCore::appendRun):
        (WebCore::RenderBlock::layoutInlineChildren):
        * xml/XSLTProcessor.cpp:
        (WebCore::parseErrorFunc):
        * xpath/impl/XPathGrammar.y:

2006-08-03  Adam Roben  <aroben@apple.com>

        Reviewed by Maciej and Beth.

        Fix use-after-dispose heap corruption bug.

        * rendering/ListMarkerBox.cpp:
        (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
        destroying the document

2006-08-03  Adam Roben  <aroben@apple.com>

        Reviewed by Anders.

        - Fixed Windows build.

        * platform/Color.cpp:
        (WebCore::makeRGBAFromHSLA): Whitespace change
        * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
        (PlatformScrollBar::PlatformScrollBar):
        (PlatformScrollBar::~PlatformScrollBar):
        (PlatformScrollBar::width):
        (PlatformScrollBar::height):
        (PlatformScrollBar::setEnabled):
        (PlatformScrollBar::paint):
        (PlatformScrollBar::setScrollBarValue):
        (PlatformScrollBar::setKnobProportion):
        (PlatformScrollBar::setRect):
        (ScrollBar::ScrollBar):
        (ScrollBar::scroll):
        (ScrollBar::setValue):

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

        Reviewed by mjs
        
        <http://bugs.webkit.org/show_bug.cgi?id=10225>
        GMail Editor: Change Hilite Color doesn't work

        * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
        It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
        a more appropriate place.

2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Adele and Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10177
          REGRESSION: Successfully dragging text into a disabled field

        Test: fast/forms/textfield-drag-into-disabled.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
        to read-only on the inner div if the control is disabled.       
        (WebCore::RenderTextControl::updateFromElement): Ditto.

2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10198
          REGRESSION: WebKit r15750 crashes while loading anthem.com

        Test: fast/overflow/generated-content-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
        the renderer's element. Generated content does not have an element and
        therefore does not need to maintain overflow status.

2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10202
          REGRESSION: Repro crash when loading an empty image document

        Test: fast/tokenizer/image-empty-crash.html

        * loader/ImageDocument.cpp:
        (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
        (WebCore::ImageTokenizer::finish): Ditto.

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

        Reviewed by Anders.

        - clean up "flip"-related code a tiny bit

        * platform/Screen.h: Removed redundant parameter names.
        * platform/mac/ScreenMac.mm:
        (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
        copy of the flipping code.
        (WebCore::flipScreenPoint): Fixed indentation.

        * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
        simplified a bit.

        * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
        * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
        Removed unneeded local variable.

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

        Abstract RenderLayer scrollbar creation and destruction so that there
        is a clean spot in which to drop in engine scrollbar stuff.

        Reviewed by timo

        * platform/ScrollBar.h:
        (WebCore::ScrollBar::hasPlatformScrollBars):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createScrollbar):
        (WebCore::RenderLayer::destroyScrollbar):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        * rendering/RenderLayer.h:

2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3438
          incorrect display of transparent 1x1 PNGs

        Test: fast/replaced/image-solid-color-with-alpha.html

        * platform/mac/ImageMac.mm:
        (WebCore::Image::checkForSolidColor): Changed to divide each color component
        by the alpha component. You need to do that since the bitmap context has
        premultiplied alpha but m_solidColor should be non-premultiplied.

2006-08-02  Adam Roben  <aroben@apple.com>

        Reviewed by Brady.

        - Remove redundant #include

        * loader/loader.cpp:

2006-07-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=9955
        Colors scaled from [0, 1] range to [0, 255] incorrectly
        
        Fixes scaling issue and fixes Color to follow style guidelines.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        * platform/Color.cpp:
        (WebCore::calcHue):
        (WebCore::makeRGBAFromHSLA):
        (WebCore::Color::Color):
        (WebCore::Color::name):
        (WebCore::Color::setNamedColor):
        (WebCore::Color::light):
        (WebCore::Color::dark):
        (WebCore::blend):
        * platform/Color.h:
        (WebCore::Color::Color):
        (WebCore::Color::isValid):
        (WebCore::Color::red):
        (WebCore::Color::green):
        (WebCore::Color::blue):
        (WebCore::Color::alpha):
        (WebCore::Color::rgb):
        (WebCore::Color::setRGB):
        (WebCore::operator==):
        (WebCore::operator!=):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorder):

2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        - fix http://bugs.webkit.org/show_bug.cgi?id=10158
          REGRESSION: Selection highlight is dark and opaque when solid-color images are used

        Reviewed by Darin.

        Pixel test: fast/backgrounds/solid-color-context-restore.html

        * platform/mac/ImageMac.mm:
        (WebCore::Image::draw): Added calls to preserve the graphics context
        around the painting of a solid color image.
        (WebCore::Image::drawTiled): Ditto.

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

        Rubber-stamped by Tim Hatcher.

        - renamed TransferJob to ResourceLoader

        * Projects/gdk/webcore-gdk.bkl:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreResourceLoaderImp.h:
        * bridge/mac/WebCoreResourceLoaderImp.mm:
        (-[WebCoreResourceLoaderImp redirectedToURL:]):
        (-[WebCoreResourceLoaderImp addData:]):
        (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
        * bridge/win/FrameWin.cpp:
        * dom/XMLTokenizer.cpp:
        (WebCore::openFunc):
        * loader/Cache.cpp:
        * loader/LoaderFunctions.h:
        * loader/loader.cpp:
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        (WebCore::Loader::receivedData):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::jobForRequest):
        * loader/loader.h:
        * loader/mac/LoaderFunctionsMac.mm:
        (WebCore::ServeSynchronousRequest):
        * platform/ResourceLoader.cpp: Added.
        (WebCore::ResourceLoader::ResourceLoader):
        (WebCore::ResourceLoader::isErrorPage):
        (WebCore::ResourceLoader::error):
        (WebCore::ResourceLoader::setError):
        (WebCore::ResourceLoader::queryMetaData):
        (WebCore::ResourceLoader::addMetaData):
        (WebCore::ResourceLoader::kill):
        (WebCore::ResourceLoader::url):
        (WebCore::ResourceLoader::postData):
        (WebCore::ResourceLoader::method):
        (WebCore::ResourceLoader::client):
        * platform/ResourceLoader.h: Added.
        (WebCore::ResourceLoader::getInternal):
        * platform/ResourceLoaderClient.h: Added.
        (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
        (WebCore::ResourceLoaderClient::receivedRedirect):
        (WebCore::ResourceLoaderClient::receivedResponse):
        (WebCore::ResourceLoaderClient::receivedData):
        (WebCore::ResourceLoaderClient::receivedAllData):
        * platform/ResourceLoaderInternal.h: Added.
        (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
        * platform/TransferJob.cpp: Removed.
        * platform/TransferJob.h: Removed.
        * platform/TransferJobClient.h: Removed.
        * platform/TransferJobInternal.h: Removed.
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::openURL):
        (WebCore::FrameGdk::urlSelected):
        (WebCore::FrameGdk::receivedData):
        (WebCore::FrameGdk::receivedAllData):
        * platform/gdk/FrameGdk.h:
        * platform/gdk/ResourceLoaderCurl.cpp: Added.
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::cancel):
        * platform/gdk/ResourceLoaderManager.cpp: Added.
        (WebCore::ResourceLoaderManager::ResourceLoaderManager):
        (WebCore::ResourceLoaderManager::get):
        (WebCore::ResourceLoaderManager::useSimpleTransfer):
        (WebCore::writeCallback):
        (WebCore::ResourceLoaderManager::downloadTimerCallback):
        (WebCore::ResourceLoaderManager::remove):
        (WebCore::ResourceLoaderManager::add):
        (WebCore::ResourceLoaderManager::cancel):
        * platform/gdk/ResourceLoaderManager.h: Added.
        * platform/gdk/TemporaryLinkStubs.cpp:
        (WebCore::ServeSynchronousRequest):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        * platform/gdk/TransferJobCurl.cpp: Removed.
        * platform/gdk/TransferJobManager.cpp: Removed.
        * platform/gdk/TransferJobManager.h: Removed.
        * platform/mac/ResourceLoaderMac.mm: Added.
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        (WebCore::ResourceLoader::setLoader):
        (WebCore::ResourceLoader::receivedResponse):
        (WebCore::ResourceLoader::cancel):
        * platform/mac/TransferJobMac.mm: Removed.
        * platform/win/ResourceLoaderWin.cpp: Added.
        (WebCore::addToOutstandingJobs):
        (WebCore::lookupResourceLoader):
        (WebCore::ResourceLoaderWndProc):
        (WebCore::initializeOffScreenResourceLoaderWindow):
        (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
        (WebCore::ResourceLoader::~ResourceLoader):
        (WebCore::ResourceLoader::start):
        (WebCore::ResourceLoader::fileLoadTimer):
        (WebCore::ResourceLoader::cancel):
        * platform/win/ResourceLoaderWin.h: Added.
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::ServeSynchronousRequest):
        (WebCore::ResourceLoader::assembleResponseHeaders):
        (WebCore::ResourceLoader::retrieveCharset):
        * platform/win/TransferJobWin.cpp: Removed.
        * platform/win/TransferJobWin.h: Removed.
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::receivedAllData):
        (WebCore::XMLHttpRequest::receivedRedirect):
        (WebCore::XMLHttpRequest::receivedData):
        * xml/xmlhttprequest.h:

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

        Reviewed by Hyatt.

        - removed obsolete cell margin hack

        * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
        Set top and bottom margins to 0 for table cells instead of -16384.
        No effect on layout (including layout tests).

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Added a few comments about differences between this class and the
        what the CSS specification says about computed style.

2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9738
        Bug 9738: Unqualified :hover selector ignored in strict parsing mode

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
        exclusion based on onlyHoverActive to quirks mode.

2006-07-31  David Hyatt  <hyatt@apple.com>

        Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
        and fixed backgrounds so that a count of them is kept on the FrameView.
        This allows us to switch slow scrolling on and off as these objects come
        and go.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::layout):
        (WebCore::FrameView::useSlowRepaints):
        (WebCore::FrameView::setUseSlowRepaints):
        (WebCore::FrameView::addSlowRepaintObject):
        (WebCore::FrameView::removeSlowRepaintObject):
        * page/FrameView.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2006-07-31  David Hyatt  <hyatt@apple.com>

        Begin disentangling of scrollbar logic in preparation for engine-implemented
        scrollbars.  Split ScrollBar into two classes, an abstract base (still named
        ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
        by platforms that want to continue to use a platform scrollbar (rather than
        the engine one).

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLCanvasElement.h:
        * page/Frame.cpp:
        * platform/PlatformScrollBar.h: Added.
        (WebCore::PlatformScrollBar::isWidget):
        * platform/ScrollBar.h:
        (WebCore::ScrollBarClient::~ScrollBarClient):
        (WebCore::ScrollBar::~ScrollBar):
        (WebCore::ScrollBar::orientation):
        (WebCore::ScrollBar::value):
        (WebCore::ScrollBar::client):
        * platform/mac/PlatformScrollBarMac.mm: Added.
        (-[WebCoreScrollBar initWithPlatformScrollBar:]):
        (-[WebCoreScrollBar detachPlatformScrollBar]):
        (-[WebCoreScrollBar scroll:]):
        (-[WebCoreScrollBar widget]):
        (-[WebCoreScrollBar mouseDown:]):
        (WebCore::PlatformScrollBar::PlatformScrollBar):
        (WebCore::PlatformScrollBar::~PlatformScrollBar):
        (WebCore::PlatformScrollBar::setScrollBarValue):
        (WebCore::PlatformScrollBar::setKnobProportion):
        (WebCore::PlatformScrollBar::scrollbarHit):
        (WebCore::PlatformScrollBar::width):
        (WebCore::PlatformScrollBar::height):
        (WebCore::PlatformScrollBar::setRect):
        (WebCore::PlatformScrollBar::setEnabled):
        (WebCore::PlatformScrollBar::paint):
        * platform/mac/ScrollBarMac.mm: Removed.
        * platform/mac/WebCoreTextArea.mm:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isPointInScrollbar):
        * rendering/RenderFormElement.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::horizontalScrollbarWidget):
        (WebCore::RenderLayer::verticalScrollbarWidget):
        (WebCore::RenderLayer::valueChanged):
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::positionScrollbars):
        * rendering/RenderLayer.h:
        * rendering/RenderWidget.h:

2006-07-31  Adele Peterson  <adele@apple.com>

        Reviewed by John and Anders.

        - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key

        Test: fast/forms/onchange-enter-submit.html

        Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
        This matches the sequence of events fired in WinIE.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):

2006-07-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Kevin.

        Moved string debug function outside of the WebCore namespace so that it's
        easier to call in the debugger. I will never doubt Darin again (x100).

        * platform/String.cpp:
        (string):

2006-07-31  David Hyatt  <hyatt@apple.com>

        Partial fix for 5453.  Improve overflow so that when it changes
        dynamically from scroll/auto to hidden that we properly hide the
        scrollbars.  Also refine the dirty dashboard region updating so that
        it only happens if the scrollbars genuinely come and go.

        Also eliminate the extra repaint of the entire block.  This should not be
        necessary, since the scrollbars repaint themselves already and children
        will repaint already if they move.

        Reviewed by darin

        Adding test case from bug into fast/overflow/dynamic-hidden.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::setHasHorizontalScrollbar):
        (WebCore::RenderLayer::setHasVerticalScrollbar):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):

2006-07-31  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by justin
        
        <http://bugs.webkit.org/show_bug.cgi?id=9507>
        Empty style spans created in applyInlineStyle
        
        Improves paste fidelity because some of these empty font/style spans had a non-zero
        size and were messing up the layout of pasted content:
        <rdar://problem/4515463>
        REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
        of start.node().  Don't do any application if the endpoints are swapped.  Adjust
        endNode if the start node is a descendant of it, so that the pre-order traversal will
        terminate properly.

2006-07-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        * platform/String.cpp:
        (WebCore::string): Added a debugging function to create a String from a
        const char*.

2006-07-31  Anders Carlsson  <acarlsson@apple.com>

        * css/CSSPrimitiveValue.cpp:
        Fix windows build.

2006-07-31  Geoffrey Garen  <ggaren@apple.com>

        Reinstating my last change. Everything builds now.
        
2006-07-31  Geoffrey Garen  <ggaren@apple.com>

        Backing out my last change because it causes a build failure in some
        configurations. This seems to be the cleanest way to get svn to cooperate.

2006-07-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        Moved files around to make WebCore's structure clearer
        and easier to explain.

        DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
        show up when you search inside bindings/js/, but are marked, at
        the same time, as files that you should not edit manually)

        WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
        use DOMList.h)

        icon -> loader/icon

        I tested that everything still builds.

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

        Reviewed by Tim Hatcher.

        - some improvements for the benefit of the style pane of the inspector

        * css/CSSComputedStyleDeclaration.cpp: Removed background-position
        and border-spacing from the list of properties that show up in
        computed style, because of background-position-x, background-position-y,
        -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
        (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
        and min-intrinsic.
        (WebCore::primitiveValueFromLength): Removed code that would add a
        space to the string for no good reason.
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
        special case for a line clamp of -1, which should come back as "none"
        rather than an actual "-1".
        (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
        declaration has no corresponding node or no renderer.
        (WebCore::CSSComputedStyleDeclaration::item): Check against length()
        so that the two stay consistent rather than using a constant.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::isCSSTokenizerIdentifier): Added.
        (WebCore::isCSSTokenizerURL): Added.
        (WebCore::quoteString): Added.
        (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
        cases -- any cases where they would not parse in the CSS parser otherwise.
        The main case this affects is font names with spaces in them.
        (WebCore::quoteURLIfNeeded): Added.
        (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
        where we're making the text form of a URI.

        * css/tokenizer.flex: Whitespace tweaks to line things up better.

2006-07-30  Eric Seidel  <eric@webkit.org>

        Reviewed by gramps!

        Remove some unused SVG code.

        * ksvg2/ecma/Ecma.cpp: Removed.
        * ksvg2/ecma/Ecma.h: Removed.
        * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
        * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
        * ksvg2/ecma/SVGLookup.h: Removed.

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

        - Removed tabs from these source files that still had them.
          We don't use them; that way source files look fine in editors
          that have tabs set to 8 spaces or to 4 spaces.
        - Removed allow-tabs Subversion property from the files too.

        * bindings/objc/WebScriptObject.h:
        * bindings/objc/WebScriptObject.mm:
        * platform/FontData.cpp:

2006-07-29  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
          Adopt pedantic changes from the Unity project to improve 
          cross-compiler compatibility

          Changes include:
          * Removing trailing semicolon from namespace braces.
          * Removing trailing comma from last enum declaration.
          * Updating to match style guidelines.
          * Adding missing newline to the end of the file.
          * Turning on gcc warning for missing newline at the end of a source file
            (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
          * Alphabetical sorting of Xcode source list files.
          * Use abs() function from <math.h> instead of ABS() macro.
          * Use C-style comments instead of C++ comments in files that might
            be included by either C or C++ files.
          * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.

        * WebCore+SVG/DOMList.h:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCorePrefix.h:
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        * bindings/js/JSXSLTProcessor.h:
        * bindings/js/kjs_domnode.h:
        (KJS::DOMNode::):
        * bindings/objc/DOMCSS.h:
        (-[DOMCSSValue enum]):
        * bindings/objc/DOMCore.h:
        (-[DOMImplementation createDocument:::]):
        * bindings/objc/DOMEvents.h:
        (-[DOMOverflowEvent enum]):
        * bindings/objc/DOMRange.h:
        * bindings/objc/DOMTraversal.h:
        * bindings/objc/DOMXPath.h:
        (-[DOMXPathNSResolver lookupNamespaceURI:]):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreKeyboardAccess.h:
        * css/makeprop:
        * css/makevalues:
        * dom/ChildNodeList.h:
        * dom/DocPtr.h:
        * dom/Document.h:
        (WebCore::Document::):
        * dom/DocumentMarker.h:
        (WebCore::DocumentMarker::):
        (WebCore::DocumentMarker::operator==):
        (WebCore::DocumentMarker::operator!=):
        * dom/EventTargetNode.h:
        * dom/KeyboardEvent.h:
        (WebCore::KeyboardEvent::):
        * dom/NameNodeList.h:
        (WebCore::NameNodeList::rootNodeChildrenChanged):
        * dom/QualifiedName.cpp:
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::):
        * editing/UnlinkCommand.h:
        (WebCore::UnlinkCommand::editingAction):
        * html/FormDataList.h:
        (WebCore::FormDataListItem::FormDataListItem):
        (WebCore::FormDataList::appendData):
        * html/HTMLBlockquoteElement.h:
        * html/HTMLDivElement.h:
        * html/HTMLFormElement.h:
        * html/HTMLHRElement.h:
        * html/HTMLHeadingElement.h:
        * html/HTMLMarqueeElement.h:
        * html/HTMLParagraphElement.h:
        * html/HTMLPlugInElement.h:
        * html/HTMLPreElement.h:
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::State::):
        * icon/IconDatabase.cpp:
        * icon/SQLStatement.cpp:
        * kcanvas/KCanvasFilters.h:
        (WebCore::):
        (WebCore::KCanvasPoint3F::KCanvasPoint3F):
        (WebCore::KCanvasFilter::KCanvasFilter):
        (WebCore::KCanvasFilter::~KCanvasFilter):
        (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
        (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
        (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
        (WebCore::KCLightSource::KCLightSource):
        (WebCore::KCDistantLightSource::KCDistantLightSource):
        (WebCore::KCPointLightSource::KCPointLightSource):
        (WebCore::KCSpotLightSource::KCSpotLightSource):
        (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
        (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
        (WebCore::KCanvasFEImage::KCanvasFEImage):
        (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
        * kcanvas/RenderSVGImage.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * ksvg2/css/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::InheritedFlags::):
        (WebCore::SVGRenderStyle::NonInheritedFlags::):
        * ksvg2/css/SVGRenderStyleDefs.h:
        (WebCore::):
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/ksvg.h:
        (WebCore::):
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/scripts/make_names.pl:
        * ksvg2/svg/SVGAElement.h:
        * ksvg2/svg/SVGAngle.h:
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedAngle.h:
        * ksvg2/svg/SVGAnimatedBoolean.h:
        * ksvg2/svg/SVGAnimatedColor.h:
        * ksvg2/svg/SVGAnimatedEnumeration.h:
        * ksvg2/svg/SVGAnimatedInteger.h:
        * ksvg2/svg/SVGAnimatedLength.h:
        * ksvg2/svg/SVGAnimatedLengthList.h:
        * ksvg2/svg/SVGAnimatedNumber.h:
        * ksvg2/svg/SVGAnimatedNumberList.h:
        * ksvg2/svg/SVGAnimatedPathData.h:
        * ksvg2/svg/SVGAnimatedPoints.h:
        * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
        * ksvg2/svg/SVGAnimatedRect.h:
        * ksvg2/svg/SVGAnimatedString.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * ksvg2/svg/SVGAnimatedTransformList.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::calculateCurrentValueItem):
        (SVGAnimationElement::calculateRelativeTimePercentage):
        * ksvg2/svg/SVGAnimationElement.h:
        (WebCore::):
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDOMImplementation.h:
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGElement.h:
        (WebCore::SVGElement::rendererIsNeeded):
        (WebCore::svg_dynamic_cast):
        * ksvg2/svg/SVGElementInstance.h:
        * ksvg2/svg/SVGElementInstanceList.h:
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDisplacementMapElement.h:
        * ksvg2/svg/SVGFEDistantLightElement.h:
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEFuncAElement.h:
        * ksvg2/svg/SVGFEFuncBElement.h:
        * ksvg2/svg/SVGFEFuncGElement.h:
        * ksvg2/svg/SVGFEFuncRElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.h:
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFEPointLightElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFESpotLightElement.h:
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGFitToViewBox.h:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGGElement.h:
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.h:
        (WebCore::):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLangSpace.h:
        * ksvg2/svg/SVGLength.h:
        * ksvg2/svg/SVGLengthList.h:
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGNumber.h:
        * ksvg2/svg/SVGNumberList.h:
        * ksvg2/svg/SVGPaint.h:
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPathSeg.h:
        * ksvg2/svg/SVGPathSegArc.h:
        * ksvg2/svg/SVGPathSegClosePath.h:
        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
        * ksvg2/svg/SVGPathSegLineto.h:
        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
        * ksvg2/svg/SVGPathSegLinetoVertical.h:
        * ksvg2/svg/SVGPathSegList.h:
        * ksvg2/svg/SVGPathSegMoveto.h:
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPoint.h:
        * ksvg2/svg/SVGPointList.h:
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGPreserveAspectRatio.h:
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRect.h:
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.h:
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGSetElement.h:
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStringList.h:
        * ksvg2/svg/SVGStylable.h:
        * ksvg2/svg/SVGStyleElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        (WebCore::SVGStyledElement::rendererIsNeeded):
        (WebCore::SVGStyledElement::canvasResource):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.h:
        * ksvg2/svg/SVGSymbolElement.h:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTSpanElement.h:
        * ksvg2/svg/SVGTests.h:
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTitleElement.h:
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformList.h:
        * ksvg2/svg/SVGTransformable.h:
        * ksvg2/svg/SVGURIReference.h:
        * ksvg2/svg/SVGUseElement.h:
        * ksvg2/svg/SVGViewElement.h:
        * ksvg2/svg/SVGZoomAndPan.h:
        * ksvg2/svg/svgpathparser.h:
        * page/Frame.h:
        (WebCore::):
        * platform/AffineTransform.h:
        * platform/FontCache.cpp:
        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
        * platform/FontData.cpp:
        (WebCore::FontData::FontData):
        * platform/FontData.h:
        * platform/TextBox.h:
        (WebCore::TextBox::):
        * platform/Timer.cpp:
        (WebCore::TimerBase::heapPop):
        * platform/mac/FontCacheMac.mm:
        * platform/mac/GlyphMapMac.cpp:
        * platform/mac/WebFontCache.mm:
        (betterChoice):
        * rendering/DeprecatedRenderSelect.cpp:
        (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
        * rendering/EllipsisBox.h:
        * rendering/RenderBR.h:
        (WebCore::RenderBR::renderName):
        (WebCore::RenderBR::width):
        * rendering/RenderBlock.h:
        (WebCore::):
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow):
        * rendering/RenderFrame.cpp:
        * rendering/bidi.h:
        * rendering/break_lines.cpp:

2006-07-29  Rob Buis  <buis@kde.org>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=10151
        ghostmap XHTML + SVG fails due to javascript undefined exception

        Make sure document.URL works when called from a non-HTML document.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLDocument::):
        * dom/Document.idl:

2006-07-29  Mike Emmel  <mike.emmel@gmail.com>

        Reviewed and tweaked by Darin.

        - fixes for Linux build
          (still might not compile, since Darin tweaked but was unable to test).

        * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
        * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp

        * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
        before ::.

        * platform/gdk/FrameGdk.h:
        * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
        out of this file.
        * platform/gdk/RenderPopupMenuGdk.h: Added.
        * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
        * platform/gdk/RenderThemeGdk.h:
        * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.

        * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.

2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10022
        Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
        added, don't call through to end() just yet.

2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by John Sullivan.

        - manual test for http://bugs.webkit.org/show_bug.cgi?id=9984
          ASSERTION FAILURE: _private->mouseDownEvent != nil
          (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])

        * manual-tests/subview-click-assertion.html: Added.

2006-07-29  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
        REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly

        * rendering/RenderListItem.cpp:
        (WebCore::enclosingList): If no real list element is found, use parent instead.
        (WebCore::previousListItem): Check list elements to see if they are list items -- the
        old code assumed that a list would never be a list item but this is entirely possible
        with CSS and especially with the new rule that means any DOM element could act as a list.

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=10147
        REGRESSION: custom attribute values set via javascript are not persistent

        Test: fast/dom/Element/setAttribute-case-insensitivity.html

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.

2006-07-28  Timothy Hatcher  <timothy@apple.com>

        Suggested by Darin.

        Moving the implementation of isContentEditable to the
        the WebPrivate category.

        * bindings/objc/DOM.mm:
        (-[DOMNode isContentEditable]):

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

        Reviewed by levi
        
        First part of:
        <rdar://problem/4515463>
        REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
        
        Migrate to isBlock and enclosingBlock.
        Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
        to wasBlock so that they don't conflict with isBlock and because
        it's more descriptive.

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::mergeStartNode):
        (WebCore::ReplacementFragment::wasBlock):
        (WebCore::ReplacementFragment::saveRenderingInfo):
        (WebCore::ReplacementFragment::renderedBlocks):
        (WebCore::RenderingInfo::RenderingInfo):
        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
        (WebCore::ReplaceSelectionCommand::doApply):
        * editing/ReplaceSelectionCommand.h:
        (WebCore::RenderingInfo::wasBlock):

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

        Reviewed by levi
        
        More changes for:
        <rdar://problem/4242293>
        Poor paste fidelity of http://www.google.com/

        * editing/markup.cpp:
        (WebCore::needInterchangeNewlineAfter): Added.
        (WebCore::createMarkup): 
        Only add an interchangeNewline if we're annotating for interchange.  Can't test 
        this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
        Remove the FIXME about prepending the interchangeNewline before creating the rest 
        of the markup.  Its correct to surround the interchangeNewline in ancestors of the
        adjusted startNode.
        Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
        add an interchangeNewline for a selection that started before a table.
        Removed the workaround for the bug where markup for a table was not included when 
        selecting the contents of a table, since this change fixes the general problem of 
        markup for ancestors of the startNode being left out.
        Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
        code to include them even if we closed ancestors in the ancestorsToClose list.

2006-07-28  Timothy Hatcher  <timothy@apple.com>

        Reviewed by John.

        Adding isContentEditable to DOMNode's private category. 

        * bindings/objc/DOMPrivate.h:

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

        Rolling out http://bugs.webkit.org/show_bug.cgi?id=6010 because of failing layout tests.
        Add better SVGLoad event support.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        * html/HTMLImageLoader.h:
        * ksvg2/misc/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::SVGImageLoader):
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimatedBoolean.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::parseMappedAttribute):
        * ksvg2/svg/SVGElement.h:
        (WebCore::SVGElement::adjustViewportClipping):
        (WebCore::SVGElement::closeRenderer):
        (WebCore::SVGElement::rendererIsNeeded):
        (WebCore::SVGElement::isClosed):
        (WebCore::svg_dynamic_cast):
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGImageElement.cpp:
        (SVGImageElement::SVGImageElement):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):
        * ksvg2/svg/SVGScriptElement.cpp:
        (SVGScriptElement::SVGScriptElement):
        (SVGScriptElement::parseMappedAttribute):
        (SVGScriptElement::executeScript):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):

2006-07-28  Adele Peterson  <adele@apple.com>

        Rolling out http://bugs.webkit.org/show_bug.cgi?id=9753 because of failing layout tests.
        SVG with width and height 100% leaves room for scrollbar on the right.

        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::layout):
        * ksvg2/svg/SVGCircleElement.cpp:
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGEllipseElement.cpp:
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGLineElement.cpp:
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGRectElement.cpp:
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGStyledElement.h:

2006-07-27  Eric Seidel  <eric@webkit.org>

        Reviewed by darin.
        
        Add better SVGLoad event support.
        http://bugs.webkit.org/show_bug.cgi?id=6010
        There will still need to be additional support added for <link> and <script> elements.
        Not all of the error -> loaded -> error transition cases work yet.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        * html/HTMLImageLoader.h:
        (WebCore::HTMLImageLoader::haveFiredLoadEvent):
        (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
        * ksvg2/misc/SVGImageLoader.cpp:
        (WebCore::SVGImageLoader::SVGImageLoader):
        (WebCore::SVGImageLoader::dispatchLoadEvent):
        * ksvg2/misc/SVGImageLoader.h:
        * ksvg2/svg/SVGAElement.cpp:
        (WebCore::SVGAElement::parseMappedAttribute):
        * ksvg2/svg/SVGAnimatedBoolean.h:
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::parseMappedAttribute):
        (WebCore::SVGElement::haveLoadedRequiredResources):
        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
        (WebCore::SVGElement::closeRenderer):
        * ksvg2/svg/SVGElement.h:
        (WebCore::SVGElement::rendererIsNeeded):
        (WebCore::svg_dynamic_cast):
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGImageElement.cpp:
        (SVGImageElement::SVGImageElement):
        (SVGImageElement::haveLoadedRequiredResources):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::parseMappedAttribute):
        * ksvg2/svg/SVGScriptElement.cpp:
        (WebCore::SVGScriptElement::SVGScriptElement):
        (WebCore::SVGScriptElement::parseMappedAttribute):
        (WebCore::SVGScriptElement::executeScript):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent

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

        Reviewed by Anders.

        - http://bugs.webkit.org/show_bug.cgi?id=10135
          Cleanup: remove useless parameters from RenderObject::position()

        No test possible (no functionality change)

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::position):
        * rendering/RenderBox.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::position):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::position):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::position):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::position):
        * rendering/RenderText.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::constructLine):
        (WebCore::RenderBlock::computeVerticalPositionsForLine):

2006-07-27  Rob Buis  <buis@kde.org>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9753
        SVG with width and height 100% leaves room for scrollbar on the right.

        Relayout children of svg containers, except svg shapes that do not depend on percentages.

        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
        * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):

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

        Reviewed by levi
        
        <rdar://problem/4242293>
        Poor paste fidelity of http://www.google.com/

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
        * editing/markup.cpp:
        (WebCore::startMarkup): Style information wasn't added to an element if it had
        attributes but no style attribute.

2006-07-27  Alexander Kellett  <lypanov@kde.org>

        Reviewed by Darin.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9867
          REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit

        * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
        * html/HTMLFormElement.idl:

2006-07-27  Rob Buis  <buis@kde.org>

        Reviewed by Anders.

        http://bugs.webkit.org/show_bug.cgi?id=8992
        Some HTML DOM attributes have incorrect types

        Adjust idl and dom source code for HTMLImageElement and
        HTMLBaseFontElement to choose correct type for
        HTMLImageElement::border and HTMLBaseFontElement::size
        attributes.

        * html/HTMLBaseFontElement.cpp:
        (WebCore::HTMLBaseFontElement::size):
        (WebCore::HTMLBaseFontElement::setSize):
        * html/HTMLBaseFontElement.h:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::border):
        (WebCore::HTMLImageElement::setBorder):
        * html/HTMLImageElement.h:
        * html/HTMLImageElement.idl:

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

        Reviewed by levi
        
        <rdar://problem/4628409>
        Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
        A script on the page shrinks the textarea down to zero rows just
        before insertion.  That gives the shadow div a zero height, removing
        [div, 0] as a candidate for a VisiblePosition.  Then 
        InsertTextCommand::input() tries to create a VisiblePosition from 
        [div, 0] and fails.  A nil check is a quick fix.  Another might
        be to make positions where there is a caret selection candidates.
        Another might be to make any [div, 0] where div is a shadow div inside
        a form element a candidate.

2006-07-27  Graham Dennis  <graham.dennis@gmail.com>

        Reviewed by Darin.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=10094
          Japanese characters improperly rendering in TOT
          
        Test: fast/encoding/denormalised-voiced-japanese-chars.html

        * platform/Font.cpp:
        (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
        (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
        into an argument as WidthIterator::advance doesn't update m_currentCharacter while
        looping

2006-07-27  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Complex entities seem to fail on TOT
        http://bugs.webkit.org/show_bug.cgi?id=6390
        Use an alternative work-around to an XML Entity parsing bug.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::write):
        (WebCore::hackAroundLibXMLEntityBug): added.
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::getEntityHandler):

2006-07-27  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9938
        Fix viewBox issues in Hixie's test

        Do a more accurate and quicker job of parsing the viewBox
        attribute. Handle properly on negative width/height and
        invalid syntax in general.

        * ksvg2/svg/SVGFitToViewBox.cpp:
        (SVGFitToViewBox::parseViewBox):

2006-07-27  Eric Seidel  <eric@webkit.org>

        Reviewed by ap.

        Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
        http://bugs.webkit.org/show_bug.cgi?id=9237
        This patch does not try to autogenerate anything, but enables the SVG functionality.
        Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.

        * bindings/js/kjs_dom.cpp:
        (KJS::toJS):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::objectGetter):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::objectSetter):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * dom/Document.h:
        (WebCore::Document::isSVGDocument):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::contentDocument):
        (WebCore::HTMLEmbedElement::getSVGDocument):
        * html/HTMLEmbedElement.h:
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::getInstance):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::contentDocument):
        (WebCore::HTMLObjectElement::rendererIsNeeded):
        (WebCore::HTMLObjectElement::createRenderer):
        (WebCore::HTMLObjectElement::setCode):
        (WebCore::HTMLObjectElement::setArchive):
        (WebCore::HTMLObjectElement::setBorder):
        (WebCore::HTMLObjectElement::setCodeBase):
        (WebCore::HTMLObjectElement::setCodeType):
        (WebCore::HTMLObjectElement::setData):
        (WebCore::HTMLObjectElement::hspace):
        (WebCore::HTMLObjectElement::setHspace):
        (WebCore::HTMLObjectElement::setStandby):
        (WebCore::HTMLObjectElement::setType):
        (WebCore::HTMLObjectElement::setUseMap):
        (WebCore::HTMLObjectElement::vspace):
        (WebCore::HTMLObjectElement::setVspace):
        (WebCore::HTMLObjectElement::getSVGDocument):
        * html/HTMLObjectElement.h:
        * ksvg2/svg/SVGDocument.h:
        (WebCore::SVGDocument::isSVGDocument):
        * rendering/RenderWidget.h:
        (WebCore::RenderWidget::frameView):

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=9901
        XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet

        Test: fast/js/xhtml-serialize.html

        * editing/markup.cpp:
        (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
        is not permitted in HTML, to make it valid XML.

2006-07-26  Alice Liu  <alice.liu@apple.com>

        Reviewed by John Sullivan (and Kevin and Timo).

        landing this patch for John et al.  
        Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        moved the call to didFirstLayout to above the check for needsLayout
        because we need to call didFirstLayout for every webview, not just
        ones we think need layout.  

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

        Reviewed by darin
        
        <rdar://problem/4652788>
        REGRESSION: Can't change size or style of any text in message body

        * dom/Node.cpp:
        (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::isContentRichlyEditable): First check
        the frame for editability, then userModify, like what
        HTMLElement::isContentEditable() does.
        * html/HTMLElement.h:

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

        Reviewed by ap.

        - fix debug-only information() string for table cells

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::information):

2006-07-25  David Harrison  <harrison@apple.com>

        Reviewed by timo and Darin.

        <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
        
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
        Add matchStyle parameter for use by WebKit.

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

        Reviewed by adele
        
        <rdar://problem/4649560>
        REGRESSION: Can't Select All when the body is contentEditable="true"

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
        element into an editable body as a convenience.

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

        Reviewed by darin
        
        <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">

        * dom/Document.cpp:
        (WebCore::Document::inDesignMode): Removed some spaces.
        * page/Frame.cpp:
        (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
        (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
        it eventually.

2006-07-25  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9717
          Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute

        No test added because there is no change in functionality.

        * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
        * bindings/js/kjs_binding.h: Ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
        * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
        * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
          Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
        * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.

2006-07-24  Dan Waylonis  <waylonis@google.com>

        Reviewed and tweaked a bunch by Darin.

        Test: plugins/bindings-test.html

        - fix http://bugs.webkit.org/show_bug.cgi?id=9902
          jsNull and NSNull not properly converted between JS and ObjC

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
        Added case that converts jsNull to NSNull.

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

        Reviewed by Adele and Justin.

        - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
          http://bugs.webkit.org/show_bug.cgi?id=9630
        - also fixes http://bugs.webkit.org/show_bug.cgi?id=9939
          REGRESSION: Pasting text into native text area with newline at end does not preserve newline
        - removed some uses of DeprecatedPtrList in the markup code

        Test: fast/forms/textarea-type-spaces.html
        Test: fast/forms/textarea-paste-newline.html

        * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
        Updated call to pass a range -- in this case it is the range of the entire document,
        so this will not handle the whitespace properly.

        * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
        documentFragmentWithText: method, so we can handle whitespace properly.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
        (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
        (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
        (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
        parameter -- pass it on to createFragmentFromText.
        (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
        DeprecatedPtrList to Vector.
        (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
        Pass the range of the current selection as context when creating the fragment.

        * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
        a call to the new containsCaretOffset function -- helps make the caret work right when
        it is past the end of the last line in a textarea.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
        style does not call for collapsing whitespace.
        (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
        to share code, including the new logic mentioned above.

        * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
        Use a text node instead of a break element when inserting and the style is preserveNewline.

        * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
        to createFragmentFromText.

        * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
        Assert that we're in a style that collapses whitespace. It's the caller's responsibility
        not to call otherwise.

        * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
        isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
        Also changed the constructor to take a selection rather than a pointer to the root
        editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
        unused parameter from shouldMergeEnd.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
        Compute root editable element from passed-in selection. Used the start of the selection
        as a base node for style purposes for the test rendering. Removed the special case
        "single text node" alternative to createFragmentFromText in the plain text case, since
        createFragmentFromText now handles that correctly.
        (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
        property from the source location when creating a temporary element for test rendering.
        (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
        parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
        (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
        change code to not remove end BR when it can be re-used instead, don't call the
        paragraph separator insertion when the position is at the start of a paragraph already,
        removed redundant computation of identical "next" value, removed unneeded boolean
        parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
        a newline character, removed unneeded code to set insertionPos after all code that uses
        it, and  use spaces instead of non-breaking spaces when doing smart paste if the
        context is one where we do not collapse white space.
        (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
        a boolean instead of doing the removal.

        * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
        createFragmentFromText function to take a range for context instead of a document.
        * editing/markup.cpp:
        (WebCore::markup): Use Vector instead of DeprecatedPtrList.
        (WebCore::createMarkup): Ditto.
        (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
        and changed a couple places to use isEmpty instead of comparing with "".
        (WebCore::createFragmentFromText): Given the new context parameter, if the context
        is one that preserves newlines, then use "\n" instead of <br> elements.
        (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.

        * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
        elements if the context of this node is one where we preserve newlines.

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
        Added. Implements the appropriate rule for determining if a caret position is
        in this line or not. Returns true for both one line and the next in cases where
        affinity must be considered to determine which line the caret is on.

        * rendering/RenderText.h: Make atLineWrap no longer be a member function.
        * rendering/RenderText.cpp:
        (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
        which will no longer apply due to the new containsCaretOffset function logic.
        (WebCore::RenderText::caretRect): Use containsCaretOffset.
        (WebCore::RenderText::inlineBox): Ditto.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
        after calling setInnerText so that the last newline in the string has the effect
        we expect outside the HTML world (an additional line).
        (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
        too. The layout tests caught this problem, which needs a better solution long term.
        (WebCore::RenderTextControl::text): Call textContent with the parameter false
        so it will not include newlines for <br> elements. Now the only <br> element
        that will ever be in the shadow DOM tree is the one to prevent collapsing, and
        that one should not show up in the text value.

        * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
        that specifically called out the pre whitespace mode and made it work for all
        the modes that preserve newlines. This makes sure we get a last line box for
        text after the last "\n" even in cases where there is no <br> afterward.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::fixupWhitespace):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        Added assertions to make sure we don't do anything when we're not collapsing
        whitespace.

        * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
        Changed to use Vector instead of DeprecatedPtrList.

        * editing/HTMLInterchange.cpp: Removed obsolete comment.

        * loader/Cache.h: Removed a stray include.

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

        Reviewed by Justin.

        - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails

        Test: * editing/style/apple-style-editable-mix.html

        * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
          checks the user modify property of its own renderer, since that is inherited.
        * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
        Adjust the end node to the last descendant of the table, so we don't skip over any runs.

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

        Reviewed by Hyatt.

        - implement String::createCFString

        * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.

        * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.

        * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
        and added the CFStringRef ones.
        * platform/mac/StringMac.mm: Added. Ditto.

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

        Two bug fixes.

        (1) Make sure to mark positioned objects that depend on line position to
        mark themselves as needing layout when their line box placeholder gets
        repositioned.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::position):
       
        (2) Improve highlighting to factor the inflation into overflow so that
        invalidation and repainting will work properly.

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

2006-07-24  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
        
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
        that onsearch can be invoked.
        
        * manual-tests/onsearch-enter.html: Added.

2006-07-24  Dave MacLachlan  <dmaclach@mac.com>

        Reviewed by Darin and Alexey.
        
        Fix for: <http://bugs.webkit.org/show_bug.cgi?id=8425> 
        and <http://bugs.webkit.org/show_bug.cgi?id=6947>

        Test: svg/custom/non-opaque-filters.svg

        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (WebCore::KCanvasFilterQuartz::prepareFilter):
        We create an autorelease pool so we can control the deallocation of the
        CIContext that we're creating. The CIContext retains the CGContext that 
        you pass it internally so when the CIContext is released, the 
        CGContext is released as well.
        This is all fine and dandy unless you wrap the creation of the CIFilter
        with a pair of CGBegin/EndTransparencyLayer calls which swap the context
        out from underneath you. So if you start with context A, 
        CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
        with it and add a reference to B. CGEndTransparencyLayer swaps out B and
        gives you back A. Autorelease pool comes and cleans up the Filter, and calls
        release on A, but A never got the refcount in the first place. B did. BOOM!
        So we create a pool, then do a retain, then release the pool so that we 
        don't have to worry about the pool releasing it at a later time.
        See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case

2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9669
          Incomplete repaint when changing an inline's border

        Test: fast/repaint/line-overflow.html

        * rendering/RenderBlock.h:
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
        variables to track the vertical edges of the area that changed, accounting for
        lines that were deleted, inserted or moved. Removed unnecessary updating of
        m_overflowHeight.
        (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
        m_overflowHeight.
        (WebCore::RenderBlock::determineEndPosition):
        (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
        arguments, which this method updates to account for deleted lines.
        (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.

2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10075
          REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages

        Test: fast/forms/select-visual-hebrew.html

        * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=10009
        REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)

        * page/Frame.cpp:
        (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
        claims it.

2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=10083
          REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
        for bug 9312: For coordinates outside a replaced object, return the position
        just before (after) the element if the coordinates are above or to the left (below
        or to the right).

2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by maciej.

        Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
        http://bugs.webkit.org/show_bug.cgi?id=9686

        WebCore portion of the fix.

        * bridge/mac/WebCoreScriptDebugger.h:
        (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
        * bridge/mac/WebCoreScriptDebugger.mm:
        (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.

2006-07-23  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.
        Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).

        * editing/visible_units.cpp:
        (WebCore::previousLinePosition):
        When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
        (WebCore::nextLinePosition):
        same as above

2006-07-23  David Harrison  <harrison@apple.com>

        Reviewed by timo.

        <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
        
        * Test: editing/deleting/delete-mixed-editable-content-001.html

        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):
        Respect editable boundary the same way endOfParagraph does.

2006-07-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)

        Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
        text - WebCore::InlineBox::root()

        The initial rendering crash was due to a render object having a 
        stale reference to an inline box that had already been deleted and 
        then recreated in the exact same location in memory. (Crazy, I 
        know.) The situation seemed pretty specific to list markers 
        according to Hyatt according to Maciej, so that is what I patched 
        specifically. Fixing this crash unearthed a separate editing crash 
        where we were trying to insert a block into itself. I worked on 
        that with Maciej and Harrison, and Harrison came up with a fix.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
        node, insert the new block into the parent instead.
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::isChildOfParent): This function is for 
        posterity. It will help keep the linebox tree in check.
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine): Added assert.
        (WebCore::InlineFlowBox::deleteLine): Added assert.
        * rendering/ListMarkerBox.cpp:
        (WebCore::ListMarkerBox::destroy): If this has a parent, call 
        removeChild on this.
        (WebCore::ListMarkerBox::operator delete):
        * rendering/ListMarkerBox.h:

2006-07-23  Alice Liu  <alice.liu@apple.com>

        Reviewed by Darin.

        fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates):
        removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::nodeAtPoint):
        added implementation
        * rendering/RenderTextControl.h:
        added function protocol

2006-07-23  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Updating fix from last checkin.

        * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
        Only tell the view about this flexbox if there isn't another flexbox already cached.

2006-07-23  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
        its first layout.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): ditto.
        (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.

        * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
        * rendering/RenderView.h:
        (WebCore::RenderView::setFlexBoxInFirstLayout):
        (WebCore::RenderView::flexBoxInFirstLayout):

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=10038
        REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number 
        of registered mime types

        * bindings/js/kjs_navigator.cpp:
        (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
        (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
        from even being called.

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

        Reviewed by Adele and Tim Omernick.

        <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field

        Couldn't figure out how to make layout test, here's a manual test:
        * manual-tests/remove-select-onchange.html: Added.
        
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
        tree so it doesn't get destroyed if we do.
        
        The remaining changes are to let the RenderPopupMenu know its menu list w/o having
        to be in the render tree:
        
        * rendering/RenderPopupMenu.cpp:
        (WebCore::RenderPopupMenu::RenderPopupMenu):
        * rendering/RenderPopupMenu.h:
        (WebCore::RenderPopupMenu::menuList):
        * rendering/RenderPopupMenuMac.h:
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
        * rendering/RenderPopupMenuWin.h:
        (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::createPopupMenu):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::createPopupMenu):
        * rendering/RenderThemeWin.h:

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

        Reviewed by Darin.

        Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text

        Test: fast/forms/textarea-scrolled-endline-caret.html

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
        When looking for the closest line box, take the scroll offset into account.

2006-07-21  Tim Omernick  <timo@apple.com>

        Reviewed by Geoff & Maciej.

        <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6

        Geoff is working on a layout test for this.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::focusWindow):
        (WebCore::FrameMac::unfocusWindow):
        Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
        wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
        crasher.
        
2006-07-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::updateFromElement): Clear the undo
        chain when the text control contents have been set
        programmatically.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
        stack, close all open undo groups and then open an equal number,
        since otherwise NSUndoManager ends up in an inconsistent state
        leading to uncaught ObjC exceptions.

2006-07-21  Beth Dakin  <bdakin@apple.com>
        
        Reviewed by Darin.

        Just moving this assertion down a couple of lines. It was hitting 
        every time you try to print a page because we put it too early in 
        the function.

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

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

        Reviewed by levi
        
        <rdar://problem/4548238>
        REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 
        Moved from InsertParagraphSeparator.  Does its own typing style restoration.
        * editing/CompositeEditCommand.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
        the endingSelection is at the start of an editable region.
        * editing/htmlediting.cpp:
        (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
        (WebCore::appendedSublist): Ditto.
        (WebCore::enclosingEmptyListItem): Ditto.
        * editing/htmlediting.h:

=== Safari-521.20 ===

2006-07-21  Tim Omernick  <timo@apple.com>

        Reviewed by Beth Dakin & John Sullivan.

        <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]

        Beth is in the middle of making a layout test for this; she will land it soon.

        * platform/mac/ScrollBarMac.mm:
        (ScrollBar::~ScrollBar):
        Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
        Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
        in view-based widgets to prevent their destruction while the tracking is in progress.
        I searched around WebCore and this is the only Widget subclass that directly removes its view rather
        than using removeFromSuperview().

2006-07-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9312
          REGRESSION: Selection bug in new text fields when selecting past the first letter

        Test: editing/selection/select-from-textfield-outwards.html

        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent): Added code to handle the case
        where the selection starts (resp. ends) in the last (resp. first) visual position
        inside an editable root.
        * editing/htmlediting.cpp:
        (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
        tree with a position in the shadow ancestor.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
        object, return the position just before (after) the element if the coordinates are above or
        to the left (below or to the right).
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): Changed to return the last position
        in the lowest text box if the y coordinate is below all text boxes.

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

        Reviewed by Darin.
        
        - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on 
        HousingMaps.com (Google Maps-based site)
        
        - Made style.filter undetectable, like document.all.
        
        Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
        which conflicts with IE's custom CSS attribute by the same name. Web programs 
        like the Google maps API test for style.filter, and assume it's the IE 
        style.filter if they find it, so we need to make style.filter undetectable 
        to avoid breaking them.
        
        An alternative solution would be to hotwire a delorean, go back in time,
        and beg the web standards makers to make standards that work on the web.

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):

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

        Reviewed by john
        
        <rdar://problem/4641033>
        REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
        
        * editing/markup.cpp:
        (WebCore::createMarkup): We surround the currently accumulated markup with markup 
        for ancestors of the startNode when the pre-order traversal leaves the trees rooted 
        at those ancestors.  We assumed that any ancestors of the current node not in the 
        ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less 
        containers to the ancestorsToClose list.  So, we were incorrectly surrounding the 
        currently accumulated markup with markup for render-less containers.  Most of the
        content at apple.com was being put inside an <optgroup> inside a <select> element.  
        Then on Paste createContextualFragment would drop it.

2006-07-21  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * dom/Document.h:
        (WebCore::Document::):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::addEventListener):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.

2006-07-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails

        * xml/XSLTProcessor.cpp:
        (WebCore::xsltParamArrayFromParameterMap):
        Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
        add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
        This also works around a bug in libxslt where a hash table isn't allocated.

2006-07-20  Alice Liu  <alice.liu@apple.com>

        Reviewed by Tim Omernick.

        Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
        added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk. 

        * manual-tests/remove-input-file-onchange.html: Added.
        * platform/mac/FileButtonMac.mm:
        (-[WebFileChooserButton chooseFilename:]):
        swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget 

2006-07-20  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
        added a manual test because of the need to use AutoFill.

        * dom/Node.h:
        (WebCore::Node::aboutToUnload):
        added virtual function prototype
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::aboutToUnload):
        added implementation that sends textFieldDidEndEditing notification
        * html/HTMLInputElement.h:
        added virtual function prototype
        * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
        * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
        * manual-tests/input-type-file-autocomplete-refresh.html: Added.
        * page/Frame.cpp:
        (WebCore::Frame::stopLoading):
        before unloading, call aboutToUnload on the current focused node

2006-07-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
        There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from 
        vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::clear):
        (WebCore::Document::handleWindowEvent):
        (WebCore::Document::getHTMLWindowEventListener):
        (WebCore::Document::removeHTMLWindowEventListener):
        (WebCore::Document::removeWindowEventListener):
        (WebCore::Document::hasWindowEventListener):
        Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs

        * dom/Document.h:
        Changed the EventListener list to be a vanilla pointer list to a refptr list

2006-07-20  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej

        - WebCore part of fix for:
        <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
        closing tabs after clicking in a web page
        
        * bridge/mac/WebCoreFrameBridge.h:
        (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
        renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passMouseDownEventToWidget):
        updated for name change

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=8272
        Use of window.open & window.close can cause crash

        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        The default constructor now creates a "zero" event, and a new one was added to create the "current" one.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::handleMouseMoveEvent):
        * rendering/RenderFormElement.cpp:
        (WebCore::RenderFormElement::clicked): 
        Updated for the above changes.

        * platform/gdk/MouseEventGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/MouseEventWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (PlatformMouseEvent::PlatformMouseEvent):
        Trying not to break other platforms.

        * manual-tests/invalid-mouse-event.html: Added.

2006-07-20  Maciej Stachowiak  <mjs@apple.com>
        
        Reviewed by Anders.

        - delete line that I only commented in the last patch - meant to do this before landing

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::close): 

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

        Reviewed by Geoff.

        - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't
        
        I couldn't figure out how to make an automated test case for this,
        or even a manual one. It seems to be timing-related in some way.

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::close): detach the child frame from
        its element, not the frame containing this element.

2006-07-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        Hold a ref to the node in case it gets destroyed by an event handler.

2006-07-19  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=10021
        Bug 10021: REGRESSION: Stack overflow due to infinite recursion in 
        Image::checkForSolidColor

        * platform/Image.cpp:
        (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless 
        the frame was decoded successfully.

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

        Reviewed by Maciej.

        - Fix for: 
        <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
        http://bugs.webkit.org/show_bug.cgi?id=7405

        <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
        http://bugs.webkit.org/show_bug.cgi?id=9707

        Needs an http test. (http://bugs.webkit.org/show_bug.cgi?id=10020)

        These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
        Now, we detect this case and let setFocusNode be called.  And when the stylesheet finishes loading, and the element attaches, a timer will fire, 
        which will cause the correct selection & scrolling behavior to occur. 

        This fix removes selection and scrolling behavior from the focus method.  This code is now in a new method, updateFocusAppearance.
        updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires.  This timer gets set
        up when an element attaches, and its already been focused by the focus method.  We have to use a timer, because updateFocusAppearance can cause
        a layout to happen, and we don't want that to happen in the middle of attach().

        * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
        * bindings/objc/DOMPrivate.h:

        * dom/Element.cpp:
        (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
        (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
        (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode, 
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
        (WebCore::Element::stopUpdateFocusAppearanceTimer):  Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
        (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
        (WebCore::Element::blur): ditto.
        * dom/Element.h:
        (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
        (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.

        * dom/Node.h: (WebCore::Node::supportsFocus): Added.  Base class just calls isFocusable.
        * html/HTMLAnchorElement.h: Added supportsFocus.
        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
        so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
        * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
        * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode, 
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        * html/HTMLInputElement.h:

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode, 
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        * html/HTMLTextAreaElement.h:

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

        Reviewed by levi
        
        <rdar://problem/4631972>
        REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message

        * dom/Position.cpp:
        (WebCore::Position::upstream): Deployed isBlock and enclosingBlock.
        (WebCore::Position::downstream): Ditto.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Added !iframe.
        (WebCore::isBlock): Added, returns !node->renderer()->isInline()
        (WebCore::enclosingBlock): Added.
        * editing/htmlediting.h:

2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        Take into account that focus handlers can cause a node's renderer to be destroyed.
        
2006-07-19  David Hyatt  <hyatt@apple.com>

        Fix for 4638376.  The 1x1 solid color image optimization was broken when
        I re-architected image.  This patch restores the optimization for CG.  Cairo
        will still need the optimization.

        Reviewed by darin

        WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)

        * platform/Image.cpp:
        (WebCore::Image::Image):
        (WebCore::Image::invalidateData):
        (WebCore::Image::cacheFrame):
        * platform/Image.h:
        (WebCore::Image::setIsPDF):
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::checkForSolidColor):
        * platform/mac/ImageMac.mm:
        (WebCore::Image::initNativeData):
        (WebCore::Image::invalidateNativeData):
        (WebCore::Image::checkForSolidColor):
        (WebCore::Image::draw):
        (WebCore::Image::drawTiled):

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

        Reviewed by levi
        
        <rdar://problem/4613519>
        REGRESSION: Pasting text in native text area inserts text one character before it should (9527)

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
        if the enclosingBlockFlowElement doesn't have a parent.

2006-07-19  David Harrison  <harrison@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
        <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table
        
        Better patch than previous checkin.

        * test: editing/pasteboard/paste-table-003.html
        
        * editing/markup.cpp:
        (WebCore::createMarkup):
        Make sure to include the table when including a tbody.

=== Safari-521.19 ===

2006-07-19  David Harrison  <harrison@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range

        No test case as this can only be reproduced through ObjC APIs.

        * editing/markup.cpp:
        (WebCore::createMarkup):
        Adjust the range for ancestor markup handling when main loop skips first node.

2006-07-18  David Hyatt  <hyatt@apple.com>

        Fix for radar 4611287, make resizable text fields opt-in rather than
        opt-out.  Open source users will need to write the pref into their defaults
        to see the resizers on textareas now.

        Reviewed by mjs and adele

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setTextAreasAreResizable:]):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/html4.css:

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9959
        REGRESSION: iframes stop rendering after 200th one on successive reloads
        
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::attach):
        (WebCore::HTMLFrameElement::close):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        (WebCore::HTMLIFrameElement::willRemove):
        Remove calls to incrementFrameCount and decrementFrameCount.
        
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        Call incrementFrameCount here.
        
        (WebCore::Frame::~Frame):
        Call disconnectOwnerElement.
        
        (WebCore::Frame::disconnectOwnerElement):
        Call decrementFrameCount here.
        
2006-07-18  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=9013
        Let correct CSS custom cursor declarations parse

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of
        requiring that it is the only one in the list (which is actually illegal, according to the spec). 
        This is only a temporary hack, with a real implementation to follow in bug 6001/6002.

        * manual-tests/custom-cursors.html: Added a test for this issue.
        * manual-tests/resources/helpCursor.tiff: A cursor image used in the test.

2006-07-18  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Anders.
        
        <rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols
        
        WebCore needs to add -sub_library libobjc to maintain
        backwards compatibility with binaries linked with WebKit
        before JavaScriptCore moved out of WebKit.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9978
          REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line

        Test: editing/selection/click-start-of-line.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): Changed to return downstream
        affinity if the x coordinate is to the left of the middle of the first character
        in the text box.

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9695
        <rdar://problem/4614085> 
        TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)
        
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRightForward):
        (WebCore::SelectionController::modifyMovingRightForward):
        (WebCore::SelectionController::modifyExtendingLeftBackward):
        (WebCore::SelectionController::modifyMovingLeftBackward):
        If the caret is inside an editable region, the beginning/end of the document should actually be the
        beginning/end of the editable region.

2006-07-17  Tim Omernick  <timo@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
        by script

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setProhibitsScrolling:]):
        * page/Frame.cpp:
        (WebCore::Frame::prohibitsScrolling):
        (WebCore::Frame::setProhibitsScrolling):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPointRecursively):
        (WebCore::FrameView::setContentsPos):
        * page/FrameView.h:
        * platform/ScrollView.h:

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

        Reviewed by Dave Harrison.
        
        - fixed <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/

        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent):

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

        Reviewed by levi
        
        <rdar://problem/4621728>
        REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
        <rdar://problem/4604932>
        REGRESSION: Dragging too far left on a line will select all lines above it.
 
        No layout test because of 9980.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots
        for coordinates outside those roots, except for coordinates outside a document that is entirely 
        editable.

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

        Reviewed by Darin.

        <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return

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

        Reviewed by Maciej.

        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

        Moves WebScriptObject and WebUndefined to WebCore.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMInternal.mm:
        * bindings/objc/DOMUtility.mm:
        * bindings/objc/WebScriptObject.mm: Added.
        (+[WebUndefined allocWithZone:]):
        (-[WebUndefined initWithCoder:]):
        (-[WebUndefined encodeWithCoder:]):
        (-[WebUndefined copyWithZone:]):
        * bindings/objc/WebScriptObjectPrivate.h: Added.
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreScriptDebugger.mm:

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

        Back out the fix for 5564, since it turns out font:x-small; is a pretty
        prominent IE-specific CSS hack.  Because Web sites rely on IE's incorrect
        font parsing as a means of also correcting IE's incorrect font size rules.

        This fixes Yahoo.com.

        Reviewed by darin

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseFont):

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

        Reviewed by levi
        
        <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence
        
        * dom/Document.cpp:
        (WebCore::Document::updateSelection):

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

        Reviewed by Beth.
        
        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        * html/HTMLInputElement.h:

2006-07-16  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9954
          REGRESSION: document.dir should return empty string in <head>

        Test: fast/dom/document-dir-property.html

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
        undefined value for an unset document.dir property.

2006-07-16  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        * dom/NodeFilter.idl:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
        * manual-tests/input-empty-on-focus.html:
        Removed "Property changes" that snuck in as part of the "apply patch" process.

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9943
          <rdar://problem/4590613>
          REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns

        The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
        I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
        Presumably some other bug that we fixed had been compensating.

        Test: fast/html/body-offset-properties.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
        (WebCore::RenderObject::offsetTop): Ditto.
        (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).

2006-07-16  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/4616595> REGRESSION: Problems with world 
        clock widget clock hand motion on 9A211 + 4604574

        The second hand on the widget was jiggling because the rotation was 
        messing up the use of the affine transformation matrix while 
        rounding to pixel boundaries in device space. We are mainly 
        concerned with rounding to pixel boundaries with the scale in mind, 
        so this patch extracts the scale to device space from the matrix, 
        and rounds to pixel boundaries using only the scale. This doesn't 
        seem like it is a perfect solution, but it definitely solves the 
        immediate problem. We will probably need to re-address what should 
        happen to avoid pixel cracks with rotations at non-integral scale 
        factors. 

        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

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

        - fix mistake from fix for 8952 that was breaking layout tests

        * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
        Justin was right! I changed the behavior of the function by accident. Changed it
        back so that it doesn't blow away the selection on the DOM side in the case where
        it didn't before.

        I will write 100 times on the blackboard: "When Justin says something about editing,
        assume he is right."

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

        - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added StreamingTextDecoderICU.cpp/h.

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8952
          <rdar://problem/4575185>
          REGRESSION: crash on drag of highlighted Google custom home page modules

        Test: fast/dynamic/move-node-with-selection.html

        * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved):
        Call updateRendering before calling clearSelection(), since it's important to do any
        work beforehand, and there are calls inside clearSelection that will indirectly do an
        updateRendering. Also change code to make fewer assumptions about object lifetime.

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8587
          <rdar://problem/4631844>
          REGRESSION: {display:list-item} on items outside an ol or ul element no longer causes incremental numbering

        Test: fast/lists/numeric-markers-outside-list.html

        * rendering/RenderListItem.cpp: (WebCore::previousListItem):
        Look for list items, even when we're outside any list.

2006-07-15  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        - Fix for <rdar://problem/4593970> REGRESSION (NativeTextField): autofill menu disappears after typing a 2nd character

        This was caused by composite editing commands, (like typing or pasting) that include a DeleteCommand, being
        interpreted by the form delegate as an actual delete.  This fix doesn't notify the form delegate if the deletion is
        part of an editing command to replace the selected text.

        * editing/DeleteSelectionCommand.h: Added m_replace to keep track of whether this deletion is 
          part of a composite command to replace the text being deleted.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize m_replace.
        (WebCore::DeleteSelectionCommand::doApply): Only notify the form delegate of the deletion if the text is not being replaced.
        * editing/CompositeEditCommand.h:
        * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteSelection): 
          Added replace argument to construct DeleteSelectionCommand.
          
        * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Call deleteSelection with replace argument.
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): ditto.

2006-07-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej, tweaked to match Darin's patch.
        
        - Fixed <rdar://problem/4631837> REGRESSION: Reproducible crash on 
        FCKeditor demo (9911)
        
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty): Check for a null body element before
        forwarding the put request to it. I confirmed that no other parts of the 
        file use 'body' or 'bodyElement' without checking for null. 
        
        Also, use 'body' rather than 'bodyElement' because dir can bet set on 
        any element, not just HTMLBodyElement.

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8871
          <rdar://problem/4575417>
          REGRESSION: Pressing Enter/Return in a text input removes the selected text

        - fix http://bugs.webkit.org/show_bug.cgi?id=9743
          <rdar://problem/4614228>
          REGRESSION: crash dispatching JavaScript-created keyboard event to input element

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent):
        Add a null check to fix the crash, and a FIXME explaining why this is not necessarily
        enough for the future.

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
        Consume Enter key keypress events even if the element is not in a form.

        * platform/mac/KeyEventMac.mm: (WebCore::keyIdentifierForKeyEvent): Added \n to the
        characters that turn into "Enter". Actual keyboard events always are \r or \003 on
        the Macintosh, but in layout tests we can use \n, and everything other than the
        code path here works, so worth fixing.

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9883
          <rdar://problem/4631821>
          REGRESSION: NativePopups don't work correctly in some forum software

        Test: fast/forms/select-selected.html

        * rendering/RenderMenuList.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::updateFromElement): Added code to map the selected option
        index to a list index before using it to index into the list.
        (WebCore::RenderMenuList::showPopup): Added code to map the selection option index
        to a list index before passing it to the menu renderer.
        (WebCore::RenderMenuList::valueChanged): Added code to map the list index back to a
        option index before calling setSelectedIndex (that function takes an option index).

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

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9928
          REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)

        * bindings/objc/DOM.mm:
        (-[DOMNode addEventListener:::]): Moved into DOMEventTarget category.
        (-[DOMNode removeEventListener:::]): Ditto.
        (-[DOMNode dispatchEvent:]): Ditto.

        * WebCore.xcodeproj/project.pbxproj: Allow Xcode to do its thing.

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

        Reviewed by Anders.

        <rdar://problem/4632144> REGRESSION: table column tests failing as a result of very recent fix

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): columns and colgroups are valid children of a table too, not
        just table sections!

2006-07-15  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9866
        <rdar://problem/4631561>
        REGRESSION: Repro crash from mangleme using iframe, only from server.
        
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        Add null check for contentFrame() since content frames won't be created for invalid URLs.        

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

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=4195
        REGRESSION: KOI8-U encoding no longer supported.

        Tests:
        * http/tests/misc/BOM-override.pl
        * http/tests/misc/BOM-override-script.html
        * fast/encoding/charset-koi8-u.html
        * fast/encoding/charset-x-nextstep.html

        Restored a TEC code path for encodings that are not supported by ICU (but which currently
        passes all layout tests even by itself with ICU disabled). A lot of refactoring is 
        still needed - most importantly, round-tripping encoding names via CFStringEncoding 
        makes little sense now.

        * WebCore.exp:
        * bridge/mac/WebCoreTextDecoder.h: Removed.
        * bridge/mac/WebCoreTextDecoder.mm: Removed.
        WebCoreTextDecoder was not used anywhere since WebTextView was moved into WebCore.

        * loader/Decoder.cpp:
        (Decoder::Decoder):
        (Decoder::setEncodingName):
        (Decoder::decode):
        Use StreamingTextDecoder::create().

        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::create):
        (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
        * platform/StreamingTextDecoder.h:
        StreamingTextDecoder is just an abstract interface to implementations now.

        * platform/StreamingTextDecoderICU.cpp: Added.
        (WebCore::StreamingTextDecoderICU::StreamingTextDecoderICU):
        (WebCore::StreamingTextDecoderICU::~StreamingTextDecoderICU):
        (WebCore::StreamingTextDecoderICU::releaseICUConverter):
        (WebCore::StreamingTextDecoderICU::textEncodingSupported):
        (WebCore::StreamingTextDecoderICU::convertUTF16):
        (WebCore::StreamingTextDecoderICU::convertIfASCII):
        (WebCore::StreamingTextDecoderICU::createICUConverter):
        (WebCore::StreamingTextDecoderICU::appendOmittingBOM):
        (WebCore::StreamingTextDecoderICU::convertUsingICU):
        (WebCore::StreamingTextDecoderICU::convert):
        (WebCore::StreamingTextDecoderICU::toUnicode):
        (WebCore::StreamingTextDecoderICU::fromUnicode):
        * platform/StreamingTextDecoderICU.h: Added.
        Renamed from StreamingTextDecoder; added a way to tell whether the encoding is actually
        supported by the decoder; minor cleanup.

        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::effectiveEncoding): Moved from StreamingTextDecoder.
        (WebCore::TextEncoding::toUnicode): Use StreamingTextDecoder::create().
        (WebCore::TextEncoding::fromUnicode): Moved to StreamingTextDecoderICU.
        
        * platform/TextEncoding.h: Changed __APPLE__ to PLATFORM(MAC); added effectiveEncoding().

        * platform/mac/StreamingTextDecoderMac.cpp: Added.
        (WebCore::StreamingTextDecoderMac::StreamingTextDecoderMac):
        (WebCore::StreamingTextDecoderMac::~StreamingTextDecoderMac):
        (WebCore::StreamingTextDecoderMac::releaseTECConverter):
        (WebCore::StreamingTextDecoderMac::textEncodingSupported):
        (WebCore::StreamingTextDecoderMac::convertUTF16):
        (WebCore::StreamingTextDecoderMac::convertIfASCII):
        (WebCore::StreamingTextDecoderMac::createTECConverter):
        (WebCore::StreamingTextDecoderMac::appendOmittingBOM):
        (WebCore::StreamingTextDecoderMac::convertOneChunkUsingTEC):
        (WebCore::StreamingTextDecoderMac::convertUsingTEC):
        (WebCore::StreamingTextDecoderMac::convert):
        (WebCore::StreamingTextDecoderMac::toUnicode):
        (WebCore::StreamingTextDecoderMac::fromUnicode):
        * platform/mac/StreamingTextDecoderMac.h: Added.
        (WebCore::StreamingTextDecoderMac::convert):
        This is a TEC+CFString code path for decoding, basically restored from a year-old revision.

        * platform/mac/TextEncodingMac.cpp: Removed. Code moved to StreamingTextDecoderMac.

        * WebCore.xcodeproj/project.pbxproj:

=== Safari-521.17 ===

2006-07-14  Timothy Hatcher  <timothy@apple.com>

        <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure

        Made a DOMNode category in DOMEvents.h that lets DOMNode conform to the
        DOMEventTarget protocol that works with GCC 5412.

        Removed forward declarations of WebCoreWidgetHolder and imported WebCoreWidgetHolder.h.

        Removed all <Cocoa/Cocoa.h> and <Foundation/Foundation.h> imports in other headers,
        we import <Cocoa/Cocoa.h> in the prefix header for ObjC.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEvents.h:
        * bridge/mac/FormDataMac.h:
        * bridge/mac/WebCoreAXObject.h:
        * bridge/mac/WebCoreCache.h:
        * bridge/mac/WebCoreEncodings.h:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameNamespaces.h:
        * bridge/mac/WebCoreJavaScript.h:
        * bridge/mac/WebCorePageBridge.h:
        * bridge/mac/WebCorePageState.h:
        * bridge/mac/WebCoreResourceLoader.h:
        * bridge/mac/WebCoreScriptDebugger.h:
        * bridge/mac/WebCoreSettings.h:
        * bridge/mac/WebCoreStringTruncator.h:
        * bridge/mac/WebCoreStringTruncator.mm:
        * bridge/mac/WebCoreTextDecoder.h:
        * bridge/mac/WebDashboardRegion.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * platform/mac/CookieJar.mm:
        * platform/mac/DeprecatedStringMac.mm:
        * platform/mac/FontDataMac.mm:
        * platform/mac/FoundationExtras.h:
        * platform/mac/TextBoundaries.mm:
        * platform/mac/WebCoreHistory.h:
        * platform/mac/WebCoreHistory.m:
        * platform/mac/WebCoreKeyGenerator.h:
        * platform/mac/WebCoreTextArea.h:
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextRenderer.h:
        * platform/mac/WebCoreView.h:
        * platform/mac/WebCoreWidgetHolder.h:

2006-07-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Updated ScriptInterpreter to work with Interpreter ref-counting in 
        JavaScriptCore.

        (KJS::ScriptInterpreter::~ScriptInterpreter): Now protected to catch
        manual delete.

2006-07-14  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele and Justin.

        http://bugs.webkit.org/show_bug.cgi?id=9658
        <rdar://problem/4613948>
        REGRESSION: Check Spelling does not work in textarea elements
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::advanceToNextMisspelling):
        Don't use setStartBefore or setEndAfter on the search range because for shadow trees, there
        is no notion of before and after. Instead, use setStart and setEnd and pass in the start and end
        indices respectively.
        
        * dom/Range.cpp:
        (WebCore::Range::checkNodeBA):
        Allow range operations on shadow trees.

        * manual-tests/form-element-spelling.html: Added.

2006-07-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

        Fix for <rdar://problem/4621660> REGRESSION: Safari crashing in 
        WebCore::FrameView::updateOverflowStatus

        m_viewportRenderer is never initialized for framesets, and it 
        shouldn't be. So we just need to nil-check for it in 
        updateOverflowStatus() and return early.

        * page/FrameView.cpp:
        (WebCore::FrameView::updateOverflowStatus): Nil check.

2006-07-14  Adele Peterson  <adele@apple.com>

        RS by Darin.

        Backing out fix for <rdar://problem/4604703> 
        REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field

        Darin had a better fix in WebKit for this.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):

2006-07-14  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - Fix for <rdar://problem/4614054> REGRESSION: Safari submits forms when the Return key is hit to complete inline inputs

        * page/Frame.h: (WebCore::Frame::inputManagerHasMarkedText): Added.
        * bridge/mac/FrameMac.h: ditto.
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::inputManagerHasMarkedText): Added. Asks the input manager if there's marked text.
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): For text fields, don't submit the form on Enter
        if the input manager says there's marked text.  I added this code for all text field paths.  For widgets, WebCoreTextField.mm
        has code to deal with this case.  But as we convert search, password, and isindex, they will need to do this check too.

2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9907
          REGRESSION (r15418): editing/pasteboard/paste-table-001 fails in pixel  mode

        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect): Fixed the calculation of the max/min allowed caret
        position.

2006-07-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9905
          REGRESSION (r15404-r15415): Repro crash when pressing delete in an empty editable div

        Test: editing/deleting/delete-at-start-or-end.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Added null check.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.

2006-07-14  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Geoffrey.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9903
          Simplify logic in JSHTMLOptionsCollection::setLength() by using no-arg getNumber()

        No test cases since there is no change in functionality.

        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::setLength):  Simplified logic by using the
        no-argument getNumber() method.

2006-07-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Adele.

        - Build fix: don't need BLOCK_OBJC_EXCEPTIONS because we already have
        one surrounding this function, and the nested one makes the compiler
        think our local variable is volatile (seems like a compiler bug to me).
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::sendContextMenuEvent):

2006-07-14  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        Make JavaScriptCore a public framework. Adjusted the paths.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by Hyatt.

        - fixed <rdar://problem/4567031> REGRESSION: Crash at WebCore::RenderBlock::createLineBoxes (seems to be a security hole?)
        
        I also fixed all the similar crash / assertion failure cases I could think of.

        * dom/Node.cpp:
        (WebCore::Node::nextRendererWithSameParent): Helper function for some of the above.
        * dom/Node.h:
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild): Don't allow inserting forms when not in
        an HTML document, since we don't need that quirk and because parsing won't
        do certain render tree fixups. Also watch out for case when inserting before
        the renderer of a misnested child.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild): ditto
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): ditto

2006-07-13  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        - Fix for <rdar://problem/4604703> 
        REGRESSION (NativeTextField): Focus is not removed from password field after I ctrl-click into a different field

        Test:
        * manual-tests/password-ctrl-click-lose-focus.html: Added.

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
        If we're about to set a selection in the current view, make sure its the first responder.
        In this case, this will cause the password field to resign first responder at the right time.

2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9670
          REGRESSION: RTL white-space:pre-wrap text is offset to the right

        Test: fast/text/international/rtl-white-space-pre-wrap.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::caretRect): Fixed LTR case and added the RTL case
        of clipping the caret position to the text box when the caret is after
        the trailing space of an autowrapped line.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to truncate-
        to-fit the logically last text box if it contains the trailing spaces of an
        autowrapped line. 
        (WebCore::RenderBlock::bidiReorderLine): Remember the logically last text run.
        In the case of autowrapped text with white space that overflows beyond the line,
        the last text run is the one containing the overflowing white space.
        (WebCore::RenderBlock::findNextLineBreak): Split overflowing white space on a
        line that autowraps only after white space into a separate text run.

2006-07-13  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/4624203> -webkit-highlight should be behind images

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        Call custom highlighter before painting the image, marker, or widget.

2006-07-13  David Harrison  <harrison@apple.com>

        Reviewed by Justin and Levi.

        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing

        * Tests:
        editing/deleting/delete-by-word-001.html
        editing/deleting/delete-by-word-002.html

        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        (WebCore::TypingCommand::doApply):
        * editing/TypingCommand.h:
        Delete and forward delete to use specified granularity.
        Undo of delete and forward delete to select what had been deleted (non-char granularity only).
        
        * page/Frame.cpp:
        (WebCore::Frame::setSelection):
        Close typing and end style even if selection is not changing.
        * page/Frame.h:
        Remove unused setSelection parameter keepTypingStyle.

2006-07-12  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        <rdar://problem/4622763> Deleting from beginning of paragraph following a table deletes rather than selects the table

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Added selection expansion for HRs.
        (WebCore::DeleteSelectionCommand::initializePositionData): Now uses enclosingBlockFlowOrTableElement
        instead of enclosingBlockFlowElement.
        (WebCore::DeleteSelectionCommand::removeNode): Use to identify that we need a placeholder
        when the start or end block is removed.
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): Added check for canHaveChildrenForEditing
        to keep things like HRs from being given children.
        (WebCore::DeleteSelectionCommand::doApply): Switched to use member variable for needPlaceholder.
        * editing/DeleteSelectionCommand.h: Made needPlaceholder a member variable.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Fixed selection bug for tables and open typing commands.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): Added check for HRs, since it's not considered a widget.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph): Fix for HRs and tables.
        (WebCore::endOfParagraph): Ditto.

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

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9880
          Memory leaks running DOM-Hanoi

        No change in behavior, thus no test included.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setStatusBarText): Use a local autorelease pool to release the temporaries - 
        the test runs non-stop, and the enclosing pool doesn't get a chance to be drained.

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9862
          REGRESSION: GMail: Crash in RenderView::repaintViewRectangle when spoofing as FF
        - see also <rdar://problem/4622407>

        Test: fast/frames/repaint-display-none-crash.html

        * rendering/RenderView.cpp:
        (WebCore::RenderView::repaintViewRectangle): Added null checking of the owner element's
        renderer, which can be null if the iframe is set to display:none.

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

        Reviewed by levi
        
        <rdar://problem/4509393>
        selected DOM range starts with <object>, 0 offset but selection should include the <object>

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMergeStart): 
        Don't pull content out of a table cell.
        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent): Added <select> nodes.
        (WebCore::rangeCompliantEquivalent): Convert [node, 0] positions to positionBeforeNode(node)
        for more types of nodes.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::positionForCoordinates): 
        Fix a crasher when right clicking on an anonymous table.

2006-07-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Brady Eidson
        
        - fixed <rdar://problem/4611164> REGRESSION: Crash occurs when undoing a series of 
        misspelled words (WebCore::RenderObject::repaint(bool)

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers):
        put (it - markers.begin()) in a local variable before altering markers, in every case where this was
        happening. One of the cases like this was fixed a while back, but other cases were
        either missed at that time or crept in since. 

2006-07-13  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Justin.

        http://bugs.webkit.org/show_bug.cgi?id=9663
        REGRESSION (r14948-r14956): Selection in text field remains highlighted when the text field loses focus
        
        * dom/Document.cpp:
        (WebCore::Document::updateSelection):
        Don't return early if the selection is empty.

2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4614656> REGRESSION: onpaste() handlers don't run for textarea elements
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::dispatchCPPEvent):
        If the element is a shadow node, dispatch the event to its real parent.

        * manual-tests/textarea-onpaste.html: Added.

2006-07-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders.

        Fix for layout test regressions after my check-in last night. Just 
        a silly mistake where I should have asked if we were NOT printing 
        instead of if we were in the listbox code.

        * WebCore.xcodeproj/project.pbxproj: Project file wars. Back to 
        XCode 2.3
        * platform/mac/ListBoxMac.mm:
        (itemTextRenderer): Inverted check.
        (groupLabelTextRenderer): Inverted check.

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

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9806
          <rdar://problem/4622622>
          REGRESSION: Large rowspan causes WebKit to call abort()

        Test: fast/table/large-rowspan-crash.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):
        Use sizeof(RowStruct) instead of sizeof(int).
        Clearly we'll need something better to solve this completely.
        I expect another smaller, but still huge, value will still cause a problem.

2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4586665> REGRESSION: autorestore.apple.com: Crashes Safari in WebCore::Widget::client() const

        * bridge/mac/FrameMac.h:
        Add focusCallResultedInViewBeingCreated argument. 
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        If the call to focus() caused the node to get a native widget, set focusCallResultedInViewBeingCreated to true.
        
        (WebCore::FrameMac::nextKeyViewInFrameHierarchy):
        Don't reset the focus node if focusCallResultedInViewBeingCreated is true. Also, add magic to prevent setting
        a text field as the first responder if its field editor already is the current first responder.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent):
        In some cases, get the event target node again after dispatching the mouse event.

2006-07-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele.

        Fix for <rdar://problem/4615765> Input[type='search' fields 
        initially render too large in Widgets

        Fundamentally, the problem here is that we were miscalculating 
        things because [NSGraphicsContext currentContextDrawingToScreen] 
        was evaluating to false when widgets first load. We only ever used 
        this check, however, to determine if we were printing or not, so it 
        should not have evaluated to false for loading in Dashbaord. 
        Instead, if we query the RenderView about whether or not we are 
        printing, we will get the right answer.

        No test case added since this appears only to affect Dashboard.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge drawRect:]): Ask the RenderView if we are 
        printing instead. This is not part of the actual bug fix, but it 
        seems wise to get rid of all calls to [NSGraphicsContext 
        currentContextDrawingToScreen] when we are just trying to determine 
        if we are printing or not.
        * platform/mac/ListBoxMac.mm:
        (itemTextRenderer):This function now takes a boolean, isPrinting.
        (groupLabelTextRenderer): Same as above.
        (ListBox::sizeForNumberOfLines): Ask the RenderView if we are 
        printing.
        (-[WebCoreTableView drawRow:clipRect:]): Same as above.
        * platform/mac/PopUpButtonMac.mm:
        (PopUpButton::sizeHint): Same as above.
        * platform/mac/TextFieldMac.mm:
        (-[NSSearchFieldCell _addStringToRecentSearches:]):
        * rendering/RenderLineEdit.cpp: Same as above.

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

        Reviewed by Maciej.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=9813
        OPTION text can paint over select element's scrollbar

        Test: fast/forms/option-text-clip.html

        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject):
        When calculating the clip to apply to the button text, also consider padding.
        In the future, we may have separate renderers for the text part, and the arrow part
        of the control, and then the separation should be natural.  For now, we use padding.

2006-07-11  David Kilzer  <ddkilzer@kilzer.net>

        Windows build fix.  Reviewed by NOBODY.

        * WebCore.vcproj/WebCore/WebCore.vcproj:  Added JSHTMLOptionsCollection.cpp/h
        and JSHTMLOptionsCollectionCuston.cpp.  VC++ Express realphabetized the file list.

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9809
          <rdar://problem/4619515>
          focus ring fails to appear on select element after choosing item from popup

        - includes http://bugs.webkit.org/show_bug.cgi?id=9853
          improvements to select element, including some storage leak fixes

        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): Use a const
        reference for the list items, so we don't have to copy a vector.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::selectedIndex): Ditto.
        (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
        (WebCore::HTMLSelectElement::length): Ditto.
        (WebCore::HTMLSelectElement::remove): Ditto.
        (WebCore::HTMLSelectElement::value): Ditto.
        (WebCore::HTMLSelectElement::setValue): Ditto.
        (WebCore::HTMLSelectElement::stateValue): Ditto.
        (WebCore::HTMLSelectElement::restoreState): Ditto.
        (WebCore::HTMLSelectElement::appendFormData): Ditto.
        (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
        (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
        (WebCore::HTMLSelectElement::recalcListItems): Made const, with the appropriate
        fields mutable.
        (WebCore::HTMLSelectElement::reset): Use a const reference for
        the list items, so we don't have to copy the vector. Remove the call to
        setSelectionChanged for the RenderMenuList case.
        (WebCore::HTMLSelectElement::notifyOptionSelected): Ditto, on both counts.
        (WebCore::HTMLSelectElement::defaultEventHandler): Call focus() before showing
        the pop-up.
        * html/HTMLSelectElement.h: The RenderMenuList class is no longer a friend.
        Changed the listItems function to return a const reference to the vector so
        it no longer copies the vector. Removed the const_cast to the call to
        recalcListItems and changed it to a const member function. Made m_recalcListItems
        mutable.
        * rendering/DeprecatedRenderSelect.cpp:
        (WebCore::DeprecatedRenderSelect::updateFromElement): Removed an unnecessary call
        to recalcListItems, which is called automatically. Use a const reference for the
        list items so we don't have to copy a vector.
        (WebCore::DeprecatedRenderSelect::layout): Ditto.
        (WebCore::DeprecatedRenderSelect::selectionChanged): Ditto.
        (WebCore::DeprecatedRenderSelect::updateSelection): Ditto.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::RenderMenuList): Updated for renamed data members.
        (WebCore::RenderMenuList::createInnerBlock): Ditto.
        (WebCore::RenderMenuList::addChild): Ditto.
        (WebCore::RenderMenuList::removeChild): Ditto.
        (WebCore::RenderMenuList::setStyle): Ditto. Also removed code to set the style
        on the pop-up menu, because it's created with the correct style and destroyed
        before it a style change could occur.
        (WebCore::RenderMenuList::updateFromElement): Rearranged code to compute the
        maximum width in a simpler fashion, and to not bother trying to maintain
        the "selected" flags on the elements, since the HTMLSelectElement class
        takes care of that. Store the width as an int. Call setText to set the text
        based on the selected element's option text.
        (WebCore::RenderMenuList::paintObject): Don't check m_inner when setting
        up the clip -- always set up the clip.
        (WebCore::RenderMenuList::calcMinMaxWidth): Use m_optionsWidth directly
        instead of calling ceilf on m_longestWidth.
        (WebCore::RenderMenuList::showPopup): Don't use m_popupMenu to store the
        menu -- instead keep the pointer in a local variable. Get the selected
        index from the HTMLSelectElement.
        (WebCore::RenderMenuList::valueChanged): Call HTMLSelectElement::setSelectedIndex
        to do most of the work.
        * rendering/RenderMenuList.h: Renamed m_inner to m_innerBlock. Removed
        m_popupMenu, m_size, m_selectionChanged, and m_selectedIndex. Renamed
        m_longestWidth to m_optionsWidth and changed it to be an int. Removed
        unneeded override of removeLeftoverAnonymousBoxes function. Removed
        unneeded selectionChanged, setSelectionChanged, updateSelection, and
        hasPopupMenu functions. Removed extra includes.
        * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate):
        Change to iterate the list items instead of iterating all children
        of the select node.
        * rendering/RenderPopupMenu.h: Renamed getRenderMenuList to menuList.
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::populate): Moved code to clear and create
        the pop-up here from the caller. Removed an extra retain that would cause
        the NSPopUpButtonCell to leak.
        (WebCore::RenderPopupMenuMac::showPopup): Removed unnecessary code to
        create the pop-up, which is now in populate, and also the call to the
        clear function, for the same reason. Reorganized code to make it a bit
        more readable. Removed an unnecessary if to check if frame is nil.
        Used a RefPtr to make sure we don't make a call on a frame after it's
        deleted. As part of the reorganization fixed a problem where we'd retain
        the event and then return early without releasing it in one case.
        (WebCore::RenderPopupMenuMac::addSeparator): Tweaked a little.
        (WebCore::RenderPopupMenuMac::addGroupLabel): Grouped all the code to
        manage the NSMenu at the bottom of the function.
        (WebCore::RenderPopupMenuMac::addOption): Ditto.

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

        Reviewed by levi
        
        <rdar://problem/4620686>
        REGRESSION: Mispelling markers are still displayed when using the delete key to place caret into a misspelled word

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::respondToChangedSelection): Remove markers from newAdjacentWords 
        even if oldAdjacentWords is equal to newAdjacentWords.  This happens during a deletion.
        

2006-07-11  Tim Omernick  <timo@apple.com>

        Reviewed by NOBODY (build fix)

        * bindings/objc/DOMPrivate.h:
        Don't @class NPObject; that breaks files that actually #import <JavaScriptCore/npruntime.h>, since the NPObject
        there is of a different type.
        Also clarified a highly misleading comment from my last commit.  I meant to clarify the comment
        before landing.

2006-07-12  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9635
        REGRESSION: Crash when adding to cart at <http://www.yemeksepeti.com/>
        
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):
        Don't load external scripts if the parser is stopped.
        
        * manual-tests/open-close-tokenizer-crash.html: Added.
        * manual-tests/resources/empty-file.js: Added.
        * manual-tests/resources/open-close-tokenizer-crash.html: Added.
        Add manual test.

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

        Reviewed by Kevin, Timo O, Brady, Darin, and Hyatt (whee!)

        - added support for creating a selection image with white text

        * rendering/RenderObject.h:
        (WebCore::):
        add PaintRestriction enum
        (WebCore::RenderObject::PaintInfo::PaintInfo):
        add forceWhiteText boolean to PaintInfo struct

        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        replaced m_selectionOnly bool with m_paintRestriction, which also handles forcing the
        text to white

        * page/Frame.cpp:
        (WebCore::Frame::paint):
        updated to use & pass m_paintRestriction where it used to use & pass just m_selectionOnly

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::selectionImage):
        now takes forceWhiteText parameter, stored in FramePrivate as part of PaintRestriction

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge selectionImageForcingWhiteText:]):
        renamed from selectionImage, now takes forceWhiteText parameter, which is passed
        down into Frame

        * rendering/RenderLayer.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paint):
        use a PaintRestriction value where we used to use a selectionOnly bool
        (WebCore::RenderLayer::paintLayer):
        ditto; also stores forceWhiteText in PaintInfo struct

        * kcanvas/KCanvasResources.cpp:
        (WebCore::KCanvasMarker::draw):
        updated for changed signature of PaintInfo constructor

        * ksvg2/svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        ditto

        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        ditto

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        paint with white text color if forceWhiteText is set in PaintInfo struct

2006-07-11  Tim Omernick  <timo@apple.com>

        Reviewed by Anders.

        <http://bugs.webkit.org/show_bug.cgi?id=9843>:
        Give Netscape plug-ins access to their own DOM element

        * html/HTMLPlugInElement.h:
        Just import JSC headers on Mac.  The NPObject and Bindings::Instance stuff is only used on Mac anyway.
        Changed __APPLE__ to PLATFORM(MAC).
        Added m_NPObject ivar.
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
        Initialize the NPObject.
        (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
        Release the NPObject when the element is destroyed.
        (WebCore::HTMLPlugInElement::createNPObject):
        Creates an NPObject for the element.
        (WebCore::HTMLPlugInElement::getNPObject):
        Returns the NPObject for the element, creating and caching it if necessary.

        * html/HTMLAppletElement.h:
        Changed __APPLE__ to PLATFORM(MAC).
        * html/HTMLAppletElement.cpp:
        ditto
        * html/HTMLEmbedElement.h:
        ditto
        * html/HTMLEmbedElement.cpp:
        ditto
        * html/HTMLObjectElement.h:
        ditto
        * html/HTMLObjectElement.cpp:
        ditto

        * bindings/objc/DOMPrivate.h:
        Added -[DOMElement _NPObject].

        * bindings/objc/DOM.mm:
        (-[DOMElement _NPObject]):
        Returns the NPObject for the element.  Since this is only needed by the Netscape plug-in API, you can only get 
        the NPObject for applet, embed, and object elements.
        
2006-07-11  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=9861
        REGRESSION: Can't dynamically change list box to popup
        
        and updated fix for http://bugs.webkit.org/show_bug.cgi?id=9859
        REGRESSION: Can't dynamically change popup to list box

        The original fix for 9859 was in the renderer, and I think we can catch the change
        earlier in the element to detach and reattach.

        I also did some cleanup to remove the PopupButton code path from DeprecatedRenderSelect

        Test: fast/forms/select-change-listbox-to-popup.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseMappedAttribute): If the new attribute value is going to require us to change from listbox to popup or vice versa,
        and we're already attached, then detach and reattach to create the correct renderer.  If we're not attached, then we'll create the correct renderer
        when we attach.
        (WebCore::HTMLSelectElement::recalcStyle): Updated shouldUseMenuList since it no longer takes a RenderStyle.
        (WebCore::HTMLSelectElement::isKeyboardFocusable): ditto.
        (WebCore::HTMLSelectElement::isMouseFocusable): ditto.
        (WebCore::HTMLSelectElement::createRenderer): ditto.
        (WebCore::HTMLSelectElement::setRecalcListItems): ditto.
        (WebCore::HTMLSelectElement::reset): ditto.
        (WebCore::HTMLSelectElement::notifyOptionSelected): ditto.
        (WebCore::HTMLSelectElement::defaultEventHandler): ditto.

        * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList):
        This method no longer takes a RenderStyle.  That was leftover from when we used to use the appearance
        to determine whether or not to use the new menu list implementation.

        * rendering/DeprecatedRenderSelect.h: Removed PopupButton code path.
        * rendering/DeprecatedRenderSelect.cpp:
        (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
        (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
        (WebCore::DeprecatedRenderSelect::updateFromElement):
        (WebCore::DeprecatedRenderSelect::baselinePosition):
        (WebCore::DeprecatedRenderSelect::layout):
        (WebCore::DeprecatedRenderSelect::updateSelection):

        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
        Backed out previous fix since this is now done in HTMLSelectElement.

2006-07-11  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=9859
        REGRESSION: Can't dynamically change popup to list box

        Test: fast/forms/select-change-popup-to-listbox.html

        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement):
        If the select element has the multiple property set, or has a size > 1, then it
        really should be a list box, so we detach and attach the element so it creates the
        correct type of renderer.

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

        Reviewed by Beth Dakin and Tim Omernick

        - fixed <rdar://problem/4622794> HiDPI: dragging the selection in Safari can show pixel cracks 
        at non-integral scale factors

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::imageFromRect):
        round image rect in window coordinate space

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

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9811
          rdar://problem/4619572
          OPTION text contained in OPTGROUP appears at the wrong size

        * dom/Node.h:
        * dom/Node.cpp: (WebCore::Node::renderStyle): Made a const member function.
        The derived classes were overriding with const member functions, and I could
        change either this or the derived -- decided to do this.

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

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9810
          rdar://problem/4619534
          OPTGROUP label text is using the default font instead of Lucida Grande

        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::setFontFromControlSize):
        Code wants the family name, but was calling fontName, which is not the same thing.
        Also removed the unneeded conversion to DeprecatedString.

=== Safari-521.16 ===

2006-07-10  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9179
          Implement select.options.add() method

        Tests:
        - fast/dom/select-selectedIndex-multiple.html
        - fast/dom/select-selectedIndex.html
        - fast/js/select-options-add.html

        * DerivedSources.make: Added JSHTMLOptionsCollection.h.
        * ForwardingHeaders/kjs/operations.h: Added.
        * WebCore.xcodeproj/project.pbxproj: Added new source files.
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp: Added.
        (WebCore::JSHTMLOptionsCollection::length):
        (WebCore::JSHTMLOptionsCollection::setLength):
        (WebCore::JSHTMLOptionsCollection::indexSetter):
        * bindings/js/kjs_html.cpp: Removed JSHTMLOptionsCollection implementation.
        Renamed classes and methods for consistency.
        (KJS::JSHTMLElement::selectGetter):
        (KJS::JSHTMLElement::put):
        (KJS::JSHTMLElement::selectSetter):
        (KJS::JSHTMLCollection::JSHTMLCollection):
        (KJS::JSHTMLCollectionProtoFunc::callAsFunction):
        (KJS::getHTMLOptionsCollection):
        * bindings/js/kjs_html.h: Ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Added support for HasCustomIndexSetter class attribute.
        Added support for Optional parameter attribute, which makes generated code assume overloaded
        implementation methods are available for a JavaScript function with optional arguments.  Changed
        local 'impl' variables to 'imp' so that impl() methods could be called without class designation.
        * html/HTMLOptionElement.idl: Added GenerateNativeConverter attribute.
        * html/HTMLOptionsCollection.cpp: Added methods used by generated JSHTMLOptionsCollection class.
        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
        (WebCore::HTMLOptionsCollection::add):
        (WebCore::HTMLOptionsCollection::selectedIndex):
        (WebCore::HTMLOptionsCollection::setSelectedIndex):
        (WebCore::HTMLOptionsCollection::setLength):
        * html/HTMLOptionsCollection.h: Ditto.
        * html/HTMLOptionsCollection.idl: Added.

2006-07-10  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/4602408> -webkit-highlight needs to support images and elements other than text

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintCustomHighlight):
        * rendering/RenderBox.h:
        Utility for subclasses.
        
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        Custom highlight in front of images.
        
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        Custom highlight in front of list markers.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        Custom highlight in front of objects.

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

        <rdar://problem/4620557> REGRESSION: In a mail message, text isn't painted
        correctly after choosing Redo Typing

        Better fix for repainting issue with positioned objects when height
        changes.  Optimize when only a positioned child changes so that we don't
        incorrectly do normal flow layout.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

2006-07-10  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        - Fix for <rdar://problem/4621442> REGRESSION (NativePopup) : Popup menus aren't drawn correctly on page at orbitz.com; cheaptickets.com

        Test: fast/forms/select-style.html

        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
        Don't let popups be style-able for now.  We'll allow it later, when we
        have a good way to handle border & backgrounds and still having it look like a control.

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

        Reviewed by harrison
        
        <rdar://problem/4619260>
        9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
        <rdar://problem/4619841>
        REGRESSION: Dragging selection over input field results in a crash (WebCore::maxDeepOffset(WebCore::Node const*)

        * WebCore.xcodeproj/project.pbxproj:
        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent): Iterate using next/previousVisuallyDistinctCandidate 
        instead of traverseNext/Previous node because we were skipping positions.  Jump out of shadow trees.  
        Migrate to isEditablePosition instead of isContentEditable.
        

2006-07-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adele.

        Shuffling comments around from my last check-in to make things read 
        more clearly.

        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2006-07-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/4621095> The should be a way to 
        access the user interface scale factor through the DOM

        window.devicePixelRatio returns the user interface scale factor.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::devicePixelRatio):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2006-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey

        Resolved the console error messages people got from the new DB even if they didn't have it enabled

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::pruneUnreferencedIcons):
        (WebCore::IconDatabase::pruneUnretainedIcons):
        Added quick check to bail if the DB isn't open

2006-07-10  David Harrison  <harrison@apple.com>

        Reviewed by Tim Hatcher

        Partial fix for...
        <rdar://problem/4619260> 9A213 + Safari 521.15.1 Crash with To Do's alarm icon (WebCore::maxDeepOffset(WebCore::Node const*) )
        
        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent):
        Allow for node being 0.  This is a bandaid fix to prevent the crash.  It will still assert in a debug build.  See bug for more info.

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

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9808
          REGRESSION: Incorrect layout (and ERROR) when forcing ATSU For All Text

        * manual-tests/ATSU-bad-layout.html: Added.
        * platform/mac/FontMac.mm:
        (WebCore::Font::floatWidthForComplexText): Return 0 immediately for empty runs.

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

        - try to fix the no-SVG build

        * ksvg2/misc/SVGImageLoader.cpp: Move namespace brace inside the #if.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9833
          REGRESSION: Reproducible crash: RenderMenuList.cpp:58: failed assertion `!m_first'

        * manual-tests/empty-title-popup.html: Added.

        * rendering/RenderMenuList.h: Add createInnerBlock.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::createInnerBlock): Factored out of addChild.
        (WebCore::RenderMenuList::addChild): Call createInnerBlock.
        (WebCore::RenderMenuList::setText): Changed parameter type.
        (WebCore::RenderMenuList::showPopup): Call createInnerBlock before calling
        the parent class's addChild.

2006-07-10  Rob Buis  <buis@kde.org>

        Reviewed by Maciej via IRC.

        Make sure the attributes are calculated against viewport width value,
        as defined in the spec.  http://paste.lisp.org/display/22342

        * ksvg2/svg/SVGEllipseElement.cpp:
        (WebCore::SVGEllipseElement::rx): Changed LM_HEIGHT to LM_WIDTH.
        * ksvg2/svg/SVGLineElement.cpp:
        (SVGLineElement::x2): Ditto.

2006-07-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/4610314> Support the CSS3 content property 
        for images

        This patch provides initial support for the CSS3 content property. 
        It lacks support for any content other than images, and only allows 
        content for elements that seemed safe for now.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Remove restrictions for 
        just :before and :after
        * html/HTMLBRElement.cpp:
        (WebCore::HTMLBRElement::createRenderer):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::createRenderer):
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::createRenderer):
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::createRenderer):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::setCachedImage): Don't allow the image to be 
        set this way if it was already set with the content property.
        * rendering/RenderImage.h:
        (WebCore::RenderImage::setIsAnonymousImage): Anonymous images are 
        those set through the content property.
        (WebCore::RenderImage::isAnonymousImage):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::createObject): If there is content 
        specified, create a RenderImage with the content and initialize the 
        cached image to whatever was specified in the CSS.

2006-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by NOBODY (Build Fix!)

        * icon/SiteIcon.cpp:
        (SiteIcon::getImage):
        Release build made an "unused variable" warning, which is, of course, an error.  fixed that.

2006-07-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        SQLite Icon DB now fully replicates functionality of the old DB, including pruning to keep unused
        information out to keep down disk usage.  For now, it is still off by default, as the critical
        feature of importing old icons into the new DB is still unrealized.
        If you'd like to test, add #define ICONDEBUG to your WebKitPrefix.h

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open):
          -Sets up a timer for initial pruning
        (WebCore::IconDatabase::iconForPageURL):
          -Switched away from "dirty blob hack" as the problem is provisionally solved
        (WebCore::IconDatabase::retainIconForURL):
        (WebCore::IconDatabase::releaseIconForURL):
          -Same as found in WebKit
        (WebCore::IconDatabase::totalRetainCountForIconURL):
          -Adds up all retainers of icon
        (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
          -Wipes an Icon table entry out
        (WebCore::IconDatabase::establishTemporaryIconIDForIconURL):
        (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
        (WebCore::IconDatabase::establishIconIDForIconURL):
        (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
          -Added ability to get an iconID without creating a new one if a lookup is all
           that is genuinely wanted
        (WebCore::IconDatabase::pruneUnreferencedIcons):
        (WebCore::IconDatabase::pruneUnretainedIcons):
          -Called on a timer on DB startup to clean it out
        * icon/IconDatabase.h:
        * icon/SiteIcon.cpp:
        (SiteIcon::SiteIcon):
        (SiteIcon::~SiteIcon):
          -Deletes the image on deletion
        (SiteIcon::getImage):
          -Cut down on no-longer-necessary debug info

2006-07-10  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=9245
        Quirksmode: Incorrect handling of disabled BUTTON elements

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::defaultEventHandler):
        Don't call prepareSubmit if the element is disabled.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        Don't call prepareSubmit if the element is disabled.

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

        - try to fix Windows build

        * platform/win/TemporaryLinkStubs.cpp: Put a few functions in the WebCore namespace.
        * platform/gdk/TemporaryLinkStubs.cpp: Ditto.

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

        Reviewed by Geoff.

        - fix failures seen in layout tests

        * bindings/js/kjs_dom.cpp: (KJS::toJS): Restore one of the few WebCore:: prefixes
        that really needed to be there -- because we have two classes named JSHTMLDocument
        at the moment! (One in KJS and one in WebCore namespace.)

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

        - try to fix Windows build

        * rendering/RenderLayer.h: Correct a forward declaration of ScrollBar.

2006-07-09  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/4463835> Switch to use new popup menu implementation for <select>

        * css/html4.css: Added style for new selects, and for list boxes.
        * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Removed check for appearance so new popups can be styled.
   
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::setStyle): Removed padding.  This is now set by the theme.
        (WebCore::RenderMenuList::calcMinMaxWidth): Now takes minimum text size into account.
        * rendering/RenderMenuList.h: Removed baselinePosition since we're letting the theme calculate that.

        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlContainer): Added menuList as a ControlContainer, 
        so RenderThemeMac will compute its baseline.
        * rendering/RenderTheme.h: (WebCore::RenderTheme::minimumTextSize): Added.
        * rendering/RenderThemeMac.h: Added minimumTextSize, setPopupPaddingFromControlSize, popupButtonSizes, popupButtonMargins, popupButtonPadding.
        Removed sizeOfArrowControl. 
        * rendering/RenderThemeMac.mm:
        (WebCore::): Added enum for padding.
        (WebCore::RenderThemeMac::adjustRepaintRect): Now inflates rect to account for control shadow.
        (WebCore::RenderThemeMac::baselinePosition): Now calculates baseline for menulist.
        (WebCore::RenderThemeMac::popupButtonMargins): Tweaked values.
        (WebCore::RenderThemeMac::popupButtonSizes): Added.
        (WebCore::RenderThemeMac::popupButtonPadding): Added, so different padding can be set for different control sizes.
        (WebCore::RenderThemeMac::setPopupPaddingFromControlSize): Added.
        (WebCore::RenderThemeMac::paintMenuList): Now inflates rect to account for control shadow.
        (WebCore::RenderThemeMac::adjustMenuListStyle): Resets border, sets padding, sets control size.
        (WebCore::RenderThemeMac::setPopupButtonCellState): Removed unnecessary class name.
        (WebCore::RenderThemeMac::minimumTextSize): Added.

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

        - add back "unused code" for plain text fields, still used by <isindex>!

        * platform/TextField.h:
        * platform/mac/TextFieldMac.mm:
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextField.mm:
        * rendering/RenderLineEdit.cpp:

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

        Reviewed by Tim Hatcher.

        - put more into the WebCore namespace
        - removed unused code for plain text fields

        Put more classes, class templates, enums, functions, and constants into
        the WebCore namespace, including all the headers in the platform directory.

        Removed lots of unneeded "WebCore::" qualifiers and "using" directives.

        Added some "WebCore::" qualifiers in a few places.

        Removed "uses WebCore::" in headers that we said we'd remove "when
        everything is in the WebCore namespace".

        * bindings/js/JSDOMParser.cpp:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        * bindings/js/JSXSLTProcessor.cpp:
        * bindings/js/kjs_binding.cpp:
        * bindings/js/kjs_css.cpp:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_dom.h:
        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_proxy.h:
        * bindings/js/kjs_window.h:
        * bindings/objc/DOM.mm:
        * bridge/History.h:
        * bridge/JavaAppletWidget.h:
        * bridge/mac/FormDataMac.h:
        * bridge/mac/FormDataMac.mm:
        * bridge/mac/WebCoreAXObject.mm:
        * bridge/mac/WebCoreEncodings.mm:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        * bridge/mac/WebCorePageState.h:
        * bridge/mac/WebCoreScriptDebugger.mm:
        * bridge/mac/WebCoreSettings.h:
        * css/CSSGrammar.y:
        * css/CSSPageRule.cpp:
        * css/CSSPageRule.h:
        * css/MediaList.cpp:
        * css/cssstyleselector.h:
        * dom/Clipboard.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/EventTargetNode.h:
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/Position.h:
        * dom/Range.cpp:
        * dom/XMLTokenizer.cpp:
        * editing/AppendNodeCommand.h:
        * editing/ApplyStyleCommand.cpp:
        * editing/BreakBlockquoteCommand.cpp:
        * editing/BreakBlockquoteCommand.h:
        * editing/CompositeEditCommand.cpp:
        * editing/CompositeEditCommand.h:
        * editing/CreateLinkCommand.h:
        * editing/DeleteFromTextNodeCommand.h:
        * editing/DeleteSelectionCommand.h:
        * editing/FormatBlockCommand.h:
        * editing/HTMLInterchange.cpp:
        * editing/HTMLInterchange.h:
        * editing/IndentOutdentCommand.h:
        * editing/InsertIntoTextNodeCommand.h:
        * editing/InsertLineBreakCommand.h:
        * editing/InsertListCommand.h:
        * editing/InsertNodeBeforeCommand.h:
        * editing/InsertTextCommand.cpp:
        * editing/InsertTextCommand.h:
        * editing/JSEditor.cpp:
        * editing/JSEditor.h:
        * editing/JoinTextNodesCommand.h:
        * editing/MergeIdenticalElementsCommand.cpp:
        * editing/MergeIdenticalElementsCommand.h:
        * editing/ModifySelectionListLevel.h:
        * editing/MoveSelectionCommand.h:
        * editing/RebalanceWhitespaceCommand.h:
        * editing/RemoveNodeAttributeCommand.h:
        * editing/RemoveNodeCommand.h:
        * editing/RemoveNodePreservingChildrenCommand.h:
        * editing/ReplaceSelectionCommand.h:
        * editing/SetNodeAttributeCommand.h:
        * editing/SplitElementCommand.cpp:
        * editing/SplitElementCommand.h:
        * editing/SplitTextNodeCommand.cpp:
        * editing/SplitTextNodeCommand.h:
        * editing/SplitTextNodeContainingElementCommand.h:
        * editing/TypingCommand.cpp:
        * editing/TypingCommand.h:
        * editing/UnlinkCommand.h:
        * editing/VisiblePosition.cpp:
        * editing/WrapContentsInDummySpanCommand.cpp:
        * editing/WrapContentsInDummySpanCommand.h:
        * editing/markup.cpp:
        * editing/markup.h:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLBodyElement.cpp:
        * html/HTMLButtonElement.h:
        * html/HTMLCollection.h:
        * html/HTMLDocument.h:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLFormElement.h:
        * html/HTMLFrameElement.cpp:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLKeygenElement.cpp:
        * html/HTMLLabelElement.cpp:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLTableElement.cpp:
        * html/HTMLTablePartElement.cpp:
        * icon/IconDatabase.h:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/KCanvasTreeDebug.h:
        * kcanvas/RenderSVGContainer.cpp:
        * kcanvas/RenderSVGText.h:
        * kcanvas/device/KRenderingPaintServer.h:
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * ksvg2/misc/SVGImageLoader.cpp:
        * ksvg2/svg/SVGElement.cpp:
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGPoint.h:
        * ksvg2/svg/SVGStylable.h:
        * ksvg2/svg/SVGTRefElement.cpp:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTSpanElement.cpp:
        * ksvg2/svg/SVGTSpanElement.h:
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/svgpathparser.cpp:
        * ksvg2/svg/svgpathparser.h:
        * loader/Cache.h:
        * loader/DocLoader.h:
        * loader/LoaderFunctions.h:
        * loader/mac/LoaderFunctionsMac.mm:
        * page/Frame.h:
        * page/FrameView.h:
        * page/Page.h:
        * page/Settings.h:
        * platform/AffineTransform.cpp:
        * platform/AffineTransform.h:
        * platform/Arena.cpp:
        * platform/Arena.h:
        * platform/CookieJar.h:
        * platform/DeprecatedCString.cpp:
        * platform/DeprecatedCString.h:
        * platform/DeprecatedPtrList.h:
        * platform/DeprecatedPtrListImpl.cpp:
        * platform/DeprecatedPtrListImpl.h:
        * platform/DeprecatedPtrQueue.h:
        * platform/DeprecatedString.cpp:
        * platform/DeprecatedString.h:
        * platform/DeprecatedStringList.cpp:
        * platform/DeprecatedStringList.h:
        * platform/DeprecatedValueList.h:
        * platform/DeprecatedValueListImpl.cpp:
        * platform/DeprecatedValueListImpl.h:
        * platform/FileButton.h:
        * platform/FloatPoint.h:
        * platform/FloatRect.h:
        * platform/FloatSize.h:
        * platform/FontData.h:
        * platform/FontFallbackList.h:
        * platform/GraphicsContext.h:
        * platform/IntPoint.h:
        * platform/IntRect.h:
        * platform/IntSize.h:
        * platform/KURL.cpp:
        * platform/KURL.h:
        * platform/ListBox.h:
        * platform/Logging.cpp:
        * platform/Logging.h:
        * platform/Pen.h:
        * platform/PopUpButton.h:
        * platform/RegularExpression.cpp:
        * platform/RegularExpression.h:
        * platform/SSLKeyGenerator.h:
        * platform/ScrollBar.h:
        * platform/SegmentedString.h:
        * platform/Shared.h:
        * platform/Slider.h:
        * platform/StringImpl.h:
        * platform/TextBox.h:
        * platform/TextField.h:
        * platform/TextStream.cpp:
        * platform/TextStream.h:
        * platform/TransferJob.h:
        * platform/TransferJobClient.h:
        * platform/Widget.h:
        * platform/cg/AffineTransformCG.cpp:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        * platform/mac/DeprecatedStringListMac.mm:
        * platform/mac/FontCacheMac.mm:
        * platform/mac/KURLMac.mm:
        * platform/mac/ListBoxMac.mm:
        * platform/mac/PopUpButtonMac.mm:
        * platform/mac/SSLKeyGeneratorMac.mm:
        * platform/mac/TextBoxMac.mm:
        * platform/mac/TextFieldMac.mm:
        * platform/mac/WebCoreTextArea.h:
        * platform/mac/WebCoreTextArea.mm:
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextField.mm:
        * rendering/DeprecatedRenderSelect.h:
        * rendering/RenderArena.cpp:
        * rendering/RenderArena.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderContainer.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderFlow.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLineEdit.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        * rendering/RenderText.cpp:
        * rendering/RenderTextFragment.cpp:
        * rendering/RenderTheme.h:
        * rendering/RenderTreeAsText.cpp:
        * rendering/RenderTreeAsText.h:
        * rendering/RenderView.h:
        * rendering/bidi.h:
        * xml/XSLStyleSheet.cpp:
        * xml/XSLTProcessor.cpp:

2006-07-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::clear): Garbage collect after reinitalizing the global
        object, not before, since the reinitialization tends to create garbage.

2006-07-09  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        Bug 9820: Move new DOM API that has been through API review to public headers
        http://bugs.webkit.org/show_bug.cgi?id=9820

        * bindings/objc/DOM.mm:
        (-[DOMElement focus]):
        (-[DOMElement blur]):
        (-[DOMRange text]):
        (-[DOMRange _text]):
        * bindings/objc/DOMCSS.mm:
        (-[DOMRGBColor color]):
        (-[DOMRGBColor _color]):
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMExtensions.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement titleDisplayString]):
        (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
        (-[DOMHTMLDocument createDocumentFragmentWithText:]):
        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
        (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMXPath.h:
        * bindings/objc/DOMXPath.mm:

2006-07-09  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=9749 A 
        nested content editable div causes unnecessary screen redraws.
        
        We were repainting too much because we were deciding that we needed 
        a full layout because we didn't have a first line box. Our code 
        used to hold a lot of assumptions that positioned elements would 
        always have line boxes, but I fixed a few bugs a while back that 
        appeared because this assumption isn't true. This assumption was 
        also causing the extra redraws because the check meant that we 
        would decide to do a full layout for any positioned element that 
        did not have any line boxes in the first place. Maciej and I talked 
        about this, and we couldn't figure out why the check for line boxes 
        was part of determining if we need a full layout in the first 
        place. After hunting around the code, we decided to assume that 
        this check is antiquated. Removing it fixes the bug and doesn't 
        seem to break any layout tests. So, fingers crossed!

        Will add layout test so soon.

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

2006-07-09  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4598149> Deleting the contents of a DOMRange and then inserting a node into it crashes in WebCore::Font::canUseGlyphCache

        Test: fast/dom/delete-contents.html
        
        * dom/Range.cpp:
        (WebCore::Range::processContents):

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

        - another round of renaming; and KWQ is dead

        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove paths for kwq and khtml directories.
        Move files to their new locations. Did rename.
        * WebCore.xcodeproj/project.pbxproj: Move files to their new locations. Did rename.
        * WebCoreSources.bkl: Did rename.
        * webcore-base.bkl: Removed kwq.

        * kwq/AccessibilityObjectCache.h: Removed.
        * kwq/AccessibilityObjectCache.mm: Removed.
        * kwq/FormDataMac.h: Removed.
        * kwq/FormDataMac.mm: Removed.
        * kwq/WebCoreAXObject.h: Removed.
        * kwq/WebCoreAXObject.mm: Removed.
        * kwq/WebCoreEditCommand.h: Removed.
        * kwq/WebCoreEditCommand.mm: Removed.
        * kwq/WebCorePageState.h: Removed.
        * kwq/WebCorePageState.mm: Removed.
        * kwq/WebCoreResourceLoaderImp.h: Removed.
        * kwq/WebCoreResourceLoaderImp.mm: Removed.

        * bridge/AXObjectCache.h: Added.
        * bridge/mac/AXObjectCacheMac.mm: Added.
        * bridge/mac/WebCoreAXObject.h: Added.
        * bridge/mac/WebCoreAXObject.mm: Added.

        * loader/CachedObject.cpp: Removed.
        * loader/CachedObject.h: Removed.
        * loader/CachedObjectClient.h: Removed.
        * loader/CachedObjectClientWalker.cpp: Removed.
        * loader/CachedObjectClientWalker.h: Removed.

        * loader/CachedResource.cpp: Added.
        * loader/CachedResource.h: Added.
        * loader/CachedResourceClient.h: Added.
        * loader/CachedResourceClientWalker.cpp: Added.
        * loader/CachedResourceClientWalker.h: Added.

        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * css/CSSImageValue.h:
        * css/CSSImportRule.h:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/Notation.h:
        * dom/ProcessingInstruction.h:
        * dom/XMLTokenizer.cpp:
        * html/CanvasPattern.h:
        * html/HTMLDocument.h:
        * html/HTMLImageLoader.cpp:
        * html/HTMLImageLoader.h:
        * html/HTMLLinkElement.h:
        * html/HTMLScriptElement.cpp:
        * html/HTMLScriptElement.h:
        * html/HTMLTokenizer.cpp:
        * html/HTMLTokenizer.h:
        * kcanvas/KCanvasFilters.h:
        * ksvg2/svg/SVGCursorElement.cpp:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGFEImageElement.cpp:
        * ksvg2/svg/SVGFEImageElement.h:
        * loader/Cache.cpp:
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        * loader/CachedImage.h:
        * loader/CachedScript.cpp:
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:
        * loader/LoaderFunctions.h:
        * loader/Request.cpp:
        * loader/Request.h:
        * loader/loader.cpp:
        * loader/loader.h:
        * loader/mac/LoaderFunctionsMac.mm:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/mac/ClipboardMac.h:
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderContainer.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderImage.h:
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        * xml/XSLImportRule.h:
        Did renaming.

        * platform/mac/can-convert.mm: Removed.

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

        Reviewed by Tim O.

        * WebCore.exp:
        Add wkPathFromFont.
        
        * platform/mac/FontDataMac.mm:
        (-[NSFont WebCore]):
        Use wkPathFromFont.
        
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Declare wkPathFromFont.

2006-07-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Set the stage to remove the workaround for the SQLite BLOB corruption.  A few other small cleanups, and
        preparation for pruning unreferenced and unretained icons.

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::recreateDatabase):  Added another trigger to assist in icon removal
        (WebCore::IconDatabase::deletePrivateTables):  Cleaned up logging messages
        (WebCore::IconDatabase::imageDataForIconID):  #ifdefed the blobbing hack for impending removal, use the real blob by default
        (WebCore::IconDatabase::imageDataForIconURL):  same
        (WebCore::IconDatabase::imageDataForPageURL):  same
        (WebCore::IconDatabase::pruneUnreferencedIcons):  Will delete any icons and their data that are not referenced
          by any PageURL
        * icon/IconDatabase.h:

        * icon/SQLDatabase.h:  Changed BlobAsVector to be unsigned char as thats the most reasonable type for
          a byte-buffer, and is what CFData expects
        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::getColumnBlobAsVector):

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

        - move all but the last 12 files out of kwq directory
        - removed a few unused source files I discovered

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

        * bridge/mac/FrameMac.mm:
        * dom/Element.h:
        * html/HTMLImageLoader.cpp:
        * loader/Cache.cpp:
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        * loader/CachedImage.h:
        * loader/CachedObject.h:
        * loader/CachedScript.cpp:
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        * loader/CachedXSLStyleSheet.h:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FramePrivate.h:
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/DeprecatedSlider.cpp:
        * rendering/RenderObject.h:
        * xml/xmlhttprequest.cpp:
        Updated includes as needed for file location changes. Changed
        CachePolicy uses to match new filename and enum names.

        * loader/CachedResource.cpp: Removed.
        * loader/CachedResource.h: Removed.
        * loader/CachedResourceClient.h: Removed.
        * loader/CachedResourceClientWalker.cpp: Removed.
        * loader/CachedResourceClientWalker.h: Removed.
        The above files were checked in by accident a while back. The rename of
        CachedObject to CachedResource is now reflected in do-webcore-rename,
        and will be done soon.

        * kwq/AffineTransform.cpp: Removed.
        * kwq/AffineTransform.h: Removed.
        * kwq/CacheControl.h: Removed.
        * kwq/DeprecatedPtrQueue.h: Removed.
        * kwq/FileButton.h: Removed.
        * kwq/FileButton.mm: Removed.
        * kwq/ListBox.h: Removed.
        * kwq/ListBox.mm: Removed.
        * kwq/LoaderFunctions.h: Removed.
        * kwq/LoaderFunctions.mm: Removed.
        * kwq/PopUpButton.h: Removed.
        * kwq/PopUpButton.mm: Removed.
        * kwq/SSLKeyGenerator.h: Removed.
        * kwq/SSLKeyGenerator.mm: Removed.
        * kwq/Settings.h: Removed.
        * kwq/TextBox.h: Removed.
        * kwq/TextBox.mm: Removed.
        * kwq/TextField.h: Removed.
        * kwq/TextField.mm: Removed.
        * kwq/WebCoreScrollBar.h: Removed.
        * kwq/WebCoreScrollBar.mm: Removed.
        * kwq/WebCoreSlider.h: Removed.
        * kwq/WebCoreSlider.mm: Removed.

        * loader/CachePolicy.h: Added.
        * loader/LoaderFunctions.h: Added.

        * loader/mac/LoaderFunctionsMac.mm: Added.

        * page/Settings.h: Added.

        * platform/AffineTransform.cpp: Added.
        * platform/AffineTransform.h: Added.
        * platform/DeprecatedPtrQueue.h: Added.
        * platform/FileButton.h: Added.
        * platform/ListBox.h: Added.
        * platform/PopUpButton.h: Added.
        * platform/SSLKeyGenerator.h: Added.
        * platform/ScrollBar.h: Added.
        * platform/Slider.h: Added.
        * platform/TextBox.h: Added.
        * platform/TextField.h: Added.

        * platform/cg/AffineTransformCG.cpp: Added.

        * platform/mac/FileButtonMac.mm: Added.
        * platform/mac/ListBoxMac.mm: Added.
        * platform/mac/PopUpButtonMac.mm: Added.
        * platform/mac/SSLKeyGeneratorMac.mm: Added.
        * platform/mac/ScrollBarMac.mm: Added.
        * platform/mac/ScrollBarMac.mm: Added.
        * platform/mac/SliderMac.mm: Added.
        * platform/mac/SliderMac.mm: Added.
        * platform/mac/TextBoxMac.mm: Added.
        * platform/mac/TextFieldMac.mm: Added.

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

        - move 4 files out of kwq directory
        - make some minor project adjustments for the WebCore project

        * WebCore.xcodeproj/project.pbxproj: Link libsqlite3 the same way we do other
        libraries, rather than using a custom linker option. Moved the files from their
        old locations to the new ones. Removed "khtml" from the list of header search
        paths since that directory doesn't exist any more. Eliminated STYLE_LDFLAGS
        and just put -umbrella WebKit in OTHER_LDFLAGS in the Production configuration
        (was a leftover from "build styles" in Xcode 1). Changed to use EXPORTED_SYMBOLS_FILE
        instead of using -exported_symbols_list directly again now that Xcode has fixed the
        "strip twice" bug. Removed unneeded explicit SECTORDER_FLAGS = "" settings.
        Removed the explicit -Y,3 option now that Xcode does that by default.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed some obsolete uneeded files,
        many of which didn't exist any more. Moved the files from their old locations
        to the new ones.

        * WebCoreSources.bkl: Moved the files from their old locations to the new ones.

        * kwq/DeprecatedCString.cpp: Removed.
        * kwq/DeprecatedCString.h: Removed.
        * kwq/TextStream.cpp: Removed.
        * kwq/TextStream.h: Removed.
        * platform/DeprecatedCString.cpp: Added.
        * platform/DeprecatedCString.h: Added.
        * platform/TextStream.cpp: Added.
        * platform/TextStream.h: Added.

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

        Rubber stamped by Maciej (kinda).

        - did the next pass of renaming (used do-webcore-rename script)
          this takes care of most of the remaining KWQ names (almost all)

        * WebCore+SVG/DOMList.h:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_window.cpp:
        * bindings/objc/DOMHTML.mm:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * bridge/mac/WebCoreSettings.h:
        * bridge/mac/WebCoreSettings.mm:
        * bridge/win/FrameWin.cpp:
        * css/CSSPrimitiveValue.cpp:
        * css/CSSValueKeywords.in:
        * css/MediaQueryEvaluator.cpp:
        * css/cssparser.cpp:
        * css/cssstyleselector.cpp:
        * css/cssstyleselector.h:
        * dom/CharacterData.cpp:
        * dom/CharacterData.h:
        * dom/Document.cpp:
        * dom/Element.cpp:
        * dom/Element.h:
        * dom/EventTargetNode.cpp:
        * dom/EventTargetNode.h:
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/Position.cpp:
        * dom/ProcessingInstruction.cpp:
        * dom/QualifiedName.cpp:
        * dom/QualifiedName.h:
        * dom/XMLTokenizer.cpp: Added.
        * dom/xml_tokenizer.cpp: Removed.
        * dom/xml_tokenizer.h: Removed.
        * editing/EditAction.h:
        * editing/HTMLInterchange.cpp:
        * editing/HTMLInterchange.h:
        * editing/Selection.h:
        * editing/SelectionController.h:
        * editing/TextAffinity.h:
        * editing/TextIterator.cpp:
        * editing/TextIterator.h:
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        * editing/markup.cpp:
        * editing/markup.h:
        * editing/visible_units.cpp:
        * editing/visible_units.h:
        * html/HTMLDocument.cpp:
        * html/HTMLFontElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLKeygenElement.cpp:
        * html/HTMLSelectElement.h:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextFieldInnerElement.cpp:
        * html/HTMLTokenizer.cpp:
        * html/HTMLTokenizer.h:
        * kcanvas/KCanvasContainer.cpp: Removed.
        * kcanvas/KCanvasContainer.h: Removed.
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasMatrix.cpp:
        * kcanvas/KCanvasMatrix.h:
        * kcanvas/KCanvasPath.cpp:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/KCanvasTreeDebug.h:
        * kcanvas/RenderForeignObject.cpp:
        * kcanvas/RenderForeignObject.h:
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderPath.h:
        * kcanvas/RenderSVGContainer.cpp: Added.
        * kcanvas/RenderSVGContainer.h: Added.
        * kcanvas/RenderSVGImage.cpp:
        * kcanvas/RenderSVGImage.h:
        * kcanvas/RenderSVGText.cpp:
        * kcanvas/RenderSVGText.h:
        * kcanvas/device/KRenderingPaintServer.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        * ksvg2/css/CSSValueKeywords.in:
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/svg/SVGAElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGGElement.cpp:
        * ksvg2/svg/SVGHelper.cpp:
        * ksvg2/svg/SVGHelper.h:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGLinearGradientElement.cpp:
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGMatrix.cpp:
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        * ksvg2/svg/SVGRadialGradientElement.cpp:
        * ksvg2/svg/SVGSVGElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.cpp:
        * ksvg2/svg/SVGTextElement.cpp:
        * ksvg2/svg/SVGTransformable.h:
        * ksvg2/svg/SVGUseElement.cpp:
        * kwq/AffineTransform.cpp: Added.
        * kwq/AffineTransform.h: Added.
        * kwq/DeprecatedCString.cpp: Added.
        * kwq/DeprecatedCString.h: Added.
        * kwq/DeprecatedPtrQueue.h: Added.
        * kwq/FileButton.h: Added.
        * kwq/FileButton.mm: Added.
        * kwq/FormDataMac.mm: Added.
        * kwq/KWQCString.cpp: Removed.
        * kwq/KWQCString.h: Removed.
        * kwq/KWQComboBox.h: Removed.
        * kwq/KWQComboBox.mm: Removed.
        * kwq/KWQEditCommand.h: Removed.
        * kwq/KWQEditCommand.mm: Removed.
        * kwq/KWQFileButton.h: Removed.
        * kwq/KWQFileButton.mm: Removed.
        * kwq/KWQFormData.h: Removed.
        * kwq/KWQFormData.mm: Removed.
        * kwq/KWQKHTMLSettings.h: Removed.
        * kwq/KWQKIOGlobal.h: Removed.
        * kwq/KWQKSSLKeyGen.h: Removed.
        * kwq/KWQKSSLKeyGen.mm: Removed.
        * kwq/KWQLineEdit.h: Removed.
        * kwq/KWQLineEdit.mm: Removed.
        * kwq/KWQListBox.h: Removed.
        * kwq/KWQListBox.mm: Removed.
        * kwq/KWQLoader.h: Removed.
        * kwq/KWQLoader.mm: Removed.
        * kwq/KWQPageState.h: Removed.
        * kwq/KWQPageState.mm: Removed.
        * kwq/KWQPtrQueue.h: Removed.
        * kwq/KWQResourceLoader.h: Removed.
        * kwq/KWQResourceLoader.mm: Removed.
        * kwq/KWQScrollBar.h: Removed.
        * kwq/KWQScrollBar.mm: Removed.
        * kwq/KWQSlider.h: Removed.
        * kwq/KWQSlider.mm: Removed.
        * kwq/KWQTextEdit.h: Removed.
        * kwq/KWQTextEdit.mm: Removed.
        * kwq/KWQTextStream.cpp: Removed.
        * kwq/KWQTextStream.h: Removed.
        * kwq/KWQWMatrix.cpp: Removed.
        * kwq/KWQWMatrix.h: Removed.
        * kwq/ListBox.h: Added.
        * kwq/ListBox.mm: Added.
        * kwq/LoaderFunctions.h: Added.
        * kwq/LoaderFunctions.mm: Added.
        * kwq/PopUpButton.h: Added.
        * kwq/PopUpButton.mm: Added.
        * kwq/SSLKeyGenerator.h: Added.
        * kwq/SSLKeyGenerator.mm: Added.
        * kwq/Settings.h: Added.
        * kwq/TextBox.h: Added.
        * kwq/TextBox.mm: Added.
        * kwq/TextField.h: Added.
        * kwq/TextField.mm: Added.
        * kwq/TextStream.cpp: Added.
        * kwq/TextStream.h: Added.
        * kwq/WebCoreEditCommand.h: Added.
        * kwq/WebCoreEditCommand.mm: Added.
        * kwq/WebCorePageState.h: Added.
        * kwq/WebCorePageState.mm: Added.
        * kwq/WebCoreResourceLoaderImp.h: Added.
        * kwq/WebCoreResourceLoaderImp.mm: Added.
        * kwq/WebCoreScrollBar.h: Added.
        * kwq/WebCoreScrollBar.mm: Added.
        * kwq/WebCoreSlider.h: Added.
        * kwq/WebCoreSlider.mm: Added.
        * loader/Cache.h:
        * loader/CachedCSSStyleSheet.cpp:
        * loader/CachedImage.cpp:
        * loader/CachedObject.h:
        * loader/CachedObjectClientWalker.h:
        * loader/CachedResource.h:
        * loader/CachedResourceClientWalker.h:
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.h:
        * loader/Decoder.h:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:
        * loader/FormData.h:
        * loader/ImageDocument.cpp:
        * loader/PluginDocument.cpp:
        * loader/TextDocument.cpp:
        * loader/loader.cpp:
        * loader/loader.h:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/Page.cpp:
        * page/Page.h:
        * platform/DeprecatedPtrList.h:
        * platform/DeprecatedPtrListImpl.cpp:
        * platform/DeprecatedPtrListImpl.h:
        * platform/DeprecatedString.cpp:
        * platform/DeprecatedString.h:
        * platform/DeprecatedStringList.cpp:
        * platform/DeprecatedStringList.h:
        * platform/DeprecatedValueList.h:
        * platform/DeprecatedValueListImpl.cpp:
        * platform/DeprecatedValueListImpl.h:
        * platform/FloatSize.h:
        * platform/Font.cpp:
        * platform/KURL.cpp:
        * platform/RegularExpression.cpp:
        * platform/RegularExpression.h:
        * platform/SegmentedString.h:
        * platform/StreamingTextDecoder.cpp:
        * platform/String.cpp:
        * platform/StringImpl.cpp:
        * platform/TextEncoding.cpp:
        * platform/TransferJob.cpp:
        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/mac/ClipboardMac.h:
        * platform/mac/ClipboardMac.mm:
        * platform/mac/CursorMac.mm:
        * platform/mac/DeprecatedStringMac.mm: Added.
        * platform/mac/FontCacheMac.mm:
        * platform/mac/FontMac.mm:
        * platform/mac/FoundationExtras.h:
        * platform/mac/ImageMac.mm:
        * platform/mac/KURLMac.mm:
        * platform/mac/MouseEventMac.mm: Removed.
        * platform/mac/QStringListMac.mm: Removed.
        * platform/mac/QStringMac.mm: Removed.
        * platform/mac/TransferJobMac.mm:
        * platform/mac/WebCoreTextArea.h:
        * platform/mac/WebCoreTextArea.mm:
        * platform/mac/WebCoreTextField.h:
        * platform/mac/WebCoreTextField.mm:
        * platform/mac/WidgetMac.mm:
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/DataRef.h:
        * rendering/DeprecatedRenderSelect.cpp:
        * rendering/DeprecatedRenderSelect.h:
        * rendering/DeprecatedSlider.cpp:
        * rendering/InlineFlowBox.cpp:
        * rendering/RenderApplet.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderContainer.cpp:
        * rendering/RenderFileButton.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderFlow.cpp:
        * rendering/RenderFormElement.cpp:
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderFrameSet.h:
        * rendering/RenderImage.cpp:
        * rendering/RenderInline.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderLineEdit.cpp:
        * rendering/RenderListItem.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderPartObject.cpp:
        * rendering/RenderReplaced.cpp:
        * rendering/RenderStyle.cpp: Added.
        * rendering/RenderStyle.h: Added.
        * rendering/RenderTable.cpp:
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        * rendering/RenderTextArea.cpp:
        * rendering/RenderTextControl.cpp: Added.
        * rendering/RenderTextControl.h: Added.
        * rendering/RenderTextField.cpp: Removed.
        * rendering/RenderTextField.h: Removed.
        * rendering/RenderTheme.cpp:
        * rendering/RenderThemeMac.mm:
        * rendering/RenderTreeAsText.cpp:
        * rendering/RenderTreeAsText.h:
        * rendering/RenderView.cpp:
        * rendering/RenderWidget.cpp:
        * rendering/bidi.cpp:
        * rendering/render_style.cpp: Removed.
        * rendering/render_style.h: Removed.
        * xml/XSLStyleSheet.cpp:
        * xml/XSLTProcessor.cpp:
        * xml/xmlhttprequest.cpp:
        * xpath/impl/XPathParser.cpp:

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=8251
        navigator.platform incorrect in WebKit.app on Intel Macs

        For navigator.platform return "MacIntel" for Intel processors, "MacPPC"
        otherwise.

        * bindings/js/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):

2006-07-08  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        Bug 5312: comments aren't available via DOM
        http://bugs.webkit.org/show_bug.cgi?id=5312

        <rdar://problem/4564414> getting comments via DOM isn't working (5312)
        <rdar://problem/4545691> DOM_COMMENT node masking out real DOM elements

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): set m_documentElement to 0
        (WebCore::Document::childrenChanged): invalidate the document element we have cached in case it was replaced
        (WebCore::Document::documentElement): cache the first element as the document node if m_documentElement is 0
        * dom/Document.h: added m_documentElement
        * html/HTMLDocument.cpp: removed documentElement(), HTML documents just use Document's documentElement()
        * html/HTMLDocument.h: ditto
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError): make a new HTML node is the document's firstChild is NULL or
        the firstChild is not a HTML element (like a comment)
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseComment): removed the #ifdef to include comment nodes

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

        Reviewed by Darin, tweaked slightly and landed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9787
        fast/frames tests failing (bad pointer to owner element) under MallocScribble
        
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::close):
        Disconnect the owner element of our frame.
        
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        Don't call setFrame here.
        
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::detach):
        Disconnect the owner element of our frame.

        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::setFrameName):        
        New function.
        
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        Don't call setFrame.
        
        (WebCore::Frame::~Frame):
        Null out the owner element.
        
        (WebCore::Frame::requestObject):
        When an object creates a child frame, assign it a name so it can be
        accessed from HTMLPlugInElement.
        
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::RenderPart):
        (WebCore::RenderPart::~RenderPart):
        * rendering/RenderPart.h:
        Get rid of setFrame.

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

        Reviewed by Geoff.

        - better fix for http://bugs.webkit.org/show_bug.cgi?id=9622
          REGRESSION: showModalDialog returnValue ignored, function result is always "undefined"

        * bindings/js/kjs_window.cpp:
        (KJS::showModalDialog): Set the return value after returning from the function if the
        window is not cleared; this is a better way to handle the case where the window does
        not get cleared before returning, and handles some new cases created by slight changes
        in the latest Safari properly too.
        (KJS::Window::clear): Changed logic slightly so we always store the result of getDirect
        into the return value slot -- the old code left the storage untouched if it was 0.
        Also made it only overwrite the return value slot if it's 0.

        * bindings/js/kjs_proxy.h:
        * bindings/js/kjs_proxy.cpp:
        * bindings/js/kjs_window.h:
        * bindings/js/kjs_window.cpp:
        * page/Frame.cpp:
        Roll the previous fix out.

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

        - try to fix Windows build

        * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing source files.

=== Safari-521.15 ===

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

        Reviewed by levi
        
        Fix Mail ToDo crashers.

        * dom/Range.cpp:
        (WebCore::Range::compareBoundaryPoints): Added an ASSERT that both
        containers are non-null and an early return.
        * editing/Selection.cpp:
        (WebCore::Selection::validate): Fix a dangling start/end.
        (WebCore::Selection::adjustForEditableContent): Added an early return if
        m_start or m_end are null.
        (WebCore::Selection::isContentEditable): Use isRichlyEditablePosition.
        (WebCore::Selection::isContentRichlyEditable): Ditto.
        * editing/Selection.h:
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Use the new highestEditableRoot.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::highestEditableRoot): Takes in a position.
        (WebCore::isEditablePosition): Added.
        (WebCore::isRichlyEditablePosition): Added.
        (WebCore::rootEditableElement): Added.
        (WebCore::nextCandidate): Moved and split out from nextVisiblePosition.
        (WebCore::nextVisuallyDistinctCandidate): Ditto.
        (WebCore::previousCandidate): Moved and split out from previousVisiblePosition.
        (WebCore::previousVisuallyDistinctCandidate): Ditto.
        (WebCore::firstEditablePositionAfterPositionInRoot): Iterate over positions,
        using nextVisuallyDistinctCandidate, skipping atomic nodes that are non-editable.
        (WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::startOfWord): Added a FIXME.

2006-07-07  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        Allowed deletion typing commands to take in a granularity

        * bridge/mac/WebCoreFrameBridge.h: Pass granularity across the bridge
        * bridge/mac/WebCoreFrameBridge.mm: Ditto
        (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
        (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
        * editing/TypingCommand.cpp: Constructors take in a granularity
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * editing/TypingCommand.h: ditto
        * page/Frame.h: Fixed bug that shouldDeleteSelection wasn't virtual

2006-07-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders and Tim Hatcher

        Added an accessor to a SQLite config option to change its disk-syncing behavior.
        Used this accessor to significantly speed up writes to the Icon DB.

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):  Disable full syncing to the SQLite db to speed up writes to the icondb

        * icon/SQLDatabase.cpp:
        (SQLDatabase::setFullsync):
        (SQLDatabase::setSynchronous):
        * icon/SQLDatabase.h:
        (WebCore::SQLDatabase::):  Added accessor to the SQLite config pragma "synchronous"

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

        Reviewed by Maciej.

        - fixed a storage leak noticed by the buildbot

        * dom/Document.cpp: (WebCore::Document::removedLastRef):
        Call delete on the markers before clearing the map containing them.

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

        Reviewed by Brady.

        http://bugs.webkit.org/show_bug.cgi?id=9777
        Reproducible crash in Loading/Frames in ToT.
        
        The problem was that the renderpart destructor resets the frame's 
        owner element. For iframes, this should only be done when the element is 
        going to be removed from the document.
        
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::~HTMLIFrameElement):
        (WebCore::HTMLIFrameElement::willRemove):
        (WebCore::HTMLIFrameElement::removedFromDocument):
        (WebCore::HTMLIFrameElement::detach):        
        * html/HTMLIFrameElement.h:
        Remove the frame in willRemove instead.
        
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::RenderPart):
        (WebCore::RenderPart::~RenderPart):
        * rendering/RenderPart.h:
        Don't call setFrame(0) in the destructor when the element is an iframe element.

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

        Reviewed by Anders.

        - fixed a storage leak noticed by the buildbot

        * page/FrameView.cpp: (WebCore::FrameViewPrivate::~FrameViewPrivate):
        Delete m_scheduledEvents.

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

        Reviewed by Adele.

        - fixed a couple of storage leaks noticed by the buildbot

        * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
        Call deref on the style after calling setRenderStyle, since styleForRenderer
        returns us a "ref'd" RenderStyle object.
        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): Ditto.

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

        Reviewed by Adele.

        - fix some license mistakes

        * LICENSE-APPLE: Added more years of publication to the copyright here.

        * html/CanvasGradient.idl: Corrected license on this file. It had the wrong one.
        * html/CanvasPattern.idl: Ditto.
        * html/CanvasRenderingContext2D.idl: Ditto.
        * html/HTMLCanvasElement.idl: Ditto.

2006-07-06  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        Improved table editing: pressing delete directly before or after a table will now select
        the table first, then delete it, instead of just deleting it. Useful for when the table's
        existence is non-obvious.

        * bridge/mac/FrameMac.h: Added shouldDeleteSelection, which allows WebCore to trigger
        deletion editing deligates
        * bridge/mac/FrameMac.mm: ditto
        (WebCore::FrameMac::shouldDeleteSelection):
        * bridge/mac/WebCoreFrameBridge.h: ditto
        * editing/TypingCommand.cpp: Implemented check for a caret position next to a table, and
        subsequent selection (as opposed to removal)
        (WebCore::TypingCommand::deleteKeyPressed):
        (WebCore::TypingCommand::forwardDeleteKeyPressed):
        * page/Frame.cpp: shouldDeleteSelection added
        (WebCore::Frame::shouldDeleteSelection):
        * page/Frame.h: ditto

2006-07-07  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9768
          Split XSLImportRule out of XSLStyleSheet.* into separate 
          files (one class per file).

        * WebCore.xcodeproj/project.pbxproj:
        * xml/XSLImportRule.cpp: Added.
        (WebCore::XSLImportRule::XSLImportRule):
        (WebCore::XSLImportRule::parentStyleSheet):
        (WebCore::XSLImportRule::loadSheet):
        * xml/XSLImportRule.h: Added.
        * xml/XSLStyleSheet.cpp:
        * xml/XSLStyleSheet.h:

2006-07-07  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=8300
        REGRESSION: First mouse click is randomly ignored when clicking on checkbox and radio buttons
        
        * css/html4.css:
        Set "-webkit-user-select: ignore" on radio buttons and check boxes .
        
2006-07-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Tim Hatcher.

        - fix 20 Node leaks on fast/events tests - these should be the last ones

        * bindings/objc/DOMEvents.mm:
        (-[DOMEvent dealloc]): implement - deref the event!
        (-[DOMEvent finalize]): ditto

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

        Reviewed by Tim Hatcher.

        - fix 26 Node leaks on fast/dom tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): delete tokenizer - if we are still parsing at this point, we don't
        want nodes held by the parser to keep the document alive.
        * html/HTMLParser.cpp:
        (WebCore::RefNonDocNodePtr::RefNonDocNodePtr): Smart pointer that acts like RefPtr for Node,
        but avoids refing document nodes to avoid cycles.
        (WebCore::RefNonDocNodePtr::~RefNonDocNodePtr):
        (WebCore::RefNonDocNodePtr::get):
        (WebCore::RefNonDocNodePtr::operator*):
        (WebCore::RefNonDocNodePtr::operator->):
        (WebCore::RefNonDocNodePtr::operator!):
        (WebCore::RefNonDocNodePtr::operator UnspecifiedBoolType):
        (WebCore::RefNonDocNodePtr::operator=):
        (WebCore::operator==):
        (WebCore::operator!=):
        (WebCore::HTMLStackElem): Use a RefNonDocNodePtr instead of RefPtr<Node>
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Use a RefPtr here to avoid crashing

2006-07-06  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Fixed new popup control to open up when the spacebar and the up and down arrows are pressed.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=9762
        [Native pop up] Highlighted item text is black instead of white

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::isKeyboardFocusable): Added.
        (WebCore::HTMLSelectElement::isMouseFocusable): Added.
        (WebCore::HTMLSelectElement::defaultEventHandler): Updated to showPopup for up and down arrow keys and spacebar.
        * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::shouldUseMenuList): Made this const.
        * rendering/RenderPopupMenu.cpp: (WebCore::RenderPopupMenu::populate): Added FIXME.
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::showPopup): Updated to save the NSEvent that triggers the popup, so we can send
        fake mouseUp and keyUp events when the NSMenu returns.
        (WebCore::RenderPopupMenuMac::addGroupLabel): Only set the NSForegroundColorAttributeName attribute if the text isn't black.
        Follow-up bug about other colors: http://bugs.webkit.org/show_bug.cgi?id=9769
        (WebCore::RenderPopupMenuMac::addOption): ditto.
        * bridge/mac/FrameMac.h: (WebCore::FrameMac::currentEvent): Returns the current NSEvent.

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

        Reviewed by levi
        
        <rdar://problem/4609184>
        Mail crashes at WebCore::Selection::adjustForEditableContent
        <rdar://problem/4609140>
        Crash at WebCore::Range::compareBoundaryPoints
        
        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent):
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Moved code into a helper function.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::comparePositions): Moved from Selection.cpp.
        (WebCore::lowestEditableAncestor): Added.  Returns rootEditableElement
        for a node in editable content and the rootEditableElement for the first
        ancestor that's editable for a node in non-editable content.
        (WebCore::firstEditablePositionAfterPositionInRoot): 
        (WebCore::lastEditablePositionBeforePositionInRoot):
        * editing/htmlediting.h:

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        http://bugs.webkit.org/show_bug.cgi?id=9528
        REGRESSION: arrow key skips '>' in Bugzilla replies due to '\n' in text nodes
        
        Patch by Darin, tweaked by Anders.
        
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setInnerText):
        Convert newline characters to <br> elements. I've verified that what's done here is what WinIE does when setting innerText.
        
        (WebCore::HTMLElement::setOuterText):
        Fix comment.

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::textWithHardLineBreaks):
        Remove assert. m_div->firstChild() can be null now because setInnerText doesn't create
        text nodes for empty strings anymore.

2006-07-06  Adele Peterson  <adele@apple.com>

        Reviewed by Tim Hatcher.

        - Speculative fix for <rdar://problem/4605532> unrepro crash at cnn.com after upgrading to 10.4.7 (but happening with 10.4.6 too)

        * page/FrameView.cpp: (WebCore::FrameView::layout): Ref's the view during layout, since a recalcStyle could cause the view to be deleted.
        If we get back from recalcStyle, and there's only one ref, return early since the the view will be deleted when we exit layout.
        * page/FrameView.h: (WebCore::FrameView::hasOneRef): Added.

2006-07-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4610891> Support overflow events
        
        * DerivedSources.make:
        Add generated sources.
        
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.
        
        * bindings/js/kjs_events.cpp:
        (KJS::toJS):
        Support creating wrappers for overflow events..
        
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _eventWith:]):
        (-[DOMOverflowEvent _overflowEvent]):
        (-[DOMOverflowEvent orient]):
        (-[DOMOverflowEvent horizontalOverflow]):
        (-[DOMOverflowEvent verticalOverflow]):
        Add Objective-C wrapper for overflow events.
        
        * dom/Event.cpp:
        (WebCore::Event::isOverflowEvent):        
        * dom/Event.h:
        * dom/EventNames.h:
        * dom/OverflowEvent.cpp: Added.
        (WebCore::OverflowEvent::OverflowEvent):
        (WebCore::OverflowEvent::isOverflowEvent):
        * dom/OverflowEvent.h: Added.
        (WebCore::OverflowEvent::):
        (WebCore::OverflowEvent::orient):
        (WebCore::OverflowEvent::horizontalOverflow):
        (WebCore::OverflowEvent::verticalOverflow):
        * dom/OverflowEvent.idl: Added.
        Add overflow events.
        
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate):
        (WebCore::FrameView::applyOverflowToViewport):        
        (WebCore::FrameView::layout):
        Dispatch any scheduled events when layout is done.
        
        (WebCore::FrameView::scheduleEvent):
        New function which schedules an event.
        
        (WebCore::FrameView::updateOverflowStatus):
        Update overflow status for the viewport.
        
        (WebCore::FrameView::dispatchScheduledEvents):
        New function which dispatches all scheduled events.
        
        * page/FrameView.h:
        Add declarations.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateOverflowStatus):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        * rendering/RenderLayer.h:
        Schedule overflow events when overflow status changes.

2006-07-06  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4610881> Expose scroll-related JS properties to ObjC DOM interface
        <rdar://problem/4519675> offsetLeft, offsetTop, offsetHeight, and offsetWidth
        properties are not exposed to ObjC

        * bindings/objc/DOMPrivate.h:
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement offsetLeft]):
        (-[DOMHTMLElement offsetTop]):
        (-[DOMHTMLElement offsetWidth]):
        (-[DOMHTMLElement offsetHeight]):
        (-[DOMHTMLElement offsetParent]):
        (-[DOMHTMLElement clientWidth]):
        (-[DOMHTMLElement clientHeight]):
        (-[DOMHTMLElement scrollLeft]):
        (-[DOMHTMLElement setScrollLeft:]):
        (-[DOMHTMLElement scrollTop]):
        (-[DOMHTMLElement setScrollTop:]):
        (-[DOMHTMLElement scrollWidth]):
        (-[DOMHTMLElement scrollHeight]):

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

        Reviewed by Adele.

        - fix 435 more layout tests Node leaks

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): fix more instances of leaked DOM ranges

2006-07-06  David Harrison  <harrison@apple.com>

        Reviewed by Geoff

        <rdar://problem/4565031> innerHTML of XMP tag returns special characters like '&gt;' instead of '>'
 
        Test: fast/innerHTML/006.html
       
        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::createMarkup):
        Do not special quote content of XMP nodes.

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

        - back out earlier leak fix, as it caused a crash on one of the fast/invalid layout tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef):
        * html/HTMLParser.cpp:
        (WebCore::HTMLStackElem::HTMLStackElem):
        (WebCore::HTMLParser::popNestedHeaderTag):
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        (WebCore::HTMLParser::reopenResidualStyleTags):
        (WebCore::HTMLParser::popBlock):
        (WebCore::HTMLParser::popOneBlock):

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

        Reviewed by Anders.

        - fix ~3000 Node leaks on the editing tests

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): put a newly created Range in a RefPtr
        to avoid leaking it, as this leaks the whole document.

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

        Reviewed by Anders.

        - fix 26 Node leaks on various fast/dom tests

        * dom/Document.cpp:
        (WebCore::Document::removedLastRef): Delete the tokenizer here, since if we are in mid-parse,
        the parser might hold refs on some of our children that have self-only refs.
        * html/HTMLParser.cpp:
        (WebCore::HTMLStackElem::HTMLStackElem): don't ref the node if it is a document to avoid ref cycles
        (WebCore::HTMLStackElem::~HTMLStackElem): ditto
        (WebCore::HTMLStackElem::node): changed interface a bit to support the above
        (WebCore::HTMLStackElem::setNode): ditto
        (WebCore::HTMLParser::popNestedHeaderTag): use new interface to HTMLStackElem
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): ditto
        (WebCore::HTMLParser::reopenResidualStyleTags): ditto
        (WebCore::HTMLParser::popBlock): ditto
        (WebCore::HTMLParser::popOneBlock): ditto

2006-07-06  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Adele.
        
        * rendering/RenderMenuList.h:
        (WebCore::RenderMenuList::createsAnonymousWrapper): This method replaces
        allowsReusingAnonymousChild() and has the opposite meaning.
        
2006-07-05  Adele Peterson  <adele@apple.com>

        Build fixes.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/win/TemporaryLinkStubs.cpp:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::calcMinMaxWidth):
        * rendering/RenderPopupMenuWin.h:
        (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
        * rendering/RenderThemeWin.cpp:

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

        Reviewed by Adele.

        - fix 308 Node leaks on the editing layout tests

        * dom/Document.cpp: (WebCore::Document::removedLastRef): Clear the markers once there
        are no real refs on the document, otherwise a self-only reference cycle w/ the document
        can occur.

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

        Reviewed by Maciej and Hyatt.

        Initial implementation of popup menu control.  This can be turned on by setting -webkit-appearance: menulist on a select element.

        * WebCore.xcodeproj/project.pbxproj: Added RenderMenuList.h, RenderMenuList.cpp, RenderPopupMenu.h, RenderPopupMenu.cpp, 
        RenderPopupMenuWin.h, RenderPopupMenuMac.h, RenderPopupMenuMac.mm, 
    
        * dom/Node.cpp:
        (WebCore::Node::renderStyle): Added. Returns the renderer's style.  If there's no renderer, returns's a RenderStyle that's kept by the node.
        This is important for HTMLOptGroupElement and HTMLOptionElement, which don't have renderers.
        (WebCore::Node::setRenderStyle): Added.
        * dom/Node.h:
        * dom/Element.cpp: (WebCore::Element::recalcStyle): Updated to use renderStyle so recalcStyle will work for HTMLOptionElements and HTMLOptGroupElements.
           
        * css/cssstyleselector.cpp: Updated to call renderStyle method on the node, so resolving style works on elements w/o renderers that cache style. 
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::locateCousinList):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::CSSStyleSelector::checkOneSelector):

        * css/html4.css: Removed display:none from options and optgroups, since we're now caching style for these elements.
        Added font-weight styles for option and optgroup.
        
        * html/HTMLOptGroupElement.h: Added m_style to keep track of a RenderStyle for the element, even though we aren't creating a renderer.
        This will allow us to honor style for optgroups and options for popup menus (and eventually list boxes too).
        (WebCore::HTMLOptGroupElement::rendererIsNeeded): Added.
        (WebCore::HTMLOptGroupElement::renderStyle): Added.
        * html/HTMLOptionElement.h: ditto.
        (WebCore::HTMLOptionElement::rendererIsNeeded): Added.
        (WebCore::HTMLOptionElement::renderStyle): Added.
        
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Initialize m_style.
        (WebCore::HTMLOptGroupElement::attach): Set the renderStyle.
        (WebCore::HTMLOptGroupElement::detach): Clear m_style.
        (WebCore::HTMLOptGroupElement::setRenderStyle): Added.
        (WebCore::HTMLOptGroupElement::groupLabelText): Added.
        * html/HTMLOptionElement.cpp: ditto.
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::attach):
        (WebCore::HTMLOptionElement::detach):
        (WebCore::HTMLOptionElement::setRenderStyle):
        (WebCore::HTMLOptionElement::optionText):

        * html/HTMLSelectElement.cpp: Added code to use the new RenderMenuList if the appearance is set to MenuListAppearance, 
        and if we're not creating a list box renderer.
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        (WebCore::HTMLSelectElement::defaultEventHandler):
        * html/HTMLSelectElement.h:

        * WebCore.exp: Added _wkPopupMenu.
        * platform/mac/WebCoreSystemInterface.h: Added wkPopupMenu to get the NSMenu to pop up.
        * platform/mac/WebCoreSystemInterface.mm:

        * platform/win/TemporaryLinkStubs.cpp: Added stubs for RenderPopupMenuWin.
        (RenderPopupMenuWin::RenderPopupMenuWin):
        (RenderPopupMenuWin::~RenderPopupMenuWin):
        (RenderPopupMenuWin::clear):
        (RenderPopupMenuWin::populate):
        (RenderPopupMenuWin::showPopup):
        (RenderPopupMenuWin::addSeparator):
        (RenderPopupMenuWin::addGroupLabel):
        (RenderPopupMenuWin::addOption):
        * rendering/RenderPopupMenuWin.h: Added.

        * rendering/RenderPopupMenu.cpp: Added.
        (WebCore::RenderPopupMenu::RenderPopupMenu):
        (WebCore::RenderPopupMenu::~RenderPopupMenu):
        (WebCore::RenderPopupMenu::clear):
        (WebCore::RenderPopupMenu::populate): Walks the DOM tree, and adds separators, options, and group labels to the RenderPopupMenu.
        (WebCore::RenderPopupMenu::showPopup):
        (WebCore::RenderPopupMenu::addSeparator):
        (WebCore::RenderPopupMenu::addGroupLabel):
        (WebCore::RenderPopupMenu::addOption):
        * rendering/RenderPopupMenu.h: Added.
        (WebCore::RenderPopupMenu::renderName):
        (WebCore::RenderPopupMenu::getRenderMenuList):
        * rendering/RenderPopupMenuMac.h: Added.
        * rendering/RenderPopupMenuMac.mm: Added.
        (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
        (WebCore::RenderPopupMenuMac::~RenderPopupMenuMac):
        (WebCore::RenderPopupMenuMac::clear): Removes all items from the menu.
        (WebCore::RenderPopupMenuMac::populate): Disables menuChangedMessages before populating the menu.
        (WebCore::RenderPopupMenuMac::showPopup): Calculates the right position, and calls wkPopupMenu.
        (WebCore::RenderPopupMenuMac::addSeparator):
        (WebCore::RenderPopupMenuMac::addGroupLabel):
        (WebCore::RenderPopupMenuMac::addOption):
        
        * rendering/RenderMenuList.cpp: Added.
        (WebCore::RenderMenuList::RenderMenuList):
        (WebCore::RenderMenuList::addChild):
        (WebCore::RenderMenuList::removeChild):
        (WebCore::RenderMenuList::setStyle):
        (WebCore::RenderMenuList::updateFromElement): If the options have changed, iterate through the children to find the menu item with the widest text.
        Set the button text to the selected item's text.
        (WebCore::RenderMenuList::setText):
        (WebCore::RenderMenuList::paintObject):
        (WebCore::RenderMenuList::baselinePosition):
        (WebCore::RenderMenuList::calcMinMaxWidth):
        (WebCore::RenderMenuList::showPopup):
        (WebCore::RenderMenuList::layout):
        (WebCore::RenderMenuList::updateSelection):
        (WebCore::RenderMenuList::valueChanged):
        * rendering/RenderMenuList.h: Added.
        (WebCore::RenderMenuList::removeLeftoverAnonymousBoxes):
        (WebCore::RenderMenuList::allowsReusingAnonymousChild):
        (WebCore::RenderMenuList::canHaveChildren):
        (WebCore::RenderMenuList::renderName):
        (WebCore::RenderMenuList::setOptionsChanged):
        (WebCore::RenderMenuList::selectionChanged):
        (WebCore::RenderMenuList::setSelectionChanged):
        (WebCore::RenderMenuList::hasPopupMenu):

        * rendering/RenderTheme.cpp: Added cases for MenuListAppearance.
        (WebCore::RenderTheme::adjustStyle):
        (WebCore::RenderTheme::paint):
        (WebCore::RenderTheme::paintBorderOnly):
        (WebCore::RenderTheme::isControlStyled):
        (WebCore::RenderTheme::adjustMenuListStyle):
        (WebCore::RenderTheme::createPopupMenu): creates platform-specific RenderPopupMenu.
        * rendering/RenderTheme.h:
        (WebCore::RenderTheme::sizeOfArrowControl): Added. 
        (WebCore::RenderTheme::paintMenuList): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::adjustRepaintRect):
        (WebCore::RenderThemeMac::paintMenuList):
        (WebCore::RenderThemeMac::adjustMenuListStyle):
        (WebCore::RenderThemeMac::setPopupButtonCellState):
        (WebCore::RenderThemeMac::createPopupMenu):
        (WebCore::RenderThemeMac::sizeOfArrowControl):
        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::createPopupMenu):
        * rendering/RenderThemeWin.h:

2006-07-05  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Omernick.

        IconDatabase now respects private browsing via the use of in memory, temporary tables

        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): Renamed WebCore::IconDatabase methods, changes reflected here

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::clearDatabase):
        (WebCore::IconDatabase::deletePrivateTables):
        (WebCore::IconDatabase::imageDataForIconID):
        (WebCore::IconDatabase::imageDataForIconURL):
        (WebCore::IconDatabase::imageDataForPageURL):
        (WebCore::IconDatabase::setPrivateBrowsingEnabled):
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::iconURLForPageURL):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::performSetIconDataForIconID):
        (WebCore::IconDatabase::establishTemporaryIconIDForEscapedIconURL):
        (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
        (WebCore::IconDatabase::setHaveNoIconForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::performSetIconURLForPageURL):
        (WebCore::IconDatabase::hasIconForIconURL):
        -Some style/comment cleanups, but mainly putting private browsing handling in place

        * icon/IconDatabase.h:  Some methods added, others renamed, some comments added

        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::getColumnName):
        (WebCore::SQLStatement::getColumnName16):
        (WebCore::SQLStatement::getColumnText):
        (WebCore::SQLStatement::getColumnText16):
        -The above 4 had changes to return String() for empty results instead of "" as it's less expensive;

2006-07-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin and Adele.
        
        - fixed <rdar://problem/4609162> REGRESSION: When tabbing between links on a page, 
        the window doesn't scroll to link that's not in view

        * html/HTMLAnchorElement.cpp:
        * html/HTMLAnchorElement.h:
        removed HTMLAnchorElement::focus and HTMLAnchorElement::blur. 
        
        HTMLAnchorElement::focus just called document()->setFocusNode(). The scroll-to-reveal
        code used to be inside document()->setFocusNode(), but now it's in Element::focus, and this override
        was preventing that code from running.
        
        HTMLAnchorElement::blur was exactly the same implementation as Element::blur (and there aren't any
        other implementations of ::blur in the class hierarchy in between). This change has no practical
        effect, other than removing duplicate code.
        
        Adele and I think that it was an oversight not to remove these two methods on 12/20/05
        these methods were removed from HTMLButtonElementImpl and HTMLInputElementImpl.

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

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::createFrame):
        Fix Win32 build.

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

        * WebCore.xcodeproj/project.pbxproj:
        Revert accidental change of debug format to DWARF.

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=3581
        iFrames set to display:none are Missing from frames array

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::FrameMac):
        (WebCore::FrameMac::createFrame):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
        (-[WebCoreFrameBridge installInFrame:]):
        Modify to pass the owner element instead of the owner renderer.        

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::insertBefore):
        (WebCore::ContainerNode::replaceChild):
        (WebCore::ContainerNode::appendChild):
        Dispatch the node inserted events before attaching the nodes. This is what the
        tokenizer does.
        
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::openURL):
        (WebCore::HTMLFrameElement::attach):
        Pass the element to requestFrame.
        
        (WebCore::HTMLFrameElement::setLocation):
        Don't call attach/detach on an iframe.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        Load the frame here (using openURL).
        
        (WebCore::HTMLIFrameElement::removedFromDocument):
        Call frameDetached.
        
        (WebCore::HTMLIFrameElement::attach):
        If there's a renderer, attach the content frame to it.
        
        (WebCore::HTMLIFrameElement::detach):
        Reset the renderer's frame.
        
        (WebCore::HTMLIFrameElement::openURL):
        Modify to request the frame.
        
        * html/HTMLIFrameElement.h:
        Add detach.
        
        * page/Frame.cpp:
        (WebCore::parentFromOwnerElement):
        (WebCore::Frame::Frame):
        (WebCore::Frame::~Frame):
        (WebCore::Frame::requestFrame):
        (WebCore::Frame::requestObject):
        (WebCore::Frame::loadSubframe):
        (WebCore::Frame::ownerElement):
        (WebCore::Frame::ownerRenderer):
        (WebCore::Frame::disconnectOwnerElement):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):        
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::setFrame):
        Modify to keep an owner element around instead of the renderer. 
        
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):
        Don't do anything for iframes.

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

        Reviewed by Maciej, reworked a bit by Darin.

        Compile fixes for wx port / gcc 4.0.2
        
        * platform/PlatformString.h:
        * platform/StringImpl.h:
        Include CoreFoundation for CF-specific code.
        
        * dom/DocPtr.h:
        * doc/EventTargetNode.h:
        Silence warnings about 'extra tokens' after #endif on gcc 4.0.2.
        (Not an error but warnings appear frequently.)
        
        * WebCoreSources.bkl:
        * webcore-base.bkl:
        Synching ports sources file with TOT. Also, making sure SRCDIR variable
        overrides any previous values.
        
        * loader/ImageDocument.cpp:
        Use PLATFORM(MAC) for the parts that are specific to the Macintosh version,
        and move the Objective-C parts to another file.

        * loader/mac/ImageDocumentMac.h: Added.
        * loader/mac/ImageDocumentMac.mm: Added.

2006-07-04  Sam Weinig  <sam.weinig@gmail.com>

        Build fix.

        * platform/Color.cpp:
        (WebCore::makeRGBAFromHSLA):

2006-07-02  David Carson  <dacarson@gmail.com>

        Reviewed by Darin.
  
        - Added HSL color support as specified in CSS3 spec.
        http://bugs.webkit.org/show_bug.cgi?id=9506
        Added parsing support of hsl(h,s,l) and hsla(h,s,l,a)
        Added converting code to convert HSL to RGB

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColorParameters):
        Moved common code to parse RGB/RGBA values into it's
        own function. This code was duplicated in the parseColorFromValue()
        method.
        (WebCore::CSSParser::parseHSLParameters):
        Common code to parse HSL/HSLA values.
        (WebCore::CSSParser::parseColorFromValue):
        Moved RGB/RGBA parsing out to seperate function as the code was
        duplicated. 
        Added parsing support for hsl( and hsla(
        * css/cssparser.h:
        Added two new functions parseColorParameters() and 
        parseHSLParameters().
        * platform/Color.cpp:
        (WebCore::calcHue):
        Added Hue parameter to RGB color.
        (WebCore::makeRGBAFromHSLA):
        New function to convert HSLA to RGBA.
        * platform/Color.h:
        Added new functions makeRGBAFromHSLA() and calcHue().

2006-07-02  Mike Emmel  <mike.emmel@gmail.com>

        Reviewed and landed by ggaren.

        * platform/gdk/TransferJobManager.cpp
        Fixed broken dowload logic
        * platform/gdk/ScrollViewGdk.cpp 
        Add comment that scrollbarSize is a temporary variable
        * Projects/gdk/webcore-gdk.bkl
        Defined NDEBUG build executable is miscompiled otherwise
        * WebCoreSources.bkl
        added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp 
        html/HTMLViewSourceDocument.cpp

2006-07-02  Shawn Stricker  <kb1ibt@gmail.com>

        Reviewed by Timothy Hatcher.  Build fix for Linux.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9684
          [GDK] multiple little fixes and a few new things for Templinkstubs

        * platform/gdk/ScrollViewGdk.cpp:
        (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
        * platform/gdk/TemporaryLinkStubs.cpp:
        (Image::drawTiled): Added missing parameter to argument list.
        * platform/gdk/TransferJobManager.cpp:
        (WebCore::writeCallback): Added missing parenthesis to static_cast.

2006-07-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9674
          REGRESSION (r15075): Blank or incomplete pages on digg.com

        Replaced the requestingScript state bit added in the fix for bug 9317
        with a m_requestingScript bool that is set before and restored
        after calling ref() on a CachedScript.
        
        Test: fast/tokenizer/nested-cached-scripts.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::begin):
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::notifyFinished):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::State::):

2006-07-01  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by NOBODY (build fix).

        * platform/gdk/TransferJobManager.cpp:
        (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.

2006-06-30  Mike Emmel  <mike.emmel@gmail.com>

        Reviewed and worked over a lot by Darin.

        - check in first set of GDK-specific sources

        * platform/gdk/BrowserExtensionGdk.h: Added.
        * platform/gdk/CookieJarGdk.cpp: Added.
        * platform/gdk/CursorGdk.cpp: Added.
        * platform/gdk/FontCacheGdk.cpp: Added.
        * platform/gdk/FontDataGdk.cpp: Added.
        * platform/gdk/FontGdk.cpp: Added.
        * platform/gdk/FontPlatformData.h: Added.
        * platform/gdk/FontPlatformDataGdk.cpp: Added.
        * platform/gdk/FrameGdk.cpp: Added.
        * platform/gdk/FrameGdk.h: Added.
        * platform/gdk/GlyphMapGdk.cpp: Added.
        * platform/gdk/KeyEventGdk.cpp: Added.
        * platform/gdk/KeyboardCodes.h: Added.
        * platform/gdk/MouseEventGdk.cpp: Added.
        * platform/gdk/PageGdk.cpp: Added.
        * platform/gdk/RenderThemeGdk.cpp: Added.
        * platform/gdk/RenderThemeGdk.h: Added.
        * platform/gdk/ScreenGdk.cpp: Added.
        * platform/gdk/ScrollViewGdk.cpp: Added.
        * platform/gdk/SharedTimerLinux.cpp: Added.
        * platform/gdk/SystemTimeLinux.cpp: Added.
        * platform/gdk/TemporaryLinkStubs.cpp: Added.
        * platform/gdk/TransferJobCurl.cpp: Added.
        * platform/gdk/TransferJobManager.cpp: Added.
        * platform/gdk/TransferJobManager.h: Added.
        * platform/gdk/WheelEventGdk.cpp: Added.
        * platform/gdk/WidgetGdk.cpp: Added.
        * platform/gdk/gdk-encodings.txt: Added.

2006-06-30  Mike Emmel  <mike.emmel@gmail.com>

        Reviewed by Darin.

        * WebCoreSources.bkl: Updated for recent file changes.

2006-06-30  Mike Emmel  <mike.emmel@gmail.com>

        Reviewed and enhanced by Darin.

        Compilation fixes for Linux/Gdk.

        * WebCore/platform/FontData.h: Added forward declaration of a class.
        * WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
        * WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.

        * WebCore/css/maketokenizer: Fixed incorrect check for Linux that was
        already true even on Mac OS X. Added some additional includes and
        defines to the Linux extra generated code.

2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7204
          float inserted in fixed height block via DOM not repainted

        Test: fast/repaint/float-move-during-layout.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants()
        to this and limited it to repainting overhanging floats. Added a boolean parameter that forces
        all descendant overhanging floats (that don't have their own layer) to paint.
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant
        floats.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintOverhangingFloats):
        * rendering/RenderObject.h:

2006-06-30  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        * editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
        * editing/VisiblePosition.h: Ditto.
        (WebCore::operator==):
        * editing/visible_units.cpp:
        (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==.
        (WebCore::isEndOfParagraph): Ditto.
        (WebCore::isStartOfBlock): Ditto.
        (WebCore::isEndOfBlock): Ditto.

=== Safari-521.14 ===

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

        Reviewed by levi

        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Don't insert children into
        object tags while editing.

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

        Reviewed by harrison
        
        <rdar://problem/4598309
        Caret gets stuck when it hits non editable content within an editable body
        <http://bugs.webkit.org/show_bug.cgi?id=9510>
        Caret will jump out of an editable region
        
        * dom/Position.cpp:
        (WebCore::Position::upstream): Don't move into a new editable region so that 
        candidates that that straddle an editable/non-editable boundary will 
        correspond to different VisiblePositions.
        (WebCore::Position::downstream): Ditto.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true)
        (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long
        as it has the same highest editable root.
        (WebCore::VisiblePosition::previous): Ditto.
        * editing/VisiblePosition.h:
        * editing/htmlediting.cpp:
        (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that
        node is in editable content, otherwise 0.
        * editing/htmlediting.h:

2006-06-30  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - Fix http://bugs.webkit.org/show_bug.cgi?id=9358
          REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer
          (value == constrainValue(value)) when deleting all text

        Test: editing/deleting/delete-all-text-in-text-field-assertion.html

        Bug 9661 filed to fix the follow-up issue:
        http://bugs.webkit.org/show_bug.cgi?id=9661
        textContent returns "\n" for a <br> even if it is collapsed

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value
        when all characters are deleted from a text field.

2006-06-30  David Harrison  <harrison@apple.com>

        Reviewed by Tim Omernick

        <rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
        
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::executionContextForDOM):
        Early return if JS is not enabled.

2006-06-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Tim H.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9664
          REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html

        * page/FrameView.cpp:
        (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is
        still a subframe of the view's frame before passing the event to it.

2006-06-29  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        <rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
        <rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed

        Added close methods that need to be called before these
        objects can be released. This ensures proper tear-down under GC.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge finalize]):
        (-[WebCoreFrameBridge close]):
        * bridge/mac/WebCorePageBridge.h:
        * bridge/mac/WebCorePageBridge.mm:
        (-[WebCorePageBridge setMainFrame:]):
        (-[WebCorePageBridge dealloc]):
        (-[WebCorePageBridge finalize]):
        (-[WebCorePageBridge close]):
        (-[WebCorePageBridge mainFrame]):
        (-[WebCorePageBridge setGroupName:]):
        (-[WebCorePageBridge groupName]):
        * kwq/KWQPageState.h:
        * kwq/KWQPageState.mm:
        (-[KWQPageState dealloc]):
        (-[KWQPageState finalize]):
        (-[KWQPageState close]):

2006-06-29  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt.

        - test for http://bugs.webkit.org/show_bug.cgi?id=4874
        Table with absolute bottom positioning is positioned incorrectly

        Note: patch originally from Mitz, spruced up by Weinig.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteVerticalValues):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

2006-06-29  Graham Dennis  <Graham.Dennis@gmail.com>

        Reviewed by Justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9505
          moveParagraphContentsToNewBlockIfNecessary creates a new block outside the current position

        * editing/CompositeEditCommand.cpp:
        Added sanity checking to prevent modifying nodes outside of 
        where we should be
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):

2006-06-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Levi.

        In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
        for a problem in SQLite's blob handling.  Querying for a blob in a void* form is reproducibly
        returning a corrupt buffer.  The temporary solution is to query for the blob as "quoted text" and
        manually convert the return string into a character buffer.

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::recreateDatabase):
        (WebCore::IconDatabase::createPrivateTables):

        (WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
        (WebCore::hexStringToVector):

        (WebCore::IconDatabase::imageDataForIconID):
        (WebCore::IconDatabase::imageDataForIconURL):
        (WebCore::IconDatabase::imageDataForPageURL):
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::hasIconForIconURL):
        * icon/IconDatabase.h:  changes the icon data accessors to return a Vector<unsigned char> instead of void*

        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::columnCount):
        (WebCore::SQLStatement::getColumnBlob):
        * icon/SiteIcon.cpp:
        (SiteIcon::getImage):

2006-06-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9652
          Assertion failure when changing an RTL table cell to display:none

        Test: fast/table/rtl-cell-display-none-assert.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows): Corrected the index used as
        the last index in the columnPos vector.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9622
          showModalDialog returnValue ignored, function result is always "undefined"

        * manual-tests/modal-dialog.html: Added.
        * manual-tests/show-modal-dialog-test.html: Added.

        * page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the
        clearWindowProperties parameter instead of not calling it at all when
        clearWindowProperties is false.

        * bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
        * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties
        variable through to Window::clear instead of not calling it at all.

        * bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
        * bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties
        is false, do only the returnValue work, not the rest of the work.

        * manual-tests/modal-dialog.html: Added.
        * manual-tests/show-modal-dialog-test.html: Added.

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

        Reviewed by Hyatt.

        Fix for <rdar://problem/4450615> Add composite mode to background 
        styles

        -webkit-background-composite will set a composite mode on a 
        background image.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in: Add -webkit-background-composite
        * css/CSSValueKeywords.in: Add all possible values (clear, copy, 
        source-over, source-in, source-out, source-atop, destination-over, 
        destination-in, destination-out, destination-atop, xor, plus-
        darker, highlight, and plus-lighter)
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBackgroundProperty):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapBackgroundComposite):
        * css/cssstyleselector.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawTiledImage):
        * platform/GraphicsContext.h: drawTiledImage() now takes a 
        composite operator.
        * platform/Image.h: drawTiled() now takes a composite operator.
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::drawTiled): Set the composite operator.
        * platform/mac/ImageMac.mm:
        (WebCore::Image::drawTiled): Set the composite operator.
        * platform/win/TemporaryLinkStubs.cpp:
        (Image::drawTiled):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended): Send the composite 
        operator in the render style over to the graphics context.
        * rendering/render_style.cpp:
        (WebCore::BackgroundLayer::BackgroundLayer):
        (WebCore::BackgroundLayer::operator=):
        (WebCore::BackgroundLayer::operator==):
        (WebCore::BackgroundLayer::fillUnsetProperties):
        (WebCore::BackgroundLayer::cullEmptyLayers):
        * rendering/render_style.h:
        (WebCore::BackgroundLayer::backgroundComposite):
        (WebCore::BackgroundLayer::isBackgroundCompositeSet):
        (WebCore::BackgroundLayer::setBackgroundComposite):
        (WebCore::BackgroundLayer::clearBackgroundComposite):
        (WebCore::RenderStyle::backgroundComposite):
        (WebCore::RenderStyle::initialBackgroundComposite):

2006-06-29  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9649
        The no-svg build broke after r15091

        * bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
        * bindings/objc/DOMInternal.mm: Ditto.
        (raiseDOMException):
        * bindings/objc/DOMXPath.h: Ditto.
        * bindings/objc/DOMXPath.mm: Ditto.
        * bindings/objc/DOMXPathInternal.h: Ditto.

2006-06-29  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Tim O.

        <rdar://problem/4599760> Objective-C XPath support
        
        * WebCore.xcodeproj/project.pbxproj:
        Add files.
        
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMInternal.mm:
        (raiseDOMException):
        Handle XPath exceptions
        
        * bindings/objc/DOMXPath.h: Added.
        (-[DOMXPathNSResolver lookupNamespaceURI:]):
        * bindings/objc/DOMXPath.mm: Added.
        (-[DOMNativeXPathNSResolver dealloc]):
        (-[DOMNativeXPathNSResolver finalize]):
        (-[DOMNativeXPathNSResolver _xpathNSResolver]):
        (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]):
        (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]):
        (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
        (-[DOMXPathResult dealloc]):
        (-[DOMXPathResult finalize]):
        (-[DOMXPathResult resultType]):
        (-[DOMXPathResult numberValue]):
        (-[DOMXPathResult stringValue]):
        (-[DOMXPathResult booleanValue]):
        (-[DOMXPathResult singleNodeValue]):
        (-[DOMXPathResult invalidIteratorState]):
        (-[DOMXPathResult snapshotLength]):
        (-[DOMXPathResult iterateNext]):
        (-[DOMXPathResult snapshotItem:]):
        (-[DOMXPathResult _xpathResult]):
        (-[DOMXPathResult _initWithXPathResult:]):
        (+[DOMXPathResult _xpathResultWith:]):
        (-[DOMXPathExpression evaluate:::]):
        (-[DOMXPathExpression _xpathExpression]):
        (-[DOMXPathExpression _initWithXPathExpression:]):
        (+[DOMXPathExpression _xpathExpressionWith:]):
        (-[DOMDocument createExpression::]):
        (-[DOMDocument createNSResolver:]):
        (-[DOMDocument evaluate:::::]):
        * bindings/objc/DOMXPathInternal.h: Added.
        Add Objective-C XPath API.

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

        Add support for custom highlighting to paint at the root line box level
        (and to inflate the box it uses so that it can go outside the bounds of
        the line if necessary).

        Reviewed by harrison

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::customHighlightLineRect):
        (WebCore::FrameMac::paintCustomHighlight):
        * bridge/mac/WebCoreFrameBridge.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintCustomHighlight):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::paintCustomHighlight):
        (WebCore::RootInlineBox::paint):
        * rendering/RootInlineBox.h:

2006-06-28  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        <rdar://problem/4592005> FormatBlock inserts in the wrong place, disregarding editable content
        <rdar://problem/4590763> FormatBlock for paragraph style doesn't work

        * dom/Node.cpp:
        (WebCore::Node::rootEditableElement): Return inline nodes
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::doApply): Keep from inserting before editable content
        * editing/JSEditor.cpp: Support html braces (<>) around tag names

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

        Reviewed by levi
        
        svg/custom/text-hit-test.svg was failing

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::positionForCoordinates): Don't skip child
        renderers that have a height of 0 when looking for the closest child
        renderer, they may contain content that overflows.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): Fixed typos.

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

        Make the view source document properly handle <script>.  We don't syntax
        highlight the JS yet, but it shows up properly now.

        Reviewed by john

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler):

2006-06-28  Timothy Hatcher  <timothy@apple.com>

        Prefer the Stabs debugging symbols format until DWARF bugs are fixed.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by levi
        
        Fixed EditActions for InsertHorizontalRule and RemoveFormat.
        
        * editing/JSEditor.cpp:
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
        (WebCore::ReplaceSelectionCommand::editingAction):
        * editing/ReplaceSelectionCommand.h:

2006-06-28  Levi Weintraub  <lweintraub@apple.com>

         Build Fix. Reviewed by NOBODY

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::indentRegion):

2006-06-28  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        http://bugs.webkit.org/show_bug.cgi?id=7568
        Bug 7568: Implement Indent/Outdent

        * WebCore.vcproj/WebCore/WebCore.vcproj: Added IndentOutdentCommand.h/cpp
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * editing/IndentOutdentCommand.cpp: Added.
        (WebCore::IndentOutdentCommand::IndentOutdentCommand):
        (WebCore::enclosingListOrBlockquote):
        (WebCore::IndentOutdentCommand::splitTreeToNode): Splits the DOM tree from a
        descendent node to an ending ancestor, duplicating nodes when necessary. Returns
        the last node split. Used to insert blockquotes at the topmost level.
        (WebCore::IndentOutdentCommand::indentRegion):
        (WebCore::IndentOutdentCommand::outdentParagraph):
        (WebCore::IndentOutdentCommand::outdentRegion):
        (WebCore::IndentOutdentCommand::doApply):
        * editing/IndentOutdentCommand.h: Added.
        (WebCore::IndentOutdentCommand::):
        * editing/JSEditor.cpp: Added the execCommands Indent and Outdent
        * editing/htmlediting.cpp:
        (WebCore::enclosingNodeWithTag): Finds the enclosing node with any specified tag.
        (WebCore::enclosingListChild): Added checks for nill and editable boundaries.
        (WebCore::outermostEnclosingListChild): Returns the highest ancestor list child.
        (WebCore::highestAncestor): Added.
        (WebCore::createElement): Changed the passed in string to a const reference.
        * editing/htmlediting.h:

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

        Reviewed by Darin and Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9561
          REGRESSION: Content property on :before of button causes hang on click or hover

        Test: fast/forms/button-generated-content.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setStyle):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::updatePseudoChild): Added. Calls updatePseudoChildForObject()
        on the button itself or on its inner div, if it has one.
        * rendering/RenderButton.h:
        (WebCore::RenderButton::createsAnonymousWrapper): Added. Returns true.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::pseudoChild): Added. Returns the child containing
        generated content of the requested type if there is one, or otherwise the
        child before/after which such generated content should come.
        (WebCore::RenderContainer::updatePseudoChild): Removed the child parameter and moved the guts
        of this method into updatePseudoChildForObject, which this method calls unless the object
        is an anonymous wrapper.
        (WebCore::RenderContainer::updatePseudoChildForObject): Added. Does the what
        updatePseudoChildForObject did previously, but fetches the pseudo style from
        the styledObject parameter.
        * rendering/RenderContainer.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::setStyle):
        (WebCore::RenderInline::addChildToFlow):
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::splitFlow):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::createsAnonymousWrapper): Added. This method replaces
        allowsReusingAnonymousChild and returns the opposite of what that method used to
        return. Returns true if the object creates an anonymous child to contain all its
        other children.

2006-06-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Hookup the new semi-functional SQLite icon database.
        For now, it is living side-by-side with the old DB so one can compare the
        two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
        compile with ICONDEBUG #defined.

        * WebCore.xcodeproj/project.pbxproj:  Added file SiteIcon.cpp

        * bridge/mac/WebCoreIconDatabaseBridge.h:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
        (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::isValidDatabase):
        (WebCore::IconDatabase::recreateDatabase):
        (WebCore::IconDatabase::createPrivateTables):
        (WebCore::IconDatabase::deletePrivateTables):
        (WebCore::IconDatabase::imageDataForIconID):
        (WebCore::IconDatabase::imageDataForIconURL):
        (WebCore::IconDatabase::imageDataForPageURL):
        (WebCore::IconDatabase::setPrivateBrowsingEnabled):
        (WebCore::IconDatabase::iconForPageURL):
        (WebCore::IconDatabase::iconURLForURL):
        (WebCore::IconDatabase::setIconDataForIconURL):
        (WebCore::IconDatabase::establishIconIDForEscapedIconURL):
        (WebCore::IconDatabase::setHaveNoIconForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::hasIconForIconURL):
        * icon/IconDatabase.h:
        (WebCore::SiteIcon::getIconURL):
        (WebCore::IconDatabase::getPrivateBrowsingEnabled):
        
        * icon/SiteIcon.cpp: Added.
        (SiteIcon::SiteIcon):
        (SiteIcon::~SiteIcon):
        (SiteIcon::getImage):
        (SiteIcon::resetExpiration):
        (SiteIcon::getExpiration):

2006-06-27  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9605
        REGRESSION: pageX and pageY are both 0 for events created with initMouseEvent

        Calculate pageX/pageY and clientX/clientY values when using initMouseEvent.

        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::initMouseEvent):
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::initCoordinates):
        * dom/MouseRelatedEvent.h:

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

        Reviewed by Maciej and Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9317
          REGRESSION: crash in HTML tokenizer at Japanese Apple support page

        Test: fast/tokenizer/write-unclosed-script.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::scriptHandler): Changed to reset the inScript flag
        and scriptCodeSize before possible script execution, but not afterwards.
        This way, if script execution write()s a <script> tag without closing it,
        the tokenizer is left in inScript state. Added code to set the requestingScript
        flag around the request for the cached script, to let notifiyFinished() know
        that it's being called under scriptHandler().
        (WebCore::HTMLTokenizer::scriptExecution): Removed code that saved and restored
        the inScript flag. This function is always entered now with inScript being false.
        (WebCore::HTMLTokenizer::notifyFinished): Changed to use the new requestingScript
        state flag instead of the inScript flag, which is always false now when entering
        this function.
        * html/HTMLTokenizer.h:
        Added the requestingScript state bit, used to tell notifyFinished() that it
        is being called under scriptHandler() (which happens when the script is already
        in cache).

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

        Reviewed by levi

        * editing/JSEditor.cpp: Added RemoveFormat.

2006-06-27  Kevin Decker    <kdecker@apple.com>

        Reviewed by brady.

        Fixed: <rdar://problem/4597679> TOT REGRESSION: popup blocker DOA
        
        Need to add window.open() support to DumpRenderTree before landing an actual layout test.

        * bindings/js/kjs_window.cpp: 
        (KJS::WindowFunc::callAsFunction): Because FrameTree::find() returns true for empty strings, 
        we must check for empty framenames. Otherwise, illegitimate window.open() calls with no name
        will pass right through the popup blocker.

2006-06-28  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        Move FIXME comment here.
        
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getComputedStyle):
        Don't do a null check on the renderer here. Everything's handled by 
        CSSComputedStyleDeclaration anyway.

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

        Reviewed by darin

        * rendering/RenderContainer.cpp: Fixed #include formatting.

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

        Reviewed by levi
        
        <rdar://problem/4599735> Clicking out of a table at the extremes of an editable document doesn't appear to work

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): In the fall through case,
        where we can't find a child block that contains (x, y), pass to RenderFlow
        instead of the last visible child block.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::positionForCoordinates): Don't pass to the closest 
        child renderer if this is a table and (x, y) is outside the table.  Return
        a VisiblePosition before or after the table.
        Fixed the code that finds the closest child renderer.

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

        Preserve entity text in view source mode.  This patch doesn't highlight the
        the entities yet, but it at least prevents their resolution and removal.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseEntity):

2006-06-27  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9623
        REGRESSION: getComputedStyle should do a relayout
        
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getComputedStyle):
        Do a relayout.

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

        Reviewed by Adele

        - fixed <rdar://problem/4550473> Reproducible hang on www.digg.com
        
        * dom/NodeList.cpp:
        (WebCore::NodeList::recursiveItem): Make NodeList caching also
        work for backwards iteration - if the requested index is before
        the last cached, but closer to it than to the start of the list,
        then search backwards from there.
        (WebCore::NodeList::itemForwardsFromCurrent): Split this out as a
        helper method.
        (WebCore::NodeList::itemBackwardsFromCurrent): New helper, similar
        to the above.
        * dom/NodeList.h:

2006-06-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Levi

        Some SQLDatabase cleanup (style stuff) and enhancements

        * icon/SQLDatabase.cpp:
        (SQLDatabase::open):
        (SQLDatabase::executeCommand):
        (SQLDatabase::returnsAtLeastOneResult):  Accessor to see if this query returns results
        (SQLDatabase::lastInsertRowID):  Accessor for the rowid of the last insert
        * icon/SQLDatabase.h:
        (WebCore::SQLStatement::prepareAndStep):
        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::bindInt64):
        -All of the following used to require the user to manually prepare and step a statement
        before asking for the result.  Now it will prepare and step itself so you can use a temporary
        object to get a quick result
        (WebCore::SQLStatement::getColumnName):
        (WebCore::SQLStatement::getColumnName16):
        (WebCore::SQLStatement::getColumnText):
        (WebCore::SQLStatement::getColumnText16):
        (WebCore::SQLStatement::getColumnDouble):
        (WebCore::SQLStatement::getColumnInt):
        (WebCore::SQLStatement::getColumnInt64):
        (WebCore::SQLStatement::getColumnBlobAsVector):
        (WebCore::SQLStatement::getColumnBlob):

2006-06-27  Ada Chan <adachan@apple.com>

        Reviewed by sfalken.

        Fixed build.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

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

        Reviewed by Hyatt.

        Fix for <rdar://problem/4602635> Media queries must be extended to 
        address CSS pixel scaling factor

        * css/MediaFeatureNames.h: Add -webkit-device-pixel-ratio, -webkit-
        min-device-pixel-ratio, and -webkit-max-device-pixel-ratio to the 
        list of feature names.
        * css/MediaQueryEvaluator.cpp:
        (WebCore::cmpvalue): Added a version of cmpvalue that compares 
        floats.
        (WebCore::device_pixel_ratioMediaFeatureEval):
        (WebCore::min_device_pixel_ratioMediaFeatureEval):
        (WebCore::max_device_pixel_ratioMediaFeatureEval):

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

        Reviewed by Geoff.

        - finish with http://bugs.webkit.org/show_bug.cgi?id=9606
          REGRESSION: some callers are still using clientX/Y to get pageX/Y

        * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize):
        Change to use pageX/Y, but this really doesn't matter since framesets
        can't be scrolled -- it's the frames that are scrolled. So this change
        has no user-visible effect, but it's still better this way.

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

        Reviewed by Geoff.

        - fix 2/3 of http://bugs.webkit.org/show_bug.cgi?id=9606
          REGRESSION: some callers are still using clientX/Y to get pageX/Y

        Test: fast/events/anchor-image-scrolled-x-y.html
        Test: fast/events/input-image-scrolled-x-y.html

        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler): Use pageX/Y.
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Ditto.

2006-06-27  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Added functionality to WebCore::Image to get multiple representations/sizes into TIFF data

        * platform/mac/ImageMac.mm:
        (WebCore::Image::getTIFFRepresentation):

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

        Fix for 9538, support syntax highlighted HTML source.  Lots of loose
        ends still (script/style/comments/doctype/entities/accurate whitespace).

        Reviewed by darin

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setInViewSourceMode:]):
        (-[WebCoreFrameBridge inViewSourceMode]):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::loadDefaultStyle):
        (WebCore::CSSStyleSelector::matchUARules):
        * css/cssstyleselector.h:
        * css/view-source.css: Added.
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * dom/xml_tokenizer.h:
        (WebCore::Tokenizer::Tokenizer):
        (WebCore::Tokenizer::~Tokenizer):
        (WebCore::Tokenizer::inViewSourceMode):
        (WebCore::Tokenizer::setInViewSourceMode):
        * html/HTMLAttributeNames.in:
        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::init):
        (WebCore::HTMLFrameElement::parseMappedAttribute):
        (WebCore::HTMLFrameElement::attach):
        * html/HTMLFrameElement.h:
        (WebCore::HTMLFrameElement::viewSourceMode):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::HTMLTokenizer):
        (WebCore::HTMLTokenizer::scriptHandler):
        (WebCore::HTMLTokenizer::scriptExecution):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::continueProcessing):
        (WebCore::HTMLTokenizer::write):
        (WebCore::HTMLTokenizer::timerFired):
        (WebCore::HTMLTokenizer::end):
        (WebCore::HTMLTokenizer::processToken):
        (WebCore::HTMLTokenizer::notifyFinished):
        * html/HTMLTokenizer.h:
        * html/HTMLViewSourceDocument.cpp: Added.
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        (WebCore::HTMLViewSourceDocument::addViewSourceAttribute):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        * html/HTMLViewSourceDocument.h: Added.
        * page/Frame.cpp:
        (WebCore::Frame::begin):
        (WebCore::Frame::inViewSourceMode):
        (WebCore::Frame::setInViewSourceMode):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget):

2006-06-26  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9031
        REGRESSION: Crash when closing tabs on newegg.com
        
        * page/Frame.cpp:
        (WebCore::Frame::pageDestroyed):        
        * page/Frame.h:
        Add new method which is invoked when the frame's page has been destroyed.
        Currently this function disassociates the JS Window object with the frame, 
        stopping any running JS timers.
        
        * page/Page.cpp:
        (WebCore::Page::~Page):
        Call pageDestroyed on all frames.

2006-06-26  Rob Buis  <buis@kde.org>

        Reviewed and reworked by Darin.

        Code cleanup, calculate clientX/clientY in one central place.

        * dom/EventTargetNode.h:
        * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent):
        Renamed parameters to pageX/Y since they aren't clientX/Y values.
        Removed code to compute clientX/Y (was a bit confused in naming before),
        because that's now done inside MouseEvent.

        * dom/MouseEvent.h:
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::MouseEvent): Removed clientX/Y parameters.
        (WebCore::MouseEvent::initMouseEvent): Added comments about problems I noticed.
        (WebCore::MouseEvent::which): Fixed comment that confusingly mentioned KHTML,
        when it was talking about the DOM standard.

        * dom/MouseRelatedEvent.h:
        * dom/MouseRelatedEvent.cpp:
        (WebCore::contentsX): Added helper function.
        (WebCore::contentsY): Ditto.
        (WebCore::MouseRelatedEvent::MouseRelatedEvent): Removed clientX/Y parameter,
        and added code to compute clientX/Y based on pageX/Y.
        (WebCore::MouseRelatedEvent::receivedTarget): Fixed comments.

        * dom/WheelEvent.h:
        * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Removed clientX/Y
        parameter.

        * page/FrameView.cpp: (WebCore::FrameView::dispatchDragEvent): Removed the code
        to compute coordinates, and renamed the confusingly named clientPos (which was
        a page-relative position) to contentsPos.

2006-06-25  David Carson  <dacarson@gmail.com>

        Reviewed and tweaked by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9185
        REGRESSION: UserID field appears with an incorrect height 
        on americanexpresslogin page
        - Height and Width attribute only applies to IMAGE and HIDDEN
        types.

        * dom/NamedMappedAttrMap.h:
        (WebCore::NamedMappedAttrMap::getAttributeItem):
        Added to static_cast method.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setInputType):
        Update the style decl if input type has changed.
        (WebCore::HTMLInputElement::mapToEntry):
        Only Cache height and width if it is an IMAGE or HIDDEN
        (WebCore::HTMLInputElement::parseMappedAttribute):
        Check type before adding height and width style.
        (WebCore::HTMLInputElement::attach):
        Remove code for discarding width.

        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::respectHeightAndWidthAttrs):
        New method added to report if this input type uses height & width.

2006-06-25  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9537
          REGRESSION: Reproducible crash in WebCore::RenderTextField::textWithHardLineBreaks()

        Test: fast/forms/textarea-hard-linewrap-empty.html

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::textWithHardLineBreaks): Added null check for
        m_div->firstChild()->renderer().

2006-06-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9388
          REGRESSION: outlines don't get erased when removed in some cases

        Test: fast/repaint/outline-shrinking.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Always repaint with the old style if the outline is
        becoming narrower, even if we are going to relayout.

2006-06-25  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8707:
        event.clientX and event.clientY should be relative to the viewport, not the canvas

        Make sure clientX and clientY take into account the scroll offsets
        of the view.

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::MouseEvent):
        * dom/MouseEvent.h:
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        (WebCore::MouseRelatedEvent::initCoordinates):
        * dom/MouseRelatedEvent.h:
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):
        * page/FrameView.cpp:
        (WebCore::FrameView::dispatchDragEvent):

2006-06-25  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        Bug 9574: Drosera should show inline scripts within the original HTML
        http://bugs.webkit.org/show_bug.cgi?id=9574

        * Pass the starting line number and error message to the debugger.
        * Call parsedSource even if there was a script parse error so the
          debugger can show the parse error.
        * Pass NSURL objects to the ObjC delegate for the script URLs.

        * bridge/mac/WebCoreScriptDebugger.h:
        * bridge/mac/WebCoreScriptDebugger.mm:
        (toNSURL):
        (WebCoreScriptDebuggerImp::sourceParsed):

2006-06-24  David Kilzer  <ddkilzer@kilzer.net>

        Build fix.  Reviewed by NOBODY.

        - Backed out patch for http://bugs.webkit.org/show_bug.cgi?id=8707
          event.clientX and event.clientY should be relative to the viewport, not the canvas

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::MouseEvent):
        * dom/MouseEvent.h:
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        (WebCore::MouseRelatedEvent::initCoordinates):
        * dom/MouseRelatedEvent.h:
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):

2006-06-24  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8707:
        event.clientX and event.clientY should be relative to the viewport, not the canvas

        Make sure clientX and clientY take into account the scroll offsets
        of the view.

        Test: fast/dom/window-xy-properties.html

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchMouseEvent):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEvent::MouseEvent):
        * dom/MouseEvent.h:
        * dom/MouseRelatedEvent.cpp:
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        (WebCore::MouseRelatedEvent::initCoordinates):
        * dom/MouseRelatedEvent.h:
        * dom/WheelEvent.cpp:
        (WebCore::WheelEvent::WheelEvent):

2006-06-24  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9352
        Webkit doesn't respect stroke-width in SVG for smaller <circle>s

        Make sure the stroke path is set before applying gradient transforms.

        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (WebCore::KRenderingPaintServerGradientQuartz::setup):
        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):

2006-06-24  Alexey Proskuryakov  <ap@nypop.com>

        Rubber-stamped by Eric.

        Add a -h (do not follow symlinks) option to ln in derived sources build script (without it,
        a symlink was created inside the source directory on second build).

        * WebCore.xcodeproj/project.pbxproj:

2006-06-24  James G. Speth  <speth@end.com>

        Reviewed by Darin.  Copyrights tweaked by ddkilzer.
        
        Bug 8331: DOMNodeLists returned to Objective-C are not properly wrapped
        http://bugs.webkit.org/show_bug.cgi?id=8331
        
        DOMNodes were the only objects handled by createObjcInstanceForValue.
        now it handles all of these: DOMNode, DOMNodeList, DOMNamedNodeMap, DOMStyleSheetList,
        DOMStyleSheet, DOMMediaList, DOMCSSRuleList, DOMCSSRule, DOMCSSStyleDeclaration, and DOMCSSValue
        
        * WebCore.xcodeproj/project.pbxproj: added file DOMCSSInternal.h to project
        * bindings/js/kjs_css.cpp:
        (KJS::): changed ClassInfo for DOMCSSStyleSheet to have DOMStyleSheet as its parent class
        * bindings/objc/DOM.mm:
        (-[DOMDocumentType :]):  moved DOMNamedNodeMap (WebCoreInternal) interface to DOMInternal.h
        * bindings/objc/DOMCSS.mm: moved WebCoreInternal interfaces to DOMCSSInternal.h
        * bindings/objc/DOMCSSInternal.h: Added file, contains WebCoreInternal interface for CSS classes
        * bindings/objc/DOMInternal.h: added DOMNamedNodeMap (WebCoreInternal) interface
        * bindings/objc/DOMUtility.mm:
        (KJS::ScriptInterpreter::createObjcInstanceForValue): support for more classes

2006-06-24  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Timothy.

        * Info.plist: Fixed copyright to include 2003-2006.
        * manual-tests/NPN_Invoke/Info.plist: Added copyright statement.

2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9547
          Resize corner does not track the mouse accurately

        Test: fast/css/resize-corner-tracking.html

        * page/FrameView.cpp:
        (WebCore::FrameView::handleMousePressEvent): Store the offset from the layer's
        resizing corner where dragging has started.
        (WebCore::FrameView::handleMouseMoveEvent): Pass the stored offset to the
        layer's resize method.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::resize): Added an offset parameter, which is added to
        the mouse location.
        For objects that may have intrinsic margins applied to them,
        added code to lift the margins into the object's style in order to keep them
        constant.
        Changed to take the content size as the base size if the box-sizing property
        is content-box.
        (WebCore::RenderLayer::offsetFromResizeCorner): Added. Returns the offset of the
        given point from the corner that tracks the mouse when resizing.
        * rendering/RenderLayer.h:

2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9316
          REGRESSION: text field width shrinks on first keystroke

        Test: fast/forms/floating-textfield-relayout.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
        the subtree root. Otherwise returns 0.
        (WebCore::FrameView::layoutPending): Made const.
        * page/FrameView.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcWidth): Added early return if this is the root
        of a subtree being laid out. 

2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9531
          Pages that need only a horizontal scroll bar get a vertical one as well

        The change affects many existing tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout): Mark the body renderer as needing layout if
        the view's height has changed and the body stretches to the view's height.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcHeight):
        * rendering/RenderBox.h:
        (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
        the HTML block needs to stretch to the view's height from calcHeight() here.

2006-06-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7461
          Always encode the path part of an URI as UTF-8

        Test: http/tests/uri/utf8-path.html

        * platform/KURL.cpp:
        (encodeRelativeString): Always set pathEncoding to UTF-8.

2006-06-24  Graham Dennis  <Graham.Dennis@gmail.com>

        Reviewed by Darin, landed by ap.
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=9467
          TreeWalker/NodeIterator do not restrict the traversal
        
        Test: traversal/stay-within-root.html

        * dom/Node.cpp:
        (WebCore::Node::traversePreviousNode):
        * dom/Node.h:
        Add a stayWithin argument to traversePreviousNode just like the other
        traversal functions
        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::findNextNode):
        (WebCore::NodeIterator::findPreviousNode):
        Ensure that when moving forward or backward that the root node is not
        exited
        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::previousNode):
        (WebCore::TreeWalker::nextNode):
        Ditto
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):

2006-06-24  Jonas Witt <jonas.witt@gmail.com>

        Reviewed by ggaren, landed by ap.

        - http://bugs.webkit.org/show_bug.cgi?id=9181
          Complete DOMUIEvent Obj-C API to reflect UIEvent

        * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported 
          symbols list of WebCore.framework

        Updated DOMUIEvent to include all DOM Level 2 properties
        Added DOMKeyboardEvent (DOM Level 3)
        Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
        Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
        Added this file (DOMEventsNonstandard) to the build process

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.h:
        * bindings/objc/DOMEvents.h:
        * bindings/objc/DOMEvents.mm:
        (+[DOMEvent _eventWith:]):
        (-[DOMUIEvent _UIEvent]):
        (-[DOMUIEvent view]):
        (-[DOMUIEvent detail]):
        (-[DOMUIEvent initUIEvent:::::]):
        (-[DOMKeyboardEvent _keyboardEvent]):
        (-[DOMKeyboardEvent keyIdentifier]):
        (-[DOMKeyboardEvent keyLocation]):
        (-[DOMKeyboardEvent ctrlKey]):
        (-[DOMKeyboardEvent shiftKey]):
        (-[DOMKeyboardEvent altKey]):
        (-[DOMKeyboardEvent metaKey]):
        (-[DOMKeyboardEvent getModifierState:]):
        (-[DOMMouseEvent button]):
        * bindings/objc/DOMEventsNonstandard.mm: Added.
        (-[DOMWheelEvent _wheelEvent]):
        (-[DOMWheelEvent screenX]):
        (-[DOMWheelEvent screenY]):
        (-[DOMWheelEvent clientX]):
        (-[DOMWheelEvent clientY]):
        (-[DOMWheelEvent ctrlKey]):
        (-[DOMWheelEvent shiftKey]):
        (-[DOMWheelEvent altKey]):
        (-[DOMWheelEvent metaKey]):
        (-[DOMWheelEvent isHorizontal]):
        (-[DOMWheelEvent wheelDelta]):
        (-[DOMKeyboardEvent _keyboardEvent]):
        (-[DOMKeyboardEvent keyCode]):
        (-[DOMKeyboardEvent charCode]):
        * bindings/objc/DOMPrivate.h:

2006-06-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by ap.

        - http://bugs.webkit.org/show_bug.cgi?id=9563
          Remove unused layoutSuppressed field and inLayout() method

        No test added because there is no change in functionality.

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::layout):
        * page/FrameView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):

2006-06-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8177
        Javascript search incredibly slow

        No change in functionality, thus no test.

        Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument 
        to Document.  Renamed collection types to use the preferred WebKit style. Replaced direct
        HTMLCollection creation with using accessors from Document in a few places.

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLElement children]):
        (-[DOMHTMLDocument images]):
        (-[DOMHTMLDocument applets]):
        (-[DOMHTMLDocument links]):
        (-[DOMHTMLDocument forms]):
        (-[DOMHTMLDocument anchors]):
        (-[DOMHTMLMapElement areas]):
        (-[DOMHTMLTableSectionElement rows]):
        (-[DOMHTMLTableElement rows]):
        (-[DOMHTMLTableElement tBodies]):
        (-[DOMHTMLTableRowElement cells]):
        * dom/Document.cpp:
        (WebCore::Document::images):
        (WebCore::Document::applets):
        (WebCore::Document::embeds):
        (WebCore::Document::objects):
        (WebCore::Document::scripts):
        (WebCore::Document::links):
        (WebCore::Document::forms):
        (WebCore::Document::anchors):
        (WebCore::Document::all):
        (WebCore::Document::windowNamedItems):
        (WebCore::Document::documentNamedItems):
        (WebCore::Document::nameCollectionInfo):
        * dom/Document.h:
        (WebCore::Document::collectionInfo):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::HTMLCollection):
        (WebCore::HTMLCollection::traverseNextItem):
        (WebCore::HTMLCollection::checkForNameMatch):
        (WebCore::HTMLCollection::updateNameCache):
        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::):
        * html/HTMLDocument.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::children):
        * html/HTMLMapElement.cpp:
        (WebCore::HTMLMapElement::areas):
        * html/HTMLNameCollection.h:
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::HTMLNameCollection):
        (WebCore::HTMLNameCollection::traverseNextItem):
        * html/HTMLFormCollection.cpp:
        * html/HTMLOptionsCollection.cpp:
        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::collectionInfo):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::rows):
        (WebCore::HTMLTableElement::tBodies):
        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::cells):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::rows):
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        * page/Frame.cpp:
        (WebCore::Frame::gotoAnchor):

2006-06-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9418
        WebKit will not build when Space exists in path

        * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to 
        avoid passing paths with spaces to make.

2006-06-23  Tim Omernick  <timo@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken

        * page/FrameView.cpp:
        (WebCore::FrameView::updateDragAndDrop):
        Use the passed mouse event, instead of the "current" event.  There is no such thing as
        a "drag event".  Asking for the current event during a drag returns a weird system-
        internal event with an invalid mouse location.

2006-06-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Eric.

        Manual test added: cursor.html

        Bug 9560: should support new CSS3 cursor types to get more resizing directions
        http://bugs.webkit.org/show_bug.cgi?id=9560

        Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
        col-resize and row-resize CSS3 cursor values.

        Also converted some of the cursor images to grayscale tiffs,
        some were RGB but had no color data.

        * Resources/eastResizeCursor.tiff:
        * Resources/eastWestResizeCursor.tiff: Added.
        * Resources/helpCursor.tiff:
        * Resources/moveCursor.tiff:
        * Resources/northEastResizeCursor.tiff:
        * Resources/northEastSouthWestResizeCursor.tiff: Added.
        * Resources/northResizeCursor.tiff:
        * Resources/northSouthResizeCursor.tiff: Added.
        * Resources/northWestResizeCursor.tiff:
        * Resources/northWestSouthEastResizeCursor.tiff: Added.
        * Resources/southEastResizeCursor.tiff:
        * Resources/southResizeCursor.tiff:
        * Resources/southWestResizeCursor.tiff:
        * Resources/textAreaResizeCorner.tiff:
        * Resources/waitCursor.tiff:
        * Resources/westResizeCursor.tiff:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * manual-tests/cursor.html: Added.
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        * platform/win/CursorWin.cpp:
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        * rendering/render_style.h: cursor needs 5 bits now

2006-06-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick
        
        - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::setRenderedRectForMarker):
        changed parameter from IntRect to const IntRect& at Darin's request
        (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
        new method, tests whether the rendered rect for each marker intersects the
        passed rect. If so, sets the rendered rect back to the placeholder rect that
        means that the rect for this marker isn't known.
        
        * page/Frame.cpp:
        (WebCore::Frame::paint):
        call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
        This ensures that old stale rects won't be preserved if the associated marker
        has moved such that it is out of the painted area.

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

        Reviewed by levi

        <rdar://problem/4527702>
        REGRESSION: Quote bars go away on first paragraph when I delete reply text

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        Add a rule for when to merge into empty blocks.

=== WebCore-521.13 ===

2006-06-23  Patrick Beard  <beard@apple.com>

        Reviewed by Tim Hatcher.

        <rdar://problem/4223619> Safari crashed in -[NSFont __isSystemFont]
        CFRetain and CFRelease NSFont's when FontPlatformData has a reference.
        We only do this when GC is enabled for performance reasons.
        No tests possible.

        * platform/mac/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):

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

        Reviewed by levi
        
        <http://bugs.webkit.org/show_bug.cgi?id=8074>
        Caret before/after block tables is too small
        <rdar://problem/4598331>
        right arrow out of a table shows cursor in a weird place

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::caretRect): Don't propagate to children, 
        VisiblePositions inside containers don't refer to children.
        Don't use the font height for tables.

2006-06-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Kevin.

        Added 64-bit String::number() functions

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::number):

2006-06-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9497
          REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr

        Test: fast/repaint/clipped-relative.html

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removePositionedObjects): Removed call to computeRepaintRects().
        Previously, it was needed to update the cached rects before RenderBox::setStyle()
        called updateLayerPositions().
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle): Changed to call updateLayerPositions() for a newly-
        created layer only if it does not need layout. Otherwise,  updateLayerPositions() will
        be called after layout. This saves a repaint in some cases.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::checkForRepaintOnResize): Renamed computeRepaintRects() to
        this and deleted the code that cached the absolute position and repaint rects.
        (WebCore::RenderLayer::updateLayerPositions): Added code to cache the absolute
        position and repaint rects right after updating the layer's position.
        * rendering/RenderLayer.h:

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

        Reviewed by Maciej.

        Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget 
        don't appear at all

        This regression was caused by <rdar://problem/4567520> HIDPI: pixel 
        cracks in weather widget at 1.83 scaling

        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): Do the contains 
        check before rounding to integral device pixels.

2006-06-22  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John.

        <rdar://problem/4529334> REGRESSION: Can't configure RadarInMotion widget for U.S. locations on Leopard (Javascript errors)
        
        * dom/Document.cpp:
        (WebCore::Document::completeURL):
        Check if both the URL and base URL are empty instead of using URL() which returns "about:blank" if the URL is empty.
        
2006-06-22  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::noscriptCreateErrorCheck):
        (WebCore::HTMLParser::canvasCreateErrorCheck):
        (WebCore::HTMLParser::isInline):
        Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.

2006-06-22  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
        
        * dom/xml_tokenizer.cpp:
        (WebCore::shouldAllowExternalLoad):
        Use correct path for the catalog.
        
        (WebCore::errorFunc):
        Add error function to keep parser errors from going to the console.
        
        (WebCore::XMLTokenizer::write):
        Remove if (0 &&)
        
        (WebCore::XMLTokenizer::end):
        Pass DocLoader to xmlDocPtrForString.
        
        (WebCore::xmlDocPtrForString):        
        * dom/xml_tokenizer.h:
        Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
        
        * xml/XSLTProcessor.cpp:
        (WebCore::xmlDocPtrFromNode):
        Pass DocLoader to xmlDocPtrForString
        
2006-06-21  David Hyatt  <hyatt@apple.com>

        Back out -webkit-overlay and just rename it back to overlay.

        Reviewed by darin

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

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

        Reviewed by levi

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
        to stop merges across table cells.
        (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
        across table cells to initializePositionData so that its changes to 
        m_mergeBlocksAfterDelete can take effect on the endingPosition.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
        instead of splitting/cloning a table cell.

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

        Reviewed by John.

        Fix for <rdar://problem/3914965> Misspelled text underline doesn't 
        look right at non-standard scale factors

        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspelling): We need to call  
        into our previously-created SPI for pattern-drawing so that the 
        phase is right at all scale factors.

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

        Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.

        Reviewed by adele

        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        (WebCore::CSSStyleSelector::applyProperty):
        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport):
        (WebCore::FrameView::layout):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::determineHorizontalPosition):
        (WebCore::RenderBlock::layoutBlockChildren):
        (WebCore::RenderBlock::rightOffset):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::calcMinMaxWidth):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        (WebCore::RenderBox::contentWidth):
        (WebCore::RenderBox::contentHeight):
        (WebCore::RenderBox::sizesToIntrinsicWidth):
        (WebCore::RenderBox::calcHeight):
        (WebCore::RenderBox::calcPercentageHeight):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::shouldAutoscroll):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::RenderLayer::styleChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::clientWidth):
        (WebCore::RenderObject::clientHeight):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasAutoVerticalScrollbar):
        (WebCore::RenderObject::hasAutoHorizontalScrollbar):
        (WebCore::RenderObject::scrollsOverflow):
        (WebCore::RenderObject::scrollsOverflowX):
        (WebCore::RenderObject::scrollsOverflowY):
        (WebCore::RenderObject::includeVerticalScrollbarSize):
        (WebCore::RenderObject::includeHorizontalScrollbarSize):
        * rendering/RenderTextArea.cpp:
        (WebCore::RenderTextArea::setStyle):
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle):
        (WebCore::RenderTextField::calcHeight):
        (WebCore::RenderTextField::calcMinMaxWidth):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::diff):
        * rendering/render_style.h:
        (WebCore::):
        (WebCore::RenderStyle::NonInheritedFlags::operator==):
        (WebCore::RenderStyle::setBitDefaults):
        (WebCore::RenderStyle::overflowX):
        (WebCore::RenderStyle::overflowY):
        (WebCore::RenderStyle::setOverflowX):
        (WebCore::RenderStyle::setOverflowY):
        (WebCore::RenderStyle::initialOverflowX):
        (WebCore::RenderStyle::initialOverflowY):

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

        Reviewed by levi
        
        <rdar://problem/4590366>
        REGRESSION: Selection incorrectly paints gaps on TOT

        * dom/Document.cpp:
        (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
        selection and the rightmost candidate for the start of the selection.
        * dom/Position.cpp:
        (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
        to get to candidates before/after linewraps.
        (WebCore::Position::downstream):
        (WebCore::Position::inRenderedContent):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): 
        Ensure that the leftmost candidate is used.  We should sample the style from that one.
        When the block to insert is after a br, a br should be inserted even in strict mode.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): 
        Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
        Don't apply a style if its unnecessary.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
        * editing/VisiblePosition.cpp:
        Renamed initDeepPosition and made it return the canonical position.
        (WebCore::VisiblePosition::init):
        (WebCore::VisiblePosition::canonicalPosition):
        * editing/VisiblePosition.h: 
        (WebCore::VisiblePosition::characterBefore): Added.
        * editing/visible_units.cpp:
        (WebCore::startOfParagraph):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
        onto the next line.

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

        Reviewed and committed by Beth.

        Fix for <rdar://problem/4595337> Resizing a containing block 
        strictly vertically does not cause contained height:100% element to 
        also be resized.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlockChildren): Also layout if the 
        child's min or max height is a percent.

2006-06-21  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=6058
        XMLTokenizer runs all <script> tags at once instead of as they're encountered
        
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::XMLTokenizer):
        Initialize new members.
        
        (WebCore::XMLTokenizer::endElementNs):
        If we've encountered a script tag, execute the script here. If the script
        tag refers to an external resource, pause the parser while loading it.
        
        (WebCore::XMLTokenizer::end):
        Move code from finish() to here
        
        (WebCore::XMLTokenizer::finish):
        Only call end() if the parser isn't paused.
        
        (WebCore::XMLTokenizer::notifyFinished):
        Evaluate the script here and resume the parser.
        
        (WebCore::XMLTokenizer::resumeParsing):
        If finish() was called, call end() after writing all data.

2006-06-21  Steve Falkenburg  <sfalken@apple.com>

        Fix build break

        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::shouldInterruptJavaScript):

2006-06-21  Anders Carlsson  <acarlsson@apple.com>

        Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
        
        * bridge/win/FrameWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::shouldInterruptJavaScript):

2006-06-21  Ben Goodger <bengoodger@gmail.com>

        Reviewed by Maciej. 

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=9523
        More Win32 build bustage.
 
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::shouldInterruptJavaScript):
        * bridge/win/FrameWin.h:

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

        Reviewed by Anders.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8948
        Switch to use new text field implementation for <textarea>

        * css/html4.css:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::selectionStart):
        (WebCore::HTMLTextAreaElement::selectionEnd):
        (WebCore::HTMLTextAreaElement::setSelectionStart):
        (WebCore::HTMLTextAreaElement::setSelectionEnd):
        (WebCore::HTMLTextAreaElement::select):
        (WebCore::HTMLTextAreaElement::setSelectionRange):
        (WebCore::HTMLTextAreaElement::createRenderer):
        (WebCore::HTMLTextAreaElement::appendFormData):
        (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
        (WebCore::HTMLTextAreaElement::isMouseFocusable):
        (WebCore::HTMLTextAreaElement::focus):
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        (WebCore::HTMLTextAreaElement::updateValue):
        (WebCore::HTMLTextAreaElement::setValue):

2006-06-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

        Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way

        * icon/SQLStatement.cpp:

2006-06-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej.

        More changes/additions setting the stage for the major IconDatabase hookup.

        * WebCore.xcodeproj/project.pbxproj:  Added SQLTransaction.cpp

        * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
        (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
        (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
        (-[WebCoreIconDatabaseBridge iconURLForURL:]):
        (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
        (-[WebCoreIconDatabaseBridge retainIconForURL:]):
        (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
        (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
        (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
        (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
        (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):

        * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
        (initializeLoggingChannelsIfNecessary):

        * icon/IconDatabase.cpp:  Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open):
        (WebCore::IconDatabase::close):
        (WebCore::IconDatabase::isValidDatabase):
        (WebCore::IconDatabase::recreateDatabase):
        (WebCore::IconDatabase::setPrivateBrowsingEnabled):
        (WebCore::IconDatabase::iconForURL):
        (WebCore::IconDatabase::iconURLForURL):
        (WebCore::IconDatabase::defaultIcon):
        (WebCore::IconDatabase::retainIconForURL):
        (WebCore::IconDatabase::releaseIconForURL):
        (WebCore::IconDatabase::setIconForIconURL):
        (WebCore::IconDatabase::setHaveNoIconForIconURL):
        (WebCore::IconDatabase::setIconURLForPageURL):
        (WebCore::IconDatabase::hasIconForIconURL):

        * icon/IconDatabase.h:  WebIcon will be an internal class used in IconDatabase but is not complete yet
        (WebCore::WebIcon::getExpiration):
        (WebCore::WebIcon::getTouch):

        * icon/SQLDatabase.cpp:  Added more SQLite convenience methods
        (SQLDatabase::setFullsync):
        (SQLDatabase::setBusyTimeout):
        (SQLDatabase::setBusyHandler):
        * icon/SQLDatabase.h:
        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::returnsAtLeastOneResult):

        * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
        (SQLTransaction::SQLTransaction):
        (SQLTransaction::~SQLTransaction):
        (SQLTransaction::begin):
        (SQLTransaction::commit):
        (SQLTransaction::rollback):

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

        Reviewed by Maciej.

        Fixes for:
        http://bugs.webkit.org/show_bug.cgi?id=8724
        REGRESSION: onSelect handler doesn't work for text fields

        http://bugs.webkit.org/show_bug.cgi?id=7676
        REGRESSION: Selection methods on new text fields don't work if text field is hidden

        http://bugs.webkit.org/show_bug.cgi?id=8867
        REGRESSION: selectionStart/End return 0 for input element once it no longer has focus

        Implemented onSelect for new text fields and textareas.  Also fixed selection restore
        behavior to better match other browsers and Safari 2.0 behavior.

        Tests:
        * fast/forms/input-selection-restore.html
        * fast/forms/input-selection-hidden.html
        * fast/forms/onselect-textarea.html
        * fast/forms/onselect-textfield.html

        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init): Initializes cached selection.
        (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
        (WebCore::HTMLInputElement::selectionEnd): ditto.
        (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.

        * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
        (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
        (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
        (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text.  Otherwise,
        restore the cached selection.  This matches other browsers' behavior.
        (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection.  Matches Safari 2.0 behavior.

        * page/Frame.h: Added notifyRendererOfSelectionChange method. 
        * page/Frame.cpp:
        (WebCore::Frame::notifyRendererOfSelectionChange): Added.  Calls selectionChanged for text fields and textareas.  Forwards a userTriggered
        argument so selectionChanged knows whether or not to fire onSelect.
        (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false).  This gets called for all selection changes, so the renderer
        can always update its cached selection values.
        (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
        making a selection with the mouse.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
        fired when the user makes a selection with the keyboard.
        (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.

        * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and 
        return early since we won't be able to actually set the selection.
        (WebCore::RenderTextField::selectionChanged): Caches the selection.  
        If the selection is a range, and its triggered by user action, then fire the onSelect event.

2006-06-21  Anders Carlsson  <acarlsson@apple.com>

        * bridge/win/FrameWin.cpp:
        (WebCore::shouldInterruptJavaScript):
        * bridge/win/FrameWin.h:
        Try fixing the Windows build.

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

        RS by Tim Hatcher.

        Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
       
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLOptionElement.h:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::recalcStyle):
        (WebCore::HTMLSelectElement::createRenderer):
        (WebCore::HTMLSelectElement::setRecalcListItems):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        * html/HTMLSelectElement.h:
        * rendering/DeprecatedRenderSelect.cpp: Added.
        (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
        (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
        (WebCore::DeprecatedRenderSelect::setStyle):
        (WebCore::DeprecatedRenderSelect::updateFromElement):
        (WebCore::DeprecatedRenderSelect::baselinePosition):
        (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
        (WebCore::DeprecatedRenderSelect::layout):
        (WebCore::DeprecatedRenderSelect::valueChanged):
        (WebCore::DeprecatedRenderSelect::selectionChanged):
        (WebCore::DeprecatedRenderSelect::setOptionsChanged):
        (WebCore::DeprecatedRenderSelect::createListBox):
        (WebCore::DeprecatedRenderSelect::updateSelection):
        * rendering/DeprecatedRenderSelect.h: Added.
        (WebCore::DeprecatedRenderSelect::renderName):
        * rendering/RenderSelect.cpp: Removed.
        * rendering/RenderSelect.h: Removed.

2006-06-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9509
        Would like a way to pause/resume XML parsing

        * dom/xml_tokenizer.cpp:
        (WebCore::PendingCallbacks::PendingCallbacks):
        (WebCore::PendingCallbacks::appendStartElementNSCallback):
        (WebCore::PendingCallbacks::appendEndElementNSCallback):
        (WebCore::PendingCallbacks::appendCharactersCallback):
        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
        (WebCore::PendingCallbacks::appendCDATABlockCallback):
        (WebCore::PendingCallbacks::appendCommentCallback):
        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
        (WebCore::PendingCallbacks::appendErrorCallback):
        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
        (WebCore::PendingCallbacks::isEmpty):
        (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
        (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
        (WebCore::PendingCallbacks::PendingCharactersCallback::call):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
        (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
        (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
        (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
        (WebCore::PendingCallbacks::PendingCommentCallback::call):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
        (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
        (WebCore::PendingCallbacks::):
        New classes which manage a list of pending SAX callbacks that have not yet
        been sent to the tokenizer.
        
        (WebCore::XMLTokenizer::XMLTokenizer):
        Initialize new member variables.
        
        (WebCore::XMLTokenizer::~XMLTokenizer):
        Delete PendingCallbacks object.
        
        (WebCore::XMLTokenizer::write):
        If the parser is paused, queue the data to be written.
        
        (WebCore::XMLTokenizer::startElementNs):
        (WebCore::XMLTokenizer::endElementNs):
        (WebCore::XMLTokenizer::characters):
        (WebCore::XMLTokenizer::error):
        (WebCore::XMLTokenizer::processingInstruction):
        (WebCore::XMLTokenizer::cdataBlock):
        (WebCore::XMLTokenizer::comment):
        (WebCore::XMLTokenizer::internalSubset):
        If the parser has been paused, queue the callbacks instead.

        (WebCore::XMLTokenizer::handleError):
        New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
        
        (WebCore::XMLTokenizer::finish):
        (WebCore::XMLTokenizer::pauseParsing):
         Set m_parserPaused to true.
        
        (WebCore::XMLTokenizer::resumeParsing):
        Call the pending callbacks and then parse the pending source.
        
2006-06-20  David Hyatt  <hyatt@apple.com>

        Don't send the custom highlighter callback when painting is disabled.

        Reviewed by harrison

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):

2006-06-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John

        <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
        
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::checkBuffer):
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextTokenizer::write):        
        (WebCore::TextTokenizer::finish):
        Add a text buffer which is used for translation of CR and CRLF to plain LF, 
        like the HTML tokenizer does.

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

        Reviewed by Eric.

        - fix crasher on one of the layout tests caused by my recent checkin

        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint):

2006-06-19  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=5499
        Page reload does not send any cache control headers

        Test: http/tests/misc/refresh-headers.php

        * bindings/js/kjs_window.cpp:
        (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.

        * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
        used only for storing response HTTP headers, which was an overkill.

        * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.

        * page/Frame.cpp:
        (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
        (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
        (WebCore::Frame::receivedFirstData): Ditto.
        (WebCore::Frame::addMetaData): Ditto.
        (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
        scheduleRedirection() does.
        (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.

2006-06-19  Ben Goodger  <bengoodger@gmail.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9501
        Windows build fails with link error CharsetTable not defined

        * platform/make-charset-table.pl:
        (process_iana_charsets): Move test for equality to alias "None" until after
        normalization steps to ensure escape characters in the input data don't
        interfere with processing.  Convert nearby tabs to 4 spaces in this function.

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

        Reviewed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=9488
        "Animated GIFs do not respect transforms in SVG"
        
        http://bugs.webkit.org/show_bug.cgi?id=6946
        "SVG shows invalidation issues in WebKit"
        
        http://www.treebuilder.de/default.asp?file=441875.xml
        "Invalidation issues with "SVG 3d" demo"
        
        http://code.google.com/webstats/2005-12/pages.html
        "SVG text doesn't repaint correctly"

        * kcanvas/KCanvasContainer.cpp:
        (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
        appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
        (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
        seems wrong.
        * kcanvas/KCanvasContainer.h: Prototype new method.

        * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
        so it paints twice.
        * kcanvas/RenderForeignObject.cpp:
        (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
        so everything paints that is supposed to. Also handle opacity here since we won't get layers.
        (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
        appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
        (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
        (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
        changes, as by transform.
        * kcanvas/RenderForeignObject.h:

        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity 
        here since we won't get layers.
        (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
        appropriate transforms, so damage rects in SVG images  get propagated up properly.
        (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
        (WebCore::RenderSVGImage::translateForAttributes): Use above.
        (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
        (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
        for transforms.
        (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
        * kcanvas/RenderSVGImage.h:

        * kcanvas/RenderSVGText.cpp:
        (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
        won't get a layer.
        (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
        (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
        (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.

        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
        and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
        rect will get inflated if user space is rotated or skewed.

        * kcanvas/RenderPath.cpp:
        (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
        (WebCore::RenderPath::paint): Hhandle opacity here.
        
        Bonus fix:
        
        * kcanvas/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
        attribute transform.

2006-06-19  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9500
          Split dom2_eventsimpl.* into separate files (one class per file).

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_window.cpp:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMInternal.mm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/mac/FrameMac.mm:
        * dom/BeforeTextInsertedEvent.h:
        * dom/BeforeUnloadEvent.cpp: Added.
        * dom/BeforeUnloadEvent.h: Added.
        (WebCore::BeforeUnloadEvent::result):
        * dom/CharacterData.cpp:
        * dom/Clipboard.h: Added.
        (WebCore::Clipboard::~Clipboard):
        * dom/ClipboardEvent.cpp: Added.
        (WebCore::ClipboardEvent::ClipboardEvent):
        * dom/ClipboardEvent.h: Added.
        (WebCore::ClipboardEvent::clipboard):
        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        * dom/Event.cpp: Added.
        (WebCore::Event::Event):
        (WebCore::Event::initEvent):
        * dom/Event.h: Added.
        (WebCore::):
        (WebCore::Event::):
        (WebCore::Event::type):
        (WebCore::Event::target):
        (WebCore::Event::currentTarget):
        (WebCore::Event::setCurrentTarget):
        (WebCore::Event::eventPhase):
        (WebCore::Event::setEventPhase):
        (WebCore::Event::bubbles):
        (WebCore::Event::cancelable):
        (WebCore::Event::timeStamp):
        (WebCore::Event::stopPropagation):
        (WebCore::Event::propagationStopped):
        (WebCore::Event::defaultPrevented):
        (WebCore::Event::setDefaultHandled):
        (WebCore::Event::defaultHandled):
        (WebCore::Event::preventDefault):
        (WebCore::Event::setDefaultPrevented):
        (WebCore::Event::setCancelBubble):
        (WebCore::Event::getCancelBubble):
        (WebCore::Event::dispatched):
        * dom/EventTargetNode.cpp:
        * dom/KeyboardEvent.cpp: Added.
        (WebCore::KeyboardEvent::KeyboardEvent):
        (WebCore::KeyboardEvent::initKeyboardEvent):
        * dom/KeyboardEvent.h: Added.
        (WebCore::KeyboardEvent::):
        (WebCore::KeyboardEvent::keyIdentifier):
        (WebCore::KeyboardEvent::keyLocation):
        (WebCore::KeyboardEvent::altGraphKey):
        (WebCore::KeyboardEvent::keyEvent):
        * dom/MouseEvent.cpp: Added.
        (WebCore::MouseEvent::MouseEvent):
        (WebCore::MouseEvent::initMouseEvent):
        (WebCore::MouseEvent::isDragEvent):
        (WebCore::MouseEvent::toElement):
        (WebCore::MouseEvent::fromElement):
        * dom/MouseEvent.h: Added.
        (WebCore::MouseEvent::button):
        (WebCore::MouseEvent::relatedTarget):
        (WebCore::MouseEvent::clipboard):
        * dom/MouseRelatedEvent.cpp: Added.
        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
        * dom/MouseRelatedEvent.h: Added.
        (WebCore::MouseRelatedEvent::screenX):
        (WebCore::MouseRelatedEvent::screenY):
        (WebCore::MouseRelatedEvent::clientX):
        (WebCore::MouseRelatedEvent::clientY):
        (WebCore::MouseRelatedEvent::layerX):
        (WebCore::MouseRelatedEvent::layerY):
        (WebCore::MouseRelatedEvent::offsetX):
        (WebCore::MouseRelatedEvent::offsetY):
        (WebCore::MouseRelatedEvent::isSimulated):
        * dom/MutationEvent.cpp: Added.
        (WebCore::MutationEvent::MutationEvent):
        (WebCore::MutationEvent::initMutationEvent):
        * dom/MutationEvent.h: Added.
        (WebCore::MutationEvent::):
        (WebCore::MutationEvent::relatedNode):
        (WebCore::MutationEvent::prevValue):
        (WebCore::MutationEvent::newValue):
        (WebCore::MutationEvent::attrName):
        (WebCore::MutationEvent::attrChange):
        * dom/RegisteredEventListener.cpp: Added.
        (WebCore::RegisteredEventListener::RegisteredEventListener):
        (WebCore::operator==):
        * dom/RegisteredEventListener.h: Added.
        (WebCore::RegisteredEventListener::eventType):
        (WebCore::RegisteredEventListener::listener):
        (WebCore::RegisteredEventListener::useCapture):
        (WebCore::RegisteredEventListener::removed):
        (WebCore::RegisteredEventListener::setRemoved):
        (WebCore::operator!=):
        * dom/UIEvent.cpp: Added.
        (WebCore::UIEvent::UIEvent):
        (WebCore::UIEvent::initUIEvent):
        * dom/UIEvent.h: Added.
        (WebCore::UIEvent::view):
        (WebCore::UIEvent::detail):
        * dom/UIEventWithKeyState.h: Added.
        (WebCore::UIEventWithKeyState::UIEventWithKeyState):
        (WebCore::UIEventWithKeyState::ctrlKey):
        (WebCore::UIEventWithKeyState::shiftKey):
        (WebCore::UIEventWithKeyState::altKey):
        (WebCore::UIEventWithKeyState::metaKey):
        * dom/WheelEvent.cpp: Added.
        (WebCore::WheelEvent::WheelEvent):
        * dom/WheelEvent.h: Added.
        (WebCore::WheelEvent::isHorizontal):
        (WebCore::WheelEvent::wheelDelta):
        * dom/dom2_eventsimpl.cpp: Removed.
        * dom/dom2_eventsimpl.h: Removed.
        * editing/EditCommand.cpp:
        * editing/SelectionController.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLButtonElement.cpp:
        * html/HTMLDocument.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLFrameSetElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLSelectElement.cpp:
        * html/HTMLTextAreaElement.cpp:
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/svg/SVGAElement.cpp:
        * page/Frame.cpp:
        * page/FrameView.cpp:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/PlatformWheelEvent.h:
        * platform/mac/ClipboardMac.h:
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderTextField.cpp:
        * xml/xmlhttprequest.cpp:

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

        Reviewed by Brady.

        - removed a few empty/unused files Brady found by tracking down the nm error message

        * editing/VisibleRange.cpp: Removed.
        * editing/VisibleRange.h: Removed.
        * kcanvas/KCanvasImage.cpp: Removed.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
        * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
        * WebCoreSources.bkl: Removed VisibleRange.cpp.

2006-06-19  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9492
        Fix or remove window.debug.

        It was only available in newly created windows, and became undefined after changing the URL
        or reloading. Let's try removing it; hopefully, no-one will notice.

        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.

2006-06-19  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8972
        REGRESSION: invalid UTF-8 sequences are not displayed

        Test: LayoutTests/fast/encoding/invalid-UTF-8.html

        * dom/xml_tokenizer.cpp:
        (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
        before, because the garbage at the end was guaranteed to be invalid UTF-8, and was 
        omitted in appendOmittingUnwanted();

        * platform/StreamingTextDecoder.cpp:
        (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
        Renamed back from appendOmittingUnwanted();

        (WebCore::StreamingTextDecoder::convertUsingICU):
        * platform/StreamingTextDecoder.h:
        Update for the above function renaming.

2006-06-18  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by darin.

        http://bugs.webkit.org/show_bug.cgi?id=9498
        Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.

2006-06-18  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by ggaren.

        * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.

2006-06-18  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by ggaren.

        - Update a manual test for http://bugs.webkit.org/show_bug.cgi?id=9150
          DumpRenderTree should be able to keep URL history during runs

        * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
        Fixed coordinates for mouse events.  Added call to keepWebHistory().
        * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
        window.history hack.

2006-06-17  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::ScriptInterpreter):
        Set the default script timeout.
        
        (KJS::ScriptInterpreter::shouldInterruptScript):
        New function which asks the frame if the script should be interrupted.
        
        * bindings/js/kjs_binding.h:
                
        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        Add calls to startTimeoutCheck/stopTimeoutCheck
        
        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        Add calls to pauseTimeoutCheck/unpauseTimeoutCheck 
        
        (KJS::ScheduledAction::execute):
        Add calls to startTimeoutCheck/stopTimeoutCheck
        
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::shouldInterruptJavaScript):
        New function which asks the bridge if the script should be interrupted.
        
        * bridge/mac/WebCoreFrameBridge.h:
        * page/Frame.h:
        Add function declarations.
        
2006-06-17  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by ggaren.

        - http://bugs.webkit.org/show_bug.cgi?id=8131
        Some properties and methods of window and document objects cannot be converted to a string

        Most of the properties were already fixed, this just adds adds a prototype to window.debug.

        Test: fast/dom/everything-to-string.html

        * bindings/js/kjs_proxy.cpp:
        (WebCore::TestFunctionImp::TestFunctionImp): 
        (WebCore::KJSProxy::initScriptIfNeeded):

2006-06-17  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Maciej.

        - Fix capitalization issue for case-sensitive filesystems.

        * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.

2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7395
          Table not properly re-flowed when floated div removed from layout

        Test: fast/block/float/table-relayout.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
        of children that use lineWidth.
        * rendering/RenderBlock.h: Added a FIXME.

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

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6282:
        Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex

        Update selectedIndex when a new option is added using javascript.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLSelectCollection::put):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::setOption):
        (WebCore::HTMLSelectElement::setLength):
        * html/HTMLSelectElement.h:

2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=9466
          Assertion failure when dragging an image from the document into Safari's address bar

        * manual-tests/reset-initiatedDrag.html: Added.

2006-06-16  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by darin.

        http://bugs.webkit.org/show_bug.cgi?id=9463
        REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
        (m_floatingSelectors.contains(selector)) in some CSS tests

        * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
        instead of the bare constructor.

2006-06-16  David Harrison  <harrison@apple.com>

        Reviewed by Hatcher.

        <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window

        Problem was that revision lost a check to not draw the markers
        when paintingDisabled().   This led the markers to be drawn when
        the window deactivated, at which time the view happens to be flipped.

        It is similar but not the same as the Mail ToDo highlighting
        issue, which is due to the custom highlight method
        drawing when the focusView is nil.  Mail team knows this
        and has tested the fix.

        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspelling):
        Early return if paintingDisabled().

2006-06-16  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Adjust padding of inner div so text lines up with text fields.
        Adjust height of textarea so it only leaves room for the horizontal
        scrollbar if overflow is set to scroll, or if overflow is set to
        auto and there's no word wrap.

        These changes will be tested by current layout tests when the
        new textarea implementation takes effect.

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::createDivStyle):
        (WebCore::RenderTextField::calcHeight):

2006-06-16  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin
        
        - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net

        * dom/Document.cpp:
        (WebCore::Document::addMarker):
        Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
        change value of [it - markers.begin()].

2006-06-16  Adele Peterson  <adele@apple.com>

        Reviewed by Alice.

        Added code to draw Cocoa-like border for textareas instead of just using CSS.

        * WebCore.exp:
        * css/html4.css: Sets a 1px solid border.
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        * rendering/RenderThemeMac.h: Formatting changes.
        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
        Uses new wkDrawBezeledTextArea to draw border.

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

        Reviewed by hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9432
          REGRESSION: crash in capitalization code due to empty-string generated content

        Test: fast/text/capitalize-empty-generated-string.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText): Skip empty-string text renderers when
        looking for the previous character.

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

        Reviewed by levi

        <http://bugs.webkit.org/show_bug.cgi?id=8637>
        REGRESSION (11-16-05): Selection gaps left behind after delete

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that 
        selection gaps are invalidated.

2006-06-15  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Geoff and Darin.
        
        Prefer the DWARF debugging symbols format for use in Xcode 2.3.

        * WebCore.xcodeproj/project.pbxproj:

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

        Reviewed by harrison
        
        * editing/CompositeEditCommand.cpp:
        (WebCore::hasARenderedDescendant):
        (WebCore::CompositeEditCommand::prune): Ascend using the DOM
        (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
        during deletion is fixed, removing the fall back.

2006-06-15  Nicholas Shanks  <contact@nickshanks.com>

        Reviewed by Hyatt, landed by Joost de Valk.

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

        Add support for the :lang pseudo-class.

        * css/CSSGrammar.y:
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::operator == ):
        * css/CSSSelector.h:
        (WebCore::CSSSelector::CSSSelector):
        * css/cssparser.cpp:
        (WebCore::CSSParser::lex):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector):
        * css/tokenizer.flex:

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

        Reviewed by harrison
        
        <http://bugs.webkit.org/show_bug.cgi?id=9456>
        REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
        
        * page/Frame.cpp:
        (WebCore::Frame::findString): When comparing the found range with
        what's currently selected a) build a selection with the found
        range to remove collapsed whitespace and b) compare ranges 
        instead of selection objects to ignore the way that the 
        current selection was made (to ignore the base and extent).

2006-06-15  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by mjs.

        http://bugs.webkit.org/show_bug.cgi?id=9382
        IDL files missing copyright/license headers

        Add Apple BSD license and copyright to IDL files.

        * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
        * ksvg2/bindings/idl/svg/SVGAElement.idl:
        * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
        * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
        * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
        * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
        * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
        * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
        * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
        * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
        * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
        * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
        * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
        * ksvg2/bindings/idl/svg/SVGDescElement.idl:
        * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
        * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
        * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
        * ksvg2/bindings/idl/svg/SVGEvent.idl:
        * ksvg2/bindings/idl/svg/SVGException.idl:
        * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
        * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
        * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
        * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
        * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
        * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
        * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
        * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
        * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
        * ksvg2/bindings/idl/svg/SVGGElement.idl:
        * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
        * ksvg2/bindings/idl/svg/SVGICCColor.idl:
        * ksvg2/bindings/idl/svg/SVGImageElement.idl:
        * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
        * ksvg2/bindings/idl/svg/SVGLengthList.idl:
        * ksvg2/bindings/idl/svg/SVGLineElement.idl:
        * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
        * ksvg2/bindings/idl/svg/SVGLocatable.idl:
        * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
        * ksvg2/bindings/idl/svg/SVGNumberList.idl:
        * ksvg2/bindings/idl/svg/SVGPaint.idl:
        * ksvg2/bindings/idl/svg/SVGPathElement.idl:
        * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
        * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
        * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
        * ksvg2/bindings/idl/svg/SVGPointList.idl:
        * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
        * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
        * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
        * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
        * ksvg2/bindings/idl/svg/SVGRectElement.idl:
        * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
        * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
        * ksvg2/bindings/idl/svg/SVGSetElement.idl:
        * ksvg2/bindings/idl/svg/SVGStopElement.idl:
        * ksvg2/bindings/idl/svg/SVGStringList.idl:
        * ksvg2/bindings/idl/svg/SVGStylable.idl:
        * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
        * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
        * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
        * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
        * ksvg2/bindings/idl/svg/SVGTests.idl:
        * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
        * ksvg2/bindings/idl/svg/SVGTextElement.idl:
        * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
        * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
        * ksvg2/bindings/idl/svg/SVGTransformList.idl:
        * ksvg2/bindings/idl/svg/SVGTransformable.idl:
        * ksvg2/bindings/idl/svg/SVGURIReference.idl:
        * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
        * ksvg2/bindings/idl/svg/SVGUseElement.idl:
        * ksvg2/bindings/idl/svg/SVGViewElement.idl:
        * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
        * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
        * ksvg2/svg/SVGAnimatedLength.idl:

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

        Reviewed by levi

        <rdar://problem/4439248>
        REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)

        * editing/markup.cpp:
        (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.

2006-06-14  Levi Weintraub  <lweintraub@apple.com>

        Reviewed by justin

        <http://bugs.webkit.org/show_bug.cgi?id=7580>
        TinyMCE: Implement execCommand(formatBlock, ...)

        * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
        * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
        (WebCore::CompositeEditCommand::moveParagraphs): Ditto.  downstream() the start
        or else we'll move collapsed whitespace and uncollapse it.
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
        because that's removeNode's responsibility.
        (WebCore::updatePositionForNodeRemoval): Added.
        (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
        overload of removeNode so that we can update positions as we remove nodes.
        (WebCore::updatePositionForTextRemoval): Added.
        (WebCore::DeleteSelectionCommand::deleteTextFromNode):
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
        (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
        since m_trailingWhitespace is always valid (we update it as we remove nodes).
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
        be fixed if they have collapsed before merging paragraphs.
        * editing/DeleteSelectionCommand.h:
        * editing/EditAction.h:
        (WebCore::):
        * editing/FormatBlockCommand.cpp: Added.
        (WebCore::FormatBlockCommand::FormatBlockCommand):
        (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
        (WebCore::FormatBlockCommand::doApply):
        * editing/FormatBlockCommand.h: Added.
        (WebCore::FormatBlockCommand::editingAction):
        * editing/InsertListCommand.h:
        (WebCore::InsertListCommand::editingAction):
        * editing/JSEditor.cpp:
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::validBlockTag):
        (WebCore::createElement):
        * editing/htmlediting.h:

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

        Reviewed by Anders.

        - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchWindowEvent):

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

        Rename RenderSlider to DeprecatedSlider, so that I can start work on
        the new NSView-less slider.

        Reviewed by john

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::createRenderer):
        * rendering/DeprecatedSlider.cpp: Added.
        (WebCore::DeprecatedSlider::DeprecatedSlider):
        (WebCore::DeprecatedSlider::calcMinMaxWidth):
        (WebCore::DeprecatedSlider::updateFromElement):
        (WebCore::DeprecatedSlider::valueChanged):
        * rendering/DeprecatedSlider.h: Added.
        (WebCore::DeprecatedSlider::renderName):
        * rendering/RenderSlider.cpp: Removed.
        * rendering/RenderSlider.h: Removed.

2006-06-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.
        
        - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument 
        appears challenging.
        
        - Added createHTMLDocument to Objc bindings, fixed up implementation
        to comply with the DOM 2 Candidate Recommendation in which is was defined.
        (It never made the final spec.) Also removed use of deprecatedString,
        to avoid unnecessary killing of puppies.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMImplementation createHTMLDocument:]):
        * bindings/objc/DOMPrivate.h:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        (WebCore::DOMImplementation::createHTMLDocument):

2006-06-13  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp

        * bindings/js/kjs_html.cpp:
        (KJS::HTMLElementFunction::callAsFunction):
        support this by converting the argument to an options object
        before passing to remove()

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

        Reviewed by Geoff.

        - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page

        This patch fixes a bug where the event listener cache does not distinguish
        HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
        prevented default masked a case of this bug on the yahoo.com home page until
        we fixed bug 5180 on 2005-10-03.

        Test: fast/events/event-listener-html-non-html-confusion.html

        * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::~Window): Go through the additional maps when clearing the window object
        pointer in event listeners.
        (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
        argument passed.
        (KJS::Window::getJSUnprotectedEventListener): Ditto.

        * bindings/js/kjs_events.cpp:
        (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
        or non-HTML map depending on the argument passed.
        (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
        HTML or non-HTML map depending on whether the HTML flag is set.
        (KJS::JSEventListener::JSEventListener): More of the same.
        (KJS::JSEventListener::~JSEventListener): Ditto.
        (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
        is not a listener at construction time, thus the code here to put the listener into a
        map needs the HTML vs. non-HTML logic.

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

        Reviewed by Darin.
        
        <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
        "load" events to propagate up to the window. We need this quirk to
        avoid site hangs, because they depend on an old Mozilla bug.

2006-06-13  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=9314
        Relative positioned block size doesnt update root layer size

        - take relative positioning into account in leftmost/rightmost/lowestPosition()
        - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
        - split relativePositionOffset() to x and y functions
        
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::absolutePosition):
        (WebCore::RenderBox::relativePositionOffsetX):
        (WebCore::RenderBox::relativePositionOffsetY):
        (WebCore::RenderBox::lowestPosition):
        (WebCore::RenderBox::rightmostPosition):
        (WebCore::RenderBox::leftmostPosition):
        * rendering/RenderBox.h:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::lowestPosition):
        (WebCore::RenderFlow::rightmostPosition):
        (WebCore::RenderFlow::leftmostPosition):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetLeft):
        (WebCore::RenderObject::offsetTop):

2006-06-13  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=9427
        xml-stylesheet processing instructions outside of the prolog should have no effect.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        Remove todo comment.
        
        * dom/xml_tokenizer.cpp:
        (WebCore::XMLTokenizer::processingInstruction):
        Only check for style sheet if the root element hasn't yet been encountered.

2006-06-13  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9406
        REGRESSION: fix for bug 9390 broke two layout tests
        
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::writeRawData):
        Call finished() after setting up the document structure so we'll emit onload events.

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

        build fix -- forgot to svn add this file
        
        * ForwardingHeaders/kjs/SavedBuiltins.h: Added.

2006-06-12  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej.

        Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!

        * platform/String.cpp:
        (WebCore::String::append):

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

        Reviewed by TimO, Maciej.

        - WebCore part of merging InterpreterImp into Interpreter. No test
        because there's no behavior change.
        
        A substantive change here is that ScriptInterpreter::mark must now chain to
        Interpreter::mark, since Interpreter needs to mark the things that
        InterpreterImp used to mark.
        
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_binding.cpp:
        * bindings/js/kjs_window.cpp:
        (KJS::Window::put):
        * bridge/mac/WebCoreFrameBridge.mm:
        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):
        * kwq/KWQPageState.mm:

2006-06-12  Brady Eidson <beidson@apple.com>

        Reviewed by Maciej.

        Changed String::ascii() to return a Vector<char> instead of const char*
        This allows us to use it "regularly" as the returned vector will destruct
        and not leak memory like the previous approach.
        We can now do a String.ascii().data() to get a char* buffer instead of 
        String.deprecatedString().ascii().  It doesn't improve the style much but
        dumping the memory-leak issue is a plus.

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):
        (WebCore::IconDatabase::clearDatabase):
        * icon/SQLDatabase.cpp:
        (SQLDatabase::open):
        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::prepare):
        (WebCore::SQLStatement::step):
        (WebCore::SQLStatement::returnTextResults):
        (WebCore::SQLStatement::returnTextResults16):
        (WebCore::SQLStatement::returnIntResults):
        (WebCore::SQLStatement::returnInt64Results):
        (WebCore::SQLStatement::returnDoubleResults):
        In addition to the changes to the string classes, changed my database code over to the new
        preferred method.

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::ascii):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::ascii):
        * platform/StringImpl.h:

2006-06-12  Dave Hyatt <hyatt@apple.com>

        Add the notion of a selection foreground color to the engine for
        Win32.  Rename existing selectionColor methods to be
        selectionBackgroundColor instead.

        Change the 60% alpha blend rule for transparent selection to
        instead be a range from 60-80%, with less transparency being
        used as needed to ensure the transformed color more closely
        approximates the original operating system color when blended
        with a white background.

        Reviewed by mjs

        * platform/Color.cpp:
        (WebCore::blend):
        (WebCore::Color::blendWithWhite):
        * platform/Color.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::fillHorizontalSelectionGap):
        (WebCore::RenderBlock::fillVerticalSelectionGap):
        (WebCore::RenderBlock::fillLeftSelectionGap):
        (WebCore::RenderBlock::fillRightSelectionGap):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionBackgroundColor):
        (WebCore::RenderObject::selectionForegroundColor):
        * rendering/RenderObject.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::activeSelectionBackgroundColor):
        (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
        (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
        (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
        (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
        * rendering/RenderThemeWin.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

2006-06-12  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.
        
        * page/Frame.cpp:
        (WebCore::Frame::markAllMatchesForText):
        Do a "fake" paint here so that the rectangles for the text matches will have been
        computed by the time this method returns.

2006-06-12  Brady Eidson  <beidson@apple.com>

        Reviewed by Levi and Tim Omernick.

        -Added a skeleton sqlite3 icon database file to IconDatabase
        -Added functionality to validate and recreate this icon.db file
        -Fixed some buggys in SQLDatabase.cpp

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::open):
        (WebCore::IconDatabase::isValidDatabase):
        (WebCore::IconDatabase::clearDatabase):
        (WebCore::IconDatabase::recreateDatabase):
        * icon/IconDatabase.h:

        * icon/SQLStatement.cpp:
        (WebCore::SQLStatement::columnCount):
        (WebCore::SQLStatement::getColumnName):
        (WebCore::SQLStatement::getColumnName16):
        (WebCore::SQLStatement::getColumnText):
        (WebCore::SQLStatement::getColumnText16):
        (WebCore::SQLStatement::getColumnDouble):
        (WebCore::SQLStatement::getColumnInt):
        (WebCore::SQLStatement::getColumnInt64):
        (WebCore::SQLStatement::getColumnBlob):
        -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
        function calls weren't as error-tolerant as documentation advertised
        (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)

2006-06-12  Brady Eidson  <beidson@apple.com>

        Reviewed by Levi.

        -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.  
        -Changed the base IconDatabase over to this new framework.

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreIconDatabaseBridge.mm:
        (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
            -By popular request, removed an annoying log message I'd accidentally left in

        * icon/IconDatabase.cpp:
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open):
        (WebCore::IconDatabase::close):
        (WebCore::IconDatabase::~IconDatabase):
        * icon/IconDatabase.h:
        (WebCore::IconDatabase::isOpen):
            -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls

        * icon/SQLDatabase.cpp: Added.
        (SQLDatabase::SQLDatabase):
        (SQLDatabase::open):
        (SQLDatabase::close):
        (SQLDatabase::executeCommand):
        (SQLDatabase::tableExists):
        * icon/SQLDatabase.h: Added.
        (WebCore::SQLDatabase::isOpen):
        (WebCore::SQLDatabase::getPath):
        (WebCore::SQLDatabase::lastError):
        (WebCore::SQLDatabase::lastErrorMsg):
        (WebCore::SQLStatement::isPrepared):
        (WebCore::SQLStatement::lastError):
        (WebCore::SQLStatement::lastErrorMsg):
        * icon/SQLStatement.cpp: Added.
        (WebCore::SQLStatement::SQLStatement):
        (WebCore::SQLStatement::~SQLStatement):
        (WebCore::SQLStatement::prepare):
        (WebCore::SQLStatement::step):
        (WebCore::SQLStatement::finalize):
        (WebCore::SQLStatement::reset):
        (WebCore::SQLStatement::executeCommand):
        (WebCore::SQLStatement::bindBlob):
        (WebCore::SQLStatement::bindText):
        (WebCore::SQLStatement::columnCount):
        (WebCore::SQLStatement::getColumnName):
        (WebCore::SQLStatement::getColumnName16):
        (WebCore::SQLStatement::getColumnText):
        (WebCore::SQLStatement::getColumnText16):
        (WebCore::SQLStatement::getColumnDouble):
        (WebCore::SQLStatement::getColumnInt):
        (WebCore::SQLStatement::getColumnInt64):
        (WebCore::SQLStatement::getColumnBlob):
        (WebCore::SQLStatement::returnTextResults):
        (WebCore::SQLStatement::returnTextResults16):
        (WebCore::SQLStatement::returnIntResults):
        (WebCore::SQLStatement::returnInt64Results):
        (WebCore::SQLStatement::returnDoubleResults):
            -Initial checking of SQLDatabase framework

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::String):
            -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on 
            null-terminated UTF16 which we didn't yet support.

2006-06-11  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9408
        Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"

        * DerivedSources.make: Fix clean builds.

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

        - another try at fixing Windows

        * loader/CachedResource.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::setData):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoderPrivate::decode):
        (WebCore::GIFImageDecoder::setData):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        (WebCore::JPEGImageDecoder::setData):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageReader::decode):
        (WebCore::PNGImageDecoder::setData):
        * platform/image-decoders/png/PNGImageDecoder.h:
        s/DeprecatedByteArray/Vector<char>/

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

        - try to fix Windows build

        * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
        Use Vector<char> instead of DeprecatedByteArray.

        * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
        Don't try to return 0 from a function that returns a Vector<char>.

2006-06-11  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt, tweaked quite a bit and landed by Darin.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8039
          Remove use of DeprecatedArray in favor of new Vector class

        This removes most of the uses of DeprecatedArray and 
        DeprecatedByteArray, with the exception of DeprecatedCString.

        No test cases added because there is no change in
        functionality.

        * loader/CachedCSSStyleSheet.cpp:
        (WebCore::CachedCSSStyleSheet::data):
        * loader/CachedCSSStyleSheet.h:
        * loader/CachedImage.cpp:
        (WebCore::CachedImage::bufferData):
        (WebCore::CachedImage::data):
        (WebCore::CachedImage::checkNotify):
        (WebCore::CachedImage::shouldStopAnimation):
        * loader/CachedImage.h:
        * loader/CachedObject.cpp:
        (WebCore::CachedObject::bufferData):
        (WebCore::CachedObject::setExpireDate):
        * loader/CachedObject.h:
        (WebCore::CachedObject::setCharset):
        * loader/CachedScript.cpp:
        (WebCore::CachedScript::data):
        * loader/CachedScript.h:
        * loader/CachedXBLDocument.cpp:
        (WebCore::CachedXBLDocument::data):
        (WebCore::CachedXBLDocument::checkNotify):
        * loader/CachedXBLDocument.h:
        * loader/CachedXSLStyleSheet.cpp:
        (WebCore::CachedXSLStyleSheet::data):
        * loader/CachedXSLStyleSheet.h:
        * loader/Request.cpp:
        (WebCore::Request::Request):
        (WebCore::Request::~Request):
        * loader/Request.h:
        (WebCore::Request::buffer):
        (WebCore::Request::cachedObject):
        (WebCore::Request::docLoader):
        (WebCore::Request::isIncremental):
        (WebCore::Request::setIsIncremental):
        (WebCore::Request::isMultipart):
        (WebCore::Request::setIsMultipart):
        * loader/loader.cpp:
        (WebCore::crossDomain):
        (WebCore::Loader::Loader):
        (WebCore::Loader::load):
        (WebCore::Loader::servePendingRequests):
        (WebCore::Loader::receivedAllData):
        (WebCore::Loader::receivedResponse):
        (WebCore::Loader::receivedData):
        (WebCore::Loader::numRequests):
        (WebCore::Loader::cancelRequests):
        (WebCore::Loader::removeBackgroundDecodingRequest):
        (WebCore::Loader::jobForRequest):
        * platform/Image.cpp:
        (WebCore::Image::setData):
        * platform/Image.h:
        (WebCore::Image::dataBuffer):

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::init):
        (WebCore::CSSStyleSelector::matchRules):
        (WebCore::CSSStyleSelector::matchRulesForList):
        (WebCore::CSSStyleSelector::sortMatchedRules):
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::createStyleForElement):
        (WebCore::CSSStyleSelector::createPseudoStyleForElement):
        * css/cssstyleselector.h:
        (WebCore::CSSStyleSelector::addMatchedRule):
        (WebCore::CSSStyleSelector::addMatchedDeclaration):
        * dom/xml_tokenizer.cpp:
        (WebCore::OffsetBuffer::OffsetBuffer):
        (WebCore::openFunc):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::index):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::selectedIndex):
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::length):
        (WebCore::HTMLSelectElement::remove):
        (WebCore::HTMLSelectElement::value):
        (WebCore::HTMLSelectElement::setValue):
        (WebCore::HTMLSelectElement::state):
        (WebCore::HTMLSelectElement::restoreState):
        (WebCore::HTMLSelectElement::appendFormData):
        (WebCore::HTMLSelectElement::optionToListIndex):
        (WebCore::HTMLSelectElement::listToOptionIndex):
        (WebCore::HTMLSelectElement::recalcListItems):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::notifyOptionSelected):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::listItems):
        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        (KWQServeSynchronousRequest):
        * kwq/KWQTextStream.cpp:
        (QTextStream::operator<<):
        * kwq/KWQTextStream.h:
        * loader/FormData.cpp:
        (WebCore::FormData::flatten):
        (WebCore::FormData::flattenToString):
        * loader/FormData.h:
        (WebCore::FormDataElement::FormDataElement):
        * platform/DeprecatedString.cpp:
        * platform/DeprecatedString.h:
        * platform/IntPointArray.cpp: Removed.
        * platform/IntPointArray.h: Removed.
        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::toUnicode):
        * platform/TextEncoding.h:
        * platform/cairo/pixman/src/pixregion.c:
        * platform/cg/PathCG.cpp:
        (WebCore::Path::Path):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorder):
        * rendering/RenderTable.h:
        (WebCore::RenderTable::colToEffCol):
        (WebCore::RenderTable::effColToCol):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):
        (WebCore::RenderTableSection::addCell):
        (WebCore::RenderTableSection::setCellWidths):
        * rendering/RenderTableSection.h:
        * rendering/bidi.cpp:
        (WebCore::addMidpoint):
        (WebCore::RenderBlock::layoutInlineChildren):
        * rendering/render_form.cpp:
        (WebCore::RenderSelect::updateFromElement):
        (WebCore::RenderSelect::layout):
        (WebCore::RenderSelect::valueChanged):
        (WebCore::RenderSelect::selectionChanged):
        (WebCore::RenderSelect::updateSelection):
        * rendering/table_layout.cpp:
        (WebCore::FixedTableLayout::layout):
        * rendering/table_layout.h:
        * xml/XSLTProcessor.cpp:
        (WebCore::docLoaderFunc):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::send):
        (WebCore::XMLHttpRequest::processSyncLoadResults):
        * xml/xmlhttprequest.h:

2006-06-11  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by darin.

        http://bugs.webkit.org/show_bug.cgi?id=9394
        Fix no-SVG build

        * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
        * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
        * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
        * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
        * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
        * ksvg2/svg/SVGAngle.idl: Ditto.
        * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
        * ksvg2/svg/SVGColor.idl: Ditto.
        * ksvg2/svg/SVGDocument.idl: Ditto.
        * ksvg2/svg/SVGElement.idl: Ditto.
        * ksvg2/svg/SVGEvent.idl: Ditto.
        * ksvg2/svg/SVGLength.idl: Ditto.
        * ksvg2/svg/SVGMatrix.idl: Ditto.
        * ksvg2/svg/SVGNumber.idl: Ditto.
        * ksvg2/svg/SVGPoint.idl: Ditto.
        * ksvg2/svg/SVGRect.idl: Ditto.
        * ksvg2/svg/SVGSVGElement.idl: Ditto.
        * ksvg2/svg/SVGTransform.idl: Ditto.

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

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9390
        Move full-frame plugins to WebCore
        
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add PluginDocument
        
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::redirectDataToPlugin):
        Call the bridge.
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        Add redirectDataToPlugin which is used to redirect incoming data
        to a plugin.
        
        * bridge/mac/WebCoreViewFactory.h:
        Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
        
        * dom/DOMImplementation.cpp:
        * dom/DOMImplementation.h:
        Get rid of createTextDocument and just create a text document explicitly when needed.
        
        * dom/Document.h:
        (WebCore::Document::isPluginDocument):
        * loader/PluginDocument.cpp: Added.
        (WebCore::PluginTokenizer::PluginTokenizer):
        (WebCore::PluginTokenizer::wantsRawData):
        (WebCore::PluginTokenizer::write):
        (WebCore::PluginTokenizer::createDocumentStructure):
        (WebCore::PluginTokenizer::writeRawData):
        (WebCore::PluginTokenizer::stopParsing):
        (WebCore::PluginTokenizer::finish):
        (WebCore::PluginTokenizer::isWaitingForScripts):
        (WebCore::PluginDocument::PluginDocument):
        (WebCore::PluginDocument::createTokenizer):
        * loader/PluginDocument.h: Added.
        (WebCore::PluginDocument::isPluginDocument):
        Add PluginDocument.
        
        * page/Frame.cpp:
        (WebCore::Frame::begin):
        Possibly create a plugin document.
        
        * page/Frame.h:
        (WebCore::Frame::redirectDataToPlugin):
        Add declaration.
        
        * platform/PlugInInfoStore.h:
        * platform/mac/PlugInInfoStoreMac.mm:
        (WebCore::PlugInInfoStore::supportsMIMEType):
        Ask WebCoreViewFactory if the MIME type is supported.

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

        Reviewed by hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9334
          Incomplete repaint when changing block from non-positioned to positioned

        Test: fast/repaint/static-to-positioned.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
        as static.

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

        Reviewed by hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9193
          REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely

        Test: fast/layers/opacity-outline.html

        - fix repainting of layer children's outlines that extend beyond the layer

        Test: fast/repaint/layer-child-outline.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
        (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
        outline size rather than 0 for PaintPhaseChildOutlines.

2006-06-10  Steve Falkenburg  <sfalken@apple.com>

        Fix build break

        * platform/cairo/GraphicsContextCairo.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::scale):

2006-06-10  Geoffrey Garen  <ggaren@apple.com>

        - http://bugs.webkit.org/show_bug.cgi?id=8515
        Linux porting compile bug
        
        Fix by Mike Emmel, Reviewed by Darin.

        * Projects/gdk/webcore-gdk.bkl:
        * WebCoreSources.bkl:
        * css/maketokenizer:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLImageElement.h:
        * icon/IconDatabase.cpp:
        * make-generated-sources.sh:
        * page/Frame.h:
        * page/FramePrivate.h:
        * platform/Cursor.h:
        * platform/FontData.h:
        (WebCore::FontData::getGlyphIndex):
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/GraphicsContext.h:
        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/ScrollView.h:
        * platform/TransferJob.h:
        (WebCore::TransferJob::getInternal):
        * platform/TransferJobInternal.h:
        (WebCore::TransferJobInternal::TransferJobInternal):
        * platform/Widget.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::roundToDevicePixels):
        * webcore-base.bkl:
        * xpath/impl/XPathValue.cpp:

2006-06-09  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick and Dave Hyatt.

        WebCore support for computing but not highlighting rects for text matches.

        * dom/Document.h:
        added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
        MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
        and one vector of rects
        
        * dom/Document.cpp:
        (placeholderRectForMarker()):
        new function, returns a recognizable degenerate rect used until a real rect has been set
        (WebCore::Document::addMarker):
        Reworked for new MarkerMap data structure; now adds parallel placeholder rect
        along with marker
        (WebCore::Document::copyMarkers):
        Reworked for new MarkerMap data structure
        (WebCore::Document::removeMarkers):
        Reworked for new MarkerMap data structure; now removed corresponding rect along
        with marker
        (WebCore::Document::markersForNode):
        Reworked for new MarkerMap data structure
        (WebCore::Document::renderedRectsForMarkers):
        New method, returns an array of all non-placeholder rects for the given marker type
        (WebCore::Document::repaintMarkers):
        Reworked for new MarkerMap data structure
        (WebCore::Document::setRenderedRectForMarker):
        New method, sets the rendered rect for a given marker
        (WebCore::Document::shiftMarkers):
        Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
        
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
        now, but sometimes we will end up only computing the rect, not actually highlighting it.
        (Maybe some names should be improved here?)
        (WebCore::InlineTextBox::paintTextMatchMarker):
        Reorganized to move all the code that actually draws into a block that's guarded by
        markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
        go, and now we always use that computation in order to call setRenderedRectForMarker.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge rectsForTextMatches]):
        New method, returns an array of NSValues representing NSRects. Gets them
        from Document::renderedRectsForMarkers
        
2006-06-10  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Eric.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::put):
        Call WebCore::JSHTMLElement::put so that autogenerated setters will work 
        for HTMLElement.

2006-06-09  Geoffrey Garen  <ggaren@apple.com>

        - Build fix after last JSC check-in (oops!)
        
        * bridge/mac/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame scopeChain]):
        (-[WebCoreScriptCallFrame functionName]):
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

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

        Rename m_isFocused on the frame to m_isActive, since it isn't really
        about focus but is instead about whether or not the top-level window is
        active.

        Pull code that was incorrectly factored into Mac-only code out of FrameMac
        and back up into Frame.

        Reviewed by andersca

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        * page/Frame.cpp:
        (WebCore::Frame::setFocusNodeIfNeeded):
        (WebCore::Frame::isActive):
        (WebCore::Frame::setIsActive):
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):

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

        Rework selection coloring.  Rename displaysWithFocusAttributes
        to isActive.  Move the white-blending code onto the Color API to make
        it more convenient to mutate colors for selection blending.  Eliminate all
        the selection state from the GraphicsContext and move it to the RenderTheme.
        Implement both Win32 and Mac theme selection colors.

        Reviewed by sfalken

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::setIsActive):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge drawRect:]):
        (-[WebCoreFrameBridge setIsActive:]):
        (-[WebCoreFrameBridge selectionColor]):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector):
        * page/Frame.cpp:
        (WebCore::Frame::isActive):
        (WebCore::Frame::setIsActive):
        * page/Frame.h:
        * platform/Color.cpp:
        (WebCore::blend):
        (WebCore::Color::blendWithWhite):
        * platform/Color.h:
        (WebCore::Color::hasAlpha):
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        * platform/GraphicsContext.h:
        * platform/mac/GraphicsContextMac.mm:
        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::endTransparencyLayer):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSelection):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::fillHorizontalSelectionGap):
        (WebCore::RenderBlock::fillVerticalSelectionGap):
        (WebCore::RenderBlock::fillLeftSelectionGap):
        (WebCore::RenderBlock::fillRightSelectionGap):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paint):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderListMarker.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionColor):
        * rendering/RenderObject.h:
        * rendering/RenderReplaced.cpp:
        * rendering/RenderReplaced.h:
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::activeSelectionColor):
        (WebCore::RenderTheme::inactiveSelectionColor):
        (WebCore::RenderTheme::platformActiveSelectionColor):
        (WebCore::RenderTheme::platformInactiveSelectionColor):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::platformActiveSelectionColor):
        (WebCore::RenderThemeMac::platformInactiveSelectionColor):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::platformActiveSelectionColor):
        (WebCore::RenderThemeWin::platformInactiveSelectionColor):
        * rendering/RenderThemeWin.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):

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

        Reviewed by levi
        
        <rdar://problem/4549980>
        REGRESSION: "Find Again" can get stuck when searching for string with a trailing space

        * bridge/mac/FrameMac.h: Moved findString to Frame.
        * bridge/mac/FrameMac.mm: Ditto.
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]): 
        Convert the NSString to a String.
        * editing/JSEditor.cpp: Added execCommand(FindString, ...)
        * editing/Selection.cpp: Added a constructor for Ranges
        (WebCore::Selection::Selection): 
        * editing/Selection.h:
        * page/Frame.cpp:
        (WebCore::Frame::findString): Moved from FrameMac.  Compare a selection created 
        using the found range with the current selection in case the current selection is
        the found range minus some collapsed whitespace on the edges.
        * page/Frame.h:

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

        Fix build break

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * css/MediaQueryEvaluator.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::addRoundedRectClip):
        (GraphicsContext::addInnerRoundedRectClip):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):

2006-06-09  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth. 
        Landed by Beth.

        CSS3 Media Queries implementation.
        <http://bugs.webkit.org/show_bug.cgi?id=4127>

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_css.cpp:
        (KJS::DOMMediaList::put):
        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
        * bindings/objc/DOMCSS.mm:
        (-[DOMMediaList setMediaText:]):
        (-[DOMMediaList deleteMedium:]):
        (-[DOMMediaList appendMedium:]):
        * css/CSSGrammar.y:
        * css/MediaFeatureNames.cpp: Added.
        (WebCore::MediaFeatureNames::init):
        * css/MediaFeatureNames.h: Added.
        * css/MediaList.cpp:
        (WebCore::MediaList::MediaList):
        (WebCore::MediaList::~MediaList):
        (WebCore::parseMediaDescriptor):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::mediaText):
        (WebCore::MediaList::setMediaText):
        (WebCore::MediaList::item):
        (WebCore::MediaList::appendMedium):
        (WebCore::MediaList::appendMediaQuery):
        * css/MediaList.h:
        (WebCore::MediaList::MediaList):
        (WebCore::MediaList::length):
        (WebCore::MediaList::mediaQueries):
        * css/MediaQuery.cpp: Added.
        (WebCore::MediaQuery::MediaQuery):
        (WebCore::MediaQuery::~MediaQuery):
        (WebCore::MediaQuery::operator==):
        (WebCore::MediaQuery::cssText):
        * css/MediaQuery.h: Added.
        (WebCore::MediaQuery::):
        (WebCore::MediaQuery::restrictor):
        (WebCore::MediaQuery::expressions):
        (WebCore::MediaQuery::mediaType):
        (WebCore::MediaQuery::append):
        * css/MediaQueryEvaluator.cpp: Added.
        (WebCore::):
        (WebCore::MediaQueryEvaluator):
        (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
        (WebCore::MediaQueryEvaluator::mediaTypeMatch):
        (WebCore::applyRestrictor):
        (WebCore::MediaQueryEvaluator::eval):
        (WebCore::parseAspectRatio):
        (WebCore::cmpvalue):
        (WebCore::numberValue):
        (WebCore::colorMediaFeatureEval):
        (WebCore::monochromeMediaFeatureEval):
        (WebCore::device_aspect_ratioMediaFeatureEval):
        (WebCore::gridMediaFeatureEval):
        (WebCore::device_heightMediaFeatureEval):
        (WebCore::device_widthMediaFeatureEval):
        (WebCore::heightMediaFeatureEval):
        (WebCore::widthMediaFeatureEval):
        (WebCore::min_colorMediaFeatureEval):
        (WebCore::max_colorMediaFeatureEval):
        (WebCore::min_monochromeMediaFeatureEval):
        (WebCore::max_monochromeMediaFeatureEval):
        (WebCore::min_device_aspect_ratioMediaFeatureEval):
        (WebCore::max_device_aspect_ratioMediaFeatureEval):
        (WebCore::min_heightMediaFeatureEval):
        (WebCore::max_heightMediaFeatureEval):
        (WebCore::min_widthMediaFeatureEval):
        (WebCore::max_widthMediaFeatureEval):
        (WebCore::min_device_heightMediaFeatureEval):
        (WebCore::max_device_heightMediaFeatureEval):
        (WebCore::min_device_widthMediaFeatureEval):
        (WebCore::max_device_widthMediaFeatureEval):
        (WebCore::createFunctionMap):
        * css/MediaQueryEvaluator.h: Added.
        * css/MediaQueryExp.cpp: Added.
        (WebCore::MediaQueryExp::MediaQueryExp):
        (WebCore::MediaQueryExp::~MediaQueryExp):
        * css/MediaQueryExp.h: Added.
        (WebCore::MediaQueryExp::mediaFeature):
        (WebCore::MediaQueryExp::value):
        (WebCore::MediaQueryExp::operator==):
        * css/StyleSheet.cpp:
        (WebCore::StyleSheet::setMedia):
        * css/cssparser.cpp:
        (WebCore::CSSParser::CSSParser):
        (WebCore::CSSParser::~CSSParser):
        (WebCore::CSSParser::setupParser):
        (WebCore::CSSParser::parseMediaQuery):
        (WebCore::CSSParser::createFloatingMediaQueryExp):
        (WebCore::CSSParser::sinkFloatingMediaQueryExp):
        (WebCore::CSSParser::createFloatingMediaQueryExpList):
        (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
        (WebCore::CSSParser::createFloatingMediaQuery):
        (WebCore::CSSParser::sinkFloatingMediaQuery):
        * css/cssparser.h:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::init):
        (WebCore::CSSStyleSelector::~CSSStyleSelector):
        (WebCore::CSSStyleSelector::loadDefaultStyle):
        (WebCore::CSSStyleSelector::matchUARules):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::updateFont):
        (WebCore::CSSStyleSelector::cacheBorderAndBackground):
        (WebCore::CSSStyleSelector::styleRulesForElement):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        * css/cssstyleselector.h:
        * css/maketokenizer:
        * css/tokenizer.flex:
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createCSSStyleSheet):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::setStyleSheet):
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::childrenChanged):
        * ksvg2/svg/SVGDOMImplementation.cpp:
        (SVGDOMImplementation::createCSSStyleSheet):
        * ksvg2/svg/SVGStyleElement.cpp:
        (WebCore::SVGStyleElement::childrenChanged):
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        * platform/Screen.h:
        * platform/mac/ScreenMac.mm:
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):

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

        Reviewed by justin
        
        <http://bugs.webkit.org/show_bug.cgi?id=4468>
        Implement execCommand(Insert{Un}OrderedList)

        * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
        * dom/Position.cpp:
        (WebCore::hasRenderedNonAnonymousDescendantsWithHeight): 
        Added. A block with height is only a candidate if this is false.  This should fix the problems
        getting carets into empty blocks.
        (WebCore::Position::inRenderedContent):
        * editing/AppendNodeCommand.cpp:
        (WebCore::AppendNodeCommand::doApply):
        * editing/CompositeEditCommand.cpp:
        (WebCore::hasARenderedDescendant):
        (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
        have a renderer with no descendants.  Fixed the pruning rule to avoid removing a node like this.
        (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
        each other if they aren't already, as a convenience.
        (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
        (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
        continue to happen until it is no longer possible.
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
        wouldn't always avoid removing the start block.
        * editing/InsertListCommand.cpp: Added.
        (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
        into a list.
        (WebCore::InsertListCommand::InsertListCommand):
        (WebCore::InsertListCommand::modifyRange):
        (WebCore::InsertListCommand::doApply):
        * editing/InsertListCommand.h: Added.
        (WebCore::InsertListCommand::):
        * editing/InsertNodeBeforeCommand.cpp:
        (WebCore::InsertNodeBeforeCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.cpp:
        * editing/JSEditor.cpp:
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the 
        iterator ends at the start of that node.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::next):
        (WebCore::VisiblePosition::previous):
        * editing/VisiblePosition.h: 
        Added a parameter to next/previous that can prevent them from leaving the current editable region.
        * editing/htmlediting.cpp:
        (WebCore::highestAncestor):
        (WebCore::enclosingList):
        (WebCore::enclosingListChild):
        (WebCore::outermostEnclosingList):
        (WebCore::createListItemElement):
        * editing/htmlediting.h:
        * page/Frame.cpp:
        (WebCore::Frame::selectionListState): Added.
        * page/Frame.h:

2006-06-08  David Harrison  <harrison@apple.com>

        Reviewed by Geoff and John.

        <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
        
        Problem was the primitive value was getting reset to a generic state before the parameter
        check that relies on that state.

        Test: fast/dom/setPrimitiveValue.html

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::setFloatValue):
        (WebCore::CSSPrimitiveValue::setStringValue):
        Move parameter checks ahead of call to cleanup().

2006-06-08  Alice Liu  <alice.liu@apple.com>

        Reviewed by justin.

        - fixed <rdar://problem/4578115> support Range.isPointInRange
        - fixed <rdar://problem/4578123> support Range.comparePoint

        * dom/Range.cpp:
        (WebCore::Range::isPointInRange):
        added implementation
        (WebCore::Range::comparePoint):
        added implementation
        * dom/Range.h:
        added prototypes
        * dom/Range.idl:
        added bindings

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

        Reviewed by justin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8616
          REGRESSION: TinyMCE: Crash on Undo

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
        Changed to call nodeInfoAtPoint directly.
        (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
        Also added code to convert coordinates so it works for points that are in nodes in subframes.

        * page/Frame.cpp:
        (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
        endpoints in another document.
        (WebCore::Frame::setSelection): Ditto.

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

        Reviewed by levi
        
        Fixed some comments and removed an unused variable.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeBlockPlaceholder):
        Don't remove a br if it isn't at the start of a block, since
        it isn't really a "block placeholder".
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        (WebCore::DeleteSelectionCommand::doApply):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
        * editing/htmlediting.cpp:

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

        Add support for custom highlighting.  This is all ifdefed to be Mac-only.

        Reviewed by justin

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::paintCustomHighlight):
        * bridge/mac/WebCoreFrameBridge.h:
        * platform/mac/ClipboardMac.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintCustomHighlight):
        * rendering/InlineTextBox.h:

2006-06-07  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt 

        Added support for cross-platform resize property.

        * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
        already cache this info when we handle mouse down and mouse up.
        * platform/mac/MouseEventMac.mm: ditto.
        * platform/win/TemporaryLinkStubs.cpp: ditto.

        * page/Frame.cpp:
        (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
        * page/FrameView.cpp:
        (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
        (WebCore::FrameView::mousePressed): Added.
        * page/FrameView.h: Added mousePressed.

        * rendering/RenderTheme.h: Removed paintResizeControl.
        Since its not dependent on the theme, the layer can just paint this.
        * rendering/RenderTheme.cpp: ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
        (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
        (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
        (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
        * rendering/RenderLayer.h: Added m_resizeCornerImage.  Important to have one per-layer for when we allow
        more customization.

        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::loadResource): Loads image resources.

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

        Add support for a new property for custom highlighting.  This patch just
        adds support for the parsing of the property.  It doesn't do anything yet.

        Reviewed by beth

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPropertyNames.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * rendering/render_style.cpp:
        (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
        (WebCore::StyleCSS3InheritedData::operator==):
        (WebCore::RenderStyle::diff):
        * rendering/render_style.h:
        (WebCore::RenderStyle::highlight):
        (WebCore::RenderStyle::setHighlight):
        (WebCore::RenderStyle::initialHighlight):

2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Fix suggested by Rob Buis. Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9341
          REGRESSION: Repro crash caused by style="font:bold"

        Test: fast/css/font-shorthand-weight-only.html

        * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
        made to fix bug 5564.

2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9122
          REGRESSION: Incorrect vertical position for text fields in a "display: table" block

        Test: fast/table/text-field-baseline.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
        use their baseline.

2006-06-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt (concept) and Darin (some coding details).

        - fix http://bugs.webkit.org/show_bug.cgi?id=4334
          REGRESSION: Flickering when css-hover should change opacity on floating elements

        Pixel test: fast/block/float/nopaint-after-layer-destruction.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
        in the block's FloatingObject for the given float and calls setChildNeedsLayout.
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::blockThatPaintsFloat): Added this helper function.
        (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
        gains or loses its layer.

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9121
          REGRESSION: [Incremental Repaint] DHTML movement test failures

        Test (repaint): fast/repaint/containing-block-position-change.html

        * manual-tests/containing-block-position-chage.html: Added.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
        the RenderCanvas to RenderView rename.
        (WebCore::RenderBlock::removePositionedObject): Added a return immediately
        after removing the object.
        (WebCore::RenderBlock::removePositionedObjects): Added.
        * rendering/RenderBlock.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
        descendants from the positioned objects list of their current containing block
        when they are going to have a new one as a result of this block's position
        property changing. 
        * rendering/RenderObject.h:
        (WebCore::RenderObject::removePositionedObjects):

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

        Reviewed by levi

        * dom/Node.cpp:
        (WebCore::Node::firstDescendant): Added.
        * dom/Node.h:
        * dom/Range.cpp: Added a constructor that takes in Positions.
        (WebCore::Range::Range):
        * dom/Range.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAt): 
        Let this function insert children into empty containers.  
        Calls canHaveChildrenForEditing.
        (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
        (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the 
        replacement so that moveParagraph's callers have a valid destination after the move.
        * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
        made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 
        Removed m_startNode, used a local variable.
        (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
        (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
        front and keep track of it as nodes and text are removed.
        (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
        (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
        Update m_endingPosition as we remove nodes.
        (WebCore::DeleteSelectionCommand::deleteTextFromNode): 
        Update m_endingPosition as we delete text.
        (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block.  Cleaned up.
        (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
        clobbers the old one.
        (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after 
        deletion. Make the placeholder decision before we do special element expansion.
        * editing/DeleteSelectionCommand.h:
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned 
        up the code.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
        a merge (added a testcase).
        * editing/RebalanceWhitespaceCommand.cpp:
        (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
        Merge even when the incoming fragment has interchange newlines (added a testcase).
        Merge when the selection being pasted into starts at the start of a block because not
        doing so would leave one or more hanging empty blocks.
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
        Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
        a selection, and a selection can't be created until whitespace has been rebalanced.
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Added.
        * editing/htmlediting.h:

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

        Reviewed by Maciej.

        Fix for <rdar://problem/4570475> Dashboard regions do not scale for 
        non-1.0 scale factors.

        No test cases added since this only affects non-1.0 resolution 
        scale factors.

        * platform/FloatRect.cpp:
        (WebCore::FloatRect::scale): Added new function that scales a 
        rect's origin and size by a given factor.
        * platform/FloatRect.h:
        * platform/IntRect.cpp:
        (WebCore::IntRect::scale): Same as above.
        * platform/IntRect.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addDashboardRegions): After the bounds and 
        clip rects on the Dashboard region have been calculated, get the 
        user space scale factor, and if it is not 1.0, scale the rects.

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

        Reviewed by Darin Adler.
        
        - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at 
        http://www.apple.com/ (RenderObject::repaint(bool))
        
        This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
        it to the surface.

        * dom/Document.h:
        Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers):
        Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
        removed.
        (WebCore::Document::repaintMarkers):
        Add a .get() to compensate for using RefPtr.

2006-06-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9325
        clientWidth/clientHeight on document element in strict mode should return visible frame size
        
        * dom/Element.cpp:
        (WebCore::Element::clientWidth):
        (WebCore::Element::clientHeight):
        If we're the document element, and in strict mode, return the visible size of the frame.
        
2006-06-06  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by John.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge containsPlugins]):
        * page/Frame.cpp:
        (WebCore::Frame::containsPlugins):
        * page/Frame.h:
        Add containsPlugins function which returns whether a frame contains plugins
        or not.

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

        Reviewed by mjs.

        http://bugs.webkit.org/show_bug.cgi?id=5564
        'font' shorthand parsing should be more tolerant in quirks mode

        When not in strict mode accept font property specifications
        lacking a font family part, like WinIE does.

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseFont):

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

        Reviewed by Darin.

        Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 
        1.83 scaling

        To prevent pixel cracks at non-integral scaling factors, before we 
        call into CG to draw an image, we have to convert the rect to 
        device space, round the origin and size to integers in device 
        space, and convert back to user space. 
        
        No test cases added since this only affects non-1.0 resolution 
        scale factors.

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now 
        takes FloatRects.
        * html/CanvasPattern.cpp:
        (WebCore::patternCallback): Call roundToDevicePixels()
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now 
        takes FloatRects and call roundToDevicePixels()
        * html/CanvasRenderingContext2D.h: drawImage() now takes 
        FloatRects.
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
        * kcanvas/device/quartz/QuartzSupport.mm:
        (WebCore::debugDumpCGImageToFile): Same as above.
        * platform/GraphicsContext.h:
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels): Takes care of 
        converting between coordinate spaces and rounding.
        (WebCore::GraphicsContext::drawLineForText):
        * platform/mac/ImageMac.mm: Call roundToDevicePixels()
        (WebCore::Image::draw): Same as above.
        (WebCore::drawPattern): Same as above.

2006-06-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9310
        Add missing DOM prototypes and other DOM cleanup

        - Added the built-in object prototype to DOM objects that were missing it
        so that primitive operations like == work on them.
        
        - Removed dead EventConstructor class (it's autogenerated now)
        
        - Changed HTML collections to describe themselves as "[object Collection]",
        to match IE.
        
        - Made DOMCSSRule constructor private because JSCSSRule is the class
        to use.
        
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
        * bindings/js/kjs_css.cpp:
        (KJS::DOMStyleSheet::DOMStyleSheet):
        (KJS::DOMStyleSheetList::DOMStyleSheetList):
        (KJS::DOMCSSRule::DOMCSSRule):
        (KJS::DOMCSSValue::DOMCSSValue):
        (KJS::toJS):
        (KJS::DOMRGBColor::DOMRGBColor):
        (KJS::getDOMRGBColor):
        (KJS::DOMRect::DOMRect):
        * bindings/js/kjs_css.h:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNodeList::DOMNodeList):
        (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
        (KJS::DOMExceptionConstructor::getOwnPropertySlot):
        (KJS::):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        * bindings/js/kjs_dom.h:
        (KJS::DOMNamedNodesCollection::classInfo):
        * bindings/js/kjs_events.h:
        * bindings/js/kjs_html.cpp:
        (KJS::):

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

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9031
          REGRESSION: Crash when closing tabs on newegg.com
        - removed a no-longer-needed Win32-specific workaround (not reviewed)

        * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
        (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
        (WebCore::toJS): Add null checks.

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

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9176
          REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)

        Test: fast/loader/link-no-URL.html

        * loader/Cache.h:
        * loader/Cache.cpp:
        (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
        from the cached object itself. Callers were passing in the wrong URL. When it was a
        null string, it caused the crash mentioned above. But in other cases it may have
        caused some other minor problems as well. Added an assert to catch cases where the
        URL is null (should never happen).
        (WebCore::Cache::requestImage): Changed call site to not pass URL.
        (WebCore::Cache::requestStyleSheet): Ditto.
        (WebCore::Cache::requestScript): Ditto.
        (WebCore::Cache::requestXSLStyleSheet): Ditto.
        (WebCore::Cache::requestXBLDocument): Ditto.

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7291
          REGRESSION: delete key does not work in isIndex fields

        * platform/mac/WebCoreTextField.mm:
        (inputElement): Added. Helper function to get the Objective-C wrapper for an
        input element associated with a QTextEdit. Returns nil if the element is not
        an input element. The bug was caused by passing a non-input element to the
        delegate methods.
        (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
        and don't make the delegate call at all if there is none. This happens only
        with isindex elements; it's not important to have auto-fill work with those.
        (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
        (-[KWQTextFieldController controlTextDidChange:]): Ditto.
        (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
        (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
        (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.

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

        Reviewed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8995
          memory leak in XPath code -- seen in layout tests
        - fixed malloc error on exit due to SVGDOMImplementation destructor
        - attempted to fix the no-XPATH_SUPPORT build by adding an #if
        - changed around includes and header-file formatting in XPath code

        * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
        generating the bindings for XPathNSResolver.

        * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
        SVGDOMImplementation.
        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.

        * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
        * ksvg2/svg/SVGDOMImplementation.cpp:
        (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
        (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.

        * xpath/XPathExpression.cpp:
        (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
        reference count churn.
        (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
        relies on it being 0 when the function succeeds.

        * xpath/XPathResult.cpp:
        (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
        unneeded target node data member.
        (WebCore::XPathResult::XPathResult): Updated for enum name changes and
        InvalidatingEventListener name change. Added an assertion.

        * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
        for createFunction to be a String instead of char*.
        * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
        used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
        the Interval functions inline.
        (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
        (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
        Use equalIgnoringCase() instead of calling lower() on two strings.
        (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
        this function. Also removed a duplicate entry for the "last" function.
        (WebCore::XPath::createFunction): Changed from a member function to a separate function.
        Also changed so that if the args are not used in the function they are deleted.
        This was one of the sources of the storage leaks.

        * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
        specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
        tokens that were declared as <str> but weren't actually using the string to be
        declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
        unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
        call delete functions instead that both unregister and delete. Change call sites for
        createFunction to just use the String, removing the deprecatedString().latin1() call
        that is no longer needed. Added a call to unregisterParseNode that was missing in the
        "FilterExpr DescendantOrSelf RelativeLocationPath" production.

        * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
        and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
        part of the Parser class last. Moved a number of private things inside the cpp file.
        * xpath/impl/XPathParser.cpp:
        (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
        (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
        allowing use of a map instead of a map pointer.
        (WebCore::XPath::isNodeTypeName): Ditto.
        (WebCore::XPath::Parser::isOperatorContext): Made this const.
        (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
        By using the actual types, we can safely use overload instead.
        (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
        (WebCore::XPath::Parser::lexNumber): Ditto.
        (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
        Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
        confusing and is also a bit more explicit.
        (WebCore::XPath::Parser::lexQName): Ditto.
        (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
        to remove some unneeded else statements.
        (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
        to decide what the type is. This matches what the grammar expects, and removes the need
        for the token object to track which part of the value is good and the need to reserve 0
        to have a special meaning.
        (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
        expressions in the predicate and expression vectors. Before, we were only deleting
        the vectors. This was one of the sources of the storage leaks.
        (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
        the vector. However this does not delete the predicates in the vector.
        (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
        the vector. However this does not delete the expressions in the vector.
        (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.

        * xpath/impl/XPathPredicate.h:
        * xpath/impl/XPathPredicate.cpp:
        (WebCore::XPath::NumericOp::NumericOp): Changed opcode from an int to an enum, and
        renamed to "opcode" instead of "opCode".
        (WebCore::XPath::NumericOp::doEvaluate): More of the same.
        (WebCore::XPath::EqTestOp::EqTestOp): Ditto.
        (WebCore::XPath::EqTestOp::doEvaluate): Ditto.
        (WebCore::XPath::LogicalOp::LogicalOp): Ditto.
        (WebCore::XPath::LogicalOp::shortCircuitOn): Ditto.
        (WebCore::XPath::Predicate::evaluate): Removed an unneeded "new".

        * xpath/impl/XPathStep.h:
        * xpath/impl/XPathStep.cpp: Renamed AxisType to Axis. Removed unused axisAsString
        function and default constructor.

        * xpath/impl/XPathValue.h: Renamed the type constants to have a Value suffix,
        instead of the underscore suffix used before on NodeVector and String.
        * xpath/impl/XPathValue.cpp: Updated for name change. Added asserts.

        * xpath/impl/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::doEvaluate):
        Use a reference instead of a pointer.

        * xpath/XPathEvaluator.cpp:
        * xpath/XPathEvaluator.h:
        * xpath/XPathExpression.h:
        * xpath/XPathNSResolver.cpp:
        * xpath/XPathNSResolver.h:
        * xpath/XPathNamespace.cpp:
        * xpath/XPathNamespace.h:
        * xpath/XPathResult.h:
        * xpath/impl/XPathExpressionNode.cpp:
        * xpath/impl/XPathExpressionNode.h:
        * xpath/impl/XPathPath.cpp:
        * xpath/impl/XPathPath.h:
        * xpath/impl/XPathUtil.cpp:
        * xpath/impl/XPathUtil.h:
        * xpath/impl/XPathVariableReference.h:
        Reformatted and changed includes around; no substantive changes.

2006-06-04  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by hyatt.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9213
          Absolutely positioned objects with relatively positioned inline 
          containing blocks are rendered incorrectly

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::containingBlockWidthForPositioned):
        (WebCore::RenderBox::containingBlockHeightForPositioned):
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteVertical):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
        * rendering/RenderBox.h:

2006-06-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=9035
        document.evaluate and createNSResolver miss on namespaced elements
        
        * xpath/XPathExpression.cpp:
        (WebCore::XPathExpression::createExpression):
        Pass the resolver to the parser.
        
        * xpath/XPathResult.cpp:
        (WebCore::XPathResult::iterateNext):
        Fix off-by-one error.
        
        * xpath/impl/XPathExpressionNode.h:
        (WebCore::XPath::EvaluationContext::EvaluationContext):
        Get rid of the resolver in the evaluation context.
        
        * xpath/impl/XPathGrammar.y:
        Fetch the resolver from the parser. Only return the local name.
        
        * xpath/impl/XPathParser.cpp:        
        (WebCore::XPath::Parser::parseStatement):
        * xpath/impl/XPathParser.h:
        (WebCore::XPath::Parser::resolver):
        Update to hold the resolver.
        
        * xpath/impl/XPathStep.cpp:
        (WebCore::XPath::Step::Step):
        If the parser has stored a namespace URI, set it.
        
        (WebCore::XPath::Step::nodeTestMatches):
        Check namespace URIs.
        
        * xpath/impl/XPathStep.h:
        Add m_namespaceURI.

2006-06-03  Rob Buis  <buis@kde.org>

        Reviewed by mjs.  Tweaked and landed by ddkilzer.

        http://bugs.webkit.org/show_bug.cgi?id=7281
        With java disabled wrong information is displayed.

        Test: fast/replaced/applet-rendering-java-disabled.html

        Match WinIE, render applet content inline when java is
        disabled. 

        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed RenderEmptyApplet.cpp and RenderEmptyApplet.h.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * WebCoreSources.bkl: Ditto.
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::createRenderer):
        * rendering/RenderEmptyApplet.cpp: Removed.
        * rendering/RenderEmptyApplet.h: Removed.

2006-06-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9252
          REGRESSION: Very odd roll-over issues (content disappearing)

        Test: fast/dom/HTMLLinkElement/pending-stylesheet-count.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::~HTMLLinkElement): If the stylesheet was being
        loaded, call stylesheetLoaded() on the document, to keep the pending stylesheet
        count correct.

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

        - fix Windows build

        * platform/Widget.h: Moved scaleFactor function out of Apple-specific
        section of the header into the common part.

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

        Reviewed by Darin.

        Fix for <rdar://problem/4537274> HiDPI: <canvas> needs to apply a 
        scale. <canvas> needs to scale itself along with whatever scale 
        factor is set on the window.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createDrawingContext): Get the scale 
        factor and use it to create a larger buffer and to scale the 
        CGContext.
        * platform/Widget.h: Provide a new function that returns the user 
        space scale factor.
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::scaleFactor): Get the scale factor from the 
        window and return it.
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::scaleFactor): Just return 1.0f for now.

2006-06-03  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by hyatt.

        Don't send empty referrers.  Fixes image load fail on Spinneret default content.

        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::start):

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

        Reviewed by Darin. 

        Windows theme for textareas.  Also made some formatting changes. 

        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::supportsFocus):
        (WebCore::RenderThemeWin::getThemeData):
        (WebCore::RenderThemeWin::adjustButtonStyle):
        (WebCore::RenderThemeWin::adjustTextFieldStyle):
        (WebCore::RenderThemeWin::adjustTextAreaStyle):
        (WebCore::RenderThemeWin::paintTextArea):
        * rendering/RenderThemeWin.h:
        (WebCore::RenderThemeWin::supportsHover):

2006-06-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>

        Reviewed by Hyatt, checked in by Tim H.

        Explicitly run perl on *.pl files instead of relying
        on Windows shell figuring out which program to run for
        this extention.

        * DerivedSources.make:

2006-06-02  David Carson  <dacarson@gmail.com>

        Reviewed by Hyatt, checked in by Tim H.

        fixes http://bugs.webkit.org/show_bug.cgi?id=9115
        Changed RenderLayer to only render layers that are not
        totally transparent.

        * rendering/RenderLayer.cpp
        (RenderLayer::paintLayer):
        Changed function to also check if the layer is totally transparent
        and if it is, don't bother painting it.

2006-06-02  Rob Buis  <buis@kde.org>

        Reviewed by Hyatt, checked in by Tim H.

        http://bugs.webkit.org/show_bug.cgi?id=8223
        WebKit fails to update style on element via DOM

        Handle !important by detecting it and using a different code
        path from normal priority.

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        * css/CSSStyleDeclaration.cpp:
        (WebCore::CSSStyleDeclaration::setProperty):
        * css/CSSStyleDeclaration.h:

2006-06-02  Darin Adler  <darin@apple.com>
        
        Reviewed by Geoff, checked in by Maciej.
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=9236
        REGRESSION: focus method does not work on some elements before they are laid out
        
        * dom/Element.cpp: (WebCore::Element::focus): Do the updateLayout call before
        calling isFocusable, since isFocusable looks at the size of the renderer.
        
2006-06-02  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by darin.

        Platform hookup fixes

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::urlSelected):
        (WebCore::FrameWin::setTitle):
        (WebCore::FrameWin::setStatusBarText):
        * bridge/win/FrameWin.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::overrideMediaType):
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJobWndProc):
        (WebCore::TransferJob::start):
        (WebCore::TransferJob::fileLoadTimer):
        (WebCore::TransferJob::cancel):

2006-06-02  Rémi Zara  <remi_zara@mac.com>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3379
          attr(X) does not work

        Test: fast/css-generated-content/016.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement): Don't share style
        if the unique bit is set.
        (WebCore::CSSStyleSelector::applyProperty): When applying the "attr" property,
        set the unique bit and add to m_selectorAttrs.

        * rendering/render_style.cpp: Did a lot of reformatting, and this one real change.
        (WebCore::RenderStyle::RenderStyle): Initialize m_unique to false.

        * rendering/render_style.h:
        (WebCore::RenderStyle::unique): Added. Returns value of m_unique.
        (WebCore::RenderStyle::setUnique): Added. Sets m_unique.

2006-06-02  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by mjs.

        http://bugs.webkit.org/show_bug.cgi?id=9183
        Finish renaming of RenderCanvas to RenderView

        * rendering/RenderView.h: Changed renderName from "RenderCanvas" to "RenderView".

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

        - try to fix Windows build

        * bridge/win/FrameWin.cpp: Added include of Decoder.h.

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

        Reviewed by Maciej.

        - WebCore doesn't need to load WebKit images any more; removed code for that

        * WebCore.exp: Removed WebCoreImageRendererFactory.
        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRendererFactory.h/mm.
        * bridge/mac/WebCoreFrameBridge.mm: Removed include of WebCoreImageRendererFactory.h.
        * platform/mac/ImageMac.mm: Removed include of WebCoreImageRendererFactory.h.
        * platform/mac/WebCoreImageRendererFactory.h: Removed.
        * platform/mac/WebCoreImageRendererFactory.m: Removed.

2006-06-01  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Geoff, tweaked a bit by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=9064
          Split dom2_traversalimpl.* into separate files (one class per file).

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

        * bindings/js/kjs_traversal.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/objc/DOM.mm:
        * dom/Document.cpp:
        * dom/Document.h:
        Updated includes.

        * dom/NodeFilter.cpp: Added.
        * dom/NodeFilter.h: Added.
        * dom/NodeFilterCondition.cpp: Added.
        * dom/NodeFilterCondition.h: Added.
        * dom/NodeIterator.cpp: Added.
        * dom/NodeIterator.h: Added.
        * dom/Traversal.cpp: Added.
        * dom/Traversal.h: Added.
        * dom/TreeWalker.cpp: Added.
        * dom/TreeWalker.h: Added.

        * dom/dom2_traversalimpl.cpp: Removed.
        * dom/dom2_traversalimpl.h: Removed.

2006-06-01  David Carson  <dacarson@gmail.com>

        Reviewed by Maciej and Adele

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8398
        REGRESSION: LABEL in OPTION element is clobbering display #TEXT
        Patch provided by Darin.
        
        * rendering/RenderSelect.cpp
        (RenderSelect::updateFromElement): 
        Changed to use the containing text by default, and not the label text

2006-06-01  David Carson  <dacarson@gmail.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8646
        Correcting the value returned for window.screen.pixelDepth and
        window.screen.colorDepth
        
        * platform/mac/ScreenMac.mm
        (screenDepth): 
        Changed to return the BitsPerPixelFromDepth rather than the WindowDepth

2006-06-01  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Missed an initialization in my last checkin which caused too many
        resizers to be drawn.

        * rendering/render_style.cpp: (WebCore::resize):
        Initialize resize to RESIZE_NONE.

2006-06-01  Dave Hyatt <hyatt@apple.com>

        Implement form POST using WinINet.  This code is crazy... CRAZY!

        * platform/TransferJobInternal.h:
        (WebCore::TransferJobInternal::TransferJobInternal):
        * platform/win/CookieJarWin.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJobWndProc):
        (WebCore::TransferJob::start):

2006-06-01  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=9216
        Implement CSS3 resize property

        * css/html4.css: Sets resize:both for textareas. This won't affect old-style textareas.

        * css/CSSPropertyNames.in: Added resize property.
        * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Added case for CSS_PROP_RESIZE.
        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
        * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): ditto.

        * rendering/render_style.cpp: (WebCore::StyleCSS3InheritedData): Initialize resize.
        * rendering/render_style.h:
        (WebCore::): Added EResize enum.
        (WebCore::RenderStyle::resize):
        (WebCore::RenderStyle::setResize):
        (WebCore::RenderStyle::initialResize):

        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_resizeLayer to keep track of a layer that has begun resizing.
        (WebCore::FrameViewPrivate::reset): Reset m_resizeLayer.
        (WebCore::FrameView::handleMousePressEvent): If the mouse was pressed in a layer's resize control, then put the layer into resize mode.
        (WebCore::selectCursor): Updated so we get a pointer cursor for the resize control.
        (WebCore::FrameView::handleMouseMoveEvent): If there's a layer currently resizing, then tell the layer to continue resizing.
        (WebCore::FrameView::handleMouseReleaseEvent): If there's a layer currently resizing, then pull it out of resize mode.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): Updated so the resize control isn't considered part of the scrollbar.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer): Initialize m_inResizeMode
        (WebCore::RenderLayer::updateLayerPositions): Calls positionResizeControl.
        (WebCore::RenderLayer::resize): Added. Sets a new width and height based on the current mouse point.
        (WebCore::RenderLayer::isPointInResizeControl): Added.
        (WebCore::RenderLayer::positionResizeControl): Added.
        (WebCore::RenderLayer::positionScrollbars): Calls positionResizeControl.
        (WebCore::RenderLayer::paintScrollbars): Calls positionResizeControl.
        (WebCore::RenderLayer::paintResizeControl): Added.
        (WebCore::RenderLayer::paintLayer): Calls paintResizeControl.
        * rendering/RenderLayer.h: Added m_inResizeMode.
        (WebCore::RenderLayer::resizeControlRect):
        (WebCore::RenderLayer::setResizeControlRect):
        (WebCore::RenderLayer::inResizeMode): Added.
        (WebCore::RenderLayer::setInResizeMode): Added. 

        * platform/mac/ImageMac.mm: (WebCore::Image::loadResource): Moved code from WebImageRendererFactory.  Now loads images from WebCore's resources.
        WebImageRendererFactory is no longer used and should be removed.
        * Resources/missingImage.tiff: Added. Copied from WebKit.
        * WebCore.xcodeproj/project.pbxproj: Added missingImage.tiff
        * loader/Cache.cpp: (WebCore::Cache::init): Updated name from missing_image to missingImage.

        * rendering/RenderTheme.h:
        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paintResizeControl): Added.
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::RenderThemeMac): Initialize resizeCornerImage.
        (WebCore::RenderThemeMac::paintResizeControl): Paints resizeCornerImage.

2006-06-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej.

        Added the beginnings of sqlite-based code in a WebCore
        based version of the Icon Database.  Right now the code
        is very loosely hooked up through a Bridge and only
        creates an sqlite3 database.

        There are also changes to our String classes to allow appending
        a single character to a String without creating a temporary object.

        * WebCore.exp:
        -Added a symbol export

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreIconDatabaseBridge.h: Added.
        * bridge/mac/WebCoreIconDatabaseBridge.mm: Added.
        (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
        (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
        (-[WebCoreIconDatabaseBridge isOpen]):
        -This class will eventually shadow WebIconDatabase but for now
        is a minimal interface to make the sql code live

        * icon: Added.
        * icon/IconDatabase.cpp: Added.
        -This class will eventually resemble WebIconDatabase but for now
        is minimal just to make the sql code live
        (WebCore::IconDatabase::sharedIconDatabase):
        (WebCore::IconDatabase::IconDatabase):
        (WebCore::IconDatabase::open):
        -This method calls a mkdir to make sure the target directory
        exists
        (WebCore::IconDatabase::close):
        (WebCore::IconDatabase::~IconDatabase):

        * icon/IconDatabase.h: Added.
        (WebCore::IconDatabase::isOpen):
        * platform/Logging.cpp:
        * platform/Logging.h:
        -Added an IconDatabase logging channel

        * platform/PlatformString.h:
        * platform/String.cpp:
        (WebCore::String::append):
        * platform/StringImpl.cpp:
        (WebCore::StringImpl::append):
        * platform/StringImpl.h:
        -Added append(char) and append(UChar) to allow appending a
        single character without creating a temporary object.  Required
        to facilitate manually adding a null character to a unicode 16
        string

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

        Reviewed and landed by Anders.

        - fixed all places in the Canvas to RenderView rename patch where
          view() should have been changed to frameView().

        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject position]):
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintBackgroundExtended):
        * rendering/RenderTreeAsText.cpp:
        (externalRepresentation):

2006-06-01  Geoffrey Garen  <ggaren@apple.com>

        Fix by Mitz. Reviewed, tweaked, tested, landed by me.

        - Fixed http://bugs.webkit.org/show_bug.cgi?id=9113
        REGRESSION (14581): XMLHttpRequest never calls onreadystatechange with 
        a readystate == 4
        
        An XMLHttpRequest must be added to the DOMObject cache so that its
        DOM implementation object can protect it, and by extension, its event
        listeners.
        
        This design seems slightly backwards to me -- the bindings should know
        about the DOM, not the other way around -- but I'm restoring it for
        now to fix the regression.
        
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
        (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        * platform/KURL.cpp:
        (equalIgnoringRef):
        Whoops. Fix build.
        
2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=6309
        multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
        
        * bindings/js/kjs_window.cpp:
        (KJS::Location::put):
        Handle the case where the hash starts with a "#". Also, don't do anything if the previous and new hashes
        are equal.
        
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.h:
        * bridge/mac/BrowserExtensionMac.mm:        
        (WebCore::BrowserExtensionMac::historyURL):
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        New function historyURL which returns the complete URL for a given item in the history.
        
        * page/Frame.cpp:
        (WebCore::Frame::scheduleLocationChange):        
        (WebCore::Frame::scheduleHistoryNavigation):
        If the URL of the new location only differs in the hash, don't schedule the load. Instead, load it
        directly.
        
        * platform/KURL.cpp:
        * platform/KURL.h:
        Add equalsIgnoringRef which returns whether two URLs are equal, ignoring the ref.

2006-06-01  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9212
        dispatchEvent13.html crashes under GuardMalloc

        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::addEventListener):
        (WebCore::EventTargetNode::removeEventListener):        
        (WebCore::EventTargetNode::handleLocalEvents):
        
        (WebCore::EventTargetNode::removeHTMLEventListener):
        (WebCore::EventTargetNode::getHTMLEventListener):
        * dom/EventTargetNode.h:
        Make the list of registered event listeners refcount the listeners
        by using a value list of RefPtr objects.
        
        Set removed flag to true in removeEventListener
        Only invoke event listeners if they don't have the removed flag.
        
        * dom/dom2_eventsimpl.cpp:
        (WebCore::RegisteredEventListener::RegisteredEventListener):
        * dom/dom2_eventsimpl.h:
        Make RegisteredEventListener refcounted.
        
        (WebCore::RegisteredEventListener::removed):
        (WebCore::RegisteredEventListener::setRemoved):
        Add removed flag and getter and setter

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

        Reviewed by harrison
        
        <rdar://problem/4567752> When forwarding a message, pressing TAB key to place caret in body actually selects the entire message instead

        * dom/Element.cpp:
        (WebCore::Element::focus):

2006-06-01  David Kilzer  <ddkilzer@kilzer.net>

        Reviewed by darin.

        http://bugs.webkit.org/show_bug.cgi?id=9144
        Test for Bug 8079 (REGRESSION: Redraw from page cache does not show visited links)

        * manual-tests/redraw-page-cache-visited-links.html: Added.
        * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added.

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9124
          Drop shadow obscures "add more stuff" bubble at live.com

        Test: fast/css/find-next-layer.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::findNextLayer): Fixed a bug where this function could reach
        two levels down in the layer tree and return 0.

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

        Reviewed by Geoff.

        - http://bugs.webkit.org/show_bug.cgi?id=9109
          Remove bogus assertion in RenderBlock::tabWidth

        Changed the uninitialized value of m_tabWidth to -1 and removed the
        assertion that it cannot be 0.

        * rendering/RenderBlock.cpp:
        (WebCore:::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::setStyle):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::tabWidth):

2006-05-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9100
          Absolutely positioned replaced elements with all non-auto
          values are rendered incorrectly

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Add support for case when all values are specified.
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9012
          Row height not updated when cell heights change

        Test: fast/table/row-height-recalc.html

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::setStyle): Mark the section as needing recalculation
        if the height property changed.
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::setStyle): Ditto.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::recalcCells): Initialize the grid row height
        to the height of the row element (like addChild() does).

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

        Reviewed by Hyatt.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=8969
          REGRESSION: typing in textfield repaints whole web page at gamefaqs.com

        No test possible (no functionality change)

        * dom/Document.cpp:
        (WebCore::Document::updateLayout): Changed to ensure that pending subtree
        layouts are performed too.
        * page/Frame.cpp:
        (WebCore::Frame::forceLayout): Force a full layout.
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::reset):
        (WebCore::FrameView::layout): Changed to relayout only the subtree rooted
        at d->layoutRoot if it's non-zero and allowSubtree is true.
        (WebCore::FrameView::scheduleRelayout): Change pending subtree relayout into
        normal relayout by clearing d->layoutRoot and propagating needsLayout to the
        root. 
        (WebCore::FrameView::scheduleRelayoutOfSubtree): Added.
        * page/FrameView.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout): Added scheduleRelayout
        parameter. FrameView passes false to force marking all the way to the root
        when turning a pending subtree relayout into a full relayout. Otherwise,
        marking stops at the first textField (or at the root) and
        relayout of the last object reached is scheduled.
        (WebCore::RenderObject::scheduleRelayout):
        * rendering/RenderObject.h:

2006-05-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Darin.

        patch for <http://bugs.webkit.org/show_bug.cgi?id=8910>
        Bug 8910: Various code cleanups in RenderBox
        
        Clean up with some slight optimizations.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::contentWidth):
        (WebCore::RenderBox::contentHeight):
        (WebCore::RenderBox::setPos):
        (WebCore::RenderBox::calcWidth):
        (WebCore::RenderBox::calcWidthUsing):
        * rendering/RenderBox.h:

2006-05-31  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt.

        patch for <http://bugs.webkit.org/show_bug.cgi?id=8899>
        Bug 8899: Removes some unneeded code from RenderBox
        
        Removes the use of WidthType where not needed to simplify
        the code a little.
        
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcWidthUsing):
        (WebCore::RenderBox::sizesToIntrinsicWidth):
        (WebCore::RenderBox::calcReplacedWidth):
        (WebCore::RenderBox::calcReplacedWidthUsing):
        (WebCore::RenderBox::calcReplacedHeight):
        (WebCore::RenderBox::calcReplacedHeightUsing):
        * rendering/RenderBox.h:
        (WebCore::):
        (WebCore::RenderBox::renderName):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::calcReplacedWidth):
        (WebCore::RenderImage::calcReplacedHeight):

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

        Reviewed by Geoff.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8455
        selectedIndex for a select after a Form reset() has wrong value

        Make sure the list items are reset properly by selecting
        the first option in case no options have the selected attribute
        set.

        * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::reset):

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

        Reviewed by Geoff.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8024
        "Go" button (search) doesn't work at fifa.com (document.all.FormName)

        Allow input elements with name attributes as possible named
        items for document.all.

        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::checkForNameMatch):
        (WebCore::HTMLCollection::updateNameCache):

2006-05-31  Dave Hyatt <hyatt@apple.com>

        Adding stubs for BMP/ICO/XBM image decoders.  They don't
        do anything yet though.

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/cairo/ImageSourceCairo.cpp:
        (WebCore::createDecoder):
        * platform/image-decoders/bmp: Added.
        * platform/image-decoders/bmp/BMPImageDecoder.cpp: Added.
        (WebCore::BMPImageDecoder::isSizeAvailable):
        (WebCore::BMPImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/bmp/BMPImageDecoder.h: Added.
        * platform/image-decoders/ico: Added.
        * platform/image-decoders/ico/ICOImageDecoder.cpp: Added.
        (WebCore::ICOImageDecoder::isSizeAvailable):
        (WebCore::ICOImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/ico/ICOImageDecoder.h: Added.
        * platform/image-decoders/xbm: Added.
        * platform/image-decoders/xbm/XBMImageDecoder.cpp: Added.
        (WebCore::XBMImageDecoder::isSizeAvailable):
        (WebCore::XBMImageDecoder::frameBufferAtIndex):
        * platform/image-decoders/xbm/XBMImageDecoder.h: Added.

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

        Fix for the gmail tab-focus-stealing bug.

        Reviewed by darin

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow):
        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::focusWindow):
        (WebCore::FrameMac::unfocusWindow):
        * bridge/mac/WebCoreFrameBridge.h:
        * page/Frame.h:
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        * platform/win/TemporaryLinkStubs.cpp:
        (FrameWin::focusWindow):
        * platform/win/WidgetWin.cpp:

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

        Reviewed by Hyatt.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=6755 CSS3: 
        Borders rounded with border-radius don't draw the roundings

        This patch does not draw all of the different border styles 
        perfectly, so I have filed a few followup bugs that I will 
        reference from this Bugzilla.

        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawArc): drawArc() has different 
        parameters now, but mostly this needs to be implemented to match 
        the Mac side later.
        (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. 
        Implement this later.
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. 
        Implement this later.
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing 
        elliptical arcs as well as circular arcs, it also takes a thickness 
        parameter to draw an arc of a given thickness and draws with the 
        appropriate pen style.
        (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to 
        the inside of an arc instead of to the outside which is already 
        done by addRoundedClipRect()
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBorderArc): Draws the border arcs in 
        the appropriate styles.
        (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when 
        border arcs are needed.
        * rendering/RenderObject.h:

2006-05-30  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        Add first-cut SVG JS bindings autogeneration.
        SVGSVGElement and various other support classes are generated.
        Various small style fixes.
        http://bugs.webkit.org/show_bug.cgi?id=4249

        * DerivedSources.make:
        * WebCore+SVG/RGBColor.cpp: Removed.
        * WebCore+SVG/RGBColor.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper): renamed from createJSWrapper
        * bindings/js/JSHTMLElementWrapperFactory.h:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::DOMNode):
        (KJS::DOMNode::toBoolean):
        (KJS::DOMNode::getOwnPropertySlot):
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::put):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::toString):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::toEventTargetNode):
        (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::DOMNodeList::toPrimitive):
        (KJS::DOMNodeList::getValueProperty):
        (KJS::DOMNodeList::indexGetter):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMNodeList::callAsFunction):
        (KJS::DOMNodeListFunc::callAsFunction):
        (KJS::toElement):
        (KJS::toDocumentType):
        (KJS::DOMNamedNodeMap::DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::~DOMNamedNodeMap):
        (KJS::DOMNamedNodeMap::lengthGetter):
        (KJS::DOMNamedNodeMap::indexGetter):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::toJS):
        (KJS::checkNodeSecurity):
        (KJS::getRuntimeObject):
        (KJS::DOMExceptionConstructor::getOwnPropertySlot):
        (KJS::DOMExceptionConstructor::getValueProperty):
        (KJS::getDOMExceptionConstructor):
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::lengthGetter):
        (KJS::DOMNamedNodesCollection::indexGetter):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * bindings/scripts/CodeGenerator.pm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.cpp:
        (WebCore::Document::implicitClose):
        * dom/Element.h:
        * dom/StyledElement.h:
        * ksvg2/bindings/idl/svg/SVGAngle.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGColor.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGDocument.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGElement.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGLength.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGMatrix.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGNumber.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGPoint.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGRect.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Removed.
        * ksvg2/bindings/idl/svg/SVGTransform.idl: Removed.
        * ksvg2/bindings/idl/svg/kdomdefs.idl: Removed.
        * ksvg2/bindings/js: Added.
        * ksvg2/bindings/js/JSSVGNumber.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGNumber::~JSSVGNumber):
        (WebCore::JSSVGNumber::getOwnPropertySlot):
        (WebCore::JSSVGNumber::getValue):
        (WebCore::getJSSVGNumber):
        * ksvg2/bindings/js/JSSVGNumber.h: Added.
        (WebCore::JSSVGNumber::JSSVGNumber):
        (WebCore::JSSVGNumber::classInfo):
        * ksvg2/bindings/js/JSSVGPoint.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGPoint::~JSSVGPoint):
        (WebCore::JSSVGPoint::getOwnPropertySlot):
        (WebCore::JSSVGPoint::getValueProperty):
        (WebCore::getJSSVGPoint):
        (WebCore::toFloatPoint):
        * ksvg2/bindings/js/JSSVGPoint.h: Added.
        (WebCore::JSSVGPoint::JSSVGPoint):
        (WebCore::JSSVGPoint::classInfo):
        (WebCore::JSSVGPoint::):
        (WebCore::JSSVGPoint::impl):
        * ksvg2/bindings/js/JSSVGRect.cpp: Added.
        (WebCore::):
        (WebCore::JSSVGRect::~JSSVGRect):
        (WebCore::JSSVGRect::getOwnPropertySlot):
        (WebCore::JSSVGRect::getValueProperty):
        (WebCore::getJSSVGRect):
        (WebCore::toFloatRect):
        * ksvg2/bindings/js/JSSVGRect.h: Added.
        (WebCore::JSSVGRect::JSSVGRect):
        (WebCore::JSSVGRect::classInfo):
        (WebCore::JSSVGRect::):
        (WebCore::JSSVGRect::impl):
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/events/SVGZoomEvent.cpp:
        (SVGZoomEvent::SVGZoomEvent):
        (SVGZoomEvent::zoomRectScreen):
        (SVGZoomEvent::previousTranslate):
        (SVGZoomEvent::newTranslate):
        * ksvg2/events/SVGZoomEvent.h:
        * ksvg2/ksvg.h:
        (WebCore::):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
        (WebCore::SVGDocumentExtensions::addTimeContainer):
        (WebCore::SVGDocumentExtensions::removeTimeContainer):
        (WebCore::SVGDocumentExtensions::startAnimations):
        (WebCore::SVGDocumentExtensions::pauseAnimations):
        (WebCore::SVGDocumentExtensions::unpauseAnimations):
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/svg/SVGAElement.h:
        * ksvg2/svg/SVGAngle.h:
        (WebCore::SVGAngle::):
        * ksvg2/svg/SVGAngle.idl: Added.
        * ksvg2/svg/SVGAnimateColorElement.cpp:
        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
        (WebCore::SVGAnimateColorElement::handleTimerEvent):
        (WebCore::SVGAnimateColorElement::clampColor):
        * ksvg2/svg/SVGAnimateColorElement.h:
        * ksvg2/svg/SVGAnimateElement.cpp:
        (SVGAnimateElement::SVGAnimateElement):
        (SVGAnimateElement::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElement.h:
        * ksvg2/svg/SVGAnimateTransformElement.cpp:
        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
        (WebCore::SVGAnimateTransformElement::parseMappedAttribute):
        (WebCore::SVGAnimateTransformElement::handleTimerEvent):
        (WebCore::SVGAnimateTransformElement::parseTransformValue):
        (WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
        (WebCore::SVGAnimateTransformElement::initialMatrix):
        * ksvg2/svg/SVGAnimateTransformElement.h:
        * ksvg2/svg/SVGAnimatedLength.idl: Added.
        * ksvg2/svg/SVGAnimationElement.cpp:
        (SVGAnimationElement::closeRenderer):
        * ksvg2/svg/SVGAnimationElement.h:
        * ksvg2/svg/SVGCircleElement.h:
        * ksvg2/svg/SVGClipPathElement.h:
        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore::SVGColor::rgbColor):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::setRGBColorICCColor):
        (WebCore::SVGColor::setColor):
        (WebCore::SVGColor::color):
        * ksvg2/svg/SVGColor.h:
        (WebCore::SVGColor::):
        (WebCore::SVGColor::setRGBColor):
        * ksvg2/svg/SVGColor.idl: Added.
        * ksvg2/svg/SVGComponentTransferFunctionElement.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGDefsElement.h:
        * ksvg2/svg/SVGDescElement.h:
        * ksvg2/svg/SVGDocument.idl: Added.
        * ksvg2/svg/SVGElement.cpp:
        (WebCore::SVGElement::SVGElement):
        (WebCore::SVGElement::isSupported):
        (WebCore::SVGElement::id):
        (WebCore::SVGElement::setId):
        (WebCore::SVGElement::xmlbase):
        (WebCore::SVGElement::setXmlbase):
        (WebCore::SVGElement::ownerSVGElement):
        (WebCore::SVGElement::viewportElement):
        (WebCore::SVGElement::tryGetAttribute):
        (WebCore::SVGElement::tryGetAttributeNS):
        (WebCore::SVGElement::childShouldCreateRenderer):
        * ksvg2/svg/SVGElement.h:
        * ksvg2/svg/SVGElement.idl: Added.
        * ksvg2/svg/SVGEllipseElement.h:
        * ksvg2/svg/SVGEvent.idl: Added.
        * ksvg2/svg/SVGFEBlendElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.h:
        * ksvg2/svg/SVGFEComponentTransferElement.h:
        * ksvg2/svg/SVGFECompositeElement.h:
        * ksvg2/svg/SVGFEDiffuseLightingElement.h:
        * ksvg2/svg/SVGFEDistantLightElement.h:
        * ksvg2/svg/SVGFEFloodElement.h:
        * ksvg2/svg/SVGFEFuncAElement.h:
        * ksvg2/svg/SVGFEFuncBElement.h:
        * ksvg2/svg/SVGFEFuncGElement.h:
        * ksvg2/svg/SVGFEFuncRElement.h:
        * ksvg2/svg/SVGFEGaussianBlurElement.h:
        * ksvg2/svg/SVGFEImageElement.h:
        * ksvg2/svg/SVGFELightElement.h:
        * ksvg2/svg/SVGFEMergeElement.h:
        * ksvg2/svg/SVGFEMergeNodeElement.h:
        * ksvg2/svg/SVGFEOffsetElement.h:
        * ksvg2/svg/SVGFEPointLightElement.h:
        * ksvg2/svg/SVGFESpecularLightingElement.h:
        * ksvg2/svg/SVGFESpotLightElement.h:
        * ksvg2/svg/SVGFETileElement.h:
        * ksvg2/svg/SVGFETurbulenceElement.h:
        * ksvg2/svg/SVGFilterElement.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
        * ksvg2/svg/SVGForeignObjectElement.h:
        * ksvg2/svg/SVGGElement.h:
        * ksvg2/svg/SVGGradientElement.h:
        * ksvg2/svg/SVGHelper.cpp:
        (WebCore::SVGHelper::PercentageOfViewport):
        (WebCore::SVGHelper::ParseSeperatedList):
        * ksvg2/svg/SVGImageElement.h:
        * ksvg2/svg/SVGLength.h:
        (WebCore::SVGLength::):
        * ksvg2/svg/SVGLength.idl: Added.
        * ksvg2/svg/SVGLineElement.h:
        * ksvg2/svg/SVGLinearGradientElement.h:
        * ksvg2/svg/SVGLocatable.cpp:
        (SVGLocatable::getBBox):
        * ksvg2/svg/SVGLocatable.h:
        * ksvg2/svg/SVGMarkerElement.h:
        * ksvg2/svg/SVGMaskElement.h:
        * ksvg2/svg/SVGMatrix.cpp:
        (SVGMatrix::inverse):
        (SVGMatrix::rotateFromVector):
        * ksvg2/svg/SVGMatrix.h:
        * ksvg2/svg/SVGMatrix.idl: Added.
        * ksvg2/svg/SVGNumber.idl: Added.
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getPointAtLength):
        * ksvg2/svg/SVGPathElement.h:
        * ksvg2/svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::x):
        (WebCore::SVGPatternElement::y):
        (WebCore::SVGPatternElement::width):
        (WebCore::SVGPatternElement::height):
        (WebCore::SVGPatternElement::pushAttributeContext):
        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
        (WebCore::SVGPatternElement::notifyClientsToRepaint):
        (WebCore::SVGPatternElement::notifyAttributeChange):
        (WebCore::SVGPatternElement::canvasResource):
        (WebCore::SVGPatternElement::getCTM):
        * ksvg2/svg/SVGPatternElement.h:
        * ksvg2/svg/SVGPoint.idl: Added.
        * ksvg2/svg/SVGPolyElement.h:
        * ksvg2/svg/SVGPolygonElement.h:
        * ksvg2/svg/SVGPolylineElement.h:
        * ksvg2/svg/SVGRadialGradientElement.h:
        * ksvg2/svg/SVGRect.idl: Added.
        * ksvg2/svg/SVGRectElement.h:
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::SVGSVGElement):
        (WebCore::SVGSVGElement::~SVGSVGElement):
        (WebCore::SVGSVGElement::viewport):
        (WebCore::SVGSVGElement::currentTranslate):
        (WebCore::SVGSVGElement::unsuspendRedraw):
        (WebCore::SVGSVGElement::getIntersectionList):
        (WebCore::SVGSVGElement::getEnclosureList):
        (WebCore::SVGSVGElement::checkIntersection):
        (WebCore::SVGSVGElement::checkEnclosure):
        (WebCore::SVGSVGElement::createSVGNumber):
        (WebCore::SVGSVGElement::createSVGPoint):
        (WebCore::SVGSVGElement::createSVGRect):
        (WebCore::SVGSVGElement::pauseAnimations):
        (WebCore::SVGSVGElement::unpauseAnimations):
        (WebCore::SVGSVGElement::animationsPaused):
        (WebCore::SVGSVGElement::getCurrentTime):
        (WebCore::SVGSVGElement::setCurrentTime):
        * ksvg2/svg/SVGSVGElement.h:
        (WebCore::SVGSVGElement::timeScheduler):
        * ksvg2/svg/SVGSVGElement.idl: Added.
        * ksvg2/svg/SVGScriptElement.h:
        * ksvg2/svg/SVGSetElement.cpp:
        (WebCore::SVGSetElement::SVGSetElement):
        (WebCore::SVGSetElement::handleTimerEvent):
        * ksvg2/svg/SVGSetElement.h:
        * ksvg2/svg/SVGStopElement.h:
        * ksvg2/svg/SVGStyleElement.h:
        * ksvg2/svg/SVGStyledElement.h:
        * ksvg2/svg/SVGStyledLocatableElement.cpp:
        (SVGStyledLocatableElement::getBBox):
        * ksvg2/svg/SVGStyledLocatableElement.h:
        * ksvg2/svg/SVGStyledTransformableElement.cpp:
        (SVGStyledTransformableElement::getBBox):
        * ksvg2/svg/SVGStyledTransformableElement.h:
        * ksvg2/svg/SVGSwitchElement.h:
        * ksvg2/svg/SVGSymbolElement.h:
        * ksvg2/svg/SVGTRefElement.h:
        * ksvg2/svg/SVGTSpanElement.h:
        * ksvg2/svg/SVGTextContentElement.cpp:
        (SVGTextContentElement::getStartPositionOfChar):
        (SVGTextContentElement::getEndPositionOfChar):
        (SVGTextContentElement::getExtentOfChar):
        (SVGTextContentElement::getCharNumAtPosition):
        (SVGTextContentElement::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElement.h:
        * ksvg2/svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::getBBox):
        * ksvg2/svg/SVGTextElement.h:
        * ksvg2/svg/SVGTextPositioningElement.h:
        * ksvg2/svg/SVGTitleElement.h:
        * ksvg2/svg/SVGTransform.h:
        (WebCore::SVGTransform::):
        * ksvg2/svg/SVGTransform.idl: Added.
        * ksvg2/svg/SVGUseElement.h:
        * ksvg2/svg/SVGViewElement.h:
        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        (WebCore::Frame::pauseTimeouts):
        (WebCore::Frame::resumeTimeouts):
        * platform/Color.h:
        * rendering/RenderBR.h:
        * rendering/RenderBox.h:
        (WebCore::RenderBox::renderName):
        * rendering/RenderCanvas.h:
        (WebCore::RenderCanvas::view):
        * rendering/RenderContainer.h:
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow):
        * rendering/RenderInline.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderTextFragment.h:
        (WebCore::RenderTextFragment::contentString):
        * xml/xmlattrs.in: Added.

2006-05-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        - Fixed <rdar://problem/4559720> window sizing: make javascript window 
        and screen sizing methods and properties work @ HIDPI
        
        The general approach here is to change some ints to floats, make 
        a few key functions that scale between WebView and window/screen 
        coordinates, and change other functions that work with screen 
        coordinates to use the scaling functions for their underlying 
        implementations.

        * manual-tests/window-open-features.html: Removed.
        * manual-tests/window-sizing.html: Added. More test coverage.

        * bindings/js/kjs_window.cpp: Changed ints to floats and IntRects to
        FloatRects, because window coordinates can be fractional when scaled 
        to WebView/DOM coordinates.
        (KJS::floatFeature):
        (KJS::showModalDialog):
        (KJS::Window::getValueProperty):
        (KJS::constrainToVisible):
        (KJS::WindowFunc::callAsFunction):
        * bridge/BrowserExtension.h:
        * bridge/mac/BrowserExtensionMac.mm:
        (WebCore::BrowserExtensionMac::createNewWindow): Removed custom scaling
        code and replaced with calls to Page::windowRect and 
        Page::setWindowRect. Renamed 'page' and 'bridge' to 'pageBridge' and
        'frameBridge,' respectively.
        * bridge/mac/PageMac.mm:
        (WebCore::Page::windowRect): Changed to use scaling
        (WebCore::Page::setWindowRect): ditto
        * bridge/mac/WebCoreFrameBridge.mm:
        (globalPoint):
        * page/Page.h:
        * platform/IntRect.h:
        * platform/Screen.h:
        * platform/mac/MouseEventMac.mm:
        (WebCore::globalPositionForEvent): Changed to use flipScreenPoint
        * platform/mac/ScreenMac.mm:
        (WebCore::flipScreenRect): New key function
        (WebCore::flipScreenPoint): New key function
        (WebCore::scaleScreenRectToView): New key function
        (WebCore::scaleViewRectToScreen): New key function
        (WebCore::screenRect): Changed to use scaling
        (WebCore::usableScreenRect): ditto

        Feeble attempt to preserve Windows build:
        
        * platform/win/ScreenWin.cpp:
        (WebCore::scaleScreenRectToWidget): stub -- doesn't actually scale
        (WebCore::scaleWidgetRectToScreen): ditto
        * bridge/win/PageWin.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::widget):

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

        Rename RenderCanvas to RenderView. Rename canvas(), isCanvas()
        to view(), isView().  Rename the frame view accessor on the old canvas
        from view() to frameView() (to avoid view()->view(), since that just looks
        stupid). :)

        Reviewed by andersca

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_window.cpp:
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge _setupRootForPrinting:]):
        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
        (-[WebCoreFrameBridge selectionColor]):
        (-[WebCoreFrameBridge accessibilityTree]):
        * dom/Document.cpp:
        (WebCore::Document::attach):
        (WebCore::Document::updateSelection):
        (WebCore::Document::prepareMouseEvent):
        * editing/SelectionController.cpp:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::rebuildStops):
        * ksvg2/svg/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGPathElement.cpp:
        (WebCore::SVGPathElement::getPointAtLength):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::currentTranslate):
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::view):
        (WebCore::SVGStyledElement::pushAttributeContext):
        * ksvg2/svg/SVGStyledElement.h:
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
        (-[WebCoreAXObject role]):
        (-[WebCoreAXObject value]):
        (-[WebCoreAXObject position]):
        (-[WebCoreAXObject accessibilityIsIgnored]):
        (-[WebCoreAXObject accessibilityAttributeNames]):
        (-[WebCoreAXObject topView]):
        (-[WebCoreAXObject accessibilityAttributeValue:]):
        * page/Frame.cpp:
        (WebCore::Frame::selectionRect):
        (WebCore::Frame::paint):
        (WebCore::Frame::adjustPageHeight):
        (WebCore::Frame::forceLayoutWithPageWidthRange):
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::layout):
        * page/FrameView.h:
        * rendering/AutoTableLayout.cpp:
        (WebCore::shouldScaleColumns):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::MarginInfo::MarginInfo):
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::paintChildren):
        (WebCore::RenderBlock::setSelectionState):
        (WebCore::RenderBlock::isSelectionRoot):
        (WebCore::RenderBlock::fillInlineSelectionGaps):
        (WebCore::RenderBlock::lowestPosition):
        (WebCore::RenderBlock::rightmostPosition):
        (WebCore::RenderBlock::leftmostPosition):
        (WebCore::RenderBlock::clearFloats):
        (WebCore::RenderBlock::nodeAtPoint):
        (WebCore::RenderBlock::calcBlocminMaxWidth):
        (WebCore::RenderBlock::inRootBlockContext):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::setStyle):
        (WebCore::RenderBox::paintRootBoxDecorations):
        (WebCore::RenderBox::paintBackgroundExtended):
        (WebCore::RenderBox::calcHeight):
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::availableHeightUsing):
        * rendering/RenderCanvas.cpp: Removed.
        * rendering/RenderCanvas.h: Removed.
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode):
        * rendering/RenderFileButton.cpp:
        (WebCore::RenderFileButton::RenderFileButton):
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::destroy):
        (WebCore::RenderFlow::paintLines):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layout):
        (WebCore::RenderFrameSet::userResize):
        (WebCore::RenderFrameSet::setResizing):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paint):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPositions):
        (WebCore::RenderLayer::updateLayerPosition):
        (WebCore::RenderLayer::stackingContext):
        (WebCore::RenderLayer::enclosingPositionedAncestor):
        (WebCore::RenderLayer::convertToLayerCoords):
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::isSubframeCanvas):
        (WebCore::RenderLayer::intersectsDamageRect):
        * rendering/RenderLayer.h:
        (WebCore::RenderLayer::isStackingContext):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::scroll):
        (WebCore::RenderObject::containingBlock):
        (WebCore::RenderObject::repaint):
        (WebCore::RenderObject::repaintRectangle):
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
        (WebCore::RenderObject::draggableNode):
        (WebCore::RenderObject::selectionStartEnd):
        (WebCore::RenderObject::setStyle):
        (WebCore::RenderObject::viewRect):
        (WebCore::RenderObject::view):
        (WebCore::RenderObject::container):
        (WebCore::RenderObject::removeFromObjectLists):
        (WebCore::RenderObject::scheduleRelayout):
        (WebCore::RenderObject::imageChanged):
        (WebCore::RenderObject::maximalOutlineSize):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderView):
        * rendering/RenderTextArea.cpp:
        (WebCore::RenderTextArea::RenderTextArea):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintCheckbox):
        (WebCore::RenderThemeMac::paintRadio):
        (WebCore::RenderThemeMac::paintButton):
        * rendering/RenderTreeAsText.cpp:
        (externalRepresentation):
        * rendering/RenderView.cpp: Added.
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::~RenderView):
        (WebCore::RenderView::calcHeight):
        (WebCore::RenderView::calcWidth):
        (WebCore::RenderView::calcMinMaxWidth):
        (WebCore::RenderView::layout):
        (WebCore::RenderView::absolutePosition):
        (WebCore::RenderView::paint):
        (WebCore::RenderView::paintBoxDecorations):
        (WebCore::RenderView::repaintViewRectangle):
        (WebCore::RenderView::getAbsoluteRepaintRect):
        (WebCore::RenderView::computeAbsoluteRepaintRect):
        (WebCore::RenderView::absoluteRects):
        (WebCore::RenderView::selectionRect):
        (WebCore::RenderView::setSelection):
        (WebCore::RenderView::clearSelection):
        (WebCore::RenderView::selectionStartEnd):
        (WebCore::RenderView::updateWidgetPositions):
        (WebCore::RenderView::addWidget):
        (WebCore::RenderView::removeWidget):
        (WebCore::RenderView::viewRect):
        (WebCore::RenderView::docHeight):
        (WebCore::RenderView::docWidth):
        (WebCore::RenderView::setBestTruncatedAt):
        * rendering/RenderView.h: Added.
        (WebCore::RenderView::renderName):
        (WebCore::RenderView::isRenderView):
        (WebCore::RenderView::frameView):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::RenderWidget):
        (WebCore::RenderWidget::destroy):
        (WebCore::RenderWidget::updateWidgetPosition):
        * rendering/RenderWidget.h:
        (WebCore::RenderWidget::widget):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):

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

        Reviewed by Geoff.

        <rdar://problem/4567776> REGRESSION: window.open() links do not work at www.newarchery.com

        * bindings/js/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        Set the URL in the ResourceRequest; otherwise, it'll be uninitialized and createNewWindow() will
        not be able to load the URL into a pre-existing frame.

2006-05-30  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Maciej, landed by Beth.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=9137
          Children with percentage heights of absolutely positioned element 
          with height: auto and top and bottom non-auto does not lay out 
          correctly

        Adds special case.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight):
        (WebCore::RenderBox::calcReplacedHeightUsing):

2006-05-30  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt, landed by Beth.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=9085
          Absolutely positioned objects with 'height': auto and 'top': and
          'bottom': non-auto should not be content based

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteVertical):
        (WebCore::RenderBox::calcAbsoluteVerticalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):

2006-05-30  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        Small amount of svg-related code cleanup.
        No test case possible.

        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGLength.cpp:
        (SVGLength::SVGLength):
        (SVGLength::value):
        * ksvg2/svg/SVGMarkerElement.cpp:
        * ksvg2/svg/SVGMatrix.cpp:
        (SVGMatrix::SVGMatrix):
        (SVGMatrix::copy):
        (SVGMatrix::postMultiply):
        (SVGMatrix::inverse):
        (SVGMatrix::postTranslate):
        (SVGMatrix::postScale):
        (SVGMatrix::postScaleNonUniform):
        (SVGMatrix::postRotate):
        (SVGMatrix::postRotateFromVector):
        (SVGMatrix::postFlipX):
        (SVGMatrix::postFlipY):
        (SVGMatrix::postSkewX):
        (SVGMatrix::postSkewY):
        (SVGMatrix::multiply):
        (SVGMatrix::translate):
        (SVGMatrix::scale):
        (SVGMatrix::scaleNonUniform):
        (SVGMatrix::rotate):
        (SVGMatrix::rotateFromVector):
        (SVGMatrix::flipX):
        (SVGMatrix::flipY):
        (SVGMatrix::skewX):
        (SVGMatrix::skewY):
        (SVGMatrix::setMatrix):
        (SVGMatrix::qmatrix):
        (SVGMatrix::removeScale):
        * ksvg2/svg/SVGMatrix.h:

2006-05-30  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        Small amount of bindings-related code cleanup.
        No test case possible.

        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter):
        * bindings/js/JSXMLSerializer.cpp:
        (WebCore::JSXMLSerializerConstructorImp::JSXMLSerializerConstructorImp):
        (WebCore::JSXMLSerializerConstructorImp::implementsConstruct):
        (WebCore::JSXMLSerializerConstructorImp::construct):
        (WebCore::):
        (WebCore::JSXMLSerializer::JSXMLSerializer):
        (WebCore::JSXMLSerializerProtoFunc::callAsFunction):
        * bindings/js/JSXMLSerializer.h:
        (WebCore::JSXMLSerializer::toBoolean):
        (WebCore::JSXMLSerializer::classInfo):
        (WebCore::JSXMLSerializer::):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):

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

        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        Correct include file names.

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

        Reviewed by levi
        
        <rdar://problem/4564296> Mail crashes on Leopard9A184 when I attempt to compose a new message

        * dom/Position.cpp:
        (WebCore::Position::inRenderedContent):
        Removed a candidate at [html, 0].
        * editing/CreateLinkCommand.cpp:
        (WebCore::CreateLinkCommand::doApply): Added early return when there is no selection.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Ditto.
        * editing/Selection.cpp:
        (WebCore::Selection::validate): If visible positions can't be created from the endpoints, 
        then create a null selection.  Not doing this was making editing code think there was
        a valid, editable selection even though there wasn't.
        * editing/UnlinkCommand.cpp:
        (WebCore::UnlinkCommand::doApply): Early return.
        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::initDeepPosition): Special case the html/body element boundary.
        It looks like a non-editable/editable boundary since rootEditableElement stops at the body
        even if the html element is editable.

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

        Reviewed by Justin.

        Fixes a mistake in my last checkin.  Uses maxDeepOffset to get the end position for
        the textarea's inner div.

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

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

        Reviewed by Hyatt.

        Added support for wrap=hard for new textarea implementation.

        Tests: fast/forms/textarea-appearance-wrap.html

        * dom/Range.h: Added version of toString that will convert BRs to newlines.
        * dom/Range.cpp: (WebCore::Range::toString):
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): 
          When in plain-text mode, and a white-space mode that doesn't collapse whitespace, create a fragment with one text node.
        * editing/visible_units.cpp:
        (WebCore::previousLinePosition): Subtract scroll offset so the absolute position for the containing block is correct.
        (WebCore::nextLinePosition): ditto.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): If the position is equal to the left edge of the box,
        make the affinity downstream so the position doesn't jump back to the previous line.
        (WebCore::RenderText::atLineWrap): The logic was reversed here in a recent change.
        If the box is not at a line break, then its at a line wrap.
        (WebCore::RenderText::caretRect): Only go to the next text box if its at a line wrap and the
         affinity is also downstream.  If its upstream, then the correct box is on the current line.
        (WebCore::RenderText::inlineBox): ditto.
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::updateFromElement): multi line controls don't need to check
         valueMatchesRenderer before updating the renderer.  For textareas, the renderer should always try to update.
         This matches our old textarea behavior.
        (WebCore::RenderTextField::text): Pass true to textContent so it converts BRs to newlines.
        (WebCore::RenderTextField::textWithHardLineBreaks): Iterate through the RootLineBoxes to find the soft wraps and replace them with newlines.

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

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9127
        Invoke capturing event listeners when AT_TARGET
        
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::handleLocalEvents):    
        Invoke capturing event listeners for the AT_TARGET phase. This violates the
        DOM spec but it's what Mozilla does.
        
2006-05-26  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
        
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        - Renamed ModifySelectionListLevelCommand .cpp and .h to ModifySelectionListLevel .cpp and .h
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
        (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
        (-[WebCoreFrameBridge increaseSelectionListLevel]):
        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
        - Call functions in IncreaseSelectionListLevelCommand or DecreaseSelectionListLevelCommand instead
        of ModifySelectionListLevelCommand.
        
        (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
        (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
        - Added.
        
        * editing/ModifySelectionListLevel.cpp: Added.
        - Renamed from ModifySelectionListLevelCommand.cpp
        - Made ModifySelectionListLevelCommand class into a useful base class for new
        classes IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand.
        
        (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
        (WebCore::getStartEndListChildren):
        (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
        (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
        - ModifySelectionListLevelCommand is base class for IncreaseSelectionListLevelCommand and DecreaseSelectionListLevelCommand
        
        (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
        (WebCore::IncreaseSelectionListLevelCommand::listElement):
        (WebCore::canIncreaseListLevel):
        (WebCore::IncreaseSelectionListLevelCommand::doApply):
        (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
        (WebCore::increaseSelectionListLevelWithType):
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevel):
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered):
        (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered):
        - Now a subclass of ModifySelectionListLevelCommand
        - Added Ordered and Unordered increaser functions
        - Increaser functions return the list element that the items were moved into
        
        (WebCore::DecreaseSelectionListLevelCommand::DecreaseSelectionListLevelCommand):
        (WebCore::canDecreaseListLevel):
        (WebCore::DecreaseSelectionListLevelCommand::doApply):
        (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
        (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel):
        - No functional changes other than to become a subclass of ModifySelectionListLevelCommand

        * editing/ModifySelectionListLevel.h: Added.
        (WebCore::):
         - Renamed from ModifySelectionListLevelCommand.cpp
       
        * editing/ModifySelectionListLevelCommand.cpp: Removed.
        - Renamed to ModifySelectionListLevel.cpp
        
        * editing/ModifySelectionListLevelCommand.h: Removed.
        - Renamed to ModifySelectionListLevel.h

        * editing/htmlediting.cpp:
        (WebCore::createOrderedListElement):
        (WebCore::createUnorderedListElement):
        * editing/htmlediting.h:

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

        Reviewed by adele.

        Build fixes/tweaks

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * config.h:
        * ksvg2/scripts/make_names.pl:

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

        Reviewed by adele.

        Fix build

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * config.h:

2006-05-25  Dave Hyatt <hyatt@apple.com>

        Change default font size for fixed pitch to 13 to match Safari
        on Mac (and every other browser on the planet too).

        Reviewed by adele

        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::FrameWin):
        * platform/win/FontCacheWin.cpp:
        (WebCore::FontCache::getFontLinkInterface):

2006-05-25  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        * bindings/js/kjs_html.cpp:
        added bindings
        (KJS::HTMLElementFunction::callAsFunction):
        added case to handle namedItem for select elements
        * bindings/js/kjs_html.h:
        added enum value for bindings
        (KJS::JSHTMLElement::):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::namedItem):
        implemented namedItem method
        * html/HTMLSelectElement.h:
        added prototype for namedItem method

2006-05-25  Dave Hyatt <hyatt@apple.com>

        Make soft hyphens work on Win32 by special casing them
        along with normal hyphens.

        Reviewed by mjs

        * rendering/break_lines.cpp:
        (WebCore::nextBreakablePosition):

2006-05-25  Dave Hyatt <hyatt@apple.com>

        Implement the fallback method containsCharacters for
        checking if a font has the necessary glyphs to be
        selected as a fallback choide.

        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::containsCharacters):

2006-05-25  Dave Hyatt <hyatt@apple.com>

        For now eliminate the logical scale factor from Cairo.
        This enables bitmap fonts like MS Sans Serif to work on
        Win32.

        * platform/cairo/cairo/src/cairo-win32-font.c:
        (cairo_win32_scaled_font_select_font):
        * platform/cairo/cairo/src/cairo-win32-private.h:
        * platform/cairo/font-bug-patch.txt: Removed.
        * platform/cairo/scale-removal.txt: Added.
        * platform/win/FontCacheWin.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::smallCapsFontData):
        (WebCore::FontData::platformWidthForGlyph):
        * platform/win/FontPlatformData.h:
        * platform/win/GlyphMapWin.cpp:
        (WebCore::GlyphMap::fillPage):

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

        Reviewed by hyatt.  Landed by eseidel.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8848
          TFOOT borders are copied to THEAD and TBODY

        Test: fast/table/border-collapsing/border-collapsing-head-foot.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::sectionAbove): Added.
        (WebCore::RenderTable::sectionBelow): Added.
        (WebCore::RenderTable::cellAbove): Changed to call sectionAbove.
        (WebCore::RenderTable::cellBelow): Changed to call sectionBelow.
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedTopBorder): Changed to call sectionAbove.
        (WebCore::RenderTableCell::collapsedBottomBorder): Changed to call sectionBelow.

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

        Reviewed by hyatt.  Landed by eseidel.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3297
          height property is not honored on table rows

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild): Assign the row renderer to the
        grid row.
        (WebCore::RenderTableSection::calcRowHeight): Fix off-by-one index bug
        and add vertical spacing only for grid rows that have a renderer.
        (WebCore::RenderTableSection::recalcCells): Assign row renderers to
        grid rows.

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

        Reviewed by darin.  Landed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5978
        WebKIt+SVG should use SVGDocumentImpl for image/svg+xml

        Make sure SVGDocument is created for standalone svg
        documents.

        * ksvg2/svg/SVGDOMImplementation.cpp:
        (SVGDOMImplementation::instance):
        (SVGDOMImplementation::createDocument):
        * ksvg2/svg/SVGDOMImplementation.h:
        * ksvg2/svg/SVGDocument.cpp:
        (WebCore::SVGDocument::SVGDocument):
        (WebCore::SVGDocument::~SVGDocument):
        * ksvg2/svg/SVGDocument.h:
        * ksvg2/svg/SVGTests.cpp:
        (WebCore::SVGTests::isValid):
        * ksvg2/svg/SVGTitleElement.cpp:
        * ksvg2/svg/SVGTitleElement.h:
        * page/Frame.cpp:
        (WebCore::Frame::begin):

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

        Reviewed by darin.  Landed by eseidel.

        http://bugs.webkit.org/show_bug.cgi?id=5889
        HTMLNames.* should be generated using make_names.pl

        Use a patched make_names.pl to autogenerate HTMLNames.*

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLNames.cpp: Removed.
        * html/HTMLNames.h: Removed.
        * html/HTMLTagNames.in: Added.
        * html/HTMLAttributeNames.in: Added.
        * ksvg2/scripts/make_names.pl:

2006-05-25  Eric Seidel  <eric@webkit.org>

        Reviewed by andersca.

        Add "HasIndexGetter" support to bindings autogen system.
        http://bugs.webkit.org/show_bug.cgi?id=9057

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLInputElementBase.cpp:
        * bindings/js/kjs_css.cpp:
        (KJS::toJS):
        * bindings/js/kjs_css.h:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSValueList.idl: Added.

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

        Implement font aliasing of family names for Courier/Courier New,
        Arial/Helvetica, and Times/Times New Roman.  This behavior matches
        WinIE and Firefox.

        Reviewed by maciej

        Test cases not really possible, since they would have to rely on people
        not having the fonts installed (so not having installed Office).

        * platform/FontCache.cpp:
        (WebCore::alternateFamilyName):
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/FontCache.h:
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):

=== WebCore-521.11 ===

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

        Reviewed by levi
        
        <rdar://problem/4549610> REGRESSION: No initial cursor in Mail reply or Blot document
        <rdar://problem/4560698> Mail is very crashy in Leopard9A182, WebCore::Range::compareBoundaryPoints(WebCore::Node*, int, WebCore::Node*, int)

        * page/Frame.cpp:
        (WebCore::Frame::setSelectionFromNone): Find the body and stick a caret 
        in it.

2006-05-24  Geoffrey Garen  <ggaren@apple.com>

        Rubber stamped by Anders.
        
        Removed meaningless 'dom::' prefix in IDL files.

        * dom/Range.idl:
        * html/CanvasRenderingContext2D.idl:
        * html/HTMLOptionElement.idl:

2006-05-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by andersca.
        
        - Fixed http://bugs.webkit.org/show_bug.cgi?id=9095
        regression: can't select by setting option.selected to true
        
        'text' and 'selected' were erroneously marked read-only for option elements.
        
        * html/HTMLOptionElement.idl:

2006-05-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by mjs.

        - WebCore half of fix for <rdar://problem/4557926> TOT REGRESSION: Crash
        occurs when attempting to view image in slideshow mode at
        http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute
        (KJS::ExecState*) + 312)

        On alternate threads, DOMObjects remain in the
        ScriptInterpreter's cache because they're not collected. So, they
        need an opportunity to mark their children.
        
        I'm not particularly happy with this solution because it fails to
        resolve many outstanding issues with the DOM object cache. Since none
        of those issues is a crasher or a serious compatibility concern,
        and since the behavior of other browsers is not much to go on in this
        case, I've filed <rdar://problem/4561439> about that, and I'm moving 
        on with my life.

        Also added functionality for testing garbage collection from inside
        DumpRenderTree.
        
        Also removed XMLHttpRequest from the DOM object cache because XMLHttpRequest
        objects aren't accessed through the DOM.
        
        Also added JS locking around access to some shared data structures in
        WebCoreJavaScript, even though it probably doesn't matter in practice.

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequest::JSXMLHttpRequest):
        (KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::mark):
        * bindings/js/kjs_binding.h:
        * bridge/mac/WebCoreJavaScript.h:
        * bridge/mac/WebCoreJavaScript.mm:
        (collect):
        (+[WebCoreJavaScript objectCount]):
        (+[WebCoreJavaScript interpreterCount]):
        (+[WebCoreJavaScript protectedObjectCount]):
        (+[WebCoreJavaScript garbageCollect]):
        (+[WebCoreJavaScript garbageCollectOnAlternateThread:]):
        (+[WebCoreJavaScript shouldPrintExceptions]):
        (+[WebCoreJavaScript setShouldPrintExceptions:]):

2006-05-24  Dave Hyatt <hyatt@apple.com>

        Fix the font cache corruption problems on Win32.  Move the
        native font destruction code out of FontPlatformData and
        into FontData.  Implement smallCaps.

        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):
        * platform/win/FontPlatformDataWin.cpp:
        (WebCore::FontPlatformData::~FontPlatformData):

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9093
        Implement document.scripts
        
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty):
        Return document.scripts() instead of a placeholder object.
        
        * dom/Document.cpp:
        (WebCore::Document::scripts):
        * dom/Document.h:
        Add Document::scripts.
        
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::traverseNextItem):
        * html/HTMLCollection.h:
        (WebCore::HTMLCollection::):
        Add scripts collection type which traverses all script elements.
        
2006-05-24  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        http://bugs.webkit.org/show_bug.cgi?id=9092
        innerText is empty for elements without renderers

        * dom/Node.cpp:
        (WebCore::Node::textContent):
        * dom/Node.h:
        Add optional convertBRsToNewlines argument for textContent.
        
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::innerText):
        If the element doesn't have a renderer, return textContent.

2006-05-24  Dave Hyatt <hyatt@apple.com>

        Fix a bug with the computation of the Cairo glyph offsets
        on the Win32 code path.

        * ChangeLog:
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::add):
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawGlyphs):

2006-05-23  Dave Hyatt <hyatt@apple.com>

        Disable some code in Cairo that is attempting to clip
        runs of text to their glyph boundaries, since:

        (a) Why re-measure text again when I just gave you
        the glyph bounds anyway.
        (b) It gets the measurements wrong.

        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::add):
        * platform/cairo/cairo/src/cairo-surface-fallback.c:
        (_cairo_surface_fallback_show_glyphs):
        * platform/cairo/clipping-cleartype-font-bug-patch.txt: Added.
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawGlyphs):

2006-05-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Eric.

        Remove the recent idl files from the WebCore target to prevent them
        from being copied into the framework resources.

        * WebCore.xcodeproj/project.pbxproj:

2006-05-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Justin Garcia and Levi Weintraub.
        
        - fixed Bug 9072: REGRESSION: Misspelling marker incorrect in editing/deleting/delete-and-undo.html

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers):
        One more time to get this right, ugh. There is still one case where we don't want to advance the
        iterator, and that's when we remove a marker and do not insert a replacement marker. So I undid
        my previous patch, and added it++ to each of the two cases that insert a replacement marker. Now
        the layout tests pass even with the pixel tests enabled.

2006-05-23  Dave Hyatt <hyatt@apple.com>

        Do an initial implementation of CookieJar on Win32.  No policy
        checking yet and the cookies are just always on.

        Reviewed by mjs

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * platform/win/CookieJarWin.cpp: Added.
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookiesEnabled):
        * platform/win/TemporaryLinkStubs.cpp:

2006-05-23  Dave Hyatt <hyatt@apple.com>

        Fix the JS autogeneration for WebCore so that the hashtables
        are correct on Win32.

        Switch to using GetCharWidthI so that we can obtain widths
        for glyphs instead of having to obtain them from UChars.

        Reviewed by eric (autogeneration) and maciej (fonts)

        * bindings/scripts/CodeGeneratorJS.pm:
        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        * platform/FontData.cpp:
        (WebCore::m_smallCapsFontData):
        (WebCore::FontData::widthForGlyph):
        * platform/FontData.h:
        * platform/mac/FontDataMac.mm:
        (-[NSFont WebCore]):
        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::platformWidthForGlyph):

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

        Reviewed by Hyatt.

        Cleaned up changes to markup by adding the non-virtual
        nodeNamePreservingCase accessor function.

        * dom/Element.cpp:
        (WebCore::Element::nodeNamePreservingCase):
        * dom/Element.h:
        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::endMarkup):

2006-05-23  John Sullivan  <sullivan@apple.com>

        Reviewed by Anders Carlsson.

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers):
        Fix to my previous checkin (which broke a layout test).
        Advance the iterator position every time through the loop; formerly it was not advanced in the 
        case where a marker was actually removed, causing an infinite loop in certain cases. Also
        modified a comment that was confusing the situation by falsely claiming that iterating over a 
        just-inserted node would always be OK.

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=9017
        Weather2.css incorrectly treated as JavaScript file @ www.live.com
        
        * dom/Element.cpp:
        (WebCore::Element::getAttribute):
        (WebCore::Element::setAttribute):
        (WebCore::Element::removeAttribute):
        (WebCore::Element::getAttributeNode):
        (WebCore::Element::hasAttribute):
        Use new getAttributeItem method.
        
        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::getNamedItem):
        (WebCore::NamedAttrMap::removeNamedItem):
        Use new getAttributeItem method.
        
        (WebCore::NamedAttrMap::getAttributeItem):
        * dom/NamedAttrMap.h:
        New method which returns the attribute based on the nodeName.

2006-05-22  Eric Seidel  <eric@webkit.org>

        Rubber-stamped by adele.

        * bindings/js/kjs_html.h: simple style cleanup.

=== WebCore-521.10 ===

2006-05-22  John Sullivan  <sullivan@apple.com>

        Reviewed by Anders Carlsson.
        
        - fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures

        Changed Document::markersForNode and Document::MarkerMap to use Vector rather than 
        DeprecatedValueList and DeprecatedValueListIterator.
        
        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::addMarker):
        (WebCore::Document::copyMarkers):
        (WebCore::Document::removeMarkers):
        (WebCore::Document::markersForNode):
        (WebCore::Document::repaintMarkers):
        (WebCore::Document::shiftMarkers):
        
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintAllMarkersOfType):

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

        Reviewed by Eric.
        
        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8393
          <br>s created by createMarkup aren't valid xhtml
          Fixed uppered output from innerHTML

        * editing/markup.cpp:
        (WebCore::startMarkup):
        (WebCore::endMarkup):

2006-05-21  Dave Hyatt <hyatt@apple.com>

        Fix Win32 bustage.   I forgot to add a bunch of files.
        Also tweak some existing functions a bit (just cleanup).

        * platform/FontCache.cpp:
        (WebCore::FontCache::getCachedFontPlatformData):
        (WebCore::FontCache::getFontData):
        * platform/FontCache.h:
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        * platform/win/FontDataWin.cpp:
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):

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

        Reviewed by Maciej.

        - Fix for http://bugs.webkit.org/show_bug.cgi?id=9016
        crash loading live.com in TreeShared::ref because accessing RenderTextField::text() can destroy the RenderTextField

        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::text):
        Reverting recent change to user innerText instead of textContent.  For textareas,
        we need a better solution than textContent that also takes newlines into account,
        but this should fix this crasher.

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

        Fix build.
        
        * ForwardingHeaders/wtf/MathExtras.h: Added.

2006-05-20  Dave Hyatt <hyatt@apple.com>

        Switch on Cairo-based text rendering on Win32.  This is tracked
        by bug 9019.

        Reviewed by maciej

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * config.h:
        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        (WebCore::WidthIterator::normalizeVoicingMarks):
        (WebCore::Font::width):
        * platform/Font.h:
        (WebCore::Font::isRoundingHackCharacter):
        * platform/FontCache.cpp:
        (WebCore::computeHash):
        (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
        (WebCore::FontDataCacheKeyTraits::deletedValue):
        (WebCore::FontDataCacheKeyTraits::emptyValue):
        * platform/FontData.cpp:
        (WebCore::m_smallCapsFontData):
        (WebCore::FontData::widthForGlyph):
        * platform/FontData.h:
        * platform/FontPlatformData.h: Removed.
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::clear):
        (WebCore::GlyphBuffer::glyphs):
        (WebCore::GlyphBuffer::advances):
        (WebCore::GlyphBuffer::swap):
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/GlyphMap.cpp:
        (WebCore::GlyphMap::locatePage):
        * platform/cairo/cairo/src/cairo-win32-font.c:
        (cairo_win32_scaled_font_select_font):
        * platform/cairo/font-bug-patch.txt: Added.
        * platform/mac/FontDataMac.mm:
        (-[NSFont WebCore]):
        * platform/mac/FontPlatformData.h: Added.
        (WebCore::FontPlatformData::FontPlatformData):
        * platform/win/FontDataWin.cpp: Added.
        (WebCore::FontData::platformInit):
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):
        (WebCore::FontData::containsCharacters):
        (WebCore::FontData::determinePitch):
        (WebCore::FontData::platformWidthForGlyph):
        * platform/win/FontPlatformDataWin.cpp:
        (WebCore::m_size):
        (WebCore::FontPlatformData::~FontPlatformData):
        * platform/win/FontWin.cpp:
        (WebCore::notImplemented):
        (WebCore::Font::drawGlyphs):
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):

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

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8991
          REGRESSION: missing or broken CSS custom cursors are displayed as 
          a missing image icon

        * page/FrameView.cpp:
        (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
        * manual-tests/custom-cursors.html: Added.

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

        Reviewed and landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=9009
          REGRESSION: ToT crash in WebCore at Zap2it

        Test: fast/table/empty-section-crash.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paint): Return immediately if the section
        has 0 rows or 0 columns.

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

        Reviewed by justin.
        
        <http://bugs.webkit.org/show_bug.cgi?id=8931>
        Drag caret not painted for editable sub-frames
        
        Moved the drag caret out of Frame and into Page.
        Only the Frame that contains the drag caret will paint it.

        * editing/SelectionController.h:
        * page/Frame.cpp:
        (WebCore::Frame::dragCaret):
        (WebCore::Frame::setDragCaret):
        (WebCore::Frame::paintDragCaret):
        * page/FramePrivate.h:
        * page/Page.cpp:
        (WebCore::Page::dragCaret):
        (WebCore::Page::setDragCaret):
        * page/Page.h:

2006-05-19  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        * html/HTMLButtonElement.idl:
        added support for HTMLButtonElement.click()

2006-05-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Eric.

        - Fixed non-autogenerated global constructors to match autogenerated
        ones and FF. (Found this bug while @ the GOOG.)

        (1) They're no longer read-only, so they can be overridden.
        (2) They now have the default object prototype, so they can do things 
        like 'toString' and 'valueOf', necessary for general functionality,
        including my layout test.
        (3) Their prototype properties are now enumerable and not read-only.
        
        * bindings/js/JSDOMParser.cpp:
        (KJS::DOMParserConstructorImp::DOMParserConstructorImp):
        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
        * bindings/js/JSXMLHttpRequest.h:
        * bindings/js/JSXMLSerializer.cpp:
        (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
        * bindings/js/JSXSLTProcessor.cpp:
        (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
        * bindings/js/kjs_html.cpp:
        (KJS::OptionConstructorImp::OptionConstructorImp):
        (KJS::ImageConstructorImp::ImageConstructorImp):
        * bindings/js/kjs_window.cpp:

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

        Reviewed by Eric.

        http://bugs.webkit.org/show_bug.cgi?id=8983
        Autogenerate another 22 HTML classes
        
        Already covered by existing DOM tests.

        * DerivedSources.make:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        Add new IDL files and generated sources.
        
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        Use JSHTMLImageElement::info in inherits.
        
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSWrapper):
        Add macros for the functions and the code to populate the hash set.
        
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::HTMLElementFunction::callAsFunction):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        Delete old cruft.
        
        * bindings/scripts/CodeGeneratorJS.pm:
        Add support for creating a JS object from a HTMLCollection.
        
        * html/HTMLAreaElement.idl: Added.
        * html/HTMLBRElement.idl: Added.
        * html/HTMLBaseFontElement.idl: Added.
        * html/HTMLBlockquoteElement.idl: Added.
        
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::scrollLeft):
        (WebCore::HTMLBodyElement::setScrollLeft):
        (WebCore::HTMLBodyElement::scrollTop):
        (WebCore::HTMLBodyElement::setScrollTop):
        (WebCore::HTMLBodyElement::scrollHeight):
        (WebCore::HTMLBodyElement::scrollWidth):        
        * html/HTMLBodyElement.h:
        Add new functions that used to be implemented in kjs_html.cpp
        
        * html/HTMLBodyElement.idl: Added.
        * html/HTMLFieldSetElement.idl: Added.
        * html/HTMLFontElement.idl: Added.
        * html/HTMLHRElement.idl: Added.
        * html/HTMLHeadingElement.idl: Added.
        * html/HTMLImageElement.idl: Added.
        * html/HTMLIsIndexElement.idl: Added.
        * html/HTMLLIElement.idl: Added.
        * html/HTMLLabelElement.idl: Added.
        * html/HTMLLegendElement.idl: Added.
        * html/HTMLMapElement.idl: Added.
        * html/HTMLMenuElement.idl: Added.
        * html/HTMLModElement.idl: Added.
        * html/HTMLParagraphElement.idl: Added.
        * html/HTMLParamElement.idl: Added.
        * html/HTMLPreElement.idl: Added.
        * html/HTMLQuoteElement.idl: Added.
        * html/HTMLScriptElement.idl: Added.

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

        Turn off responding to font changes while running.  It doesn't work
        right anyway.

        Reviewed by darin

        * platform/FontCache.cpp:
        (WebCore::FontCache::getCachedFontPlatformData):
        * platform/FontCache.h:
        * platform/GlyphMap.h:
        (WebCore::GlyphMap::~GlyphMap):
        * platform/GlyphWidthMap.h:
        (WebCore::GlyphWidthMap::~GlyphWidthMap):
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::platformInit):

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

        - try to fix the Windows build

        * platform/TextEncoding.h: Changed a ";" to a ",".
        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed
        JSCanvasRenderingContext2DBase.cpp and
        JSCanvasRenderingContext2DBase.h. Added
        JSCanvasRenderingContext2DCustom.cpp.

2006-05-18  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt.

        Fix for <http://bugs.webkit.org/show_bug.cgi?id=8896>
        Bug 8896: Absolutely positioned elements should use their parent's
        direction when left, right and width are auto in quirks mode.

        Use the parent's direction instead of the containing
        block's in quirks mode for absolute positioning to match
        WinIE.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
        * rendering/RenderBox.h:

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

        Reviewed and tweaked (way too much) by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8937
          EncodingMap uses 0 as its empty value but 0 is a valid TextEncodingID

        * platform/CharsetNames.cpp:
        (WebCore::TextEncodingIDHashTraits::emptyValue): Added a non-zero empty value,
        InvalidEncoding, and used InvalidEncoding2 for the deleted value.
        (WebCore::buildCharsetMaps): Added an assertion that the deleted and empty
        values are not valid encodings.
        * platform/TextEncoding.h: Defined InvalidEncoding2.

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

        Horrible glyph map performance regression fix.
        The initial page of the map was being rebuilt over and over again.

        Reviewed by andersca

        * platform/GlyphMap.cpp:
        (WebCore::GlyphMap::locatePage):
        * platform/GlyphWidthMap.cpp:
        (WebCore::GlyphWidthMap::locatePage):

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=8964
        Autogenerate more HTML classes
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        Add new files.
        
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createAnchorWrapper):
        (WebCore::createAppletWrapper):
        (WebCore::createDivWrapper):
        (WebCore::createDirectoryWrapper):
        (WebCore::createDListWrapper):
        (WebCore::createHtmlWrapper):
        (WebCore::createOListWrapper):
        (WebCore::createUListWrapper):
        (WebCore::createJSWrapper):
        Add wrappers.
        
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::HTMLElementFunction::callAsFunction):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        Delete the old implementations.
        
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::hash):
        (WebCore::HTMLAnchorElement::host):
        (WebCore::HTMLAnchorElement::hostname):
        (WebCore::HTMLAnchorElement::pathname):
        (WebCore::HTMLAnchorElement::port):
        (WebCore::HTMLAnchorElement::protocol):
        (WebCore::HTMLAnchorElement::search):
        (WebCore::HTMLAnchorElement::text):
        * html/HTMLAnchorElement.h:
        Add some new accessor methods which used to be in kjs_html.cpp.
        
        * html/HTMLAnchorElement.idl: Added.
        * html/HTMLAppletElement.idl: Added.
        * html/HTMLDListElement.idl: Added.
        * html/HTMLDirectoryElement.idl: Added.
        * html/HTMLDivElement.idl: Added.
        * html/HTMLHtmlElement.idl: Added.
        * html/HTMLOListElement.idl: Added.
        * html/HTMLUListElement.idl: Added.

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

        Convert the width map for glyphs into the same new HashMap-style as the
        glyph map for characters.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/FontData.cpp:
        (WebCore::FontData::~FontData):
        (WebCore::FontData::widthForGlyph):
        * platform/FontData.h:
        * platform/GlyphWidthMap.cpp: Added.
        (WebCore::GlyphWidthMap::widthForGlyph):
        (WebCore::GlyphWidthMap::setWidthForGlyph):
        (WebCore::GlyphWidthMap::locatePage):
        * platform/GlyphWidthMap.h: Added.
        (WebCore::GlyphWidthMap::GlyphWidthMap):
        (WebCore::GlyphWidthMap::~GlyphWidthMap):
        (WebCore::GlyphWidthMap::GlyphWidthPage::widthForGlyph):
        (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForGlyph):
        (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForIndex):

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

        Rename FontData.mm to FontData.cpp, since it has no obj-c in it.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/FontData.cpp: Added.

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

        Split FontData.mm into platform-specific and cross-platform pieces.

        Reviewed by andersca

        * WebCore.xcodeproj/project.pbxproj:
        * platform/FontData.h:
        (WebCore::FontData::xHeight):
        * platform/mac/FontData.mm:
        (WebCore::FontData::widthForGlyph):
        (WebCore::m_smallCapsFontData):
        (WebCore::FontData::~FontData):
        (WebCore::extendWidthMap):

2006-05-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler
        
        Improvement to my previous patch, suggested by Darin

        * dom/Document.cpp:
        (WebCore::Document::repaintMarkers):
        new method, similar in structure to removeMarkers but just repaints each node that
        has a marker of the specified type
        * dom/Document.h:
        declare new method, and tweak style in related method declarations
        
        * page/Frame.cpp:
        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
        if the value changes, call repaintMarkers

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

        Reviewed by andersca.

        Autogenerate button, optgroup, option, input and textarea js bindings
        http://bugs.webkit.org/show_bug.cgi?id=8953

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createButtonWrapper):
        (WebCore::createInputWrapper):
        (WebCore::createOptGroupWrapper):
        (WebCore::createOptionWrapper):
        (WebCore::createTextAreaWrapper):
        (WebCore::createJSWrapper):
        * bindings/js/JSHTMLInputElementBase.cpp: Added.
        (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction):
        (WebCore::):
        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
        * bindings/js/JSHTMLInputElementBase.h: Added.
        (WebCore::JSHTMLInputElementBase::classInfo):
        (WebCore::JSHTMLInputElementBase::):
        (WebCore::JSHTMLInputElementBase::impl):
        * bindings/js/JSHTMLOptionElementConstructor.cpp: Added.
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
        (WebCore::JSHTMLOptionElementConstructor::implementsConstruct):
        (WebCore::JSHTMLOptionElementConstructor::construct):
        * bindings/js/JSHTMLOptionElementConstructor.h: Added.
        * bindings/js/kjs_domnode.h:
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::put):
        (KJS::JSHTMLElement::htmlSetter):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * bindings/scripts/CodeGeneratorJS.pm:
        * html/HTMLButtonElement.idl: Added.
        * html/HTMLInputElement.idl: Added.
        * html/HTMLOptGroupElement.idl: Added.
        * html/HTMLOptionElement.idl: Added.
        * html/HTMLTextAreaElement.idl: Added.

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

        Reviewed by Hyatt.

        First step for http://bugs.webkit.org/show_bug.cgi?id=8948
        Switch to use new text field implementation for <textarea>

        New textareas can be turned on by setting -webkit-appearance:textarea.

        Tests:
        * LayoutTests/fast/block/float/032.html - Updated results.

        * bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
        * page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
        * page/Frame.h: ditto.

        * css/CSSValueKeywords.in: Added textarea.
        * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
        * css/html4.css: Added style for textarea.  Leaved background-color and appearance values commented out.
        * rendering/render_style.h: (WebCore::): Added TextAreaAppearance.

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::adjustStyle): Updated for textarea.
        (WebCore::RenderTheme::paint): ditto.
        (WebCore::RenderTheme::paintBorderOnly): ditto.
        (WebCore::RenderTheme::isControlStyled): ditto.
        (WebCore::RenderTheme::supportsFocusRing): ditto.
        (WebCore::RenderTheme::adjustTextFieldStyle): ditto.
        (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
        * rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
        * rendering/RenderThemeMac.h: Added adjustTextAreaStyle.
        Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border 
        specified in html4.css to match the NSTextView border.  Added a paintTextArea function to the Windows
        theme can override that border.
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::isControlStyled): Updated for textarea.
        (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.

        * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement):
        Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and
        HTMLTextArea can share.
        * html/HTMLGenericFormElement.h:
        (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added.
        (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization.
        (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling.
        (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor.
        (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer.
        (WebCore::HTMLInputElement::detach): ditto.
        (WebCore::HTMLInputElement::setValue): ditto.
        (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
        * html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer.
        (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use.
        (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
        (WebCore::HTMLTextAreaElement::setSelectionStart): ditto.
        (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto.
        (WebCore::HTMLTextAreaElement::select): ditto.
        (WebCore::HTMLTextAreaElement::setSelectionRange): ditto.
        (WebCore::HTMLTextAreaElement::createRenderer): ditto.
        (WebCore::HTMLTextAreaElement::appendFormData): ditto.
        (WebCore::HTMLTextAreaElement::updateValue): ditto.
        (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added.
        (WebCore::HTMLTextAreaElement::isMouseFocusable): Added.
        (WebCore::HTMLTextAreaElement::focus): Added.
        (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div.
        (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
        * html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods.
        Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
        Updated to handle textareas.
        * rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged):
        Calls setValueMatchesRenderer(false) instead of invalidateValue.

        * rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock.
        This was necessary to get the inner div's height to grow and shrink with the size of the textarea.
        Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged.
        (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for
        the textarea's child text node for its initial contents.
        (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false.
        (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::RenderTextField):  Initializes m_multiLine.
        (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated.
        (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div.
        (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area.
        (WebCore::RenderTextField::updateFromElement): Updated for textarea elements.
        (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating
        the same VisiblePosition twice.
        (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements.
        (WebCore::RenderTextField::text): Use innerText so newlines are considered.
        (WebCore::RenderTextField::textWithHardLineBreaks): Added.  Not implemented yet. Just calls text method.
        (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class.
        (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom.
        (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas.
        (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.

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

        Fix for 8954, separate the glyph map out into its own files and make it
        cross-platform.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        * platform/FontData.h:
        (WebCore::FontData::glyphDataForCharacter):
        (WebCore::FontData::setGlyphDataForCharacter):
        * platform/GlyphMap.cpp: Added.
        (WebCore::GlyphMap::glyphDataForCharacter):
        (WebCore::GlyphMap::setGlyphDataForCharacter):
        (WebCore::GlyphMap::locatePage):
        * platform/GlyphMap.h: Added.
        (WebCore::GlyphMap::GlyphMap):
        (WebCore::GlyphMap::~GlyphMap):
        (WebCore::GlyphMap::GlyphPage::glyphDataForCharacter):
        (WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter):
        (WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
        * platform/mac/FontData.mm:
        (-[NSFont WebCore]):
        (WidthMap::m_ATSUMirrors):
        (WidthMap::FontData::~FontData):
        (WidthMap::FontData::xHeight):
        (WidthMap::FontData::platformInit):
        (WidthMap::extendWidthMap):
        * platform/mac/GlyphMapMac.cpp: Added.
        (WebCore::GlyphMap::fillPage):
        * platform/mac/WebCoreSystemInterface.h:

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=8958
        Should be able to have custom implementations for JS methods
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
        * bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added.
        Remove JSCanvasRenderingContext2DBase and add 
        JSCanvasRenderingContext2DCustom with custom implementations.
        
        (WebCore::toJS):
        (WebCore::toHTMLCanvasStyle):
        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
        (WebCore::JSCanvasRenderingContext2D::fillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        Move implementations from JSCanvasRenderingContext2DBase.
        
        * bindings/scripts/CodeGeneratorJS.pm:
        Add new "Custom" extended attribute for functions and attributes. When a function or 
        attribute has this attribute, a custom implementation is called instead of calling down to
        the DOM object.
        
        * html/CanvasRenderingContext2D.idl:
        Add bunch of custom attributes and functions.

2006-05-17  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej.
        
        First step towards making text-matching mechanism more flexible; now caller can 
        control whether or not the matches are highlighted.

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]):
        renamed from highlightAllMatchesForString:
        (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]):
        new getter method
        (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]):
        new setter method
        (-[WebCoreFrameBridge unmarkAllTextMatches]):
        renamed from clearHighlightedMatches
        
        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::Frame::markAllMatchesForText):
        renamed from highlightAllMatchesForString
        (WebCore::Ferame::markedTextMatchesAreHighlighted):
        new getter method, uses boolean ivar in FramePrivate
        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
        new setter method, uses boolean ivar in FramePrivate
        
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        added boolean ivar m_highlightTextMatches, initialized to 0
        
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint):
        respect markedTextMatchesAreHighlighted

        * WebCore.xcodeproj/project.pbxproj:
        newer Xcode removed some obsolete settings
       
2006-05-17  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        * editing/htmlediting.cpp: (WebCore::editingIgnoresContent):
        Reverting change that Darin made a few weeks ago.  He was trying
        to make editingIgnoresContent return true for the new text fields, but the code
        actually didn't change that result.  When the new text fields actually do return
        true for editingIgnoresContent, other editing problems are exposed. For example,
        moving the cursor around an editable area that contains a text field will cross the
        text field boundary and descend into the shadow tree.  So for now, we'll revert this
        change.

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

        Reviewed by Maciej, tweaked by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8951
          AtomicString hash corrupted by high-bit Latin-1

        Test: fast/encoding/high-bit-latin1.html

        * platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an
        unsigned char local.
        * platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.

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

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=7492
        CSS attribute selectors fail when the setAttribute() method is used
        to create an attribute and the attribute name is not Class or ID.

        Keep track of attributes used in attribute selectors to
        check after setAttribute whether a style recalc is needed.

        Test: fast/css/selector-set-attribute.html

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::checkOneSelector):
        (WebCore::CSSStyleSelector::hasSelectorForAttribute):
        * css/cssstyleselector.h:
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::attributeChanged):

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

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5264
        document.createElementNS() should not allow to insert a second <html> element

        Do extra checks for document nodes to detect multiple document elements
        and document types.

        Test: fast/dom/createDocumentType2.html
        Test: fast/dom/createElementNS.html

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

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

        Reviewed by Darin.

        * DerivedSources.make:
        Conditionally generate the SVG and XPath related files based on the value of 
        FEATURE_DEFINES. Also, pass FEATURE_DEFINES to the bindings generator.
        
        * WebCore.xcodeproj/project.pbxproj:
        Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT"
        to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.
        
        * bindings/js/kjs_binding.cpp:
        (KJS::setDOMException):
        Add #ifdefs around the XPath code.
        
        * bindings/scripts/CodeGeneratorJS.pm:
        Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be
        surrounded by an #if.
        
        * bindings/scripts/IDLParser.pm:
        Pass the define flags on to the preprocessor.
        
        * bindings/scripts/generate-bindings.pl:
        Add a --defines property and pass it on to the parser.
        
        * css/cssstyleselector.h:
        Add DeprecatedString.h include.
        
        * dom/Document.idl:
        Put back #if around the XPath functions
        
        * page/DOMWindow.idl:
        Put #if around the XPath constructors
        
        * xpath/XPathEvaluator.idl:
        * xpath/XPathExpression.idl:
        * xpath/XPathNSResolver.cpp:
        * xpath/XPathNSResolver.idl:
        * xpath/XPathNamespace.cpp:
        * xpath/XPathResult.idl:
        Add "Conditional=XPATH" to all interfaces.
        
2006-05-16  Darin Adler  <darin@apple.com>

        Reviewed by Anders.

        - http://bugs.webkit.org/show_bug.cgi?id=8940
          remove extra copy of image code

        * WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
        * platform/mac/WebCoreImageRenderer.h: Removed.

        * bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes.
        Like supportedImageMIMETypes, but includes PDF and PostScript.
        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added.
        Has code that came from -[WebImageRendererFactory supportedMIMETypes].
        (+[WebCoreFrameBridge supportedImageMIMETypes]):

        * platform/mac/ImageMac.mm:
        (WebCore::Image::supportsType): Instead of calling the old
        -[WebCoreImageRendererFactory supportedMIMETypes], call the new
        +[WebCoreFrameBridge supportedImageResourceMIMETypes].
        (WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of
        the WebCoreImageRendererFactory.

        * platform/mac/ClipboardMac.mm: Removed an unneeded include of
        WebCoreImageRenderer.h.

        * platform/mac/WebCoreImageRendererFactory.h: Removed everything except
        for the one remaining method, imageDataForName:, which gets resources
        from the WebKit localized resources. We should figure out how to remove
        that one too later.
        * platform/mac/WebCoreImageRendererFactory.m: Ditto.

        * platform/mac/WebCoreSystemInterface.h: Added some new calls.
        * platform/mac/WebCoreSystemInterface.mm: Ditto.
        * WebCore.exp: Ditto.

        * platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's
        here it has to have a FIXME comment and also it contains a big commented-out
        pile of code. Better to have it in the stubs file with all the other stubs.
        * platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here
        instead of having it in ImageCairo.cpp.

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

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=8941
        document.cookie undefined for documents of type text/javascript
        
        * loader/TextDocument.cpp:
        (WebCore::TextDocument::TextDocument):
        * loader/TextDocument.h:
        Inherit from HTMLDocument.

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8898
          REGRESSION: Attempting to right-click image in own tab on website causes crash
        - fix http://bugs.webkit.org/show_bug.cgi?id=8919
          REGRESSION: image could not be dragged, subsequent click-drag activity caused crash

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument.
        (-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0.
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.

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

        Reviewed by andersca.

        Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.

        Already covered by existing dom tests.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createBaseWrapper):
        (WebCore::createHeadWrapper):
        (WebCore::createLinkWrapper):
        (WebCore::createStyleWrapper):
        (WebCore::createTitleWrapper):
        (WebCore::createJSWrapper):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        * bindings/js/kjs_html.h:
        * html/HTMLBaseElement.idl: Added.
        * html/HTMLHeadElement.idl: Added.
        * html/HTMLLinkElement.idl: Added.
        * html/HTMLStyleElement.idl: Added.
        * html/HTMLTitleElement.idl: Added.

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=8921
        Use WebCore to render full-frame images.

        * WebCore.xcodeproj/project.pbxproj:
        Add ImageDocument.
        
        * bridge/mac/WebCoreFrameBridge.h:
        Add mainResourceURLResponse and imageTitleForFilename.
        
        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
        This used to be supportedMIMETypes but WebKit requires that we handle the
        image MIME types separately.
        
        (+[WebCoreFrameBridge supportedImageMIMETypes]):
        Add image types from WebCoreImageRendererFactory.
        
        (-[WebCoreFrameBridge canProvideDocumentSource]):
        Return no for image types.
        
        * dom/xml_tokenizer.h:
        (WebCore::Tokenizer::wantsRawData):
        (WebCore::Tokenizer::writeRawData):
        New virtual functions which tokenizers can override if they want to get
        raw data (which isn't fed through the decoder)
        
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::setLoadManually):
        New function which calls HTMLImageLoader::setLoadManually
        
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::HTMLImageLoader):
        (WebCore::HTMLImageLoader::updateFromElement):
        Don't request the image from the loader if the load is set to be manual.
        
        * html/HTMLImageLoader.h:
        (WebCore::HTMLImageLoader::setLoadManually):
        New function which decides if the image data should be fed manually or loaded
        by the loader.
        
        * loader/DocLoader.h:
        Add HTMLImageLoader as a friend.
        
        * loader/ImageDocument.cpp: Added.
        (WebCore::ImageTokenizer::ImageTokenizer):
        (WebCore::ImageTokenizer::wantsRawData):
        (WebCore::ImageTokenizer::write):
        (WebCore::ImageTokenizer::writeRawData):
        (WebCore::ImageTokenizer::stopParsing):
        (WebCore::ImageTokenizer::finish):
        (WebCore::ImageTokenizer::isWaitingForScripts):
        (WebCore::ImageDocument::ImageDocument):
        (WebCore::ImageDocument::createTokenizer):
        * loader/ImageDocument.h: Added.
        Add new ImageDocument class which will feed its data to a created image element.

        * loader/TextDocument.h:
        Inherit from HTMLDocument here too, in case any broken web pages want to manipulate
        the DOM of any plain text documents.
        
        * page/Frame.cpp:
        (WebCore::Frame::begin):
        (WebCore::Frame::write):
        Don't create or use the decoder if the tokenizer is in "raw mode".
        
2006-05-16  Eric Seidel  <eseidel@apple.com>

        Reviewed by andersca.

        Autogenerate JSHTMLMetaElement.
        http://bugs.webkit.org/show_bug.cgi?id=8938

        Test: fast/dom/HTMLMetaElement/meta-attributes.html

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createMetaWrapper):
        (WebCore::createJSWrapper):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        * bindings/js/kjs_html.h:
        * html/HTMLMetaElement.h:

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

        Bug 8936, eliminate WebTextRendererFactory and convert it over to the
        new FontCache.

        Reviewed by andersca

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreStringTruncator.mm:
        * kwq/KWQComboBox.mm:
        * kwq/KWQLineEdit.mm:
        * kwq/KWQListBox.mm:
        * platform/Font.h:
        (WebCore::Font::bold):
        * platform/FontCache.cpp: Added.
        (WebCore::FontPlatformDataCacheKey::m_italic):
        (WebCore::FontPlatformDataCacheKey::operator==):
        (WebCore::computeHash):
        (WebCore::FontPlatformDataCacheKeyHash::hash):
        (WebCore::FontPlatformDataCacheKeyHash::equal):
        (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
        (WebCore::FontCache::getCachedFontPlatformData):
        (WebCore::FontDataCacheKeyHash::hash):
        (WebCore::FontDataCacheKeyHash::equal):
        (WebCore::FontDataCacheKeyTraits::deletedValue):
        (WebCore::FontCache::getCachedFontData):
        (WebCore::FontCache::getFontData):
        (WebCore::FontCache::clearCommonCaches):
        * platform/FontCache.h:
        * platform/FontData.h:
        * platform/FontFamily.cpp:
        (WebCore::FontFamily::FontFamily):
        (WebCore::FontFamily::operator=):
        (WebCore::FontFamily::setFamily):
        * platform/FontFamily.h:
        (WebCore::FontFamily::familyIsEmpty):
        * platform/FontPlatformData.h:
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        * platform/mac/FontCacheMac.mm:
        (WebCore::getAppDefaultValue):
        (WebCore::getUserDefaultValue):
        (WebCore::getLCDScaleParameters):
        (WebCore::fontsChanged):
        (WebCore::FontCache::registerForFontChanges):
        (WebCore::FontCache::clearCaches):
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getLastResortFallbackFont):
        (WebCore::FontCache::createFontPlatformData):
        * platform/mac/FontData.mm:
        (-[NSFont WebCore]):
        (WidthMap::FontData::xHeight):
        (WidthMap::FontData::smallCapsFontData):
        (WidthMap::computeWidthForSpace):
        (WidthMap::setUpFont):
        (WidthMap::fillStyleWithAttributes):
        (WidthMap::FontData::determinePitch):
        * platform/mac/FontFallbackListMac.mm:
        (WebCore::FontFallbackList::setPlatformFont):
        * platform/mac/FontFamilyMac.mm: Removed.
        * platform/mac/FontMac.mm:
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreFindFont):
        * platform/mac/WebFontCache.h: Added.
        * platform/mac/WebFontCache.mm: Added.
        (acceptableChoice):
        (betterChoice):
        (+[WebFontCache fontWithFamily:traits:size:]):
        * platform/mac/WebTextRendererFactory.h: Removed.
        * platform/mac/WebTextRendererFactory.mm: Removed.

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

        Reviewed by andersca.

        Add Rect.idl, even though it can't be used quite yet due to generator limitations.

        * WebCore.xcodeproj/project.pbxproj:
        * css/Rect.idl: Added.

2006-05-16  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by darin.  Landed by eseidel.

        Patch for <http://bugs.webkit.org/show_bug.cgi?id=8924>
        Bug 8924: re-apply the 'disabled type=file' change
        from bug 5882 to RenderFileButton
        
        * rendering/RenderFileButton.cpp:
        (WebCore::RenderFileButton::updateFromElement):

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

        Reviewed by hyatt.

        Split css_base.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8935

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_css.cpp:
        * css/CSSBorderImageValue.cpp:
        * css/CSSBorderImageValue.h:
        * css/CSSCharsetRule.h:
        * css/CSSFontFaceRule.h:
        * css/CSSGrammar.y:
        * css/CSSImportRule.h:
        * css/CSSInheritedValue.cpp:
        * css/CSSInitialValue.cpp:
        * css/CSSMediaRule.h:
        * css/CSSMutableStyleDeclaration.h:
        * css/CSSNamespace.h: Added.
        (WebCore::CSSNamespace::CSSNamespace):
        (WebCore::CSSNamespace::namespaceForPrefix):
        * css/CSSPageRule.h:
        * css/CSSPrimitiveValue.h:
        * css/CSSProperty.cpp:
        * css/CSSProperty.h:
        * css/CSSRule.h:
        * css/CSSRuleList.cpp:
        * css/CSSSelector.cpp: Added.
        * css/CSSSelector.h: Added.
        (WebCore::CSSSelector::CSSSelector):
        * css/CSSStyleDeclaration.h:
        * css/CSSStyleRule.cpp:
        * css/CSSStyleRule.h:
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::~CSSStyleSheet):
        * css/CSSStyleSheet.h:
        * css/CSSValue.h:
        * css/CSSValueList.cpp:
        * css/CSSValueList.h:
        * css/FontFamilyValue.cpp:
        * css/FontValue.cpp:
        * css/FontValue.h:
        * css/MediaList.h:
        * css/ShadowValue.cpp:
        * css/ShadowValue.h:
        * css/StyleBase.cpp: Added.
        (WebCore::StyleBase::stylesheet):
        * css/StyleBase.h: Added.
        (WebCore::StyleBase::StyleBase):
        * css/StyleList.cpp: Added.
        * css/StyleList.h: Added.
        * css/StyleSheet.h:
        * css/css_base.cpp: Removed.
        * css/css_base.h: Removed.
        * css/cssparser.cpp:
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::matchRulesForList):
        * css/cssstyleselector.h:
        * dom/CSSMappedAttributeDeclaration.h:
        * ksvg2/svg/SVGColor.cpp:
        (WebCore::SVGColor::SVGColor):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::setRGBColorICCColor):
        (WebCore::SVGColor::setColor):
        (WebCore::SVGColor::cssText):
        (WebCore::SVGColor::color):
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::SVGStyledElement):
        (WebCore::SVGStyledElement::className):
        (WebCore::SVGStyledElement::createRenderer):
        (WebCore::SVGStyledElement::parseMappedAttribute):
        (WebCore::SVGStyledElement::notifyAttributeChange):
        (WebCore::SVGStyledElement::attributeChanged):
        (WebCore::SVGStyledElement::canvas):
        (WebCore::SVGStyledElement::updateCanvasItem):
        (WebCore::SVGStyledElement::pushAttributeContext):

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

        Reviewed by hyatt.

        Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8934

        * WebCore+SVG/RGBColor.cpp:
        (WebCore::RGBColor::RGBColor):
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSRule::classInfo):
        * bindings/js/kjs_css.h:
        * bindings/js/kjs_dom.cpp:
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_window.cpp:
        * bindings/objc/DOMCSS.mm:
        * bindings/scripts/CodeGeneratorJS.pm:
        * css/CSSBorderImageValue.cpp: Added.
        (WebCore::CSSBorderImageValue::CSSBorderImageValue):
        * css/CSSBorderImageValue.h: Added.
        * css/CSSCharsetRule.h: Added.
        (WebCore::CSSCharsetRule::CSSCharsetRule):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForShadow):
        (WebCore::):
        * css/CSSComputedStyleDeclaration.h:
        * css/CSSFontFaceRule.cpp: Added.
        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
        * css/CSSFontFaceRule.h: Added.
        (WebCore::CSSFontFaceRule::isFontFaceRule):
        * css/CSSGrammar.y:
        * css/CSSImageValue.cpp: Added.
        (WebCore::CSSImageValue::CSSImageValue):
        * css/CSSImageValue.h: Added.
        * css/CSSImportRule.cpp: Added.
        * css/CSSImportRule.h: Added.
        * css/CSSInheritedValue.cpp: Added.
        * css/CSSInheritedValue.h: Added.
        * css/CSSInitialValue.cpp: Added.
        * css/CSSInitialValue.h: Added.
        * css/CSSMediaRule.cpp: Added.
        (WebCore::CSSMediaRule::CSSMediaRule):
        (WebCore::CSSMediaRule::~CSSMediaRule):
        (WebCore::CSSMediaRule::append):
        (WebCore::CSSMediaRule::deleteRule):
        (WebCore::CSSMediaRule::cssText):
        * css/CSSMediaRule.h: Added.
        (WebCore::CSSMediaRule::media):
        (WebCore::CSSMediaRule::cssRules):
        * css/CSSMutableStyleDeclaration.cpp: Added.
        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
        (WebCore::CSSMutableStyleDeclaration::setChanged):
        * css/CSSMutableStyleDeclaration.h: Added.
        * css/CSSPageRule.cpp: Added.
        (WebCore::CSSPageRule::CSSPageRule):
        * css/CSSPageRule.h: Added.
        (WebCore::CSSPageRule::isPageRule):
        * css/CSSPrimitiveValue.cpp: Added.
        * css/CSSPrimitiveValue.h: Added.
        * css/CSSProperty.cpp: Added.
        (WebCore::CSSProperty::cssText):
        * css/CSSProperty.h: Added.
        (WebCore::CSSProperty::CSSProperty):
        * css/CSSQuirkPrimitiveValue.h: Added.
        * css/CSSRule.cpp: Added.
        * css/CSSRule.h: Added.
        (WebCore::CSSRule::CSSRule):
        * css/CSSRuleList.cpp: Added.
        (WebCore::CSSRuleList::CSSRuleList):
        (WebCore::CSSRuleList::~CSSRuleList):
        (WebCore::CSSRuleList::deleteRule):
        (WebCore::CSSRuleList::append):
        (WebCore::CSSRuleList::insertRule):
        * css/CSSRuleList.h: Added.
        (WebCore::CSSRuleList::item):
        * css/CSSStyleDeclaration.cpp: Added.
        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
        (WebCore::CSSStyleDeclaration::diff):
        * css/CSSStyleDeclaration.h: Added.
        * css/CSSStyleRule.cpp: Added.
        (WebCore::CSSStyleRule::CSSStyleRule):
        (WebCore::CSSStyleRule::selectorText):
        * css/CSSStyleRule.h: Added.
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::ownerRule):
        * css/CSSUnknownRule.h: Added.
        (WebCore::CSSUnknownRule::CSSUnknownRule):
        * css/CSSValue.h: Added.
        * css/CSSValueList.cpp: Added.
        * css/CSSValueList.h: Added.
        * css/Counter.h: Added.
        * css/DashboardRegion.h: Added.
        * css/FontFamilyValue.cpp: Added.
        * css/FontFamilyValue.h: Added.
        (WebCore::FontFamilyValue::genericFamilyType):
        * css/FontValue.cpp: Added.
        (WebCore::FontValue::cssText):
        * css/FontValue.h: Added.
        * css/MediaList.cpp:
        * css/Pair.h: Added.
        (WebCore::Pair::~Pair):
        * css/RectImpl.h: Added.
        (WebCore::RectImpl::~RectImpl):
        * css/ShadowValue.cpp: Added.
        (WebCore::ShadowValue::ShadowValue):
        * css/ShadowValue.h: Added.
        * css/css_base.cpp:
        * css/css_ruleimpl.cpp: Removed.
        * css/css_ruleimpl.h: Removed.
        * css/css_valueimpl.cpp: Removed.
        * css/css_valueimpl.h: Removed.
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseColor):
        (WebCore::CSSParser::parseFontFamily):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::locateCousinList):
        (WebCore::CSSStyleSelector::checkSelector):
        (WebCore::CSSRuleSet::addRulesFromSheet):
        (WebCore::CSSStyleSelector::applyProperty):
        (WebCore::CSSStyleSelector::mapBackgroundImage):
        * css/cssstyleselector.h:
        * dom/CSSMappedAttributeDeclaration.h:
        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
        * dom/Document.cpp:
        * editing/ApplyStyleCommand.cpp:
        * editing/CompositeEditCommand.h:
        * editing/EditCommand.cpp:
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertLineBreakCommand.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/RemoveCSSPropertyCommand.cpp:
        (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
        (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
        * editing/RemoveCSSPropertyCommand.h:
        (WebCore::RemoveCSSPropertyCommand::styleDeclaration):
        * html/HTMLBodyElement.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLScriptElement.h:
        * html/HTMLTokenizer.h:
        * kcanvas/KCanvasFilters.h:
        (WebCore::KCanvasFEColorMatrix::values):
        (WebCore::KCanvasFEColorMatrix::setValues):
        (WebCore::KCanvasFEConvolveMatrix::kernel):
        (WebCore::KCanvasFEConvolveMatrix::setKernel):
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasTreeDebug.h:
        (WebCore::operator<<):
        * kcanvas/RenderPath.h:
        * ksvg2/css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        (WebCore::CSSParser::parseSVGStrokeDasharray):
        (WebCore::CSSParser::parseSVGPaint):
        (WebCore::CSSParser::parseSVGColor):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/ecma/Ecma.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGAnimationElement.cpp:
        * ksvg2/svg/SVGColor.cpp:
        * ksvg2/svg/SVGColor.h:
        * ksvg2/svg/SVGCursorElement.h:
        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
        (SVGFEColorMatrixElement::filterEffect):
        * page/DOMWindow.cpp:
        * page/Frame.cpp:
        * page/FramePrivate.h:
        * platform/DeprecatedValueList.h:
        * rendering/RenderTextField.cpp:

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

        * WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were
        screwing up Xcode.

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

        * make-generated-sources.sh: Changed to be executable and removed
        text in the file generated by "svn diff".
        * move-js-headers.sh: Ditto.

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

        Reviewed by mjs.

        Split css_stylesheetimpl.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8933

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSheet.cpp: Added.
        (WebCore::CSSStyleSheet::CSSStyleSheet):
        (WebCore::CSSStyleSheet::addRule):
        (WebCore::CSSStyleSheet::deleteRule):
        (WebCore::CSSStyleSheet::parseString):
        (WebCore::CSSStyleSheet::docLoader):
        * css/CSSStyleSheet.h: Added.
        * css/MediaList.cpp: Added.
        (WebCore::MediaList::MediaList):
        (WebCore::MediaList::contains):
        (WebCore::MediaList::parentStyleSheet):
        (WebCore::MediaList::parentRule):
        (WebCore::MediaList::deleteMedium):
        (WebCore::MediaList::setMediaText):
        * css/MediaList.h: Added.
        * css/StyleSheet.cpp: Added.
        (WebCore::StyleSheet::StyleSheet):
        (WebCore::StyleSheet::parentStyleSheet):
        (WebCore::StyleSheet::setMedia):
        * css/StyleSheet.h: Added.
        (WebCore::StyleSheet::ownerNode):
        * css/StyleSheetList.cpp: Added.
        (WebCore::StyleSheetList::~StyleSheetList):
        (WebCore::StyleSheetList::add):
        (WebCore::StyleSheetList::remove):
        (WebCore::StyleSheetList::item):
        * css/StyleSheetList.h: Added.
        * css/css_stylesheetimpl.cpp: Removed.
        * css/css_stylesheetimpl.h: Removed.

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

        * WebCore.xcodeproj/project.pbxproj: build fix.

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

        Reviewed by ggaren.

        Split dom_xmlimpl.* into separate files (one per class).

        * WebCore.xcodeproj/project.pbxproj:
        * dom/Entity.cpp: Added.
        (WebCore::Entity::Entity):
        * dom/Entity.h: Added.
        * dom/EntityReference.cpp: Added.
        (WebCore::EntityReference::EntityReference):
        * dom/EntityReference.h: Added.
        * dom/Notation.cpp: Added.
        (WebCore::Notation::Notation):
        * dom/Notation.h: Added.
        * dom/ProcessingInstruction.cpp: Added.
        (WebCore::ProcessingInstruction::ProcessingInstruction):
        * dom/ProcessingInstruction.h: Added.
        * dom/dom_xmlimpl.cpp: Removed.
        * dom/dom_xmlimpl.h: Removed.

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

        Reviewed by Tim Hatcher.

        Split html_imageimpl.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8929

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        * bindings/js/kjs_events.cpp:
        * bindings/js/kjs_html.cpp:
        * bindings/objc/DOMHTML.mm:
        * bridge/mac/WebCoreFrameBridge.mm:
        * dom/Document.cpp:
        * editing/JSEditor.cpp:
        * html/CanvasRenderingContext2D.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLAreaElement.cpp: Added.
        (WebCore::HTMLAreaElement::HTMLAreaElement):
        (WebCore::HTMLAreaElement::mapMouseEvent):
        (WebCore::HTMLAreaElement::getRect):
        (WebCore::HTMLAreaElement::getRegion):
        * html/HTMLAreaElement.h: Added.
        * html/HTMLCanvasElement.h:
        * html/HTMLDocument.cpp:
        * html/HTMLElementFactory.cpp:
        * html/HTMLFormCollection.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLImageElement.cpp: Added.
        (WebCore::HTMLImageElement::HTMLImageElement):
        * html/HTMLImageElement.h: Added.
        * html/HTMLImageLoader.cpp: Added.
        (WebCore::HTMLImageLoader::HTMLImageLoader):
        * html/HTMLImageLoader.h: Added.
        * html/HTMLInputElement.cpp:
        * html/HTMLMapElement.cpp: Added.
        (WebCore::HTMLMapElement::mapMouseEvent):
        (WebCore::HTMLMapElement::parseMappedAttribute):
        * html/HTMLMapElement.h: Added.
        * html/HTMLObjectElement.cpp:
        * html/HTMLParser.cpp:
        * html/html_imageimpl.cpp: Removed.
        * html/html_imageimpl.h: Removed.
        * ksvg2/misc/SVGImageLoader.h:
        * kwq/WebCoreAXObject.mm:
        (-[WebCoreAXObject addChildrenToArray:]):
        * page/Frame.cpp:
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::RenderImage):
        (WebCore::RenderImage::nodeAtPoint):

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

        Reviewed by beth.

        Split html_blockimpl.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8927

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        * bindings/objc/DOMHTML.mm:
        * html/HTMLBlockquoteElement.cpp: Added.
        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
        * html/HTMLBlockquoteElement.h: Added.
        * html/HTMLDivElement.cpp: Added.
        * html/HTMLDivElement.h: Added.
        * html/HTMLElementFactory.cpp:
        * html/HTMLHRElement.cpp: Added.
        * html/HTMLHRElement.h: Added.
        * html/HTMLHeadingElement.cpp: Added.
        * html/HTMLHeadingElement.h: Added.
        * html/HTMLMarqueeElement.cpp: Added.
        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
        * html/HTMLMarqueeElement.h: Added.
        * html/HTMLParagraphElement.cpp: Added.
        * html/HTMLParagraphElement.h: Added.
        * html/HTMLParser.cpp:
        * html/HTMLPreElement.cpp: Added.
        (WebCore::HTMLPreElement::HTMLPreElement):
        (WebCore::HTMLPreElement::setWrap):
        * html/HTMLPreElement.h: Added.
        * html/HTMLTextFieldInnerElement.h:
        * html/html_blockimpl.cpp: Removed.
        * html/html_blockimpl.h: Removed.
        * rendering/RenderLayer.cpp:

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

        Reviewed by ggaren.

        Split render_list.* and html_listimpl.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8925

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        * bindings/objc/DOMHTML.mm:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::attributedString):
        * html/HTMLDListElement.cpp: Added.
        (WebCore::HTMLDListElement::HTMLDListElement):
        * html/HTMLDListElement.h: Added.
        * html/HTMLDirectoryElement.cpp: Added.
        (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
        * html/HTMLDirectoryElement.h: Added.
        * html/HTMLElementFactory.cpp:
        * html/HTMLKeygenElement.cpp:
        * html/HTMLLIElement.cpp: Added.
        (WebCore::HTMLLIElement::HTMLLIElement):
        (WebCore::HTMLLIElement::parseMappedAttribute):
        (WebCore::HTMLLIElement::attach):
        (WebCore::HTMLLIElement::setType):
        * html/HTMLLIElement.h: Added.
        * html/HTMLMenuElement.cpp: Added.
        (WebCore::HTMLMenuElement::HTMLMenuElement):
        * html/HTMLMenuElement.h: Added.
        * html/HTMLOListElement.cpp: Added.
        (WebCore::HTMLOListElement::HTMLOListElement):
        (WebCore::HTMLOListElement::parseMappedAttribute):
        (WebCore::HTMLOListElement::setType):
        * html/HTMLOListElement.h: Added.
        (WebCore::HTMLOListElement::start):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::HTMLOptionElement):
        (WebCore::HTMLOptionElement::checkDTD):
        (WebCore::HTMLOptionElement::text):
        (WebCore::HTMLOptionElement::setText):
        (WebCore::HTMLOptionElement::getSelect):
        (WebCore::HTMLOptionElement::setLabel):
        * html/HTMLOptionElement.h:
        * html/HTMLParser.cpp:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement):
        * html/HTMLUListElement.cpp: Added.
        (WebCore::HTMLUListElement::HTMLUListElement):
        * html/HTMLUListElement.h: Added.
        * html/html_listimpl.cpp: Removed.
        * html/html_listimpl.h: Removed.
        * kwq/WebCoreAXObject.mm:
        * rendering/InlineFlowBox.cpp:
        * rendering/ListMarkerBox.cpp: Added.
        (WebCore::ListMarkerBox::ListMarkerBox):
        (WebCore::ListMarkerBox::isText):
        * rendering/ListMarkerBox.h: Added.
        * rendering/RenderContainer.cpp:
        (WebCore::updateListMarkerNumbers):
        (WebCore::RenderContainer::addChild):
        (WebCore::RenderContainer::removeChild):
        (WebCore::RenderContainer::layout):
        (WebCore::RenderContainer::removeLeftoverAnonymousBoxes):
        (WebCore::RenderContainer::positionForCoordinates):
        (WebCore::RenderContainer::lineBoxRects):
        * rendering/RenderListItem.cpp: Added.
        (WebCore::RenderListItem::RenderListItem):
        (WebCore::RenderListItem::setStyle):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::markerStringValue):
        * rendering/RenderListItem.h: Added.
        (WebCore::RenderListItem::renderName):
        (WebCore::RenderListItem::setValue):
        (WebCore::RenderListItem::setNotInList):
        (WebCore::RenderListItem::notInList):
        * rendering/RenderListMarker.cpp: Added.
        (WebCore::RenderListMarker::RenderListMarker):
        (WebCore::RenderListMarker::setStyle):
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::layout):
        (WebCore::RenderListMarker::calcMinMaxWidth):
        * rendering/RenderListMarker.h: Added.
        (WebCore::RenderListMarker::renderName):
        * rendering/RenderObject.cpp:
        * rendering/render_list.cpp: Removed.
        * rendering/render_list.h: Removed.

2006-05-15  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by eseidel.

        Split render_form.* into separate files (one per class).
        http://bugs.webkit.org/show_bug.cgi?id=8889

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::HTMLButtonElement):
        * html/HTMLFieldSetElement.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLLabelElement.cpp:
        * html/HTMLLegendElement.cpp:
        (WebCore::HTMLLegendElement::createRenderer):
        * html/HTMLOptionElement.cpp:
        * html/HTMLSelectElement.cpp:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::selectionStart):
        (WebCore::HTMLTextAreaElement::selectionEnd):
        (WebCore::HTMLTextAreaElement::setSelectionStart):
        (WebCore::HTMLTextAreaElement::setSelectionEnd):
        (WebCore::HTMLTextAreaElement::setSelectionRange):
        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
        (WebCore::HTMLTextAreaElement::createRenderer):
        (WebCore::HTMLTextAreaElement::setValue):
        (WebCore::HTMLTextAreaElement::setDefaultValue):
        (WebCore::HTMLTextAreaElement::setAccessKey):
        * kwq/KWQComboBox.mm:
        * kwq/KWQFileButton.mm:
        * kwq/KWQListBox.mm:
        * kwq/KWQSlider.mm:
        * platform/mac/WebCoreTextField.mm:
        * rendering/RenderFieldset.cpp: Added.
        (WebCore::RenderFieldset::RenderFieldset):
        (WebCore::RenderFieldset::findLegend):
        (WebCore::RenderFieldset::paintBorderMinusLegend):
        (WebCore::RenderFieldset::setStyle):
        * rendering/RenderFieldset.h: Added.
        (WebCore::RenderFieldset::renderName):
        * rendering/RenderFileButton.cpp: Added.
        (WebCore::RenderFileButton::RenderFileButton):
        (WebCore::RenderFileButton::calcMinMaxWidth):
        (WebCore::RenderFileButton::updateFromElement):
        (WebCore::RenderFileButton::click):
        * rendering/RenderFileButton.h: Added.
        (WebCore::RenderFileButton::renderName):
        (WebCore::RenderFileButton::calcReplacedHeight):
        (WebCore::RenderFileButton::isEditable):
        * rendering/RenderFormElement.cpp: Added.
        (WebCore::RenderFormElement::RenderFormElement):
        (WebCore::RenderFormElement::baselinePosition):
        (WebCore::RenderFormElement::layout):
        * rendering/RenderFormElement.h: Added.
        (WebCore::RenderFormElement::renderName):
        (WebCore::RenderFormElement::isFormElement):
        (WebCore::RenderFormElement::borderTop):
        (WebCore::RenderFormElement::borderBottom):
        (WebCore::RenderFormElement::borderLeft):
        (WebCore::RenderFormElement::borderRight):
        (WebCore::RenderFormElement::paddingTop):
        (WebCore::RenderFormElement::paddingBottom):
        (WebCore::RenderFormElement::paddingLeft):
        (WebCore::RenderFormElement::paddingRight):
        (WebCore::RenderFormElement::canHaveIntrinsicMargins):
        (WebCore::RenderFormElement::intrinsicMargin):
        (WebCore::RenderFormElement::isEditable):
        * rendering/RenderImageButton.cpp: Added.
        (WebCore::RenderImageButton::RenderImageButton):
        * rendering/RenderImageButton.h: Added.
        (WebCore::RenderImageButton::renderName):
        (WebCore::RenderImageButton::isImageButton):
        * rendering/RenderLabel.cpp: Added.
        (WebCore::RenderLabel::RenderLabel):
        * rendering/RenderLabel.h: Added.
        (WebCore::RenderLabel::renderName):
        * rendering/RenderLegend.cpp: Added.
        (WebCore::RenderLegend::RenderLegend):
        * rendering/RenderLegend.h: Added.
        (WebCore::RenderLegend::renderName):
        * rendering/RenderLineEdit.cpp: Added.
        (WebCore::RenderLineEdit::RenderLineEdit):
        * rendering/RenderLineEdit.h: Added.
        (WebCore::RenderLineEdit::renderName):
        (WebCore::RenderLineEdit::calcReplacedHeight):
        (WebCore::RenderLineEdit::canHaveIntrinsicMargins):
        (WebCore::RenderLineEdit::isTextField):
        (WebCore::RenderLineEdit::isEditable):
        * rendering/RenderSelect.cpp: Added.
        (WebCore::RenderSelect::RenderSelect):
        (WebCore::RenderSelect::setWidgetWritingDirection):
        (WebCore::RenderSelect::setStyle):
        (WebCore::RenderSelect::updateFromElement):
        (WebCore::RenderSelect::baselinePosition):
        (WebCore::RenderSelect::calcMinMaxWidth):
        (WebCore::RenderSelect::layout):
        (WebCore::RenderSelect::valueChanged):
        (WebCore::RenderSelect::selectionChanged):
        (WebCore::RenderSelect::updateSelection):
        * rendering/RenderSelect.h: Added.
        (WebCore::RenderSelect::renderName):
        (WebCore::RenderSelect::calcReplacedHeight):
        (WebCore::RenderSelect::canHaveIntrinsicMargins):
        (WebCore::RenderSelect::selectionChanged):
        (WebCore::RenderSelect::setSelectionChanged):
        * rendering/RenderSlider.cpp: Added.
        (WebCore::RenderSlider::calcMinMaxWidth):
        (WebCore::RenderSlider::updateFromElement):
        * rendering/RenderSlider.h: Added.
        (WebCore::RenderSlider::renderName):
        (WebCore::RenderSlider::canHaveIntrinsicMargins):
        * rendering/RenderTextArea.cpp: Added.
        (WebCore::RenderTextArea::RenderTextArea):
        (WebCore::RenderTextArea::calcMinMaxWidth):
        (WebCore::RenderTextArea::setStyle):
        (WebCore::RenderTextArea::updateFromElement):
        (WebCore::RenderTextArea::selectionStart):
        (WebCore::RenderTextArea::selectionEnd):
        (WebCore::RenderTextArea::setSelectionStart):
        (WebCore::RenderTextArea::setSelectionEnd):
        (WebCore::RenderTextArea::select):
        (WebCore::RenderTextArea::setSelectionRange):
        * rendering/RenderTextArea.h: Added.
        (WebCore::RenderTextArea::renderName):
        (WebCore::RenderTextArea::isTextArea):
        (WebCore::RenderTextArea::isEdited):
        (WebCore::RenderTextArea::canHaveIntrinsicMargins):
        (WebCore::RenderTextArea::isEditable):
        * rendering/render_form.cpp: Removed.
        * rendering/render_form.h: Removed.

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

        Reviewed by Eric.

        Remove the XPath log calls. They were causing leaks and were never
        really useful.
        
        * bridge/mac/WebCorePageBridge.mm:
        (initializeLoggingChannelsIfNecessary):
        * platform/Logging.cpp:
        * platform/Logging.h:
        * xpath/XPathResult.cpp:
        (WebCore::XPathResult::convertTo):
        * xpath/impl/XPathFunctions.cpp:
        (round):
        (WebCore::XPath::FunCount::doEvaluate):
        (WebCore::XPath::FunSum::doEvaluate):
        (WebCore::XPath::FunctionLibrary::createFunction):
        * xpath/impl/XPathPath.cpp:
        (WebCore::XPath::Filter::doEvaluate):
        (WebCore::XPath::LocationPath::doEvaluate):
        * xpath/impl/XPathPredicate.cpp:
        (WebCore::XPath::Negative::doEvaluate):
        (WebCore::XPath::NumericOp::doEvaluate):
        (WebCore::XPath::Union::doEvaluate):
        * xpath/impl/XPathStep.cpp:
        (WebCore::XPath::Step::evaluate):
        (WebCore::XPath::Step::nodesInAxis):
        (WebCore::XPath::Step::nodeTestMatches):
        * xpath/impl/XPathValue.cpp:
        (WebCore::XPath::Value::toNodeVector):

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

        Fix linux build.

        * html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"

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

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=8913
        REGRESSION: Can view source for text files
        
        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canProvideDocumentSource]):
        (-[WebCoreFrameBridge canSaveAsWebArchive]):

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

        Remove the .forPrinter boolean from FontPlatformData.  After the initial
        acquisition of an NSFont, the font is then adjusted to printer or screen
        when put into a FontPlatformData.  Then it can simply be used in the hash
        lookup to get a FontData.

        Reviewed by mjs

        * platform/Font.cpp:
        (WebCore::WidthIterator::advance):
        * platform/FontData.h:
        * platform/FontDescription.h:
        (WebCore::FontDescription::bold):
        * platform/FontPlatformData.h:
        (WebCore::FontPlatformData::syntheticOblique):
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/mac/FontData.mm:
        (WebCore::FontData::smallCapsFontData):
        (WebCore::getSmallCapsFontData):
        (WebCore::setUpFont):
        * platform/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::initialize):
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory rendererWithFont:]):
        (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):

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

        Reviewed by Maciej.

        * dom/Document.idl:
        Remove #if XPATH_SUPPORT until we have a way to feed defines to the bindings generator
        (see http://bugs.webkit.org/show_bug.cgi?id=8912)

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

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6838
          Incomplete repaint of collapsed table borders
          
        This patch updates the implementation of collapsing borders to match
        the current spec.

        Test: fast/repaint/table-collapsed-border.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::RenderTable):
        (WebCore::RenderTable::layout): Calculate horizontal overflows.
        (WebCore::RenderTable::calcMinMaxWidth): Added call to recalcHorizontalBorders.
        (WebCore::RenderTable::colElement): Made const.
        (WebCore::RenderTable::calcBorderLeft): Calculates the left border. In the collapsing
        borders model, this is the left border of the leftmost cell of the first row.
        (WebCore::RenderTable::calcBorderRight): Ditto for the right border.
        (WebCore::RenderTable::recalcHorizontalBorders): Added.
        (WebCore::RenderTable::borderTop): Changed to return outerBorderTop in the
        collapsing case.
        (WebCore::RenderTable::borderBottom): Changed to return outerBorderBottom in
        the collapsing case.
        (WebCore::RenderTable::outerBorderTop): Added. Returns the table half of the
        top border, which is half the widest top border on the first row.
        (WebCore::RenderTable::outerBorderBottom): Added. Returns the table half of the
        bottom border, which is half the widest bottom border on the last row.
        (WebCore::RenderTable::outerBorderLeft): Added. Returns the table half of the
        left border, which is half the widest left border on the leftmost column.
        (WebCore::RenderTable::outerBorderRight): Added. Returns the table half of the
        right border, which is half the widest right border on the rightmost column.
        (WebCore::RenderTable::cellAbove): Return 0 if the cell is in the first row
        of the header.
        (WebCore::RenderTable::cellBelow): Return 0 if the cell is in the last row
        of the footer.
        * rendering/RenderTable.h:
        (WebCore::RenderTable::borderLeft):
        (WebCore::RenderTable::borderRight):
        (WebCore::RenderTable::overflowHeight):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::borderLeft): Removed unnecessary use of floats.
        (WebCore::RenderTableCell::borderTop): Ditto.
        (WebCore::RenderTableCell::paint): Account for the table half of the vertical
        borders.
        (WebCore::RenderTableCell::paintCollapsedBorder): Removed unnecessary use of
        floats.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::RenderTableSection):
        (WebCore::RenderTableSection::layoutRows): Added call to recalcOuterBorder.
        (WebCore::RenderTableSection::calcOuterBorderTop): Added. Calculates the outer half of
        the section's top border, which is half the widest top border on the first row.
        (WebCore::RenderTableSection::calcOuterBorderBottom): Ditto for the bottom border.
        (WebCore::RenderTableSection::calcOuterBorderLeft): Ditto for the left border.
        (WebCore::RenderTableSection::calcOuterBorderRight): Ditto for the right border.
        (WebCore::RenderTableSection::recalcOuterBorder): Added.
        (WebCore::RenderTableSection::paint): Account for the table half of the borders.
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::outerBorderTop):
        (WebCore::RenderTableSection::outerBorderBottom):
        (WebCore::RenderTableSection::outerBorderLeft):
        (WebCore::RenderTableSection::outerBorderRight):
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::diff): Changed to return Layout if a border style changed
        from 'hidden' to 'none' or vice versa in the collapsing borders model, since
        'hidden' suppresses other borders.

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

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=8739
          Crash in RenderTableSection::paint due to manipulating DOM on resize

        * manual-tests/dom-manipulation-on-resize.html: Added.

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

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5882:
        disabled type="file" element doesn't appear disabled

        Be sure to call setDisabled on the file button when in
        RenderFileButton::updateFromElement.

        * kwq/KWQFileButton.h:
        * kwq/KWQFileButton.mm:
        (-[WebFileChooserButton setEnabled:]):
        (KWQFileButton::setDisabled):
        * rendering/render_form.cpp:
        (WebCore::RenderFileButton::updateFromElement):

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

        Fix Windows build.

        * platform/win/FontWin.cpp:
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::hackishExtentForString):
        (WebCore::Font::floatWidth):
        (WebCore::Font::drawText):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::offsetForPosition):

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

        Bug 8895.  Rework font substitution and fallback.  Lift the concept of
        substitution and fallback out of FontData and up into the FontFallbackList.
        See the bug for details of issues fixed in the fallback code.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Font.cpp:
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        (WebCore::Font::primaryFont):
        (WebCore::Font::fontDataAt):
        (WebCore::Font::fontDataForCharacters):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::xHeight):
        (WebCore::Font::isFixedPitch):
        * platform/Font.h:
        (WebCore::Font::getNSFont):
        * platform/FontCache.h: Added.
        * platform/FontData.h:
        (WebCore::FontData::pitch):
        (WebCore::FontData::getNSFont):
        (WebCore::):
        * platform/FontFallbackList.cpp: Added.
        (WebCore::m_pitch):
        (WebCore::FontFallbackList::~FontFallbackList):
        (WebCore::FontFallbackList::invalidate):
        (WebCore::FontFallbackList::determinePitch):
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::FontFallbackList::fontDataForCharacters):
        * platform/FontFallbackList.h:
        (WebCore::FontFallbackList::isFixedPitch):
        (WebCore::FontFallbackList::primaryFont):
        * platform/FontFamily.h:
        * platform/mac/FontCacheMac.mm: Added.
        (WebCore::FontCache::getFontData):
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/mac/FontData.mm:
        (WebCore::FontData::containsCharacters):
        * platform/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::initialize):
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
        (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
        * platform/win/FontWin.cpp:
        (WebCore::FontFallbackList::determinePitch):
        (WebCore::FontFallbackList::primaryFont):
        (WebCore::FontFallbackList::fontDataAt):
        (WebCore::FontFallbackList::fontDataForCharacters):

2006-05-14  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt, landed by ap.

        Fix for <http://bugs.webkit.org/show_bug.cgi?id=8387>
        "border-left/padding-Left do not show up on multiline rtl inline boxes"

        Test: fast/inline/inline-borders-with-bidi-override.html: added

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):

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

        Fix the Windows build the rest of the way

        * WebCore.vcproj/WebCore/WebCore.vcproj:

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

        Get FontWin.cpp compiling.
        WebCore and JSCore now build, but Spinneret still gets link errors.

        * platform/win/FontWin.cpp:
        (WebCore::Font::offsetForPosition):

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

        Reviewed by maciej.

        Fix Windows build except for fontwin.cpp.

        * WebCore/platform/win/FontWin.cpp:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * bridge/win/FrameWin.cpp:

2006-05-13  Kevin M. Ollivier  <kevino@theolliviers.com>

        Reviewed by Darin, landed by ap.

        - http://bugs.webkit.org/show_bug.cgi?id=8528
          Bakefiles (and generated Makefiles) for wx and gdk ports
        
        * make-generated-sources.sh: 
        Added script to configure environment to run DerivedSources.make
        
        * move-js-headers.sh:
        Added script to copy JavaScriptCore includes into one dir so that 
        Framework-style includes will work on all OSes. (written by Mike Emmel)
        
        * platform/wx: New dir, home for the wxWidgets port
        * platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.
        
        * Projects: New dir, for various project files for ports.
        
        * Projects/gdk: New dir, GDK port files.
        * Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files
        
        * Projects/wx: New dir, wxWidgets port files.
        * Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files

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

        Reviewed by Darin, landed by ap.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8485
          iExploder(#11705): Freeze in RenderBlock::layout()

        Test: fast/text/midword-break-hang.html

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break,
        ignore breakOnlyAfterWhiteSpace.

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

        Fix release build.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue. 
        This value will never be used, because 'left' and 'right' cannot both be 'auto'.
        (WebCore::RenderBox::calcAbsoluteVerticalValues): Initialize topValue. 
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced): Same changes as above. 

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

        Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
        highlight stays behind) to a correct file; removed the stale one.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
        and m_selectionBottom.
        * rendering/render_line.cpp: Removed.

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

        Reviewed by Darin, landed by ap.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8132
        CSS parser sometimes accepts real number as integer

        Add a boolean variable per css value to catch whether values
        are specified as floats or integers.

        Test: fast/css/rgb-float.html

        * css/CSSGrammar.y:
        * css/cssparser.cpp:
        (WebCore::CSSParser::validUnit):
        (WebCore::CSSParser::lex):
        * css/cssparser.h:
        * css/tokenizer.flex:

2006-05-13  Sam Weinig  <sam.weinig@gmail.com>

        Reviewed by Hyatt, landed by ap.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=7604
        calcAbsoluteHorizontalValues() is being getting passed arguments
        in the wrong order in calcAbsoluteHorizontal()

        Cleans up the RenderBox code for absolutely positioned elements
        and adds new functions for replaced absolutely positioned 
        elements. Now uses Length so that magic number -666666 for 
        auto lengths is no longer used.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcAbsoluteHorizontal):
        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
        (WebCore::RenderBox::calcAbsoluteVertical):
        (WebCore::RenderBox::calcAbsoluteVerticalValues): 
        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced
        case separately.
        (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
        * rendering/RenderBox.h:

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

        Bug 8880, remove the remaining drawing/hit testing code from
        FontData.

        Reviewed by tim h

        * platform/Font.cpp:
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advanceOneCharacter):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::selectionRectForSimpleText):
        (WebCore::Font::offsetForPosition):
        (WebCore::Font::offsetForPositionForSimpleText):
        * platform/Font.h:
        (WebCore::TextRun::makeComplete):
        * platform/FontData.h:
        * platform/GlyphBuffer.h:
        (WebCore::GlyphBuffer::clear):
        * platform/mac/FontData.mm:
        * platform/mac/FontMac.mm:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):

2006-05-12  Kevin M. Ollivier  <kevino@theolliviers.com>

        Reviewed by Maciej.

        Add missing include.
        
        * dom/Node.h: Add missing include for DeprecatedString.

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

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8835
          REGRESSION: Line moves but selection highlight stays behind

        Test: fast/dynamic/selection-highlight-adjust.html

        * rendering/render_line.cpp:
        (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop
        and m_selectionBottom.

2006-05-12  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=7156
        Bug 7156: TinyMCE: Links are actually activated in editable area, not editable.
        
        Links in editable areas will not activate or perform a navigation
        change (on par with WinIE and Firefox.) To visit the link
        you can shift-click. Manual test added.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::adjustRenderStyle):
        * html/HTMLAnchorElement.cpp:
        (WebCore::HTMLAnchorElement::defaultEventHandler):
        (WebCore::HTMLAnchorElement::setActive):
        * html/HTMLAnchorElement.h:
        * manual-tests/contenteditable-link.html: Added.
        * page/FrameView.cpp:
        (WebCore::selectCursor):

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

        Reviewed by timo.

        Split out html_inlineimpl.* into separate files (one per class).

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        * bindings/objc/DOMHTML.mm:
        * editing/CreateLinkCommand.cpp:
        * editing/UnlinkCommand.cpp:
        * html/HTMLAnchorElement.cpp: Added.
        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
        * html/HTMLAnchorElement.h: Added.
        * html/HTMLBRElement.cpp: Added.
        * html/HTMLBRElement.h: Added.
        * html/HTMLElementFactory.cpp:
        * html/HTMLFontElement.cpp: Added.
        (WebCore::HTMLFontElement::HTMLFontElement):
        (WebCore::HTMLFontElement::setColor):
        (WebCore::HTMLFontElement::setFace):
        (WebCore::HTMLFontElement::setSize):
        * html/HTMLFontElement.h: Added.
        * html/HTMLModElement.cpp: Added.
        (WebCore::HTMLModElement::setCite):
        (WebCore::HTMLModElement::setDateTime):
        * html/HTMLModElement.h: Added.
        * html/HTMLQuoteElement.cpp: Added.
        * html/HTMLQuoteElement.h: Added.
        * html/html_imageimpl.h:
        * html/html_inlineimpl.cpp: Removed.
        * html/html_inlineimpl.h: Removed.
        * page/FrameView.cpp:

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

        Reviewed by beth.

        Fix build error.

        * rendering/InlineFlowBox.cpp:
        * rendering/RootInlineBox.cpp:

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

        Reviewed by beth.

        Split out render_line.* into separate files (one per class).

        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        * rendering/EllipsisBox.cpp: Added.
        * rendering/EllipsisBox.h: Added.
        (WebCore::EllipsisBox::EllipsisBox):
        * rendering/InlineBox.cpp: Added.
        * rendering/InlineBox.h: Added.
        (WebCore::InlineBox::InlineBox):
        (WebCore::InlineBox::~InlineBox):
        (WebCore::InlineBox::bottomOverflow):
        (WebCore::InlineBox::rightOverflow):
        * rendering/InlineFlowBox.cpp: Added.
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/InlineFlowBox.h: Added.
        * rendering/InlineRunBox.h: Added.
        (WebCore::InlineRunBox::InlineRunBox):
        (WebCore::InlineRunBox::paintBackgroundAndBorder):
        (WebCore::InlineRunBox::paintDecorations):
        * rendering/InlineTextBox.h:
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.h:
        * rendering/RenderReplaced.cpp:
        * rendering/RootInlineBox.cpp: Added.
        * rendering/RootInlineBox.h: Added.
        (WebCore::RootInlineBox::RootInlineBox):
        * rendering/render_line.h: Removed.

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

        Reviewed by hyatt.

        Split out table_layout.* into separate files (one per class).
        Search replace instance variables "foo" with "m_foo" to comply with modern style.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/AutoTableLayout.cpp: Added.
        (WebCore::AutoTableLayout::AutoTableLayout):
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::calcMinMaxWidth):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::insertSpanCell):
        (WebCore::AutoTableLayout::layout):
        (WebCore::AutoTableLayout::calcPercentages):
        * rendering/AutoTableLayout.h: Added.
        (WebCore::AutoTableLayout::totalPercent):
        (WebCore::AutoTableLayout::Layout::Layout):
        * rendering/FixedTableLayout.cpp: Added.
        (WebCore::FixedTableLayout::FixedTableLayout):
        (WebCore::FixedTableLayout::calcWidthArray):
        (WebCore::FixedTableLayout::calcMinMaxWidth):
        (WebCore::FixedTableLayout::layout):
        * rendering/FixedTableLayout.h: Added.
        * rendering/RenderTable.cpp:
        * rendering/TableLayout.h: Added.
        (WebCore::TableLayout::TableLayout):
        * rendering/table_layout.cpp: Removed.
        * rendering/table_layout.h: Removed.

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

        Bug 8877.  Change form controls and the bridge entry points from the
        Safari UI to use Font instead of FontData.

        Reviewed by mjs

        * bridge/mac/WebCoreStringTruncator.mm:
        (stringWidth):
        (truncateString):
        (+[WebCoreStringTruncator widthOfString:font:]):
        (+[WebCoreStringTruncator clear]):
        * kwq/KWQComboBox.mm:
        (QComboBox::sizeHint):
        * kwq/KWQLineEdit.mm:
        (QLineEdit::sizeForCharacterWidth):
        * kwq/KWQListBox.mm:
        (itemTextRenderer):
        (groupLabelTextRenderer):
        (QListBox::sizeForNumberOfLines):
        (QListBox::clearCachedTextRenderers):
        (-[KWQTableView drawRow:clipRect:]):
        * platform/Font.cpp:
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        * platform/Font.h:
        (WebCore::TextStyle::disableRoundingHacks):
        (WebCore::TextStyle::setRTL):
        * platform/FontData.h:
        * platform/FontFallbackList.h:
        * platform/FontPlatformData.h:
        (WebCore::FontPlatformData::syntheticOblique):
        * platform/Pen.h:
        * platform/mac/FontData.mm:
        (WebCore::FontData::smallCapsFontData):
        (WebCore::findSubstituteRenderer):
        * platform/mac/FontMac.mm:
        (WebCore::FontFallbackList::setPlatformFont):
        (WebCore::m_wordSpacing):
        (WebCore::Font::drawComplexText):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):
        (WebCoreTextFloatWidth):
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawText):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::positionForOffset):

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

        Reviewed by kevin.

        Move render_button to RenderButton.
        Various small style cleanup.

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLButtonElement.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLGenericFormElement.cpp:
        * html/HTMLInputElement.cpp:
        * platform/mac/WebCoreTextArea.mm:
        * rendering/RenderApplet.h:
        * rendering/RenderBox.cpp:
        * rendering/RenderButton.cpp: Added.
        (WebCore::RenderButton::RenderButton):
        (WebCore::RenderButton::addChild):
        (WebCore::RenderButton::removeChild):
        * rendering/RenderButton.h: Added.
        * rendering/RenderEmptyApplet.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderTreeAsText.cpp:
        * rendering/render_button.cpp: Removed.
        * rendering/render_button.h: Removed.
        * rendering/table_layout.cpp:
        (WebCore::FixedTableLayout::FixedTableLayout):
        (WebCore::FixedTableLayout::calcWidthArray):
        (WebCore::FixedTableLayout::calcMinMaxWidth):
        (WebCore::FixedTableLayout::layout):
        (WebCore::AutoTableLayout::AutoTableLayout):
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::AutoTableLayout::calcMinMaxWidth):
        (WebCore::AutoTableLayout::calcEffectiveWidth):
        (WebCore::AutoTableLayout::insertSpanCell):
        (WebCore::AutoTableLayout::layout):
        * rendering/table_layout.h:
        (WebCore::TableLayout::TableLayout):
        (WebCore::AutoTableLayout::totalPercent):
        (WebCore::AutoTableLayout::Layout::Layout):

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

        Reviewed by mjs.

        Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file).
        http://bugs.webkit.org/show_bug.cgi?id=8878

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
        (KJS::JSHTMLDocument::namedItemGetter):
        (KJS::JSHTMLDocument::getValueProperty):
        (KJS::JSHTMLDocument::getOwnPropertySlot):
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::formIndexGetter):
        (KJS::JSHTMLElement::formNameGetter):
        (KJS::JSHTMLElement::selectIndexGetter):
        (KJS::JSHTMLElement::framesetNameGetter):
        (KJS::JSHTMLElement::runtimeObjectGetter):
        (KJS::JSHTMLElement::runtimeObjectPropertyGetter):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        (KJS::JSHTMLElement::implementsCall):
        (KJS::JSHTMLElement::callAsFunction):
        (KJS::JSHTMLElement::getValueProperty):
        (KJS::JSHTMLElement::toString):
        (KJS::getForm):
        (KJS::JSHTMLElement::pushEventHandlerScope):
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::put):
        (KJS::JSHTMLElement::selectSetter):
        (KJS::JSHTMLElement::putValueProperty):
        (KJS::toHTMLElement):
        (KJS::toHTMLTableCaptionElement):
        (KJS::toHTMLTableSectionElement):
        (KJS::JSHTMLCollection::lengthGetter):
        (KJS::JSHTMLCollection::indexGetter):
        (KJS::JSHTMLCollection::nameGetter):
        (KJS::JSHTMLCollection::getOwnPropertySlot):
        (KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::JSHTMLSelectCollection::selectedIndexGetter):
        (KJS::JSHTMLSelectCollection::put):
        (KJS::OptionConstructorImp::construct):
        (KJS::getSelectHTMLCollection):
        * bindings/objc/DOMHTML.mm:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createFrame):
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge copyRenderNode:copier:]):
        * dom/Document.cpp:
        (WebCore::widgetForNode):
        * html/HTMLBodyElement.cpp: Added.
        (WebCore::HTMLBodyElement::HTMLBodyElement):
        (WebCore::HTMLBodyElement::parseMappedAttribute):
        * html/HTMLBodyElement.h: Added.
        * html/HTMLDocument.cpp:
        * html/HTMLElementFactory.cpp:
        * html/HTMLEmbedElement.cpp:
        * html/HTMLFrameElement.cpp: Added.
        (WebCore::HTMLFrameElement::isURLAllowed):
        (WebCore::HTMLFrameElement::parseMappedAttribute):
        (WebCore::HTMLFrameElement::setLocation):
        * html/HTMLFrameElement.h: Added.
        * html/HTMLFrameSetElement.cpp: Added.
        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
        (WebCore::HTMLFrameSetElement::attach):
        (WebCore::HTMLFrameSetElement::defaultEventHandler):
        (WebCore::HTMLFrameSetElement::recalcStyle):
        * html/HTMLFrameSetElement.h: Added.
        * html/HTMLHeadElement.cpp: Added.
        (WebCore::HTMLHeadElement::HTMLHeadElement):
        * html/HTMLHeadElement.h: Added.
        * html/HTMLHtmlElement.cpp: Added.
        (WebCore::HTMLHtmlElement::HTMLHtmlElement):
        * html/HTMLHtmlElement.h: Added.
        * html/HTMLIFrameElement.cpp: Added.
        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
        * html/HTMLIFrameElement.h: Added.
        * html/HTMLObjectElement.cpp:
        * html/HTMLParser.cpp:
        * html/html_baseimpl.cpp: Removed.
        * html/html_baseimpl.h: Removed.
        * kwq/WebCoreAXObject.mm:
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        (WebCore::Frame::applyEditingStyleToBodyElement):
        (WebCore::Frame::removeEditingStyleFromBodyElement):
        (WebCore::Frame::applyEditingStyleToElement):
        (WebCore::Frame::removeEditingStyleFromElement):
        (WebCore::Frame::selectionRect):
        (WebCore::Frame::isFrameSet):
        (WebCore::scanForForm):
        (WebCore::Frame::currentForm):
        (WebCore::Frame::nodeInfoAtPoint):
        (WebCore::Frame::adjustPageHeight):
        (WebCore::Frame::frameForWidget):
        (WebCore::Frame::forceLayoutWithPageWidthRange):
        (WebCore::Frame::passWidgetMouseDownEventToWidget):
        * page/FrameView.cpp:
        * rendering/RenderFrame.cpp: Added.
        (WebCore::RenderFrame::viewCleared):
        * rendering/RenderFrame.h: Added.
        * rendering/RenderFrameSet.cpp: Added.
        (WebCore::RenderFrameSet::RenderFrameSet):
        (WebCore::RenderFrameSet::~RenderFrameSet):
        (WebCore::RenderFrameSet::layout):
        (WebCore::RenderFrameSet::positionFrames):
        (WebCore::RenderFrameSet::userResize):
        (WebCore::RenderFrameSet::canResize):
        (WebCore::RenderFrameSet::dump):
        * rendering/RenderFrameSet.h: Added.
        * rendering/RenderImage.h:
        * rendering/RenderPart.cpp: Added.
        (WebCore::RenderPart::RenderPart):
        * rendering/RenderPart.h: Added.
        * rendering/RenderPartObject.cpp: Added.
        (WebCore::isURLAllowed):
        (WebCore::RenderPartObject::updateWidget):
        (WebCore::RenderPartObject::viewCleared):
        * rendering/RenderPartObject.h: Added.
        * rendering/RenderReplaced.cpp: Added.
        (WebCore::RenderReplaced::selectionColor):
        * rendering/RenderReplaced.h: Added.
        * rendering/RenderWidget.cpp: Added.
        (WebCore::RenderWidget::deleteWidget):
        * rendering/RenderWidget.h: Added.
        * rendering/render_form.h:
        * rendering/render_frames.cpp: Removed.
        * rendering/render_frames.h: Removed.
        * rendering/render_replaced.cpp: Removed.
        * rendering/render_replaced.h: Removed.

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

        Reviewed by beth.

        Split html_headimpl.* into separate files (one per class)
        http://bugs.webkit.org/show_bug.cgi?id=8875

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_css.cpp:
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::headGetter):
        (KJS::JSHTMLElement::linkGetter):
        * bindings/objc/DOMCSS.mm:
        (+[DOMCounter _counterWith:]):
        (-[DOMCounter finalize]):
        (-[DOMCounter _DOMStyleSheet]):
        (-[DOMStyleSheet _initWithStyleSheet:]):
        (-[DOMStyleSheetList dealloc]):
        (-[DOMStyleSheetList finalize]):
        (-[DOMStyleSheetList _styleSheetList]):
        (-[DOMStyleSheetList _initWithStyleSheetList:]):
        (-[DOMCSSStyleSheet _CSSStyleSheet]):
        (-[DOMMediaList dealloc]):
        (-[DOMMediaList finalize]):
        (-[DOMMediaList _mediaList]):
        (-[DOMMediaList _initWithMediaList:]):
        (-[DOMCSSRuleList dealloc]):
        (-[DOMCSSRuleList finalize]):
        (-[DOMCSSRuleList _ruleList]):
        (-[DOMCSSRuleList _initWithRuleList:]):
        (-[DOMCSSRule dealloc]):
        (-[DOMCSSRule finalize]):
        (-[DOMCSSRule _rule]):
        (-[DOMCSSRule _initWithRule:]):
        (-[DOMCSSStyleRule _styleRule]):
        (-[DOMCSSMediaRule _mediaRule]):
        (-[DOMCSSFontFaceRule _fontFaceRule]):
        (-[DOMCSSPageRule _pageRule]):
        (-[DOMCSSImportRule _importRule]):
        (-[DOMCSSCharsetRule _importRule]):
        (-[DOMCSSStyleDeclaration dealloc]):
        (-[DOMCSSStyleDeclaration finalize]):
        (-[DOMCSSStyleDeclaration _initWithStyleDeclaration:]):
        (-[DOMCSSStyleDeclaration _styleDeclaration]):
        (-[DOMCSSValue dealloc]):
        (-[DOMCSSValue finalize]):
        (-[DOMCSSValue _value]):
        (-[DOMCSSValue _initWithValue:]):
        (-[DOMCSSPrimitiveValue _primitiveValue]):
        (-[DOMCSSValueList _valueList]):
        (getWrapperForRGB):
        (setWrapperForRGB):
        (removeWrapperForRGB):
        (-[DOMRGBColor _initWithRGB:]):
        (-[DOMRect dealloc]):
        (-[DOMRect finalize]):
        (-[DOMRect _rect]):
        (-[DOMRect _initWithRect:]):
        (-[DOMCounter dealloc]):
        (-[DOMCounter _counter]):
        (-[DOMCounter _initWithCounter:]):
        (-[DOMObject sheet]):
        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLCollection dealloc]):
        (-[DOMHTMLCollection finalize]):
        (-[DOMHTMLCollection _collection]):
        (-[DOMHTMLCollection _initWithCollection:]):
        (-[DOMHTMLOptionsCollection dealloc]):
        (-[DOMHTMLOptionsCollection finalize]):
        (-[DOMHTMLOptionsCollection _initWithOptionsCollection:]):
        (-[DOMHTMLOptionsCollection _optionsCollection]):
        (+[DOMHTMLElement _elementWith:]):
        (-[DOMHTMLElement _HTMLElement]):
        (-[DOMHTMLDocument _HTMLDocument]):
        (-[DOMHTMLHtmlElement _HTMLHtmlElement]):
        (-[DOMHTMLHeadElement _headElement]):
        (-[DOMHTMLLinkElement _linkElement]):
        (-[DOMHTMLTitleElement _titleElement]):
        (-[DOMHTMLMetaElement _metaElement]):
        (-[DOMHTMLBaseElement _baseElement]):
        (-[DOMHTMLStyleElement _styleElement]):
        (-[DOMHTMLBodyElement _bodyElement]):
        (-[DOMHTMLFormElement _formElement]):
        (+[DOMHTMLFormElement _formElementWith:]):
        (-[DOMHTMLIsIndexElement _isIndexElement]):
        (-[DOMHTMLSelectElement _selectElement]):
        (-[DOMHTMLOptGroupElement _optGroupElement]):
        (-[DOMHTMLOptionElement _optionElement]):
        (-[DOMHTMLInputElement _inputElement]):
        (-[DOMHTMLTextAreaElement _textAreaElement]):
        (-[DOMHTMLButtonElement _buttonElement]):
        (-[DOMHTMLLabelElement _labelElement]):
        (-[DOMHTMLLabelElement form]):
        (-[DOMHTMLFieldSetElement _fieldSetElement]):
        (-[DOMHTMLLegendElement _legendElement]):
        (-[DOMHTMLUListElement _uListElement]):
        (-[DOMHTMLOListElement _oListElement]):
        (-[DOMHTMLDListElement _dListElement]):
        (-[DOMHTMLDirectoryElement _directoryListElement]):
        (-[DOMHTMLMenuElement _menuListElement]):
        (-[DOMHTMLLIElement _liElement]):
        (-[DOMHTMLQuoteElement _quoteElement]):
        (-[DOMHTMLDivElement _divElement]):
        (-[DOMHTMLParagraphElement _paragraphElement]):
        (-[DOMHTMLHeadingElement _headingElement]):
        (-[DOMHTMLPreElement _preElement]):
        (-[DOMHTMLBRElement _BRElement]):
        (-[DOMHTMLBaseFontElement _baseFontElement]):
        (-[DOMHTMLFontElement _fontElement]):
        (-[DOMHTMLHRElement _HRElement]):
        (-[DOMHTMLModElement _modElement]):
        (-[DOMHTMLAnchorElement _anchorElement]):
        (-[DOMHTMLImageElement _imageElement]):
        (-[DOMHTMLObjectElement _objectElement]):
        (-[DOMHTMLParamElement _paramElement]):
        (-[DOMHTMLMapElement _mapElement]):
        (-[DOMHTMLAreaElement _areaElement]):
        (-[DOMHTMLScriptElement _scriptElement]):
        (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
        (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
        (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
        (-[DOMHTMLTableSectionElement _tableSectionElement]):
        (-[DOMHTMLTableElement createTHead]):
        (-[DOMHTMLTableElement createTFoot]):
        (-[DOMHTMLTableElement createCaption]):
        (-[DOMHTMLTableElement insertRow:]):
        (+[DOMHTMLTableElement _tableElementWith:]):
        (-[DOMHTMLTableElement _tableElement]):
        (-[DOMHTMLTableColElement _tableColElement]):
        (-[DOMHTMLTableRowElement _tableRowElement]):
        (-[DOMHTMLTableRowElement insertCell:]):
        (+[DOMHTMLTableCellElement _tableCellElementWith:]):
        (-[DOMHTMLTableCellElement _tableCellElement]):
        (-[DOMHTMLFrameSetElement _frameSetElement]):
        (-[DOMHTMLFrameElement _frameElement]):
        (-[DOMHTMLIFrameElement _IFrameElement]):
        (-[DOMHTMLEmbedElement _embedElement]):
        (viewForElement):
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::searchForLabelsAboveCell):
        (WebCore::FrameMac::searchForLabelsBeforeElement):
        (WebCore::FrameMac::createFrame):
        (WebCore::FrameMac::passMouseDownEventToWidget):
        (WebCore::FrameMac::passSubframeEventToSubframe):
        (WebCore::FrameMac::passWheelEventToChildWidget):
        (WebCore::FrameMac::fileWrapperForElement):
        (WebCore::listParent):
        (WebCore::FrameMac::attributedString):
        (WebCore::FrameMac::shouldBeginEditing):
        (WebCore::FrameMac::shouldEndEditing):
        (WebCore::FrameMac::setMarkedTextRange):
        * dom/Document.cpp:
        * dom/xml_tokenizer.cpp:
        * html/HTMLBaseElement.cpp: Added.
        (WebCore::HTMLBaseElement::removedFromDocument):
        (WebCore::HTMLBaseElement::process):
        * html/HTMLBaseElement.h: Added.
        * html/HTMLDocument.cpp:
        * html/HTMLElementFactory.cpp:
        * html/HTMLLinkElement.cpp: Added.
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::process):
        * html/HTMLLinkElement.h: Added.
        * html/HTMLMetaElement.cpp: Added.
        (WebCore::HTMLMetaElement::HTMLMetaElement):
        (WebCore::HTMLMetaElement::parseMappedAttribute):
        (WebCore::HTMLMetaElement::process):
        (WebCore::HTMLMetaElement::setContent):
        (WebCore::HTMLMetaElement::setHttpEquiv):
        (WebCore::HTMLMetaElement::setName):
        * html/HTMLMetaElement.h: Added.
        * html/HTMLParser.cpp:
        * html/HTMLScriptElement.cpp: Added.
        (WebCore::HTMLScriptElement::HTMLScriptElement):
        (WebCore::HTMLScriptElement::parseMappedAttribute):
        (WebCore::HTMLScriptElement::evaluateScript):
        * html/HTMLScriptElement.h: Added.
        * html/HTMLStyleElement.cpp: Added.
        (WebCore::HTMLStyleElement::HTMLStyleElement):
        * html/HTMLStyleElement.h: Added.
        * html/HTMLTitleElement.cpp: Added.
        (WebCore::HTMLTitleElement::HTMLTitleElement):
        (WebCore::HTMLTitleElement::text):
        (WebCore::HTMLTitleElement::setText):
        * html/HTMLTitleElement.h: Added.
        * html/html_headimpl.cpp: Removed.
        * html/html_headimpl.h: Removed.
        * loader/CachedCSSStyleSheet.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::updateFromElement):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::updateFromElement):

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

        Reviewed by beth.

        Split out html_tableimpl.* into multiple files (one per class)
        http://bugs.webkit.org/show_bug.cgi?id=8873

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLTableCaptionElement.cpp: Added.
        (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
        * html/HTMLTableCaptionElement.h: Added.
        * html/HTMLTableCellElement.cpp: Added.
        (WebCore::HTMLTableCellElement::HTMLTableCellElement):
        * html/HTMLTableCellElement.h: Added.
        * html/HTMLTableColElement.cpp: Added.
        (WebCore::HTMLTableColElement::HTMLTableColElement):
        (WebCore::HTMLTableColElement::endTagRequirement):
        (WebCore::HTMLTableColElement::tagPriority):
        (WebCore::HTMLTableColElement::checkDTD):
        * html/HTMLTableColElement.h: Added.
        * html/HTMLTableElement.cpp: Added.
        (WebCore::HTMLTableElement::HTMLTableElement):
        (WebCore::HTMLTableElement::setCaption):
        (WebCore::HTMLTableElement::setTHead):
        (WebCore::HTMLTableElement::setTFoot):
        (WebCore::HTMLTableElement::setTBody):
        (WebCore::HTMLTableElement::createTHead):
        (WebCore::HTMLTableElement::deleteTHead):
        (WebCore::HTMLTableElement::createTFoot):
        (WebCore::HTMLTableElement::deleteTFoot):
        (WebCore::HTMLTableElement::createCaption):
        (WebCore::HTMLTableElement::deleteCaption):
        (WebCore::HTMLTableElement::insertRow):
        (WebCore::HTMLTableElement::deleteRow):
        (WebCore::HTMLTableElement::addChild):
        (WebCore::HTMLTableElement::parseMappedAttribute):
        (WebCore::HTMLTableElement::attach):
        * html/HTMLTableElement.h: Added.
        * html/HTMLTablePartElement.cpp: Added.
        (WebCore::HTMLTablePartElement::parseMappedAttribute):
        * html/HTMLTablePartElement.h: Added.
        * html/HTMLTableRowElement.cpp: Added.
        (WebCore::HTMLTableRowElement::HTMLTableRowElement):
        (WebCore::HTMLTableRowElement::rowIndex):
        * html/HTMLTableRowElement.h: Added.
        * html/HTMLTableSectionElement.cpp: Added.
        (WebCore::HTMLTableSectionElement::insertRow):
        * html/HTMLTableSectionElement.h: Added.
        * html/html_tableimpl.cpp: Removed.
        * html/html_tableimpl.h: Removed.

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

        Reviewed by mjs & adele.

        Split html_objectimpl.* into multiple files (one per class)
        http://bugs.webkit.org/show_bug.cgi?id=8836

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNamedNodeMap::lengthGetter):
        (KJS::DOMNamedNodeMap::indexGetter):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::getRuntimeObject):
        * bindings/js/kjs_html.cpp:
        * html/HTMLAppletElement.cpp: Added.
        * html/HTMLAppletElement.h: Added.
        * html/HTMLElementFactory.cpp:
        * html/HTMLEmbedElement.cpp: Added.
        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
        (WebCore::HTMLEmbedElement::getInstance):
        (WebCore::HTMLEmbedElement::parseMappedAttribute):
        * html/HTMLEmbedElement.h: Added.
        * html/HTMLNameCollection.cpp:
        (WebCore::HTMLNameCollection::traverseNextItem):
        * html/HTMLObjectElement.cpp: Added.
        (WebCore::HTMLObjectElement::getInstance):
        (WebCore::HTMLObjectElement::form):
        (WebCore::HTMLObjectElement::parseMappedAttribute):
        (WebCore::HTMLObjectElement::updateDocNamedItem):
        * html/HTMLObjectElement.h: Added.
        * html/HTMLParamElement.cpp: Added.
        * html/HTMLParamElement.h: Added.
        * html/HTMLParser.cpp:
        * html/HTMLPlugInElement.cpp: Added.
        * html/HTMLPlugInElement.h: Added.
        * html/html_objectimpl.cpp: Removed.
        * html/html_objectimpl.h: Removed.
        * page/Frame.cpp:
        (WebCore::Frame::handleFallbackContent):
        * rendering/RenderApplet.cpp:
        * rendering/render_frames.cpp:
        (WebCore::RenderPartObject::updateWidget):

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8521
          crash bringing up context menu with CSS generated content

        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::sendContextMenuEvent):
        Added a null check.

        * manual-tests/context-click-generated-content.html: Added.

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

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8715
          REGRESSION: Caret to the right of an image is a big black rectangle.

        * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect): Move caret to the
        right side of the rect when the offset is non-zero, rather than expanding it.

        * manual-tests/caret-image.html: Added.

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

        Reviewed and landed by Anders.
        
        - fix http://bugs.webkit.org/show_bug.cgi?id=8866
          REGRESSION: Incorrect caret position in RTL text

        Test: fast/text/international/rtl-caret.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::positionForOffset): Added missing m_toAdd argument.

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

        Bug 8864. Lift WebCoreTextStyle up into the API (as TextStyle).

        Reviewed by mjs

        * platform/Font.cpp:
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        (WebCore::Font::width):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::floatWidthForSimpleText):
        * platform/Font.h:
        (WebCore::TextStyle::m_attemptFontSubstitution):
        (WebCore::TextStyle::tabWidth):
        (WebCore::TextStyle::xPos):
        (WebCore::TextStyle::padding):
        (WebCore::TextStyle::rtl):
        (WebCore::TextStyle::ltr):
        (WebCore::TextStyle::directionalOverride):
        (WebCore::TextStyle::applyRunRounding):
        (WebCore::TextStyle::applyWordRounding):
        (WebCore::TextStyle::attemptFontSubstitution):
        (WebCore::Font::operator==):
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText):
        (WebCore::GraphicsContext::drawHighlightForText):
        * platform/GraphicsContext.h:
        * platform/mac/FontMac.mm:
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPosition):
        * 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):
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::calcMinMaxWidth):
        * rendering/render_line.cpp:
        (WebCore::EllipsisBox::paint):

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

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=8770
          XMLHttpRequest should strip CR/LF characters from the URL

        Test: fast/loader/url-strip-cr-lf-tab.html

        * platform/KURL.cpp:
        (appendEscapingBadChars): Strip CR, LF and TAB, as Firefox and IE do.

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

        Remove the misspelling drawing code from Font and FontData.  Implement it
        natively in GraphicContext instead.

        Reviewed by maciej

        * platform/FontData.h:
        * platform/GraphicsContext.cpp:
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForMisspelling):
        * platform/mac/FontData.mm:
        * platform/mac/FontMac.mm:
        * platform/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForMisspelling):
        * platform/win/FontWin.cpp:
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintSpellingMarker):

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

        Remove drawLineForText from the Font API.  Implement it natively in
        the two GraphicsContexts (CG and Cairo) instead.

        Reviewed by maciej

        * platform/Font.h:
        * platform/FontData.h:
        * platform/GraphicsContext.cpp:
        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForText):
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawLineForText):
        * platform/mac/FontData.mm:
        * platform/mac/FontMac.mm:
        * platform/win/FontWin.cpp:
        (WebCore::Font::drawLineForText):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDecoration):
        (WebCore::InlineTextBox::paintMarkedTextUnderline):
        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::paintDecorations):

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

        Reviewed by eric.

        Fix last fix.

        * dom/QualifiedName.h:
        (WebCore::QualifiedName::QualifiedName):

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

        Reviewed by eric.

        Fix crash on static constructors builds at exit due to qualified name default constructor not
        initializing m_impl.

        * dom/QualifiedName.cpp:
        (WebCore::QualifiedName::deref):

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

        Reviewed by hyatt

        - fix http://bugs.webkit.org/show_bug.cgi?id=8851
          REGRESSION: RTL text shifted to the right

        Already covered by several tests in fast/text

        * platform/Font.h:
        (WebCore::TextRun::TextRun): Added length parameter.
        * rendering/InlineTextBox.cpp: Pass the length to the TextRun constructor.
        (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): Pass length and from instead of from and to
        to the TextRun constructor.
        (WebCore::RenderText::width): Ditto.

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

        Fix a regression from the TextRun landing.  Delete the characters in
        the adjustedRun, not the ones in the original run!

        Reviewed by beth

        * platform/mac/FontMac.mm:
        (WebCore::Font::drawComplexText):

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

        Reviewed by thatcher, levi

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Removed a use fragment.hasMoreThanOneBlock to decide if the paragraph containing the
        position pasted into must be split to avoid block nesting.  We now split unnecessarily
        some times, but the end merge cleans up for us.

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

        This patch makes drawHighlightForText a completely cross-platform method
        implemented by the GraphicsContext.  The platform-specific implementations
        of the method in the Font class have been eliminated.

        Reviewed by andersca

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

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

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

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

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

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

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

        Reviewed by Adele.

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

        Test: fast/forms/double-focus.html

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

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

        Reviewed by Tim Hatcher (earlier version).

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

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

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

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=7838
        Add support for mozilla-style node constructors as properties of the window object
        
        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        Add new generated files.
        
        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSWrapper):
        Specify the KJS namespace for JSHTMLElmement.
                
        * bindings/js/kjs_dom.cpp:
        (KJS::toJS):
        Create a WebCore::JSHTMLDocument for document nodes. Also, create
        JSDocumentFragments for document fragments (instead of plain node objects).
        
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
        (KJS::JSHTMLDocument::JSHTMLDocument):
        (KJS::JSHTMLDocument::getOwnPropertySlot):
        Add a prototype for JSHTMLDocument and move all functions there.
        
        (KJS::JSHTMLElement::JSHTMLElement):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.
        
        (KJS::JSHTMLElement::getValueProperty):
        (KJS::JSHTMLElement::putValueProperty):
        Remove title setter and getter. Those are autogenerated now.
        
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.
        
        * bindings/scripts/CodeGeneratorJS.pm:
        Always generate a prototype object, regardless of whether the object has any functions or
        constants.
        
        Use the type of generator attributes to determine what constructor to use. This is useful for
        the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.
        
        * dom/DocumentFragment.idl: Added.        
        * html/HTMLDocument.idl: Added.
        * html/HTMLElement.idl: Added.
        
        * page/DOMWindow.idl:
        Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
        an alias for the Document constructor.
        
2006-05-11  David Hyatt  <hyatt@apple.com>

        Bug 8845.  Define a TextRun (similar to the old WebCoreTextRun) and
        make it the new API for Font and GraphicsContext when drawing/measuring
        text.

        Reviewed by andersca

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

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

        Reviewed by darin

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

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

        Rename isSpace to treatAsSpace.  Move it and the rounding hack function into
        Font and make them static methods (inlined in the header).  Make the rounding
        hack character table a static member as well.  Remove the redundant space/rounding
        functions from FontData.mm.

        Reviewed by darin

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

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

        * WebCore: Removed an extra WebCore subtree that somehow got checked in.

2006-05-10  David Carson <dacarson@gmail.com>

        - Fix for bug 8833. Removed inline keyword from functions declared
        in .mm and .cpp files. inline function code needs to reside in the
        header file for the linker to find the code. 
        http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7

        Reviewed by Darin, landed by Timothy.

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

2006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Anders.

        - fix http://bugs.webkit.org/show_bug.cgi?id=8830
          REGRESSION: Words render on top of each other when fallback font is used

        Already covered by several pixel tests in fast/text

        * platform/Font.cpp:
        (WebCore::Font::drawSimpleText):

2006-05-10  David Hyatt  <hyatt@apple.com>

        Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
        drawing and measuring of runs up into the Font class.  The fast code
        path is in Font.cpp and is designed to be mostly cross-platform.  The
        slow code path is in FontMac.cpp and is Mac-specific.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Font.cpp:
        (WebCore::isSpace):
        (WebCore::):
        (WebCore::isRoundingHackCharacter):
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        (WebCore::WidthIterator::normalizeVoicingMarks):
        (WebCore::Font::primaryFont):
        (WebCore::Font::setAlwaysUseComplexPath):
        (WebCore::Font::canUseGlyphCache):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::floatWidthForSimpleText):
        * platform/Font.h:
        * platform/FontData.h:
        (WebCore::FontData::platformData):
        * platform/GlyphBuffer.h: Added.
        (WebCore::GlyphBuffer::GlyphBuffer):
        (WebCore::GlyphBuffer::isEmpty):
        (WebCore::GlyphBuffer::size):
        (WebCore::GlyphBuffer::glyphs):
        (WebCore::GlyphBuffer::advances):
        (WebCore::GlyphBuffer::fontDataAt):
        (WebCore::GlyphBuffer::swap):
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/mac/FontData.mm:
        (WebCore::isSpace):
        (WebCore::isRoundingHackCharacter):
        (WebCore::FontData::widthForGlyph):
        (WebCore::m_ATSUMirrors):
        (WebCore::FontData::xHeight):
        (WebCore::FontData::smallCapsFontData):
        (WebCore::findSubstituteFont):
        (WebCore::rendererForAlternateFont):
        (WebCore::findSubstituteRenderer):
        (WebCore::FontData::findSubstituteFontData):
        (WebCore::computeWidthForSpace):
        (WebCore::FontData::updateGlyphMapEntry):
        (WebCore::extendGlyphMap):
        (WebCore::extendWidthMap):
        (WebCore::createATSULayoutParameters):
        (WebCore::FontData::glyphForCharacter):
        (WebCore::advanceWidthIterator):
        (WebCore::shouldUseATSU):
        * platform/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::m_padPerSpace):
        (WebCore::addDirectionalOverride):
        (WebCore::initializeATSUStyle):
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::disposeATSULayoutParameters):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::drawGlyphs):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreSetAlwaysUseATSU):

2006-05-10  Darin Adler  <darin@apple.com>

        - another try at fixing the Windows build

        * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
        instead of unicode().

== Rolled over to ChangeLog-2006-05-10 ==
