diff -r 000000000000 -r dd21522fd290 webengine/osswebengine/WebCore/ChangeLog-2006-12-31 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/osswebengine/WebCore/ChangeLog-2006-12-31 Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,56037 @@ +2006-12-31 Eric Seidel + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Darin. + + The marker is used for start, mid and end. + + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGValue): + +2006-12-30 Rob Buis + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Brian Dash... err... Mark Rowe. + + More cleanup in preparation for fixing + 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 + + 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 + + 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 + + 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 + + Build fix: SVGImage only works on Mac. + + * loader/CachedImage.cpp: + (WebCore::CachedImage::createImage): + +2006-12-29 Sam Weinig + + 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 + + Reviewed by ap. + + * platform/graphics/svg/SVGImage.cpp: + (WebCore::SVGImage::size): explicitly cast to integers to prevent compile error + +2006-12-29 George Staikos + + 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 + + Build fixed, not reviewed. Noticed by Daniel Molkentin. + + * platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include. + +2006-12-29 Eric Seidel + + Reviewed by olliej. + + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyCromeClient::scaleFactor): build fix, use 1.f instead of 1f + +2006-12-29 Eric Seidel + + 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 + + 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 + + Reviewed by Olliej. + + * loader/CachedImage.cpp: build for Qt + +2006-12-28 Daniel Molkentin + + Reviewed by Eric Seidel + + - Fix font sizes + - Make Qt plattform 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 + + Reviewed by Brady Eidson. + + Some cleanup in preparation for fixing + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 from r13702). + +2006-12-28 Mitz Pettel + + 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 + + * 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 + + Build fix, plus a few "double &" => "double&" changes. + + * ksvg2/svg/SVGParserUtilities.cpp: + (WebCore::parseNumber): + (WebCore::SVGPathParser::calculateArc): + +2006-12-27 Oliver Hunt + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Build fix, not reviewed. + + Accidently commited an older revision of this file. + + * platform/graphics/svg/SVGPaintServerPattern.h: + +2006-12-27 Nikolas Zimmermann + + 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 + + Reviewed by Eric Seidel. + + Fixed 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Adam Roben. + + Fixed 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 + + 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 + + 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 " + to a new Document structure. + + Add new testcase dynamic-svg-document-creation.svg. + + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): + +2006-12-25 Geoffrey Garen + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Alexey. + + Get rid of unused variable. + + * ksvg2/svg/SVGURIReference.cpp: + (WebCore::SVGURIReference::getTarget): + +2006-12-23 Alexey Proskuryakov + + 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 + + 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 + + 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 + + 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 + + Reviewed by Brady Eidson. + + Fixed 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Geoff. + + Fix for 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 + + Reviewed by Geoff. + + - Fix for 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 + + Reviewed by Brady Eidson. + + Fixed 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Adam's rubberstamp + + Accidentally left a logging channel on in my checkin + + * platform/Logging.cpp: + (WebCore::): + +2006-12-21 Nikolas Zimmermann + + 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 + + Reviewed by John Sullivan. + + 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 + + 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 + + Reviewed by Darin Adler. + + Fixed . 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 + + 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 + + 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 + + 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 + + Reviewed by Mark Rowe. + + 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 + + Reviewed by John Sullivan. + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Anders. + + - Fix for 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 + + Reviewed by Adele. + + + 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 + + Reviewed by Geoff. + + - + 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 + + 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 + + Reviewed by Hyatt. + + Fix for 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 + + 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 + + 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 + + Reviewed by hyatt + + + 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 + + Reviewed by Darin. + + 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 + + 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 + + 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 + + Build fix + + * platform/graphics/ImageBuffer.cpp: + +2006-12-19 Alexey Proskuryakov + + 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 + + Reviewed by Adam. + + * dom/Document.h: + * page/EventHandler.h: + Use correct forward declarations for HitTestRequest. + +2006-12-19 Nikolas Zimmermann + + 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 + + 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 . + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Beth Dakin. + + Fixed 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 + + Make sure a stroke style is set for list bullets. + + Reviewed by mitz + + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + +2006-12-18 Ada Chan + + 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 + + Reviewed by Adam. + + Fixed REGRESSION(r16081): Aspect eWFM: Unable to log in + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didExplicitOpen): + +2006-12-18 David Hyatt + + 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 + + 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 + + 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 + + Reviewed by Adele. + + - fix 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 + + Reviewed by Adele. + + Fix for 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 + + 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 Dex Deacon + + 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 Kirby White + + 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 + + Oops forgot a file. + + * editing/EditorDeleteAction.h: Added. + (WebCore::): + +2006-12-18 Alice Liu + + 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 + + Reviewed by Oliver. + + - Removed CG header include + + * platform/graphics/ImageSource.h: + +2006-12-18 John Sullivan + + Reviewed by Tim Hatcher + + - fixed 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 + + Leopard build fix. + + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::checkOrEnableIfNeeded): + +2006-12-17 Zack Rusin + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 . + + * 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=11189 + 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 + + 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 + + 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 + + One more... + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): + +2006-12-16 Adele Peterson + + Missed one instance of isNonWidgetTextField. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::doApply): + +2006-12-16 Hunter L. Williams + + Reviewed by Adele. + + Fix mouse wheel scrolling in and tags to include non-plugin + content when plugins are disabled + + Fixes + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::rendererIsNeeded): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::rendererIsNeeded): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::requestObject): + +2006-11-15 Adele Peterson + + Build fix. Another type problem that I don't see locally. + + * rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue): + +2006-11-15 Adele Peterson + + Reviewed by Adam. + + Adding MathExtras header. + + * rendering/RenderSlider.cpp: + +2006-11-15 Timothy Hatcher + + Reviewed by Harrison. + + 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 + + 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 + + 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 + & Adam Roben + + 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 + + Reviewed by Hyatt. + + - Fix for 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 + + Reviewed by Darin. + + 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 + + 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 + + Reviewed by Darin. + + 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 + + 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 + + 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 + + Build fix. + + * page/EventHandler.h: + +2006-11-14 Beth Dakin + + 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 + + Reviewed by Harrison. + + 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 + + Reviewed by Oliver. + + Build fix + + * bindings/scripts/CodeGenerator.pm: + +2006-11-14 Anders Carlsson + + 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 + + I must stop trying to force DWARF on the world. + + * WebCore.xcodeproj/project.pbxproj: + +2006-11-13 Justin Garcia + + Reviewed by harrison + + + 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
. + +2006-11-14 Anders Carlsson + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 RefPtrs 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 + + 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 + + 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 RefPtrs + (WebCore::formCreate): + (WebCore::formFinalize): + (WebCore::setHTTPBody): + (WebCore::httpBodyFromStream): + + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): + +2006-11-13 Justin Garcia + + Reviewed by harrison + + + 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 + + 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 + + Reviewed by Oliver + + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + Fix uninitialized variable. + + * rendering/RenderStyle.h: + +2006-11-11 Nikolas Zimmermann + + 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 + + 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 + + Reviewed by Maciej + + Fixed header guard + + * loader/FrameLoaderClient.h: + +2006-11-11 Darin Adler + + - 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 + + 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 + + Attempt to fix Qt build. + + * CMakeLists.txt: PathQt.cpp is in graphics/qt now. + +2006-11-11 Lars Naesbye Christensen + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by harrison + + + 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 + + Reviewed by Hyatt. + + Check for BHIDDEN in isVisible() also. + + * rendering/RenderStyle.h: + (WebCore::BorderValue::isVisible): + +2006-11-10 Timothy Hatcher + + Reviewed by Adam. + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Hyatt. + + Fix for 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 + + 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 + + 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 + + * rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef. + +2006-11-09 Alice Liu + + Reviewed by Beth Dakin. + + Fixed 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 + + - 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 + + 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 + + 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 + + Build fix. + + * rendering/RenderObject.h: + (WebCore::RenderObject::maxTopMargin): + (WebCore::RenderObject::maxBottomMargin): + +2006-11-08 Geoffrey Garen + + 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 + + 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 + + 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 + + Reviewed by Dave Harrison, Oliver, and Darin + (oh my! where was superkevin on this one?) + + "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 + + 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 + + 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 + + Build fix. + + * WebCore.xcodeproj/project.pbxproj: + Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase. + +2006-11-08 Timothy Hatcher + + Reviewed by Darin. + + Would like to get an array of bounding rects rather than just the union of them for a DOMRange + 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 + + 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 + + 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 + + - 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 + + 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 + + - another attempt to fix Qt build + + * loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h. + +2006-11-08 Darin Adler + + 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 + + Reviewed by Hyatt. + + Another go at fix for 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 + + - another attempt to fix Qt build + + * loader/icon/IconLoader.h: Added missing include. + +2006-11-06 Geoffrey Garen + + 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 + + - try to fix Qt build + + * CMakeLists.txt: Updated for some file changes. + * WebCoreSources.bkl: Ditto. + +2006-11-07 Darin Adler + + 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 + + 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 + + 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 + + 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 + + * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse): + Comment grammar fix. + +2006-11-07 Darin Adler + + Rolled out change for . + + 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 + + Reviewed by Brady. + + - fix 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 + + Reviewed by Darin. + + 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 + + Reviewed by Hyatt. + + Fix for 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 + + Reviewed by harrison + + + 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 + + Reviewed by Sarge + + - ASSERTION was a little overzealous. + Toned it down a bit. + + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::didFinishLoading): Toned down assertion + +2006-11-06 Krzysztof Kowalczyk + + 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 + + build fix. + + * WebCore.xcodeproj/project.pbxproj: + +2006-11-06 Geoffrey Garen + + 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 + + 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 + + Reviewed by Oliver + + Fixes 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 + + Reviewed by Dave Harrison + + + Added a critical null frameLoader() check + + * loader/mac/MainResourceLoaderMac.mm: + (WebCore::MainResourceLoader::loadNow): + +2006-11-06 David Harrison + + Reviewed by Darin. + + 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 + + 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 + + Reviewed by Maciej. + + Fix RTL text in SVG to have correct positioning + + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::placeBoxesHorizontally): + +2006-11-06 Alexey Proskuryakov + + 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 + + - 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 MorganL + + 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 + + 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 + + Fix build breaks + + * loader/DocumentLoader.h: + * platform/win/ScreenWin.cpp: + +2006-11-05 Darin Adler + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Don Gibson). + + 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 + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=11448 + ⟨ and ⟩ entities are mapped to the incorrect Unicode codepoint + + * html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters. + +2006-11-03 Mark Rowe + + 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 + + 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 + + Reviewed by Tim. + + Correct incorrect call to SetCursor + + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::userResize): + +2006-11-03 Adele Peterson + + 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 + + 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 + + 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 + + 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 + + Build fix. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::willSendRequest): + +2006-11-02 Geoffrey Garen + + 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 + + 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 + + Reviewed by Tim. + + Fixing compile. + + * platform/qt/LoaderFunctionsQt.cpp: + (WebCore::CachedResource::setPlatformResponse): Renamed from setResponse + +2006-11-01 Zack Rusin + + 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 + + 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 + + No review, suggested by Mitz. + + - fix a #if to be #ifdef + + * platform/graphics/svg/cg/SVGResourceImageCg.cpp: + +2006-11-03 Zack Rusin + + 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 + + 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 + + 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 + + Another build fix. + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + +2006-11-02 Anders Carlsson + + Build fix. + + * page/FramePrivate.h: + (WebCore::FramePrivate::FramePrivate): + +2006-11-02 Kevin Ollivier + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Mitz and Geoff. + + - Fix for: + REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105) + REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing) + 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 + + 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 + + Reviewed by darin + + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + * 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 + + Reviewed by Maciej + + - fixed 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 + + 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 + + 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 + + Reviewed by harrison + + + 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 + + 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 + + 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 + + Removed commented out variable from last checkin. + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + +2006-10-31 Brady Eidson + + Build fix (unused variable in release builds) + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + +2006-10-31 Adele Peterson + + 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 + + Forgot to check this in a minute ago. Oops!! Thanks Mitz! + + * rendering/HitTestRequest.h: Added. + (WebCore::HitTestRequest::HitTestRequest): + +2006-10-31 Beth Dakin + + 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 + + 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 + + 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 + + Reviewed by harrison + + + 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 + + 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 + + Reviewed by Adam. + + Build fix + + * platform/win/CookieJarWin.cpp: + (WebCore::cookies): + +2006-10-31 Nikolas Zimmermann + + 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 MorganL + + 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 + + Reviewed by Steve. + + Fix some incorrect forward declarations. + + * loader/FrameLoader.h: + * page/Frame.h: + +2006-10-31 Darin Adler + + * 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 + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds. + (WebCore::FrameMac::markMisspellings): Ditto. + +2006-10-31 John Sullivan + + * bridge/mac/FrameMac.mm: + (WebCore::FrameMac::advanceToNextMisspelling): + build fix: needed #ifndef BUILDING_ON_TIGER in one more place + +2006-10-30 John Sullivan + + Reviewed by Adam Roben + + - fixes 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: + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Rolling out the following change because this crash: + REGRESSION: Crash occurs at WebCore::Font::lineSpacing() when loading site (http://www.photoplusexpo.com/ppe/index.jsp) + + And this regression: + REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/ + + 2006-09-06 David Harrison + + Reviewed and tweaked by Tim H. + + 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 + + Reviewed by harrison + + + 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 + + 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 + + Reviewed by Hyatt. + + 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 + + - fix build + + * loader/ResourceLoader.h: Added header guard. + +2006-10-31 Darin Adler + + 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 + + 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 + + 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 + + Reviewed and landed by Anders. + + - fix Qt build + * platform/qt/FrameQtClient.cpp: ResourceLoaderClient -> + ResourceHandleClient + +2006-10-30 Darin Adler + + 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 + + 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 + + - 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 + + - 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 + + - 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + build fix. + + * platform/PlatformString.h: + (WebCore::String::operator NSString*): + +2006-10-29 Geoffrey Garen + + Rolled out accidental commit. + + * platform/AtomicString.h: + (WebCore::AtomicString::AtomicString): + (WebCore::AtomicString::operator NSString*): + +2006-10-29 Geoffrey Garen + + 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 + + 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 + + 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 + + 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 + + - build fix + + * platform/network/mac/ResourceHandleMac.mm: + +2006-10-29 Maciej Stachowiak + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + build fix + + * dom/Document.cpp: + (WebCore::Document::referrer): + +2006-10-27 Geoffrey Garen + + 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 + + Reviewed by Darin. + + 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 + + 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 + + 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 + + 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 + + Reviewed by harrison + + + 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"
"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 + + 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 + + Reviewed by Maciej, + + 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 + + - fix one error in the Qt build + + * platform/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + Updated. + +2006-10-27 Darin Adler + + Reviewed by Maciej. + + * WebCore.exp: Export more symbols needed by WebKit. + +2006-10-26 Geoffrey Garen + + 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 + + Reviewed by Brady + + - fixed 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 + + 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 + + Reviewed by Adam. + + 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 + + Build fix. + + * html/CanvasRenderingContext2D.cpp: + Include MathExtras.h + +2006-10-26 John Sullivan + + 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 + + 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 + + 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 + + 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 + + Reviewed by john + + + 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 + + Reviewed by Anders. + Fixes -- 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 + + 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 + + Reviewed by Adele. + + Fix: add "type-to-select" feature for list + boxes (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 + + 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 + + Reviewed by john + + + 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 + + Reviewed by Adele. + + Make popups a little more flexible. + + * platform/PopupMenu.h: + +2006-10-23 Sam Weinig + + Reviewed by Tim H. + + Cleanup CodeGeneratorJS.pm + + * bindings/scripts/CodeGeneratorJS.pm: + +2006-10-23 Adam Roben + + 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 + + - 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 + + 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 + + Rubber stamped by Anders. + + - marked files executable + + * ksvg2/scripts/csscssmakeprops: + * ksvg2/scripts/csscssmakevalues: + +2006-10-22 Maciej Stachowiak + + 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 + + Reviewed by Tim H. + + - Add DOMHTMLFormElementPrivate.h to the project. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOMPrivate.h: + +2006-10-22 Darin Adler + + - 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 + + - fix the Qt build + + * platform/qt/EditorClientQt.cpp: + (WebCore::EditorClientQt::shouldShowDeleteInterface): + * platform/qt/EditorClientQt.h: + * platform/qt/FrameQt.cpp: + +2006-10-21 Darin Adler + + 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 + + Reviewed by Anders. + + Popup tweaks. + + * platform/PopupMenu.h: + +2006-10-21 Darin Adler + + * editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable): + Oops, edited this before landing it and introduced a null-deref! This fixes it. + +2006-10-21 Darin Adler + + 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 + + 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 + + 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 + + Reviewed by Geoff. + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Hyatt. + + Fix some bad formatting. + + * css/cssstyleselector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): + +2006-10-20 Darin Adler + + Reviewed by John. + + - fixed 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 + + 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 + + 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 + + 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 + + - rolled out my loader change; caused world leak and possibly a plug-in crash + +2006-10-20 Anders Carlsson + + Reviewed by Tim H + + * loader/mac/LoaderFunctionsMac.mm: + Autorelease the header NSDictionary. + +2006-10-20 Anders Carlsson + + 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 + + Reviewed by Darin and Geoff. + + Remove debugging output. + * xml/xmlhttprequest.cpp: + (WebCore::XMLHttpRequest::send): + +2006-10-20 David Harrison + + Reviewed by John. + + 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 + + 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 + + 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 + + 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 + + Reviewed by Geoff. + + Fix compiler warnings + + * platform/ResourceLoaderClient.h: + +2006-10-20 Sam Weinig + + 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 + + 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 + + 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 + + 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 + + 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 + + Build fix + + * ksvg2/svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): + +2006-10-19 Steve Falkenburg + + 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 + + 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 + + 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 + + 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 + + Reviewed by Darin. + + Cleaning up Document::nextFocusNode and Document::previousFocusNode. + + * dom/Document.cpp: + (WebCore::Document::nextFocusNode): + (WebCore::Document::previousFocusNode): + +2006-10-19 Maciej Stachowiak + + 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 + + Reviewed by levi + + + 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 + + Rolling out the this change since it caused a bad regression: + REGRESSION: Incomplete repaint of text area when deleting (11277) + +2006-10-12 Adele Peterson + + Reviewed by Dave Harrison. + + - Fixed 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 + + 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 + + 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 + + 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 + + * 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 + + 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 + + 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 + + Reviewed by Geoff. + + - remove vestiges of KXMLCore name (former name of WTF). + + * config.h: + +2006-10-18 Geoffrey Garen + + 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 + + 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 + + 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 + + Reviewed by Darin. + + 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 + * 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 + + Reviewed by Adele. + + Fixed 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 + + Reviewed by Maciej. + + More Win32 buildfix. + + * bridge/win/FrameWin.h: + +2006-10-18 Sam Weinig + + 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 + + Reviewed by harrison + + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Prepare for the elimination of the RenderLayer for 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 + + 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 + + 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 + + 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 + + Reviewed by harrison + + + 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 + + Reviewed by harrison + + + 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 + + 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 + + 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 + + Reviewed by sullivan + + + 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 + + Reviewed by Adele. + + 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 + + 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 + + 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 + + Reviewed by harrison + + + 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 + + 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 s don't appear indented in the actual control. + +2006-10-16 Sam Weinig + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Geoff. + + REGRESSION: Can't from tab from last link on the page to URL address field + 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 + + 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 + + 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 + + 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 + + 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 + + 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 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 + + Reviewed by ggaren and harrison + + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Justin. + + 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 + + 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 + + Reviewed by Darin. + + fixed build failure + + * WebCore.xcodeproj/project.pbxproj: + * loader/mac/WebFrameLoader.mm: + +2006-10-13 Darin Adler + + 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 + + Reviewed by Maciej. + + - Fix for 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + WebCore part of fix for 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 + + Reviewed by Alice. + + - Fix for + 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 + + 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 + + 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. + (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 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 + + Reviewed by Dave Harrison. + + - Fixed 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Eric. + + 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 + + Reviewed by Eric. + + Fix Qt/Linux build. + + * CMakeLists.txt: + * platform/qt/FileChooserQt.cpp: + (WebCore::FileChooser::create): + +2006-10-12 Krzysztof Kowalczyk + + 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 + + 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 + + Reviewed by John. + + - some changes to prepare for converting more code to C++ + + * bridge/mac/WebCoreFrameBridge.h: Added import of 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 + + 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 + + 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 + + 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 + + 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 + + Fixing Windows for real this time. + + * platform/win/TemporaryLinkStubs.cpp: + (FileChooser::create): + +2006-10-11 Adam Roben + + Fix Windows build. + + * platform/win/TemporaryLinkStubs.cpp: + (FileChooser::create): + +2006-10-11 Antti Koivisto + + 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 + + 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 + + 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 + + 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 + + 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 + + rubber stamped by Anders. + + More buildbot bustage + + * kcanvas/SVGInlineFlowBox.cpp: + (WebCore::placeBoxesVerticallyWithAbsBaseline): + +2006-10-10 Oliver Hunt + + 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 + + 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 + + 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 + + Reviewed by Beth. + + + - Fix for After timers fix, crash below RenderLayer::autoscroll after moving/destroying active + and 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 + + 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 + + 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 + + - fixed release build + + * WebCore.xcodeproj/project.pbxproj: + +2006-10-10 Maciej Stachowiak + + 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 + + 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 + + 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 + + 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 + + Backing out accidental commit. + + * page/Frame.cpp: + (WebCore::Frame::finishedParsing): + +2006-10-09 Adam Roben + + 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 + + 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 + + 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 + + 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 Don Gibson + + Unreviewed build fix. + + Fix windows build bustage. + + * platform/win/TemporaryLinkStubs.cpp: + +2006-10-09 Krzysztof Kowalczyk + + 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 + + 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 + + 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 + + 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 + + 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 + + * bridge/win/FrameWin.h: + Add function declaration. + +2006-10-09 Anders Carlsson + + * platform/win/TemporaryLinkStubs.cpp: + (FrameWin::createJavaAppletWidget): + Try fixing the Win32 build. + +2006-10-09 Anders Carlsson + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Darin. + + - more code laundering - add wkSupportsMultipartXMixedReplace + + * WebCore.exp: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2006-10-08 Nikolas Zimmermann + + Reviewed by Darin and Oliver. + + Fix artefacts when drawing polygons, most noticeable when painting
elements. + + * platform/qt/GraphicsContextQt.cpp: Fix wrong operator<< usage. + (WebCore::GraphicsContext::drawConvexPolygon): + +2006-10-08 Anders Carlsson + + Reviewed by Darin. + + * page/Frame.cpp: + (WebCore::Frame::submitForm): + No need to use latin1() here. + +2006-10-08 Nikolas Zimmermann + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Darin. + + Convert a bunch of RefPtr 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Tim H. + + Make Qt/Linux compile again completly. + + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::removeFromParent): + +2006-10-06 Nikolas Zimmermann + + 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 + + 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 + + Backing out my previous change. + + * WebCore.xcodeproj/project.pbxproj: + * page/FrameView.cpp: + (WebCore::FrameView::adjustViewSize): + +2006-10-06 Adam Roben + + Build fix. + + * WebCore.xcodeproj/project.pbxproj: + * page/FrameView.cpp: + (WebCore::FrameView::windowResizerRect): + +2006-10-06 Adam Roben + + 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 + + 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 + + Stub out setFrameGeometry. + + * platform/ScrollView.h: + +2006-10-05 Adele Peterson + + 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 + + Reviewed by Adam. + + Fixed + + * editing/CommandByName.cpp: + (WebCore::Frame::Command::): + was calling the wrong enabledFn for arrow selection and navigation + +2006-10-05 Adele Peterson + + Reviewed by Maciej. + + - Fix for After timers fix, crash below RenderLayer::autoscroll after moving/destroying active + and 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 Don Gibson + + 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 + + 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 + + build fix. + + * platform/Widget.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::destroyScrollbar): + +2006-10-06 Mitz Pettel + + 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 + + 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 + + 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 + + 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 + + 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 + + Removing accidentally-checked-in do-nothing code. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + +2006-10-05 David Carson + + Reviewed by Mitz. + + http://bugs.webkit.org/show_bug.cgi?id=11158 + Initialize class variables + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + +2006-10-05 Don Gibson + + 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 Marvin Decker + + 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 + + Reviewed by Darin. + + Fixed + + - 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 Don Gibson + + 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 + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + Small ResourceLoaderInternal tweak. + + * platform/ResourceLoaderInternal.h: + (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): + +2006-10-05 Eric Seidel + + 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 + + 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 + + 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 + + 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 + + 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 + + Reviewed by Darin. + + Fixed 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 + + Reviewed by John Sullivan. + + + 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 + + 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 + + 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 + + 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 + + Reviewed by Timothy. + + + 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 + + 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 MorganL + + 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 + + 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 . + (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 . + (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 + + 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 + + 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 + + Reviewed by mjs + + + 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 + + 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 + + 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 + + Reviewed by Maciej. + + 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 + + Reviewed by Eric. + + Fix Qt/Linux build. + + * CMakeLists.txt: Add counter related files. + +2006-10-03 Mark Rowe + + 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 + + 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 + + Reviewed by anders + + Build fix + + * editing/SelectionController.cpp: + (WebCore::SelectionController::empty): + * editing/SelectionController.h: + +2006-10-02 Justin Garcia + + Reviewed by john + + + 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 + + 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 + + Reviewed by Adam. + + Build fix. Add counters to vcproj. + + * WebCore.vcproj/WebCore/WebCore.vcproj: + +2006-10-02 Brady Eidson + + 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 + + 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 + + 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 + + Reviewed by Adam. + + - Fix for Switch to use new list box implementation for