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 platform build again: - Adjust Qt platform to the Image class split. - Introduce BitmapImage class - add stub PDFDocumentImage class * WebCore.pro: * editing/qt/EditorQt.cpp: (WebCore::Editor::markMisspellingsAfterTypingToPosition): * loader/qt/FrameLoaderQt.cpp: (WebCore::FrameLoader::partClearedInBegin): * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData): (WebCore::Image::loadPlatformResource): (WebCore::BitmapImage::draw): (WebCore::BitmapImage::drawTiled): (WebCore::BitmapImage::checkForSolidColor): * platform/graphics/svg/SVGPaintServerLinearGradient.h: * platform/graphics/svg/SVGPaintServerRadialGradient.h: * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: (WebCore::SVGPaintServerLinearGradient::setup): * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: (WebCore::SVGPaintServerPattern::setup): * platform/graphics/svg/qt/SVGPaintServerQt.cpp: (WebCore::SVGPaintServer::teardown): * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: (WebCore::SVGPaintServerRadialGradient::setup): * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: (WebCore::SVGPaintServerSolid::setup): * platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt): (WebCore::FrameQt::bindingRootObject): 2006-12-28 Geoffrey Garen 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 Matt Perry Reviewed by Maciej. Bug 11760: Animated GIFs with offsets crash WebKit http://bugs.webkit.org/show_bug.cgi?id=11760 * platform/image-decoders/gif/GIFImageDecoder.cpp: ensure we don't write past the end of the image buffer when the offset is nonzero. also fix the way we composite frames when animating. (WebCore::GIFImageDecoder::initFrameBuffer): (WebCore::GIFImageDecoder::haveDecodedRow): 2006-12-18 Pam Greene 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 Darin Fisher 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 Peter Kasting). http://bugs.webkit.org/show_bug.cgi?id=11433 Fixes to get WebKit to run on Windows; implemented AffineTransformCairo. * WebCore.vcproj/WebCore/WebCore.vcproj: Added platform/graphics platform/network and platform/network/win to headers search paths Created platform/graphics and platform/network filters in hierarchy Moved GraphicsContext and GraphicsTypes to their respective filters Added EditorClient.h Added FrameLoader* files in loader/ Added HitTest* files in rendering/ Added Editor.* files in editing/ Added DeleteButton.* and DeleteButtonController.* in editing/ * bridge/win/ChromeClientWin.h: Added. (WebCore::ChromeClientWin::~ChromeClientWin): * bridge/win/EditorClientWin.h: Added. (WebCore::EditorClientWin::~EditorClientWin): * bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin): (WebCore::FrameWin::urlSelected): (WebCore::FrameWin::submitForm): (WebCore::FrameWin::createNewWindow): * bridge/win/FrameWin.h: Added EditorClient parameter to constructor Replace usage of FrameLoadRequest::m_request with FrameLoadRequest::resourceRequest() Removed openURL() and openURLRequest from class definition * bridge/win/PageWin.cpp: * platform/AffineTransform.h: * platform/cairo/AffineTransformCairo.cpp: Added. (WebCore::AffineTransform::AffineTransform): (WebCore::AffineTransform::setMatrix): (WebCore::AffineTransform::map): (WebCore::AffineTransform::mapRect): (WebCore::AffineTransform::isIdentity): (WebCore::AffineTransform::m11): (WebCore::AffineTransform::m12): (WebCore::AffineTransform::m21): (WebCore::AffineTransform::m22): (WebCore::AffineTransform::dx): (WebCore::AffineTransform::dy): (WebCore::AffineTransform::reset): (WebCore::AffineTransform::scale): (WebCore::AffineTransform::rotate): (WebCore::AffineTransform::translate): (WebCore::AffineTransform::shear): (WebCore::AffineTransform::det): (WebCore::AffineTransform::invert): (WebCore::AffineTransform::operator cairo_matrix_t): (WebCore::AffineTransform::operator== ): (WebCore::AffineTransform::operator*= ): (WebCore::AffineTransform::operator* ): * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): * platform/network/win/ResourceHandleWin.cpp: (WebCore::ResourceHandle::onHandleCreated): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::fileLoadTimer): (WebCore::ResourceHandle::cancel): * platform/win/TemporaryLinkStubs.cpp: (WebCore::FrameWin::goBackOrForward): (WebCore::FrameWin::getHistoryLength): (WebCore::FrameWin::historyURL): (WebCore::ServeSynchronousRequest): (WebCore::ChromeClientWin::canRunModal): (WebCore::ChromeClientWin::runModal): (WebCore::EditorClientWin::shouldDeleteRange): (WebCore::EditorClientWin::shouldShowDeleteInterface): (WebCore::EditorClientWin::isContinuousSpellCheckingEnabled): (WebCore::EditorClientWin::isGrammarCheckingEnabled): (WebCore::EditorClientWin::spellCheckerDocumentTag): (WebCore::Path::transform): (WebCore::PopupMenu::updateFromElement): (WebCore::ResourceLoader::loadsBlocked): (WebCore::systemBeep): * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintButton): (WebCore::RenderThemeWin::paintTextField): 2006-11-04 Alexey Proskuryakov 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 Darin Fisher 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 Peter Kasting 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 Peter Kasting 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 Peter Kasting Reviewed by Darin, landed by Adam. http://bugs.webkit.org/show_bug.cgi?id=11176 Fix win32 build, adapt to Maciej's ResourceLoader changes. * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoader::start): 2006-10-05 Brett Wilson 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 Peter Kasting 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 Darin Fisher 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