ChangeLog-2006-12-31 [plain text]
2006-12-31 Eric Seidel <eric@webkit.org>
Reviewed by weinig.
Make SVGPathSeg construction take fewer lines of code.
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
(WebCore::SVGPathElement::createSVGPathSegMovetoRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathElement::createSVGPathSegArcAbs):
(WebCore::SVGPathElement::createSVGPathSegArcRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
* ksvg2/svg/SVGPathSegArc.cpp:
(WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
(WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
* ksvg2/svg/SVGPathSegArc.h:
* ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
(WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
* ksvg2/svg/SVGPathSegCurvetoCubic.h:
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
* ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
(WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
* ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
* ksvg2/svg/SVGPathSegLineto.cpp:
(WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
(WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
* ksvg2/svg/SVGPathSegLineto.h:
* ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
(WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
* ksvg2/svg/SVGPathSegLinetoHorizontal.h:
* ksvg2/svg/SVGPathSegLinetoVertical.cpp:
(WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
* ksvg2/svg/SVGPathSegLinetoVertical.h:
* ksvg2/svg/SVGPathSegMoveto.cpp:
(WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
(WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
* ksvg2/svg/SVGPathSegMoveto.h:
2006-12-31 Eric Seidel <eric@webkit.org>
Reviewed by weinig.
Implement path length measuring for SVGPathElement::getTotalLength and friends.
http://bugs.webkit.org/show_bug.cgi?id=12033
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
* platform/graphics/Path.cpp:
(WebCore::pathLengthApplierFunction):
(WebCore::Path::length):
(WebCore::Path::pointAtLength):
* platform/graphics/Path.h:
* platform/graphics/PathTraversalState.cpp: Added.
(WebCore::midPoint):
(WebCore::distanceLine):
(WebCore::QuadraticBezier::QuadraticBezier):
(WebCore::QuadraticBezier::approximateDistance):
(WebCore::QuadraticBezier::split):
(WebCore::CubicBezier::CubicBezier):
(WebCore::CubicBezier::approximateDistance):
(WebCore::CubicBezier::split):
(WebCore::curveLength):
(WebCore::PathTraversalState::PathTraversalState):
(WebCore::PathTraversalState::closeSubpath):
(WebCore::PathTraversalState::moveTo):
(WebCore::PathTraversalState::lineTo):
(WebCore::PathTraversalState::quadraticBezierTo):
(WebCore::PathTraversalState::cubicBezierTo):
* platform/graphics/PathTraversalState.h: Added.
(WebCore::PathTraversalState::):
2006-12-31 Sam Weinig <sam@webkit.org>
Reviewed by Mitz.
Move the SVGZoomAndPanType enum out of SVGSVGElement and
SVGViewElement and into SVGZoomAndPan where it belongs.
* ksvg2/svg/SVGSVGElement.h:
* ksvg2/svg/SVGViewElement.h:
* ksvg2/svg/SVGZoomAndPan.cpp:
(WebCore::SVGZoomAndPan::SVGZoomAndPan):
(WebCore::SVGZoomAndPan::parseMappedAttribute):
* ksvg2/svg/SVGZoomAndPan.h:
(WebCore::SVGZoomAndPan::):
2006-12-31 Mitz Pettel <mitz@webkit.org>
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=9659
Quirksmode: Fixed / Overflow > Positioned objects get hidden when scrolling
Added a 'fixed' flag to ClipRects, indicating that the cached rects are in
viewport coordinates. The flag is set (and scrolling is compensated for) for
fixed objects and their descendants.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::calculateRects):
* rendering/RenderLayer.h:
(WebCore::ClipRects::ClipRects):
(WebCore::ClipRects::fixed):
2006-12-31 Mitz Pettel <mitz@webkit.org>
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=12037
For relatively positioned boxes in an RTL block, 'right' should win over 'left' if both are not 'auto'
Test: fast/block/positioning/relative-overconstrained.html
* rendering/RenderBox.cpp:
(WebCore::RenderBox::relativePositionOffsetX):
2006-12-30 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=12004
Webkit doesnt handle omitting M at the start of path syntax well
Improve path parsing error handling.
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGLength.cpp:
(WebCore::SVGLength::setValueAsString):
* ksvg2/svg/SVGParserUtilities.cpp:
(WebCore::SVGPathParser::parseSVG):
* ksvg2/svg/SVGParserUtilities.h:
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::parseMappedAttribute):
* ksvg2/svg/SVGPathElement.h:
* ksvg2/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::parseMappedAttribute):
* ksvg2/svg/SVGPolyElement.h:
* ksvg2/svg/svgpathparser.cpp: Removed.
* ksvg2/svg/svgpathparser.h: Removed.
2006-12-30 Rémi Zara <remi_zara@mac.com>
Reviewed by Darin.
The marker is used for start, mid and end.
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
2006-12-30 Rob Buis <buis@kde.org>
Reviewed by weinig.
http://bugs.webkit.org/show_bug.cgi?id=12035
Use SVGParserUtilities in lists of values
Use SVGParserUtilities in some more places.
* ksvg2/svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::parseMappedAttribute):
(WebCore::SVGAnimationElement::parseClockValue):
(WebCore::SVGAnimationElement::detectAnimationMode):
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
* ksvg2/svg/SVGFEDiffuseLightingElement.h:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::parseMappedAttribute):
* ksvg2/svg/SVGFEGaussianBlurElement.h:
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::parseMappedAttribute):
* ksvg2/svg/SVGFESpecularLightingElement.h:
* ksvg2/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::parseMappedAttribute):
* ksvg2/svg/SVGFETurbulenceElement.h:
* ksvg2/svg/SVGLengthList.cpp:
(WebCore::SVGLengthList::parse):
* ksvg2/svg/SVGNumberList.cpp:
(WebCore::SVGNumberList::parse):
* ksvg2/svg/SVGNumberList.h:
* ksvg2/svg/SVGStringList.cpp:
(WebCore::SVGStringList::reset):
(WebCore::SVGStringList::parse):
* ksvg2/svg/SVGStringList.h:
2006-12-30 Rob Buis <buis@kde.org>
Reviewed by weinig.
http://bugs.webkit.org/show_bug.cgi?id=12034
Adapt preserveAspectRatio parsing to SVGParserUtilities
Use the new SVGParserUtilities methods to parse prserveAspectRatio attribute.
* ksvg2/svg/SVGParserUtilities.h:
(WebCore::checkString):
* ksvg2/svg/SVGPreserveAspectRatio.cpp:
(WebCore::):
(WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
* ksvg2/svg/SVGTransformable.cpp:
2006-12-30 Mitz Pettel <mitz@webkit.org>
Reviewed by Alexey.
- remove unused member variables m_loadingSheet and m_bAllDataReceived
No test possible (no change to functionality).
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setCSSStyleSheet):
* dom/Document.h:
2006-12-30 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11998
Incorrect serialization of quotation marks in XML attributes.
Test: fast/dom/serialize-attribute.xhtml
* editing/markup.cpp:
(WebCore::escapeTextForMarkup): Added an isAttributeValue parameter, as the quotation mark
only needs to be encoded in attribute values.
(WebCore::startMarkup): Pass appropriate isAttributeValue to escapeTextForMarkup().
2006-12-29 David Kilzer <ddkilzer@webkit.org>
Build fix for no-svg build.
Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT.
* bindings/js/kjs_css.cpp:
(KJS::toJS):
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
2006-12-29 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brian Dash... err... Mark Rowe.
More cleanup in preparation for fixing <rdar://problem/4608404>
WebScriptObject's _executionContext lack of ownership policy causes
crashes (e.g., in Dashcode)
The key change here is to RootObject::RootObject().
Layout tests pass.
Renamed "_bindingRoot" => "_bindingRootObject" because "RootObject" is the
type name.
* bindings/objc/WebScriptObject.mm:
(_didExecute): Use Interpreter::globalObject(), since RootObject::rootObjectImp()
no longer exists.
* page/mac/FrameMac.mm:
(WebCore::FrameMac::bindingRootObject): Use the new RootObject constructor.
Stop lying about who deletes _bindingRoot.
(WebCore::FrameMac::cleanupPluginObjects): => "destroy". Fixed a bug where
the RootObject would only free its own memory if there were a ReferencesSet*
associated with it.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge rootObjectForView:]): Use new constructor. Changed
misleading comment.
2006-12-29 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=12007
SVGColor::setRGBColor color creates/deletes many strings, slowing down parsing
Refactor code so svg reuses cssparser methods. Also make
SVGColor and SVGPaint more efficient by avoiding using
setRGBColor internally.
* bindings/js/kjs_css.cpp:
(KJS::toJS):
* css/cssparser.cpp:
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseColorFromValue):
(WebCore::CSSParser::parseShadow):
* css/cssparser.h:
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/svg/SVGColor.cpp:
(WebCore::SVGColor::SVGColor):
(WebCore::SVGColor::setRGBColor):
(WebCore::SVGColor::cssText):
* ksvg2/svg/SVGColor.h:
* ksvg2/svg/SVGPaint.cpp:
(WebCore::SVGPaint::SVGPaint):
* ksvg2/svg/SVGPaint.h:
* platform/graphics/Color.cpp:
(WebCore::Color::parseHexColor):
* platform/graphics/Color.h:
2006-12-29 Rob Buis <buis@kde.org>
Reviewed by weinig.
http://bugs.webkit.org/show_bug.cgi?id=12022
typo in SVGTransformable.cpp introduce in r18440
Use the helper method proposed by Eric.
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::checkString):
(WebCore::):
(WebCore::SVGTransformable::parseTransformAttribute):
2006-12-29 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=12028
Adapt viewBox parsing to SVGParserUtilities
Use the new parseNumber and add tests for viewBox parsing.
* ksvg2/svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
2006-12-29 Geoffrey Garen <ggaren@apple.com>
Build fix: SVGImage only works on Mac.
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
2006-12-29 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Patch for http://bugs.webkit.org/show_bug.cgi?id=12018
Cleanup of CSSRule and its subclasses
- Make CSSRule::type() virtual instead of using a member variable.
- General style cleanup.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::CSSCharsetRule):
* css/CSSCharsetRule.h:
(WebCore::CSSCharsetRule::isCharsetRule):
(WebCore::CSSCharsetRule::type):
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::CSSFontFaceRule):
(WebCore::CSSFontFaceRule::cssText):
* css/CSSFontFaceRule.h:
(WebCore::CSSFontFaceRule::isFontFaceRule):
(WebCore::CSSFontFaceRule::type):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::CSSImportRule):
(WebCore::CSSImportRule::setCSSStyleSheet):
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSImportRule.h:
(WebCore::CSSImportRule::isImportRule):
(WebCore::CSSImportRule::type):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::CSSMediaRule):
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::cssText):
* css/CSSMediaRule.h:
(WebCore::CSSMediaRule::isMediaRule):
(WebCore::CSSMediaRule::type):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::CSSPageRule):
(WebCore::CSSPageRule::selectorText):
(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::cssText):
* css/CSSPageRule.h:
(WebCore::CSSPageRule::style):
(WebCore::CSSPageRule::type):
* css/CSSRule.cpp:
(WebCore::CSSRule::cssText):
(WebCore::CSSRule::setCssText):
* css/CSSRule.h:
(WebCore::CSSRule::):
(WebCore::CSSRule::CSSRule):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::CSSStyleRule):
(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::cssText):
(WebCore::CSSStyleRule::parseString):
* css/CSSStyleRule.h:
(WebCore::CSSStyleRule::isStyleRule):
(WebCore::CSSStyleRule::style):
(WebCore::CSSStyleRule::type):
* css/CSSUnknownRule.h:
(WebCore::CSSUnknownRule::CSSUnknownRule):
(WebCore::CSSUnknownRule::type):
2006-12-29 Eric Seidel <eric@webkit.org>
Reviewed by ap.
* platform/graphics/svg/SVGImage.cpp:
(WebCore::SVGImage::size): explicitly cast to integers to prevent compile error
2006-12-29 George Staikos <staikos@kde.org>
Reviewed by Sam.
Don't crash on sites such as www.apple.com. Painter was ended incorrectly among other issues.
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::TransparencyLayer::cleanup):
(WebCore::GraphicsContext::endTransparencyLayer):
* platform/qt/ScrollViewCanvasQt.cpp:
(WebCore::ScrollViewCanvasQt::paintEvent):
2006-12-29 Nikolas Zimmermann <zimmermann@kde.org>
Build fixed, not reviewed. Noticed by Daniel Molkentin.
* platform/graphics/svg/SVGImage.h: s/WTF/wtf/ in include.
2006-12-29 Eric Seidel <eric@webkit.org>
Reviewed by olliej.
* platform/graphics/svg/SVGImageEmptyClients.h:
(WebCore::SVGEmptyCromeClient::scaleFactor): build fix, use 1.f instead of 1f
2006-12-29 Eric Seidel <eric@webkit.org>
Reviewed by hyatt.
New tests:
* fast/images/svg-as-image.html
* fast/images/svg-as-background.html
* fast/images/svg-as-tiled-background.html
Implement basic SVGImage support.
http://bugs.webkit.org/show_bug.cgi?id=5971
This implementation depends on (rather ugly) stub Page and Frame clients in SVGImageEmptyClients.h
* WebCore.xcodeproj/project.pbxproj: add SVGImage.*
* ksvg2/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseMappedAttribute): ignore fragment urls
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* platform/graphics/Image.h: made setData virtual
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::drawTiled): stub method
* platform/graphics/cg/PDFDocumentImage.h:
* platform/graphics/svg/SVGImage.cpp: Added.
(WebCore::SVGImage::SVGImage):
(WebCore::SVGImage::~SVGImage):
(WebCore::SVGImage::size):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::drawTiled): stub method
(WebCore::SVGImage::setData):
* platform/graphics/svg/SVGImage.h: Added.
(WebCore::SVGImage::frameAtIndex):
* platform/graphics/svg/SVGImageEmptyClients.h: Added.
(WebCore::SVGEmptyCromeClient::~SVGEmptyCromeClient):
(WebCore::SVGEmptyCromeClient::chromeDestroyed):
(WebCore::SVGEmptyCromeClient::setWindowRect):
(WebCore::SVGEmptyCromeClient::windowRect):
(WebCore::SVGEmptyCromeClient::pageRect):
(WebCore::SVGEmptyCromeClient::scaleFactor):
(WebCore::SVGEmptyCromeClient::focus):
(WebCore::SVGEmptyCromeClient::unfocus):
(WebCore::SVGEmptyCromeClient::createWindow):
(WebCore::SVGEmptyCromeClient::createModalDialog):
(WebCore::SVGEmptyCromeClient::show):
(WebCore::SVGEmptyCromeClient::canRunModal):
(WebCore::SVGEmptyCromeClient::runModal):
(WebCore::SVGEmptyCromeClient::setToolbarsVisible):
(WebCore::SVGEmptyCromeClient::toolbarsVisible):
(WebCore::SVGEmptyCromeClient::setStatusbarVisible):
(WebCore::SVGEmptyCromeClient::statusbarVisible):
(WebCore::SVGEmptyCromeClient::setScrollbarsVisible):
(WebCore::SVGEmptyCromeClient::scrollbarsVisible):
(WebCore::SVGEmptyCromeClient::setMenubarVisible):
(WebCore::SVGEmptyCromeClient::menubarVisible):
(WebCore::SVGEmptyCromeClient::setResizable):
(WebCore::SVGEmptyCromeClient::addMessageToConsole):
(WebCore::SVGEmptyCromeClient::canRunBeforeUnloadConfirmPanel):
(WebCore::SVGEmptyCromeClient::runBeforeUnloadConfirmPanel):
(WebCore::SVGEmptyCromeClient::closeWindowSoon):
(WebCore::SVGEmptyFrameLoaderClient::~SVGEmptyFrameLoaderClient):
(WebCore::SVGEmptyFrameLoaderClient::frameLoaderDestroyed):
(WebCore::SVGEmptyFrameLoaderClient::hasWebView):
(WebCore::SVGEmptyFrameLoaderClient::hasFrameView):
(WebCore::SVGEmptyFrameLoaderClient::hasBackForwardList):
(WebCore::SVGEmptyFrameLoaderClient::resetBackForwardList):
(WebCore::SVGEmptyFrameLoaderClient::provisionalItemIsTarget):
(WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromPageCache):
(WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemPageCache):
(WebCore::SVGEmptyFrameLoaderClient::privateBrowsingEnabled):
(WebCore::SVGEmptyFrameLoaderClient::makeDocumentView):
(WebCore::SVGEmptyFrameLoaderClient::makeRepresentation):
(WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromPageCache):
(WebCore::SVGEmptyFrameLoaderClient::forceLayout):
(WebCore::SVGEmptyFrameLoaderClient::forceLayoutForNonHTML):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryForCommit):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryForBackForwardNavigation):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryForReload):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryForStandardLoad):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryForInternalLoad):
(WebCore::SVGEmptyFrameLoaderClient::updateHistoryAfterClientRedirect):
(WebCore::SVGEmptyFrameLoaderClient::setCopiesOnScroll):
(WebCore::SVGEmptyFrameLoaderClient::tokenForLoadErrorReset):
(WebCore::SVGEmptyFrameLoaderClient::resetAfterLoadError):
(WebCore::SVGEmptyFrameLoaderClient::doNotResetAfterLoadError):
(WebCore::SVGEmptyFrameLoaderClient::detachedFromParent1):
(WebCore::SVGEmptyFrameLoaderClient::detachedFromParent2):
(WebCore::SVGEmptyFrameLoaderClient::detachedFromParent3):
(WebCore::SVGEmptyFrameLoaderClient::detachedFromParent4):
(WebCore::SVGEmptyFrameLoaderClient::loadedFromPageCache):
(WebCore::SVGEmptyFrameLoaderClient::download):
(WebCore::SVGEmptyFrameLoaderClient::dispatchIdentifierForInitialRequest):
(WebCore::SVGEmptyFrameLoaderClient::dispatchWillSendRequest):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveResponse):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveContentLength):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoading):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoading):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidHandleOnloadEvents):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidCancelClientRedirect):
(WebCore::SVGEmptyFrameLoaderClient::dispatchWillPerformClientRedirect):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebCore::SVGEmptyFrameLoaderClient::dispatchWillClose):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveIcon):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidReceiveTitle):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidCommitLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFailLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFinishLoad):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidFirstLayout):
(WebCore::SVGEmptyFrameLoaderClient::dispatchCreatePage):
(WebCore::SVGEmptyFrameLoaderClient::dispatchShow):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForMIMEType):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebCore::SVGEmptyFrameLoaderClient::cancelPolicyCheck):
(WebCore::SVGEmptyFrameLoaderClient::dispatchUnableToImplementPolicy):
(WebCore::SVGEmptyFrameLoaderClient::dispatchWillSubmitForm):
(WebCore::SVGEmptyFrameLoaderClient::dispatchDidLoadMainResource):
(WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromPageCache):
(WebCore::SVGEmptyFrameLoaderClient::isLoadingFromPageCache):
(WebCore::SVGEmptyFrameLoaderClient::revertToProvisionalState):
(WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError):
(WebCore::SVGEmptyFrameLoaderClient::clearUnarchivingState):
(WebCore::SVGEmptyFrameLoaderClient::progressStarted):
(WebCore::SVGEmptyFrameLoaderClient::progressCompleted):
(WebCore::SVGEmptyFrameLoaderClient::incrementProgress):
(WebCore::SVGEmptyFrameLoaderClient::completeProgress):
(WebCore::SVGEmptyFrameLoaderClient::setMainFrameDocumentReady):
(WebCore::SVGEmptyFrameLoaderClient::startDownload):
(WebCore::SVGEmptyFrameLoaderClient::willChangeTitle):
(WebCore::SVGEmptyFrameLoaderClient::didChangeTitle):
(WebCore::SVGEmptyFrameLoaderClient::committedLoad):
(WebCore::SVGEmptyFrameLoaderClient::finishedLoading):
(WebCore::SVGEmptyFrameLoaderClient::finalSetupForReplace):
(WebCore::SVGEmptyFrameLoaderClient::cancelledError):
(WebCore::SVGEmptyFrameLoaderClient::cannotShowURLError):
(WebCore::SVGEmptyFrameLoaderClient::interruptForPolicyChangeError):
(WebCore::SVGEmptyFrameLoaderClient::cannotShowMIMETypeError):
(WebCore::SVGEmptyFrameLoaderClient::fileDoesNotExistError):
(WebCore::SVGEmptyFrameLoaderClient::shouldFallBack):
(WebCore::SVGEmptyFrameLoaderClient::setDefersLoading):
(WebCore::SVGEmptyFrameLoaderClient::willUseArchive):
(WebCore::SVGEmptyFrameLoaderClient::isArchiveLoadPending):
(WebCore::SVGEmptyFrameLoaderClient::cancelPendingArchiveLoad):
(WebCore::SVGEmptyFrameLoaderClient::clearArchivedResources):
(WebCore::SVGEmptyFrameLoaderClient::canHandleRequest):
(WebCore::SVGEmptyFrameLoaderClient::canShowMIMEType):
(WebCore::SVGEmptyFrameLoaderClient::representationExistsForURLScheme):
(WebCore::SVGEmptyFrameLoaderClient::generatedMIMETypeForURLScheme):
(WebCore::SVGEmptyFrameLoaderClient::frameLoadCompleted):
(WebCore::SVGEmptyFrameLoaderClient::restoreScrollPositionAndViewState):
(WebCore::SVGEmptyFrameLoaderClient::provisionalLoadStarted):
(WebCore::SVGEmptyFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
(WebCore::SVGEmptyFrameLoaderClient::addHistoryItemForFragmentScroll):
(WebCore::SVGEmptyFrameLoaderClient::didFinishLoad):
(WebCore::SVGEmptyFrameLoaderClient::prepareForDataSourceReplacement):
(WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
(WebCore::SVGEmptyFrameLoaderClient::setTitle):
(WebCore::SVGEmptyFrameLoaderClient::userAgent):
(WebCore::SVGEmptyEditorClient::~SVGEmptyEditorClient):
(WebCore::SVGEmptyEditorClient::pageDestroyed):
(WebCore::SVGEmptyEditorClient::shouldDeleteRange):
(WebCore::SVGEmptyEditorClient::shouldShowDeleteInterface):
(WebCore::SVGEmptyEditorClient::smartInsertDeleteEnabled):
(WebCore::SVGEmptyEditorClient::isContinuousSpellCheckingEnabled):
(WebCore::SVGEmptyEditorClient::toggleContinuousSpellChecking):
(WebCore::SVGEmptyEditorClient::isGrammarCheckingEnabled):
(WebCore::SVGEmptyEditorClient::toggleGrammarChecking):
(WebCore::SVGEmptyEditorClient::spellCheckerDocumentTag):
(WebCore::SVGEmptyEditorClient::selectWordBeforeMenuEvent):
(WebCore::SVGEmptyEditorClient::isEditable):
(WebCore::SVGEmptyEditorClient::shouldBeginEditing):
(WebCore::SVGEmptyEditorClient::shouldEndEditing):
(WebCore::SVGEmptyEditorClient::shouldInsertNode):
(WebCore::SVGEmptyEditorClient::shouldInsertText):
(WebCore::SVGEmptyEditorClient::shouldApplyStyle):
(WebCore::SVGEmptyEditorClient::didBeginEditing):
(WebCore::SVGEmptyEditorClient::respondToChangedContents):
(WebCore::SVGEmptyEditorClient::didEndEditing):
(WebCore::SVGEmptyEditorClient::registerCommandForUndo):
(WebCore::SVGEmptyEditorClient::registerCommandForRedo):
(WebCore::SVGEmptyEditorClient::clearUndoRedoOperations):
(WebCore::SVGEmptyEditorClient::canUndo):
(WebCore::SVGEmptyEditorClient::canRedo):
(WebCore::SVGEmptyEditorClient::undo):
(WebCore::SVGEmptyEditorClient::redo):
(WebCore::SVGEmptyEditorClient::dataForArchivedSelection):
(WebCore::SVGEmptyEditorClient::userVisibleString):
(WebCore::SVGEmptyContextMenuClient::~SVGEmptyContextMenuClient):
(WebCore::SVGEmptyContextMenuClient::contextMenuDestroyed):
(WebCore::SVGEmptyContextMenuClient::addCustomContextMenuItems):
(WebCore::SVGEmptyContextMenuClient::contextMenuItemSelected):
(WebCore::SVGEmptyContextMenuClient::downloadURL):
(WebCore::SVGEmptyContextMenuClient::copyImageToClipboard):
(WebCore::SVGEmptyContextMenuClient::lookUpInDictionary):
(WebCore::SVGEmptyContextMenuClient::speak):
(WebCore::SVGEmptyContextMenuClient::stopSpeaking):
(WebCore::SVGEmptyContextMenuClient::searchWithSpotlight):
2006-12-29 George Staikos <staikos@kde.org>
Reviewed by Olliej.
Make redirects work properly. Sites will thank us for this. :-)
* platform/network/qt/ResourceHandleManagerQt.cpp:
(WebCore::ResourceHandleManager::receivedResponse):
2006-12-28 George Staikos <staikos@kde.org>
Reviewed by Olliej.
* loader/CachedImage.cpp: build for Qt
2006-12-28 Daniel Molkentin <molkentin@kde.org>
Reviewed by Eric Seidel <eric@webkit.org>
- Fix font sizes
- Make Qt platform build again:
- Adjust Qt platform to the Image class split.
- Introduce BitmapImage class
- add stub PDFDocumentImage class
* WebCore.pro:
* editing/qt/EditorQt.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::partClearedInBegin):
* platform/graphics/qt/ImageQt.cpp:
(WebCore::BitmapImage::initPlatformData):
(WebCore::BitmapImage::invalidatePlatformData):
(WebCore::Image::loadPlatformResource):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::drawTiled):
(WebCore::BitmapImage::checkForSolidColor):
* platform/graphics/svg/SVGPaintServerLinearGradient.h:
* platform/graphics/svg/SVGPaintServerRadialGradient.h:
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
(WebCore::SVGPaintServerPattern::setup):
* platform/graphics/svg/qt/SVGPaintServerQt.cpp:
(WebCore::SVGPaintServer::teardown):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
(WebCore::SVGPaintServerRadialGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
(WebCore::SVGPaintServerSolid::setup):
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::bindingRootObject):
2006-12-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brady Eidson.
Some cleanup in preparation for fixing <rdar://problem/4608404>
WebScriptObject's _executionContext lack of ownership policy causes
crashes (e.g., in Dashcode)
Layout tests pass.
Renamed "root" | "execContext" | "executionContext" => rootObject, because
that's the object's (admittedly vague) type name.
* bindings/js/kjs_binding.cpp:
* bindings/js/kjs_binding.h: Removed createLanguageInstanceForValue
and createObjcInstanceForValue because their only purpose was to confuse you.
* bindings/objc/DOMInternal.h: Moved declaration of createDOMWrapper here.
createDOMWrapper is the new name for createObjcInstanceForValue.
* bindings/objc/DOMInternal.mm: Renamed Interpreter::createObjcInstanceForValue
to createDOMWrapper because creating DOM wrappers has nothing to do with the interpreter,
and everything to do with the DOM. Renamed value to object because it is one.
Removed newObj nil check that is unnecessary in ObjC.
* bindings/objc/WebScriptObject.mm: Replaced call to createLanguageInstanceForValue
with explicit code to do the same thing it would have done: (1) try to create
a DOM wrapper; (2) if the object is not a wrappable DOM object, create a
vanilla WebScriptObject for it instead.
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=11729
REGRESSION: Crash closing page with frames after selection
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachFromParent): Added call to pageDestroyed().
* page/FrameTree.cpp:
(WebCore::FrameTree::appendChild): Added an assertion that the parent and
the child are in the same page.
(WebCore::FrameTree::removeChild): Added calls to decrementFrameCount() and pageDestroyed().
2006-12-28 David Kilzer <ddkilzer@webkit.org>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=12016
REGRESSION: fast/text/stroking-decorations.html test fails with bus error in no-svg build
No test cases (no change in functionality).
* platform/TextStream.cpp: Properly initialize presicionFormats.
* rendering/RenderTreeAsText.cpp:
(WebCore::externalRepresentation): HTML tests now print out the stroke width, which is a float,
so the precision needs to be set.
2006-12-28 Eric Seidel <eric@webkit.org>
Reviewed by rwlbuis.
Fix for memory smasher when drawing markers.
http://bugs.webkit.org/show_bug.cgi?id=12015
No test case possible (crashes for some folks but not others, not even under --guard)
* platform/graphics/cg/PathCG.cpp:
(WebCore::CGPathApplierToPathApplier): array was too small
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=11124
REGRESSION (r14297): No drag image for partially-selected complex text
Test: fast/text/atsui-partial-selection.html
* platform/Font.h: Changed comment.
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText): Corrected the run length calculation.
Changed the ATSUI layout parameters to know about the entire text run, rather
than just the range we are drawing. ATSUI measures the characters before
the range and positions the range accordingly.
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=9202
CSS3: border-radius not completely implemented, testcase hangs webkit
Test: fast/borders/borderRadiusAllStylesAllCorners.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintBorder): Changed to not draw "arcs" at straight
corners and to paint half-corners only where the styles mismatch.
Corrected the condition for matching styles: ridge, groove, inset and outset
all mismatch in the upper right and lower left corners and match in the other
two. The incorrect condition for a match was (almost) unnoticeable because of
the painting of both half-corners on each side that had at least one mismatch.
2006-12-28 Alexey Proskuryakov <ap@webkit.org>
Reverting the previous checkin, as it caused an assertion in layout tests.
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
* rendering/RenderTableCell.h:
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=11359
Incomplete repaint of table cell's collapsed border when changing only the cell
Test: fast/repaint/table-cell-collapsed-border.html
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::getAbsoluteRepaintRect): Overloaded to add the
outer half of any collapsed borders. This function checks the cell's borders'
widths but also the widths of the adjoining cells' borders, since they can
contribute to the length of this cell's borders perpendicular to them, making
such a border overflow the cell in both dimensions.
(WebCore::RenderTableCell::borderLeft): Split the collapsing borders case off to
borderHalfLeft().
(WebCore::RenderTableCell::borderRight): Ditto.
(WebCore::RenderTableCell::borderTop): Ditto.
(WebCore::RenderTableCell::borderBottom): Ditto.
(WebCore::RenderTableCell::borderHalfLeft): Added. Takes an 'outer' boolean
parameter. When true, this function returns the width of the part of the border
that is outside the cell (different from the inner width when the total width is odd).
(WebCore::RenderTableCell::borderHalfRight): Ditto.
(WebCore::RenderTableCell::borderHalfTop): Ditto.
(WebCore::RenderTableCell::borderHalfBottom): Ditto.
* rendering/RenderTableCell.h:
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Alexey.
- fix http://bugs.webkit.org/show_bug.cgi?id=11671
REGRESSION (r13702): text-transform: capitalize changes non-breaking spaces to spaces
Test: fast/text/capitalize-preserve-nbsp.html
* platform/StringImpl.cpp:
(WebCore::StringImpl::capitalize): Copy back non-breaking spaces from the
original string to the capitalized string. Change a 'previous' non-breaking
space into a space (this improves the fix for <rdar://problem/4502311> from r13702).
2006-12-28 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=10699
div with border-radius does not redraw properly if element inside div is resized
Test: fast/repaint/border-radius-repaint.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2006-12-28 Darin Adler <darin@apple.com>
* loader/CachedImage.cpp: (WebCore::CachedImage::createImage):
Fixed an #ifdef PLATFORM(CG) that should be #if PLATFORM(CG).
Might have broken the build on some platforms.
2006-12-27 Geoffrey Garen <ggaren@apple.com>
Build fix, plus a few "double &" => "double&" changes.
* ksvg2/svg/SVGParserUtilities.cpp:
(WebCore::parseNumber):
(WebCore::SVGPathParser::calculateArc):
2006-12-27 Oliver Hunt <oliver@apple.com>
Build fix
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.cpp:
* platform/graphics/Image.h:
(WebCore::Image::getHBITMAP):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::PDFDocumentImage):
2006-12-27 Eric Seidel <eric@webkit.org>
Reviewed by olliej.
Add new PDFDocumentImage and BitmapImage classes (subclasses of Image)
(In preparation for adding SVGImage as part of bug 5971)
http://bugs.webkit.org/show_bug.cgi?id=11990
Test cases landed separately as part of filing bug 11992.
* WebCore.xcodeproj/project.pbxproj: add BitmapImage.*
* loader/CachedImage.cpp:
(WebCore::nullImage): use BitmapImage directly
(WebCore::CachedImage::createImage): now create either BitmapImage or PDFDocumentImage directly
* loader/icon/IconDataCache.cpp:
(WebCore::IconDataCache::setImageData): use BitmapImage directly
* platform/graphics/BitmapImage.cpp: Added.
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::~BitmapImage):
(WebCore::BitmapImage::invalidateData):
(WebCore::BitmapImage::cacheFrame):
(WebCore::BitmapImage::size):
(WebCore::BitmapImage::setNativeData):
(WebCore::BitmapImage::frameCount):
(WebCore::BitmapImage::isSizeAvailable):
(WebCore::BitmapImage::frameAtIndex):
(WebCore::BitmapImage::frameDurationAtIndex):
(WebCore::BitmapImage::frameHasAlphaAtIndex):
(WebCore::BitmapImage::shouldAnimate):
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::resetAnimation):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/BitmapImage.h: Added.
(WebCore::FrameData::FrameData):
(WebCore::BitmapImage::nativeImageForCurrentFrame): added.
(WebCore::BitmapImage::currentFrame):
(WebCore::BitmapImage::mayFillWithSolidColor): added.
(WebCore::BitmapImage::solidColor): added.
* platform/graphics/Image.cpp:
(WebCore::Image::Image):
(WebCore::Image::~Image):
* platform/graphics/Image.h:
(WebCore::Image::setNativeData): now virtual
(WebCore::Image::stopAnimation): now virtual
(WebCore::Image::resetAnimation): now virtual
(WebCore::Image::getNSImage): now virtual
(WebCore::Image::getTIFFRepresentation): now virtual
(WebCore::Image::getCGImageRef): now virtual
* platform/graphics/cg/ImageCG.cpp:
(WebCore::BitmapImage::checkForSolidColor):
(WebCore::BitmapImage::getCGImageRef): use nativeImageForCurrentFrame
(WebCore::fillWithSolidColor): added
(WebCore::BitmapImage::draw):
(WebCore::drawPattern): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
(WebCore::BitmapImage::drawTiled): use fillWithSolidColor, mayFillWithSolidColor() and solidcolor()
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::PDFDocumentImage):
(WebCore::PDFDocumentImage::size): change to subclass from Image
(WebCore::PDFDocumentImage::setNativeData):
(WebCore::PDFDocumentImage::draw):
* platform/graphics/cg/PDFDocumentImage.h:
(WebCore::PDFDocumentImage::drawTiled):
* platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::initPlatformData):
(WebCore::BitmapImage::invalidatePlatformData):
(WebCore::Image::loadPlatformResource):
(WebCore::BitmapImage::getTIFFRepresentation):
(WebCore::BitmapImage::getNSImage):
* platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
(WebCore::SVGFEImage::getCIFilter): remove soon-to-be unnecessary comment
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nullImage): use BitmapImage
2006-12-27 Mitz Pettel <mitz@webkit.org>
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=11452
REGRESSION (r16736-r16801): Incorrect repaint of fixed boxes
Test: fast/repaint/fixed.html
* rendering/RenderView.cpp:
(WebCore::RenderView::computeAbsoluteRepaintRect): Re-added.
* rendering/RenderView.h:
2006-12-27 Mitz Pettel <mitz@webkit.org>
Reviewed by Geoff.
- fix http://bugs.webkit.org/show_bug.cgi?id=11930
Specifying border-radius makes the outline shrink
Test: fast/css/border-radius-outline-offset.html
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Added missing return statement.
2006-12-27 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=11108
Replace usage of split by proper parsers
http://bugs.webkit.org/show_bug.cgi?id=11908
WebKit spends 40% of its time displaying "bamboo.svg" executing Regexes
Get rid of split() when parsing transform attribute.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGParserUtilities.cpp: Added.
(WebCore::parseNumber):
(WebCore::parseNumberOptionalNumber):
(WebCore::SVGPolyParser::parsePoints):
(WebCore::SVGPathParser::parseSVG):
(WebCore::SVGPathParser::calculateArc):
(WebCore::SVGPathParser::svgLineToHorizontal):
(WebCore::SVGPathParser::svgLineToVertical):
(WebCore::SVGPathParser::svgCurveToCubicSmooth):
(WebCore::SVGPathParser::svgCurveToQuadratic):
(WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
(WebCore::SVGPathParser::svgArcTo):
* ksvg2/svg/SVGParserUtilities.h: Added.
(WebCore::isWhitespace):
(WebCore::skipOptionalSpaces):
(WebCore::skipOptionalSpacesOrDelimiter):
(WebCore::SVGPolyParser::~SVGPolyParser):
(WebCore::SVGPathParser::~SVGPathParser):
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
* ksvg2/svg/SVGPathElement.h:
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::parseTransformParamList):
(WebCore::SVGTransformable::parseTransformAttribute):
* ksvg2/svg/svgpathparser.cpp:
(WebCore::DeprecatedSVGPathParser::parseSVG):
(WebCore::DeprecatedSVGPathParser::calculateArc):
(WebCore::DeprecatedSVGPathParser::svgLineToHorizontal):
(WebCore::DeprecatedSVGPathParser::svgLineToVertical):
(WebCore::DeprecatedSVGPathParser::svgCurveToCubicSmooth):
(WebCore::DeprecatedSVGPathParser::svgCurveToQuadratic):
(WebCore::DeprecatedSVGPathParser::svgCurveToQuadraticSmooth):
(WebCore::DeprecatedSVGPathParser::svgArcTo):
* ksvg2/svg/svgpathparser.h:
(WebCore::DeprecatedSVGPathParser::~DeprecatedSVGPathParser):
2006-12-27 Mitz Pettel <mitz@webkit.org>
Reviewed by Geoff.
- http://bugs.webkit.org/show_bug.cgi?id=11968
BidiContext's m_basicDir is redundant
No test possible (no functionality change)
* rendering/bidi.cpp:
(WebCore::BidiContext::BidiContext):
(WebCore::operator==):
(WebCore::RenderBlock::computeHorizontalPositionsForLine): Use the block's
direction to resolve 'automatic' text-align.
* rendering/bidi.h:
(WebCore::BidiContext::dir):
2006-12-27 Nikolas Zimmermann <zimmermann@kde.org>
Build fix, not reviewed.
Accidently commited an older revision of this file.
* platform/graphics/svg/SVGPaintServerPattern.h:
2006-12-27 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz & Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11904
We need to cache the CGPatternRef (m_pattern) for efficiency
in SVGPaintServerPatternCg, and keep track wheter the underlying
ImageBuffer has changed, and only update the pattern in that case.
* platform/graphics/svg/SVGPaintServerPattern.cpp:
(WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
(WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
(WebCore::SVGPaintServerPattern::setTile):
* platform/graphics/svg/SVGPaintServerPattern.h:
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
(WebCore::SVGPaintServerPattern::teardown):
2006-12-26 Geoffrey Garen <ggaren@apple.com>
Reviewed by Eric Seidel.
Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject
from KJS::Bindings::CInstance::~CInstance
No testcase because we can't open and close windows in DumpRenderTree.
* loader/FrameLoader.cpp: Removed closeDocument helper function because
its only purpose was to call didCloseDocument, which is gone now.
(WebCore::FrameLoader::detachFromParent): closeDocument => closeURL,
since didCloseDocument is gone now.
* loader/FrameLoaderClient.h: Removed didCloseDocument because it proved
unnecessary and harmful.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::transitionToCommitted): closeDocument => closeURL,
since didCloseDocument is gone now.
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by olliej.
ASSERT while loading SVG map
http://bugs.webkit.org/show_bug.cgi?id=11987
* ksvg2/css/SVGCSSParser.cpp: remove a few .impl() calls previously missed.
(WebCore::CSSParser::parseSVGValue):
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/misc/KCanvasRenderingStyle.cpp: handle invalid colors
(WebCore::KSVGPainterFactory::fillPaintServer):
(WebCore::KSVGPainterFactory::strokePaintServer):
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by ggaren.
No test cases changed.
Remove unnecessary (and inefficient) .impl() and .deprecatedString() calls.
http://bugs.webkit.org/show_bug.cgi?id=11989
* bindings/js/kjs_dom.cpp:
(KJS::DOMNodeList::getOwnPropertySlot):
* dom/Document.cpp:
(WebCore::Document::createAttributeNS):
* dom/Element.cpp:
(WebCore::Element::getAttributeNS):
(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeNS):
(WebCore::Element::removeAttributeNS):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
* dom/NamedAttrMap.cpp:
(WebCore::NamedAttrMap::getNamedItemNS):
(WebCore::NamedAttrMap::removeNamedItemNS):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::process):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::parseMappedAttribute):
* html/HTMLEmbedElement.h:
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::parseMappedAttribute):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::insertedIntoDocument):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseMappedAttribute):
* ksvg2/svg/SVGAnimateElement.cpp:
(WebCore::SVGAnimateElement::handleTimerEvent):
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
* ksvg2/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::parseMappedAttribute):
* ksvg2/svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseMappedAttribute):
* ksvg2/svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::parseMappedAttribute):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::notifyAttributeChange):
* ksvg2/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::notifyAttributeChange):
* ksvg2/svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::parseMappedAttribute):
* ksvg2/svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::updateReferencedText):
* ksvg2/svg/SVGTests.cpp:
(WebCore::SVGTests::parseMappedAttribute):
* ksvg2/svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::parseMappedAttribute):
* ksvg2/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::closeRenderer):
* ksvg2/svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::parseMappedAttribute):
* page/Frame.cpp:
(WebCore::Frame::selectionComputedStyle):
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::updateWidget):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeRenderResources):
2006-12-26 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
Fixes coords-units-01-b.svg
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
* platform/graphics/svg/SVGPaintServerPattern.cpp:
(WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
(WebCore::SVGPaintServerPattern::contentBoundingBoxMode):
(WebCore::SVGPaintServerPattern::setContentBoundingBoxMode):
* platform/graphics/svg/SVGPaintServerPattern.h:
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::renderPath):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by ggaren
No test cases changed.
Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system
* platform/graphics/svg/SVGPaintServer.cpp:
(WebCore::SVGPaintServer::SVGPaintServer):
* platform/graphics/svg/SVGPaintServer.h:
* platform/graphics/svg/SVGPaintServerGradient.h:
* platform/graphics/svg/SVGPaintServerPattern.h:
* platform/graphics/svg/SVGPaintServerSolid.h:
* platform/graphics/svg/cg/SVGPaintServerCg.cpp:
(WebCore::SVGPaintServer::teardown):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
(WebCore::SVGPaintServerPattern::teardown):
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
(WebCore::SVGPaintServerSolid::setup):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-12-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adam Roben.
Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView()
when quitting from kcbs.com
No testcase because we can't open and close windows in DRT.
The crash was caused by deallocating plug-ins that were later referenced
in the unload event handler.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeDocument): Call didCloseDocument after closing
instead of before, so plugins don't get deallocated until the document
has been destroyed and all event handlers have fired.
* loader/FrameLoaderClient.h: Renamed "willCloseDocument" to "didCloseDocument",
since we call it after closing now.
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by rwlbuis.
Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
http://bugs.webkit.org/show_bug.cgi?id=11973
* ksvg2/svg/SVGLength.cpp:
(WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces
(WebCore::SVGLength::valueAsPercentage): new method
* ksvg2/svg/SVGLength.h:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::setup): return if malloc fails
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
(WebCore::SVGResourceMasker::applyMask): add comment about possible crash
2006-12-26 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
In the DOMParser class, we have to create content-type specific
documents, instead of a pure "Document" object. Real-life SVG
files us this way to convert strings "<svg><rect x=...></svg>
to a new Document structure.
Add new testcase dynamic-svg-document-creation.svg.
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
2006-12-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Removed WebCoreSettings, cleaned up WebCore::Settings.
* WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
* WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm.
Added Settings.cpp.
* page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call
through to Settings to get Settings data.
* page/Page.cpp: Added Settings data member, to replace the one that WebView
used to hold.
* page/Settings.cpp: Added.
* page/Settings.h:
- Renamed all functions to match WebKit API. Renamed all variables to
match functions. Favorite old name: "isPluginsEnabled."
- Moved EditableLinkBehavior outside of the class. Having it inside
just made it harder to type.
- Merged in old WebCoreSettings functionality, like guarding against re-setting
to the same value, and making sure to update page layout.
- Paired setters and getters, putting setters first.
2006-12-26 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fix some minor style issues.
* ksvg2/svg/SVGPolygonElement.cpp:
(WebCore::SVGPolygonElement::toPathData):
* ksvg2/svg/SVGPolygonElement.h:
* ksvg2/svg/SVGPolylineElement.cpp:
(WebCore::SVGPolylineElement::toPathData):
* ksvg2/svg/SVGPolylineElement.h:
2006-12-26 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11963
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11123
Fix SVGList JS wrappers, which operate on POD types (ie. Point).
There exists a special JSSVGPODTypeWrapperCreatorForList class now,
which operators on specialized SVGPODList's. It makes it possible
to support stuff like "myList.getItem(0).value = 200", for POD lists.
Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGPODTypeWrapper.h:
(WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
(WebCore::JSSVGPODTypeWrapperCreatorForList::~JSSVGPODTypeWrapperCreatorForList):
(WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
* bindings/js/JSSVGPathSegListCustom.cpp:
(WebCore::updatePathSegContextMap):
(WebCore::removeFromPathSegContextMap):
(WebCore::JSSVGPathSegList::clear):
(WebCore::JSSVGPathSegList::initialize):
* bindings/js/JSSVGPointListCustom.cpp: Added.
(WebCore::JSSVGPointList::clear):
(WebCore::JSSVGPointList::initialize):
(WebCore::JSSVGPointList::getItem):
(WebCore::JSSVGPointList::insertItemBefore):
(WebCore::JSSVGPointList::replaceItem):
(WebCore::JSSVGPointList::removeItem):
(WebCore::JSSVGPointList::appendItem):
* bindings/scripts/CodeGeneratorJS.pm:
* ksvg2/misc/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::baseValueMap):
(WebCore::SVGDocumentExtensions::genericContextMap):
(WebCore::SVGDocumentExtensions::genericContext):
(WebCore::SVGDocumentExtensions::setGenericContext):
(WebCore::SVGDocumentExtensions::removeGenericContext):
(WebCore::SVGDocumentExtensions::hasGenericContext):
* ksvg2/svg/SVGAnimatedPathData.cpp:
* ksvg2/svg/SVGAnimatedPathData.h:
* ksvg2/svg/SVGAnimatedPoints.cpp:
* ksvg2/svg/SVGAnimatedPoints.h:
* ksvg2/svg/SVGLengthList.cpp:
(WebCore::SVGLengthList::SVGLengthList):
(WebCore::SVGLengthList::parse):
* ksvg2/svg/SVGLengthList.h:
* ksvg2/svg/SVGList.h:
(WebCore::SVGPODListItem::SVGPODListItem):
(WebCore::SVGPODListItem::operator Item&):
(WebCore::SVGPODListItem::operator const Item&):
(WebCore::SVGPODListItem::value):
(WebCore::SVGPODListItem::setValue):
(WebCore::SVGPODList::SVGPODList):
(WebCore::SVGPODList::initialize):
(WebCore::SVGPODList::getFirst):
(WebCore::SVGPODList::getLast):
(WebCore::SVGPODList::getItem):
(WebCore::SVGPODList::insertItemBefore):
(WebCore::SVGPODList::replaceItem):
(WebCore::SVGPODList::removeItem):
(WebCore::SVGPODList::appendItem):
* ksvg2/svg/SVGPathSegList.idl:
* ksvg2/svg/SVGPointList.cpp:
(SVGPointList::SVGPointList):
(SVGPointList::context):
* ksvg2/svg/SVGPointList.h:
* ksvg2/svg/SVGPointList.idl:
* ksvg2/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::SVGPolyElement):
(WebCore::SVGPolyElement::points):
(WebCore::SVGPolyElement::animatedPoints):
(WebCore::SVGPolyElement::parseMappedAttribute):
(WebCore::SVGPolyElement::notifyAttributeChange):
* ksvg2/svg/SVGPolyElement.h:
* rendering/RenderSVGText.cpp:
2006-12-25 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=10313
Reproducible crash when doing importStylesheet in javascript with
xsl files that use xsl:import
This doesn't fully address the bug, but makes a couple of steps
in that direction.
* xml/XSLTProcessor.cpp:
(WebCore::transformToString): Set m_stylesheet even if it's created implicitly,
rather than passed from outside. Always reset it in the end (this doesn't affect
Document::applyXSLTransform(), which was the only user of setXSLStylesheet()).
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.
2006-12-24 Mitz Pettel <mitz@webkit.org>
Reviewed by Maciej and Geoff.
- remove unused member variable m_styleSelectorDirty
No test possible (no functionality change)
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::recalcStyleSelector):
* dom/Document.h:
2006-12-24 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11952
style changes made through CSSMediaRule functions insertRule()
and deleteRule do not show up on the screen
Tests added:
* fast/dom/css-mediarule-deleteRule-update.html
* fast/dom/css-mediarule-insertRule-update.html
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
2006-12-24 Rob Buis <buis@kde.org>
Reviewed by Alexey.
Get rid of unused variable.
* ksvg2/svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::getTarget):
2006-12-23 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff.
http://bugs.webkit.org/show_bug.cgi?id=11933
REGRESSION: trying to change a property in a computed style declaration results in a crash
Test: fast/dom/computed-style-set-property.html
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put): Added a check for null m_impl->stylesheet(). Also, fixed
incorrect logic in Dashboard branch - it didn't return in time if removeProperty() raised
an exception (credit for noticing this bug goes to Geoff).
2006-12-23 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed by Geoff.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11940
Bad transparency in some cursor pointer images
* Resources/northEastResizeCursor.png:
* Resources/northEastSouthWestResizeCursor.png:
* Resources/northWestResizeCursor.png:
* Resources/northWestSouthEastResizeCursor.png:
* Resources/southEastResizeCursor.png:
* Resources/southWestResizeCursor.png:
2006-12-23 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11876
CSSMediaRule functions insertRule and deleteRule don't raise exceptions
Test added:
* fast/dom/css-mediarule-functions.html
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSRuleFunc::callAsFunction):
* css/CSSMediaRule.cpp: add exception handling
(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
* css/CSSMediaRule.h: add ExceptionCode arguments
* css/CSSMediaRule.idl: un-comment exceptions
2006-12-23 David Hyatt <hyatt@apple.com>
Fix 11942. The inheritable properties array is duplicated (lame). Make
sure to keep both in sync.
Reviewed by mitz
* css/CSSComputedStyleDeclaration.cpp:
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::):
2006-12-22 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brady Eidson.
Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com
(WebCore::FrameLoader::loadSubframe)
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::createFrame): Updated to reflect the fact that
createChildFrameNamed: now returns a WebCore::Frame* instead of a
WebCoreFrameBridge *.
* page/mac/WebCoreFrameBridge.h:
2006-12-22 David Hyatt <hyatt@apple.com>
Make sure to actually set the stroke thickness for text decorations.
Covered by bugzilla bug 11921.
Reviewed by mitz
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintDecorations):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
2006-12-22 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11934
Adding/removing SVGPathSeg* items to a SVGPathElement (through SVGPathSegList
interface) has live update problems, as the notifyAttributeChange() function
isn't called anywhere. The context param is currently stored per SVGPathSeg,
which is not needed - as it can be done using SVGPathSegList completely. It
wastes memory, that is fixed. In order to get rid of the context param in
SVGPathSeg, we need a way to map SVGPathSeg* objects to SVGStyledElement*
objects ("context element"). That is done using a new HashMap in the
SVGDocumentExtensions class.
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGPathSegListCustom.cpp: Added.
(WebCore::updatePathSegContextMap):
(WebCore::removeFromPathSegContextMap):
(WebCore::JSSVGPathSegList::getItem):
(WebCore::JSSVGPathSegList::insertItemBefore):
(WebCore::JSSVGPathSegList::replaceItem):
(WebCore::JSSVGPathSegList::removeItem):
(WebCore::JSSVGPathSegList::appendItem):
* bindings/scripts/CodeGeneratorJS.pm:
* ksvg2/misc/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::pathSegContextMap):
(WebCore::SVGDocumentExtensions::pathSegContext):
(WebCore::SVGDocumentExtensions::setPathSegContext):
(WebCore::SVGDocumentExtensions::removePathSegContext):
(WebCore::SVGDocumentExtensions::hasPathSegContext):
* ksvg2/svg/SVGList.h:
(WebCore::SVGList::getFirst):
(WebCore::SVGList::getLast):
* ksvg2/svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
(WebCore::SVGPathElement::createSVGPathSegMovetoRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathElement::createSVGPathSegArcAbs):
(WebCore::SVGPathElement::createSVGPathSegArcRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
(WebCore::SVGPathElement::svgMoveTo):
(WebCore::SVGPathElement::svgLineTo):
(WebCore::SVGPathElement::svgLineToHorizontal):
(WebCore::SVGPathElement::svgLineToVertical):
(WebCore::SVGPathElement::svgCurveToCubic):
(WebCore::SVGPathElement::svgCurveToCubicSmooth):
(WebCore::SVGPathElement::svgCurveToQuadratic):
(WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
(WebCore::SVGPathElement::svgArcTo):
(WebCore::SVGPathElement::pathSegList):
* ksvg2/svg/SVGPathElement.h:
* ksvg2/svg/SVGPathSeg.cpp: Removed.
* ksvg2/svg/SVGPathSeg.h:
(WebCore::SVGPathSeg::SVGPathSeg):
(WebCore::SVGPathSeg::~SVGPathSeg):
(WebCore::SVGPathSeg::toString):
* ksvg2/svg/SVGPathSegArc.cpp:
(WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
(WebCore::SVGPathSegArcAbs::setX):
(WebCore::SVGPathSegArcAbs::setY):
(WebCore::SVGPathSegArcAbs::setR1):
(WebCore::SVGPathSegArcAbs::setR2):
(WebCore::SVGPathSegArcAbs::setAngle):
(WebCore::SVGPathSegArcAbs::setLargeArcFlag):
(WebCore::SVGPathSegArcAbs::setSweepFlag):
(WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
(WebCore::SVGPathSegArcRel::setX):
(WebCore::SVGPathSegArcRel::setY):
(WebCore::SVGPathSegArcRel::setR1):
(WebCore::SVGPathSegArcRel::setR2):
(WebCore::SVGPathSegArcRel::setAngle):
(WebCore::SVGPathSegArcRel::setLargeArcFlag):
(WebCore::SVGPathSegArcRel::setSweepFlag):
* ksvg2/svg/SVGPathSegArc.h:
* ksvg2/svg/SVGPathSegClosePath.cpp:
* ksvg2/svg/SVGPathSegClosePath.h:
* ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
(WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
(WebCore::SVGPathSegCurvetoCubicAbs::setX):
(WebCore::SVGPathSegCurvetoCubicAbs::setY):
(WebCore::SVGPathSegCurvetoCubicAbs::setX1):
(WebCore::SVGPathSegCurvetoCubicAbs::setY1):
(WebCore::SVGPathSegCurvetoCubicAbs::setX2):
(WebCore::SVGPathSegCurvetoCubicAbs::setY2):
(WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
(WebCore::SVGPathSegCurvetoCubicRel::setX):
(WebCore::SVGPathSegCurvetoCubicRel::setY):
(WebCore::SVGPathSegCurvetoCubicRel::setX1):
(WebCore::SVGPathSegCurvetoCubicRel::setY1):
(WebCore::SVGPathSegCurvetoCubicRel::setX2):
(WebCore::SVGPathSegCurvetoCubicRel::setY2):
* ksvg2/svg/SVGPathSegCurvetoCubic.h:
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
* ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
(WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
(WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
(WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
(WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
(WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
(WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
(WebCore::SVGPathSegCurvetoQuadraticRel::setX):
(WebCore::SVGPathSegCurvetoQuadraticRel::setY):
(WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
(WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
* ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
* ksvg2/svg/SVGPathSegLineto.cpp:
(WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
(WebCore::SVGPathSegLinetoAbs::setX):
(WebCore::SVGPathSegLinetoAbs::setY):
(WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
(WebCore::SVGPathSegLinetoRel::setX):
(WebCore::SVGPathSegLinetoRel::setY):
* ksvg2/svg/SVGPathSegLineto.h:
* ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
(WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
(WebCore::SVGPathSegLinetoHorizontalAbs::setX):
(WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
(WebCore::SVGPathSegLinetoHorizontalRel::setX):
* ksvg2/svg/SVGPathSegLinetoHorizontal.h:
* ksvg2/svg/SVGPathSegLinetoVertical.cpp:
(WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
(WebCore::SVGPathSegLinetoVerticalAbs::setY):
(WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
(WebCore::SVGPathSegLinetoVerticalRel::setY):
* ksvg2/svg/SVGPathSegLinetoVertical.h:
* ksvg2/svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::SVGPathSegList):
(WebCore::SVGPathSegList::context):
* ksvg2/svg/SVGPathSegList.h:
* ksvg2/svg/SVGPathSegList.idl:
* ksvg2/svg/SVGPathSegMoveto.cpp:
(WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
(WebCore::SVGPathSegMovetoAbs::setX):
(WebCore::SVGPathSegMovetoAbs::setY):
(WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
(WebCore::SVGPathSegMovetoRel::setX):
(WebCore::SVGPathSegMovetoRel::setY):
* ksvg2/svg/SVGPathSegMoveto.h:
2006-12-22 Mitz Pettel <mitz@webkit.org>
Reviewed by Beth.
- fix http://bugs.webkit.org/show_bug.cgi?id=11903
REGRESSION: outline not drawn if line style is dashed.
This fixes a bunch of existing pixel tests.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorder):
2006-12-22 John Sullivan <sullivan@apple.com>
Reviewed by Kevin Decker
- renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
in anticipation of fixing it to work more correctly with grammar checking, where
only checking adjacent words isn't good enough.
* editing/Editor.h:
renamed markMisspellingsInAdjacentWords to markMisspellingsAfterTypingToPosition
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping):
updated for name change
* editing/mac/EditorMac.mm:
(WebCore::Editor::markMisspellingsAfterTypingToPosition):
renamed from markMisspellingsInAdjacentWords and added FIXME comment
2006-12-22 Eric Seidel <eric@webkit.org>
Reviewed by aroben.
http://bugs.webkit.org/show_bug.cgi?id=11912
Overriding visibility does not behave as expected.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint): allow children to draw when container is visibility='hidden'
2006-12-22 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Fix SVGPathSeg JS object creation. SVGPathSegList has to return
the actual SVGPathSegLineToAbs/MoveToRel... object instead of a pure
SVGPathSeg JS object.
* WebCore.xcodeproj/project.pbxproj:
* WebCore/bindings/js/JSSVGPathSegCustom.cpp: Added.
* bindings/scripts/CodeGeneratorJS.pm:
2006-12-21 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Fix for <rdar://problem/4897162> REGRESSION: Attempting to create a
new message in .Mac web mail causes Safari to crash
( KJS::DOMCSSStyleDeclaration::put() + 368 )
This was a regression from my clone-node change. This fix is very
simple.
* dom/StyledElement.cpp:
(WebCore::StyledElement::copyNonAttributeProperties): Must set the
data that getInlineStyleDecl() points to instead of setting
m_inlineStyleDecl directly. I also changed some variable names.
* dom/StyledElement.h: Don't need parameter name here.
2006-12-21 Adele Peterson <adele@apple.com>
Reviewed by Geoff.
- Fix for <rdar://problem/4895716> REGRESSION: Pressing return key in search field doesn't begin search
Test: fast/events/onsearch-enter.html
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Calls onSearch when handling "Enter". Also removed
special case for AppKit search fields, so now the enter event is considered handled here.
(WebCore::HTMLInputElement::onSearch): Added. Dispatches search event.
* html/HTMLInputElement.h: Added onSearch.
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::onSearch): Calls onSearch on the node.
2006-12-21 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brady Eidson.
Fixed <rdar://problem/4897205> ASSERTION FAILURE in ContainerNode::queuePostAttachCallback
when creating an iframe from an iframe onload handler
I added that assertion to try to "keep things simple," but I've found a
testcase that demonstrates why things need to be complicated.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::queuePostAttachCallback):
2006-12-21 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11919
Allow setting CSS values to null.
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put):
(KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
Convert null values to null strings.
2006-12-21 Rob Buis <buis@kde.org>
Reviewed by Anders.
http://bugs.webkit.org/show_bug.cgi?id=11898
CSSMediaRule functions insertRule and deleteRule assert when called from js in debug builds
Test explicitly for the two media rule functions so it ends up calling callAsFunction.
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSRule::getOwnPropertySlot):
2006-12-21 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
* loader/FrameLoaderClient.h:
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::partClearedInBegin):
(WebCore::FrameLoader::restoreDocumentState):
comment out a few notImplemented() warnings
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::bindingRootObject):
(WebCore::FrameQt::addPluginRootObject):
* platform/qt/FrameQt.h:
implement these
2006-12-20 David Hyatt <hyatt@apple.com>
Make sure the execrable match-nearest-mail-blockquote-color CSS property is actually initialized (amazingly
it started off with the value "match", since it wasn't even initialized). Now that it is actually being
initialized and properly copied and assigned to, tests have failed. It seems that we were getting the
behavior of "match" by default, when the initial value was supposed to be "normal."
Because this property really should not exist at all, it's unclear to me what the right solution is here.
* rendering/RenderStyle.cpp:
(WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
(WebCore::StyleCSS3NonInheritedData::operator==):
* rendering/RenderStyle.h:
2006-12-20 Brady Eidson <beidson@apple.com>
Reviewed by Adam's rubberstamp
Accidentally left a logging channel on in my checkin
* platform/Logging.cpp:
(WebCore::):
2006-12-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fix removeItem recursively calling itself (!). It was meant to call m_vector.remove(index)
not removeItem(index, ec). This bug is in SVN for quite some time now :-)
* ksvg2/svg/SVGList.h:
(WebCore::SVGList::removeItem):
2006-12-20 David Harrison <harrison@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4893376> REGRESSION: Crash occurs at WebCoreFrameBridge fontForSelection: when drag selecting from a line break
No layout test added because crash only happens in path where editing window is key,
which is never the case for the automated tests.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge fontForSelection:]):
Add nil check of fontForSelection() result.
2006-12-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Maciej.
Fix dynamic gradient changes, via JS. It actually worked before, but it
wasn't repainted. Behave just like the pattern notifyAttributeChange() code now.
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::notifyAttributeChange):
2006-12-20 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Fixed <rdar://problem/4809825>. We need to check isSafeScript when converting
a Location to string.
It's really a bug, and poor design, for objects to override toString.
Subclasses that want custom toString implementations should add a toString
function to their prototypes instead of overriding the JavaScript ToString
operation. Following this design pattern would have avoided this bug in the
first place.
* bindings/js/kjs_window.cpp:
(KJS::Location::toString):
2006-12-20 David Hyatt <hyatt@apple.com>
Fix SVG stroking. Make strokeThickness() get pushed into CG immediately
when set in the GraphicsContext. Remove setLineWidth since it is
redundant with setStrokeThickness now.
Reviewed by mitz
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setLineWidth):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawGlyphs):
2006-12-20 David Hyatt <hyatt@apple.com>
Fix for bug 11893, white text on form controls. Just make sure that
all form control drawing in RenderTheme is bracketed by save/restore
calls.
Reviewed by adele
* platform/mac/LocalCurrentGraphicsContext.h:
* platform/mac/LocalCurrentGraphicsContext.mm:
(WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext):
(WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):
2006-12-20 Mark Rowe <bdash@webkit.org>
Reviewed by Anders.
Fix leak of CGContextRef from GraphicsContext::createImageBuffer.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext.
2006-12-20 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/4871993> WebCore-421.31 build fails with "Public API change" error when gcc 3.3 is the default compiler
* bindings/scripts/CodeGeneratorObjC.pm: ignore blank lines in the public API check
2006-12-20 David Harrison <harrison@apple.com>
Reviewed by John Sullivan.
<rdar://problem/4570218> REGRESSION (?-10.4.7): cntl-K only works the first time
Test:
* editing/deleting/delete-to-end-of-paragraph.html
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::forwardDeleteKeyPressed):
If the selection was a caret at the end of the paragraph, extend selection so it wraps to the start of next paragraph (if any),
2006-12-20 Nikolas Zimmermann <zimmermann@kde.org>
Build fix, reviewed by Mitz.
Fix mac build, by using proper float -> int conversion.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
2006-12-20 David Hyatt <hyatt@apple.com>
Make sure text decoration colors prefer stroke over fill (and honor both of the new CSS properties added
for these values over color).
Reviewed by mitz
Added fast/text/stroking-decorations.html
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintDecorations):
* rendering/RenderObject.cpp:
(WebCore::decorationColor):
(WebCore::RenderObject::getTextDecorationColors):
2006-12-20 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11746
REGRESSION(r14931): Outlook Web Access incorrectly positions the insertion point when replying to e-mail
Set caret at beginning of text on initial focus.
Test: fast/forms/textarea-initial-caret-position.html
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
2006-12-20 David Hyatt <hyatt@apple.com>
Fix for bug 11889, support stroking and filling of HTML text from CSS. This patch adds four new CSS properties:
text-fill-color, text-stroke-color, text-stroke-width and text-stroke (a shorthand for the other two). Text
is filled and not stroked by default and does so using the text-fill-color. If this property is not set, then
color is used.
Stroking is accomplished by setting a stroke width. Stroke color, if omitted, will be picked up from the color
property. You can set either color to be transparent or partially transparent. A fully transparent fill color is
the way to achieve an "outline" effect where only stroking happens.
Stroking and filling are both customizable inside the ::selection pseudo-element, and so when selecting you can
vary colors and widths.
text-shadow applies to both the stroke and the fill.
text-decorations do not yet respect the stroke/fill colors. This will follow in a later patch.
Reviewed by mitz
Added fast/text/stroking.html as a layout test. Enhanced RenderTreeAsText.cpp to dump fill and stroke information.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPropertyNames.in:
* css/cssparser.cpp:
(WebCore::CSSParser::parseValue):
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawGlyphs):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::placeBoxesHorizontally):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::maxHorizontalVisualOverflow):
* rendering/InlineTextBox.cpp:
(WebCore::updateGraphicsContext):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::selectionForegroundColor):
* rendering/RenderStyle.cpp:
(WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
(WebCore::StyleCSS3InheritedData::operator==):
(WebCore::RenderStyle::diff):
* rendering/RenderStyle.h:
(WebCore::RenderStyle::textStrokeColor):
(WebCore::RenderStyle::textStrokeWidth):
(WebCore::RenderStyle::textFillColor):
(WebCore::RenderStyle::setTextStrokeColor):
(WebCore::RenderStyle::setTextStrokeWidth):
(WebCore::RenderStyle::setTextFillColor):
(WebCore::RenderStyle::initialTextStrokeWidth):
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<):
2006-12-19 Adele Peterson <adele@apple.com>
Reviewed by Anders.
- Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set
Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler.
Test: editing/selection/select-all-user-select-none.html
* editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Make sure canSelect is true on the root renderer.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::canSelectAll): Check canSelect here.
(WebCore::HTMLSelectElement::selectAll): Added nil check for renderer.
(WebCore::HTMLSelectElement::defaultEventHandler): Return early if the event has been handled.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Check canSelect here.
* html/HTMLSelectElement.h:
2006-12-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adele.
<rdar://problem/4701860>
http://bugs.webkit.org/show_bug.cgi?id=11010
[9A255] Crash in WebCore::EventTargetNode::dispatchEvent
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::notifyFinished):
Ref the script element while running the script since it can be freed
when executing the script.
2006-12-19 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- <rdar://problem/4885227>
frame resizing is now live and no longer does direct drawing
* html/HTMLFrameSetElement.h: Made frameBorder() and noResize() const.
Added rowLengths() and colLengths() getters so that we don't have to
have RenderFrameSet as a friend. Stopped using bit fields.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler): Removed now-uneeded
check for contextmenu events. Look at return value from userResize to
decide whether to mark the event as "default handled". In the case where
the event is handled, don't call through to the base class.
* rendering/RenderFrameSet.h: No longer mark HTMLFrameSetElement as a
friend. Made positionFrames and canResize private, and changed canResize
to take an IntPoint. Added isResizingRow, isResizingColumn, canResizeRow,
and canResizeColumn functions to be used soon for cursor feedback.
Removed override of non-virtual element() function and replaced it with
a private frameSet() inline function. Grouped all the data members for
each axis into a GridAxis class, and made one called m_cols and one called
m_rows. Used vectors for the resizable bits of this instead of new/delete
arrays. Added a constant named "noSplit" so we don't have to use -1
everywhere explicitly for this purpose. Renamed setResizing to
setIsResizing and made it private. Eliminated resizing() function.
Added new private helper functions, layOutAxis, findNonResizableSplits,
splitPosition, hitTestSplit, startResizing, and continueResizing.
Renamed m_resizing to m_isResizing, and m_clientResizing to
m_isChildResizing.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::RenderFrameSet): Removed now-unneeded initialization
that is handled by the GridAxis and Vector constructors.
(WebCore::RenderFrameSet::~RenderFrameSet): Ditto (for destructors).
(WebCore::RenderFrameSet::GridAxis::GridAxis): Added.
(WebCore::RenderFrameSet::frameSet): Added. Inline function so we don't have
to cast the result of node() or element() everywhere.
(WebCore::RenderFrameSet::nodeAtPoint): Updated for name changes.
(WebCore::RenderFrameSet::GridAxis::resize): Added. Helper function to be used
in the layout function.
(WebCore::RenderFrameSet::layOutAxis): Added. Factored out the part of the
layout function that used to be inside a for loop for the two axes.
The algorithm is otherwise unchanged.
(WebCore::RenderFrameSet::findNonResizableSplits): Added. Factored out the
code that set up the "split variable" arrays from the layout function.
(WebCore::RenderFrameSet::layout): Moved the bulk of this function into the
new helpers. This allowed me to remove the use of goto.
(WebCore::RenderFrameSet::positionFrames): Updated for change to data structures.
Also added some more local variables for clarity.
(WebCore::RenderFrameSet::startResizing): Added. Code factored out of the
userResize function that handles mousedown events that might begin a resize.
(WebCore::RenderFrameSet::continueResizing): Added. Code factored out of the
userResize function that handles mouse events that continue a resize already
in progress, including mouseup events that end the resizing. Uses the new
splitPosition function so it can be used over and over again while resizing.
(WebCore::RenderFrameSet::userResize): Restructured to use the new helper
functions. Removed the direct drawing of a gray bar during mouse movement;
instead we do the resizing live.
(WebCore::RenderFrameSet::setIsResizing): Updated for name changes.
(WebCore::RenderFrameSet::isResizingRow): Added.
(WebCore::RenderFrameSet::isResizingColumn): Added.
(WebCore::RenderFrameSet::canResize): Changed to use hitTestSplit for clarity.
(WebCore::RenderFrameSet::canResizeRow): Added.
(WebCore::RenderFrameSet::canResizeColumn): Added.
(WebCore::RenderFrameSet::splitPosition): Added.
(WebCore::RenderFrameSet::hitTestSplit): Added. Contains the guts of the code
that was used both in canResize and userResize before -- now it's shared.
(WebCore::RenderFrameSet::dump): Updated for name changes.
2006-12-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
Added Selection::removeAllRanges() and ::addRange()
* bindings/js/kjs_window.cpp:
(KJS::SelectionFunc::callAsFunction): Added the bindings for
the two new functions.
* bindings/js/kjs_window.h:
(KJS::Selection::):
* editing/SelectionController.cpp:
(WebCore::SelectionController::removeAllRanges): Equivalent
to clear().
(WebCore::SelectionController::addRange): Until we support
discontiguous selections, the new selected range is the
union of the old selected range and the passed range if
the two intersect, and the old range if they don't.
* editing/SelectionController.h:
2006-12-19 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/4860924> outerHTML gives an out-of-date
result when applied to a clone
We were only copying the m_inlineStyleDecl over to clones, but we
need to copy m_isStyleAttributeValid and
m_synchronizingStyleAttribute as well to know when we have to
update style, etc.
* dom/StyledElement.cpp:
(WebCore::StyledElement::copyNonAttributeProperties): Copy over all
three member variables.
* dom/StyledElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::cloneNode): No longer need to copy the
inline style decl explicitly because copyNonAttributeProperties()
will take care of it.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::copyNonAttributeProperties): Call into
parent class implementation. This is important now that there is
more than one implementation of this function.
2006-12-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Fixed http://bugs.webkit.org/show_bug.cgi?id=11880
REGRESSION (r18304): Assertion failure in -[WebHTMLView _canProcessDragWithDraggingInfo:]
when dragging over the window's a scroll bar (innerFrame)
RenderLayer needs to check 'active,' when deciding what to do if hit testing
hasn't hit anything, because we want the default hit testing mechanism to return the
document when we hit a scrollbar.
This problem shows that the idea of 'capturing' was a little too ambitious
in hit testing, at least given the current state of things. So, I've replaced
'capturing' with 'mouseUp,' the condition that provided the immediate need
for the capturing flag in the first place.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseMoveEvent):
* rendering/HitTestRequest.h: Removed 'capturing'
(WebCore::HitTestRequest::HitTestRequest):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
2006-12-19 Brady Eidson <beidson@apple.com>
Reviewed by Ada
Added a logging channel for network activity for loader work
* platform/Logging.cpp:
(WebCore::):
* platform/Logging.h:
* platform/mac/LoggingMac.mm:
(WebCore::InitializeLoggingChannelsIfNecessary):
2006-12-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by hyatt
<rdar://problem/4888891>
Docs & Spreadsheets: Comment fails to insert if text is selected in the document
* dom/Range.cpp:
(WebCore::Range::surroundContents): If startContainer is a text node,
it will be split when the range is extracted, and it will be its parent
that will have to accept newParent. Also cleaned up some code with
isDescendantOf.
2006-12-19 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
<rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
* WebCore.xcodeproj/project.pbxproj:
2006-12-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fix SVGList index validation (off-by-one error).
Adding new testcase js-font-test.svg, which uses SVGLengthList interface.
(This is a very old ksvg1 testcase, adopted for SVG1.1)
* ksvg2/svg/SVGList.h:
(WebCore::SVGList::getItem):
(WebCore::SVGList::replaceItem):
(WebCore::SVGList::removeItem):
2006-12-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11879
Fix pattern on stroke/fill of text.
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::notifyAttributeChange):
* platform/graphics/svg/SVGPaintServerGradient.cpp:
(WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
2006-12-19 Alice Liu <alice.liu@apple.com>
Build fix
* platform/graphics/ImageBuffer.cpp:
2006-12-19 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=7296
JavaScript error not thrown when trying to set a CSS property to an invalid value
* bindings/js/kjs_css.cpp:
(KJS::DOMCSSStyleDeclaration::put): When not in Dashboard compatibility mode,
raise exception for invalid values. Also removed an unnecessary call to
removeProperty(), which prevented the property value from being preserved in
error case.
* css/CSSMutableStyleDeclaration.cpp:
(WebCore::CSSMutableStyleDeclaration::setProperty): Moved the handling of
empty property values here. Also removed an unnecessary call to removeProperty().
2006-12-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
* dom/Document.h:
* page/EventHandler.h:
Use correct forward declarations for HitTestRequest.
2006-12-19 Nikolas Zimmermann <zimmermann@kde.org>
Build fix, not reviewed.
Fix Qt/Linux build. Missing GraphicsContext.h include.
Fix Mac build, by adding lroundf() (I swear this compiled w/o that, locally :-)
* platform/graphics/qt/ImageBufferQt.cpp:
* ksvg2/svg/SVGPatternElement.cpp:
2006-12-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Sam. Previous attempts reviewed by Oliver & Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867
Bring back masking, by adding off-screen rendering functionality in GraphicsContext.
Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)"
function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.)
Mask image sizes are dynamically calculated using the passed bounding box in applyMask,
as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048
anymore, but are as well dynamically calculated using getAbsoluteRepaintRect().
Add new ImageBuffer class encapsulating the size of the image, a platform-specific
handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained
via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees
of the rendering tree into a ImageBuffer (see renderSubtreeToImage function)
ImageBufferCG is completly implemented, ImageBufferQt is stubbed.
Also add correct default values for x/y/width/height of <mask>.
Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot.
* CMakeLists.txt:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/svg/SVGFEImageElement.cpp:
* ksvg2/svg/SVGImageElement.cpp:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::attributeChanged):
(WebCore::SVGMaskElement::parseMappedAttribute):
(WebCore::SVGMaskElement::drawMaskerContent):
(WebCore::SVGMaskElement::canvasResource):
* ksvg2/svg/SVGMaskElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::notifyAttributeChange):
* ksvg2/svg/SVGPatternElement.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/ImageBuffer.cpp: Added.
(WebCore::ImageBuffer::renderSubtreeToImage):
* platform/graphics/ImageBuffer.h: Added.
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::createImageBuffer):
* platform/graphics/cg/ImageBufferCG.cpp: Added.
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):
(WebCore::ImageBuffer::size):
(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::cgImage):
* platform/graphics/mac/GraphicsContextMac.mm:
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::createImageBuffer):
* platform/graphics/qt/ImageBufferQt.cpp: Added.
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):
(WebCore::ImageBuffer::size):
(WebCore::ImageBuffer::context):
* platform/graphics/svg/SVGPaintServerGradient.h:
* platform/graphics/svg/SVGPaintServerPattern.cpp:
(WebCore::SVGPaintServerPattern::tile):
(WebCore::SVGPaintServerPattern::setTile):
* platform/graphics/svg/SVGPaintServerPattern.h:
* platform/graphics/svg/SVGResourceImage.h: Removed.
* platform/graphics/svg/SVGResourceMasker.cpp:
(WebCore::SVGResourceMasker::setMask):
(WebCore::SVGResourceMasker::mask):
* platform/graphics/svg/SVGResourceMasker.h:
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::renderPath):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::patternCallback):
(WebCore::SVGPaintServerPattern::setup):
* platform/graphics/svg/cg/SVGResourceImageCg.cpp: Removed.
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
(WebCore::SVGResourceMasker::applyMask):
* platform/graphics/svg/qt/SVGResourceImageQt.cpp: Removed.
2006-12-19 David Hyatt <hyatt@apple.com>
Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first
constructing a GraphicsContextCG. Because Safari actually draws text in the bookmarks bar using GraphicsContext
and sets a fill color, this could only really be seen in another WebKit app.
Patched GraphicsContextQt as well, since it has the same pattern.
Reviewed by bdash
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::setCGFillColor):
(WebCore::setCGStrokeColor):
(WebCore::GraphicsContext::GraphicsContext):
2006-12-19 Lars Knoll <lars@trolltech.com>
Reviewed by Rob.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::URL):\
Fix a crash, because of the incompletely ported loader
* platform/qt/FontQt.cpp:
(WebCore::Font::drawGlyphs):
Adapt to the changes in GraphicsContext
2006-12-19 David Hyatt <hyatt@apple.com>
Convert stroke thickness to a float. This allows the thickness argument to strokeArc to be eliminated.
Reviewed by olliej
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::strokeThickness):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorderArc):
2006-12-19 David Hyatt <hyatt@apple.com>
Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in
thickness. Now the method is purely about stroking an arc and always uses the passed in thickness. Fix the
border-radius code that calls the method so that it makes more sense now. If stroke thickness is converted
to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc.
Make sure to get square list markers right by setting both stroke and fill color properly.
Reviewed by mitz, olliej
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::strokeArc):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::strokeArc):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorderArc):
2006-12-18 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Fixed <rdar://problem/4549745> REGRESSION: scrolling on Google maps
continues after the mouse is released outside the window (8137)
The RenderLayer hit testing code assumed that, when the mouse was outside
the WebView, we only needed to capture mouse events while the mouse was
down (in other words, mouse move events). We actually need to capture mouse
up events, as well.
* dom/Document.cpp:
(WebCore::Document::prepareMouseEvent): To match EventHandler::prepareMouseEvent,
I changed this function to take a HitTestRequest instead of the broken-out values of one.
For clarity, I moved an assert to top of function.
(WebCore::Document::addMarker): Removed stray character.
* dom/Document.h:
* page/EventHandler.cpp: Changed prepareMouseEvent to take a HitTestRequest,
instead of the broken-out values of one. This simplified the code, and made
the task of adding an extra, optional parameter to hit testing much easier.
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent): Set the 'capturing' flag
if the move occurs while the mouse is down. This replaces RenderLayer's
heavy-handed assumption that we should always capture if the mouse is down.
(WebCore::EventHandler::handleMouseReleaseEvent): Set the 'capturing'
flag, since we assume every mouse up follows a mouse down inside the WebView.
(We'd like to ASSERT as much, but DRT's event sending mechanism is crazy, and
violates this axiom.)
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::hoverTimerFired):
* page/EventHandler.h:
* rendering/HitTestRequest.h:
(WebCore::HitTestRequest::HitTestRequest): Added 'capturing' data member,
which specifies whether the hit test should capture mouse events that occur
outside the WebView.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer): Moved misleading comment to where
it actually applies. Changed 'active' test to new 'capturing' test, so
the hit test requester can decide whether we need to capture mouse events
that don't intersect any layer.
2006-12-18 David Hyatt <hyatt@apple.com>
Make sure a stroke style is set for list bullets.
Reviewed by mitz
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
2006-12-18 Ada Chan <adachan@apple.com>
Reviewed by Adam.
Moved implementation of Frame::scheduleClose to Frame.cpp.
Added canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
in Chrome and ChromeClient.
* WebCore.exp:
* bridge/win/FrameWin.h:
* page/Chrome.cpp:
(WebCore::Chrome::canRunBeforeUnloadConfirmPanel):
(WebCore::Chrome::runBeforeUnloadConfirmPanel):
(WebCore::Chrome::closeWindowSoon):
* page/Chrome.h:
* page/ChromeClient.h:
* page/Frame.cpp:
(WebCore::Frame::shouldClose):
(WebCore::Frame::scheduleClose):
* page/Frame.h:
* page/mac/FrameMac.h:
* page/mac/FrameMac.mm:
* page/mac/WebCoreFrameBridge.h:
* platform/gdk/FrameGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
(FrameGdk::issuePasteCommand):
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQt.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::issuePasteCommand):
2006-12-18 Alice Liu <alice.liu@apple.com>
Reviewed by Adam.
Fixed <rdar://problem/4766174> REGRESSION(r16081): Aspect eWFM: Unable to log in
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didExplicitOpen):
2006-12-18 David Hyatt <hyatt@apple.com>
Add save/restore calls around the painting of text areas on Mac, since the methods in question
alter the current fill color in CG destructively.
Reviewed by olliej
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintButton):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
2006-12-18 David Hyatt <hyatt@apple.com>
Fix list markers to properly stroke and fill. I screwed this up when changing how text draws.
Reviewed by olliej
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
2006-12-18 David Hyatt <hyatt@apple.com>
Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the
stroke color. This also makes it easier for us to push only stroke color through into CG synchronously
while leaving the others alone.
Reviewed by olliej
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContext::setStrokeThickness):
(WebCore::GraphicsContext::setStrokeStyle):
(WebCore::GraphicsContext::setStrokeColor):
(WebCore::GraphicsContext::strokeThickness):
(WebCore::GraphicsContext::strokeStyle):
(WebCore::GraphicsContext::strokeColor):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
* platform/graphics/GraphicsContext.h:
(WebCore::):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::drawArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::setPlatformStrokeColor):
* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::toQPenStyle):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawGlyphs):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paintDecorations):
* rendering/InlineTextBox.cpp:
(WebCore::updateTextColor):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintDecoration):
(WebCore::InlineTextBox::paintMarkedTextUnderline):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
* rendering/RenderBox.cpp:
* rendering/RenderBox.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawBorderArc):
(WebCore::RenderObject::drawBorder):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paint):
* rendering/RenderText.cpp:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuListButton):
2006-12-18 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix <rdar://problem/4889565> REGRESSION (r17597): Command-clicking a submit
button does not submit in a new tab/window
http://bugs.webkit.org/show_bug.cgi?id=11858
- change DOMActivate events to be created as a part of default handling of
click events instead of having the sender of the click event also send
a DOMActivate event
- fixed some edge cases in the slider thumb element handler; since this is
inside a shadow DOM, it's likely none of these can arise in practice
No easy way to test the command-click part since the behavior is in Safari.
To make a test we'd have to provide JavaScript access to the modifiers passed
to the policy delegate or have some way to query the underlying event from
JavaScript.
* dom/EventTargetNode.cpp: Change all assert to ASSERT.
(WebCore::EventTargetNode::dispatchMouseEvent): Renamed some local variables
for clarity. Added a RefPtr for relatedTarget since it might be deallocated
by the handlers for the click event and is used in the code that creates the
dblclick event. Removed the code to create a DOMActivate event, since that's
now done in the default event handler for the click event.
(WebCore::EventTargetNode::defaultEventHandler): Added code to check for a
click event and dispatch a DOMActivate event using the click event as the
underlying event. The part of this that fixes the bug is that we use the
click event as the underlying event; the old code used the same underlying
event as for the click event, not the click event itself. The underlying event
for the click event is usually 0, since we propagate the key state to the click
event instead of using an underlying event in the common case.
* dom/Document.cpp: (WebCore::Document::defaultEventHandler): Added call
to the base class's defaultEventHandler function, except in the case where
the event is already handled.
* html/HTMLInputElement.h: Removed clickX() and clickY().
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData): Use xPos and yPos directly,
so we can remove clickX() and clickY().
(WebCore::HTMLInputElement::defaultEventHandler): Removed code that calls
setDefaultHandled for click events since we are just recording the x and y
coordinates of the events; that's not "handling" an event, and setting
the flag prevents us from calling the base class's default event handler,
which is now needed to submmit the form.
* rendering/RenderSlider.cpp:
(WebCore::HTMLSliderThumbElement::defaultEventHandler):
Added some missing isMouseEvent checks in code that casts to a MouseEvent.
Added check document()->frame() in code that manipulates the frame so that
fake events, which might happen when there's no frame, can't cause a crash.
Added an m_inDragMode check so we don't try to handle mouseup events when
we are not handling a drag. Remove the setDefaultHandled call from the
mousemove case, because mousemove events are observed, and not "handled"
in the "nobody else should look at this event" sense. Added a call to the
base class's default event handler, and some return statements so that we
won't call it when the event has been handled.
* html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
Removed an unneeded "return" for a function that has no return value.
2006-12-18 Beth Dakin <bdakin@apple.com>
Reviewed by Adele.
Fix for <rdar://problem/4749770> WebCore crashes on a blog website
in WebCore::InlineBox::root() + 6
We null-check inlineBoxWrapper everywhere else in the code except
for these 3 spots. This patch adds them in. Only one of the checks
is required to fix the crash. What we render for the test case now
matches shipping Safari, but still seems wrong because we do not
match Firefox. I will file a follow-up about the rendering problem.
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::positionListMarker): This is the required
null-check.
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::setSelectionState): Null-check for
safety.
(WebCore::RenderListMarker::selectionRect): Same.
2006-12-18 David Hyatt <hyatt@apple.com>
Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing
call on Mac. Fix is rather involved:
(1) Fill color is now updated in CG synchronously. There is no more delay in the push. I used the model that
Qt added for this, setPlatformFillColor, so we're the same now.
(2) Text was being drawn using the pen color, which is tantamount to using the stroke color. Since text in HTML
is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead
of the pen.
(3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip.
Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText
method on their Font class to get the new functionality.
(4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill.
(5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object
as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color.
Reviewed by olliej
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContext::textDrawingMode):
(WebCore::GraphicsContext::setTextDrawingMode):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setPlatformPen):
* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setPlatformFillColor):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
(WebCore::SVGPaintServerPattern::teardown):
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
(WebCore::SVGPaintServerSolid::setup):
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawGlyphs):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::correctedTextColor):
(WebCore::updateTextColor):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintMarkedTextBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
2006-12-18 Matt Perry <mpcomplete@chromium.org>
Reviewed by Maciej.
Bug 11760: Animated GIFs with offsets crash WebKit
http://bugs.webkit.org/show_bug.cgi?id=11760
* platform/image-decoders/gif/GIFImageDecoder.cpp:
ensure we don't write past the end of the image buffer when the offset
is nonzero. also fix the way we composite frames when animating.
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
2006-12-18 Pam Greene <pam@chromium.org>
Reviewed by Darin.
Changed hidden input controls to reset to their initial values
when the form is reset. Also added layout tests for resetting
other input controls.
Fixes http://bugs.webkit.org/show_bug.cgi?id=11866
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2006-12-18 Alice Liu <alice.liu@apple.com>
Oops forgot a file.
* editing/EditorDeleteAction.h: Added.
(WebCore::):
2006-12-18 Alice Liu <alice.liu@apple.com>
Reviewed by Adam.
Have the Editor handle deletion instead of WebHTMLView
* WebCore.exp:
Exposed Editor::deleteWithDirection and ::deleteRange()
* WebCore.xcodeproj/project.pbxproj:
Added EditorDeleteAction.h
* editing/Editor.cpp:
(WebCore::Editor::deleteRange):
(WebCore::Editor::deleteWithDirection):
Implemented
(WebCore::Editor::deleteSelectionWithSmartDelete):
Overloaded to take no params, in which case canSmartCopyOrDelete is called
(WebCore::execCopy):
(WebCore::execCut):
(WebCore::execDelete):
(WebCore::execPaste):
Call the editor instead of asking frame to cut/copy/paste/delete
(WebCore::execBackwardDelete):
(WebCore::execForwardDelete):
Call deleteWithDirection instead of just executing a TypingCommand
(WebCore::CommandEntry::):
distinguished delete (which deletes selection) from backwards delete (single character, no selection)
(WebCore::Editor::cut):
(WebCore::Editor::performDelete):
Trivial changes
* editing/Editor.h:
Added some functons.
(WebCore::Editor::setStartNewKillRingSequence):
(WebCore::Editor::propogateDOMException):
(WebCore::Editor::addToKillRing):
* editing/mac/EditorMac.mm:
Factored out support for Kill Rings to this file
* platform/mac/PasteboardMac.mm:
Trivial change
2006-12-18 Kevin McCullough <KMcCullough@apple.com>
Reviewed by Oliver.
- Removed CG header include
* platform/graphics/ImageSource.h:
2006-12-18 John Sullivan <sullivan@apple.com>
Reviewed by Tim Hatcher
- fixed <rdar://problem/4887764> GMAIL: Crash occurs at WebCore::Range::cloneRange()
when I ctrl-click in a empty list item
* editing/mac/EditorMac.mm:
(WebCore::isRangeUngrammatical):
bail out immediately for nil range (which selectionController()->toRange().get()
can return). Also save some work by bailing out immediately for collapsed ranges.
2006-12-18 Alice Liu <alice.liu@apple.com>
Leopard build fix.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::checkOrEnableIfNeeded):
2006-12-17 Zack Rusin <zack@kde.org>
Fix compilation after the const changes.
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
2006-12-17 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10956
Long standing regression. The old code in FontMac.mm, used set the fill/stroke
color "[nsColor(graphicsContext->pen().color()) set];", and current code only
sets the fill color. Reverting to old behaviour fixes gradient-on-stroke-of-text.
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::setup):
* platform/mac/FontMac.mm:
(WebCore::Font::drawComplexText):
(WebCore::Font::drawGlyphs):
2006-12-17 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed, tweaked and landed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11798
[CSS 3] missing cursor support for 'none'
* Resources/noneCursor.png: Added.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSValueKeywords.in:
* css/cssparser.cpp: Also fixed previously broken -webkit-background-composite: copy.
* manual-tests/cursor.html:
* page/EventHandler.cpp:
(WebCore::selectCursor):
* platform/Cursor.h:
* platform/gdk/CursorGdk.cpp:
(WebCore::noneCursor):
* platform/mac/CursorMac.mm:
(WebCore::noneCursor):
* platform/qt/CursorQt.cpp:
(WebCore::noneCursor):
* platform/win/CursorWin.cpp:
(WebCore::noneCursor):
* rendering/RenderStyle.h:
(WebCore::):
2006-12-17 Nikolas Zimmermann <zimmermann@kde.org>
Build fix, not reviewed.
This should hopefully fix Qt build.
* ksvg2/svg/SVGLength.cpp: Include math.h for Qt/Linux build.
2006-12-17 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Remove SVGHelper class. Move the last static function "parseSeparatedList"
to the only place using it: SVGAnimationElement. Update all build files.
Remove any lazy_create macro usage, by what it does - cleaner.
* CMakeLists.txt:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
* ksvg2/svg/SVGAElement.cpp:
* ksvg2/svg/SVGAnimationElement.cpp:
(WebCore::parseSeparatedList):
(WebCore::SVGAnimationElement::parseMappedAttribute):
* ksvg2/svg/SVGCircleElement.cpp:
* ksvg2/svg/SVGClipPathElement.cpp:
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
* ksvg2/svg/SVGCursorElement.cpp:
* ksvg2/svg/SVGEllipseElement.cpp:
* ksvg2/svg/SVGExternalResourcesRequired.cpp:
* ksvg2/svg/SVGFEBlendElement.cpp:
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
* ksvg2/svg/SVGFECompositeElement.cpp:
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
* ksvg2/svg/SVGFEFloodElement.cpp:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
* ksvg2/svg/SVGFEImageElement.cpp:
* ksvg2/svg/SVGFELightElement.cpp:
* ksvg2/svg/SVGFEMergeElement.cpp:
* ksvg2/svg/SVGFEMergeNodeElement.cpp:
* ksvg2/svg/SVGFEOffsetElement.cpp:
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
* ksvg2/svg/SVGFETileElement.cpp:
* ksvg2/svg/SVGFilterElement.cpp:
* ksvg2/svg/SVGForeignObjectElement.cpp:
* ksvg2/svg/SVGGradientElement.cpp:
* ksvg2/svg/SVGHelper.cpp: Removed.
* ksvg2/svg/SVGHelper.h: Removed.
* ksvg2/svg/SVGImageElement.cpp:
* ksvg2/svg/SVGLength.cpp:
* ksvg2/svg/SVGLineElement.cpp:
* ksvg2/svg/SVGLinearGradientElement.cpp:
* ksvg2/svg/SVGMarkerElement.cpp:
* ksvg2/svg/SVGMaskElement.cpp:
* ksvg2/svg/SVGPathElement.cpp:
* ksvg2/svg/SVGPatternElement.cpp:
* ksvg2/svg/SVGPolyElement.cpp:
* ksvg2/svg/SVGRadialGradientElement.cpp:
* ksvg2/svg/SVGRectElement.cpp:
* ksvg2/svg/SVGStopElement.cpp:
* ksvg2/svg/SVGStyledElement.cpp:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
* ksvg2/svg/SVGSymbolElement.cpp:
* ksvg2/svg/SVGTests.cpp:
* ksvg2/svg/SVGTextContentElement.cpp:
* ksvg2/svg/SVGTextElement.cpp:
* ksvg2/svg/SVGTextPositioningElement.cpp:
* ksvg2/svg/SVGTransformable.cpp:
* ksvg2/svg/SVGURIReference.cpp:
* ksvg2/svg/SVGUseElement.cpp:
* ksvg2/svg/SVGViewElement.cpp:
* ksvg2/svg/SVGZoomAndPan.cpp:
2006-12-17 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11813
Pass SVGLength around by value, remove any SVGLength* usage.
Bindings work fine, as the SVG POD JS Wrapper stuff is already in svn.
No new regressions, none fixed. But the code itself is much cleaner.
And some problems with width-full-percentage.svg have been fixed, viewport
clipping works in any case now, also for percentual width/height values set on <svg>.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::KSVGPainterFactory::cssPrimitiveToLength):
* ksvg2/svg/SVGAnimatedTemplate.h:
* ksvg2/svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::SVGCircleElement):
(WebCore::SVGCircleElement::parseMappedAttribute):
(WebCore::SVGCircleElement::toPathData):
* ksvg2/svg/SVGCircleElement.h:
* ksvg2/svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::SVGCursorElement):
(WebCore::SVGCursorElement::parseMappedAttribute):
* ksvg2/svg/SVGCursorElement.h:
* ksvg2/svg/SVGElement.cpp:
* ksvg2/svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::SVGEllipseElement):
(WebCore::SVGEllipseElement::parseMappedAttribute):
(WebCore::SVGEllipseElement::toPathData):
* ksvg2/svg/SVGEllipseElement.h:
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::parseMappedAttribute):
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGFilterElement.h:
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
(WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
(WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
* ksvg2/svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
* ksvg2/svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
(WebCore::SVGForeignObjectElement::parseMappedAttribute):
(WebCore::SVGForeignObjectElement::createRenderer):
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
* ksvg2/svg/SVGForeignObjectElement.h:
* ksvg2/svg/SVGHelper.cpp:
(WebCore::SVGHelper::parseSeparatedList):
* ksvg2/svg/SVGHelper.h:
* ksvg2/svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::SVGImageElement):
(WebCore::SVGImageElement::parseMappedAttribute):
* ksvg2/svg/SVGImageElement.h:
* ksvg2/svg/SVGLength.cpp:
(WebCore::storeUnit):
(WebCore::extractMode):
(WebCore::extractType):
(WebCore::lengthTypeToString):
(WebCore::stringToLengthType):
(WebCore::SVGLength::SVGLength):
(WebCore::SVGLength::unitType):
(WebCore::SVGLength::value):
(WebCore::SVGLength::setValue):
(WebCore::SVGLength::setValueInSpecifiedUnits):
(WebCore::SVGLength::setValueAsString):
(WebCore::SVGLength::valueAsString):
(WebCore::SVGLength::newValueSpecifiedUnits):
(WebCore::SVGLength::convertToSpecifiedUnits):
(WebCore::SVGLength::isFraction):
(WebCore::SVGLength::dpi):
(WebCore::SVGLength::PercentageOfViewport):
* ksvg2/svg/SVGLength.h:
(WebCore::):
(WebCore::SVGLength::):
* ksvg2/svg/SVGLength.idl:
* ksvg2/svg/SVGLengthList.cpp:
(WebCore::SVGLengthList::SVGLengthList):
(WebCore::SVGLengthList::parse):
* ksvg2/svg/SVGLengthList.h:
* ksvg2/svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::SVGLineElement):
(WebCore::SVGLineElement::parseMappedAttribute):
(WebCore::SVGLineElement::toPathData):
* ksvg2/svg/SVGLineElement.h:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
(WebCore::SVGLinearGradientElement::parseMappedAttribute):
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
* ksvg2/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::parseMappedAttribute):
(WebCore::SVGMarkerElement::canvasResource):
* ksvg2/svg/SVGMarkerElement.h:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::attributeChanged):
(WebCore::SVGMaskElement::parseMappedAttribute):
(WebCore::SVGMaskElement::drawMaskerContent):
* ksvg2/svg/SVGMaskElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::parseMappedAttribute):
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::notifyAttributeChange):
(WebCore::SVGPatternElement::getCTM):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
(WebCore::SVGRadialGradientElement::parseMappedAttribute):
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
* ksvg2/svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::SVGRectElement):
(WebCore::SVGRectElement::parseMappedAttribute):
(WebCore::SVGRectElement::toPathData):
* ksvg2/svg/SVGRectElement.h:
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::viewport):
(WebCore::SVGSVGElement::parseMappedAttribute):
(WebCore::SVGSVGElement::createSVGLength):
(WebCore::SVGSVGElement::getCTM):
(WebCore::SVGSVGElement::getScreenCTM):
* ksvg2/svg/SVGSVGElement.h:
* ksvg2/svg/SVGStyledElement.cpp:
* ksvg2/svg/SVGStyledElement.h:
* ksvg2/svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::parseMappedAttribute):
* ksvg2/svg/SVGTextContentElement.h:
* ksvg2/svg/SVGTextElement.cpp:
* ksvg2/svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::parseMappedAttribute):
* ksvg2/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement):
(WebCore::SVGUseElement::parseMappedAttribute):
(WebCore::SVGUseElement::closeRenderer):
* ksvg2/svg/SVGUseElement.h:
* page/EventHandler.cpp:
(WebCore::selectCursor):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::translationForAttributes):
* rendering/RenderPath.cpp:
* rendering/RenderPath.h:
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):
(WebCore::RenderSVGContainer::calcViewport):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::relativeBBox):
(WebCore::RenderSVGImage::getAbsoluteRepaintRect):
(WebCore::RenderSVGImage::translationForAttributes):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::translateBox):
(WebCore::placePositionedBoxesHorizontally):
(WebCore::placeBoxesVerticallyWithAbsBaseline):
2006-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Maciej.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11856
Update renderName() methods to return current class names.
* rendering/RenderPath.h:
(WebCore::RenderPath::renderName): Returns "RenderPath" instead of "KCanvasItem".
* rendering/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::renderName): Returns "RenderSVGContainer" instead of "KCanvasContainer".
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::renderName): Returns "RenderTextControl" instead of "RenderTextField".
2006-12-16 Sam Weinig <sam@webkit.org>
Reviewed by Mitz.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11844
Code Cleanup for more of the rendering code
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::calcMinMaxWidth):
* rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
(WebCore::RenderText::setStyle):
(WebCore::RenderText::destroy):
(WebCore::RenderText::attachTextBox):
(WebCore::RenderText::findNextInlineTextBox):
(WebCore::RenderText::positionForCoordinates):
(WebCore::firstRendererOnNextLine):
(WebCore::lastRendererOnPrevLine):
(WebCore::RenderText::caretRect):
(WebCore::RenderText::posOfChar):
(WebCore::RenderText::allAscii):
(WebCore::RenderText::shouldUseMonospaceCache):
(WebCore::RenderText::cacheWidths):
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedMinMaxWidth):
(WebCore::RenderText::calcMinMaxWidth):
(WebCore::isSpaceAccordingToStyle):
(WebCore::RenderText::containsOnlyWhitespace):
(WebCore::RenderText::minXPos):
(WebCore::RenderText::setSelectionState):
(WebCore::RenderText::setTextWithOffset):
(WebCore::RenderText::setText):
(WebCore::RenderText::position):
(WebCore::RenderText::width):
(WebCore::RenderText::getAbsoluteRepaintRect):
(WebCore::RenderText::selectionRect):
(WebCore::RenderText::verticalPositionHint):
(WebCore::RenderText::font):
(WebCore::RenderText::caretMinOffset):
(WebCore::RenderText::caretMaxOffset):
(WebCore::RenderText::previousOffset):
(WebCore::RenderText::nextOffset):
(WebCore::RenderText::inlineBox):
* rendering/RenderText.h:
(WebCore::RenderText::isTextFragment):
(WebCore::RenderText::data):
(WebCore::RenderText::string):
(WebCore::RenderText::paint):
(WebCore::RenderText::layout):
(WebCore::RenderText::nodeAtPoint):
(WebCore::RenderText::length):
(WebCore::RenderText::text):
(WebCore::RenderText::stringLength):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::setStyle):
(WebCore::disabledTextColor):
(WebCore::RenderTextControl::createInnerBlockStyle):
(WebCore::RenderTextControl::createInnerTextStyle):
(WebCore::RenderTextControl::createResultsButtonStyle):
(WebCore::RenderTextControl::createCancelButtonStyle):
(WebCore::RenderTextControl::showPlaceholderIfNeeded):
(WebCore::RenderTextControl::hidePlaceholderIfNeeded):
(WebCore::RenderTextControl::createSubtreeIfNeeded):
(WebCore::RenderTextControl::updateFromElement):
(WebCore::RenderTextControl::selectionStart):
(WebCore::RenderTextControl::setSelectionRange):
(WebCore::RenderTextControl::visiblePositionForIndex):
(WebCore::RenderTextControl::subtreeHasChanged):
(WebCore::RenderTextControl::textWithHardLineBreaks):
(WebCore::RenderTextControl::calcHeight):
(WebCore::RenderTextControl::nodeAtPoint):
(WebCore::RenderTextControl::layout):
(WebCore::RenderTextControl::calcMinMaxWidth):
(WebCore::RenderTextControl::addSearchResult):
(WebCore::RenderTextControl::showPopup):
(WebCore::RenderTextControl::itemText):
(WebCore::RenderTextControl::itemIsEnabled):
(WebCore::RenderTextControl::listSize):
(WebCore::RenderTextControl::scroll):
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::renderName):
(WebCore::RenderTextControl::removeLeftoverAnonymousBoxes):
* rendering/RenderTextFragment.cpp:
(WebCore::RenderTextFragment::RenderTextFragment):
(WebCore::RenderTextFragment::originalString):
* rendering/RenderTextFragment.h:
(WebCore::RenderTextFragment::isTextFragment):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::isControlStyled):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::adjustCheckboxStyle):
(WebCore::RenderTheme::adjustRadioStyle):
* rendering/RenderTheme.h:
(WebCore::):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
(WebCore::RenderThemeMac::systemFont):
(WebCore::RenderThemeMac::isControlStyled):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::setFontFromControlSize):
(WebCore::RenderThemeMac::paintCheckbox):
(WebCore::RenderThemeMac::checkboxMargins):
(WebCore::RenderThemeMac::setCheckboxCellState):
(WebCore::RenderThemeMac::setCheckboxSize):
(WebCore::RenderThemeMac::paintRadio):
(WebCore::RenderThemeMac::radioMargins):
(WebCore::RenderThemeMac::setRadioCellState):
(WebCore::RenderThemeMac::setRadioSize):
(WebCore::RenderThemeMac::adjustButtonStyle):
(WebCore::RenderThemeMac::buttonMargins):
(WebCore::RenderThemeMac::setButtonSize):
(WebCore::RenderThemeMac::setButtonCellState):
(WebCore::RenderThemeMac::adjustTextFieldStyle):
(WebCore::RenderThemeMac::adjustTextAreaStyle):
(WebCore::RenderThemeMac::popupButtonMargins):
(WebCore::RenderThemeMac::popupButtonPadding):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButton):
(WebCore::RenderThemeMac::adjustMenuListStyle):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<):
(WebCore::writeIndent):
(WebCore::printBorderStyle):
(WebCore::getTagName):
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
(WebCore::writeTextRun):
(WebCore::write):
(WebCore::writeLayers):
(WebCore::nodePosition):
(WebCore::writeSelection):
* rendering/RenderTreeAsText.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::calcMinMaxWidth):
(WebCore::RenderView::layout):
(WebCore::RenderView::absolutePosition):
(WebCore::RenderView::paint):
(WebCore::RenderView::repaintViewRectangle):
(WebCore::rendererAfterPosition):
(WebCore::RenderView::selectionRect):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::selectionStartEnd):
(WebCore::RenderView::updateWidgetPositions):
(WebCore::RenderView::addWidget):
(WebCore::RenderView::removeWidget):
(WebCore::RenderView::viewRect):
(WebCore::RenderView::docHeight):
(WebCore::RenderView::docWidth):
(WebCore::RenderView::setBestTruncatedAt):
* rendering/RenderView.h:
(WebCore::RenderView::renderName):
(WebCore::RenderView::selectionStart):
(WebCore::RenderView::selectionEnd):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
(WebCore::RenderWidget::resizeWidget):
(WebCore::RenderWidget::setStyle):
(WebCore::RenderWidget::paint):
(WebCore::RenderWidget::updateWidgetPosition):
(WebCore::RenderWidget::setSelectionState):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::placeEllipsis):
(WebCore::RootInlineBox::fillLineSelectionGap):
(WebCore::RootInlineBox::selectionState):
(WebCore::RootInlineBox::firstSelectedBox):
(WebCore::RootInlineBox::lastSelectedBox):
(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::closestLeafChildForXPos):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::isRootInlineBox):
(WebCore::RootInlineBox::setVerticalOverflowPositions):
(WebCore::RootInlineBox::setHorizontalOverflowPositions):
(WebCore::RootInlineBox::setVerticalSelectionPositions):
(WebCore::RootInlineBox::lineBreakObj):
(WebCore::RootInlineBox::lineBreakPos):
(WebCore::RootInlineBox::setLineBreakPos):
(WebCore::RootInlineBox::blockHeight):
(WebCore::RootInlineBox::setBlockHeight):
(WebCore::RootInlineBox::endsWithBreak):
(WebCore::RootInlineBox::setEndsWithBreak):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::SVGInlineFlowBox::paint):
(WebCore::paintSVGInlineFlow):
(WebCore::translateBox):
(WebCore::placePositionedBoxesHorizontally):
(WebCore::placeBoxesVerticallyWithAbsBaseline):
(WebCore::placeSVGFlowVertically):
* rendering/SVGInlineFlowBox.h:
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::TextStreamSeparator::TextStreamSeparator):
(WebCore::operator<<):
(WebCore::hasFractions):
(WebCore::writeIndent):
(WebCore::writeStyle):
(WebCore::getTagName):
(WebCore::write):
(WebCore::writeRenderResources):
* rendering/SVGRenderTreeAsText.h:
(WebCore::operator<<):
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::placeBoxesHorizontally):
* rendering/SVGRootInlineBox.h:
* rendering/TableLayout.h:
2006-12-16 Adam Roben <aroben@apple.com>
Build fixes.
* platform/ContextMenuItem.h: Fixed const declarations.
* platform/mac/ContextMenuItemMac.mm: Dito.
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
2006-12-16 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11189
<rdar://problem/4770249> REGRESSION (NativeListBox): When a list box has focus, pressing command- A (select all) doesn't selected all items in list
Test: fast/forms/listbox-select-all.html
* dom/Node.h: We should try to find a more appropriate place to put these methods.
(WebCore::Node::canSelectAll): Added.
(WebCore::Node::selectAll): Added.
* editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Before selecting editable content, give the focused node
a chance to select its content.
* html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectAll): Selects all items in a multi-select list box. Single-select
list boxes will just do nothing, but we still want the select to handle this case when it has focus, rather than selecting other content.
* html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::canSelectAll): Returns true for list boxes.
2006-12-16 Zack Rusin <zack@kde.org>
Add a stub for SearchPopupMenu for Qt code.
* platform/qt/SearchPopupMenuQt.cpp: Added.
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
2006-12-16 Zack Rusin <zack@kde.org>
Make it compile after last nights changes.
* WebCore.pro:
* loader/qt/DocumentLoaderQt.cpp:
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::prepareForLoadStart):
* platform/qt/ContextMenuItemQt.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::releasePlatformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::setType):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::setChecked):
(WebCore::ContextMenuItem::setEnabled):
* platform/qt/ContextMenuQt.cpp:
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::insertItem):
* platform/qt/TemporaryLinkStubs.cpp:
2006-12-16 Adele Peterson <adele@apple.com>
One more...
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment):
2006-12-16 Adele Peterson <adele@apple.com>
Missed one instance of isNonWidgetTextField.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply):
2006-12-16 Hunter L. Williams <hlwebkit@gmail.com>
Reviewed by Adele.
Fix mouse wheel scrolling in <textarea> controls.
* rendering/RenderTextControl.cpp:
* rendering/RenderTextControl.h:
Override |scroll| on RenderTextControl to forward the call to the RenderObject of the
inner m_innerText, which has a layer that can be scrolled.
2006-12-16 Adele Peterson <adele@apple.com>
RS by Adam.
Removed RenderLineEdit, TextField, WebCoreTextField classes, and use of isNonWidgetTextField,
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::isMouseFocusable):
(WebCore::HTMLInputElement::focus):
(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::aboutToUnload):
(WebCore::HTMLInputElement::dispatchFocusEvent):
(WebCore::HTMLInputElement::dispatchBlurEvent):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isTextField):
* html/HTMLTextFieldInnerElement.cpp:
(WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler):
* platform/TextField.h: Removed.
* platform/mac/TextFieldMac.mm: Removed.
* platform/mac/WebCoreTextField.h: Removed.
* platform/mac/WebCoreTextField.mm: Removed.
* rendering/RenderLineEdit.cpp: Removed.
* rendering/RenderLineEdit.h: Removed.
2006-12-16 Adele Peterson <adele@apple.com>
Two more files I forgot to svn add for search fields.
* platform/SearchPopupMenu.h: Added.
(WebCore::SearchPopupMenu::create):
* platform/mac/SearchPopupMenuMac.mm: Added.
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::autosaveKey):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
2006-12-16 Adele Peterson <adele@apple.com>
Reviewed by Adam.
* platform/PopupMenuClient.h: Added. Broken out of PopupMenu class.
(WebCore::PopupMenuClient::~PopupMenuClient):
2006-12-16 Adele Peterson <adele@apple.com>
Reviewed by Adam.
WebCore part of fix for:
<rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
* WebCore.xcodeproj/project.pbxproj: Added SearchPopupMenu.h, SearchPopupMenuMac.mm, and PopupMenuClient.h.
Added pseudo classes and corresponding values for -webkit appearance for the cancel button and for the three types of "decoration" that
correspond to the different functions of the magnifier glass in the search field. One for the button that will show and hide the
recent searches menu. One for decoration when the results attribute is set, but no results are saved. And one for decoration
when no results attribute is set. We added these different pseudo elements so that RenderTextControl can decide which pseudo class
is appropriate, and each theme can decide for itself which kind of image is appropriate for each function.
* css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h: (WebCore::CSSSelector::): Added to PseudoType enum.
* css/CSSValueKeywords.in: Added searchfield-decoration, searchfield-results-decoration, searchfield-results-button, searchfield-cancel-button values.
* css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): Added cases for -webkit-search-cancel-button,
-webkit-search-decoration, -webkit-search-results-decoration, -webkit-search-results-button
* rendering/RenderStyle.cpp: Addes new pseudoBits for matching pseudoIds.
(WebCore::):
(WebCore::pseudoBit):
* rendering/RenderStyle.h: Added new appearance values and pseudoIds.
(WebCore::):
(WebCore::RenderStyle::):
* css/html4.css: Added style for input[type=search], and the new pseudo elements.
The structure of the shadow DOM for new search field adds an intermediate block that contains 3 inline-blocks for the magnifier, text element, and cancel button.
Since the tree has become deeper, some editing and event code that used to check for a shadowParent, really needs to check the shadowAncestorNode.
* editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): Check shadowAncestorNode instead of shadowParentNode.
* editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent): ditto.
* editing/htmlediting.cpp:
(WebCore::firstEditablePositionAfterPositionInRoot): ditto.
(WebCore::lastEditablePositionBeforePositionInRoot): ditto.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment): ditto.
(WebCore::ReplaceSelectionCommand::shouldMerge): Nil check enclosingBlock call. I ran into this while testing search fields in mixed editability.
(WebCore::ReplaceSelectionCommand::doApply): ditto.
* html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Remove use of RenderLineEdit.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::selectionStart): ditto.
(WebCore::HTMLInputElement::selectionEnd): ditto.
(WebCore::HTMLInputElement::setSelectionStart): ditto.
(WebCore::HTMLInputElement::setSelectionEnd): ditto.
(WebCore::HTMLInputElement::select): ditto.
(WebCore::HTMLInputElement::setSelectionRange): ditto.
(WebCore::HTMLInputElement::parseMappedAttribute): ditto.
(WebCore::HTMLInputElement::createRenderer): ditto.
(WebCore::HTMLInputElement::defaultEventHandler): ditto.
(WebCore::HTMLInputElement::addSearchResult): Added. Calls addSearchResult on the renderer.
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isNonWidgetTextField): Added case for search field.
(WebCore::HTMLInputElement::isSearchField): Added.
* platform/PopupMenu.h: Broke PopupMenuClient out into a separate file.
* platform/PopupMenuClient.h: Added.
(WebCore::PopupMenuClient::~PopupMenuClient):
* platform/graphics/Icon.h:
* platform/SearchPopupMenu.h: Added. Saves and loads recent search vector.
(WebCore::SearchPopupMenu::create):
* platform/mac/SearchPopupMenuMac.mm: Added.
(WebCore::SearchPopupMenu::SearchPopupMenu):
(WebCore::autosaveKey):
(WebCore::SearchPopupMenu::saveRecentSearches):
(WebCore::SearchPopupMenu::loadRecentSearches):
* html/HTMLTextFieldInnerElement.h: Reorganized this class.
Added subclasses HTMLTextFieldInnerTextElement, HTMLSearchFieldResultsButtonElement, HTMLSearchFieldCancelButtonElement
(WebCore::HTMLTextFieldInnerElement::isMouseFocusable): Added. Returns false so setFocusNodeIfNeeded
will try to focus the input element instead of nodes in the shadow tree.
(WebCore::HTMLTextFieldInnerElement::isShadowNode): Now returns whether or not a shadowParent has been specified.
* html/HTMLTextFieldInnerElement.cpp:
(WebCore::HTMLTextFieldInnerTextElement::HTMLTextFieldInnerTextElement):
(WebCore::HTMLTextFieldInnerTextElement::defaultEventHandler): Moved this from the old HTMLTextFieldInnerElement class.
(WebCore::HTMLSearchFieldResultsButtonElement::HTMLSearchFieldResultsButtonElement):
(WebCore::HTMLSearchFieldResultsButtonElement::defaultEventHandler): Shows and hides recent searches menu.
(WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
(WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler): On mouse up, clears the value from the text field.
* rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::listSize): Changed return type to unsigned.
* rendering/RenderMenuList.h: (WebCore::RenderMenuList::valueShouldChangeOnHotTrack): Added.
* WebCore.exp: Export _wkDrawTextFieldCellFocusRing.
* platform/mac/WebCoreSystemInterface.h: Added wkDrawTextFieldCellFocusRing
* platform/mac/WebCoreSystemInterface.mm: ditto.
* rendering/RenderTextControl.h:
(WebCore::RenderTextControl::popupIsVisible): Added so HTMLSearchFieldResultsButtonElement knows whether or not the menu is already up.
(WebCore::RenderTextControl::shouldPopOver): Added as a PopupClient method so the results menu shows up under the control instead of over.
(WebCore::RenderTextControl::valueShouldChangeOnHotTrack):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl): Initialize m_placeholderIsVisible, m_searchPopup, and m_searchPopupIsVisible.
(WebCore::RenderTextControl::~RenderTextControl): Detach the node at the top of the shadow tree (m_innerBlock for search fields, and m_innerText for other text controls).
(WebCore::RenderTextControl::setStyle): Sets style on new elements.
(WebCore::disabledTextColor): Added so this can be used in setPlaceholder.
(WebCore::RenderTextControl::createInnerBlockStyle): Added.
(WebCore::RenderTextControl::createInnerTextStyle): Added.
(WebCore::RenderTextControl::createResultsButtonStyle): Added.
(WebCore::RenderTextControl::createCancelButtonStyle): Added.
(WebCore::RenderTextControl::showPlaceholderIfNeeded): Added. Shows the placeholder if there's no value and the field doesn't have focus.
(WebCore::RenderTextControl::hidePlaceholderIfNeeded): Added. Clears the placeholder if there's a value or the field has focus.
(WebCore::RenderTextControl::createSubtreeIfNeeded): Added. Creates all of the shadow tree elements.
(WebCore::RenderTextControl::updateFromElement): Calls showPlaceholderIfNeeded.
(WebCore::RenderTextControl::visiblePositionForIndex): Renaming (m_div to m_innerText).
(WebCore::RenderTextControl::indexForVisiblePosition): ditto.
(WebCore::RenderTextControl::updateCancelButtonVisibility): Shows and hides cancel button based on the value of the control.
(WebCore::RenderTextControl::subtreeHasChanged): Fires onSearch if the incremental attribute is set.
(WebCore::RenderTextControl::text): Renaming.
(WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
(WebCore::RenderTextControl::calcHeight): Take the size of the results button and cancel button into account when calculating height.
(WebCore::RenderTextControl::nodeAtPoint): Act as if we've hit the shadow tree elements based on the x coordinate of the mouse event.
(WebCore::RenderTextControl::layout): Set the height and width of the text block taking the other shadow tree elements into account.
(WebCore::RenderTextControl::calcMinMaxWidth): Take new shadow tree elements into account when calculating width.
(WebCore::RenderTextControl::forwardEvent): Forward events to appropriate shadow nodes.
(WebCore::RenderTextControl::scrollWidth): Renaming.
(WebCore::RenderTextControl::scrollHeight): ditto.
(WebCore::RenderTextControl::scrollLeft): ditto.
(WebCore::RenderTextControl::scrollTop): ditto.
(WebCore::RenderTextControl::setScrollLeft): ditto.
(WebCore::RenderTextControl::setScrollTop): ditto.
(WebCore::RenderTextControl::autosaveName): ditto.
(WebCore::RenderTextControl::addSearchResult): Added. Saves value to search result list.
(WebCore::RenderTextControl::onSearch): Added. Dispatches search event.
(WebCore::RenderTextControl::showPopup): Added. Loads searches, and displays menu.
(WebCore::RenderTextControl::hidePopup): Added PopupClient method.
(WebCore::RenderTextControl::valueChanged): Added PopupClient method. Interprets the selected menu item index, and either sets the value and
fires onSearch, or clears all recent searches for this autosave name.
(WebCore::RenderTextControl::itemText): Added PopupClient method.
(WebCore::RenderTextControl::itemIsEnabled): Added PopupClient method.
(WebCore::RenderTextControl::itemStyle): ditto.
(WebCore::RenderTextControl::clientStyle): ditto.
(WebCore::RenderTextControl::clientDocument): ditto.
(WebCore::RenderTextControl::clientPaddingLeft): ditto.
(WebCore::RenderTextControl::clientPaddingRight): ditto.
(WebCore::RenderTextControl::listSize): ditto.
(WebCore::RenderTextControl::selectedIndex): ditto.
(WebCore::RenderTextControl::itemIsSeparator): ditto.
(WebCore::RenderTextControl::itemIsLabel): ditto.
(WebCore::RenderTextControl::itemIsSelected): ditto.
(WebCore::RenderTextControl::setTextFromItem): ditto.
* rendering/RenderTheme.cpp: Added search field theme.
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::isControlStyled): Returns false for search fields, until we've worked out the kinks.
(WebCore::RenderTheme::adjustSearchFieldStyle):
(WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecoration):
(WebCore::RenderTheme::paintSearchFieldResultsDecoration):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::sizeForSystemFont): Added. Compares style's font to systemFontSizeForControlSize to determine
what controlSize to use after a style's font has already been initially adjusted.
(WebCore::RenderThemeMac::controlSizeForSystemFont): Added. ditto.
(WebCore::RenderThemeMac::paintCheckbox):
(WebCore::RenderThemeMac::paintRadio):
(WebCore::RenderThemeMac::menuListSizes):
(WebCore::RenderThemeMac::minimumMenuListSize): Uses sizeForSystemFont instead of hardcoded adjusted font sizes.
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::cancelButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeMac::resultsButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2006-12-16 Beth Dakin <bdakin@apple.com>
Reviewed by Adam (and partially Geoff).
Primarily, this patch gives WebCore context menus the ability to
enable/disable and set state. It does a few other things along the
way, though. Some of the more noticeable things:
-Re-architects the ContextMenuItem class a bit so that the
ownership model is a bit less confusing. ContextMenuItem is
now *purely* a wrapper for the platformDescription. There
are no other member variables. If you ever need the
platformDescription outside of the MenuItem class, you have
to call releasePlatformDescription(), which transfers
ownership of the platformDescription to the caller.
-Moves fontForSelection() from FrameMac into Editor.cpp.
Turns out I don't need to use this function for my patch
after all, but it doesn't seem like a terrible idea to move
it anyway since we seem to be moving things from FrameMac
into Editor these days anyway.
* WebCore.exp:
* editing/Editor.cpp:
(WebCore::Editor::fontForSelection): Moved in from FrameMac.
* editing/Editor.h: Same, and name change.
* editing/mac/EditorMac.mm: Name change.
* page/ContextMenuClient.h: contextMenuItemSelected() has to take a
pointer to the parent context menu since ContextMenuItem no longer
holds on to it.
* page/ContextMenuController.cpp: Same.
(WebCore::ContextMenuController::contextMenuItemSelected): Same.
* page/mac/FrameMac.h: Move fontForSelection to Editor
* page/mac/FrameMac.mm: Same.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge fontForSelection:]): Account for above.
* platform/ContextMenu.cpp:
(WebCore::separatorItem): Can't be const because appendItem now
expects a non-const menu item.
(WebCore::createAndAppendFontSubMenu): Change name for clarity.
(WebCore::createAndAppendSpellingAndGrammarSubMenu): Same.
(WebCore::createAndAppendSpellingSubMenu): Same.
(WebCore::createAndAppendSpeechSubMenu): Same.
(WebCore::createAndAppendWritingDirectionSubMenu): Same.
(WebCore::ContextMenu::populate): Account for above.
(WebCore::triStateToBool): New helper.
(WebCore::ContextMenu::checkOrEnableIfNeeded): Transfers
logic from WebHTMLView into WebCore to determine if menu items are
enabled or disabled and to determine if they require a check.
* platform/ContextMenu.h:
* platform/ContextMenuItem.h: Re-factored stuff so that our only
member variable is the platform description.
(WebCore::): Get rid of if-def.
* platform/cf/RetainPtr.h: Add releaseRef like in PassRefPtr.
(WebCore::RetainPtr::releaseRef):
* platform/mac/ContextMenuItemMac.mm: Same as .h
(WebCore::ContextMenuItem::ContextMenuItem): Same.
(WebCore::ContextMenuItem::releasePlatformDescription): Same.
(WebCore::ContextMenuItem::type): Same.
(WebCore::ContextMenuItem::platformSubMenu): Same.
(WebCore::ContextMenuItem::setType): Same.
(WebCore::ContextMenuItem::setTitle): Same.
(WebCore::ContextMenuItem::setSubMenu): Same.
(WebCore::ContextMenuItem::setChecked): Same.
(WebCore::ContextMenuItem::setEnabled): Same.
* platform/mac/ContextMenuMac.mm:
(-[WebCoreMenuTarget forwardContextMenuAction:]): Don't set the
parent menu.
(WebCore::setMenuItemTarget):
(WebCore::ContextMenu::appendItem): Call releasePlatformDescription
(WebCore::ContextMenu::insertItem): Same.
2006-12-15 Darin Fisher <darin@chromium.org>
Reviewed by Oliver.
Allow images to load into frames again. Tidy up code a bit and
add some much needed documentation.
* platform/MimeTypeRegistry.cpp:
(WebCore::initialiseSupportedImageMIMETypes):
(WebCore::initialiseSupportedNonImageMimeTypes):
* platform/MimeTypeRegistry.h:
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Fix build.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::response):
(WebCore::DocumentLoader::setResponse):
(WebCore::DocumentLoader::isStopping):
(WebCore::DocumentLoader::mainDocumentError):
* loader/DocumentLoader.h:
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
More loader cleanup.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::isStopping):
(WebCore::DocumentLoader::response):
(WebCore::DocumentLoader::mainDocumentError):
(WebCore::DocumentLoader::setResponse):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::prepareForLoadStart):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::setResponse):
* loader/mac/ImageDocumentMac.mm:
(WebCore::finishImageLoad):
2006-12-15 Anders Carlsson <acarlsson@apple.com>
* loader/DocumentLoader.h:
Whoops, didn't mean to commit this.
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin and Brady (in no particular order).
More loader cleanup.
* loader/FrameLoader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::cancelledError):
(WebCore::FrameLoader::fileDoesNotExistError):
(WebCore::FrameLoader::cannotShowMIMEType):
(WebCore::FrameLoader::interruptionForPolicyChangeError):
* loader/mac/MainResourceLoaderMac.mm:
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
2006-12-16 Alexey Proskuryakov <ap@webkit.org>
Try to fix Windows buid.
* WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTarget.{h,cpp}
2006-12-15 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11610
XMLHttpRequest.onreadystatechange doesn't provide access to the request object
Created a separate EventTarget class, now that EventTargetNode isn't the only kind.
Test: http/tests/xmlhttprequest/event-target.html
* WebCore.xcodeproj/project.pbxproj: Added EventTarget.{h,cpp}
* bindings/js/kjs_dom.cpp:
(KJS::toJS): Added an EventTarget variant.
* bindings/js/kjs_dom.h: Added toJS() for EventTarget; some minor style fixes.
* bindings/objc/DOM.mm:
(+[DOMNode _eventTargetWith:WebCore::]):
* bindings/scripts/CodeGeneratorObjC.pm:
Added an EventTarget->DOMEventTarget converter in DOMNode (WebCoreInternal).
It only works for nodes, since we don't have an ObjC binding for XMLHttpRequest.
Corrected spelling of internalHeaderContent.
* dom/Event.cpp:
(WebCore::Event::setTarget):
* dom/Event.h:
(WebCore::Event::target):
(WebCore::Event::currentTarget):
(WebCore::Event::setCurrentTarget):
These methods now work with EventTargets instead of Nodes.
* dom/EventTarget.cpp: Added.
(WebCore::EventTarget::~EventTarget):
(WebCore::EventTarget::toNode):
(WebCore::EventTarget::toXMLHttpRequest):
* dom/EventTarget.h: Added.
(WebCore::EventTarget::ref):
(WebCore::EventTarget::deref):
Originally, my intention was to share much of the implementation between
EventTargetNode and XHR, but now I don't see anything substantial worth sharing.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent): Cast Node to EventTargetNode.
* dom/EventTargetNode.h: Made EventTarget methods virtual.
(WebCore::EventTargetNode::toNode): Added poor man's RTTI to upcast from EventTarget.
(WebCore::EventTargetNode::refEventTarget):
(WebCore::EventTargetNode::derefEventTarget):
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::toElement):
(WebCore::MouseEvent::fromElement):
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::receivedTarget):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::mouseEventIsInThumb):
Cast from EventTarget to Node as appropriate.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::dispatchEvent):
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
Set target and currentTarget before dispatching.
* xml/xmlhttprequest.h: Made EventTarget methods virtual, added a bool tempEvent parameter
to match EventTargetNode.
(WebCore::XMLHttpRequest::toXMLHttpRequest): Added poor man's RTTI to upcast from EventTarget.
(WebCore::XMLHttpRequest::refEventTarget):
(WebCore::XMLHttpRequest::derefEventTarget):
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
More loader cleanup, use KURL instead of NSURL in a couple of places.
* loader/DocumentLoader.h:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/ResourceLoader.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::prepareForLoadStart):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::willUseArchive):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::load):
2006-12-15 Brett Wilson <brettw@chromium.org>
Reviewed by Darin and Alexey.
Fix the Windows build, move various Client implementations out of
WebCore and into WebKit.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ChromeClientWin.h: Removed.
* bridge/win/ContextMenuClientWin.h: Removed.
* bridge/win/EditorClientWin.h: Removed.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
* bridge/win/FrameWin.h:
* loader/win/FrameLoaderClientWin.cpp: Removed.
* loader/win/FrameLoaderClientWin.h: Removed.
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::start):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::DocumentLoader::URL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::PolicyCheck::call):
(WebCore::PopupMenu::PopupMenu):
(WebCore::ResourceHandle::loadsBlocked):
(WebCore::ResourceLoader::cancel):
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11842
REGRESSION: Using Safari's snippet editor leaves applewebdata: URLs in history
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::URLForHistory):
Don't return appleweburls without an unreachable url.
2006-12-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Replace more instances of NSError with ResourceError.
Also remove a check for a selector that was added pre-Tiger.
* WebCore.exp:
* loader/DocumentLoader.h:
* loader/FrameLoader.h:
* loader/ResourceLoader.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::setMainDocumentError):
(WebCore::DocumentLoader::mainDocumentError):
(WebCore::DocumentLoader::clearErrors):
(WebCore::DocumentLoader::mainReceivedError):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::cancelMainResourceLoad):
(WebCore::FrameLoader::opened):
(WebCore::FrameLoader::mainReceivedError):
(WebCore::FrameLoader::cancelledError):
(WebCore::FrameLoader::fileDoesNotExistError):
(WebCore::FrameLoader::handleUnimplementablePolicy):
(WebCore::FrameLoader::setMainDocumentError):
(WebCore::FrameLoader::mainReceivedCompleteError):
(WebCore::FrameLoader::sendRemainingDelegateMessages):
(WebCore::FrameLoader::requestFromDelegate):
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didCancel):
(WebCore::ResourceLoader::cancel):
(WebCore::ResourceLoader::cancelledError):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::didCancel):
2006-12-15 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11824
CSSStyleSheet.title property is always null
Set title on the stylesheet just after creating it, for the HTML
elements <link> and <style>.
* css/StyleSheet.h:
(WebCore::StyleSheet::setTitle):
* dom/Element.cpp:
(WebCore::Element::title):
* dom/Element.h:
* dom/StyleElement.cpp:
(WebCore::StyleElement::childrenChanged):
* dom/StyleElement.h:
* html/HTMLElement.cpp:
* html/HTMLElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseMappedAttribute):
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseMappedAttribute):
* ksvg2/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::setTitle):
(WebCore::SVGStyleElement::parseMappedAttribute):
* ksvg2/svg/SVGStyleElement.h:
2006-12-15 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Fix compilation.
* loader/SubresourceLoader.h:
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::PopupMenu):
2006-12-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
Use char* pointer + length instead of NSData in a bunch of places.
* loader/DocumentLoader.h:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.h:
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::willStopBufferingData):
* loader/SubresourceLoader.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::commitLoad):
(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::didReceiveData):
(WebCore::FrameLoader::receivedData):
(WebCore::FrameLoader::committedLoad):
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::addData):
(WebCore::MainResourceLoader::didReceiveData):
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
(WebCore::NetscapePlugInStreamLoader::didReceiveData):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::addData):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::willStopBufferingData):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::didReceiveData):
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::willStopBufferingData):
* platform/network/mac/ResourceHandleMac.mm:
(-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
2006-12-14 Adele Peterson <adele@apple.com>
Reviewed by Adam.
Added PopupMenuClient class so the PopupMenu class no longer needs to know
about the RenderMenuList or the DOM.
* platform/PopupMenu.h:
(WebCore::PopupMenuClient::~PopupMenuClient):
(WebCore::PopupMenu::create): Made this protected so PopupMenu can be subclassed.
(WebCore::PopupMenu::disconnectClient): Renamed from disconnectMenuList.
(WebCore::PopupMenu::client): Added.
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::PopupMenu): Created using PopupMenuClient instead of RenderMenuList.
(WebCore::PopupMenu::populate): Asks the client for info about the list items instead of looking at the DOM or the renderer.
(WebCore::PopupMenu::show): ditto.
(WebCore::PopupMenu::hide): ditto.
* rendering/RenderMenuList.h: Now also inherits from PopupMenuClient.
(WebCore::RenderMenuList::shouldPopOver): Added. Tells the popup whether the menu should pop over the client, or under.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::~RenderMenuList): Calls disconnectClient().
(WebCore::RenderMenuList::calcMinMaxWidth): Removed unnecessary (and harmful) call to updateFromElement. updateFromElmeent
can add children, and you don't want to do that in the middle of calculating width.
(WebCore::RenderMenuList::itemText): Added PopupClient method to provide information about the items in the menu list.
(WebCore::RenderMenuList::itemIsEnabled): ditto.
(WebCore::RenderMenuList::itemStyle): ditto.
(WebCore::RenderMenuList::clientStyle): ditto.
(WebCore::RenderMenuList::clientDocument): ditto.
(WebCore::RenderMenuList::clientPaddingLeft): ditto.
(WebCore::RenderMenuList::clientPaddingRight): ditto.
(WebCore::RenderMenuList::listSize): ditto.
(WebCore::RenderMenuList::selectedIndex): ditto.
(WebCore::RenderMenuList::itemIsSeparator): ditto.
(WebCore::RenderMenuList::itemIsLabel): ditto.
(WebCore::RenderMenuList::itemIsSelected): ditto.
(WebCore::RenderMenuList::setTextFromItem): ditto.
2006-12-14 Geoffrey Garen <ggaren@apple.com>
Fixed <rdar://problem/4882713> GMAIL (REGRESSION): Can't apply font style,
foreground or background to selected text
Also <rdar://problem/4883751> REGRESSION: Caret fails to insert itself
automatically in a new note window
I'm rolling out my change to move focus to the page level because it caused
too many unexpected and bizarre regressions. Our code relies on focus
being per-document so that it can make focus changes that are effectively
no-ops, and so that it can conflate focus and selection in some cases (a bad
idea, since they're not the same).
Hopefully we can revisit this, along with hover and active, in the future.
* dom/Document.cpp:
(WebCore::widgetForNode):
(WebCore::relinquishesEditingFocus):
(WebCore::acceptsEditingFocus):
(WebCore::clearSelectionIfNeeded):
(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::focusedNodeDetached):
(WebCore::Document::setFocusedNode):
* dom/Document.h:
(WebCore::Document::focusedNode):
* page/FocusController.cpp:
* page/FocusController.h:
2006-12-14 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- fix failing drag & drop layout tests
* platform/mac/KURLMac.mm:
(WebCore::KURL::getNSURL): Turn empty KURL into empty NSURL, but null KURL into
nil.
2006-12-14 Steve Falkenburg <sfalken@apple.com>
Build fix.
* loader/MainResourceLoader.h:
2006-12-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by John.
Convert a bunch of NSErrors to ResourceError.
Make the ResourceError accessor functions const.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.h:
* loader/NetscapePlugInStreamLoader.h:
* loader/ResourceLoader.h:
* loader/SubresourceLoader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::didFailToLoad):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::interruptionForPolicyChangeError):
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):
(WebCore::MainResourceLoader::interruptionForPolicyChangeError):
(WebCore::MainResourceLoader::didFail):
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::didCancel):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* platform/network/ResourceError.h:
(WebCore::ResourceError::domain):
(WebCore::ResourceError::errorCode):
(WebCore::ResourceError::failingURL):
(WebCore::ResourceError::localizedDescription):
(WebCore::ResourceError::unpackPlatformErrorIfNeeded):
2006-12-14 George Staikos <staikos@kde.org>
Link, after the last loader changes. Please update this directory with stubs when modifying the loader.
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
2006-12-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4866671>
CrashTracer: 1 crashes in Mail after deleting a list item at WebCore::DeleteSelectionCommand::doApply()
Don't allow VisiblePositions inside -webkit-user-select:none regions.
Renamed inRenderedContent to isCandidate.
* dom/Document.cpp:
(WebCore::Document::updateSelection):
* dom/Position.cpp:
(WebCore::Position::previousCharacterPosition):
(WebCore::Position::nextCharacterPosition):
(WebCore::nodeIsUserSelectNone):
(WebCore::Position::isCandidate):
(WebCore::Position::rendersInDifferentPosition):
* dom/Position.h:
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input):
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::canonicalPosition):
* editing/htmlediting.cpp:
(WebCore::nextCandidate):
(WebCore::nextVisuallyDistinctCandidate):
(WebCore::previousCandidate):
(WebCore::previousVisuallyDistinctCandidate):
* editing/visible_units.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
(WebCore::startOfParagraph):
* page/Frame.cpp:
(WebCore::Frame::styleForSelectionStart):
2006-12-14 David Hyatt <hyatt@apple.com>
Get rid of the containsStart check and just rely on the selectionState
bits. This allows selection gap filling to behave properly in the presence
of inline blocks and inline tables on lines when the selection originates
inside the inline block.
Reviewed by ggaren
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::fillInlineSelectionGaps):
2006-12-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by John.
General loader cleanup, convert NSURLResponse to ResourceResponse in some places.
* loader/DocumentLoader.h:
* loader/SubresourceLoader.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::addResponse):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::opened):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::create):
2006-12-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Add loadResourceSynchronously to ResourceHandle and have FrameLoader use it instead of
calling NSURLConnection directly.
Add an isNull flag to ResourceError so we can convert correctly between nil NSErrors and ResourceErrors.
Get rid of ServeSynchronousRequest and use the loader instead.
* WebCore.exp:
* dom/XMLTokenizer.cpp:
(WebCore::openFunc):
* loader/FrameLoader.h:
* loader/LoaderFunctions.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::canLoad):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/mac/LoaderFunctionsMac.mm:
* platform/network/ResourceError.h:
(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::isNull):
* platform/network/ResourceHandle.h:
* platform/network/ResourceRequest.cpp:
(WebCore::ResourceRequest::isConditional):
* platform/network/ResourceRequest.h:
* platform/network/mac/ResourceErrorMac.mm:
(-[NSError WebCore]):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::loadResourceSynchronously):
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-12-14 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Darin.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11830
Fix fundamental problems with JS SVG POD types.
(currently: FloatPoint/FloatRect/AffineTransform)
This doesn't affect any testcase, but when I wrote my SVGLength* -> SVGLength
the problem got visible (aka. baseVal-animVal-equality.svg broke and more)
With that patch applied first, none breaks - so SVG POD JS wrappers do work now.
In detail:
- Fix setBaseValue() confusion. ONLY use the hash map in SVGDocumentExtension
when we're animating a property. Add "start##Property" / "stop##Property" methods
which take care, of moving "animVal" -> "baseVal" hash, and back after animation stopped.
These new methods are not yet used anywhere, but finally the "animated property" system is complete.
- Offer a new JSSVGPODTypeWrapper class, wrapping around non-pointer POD types like FloatPoint etc.
to be used in the generated JS bindings. Currently if you modified ie the "x" property of a SVGPoint
from JS, you only actually modified the "m_x" object stored in the JSSVGPoint wrapper.
If you take SVGLength as example (more frequently used in the JS SVG bindings, that's why I'm using it)
"document.rootElement.width.baseVal.value = 100;" only modified the "SVGLength m_impl" object stored in
JSSVGLength, but the "SVGSVGElement" didn't notice it width got changed. The new commitChanges() logic
fixes these problems.
It's quite hard too describe the actual changes, if one is not familiar with the code. This is the result
of endless discussions with Eric Seidel, and we hope this is a decent solution addressing all issues.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGMatrixCustom.cpp:
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):
* bindings/js/JSSVGPODTypeWrapper.h: Added.
(WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
(WebCore::JSSVGPODTypeWrapper::~JSSVGPODTypeWrapper):
(WebCore::JSSVGPODTypeWrapper::operator PODType&):
(WebCore::JSSVGPODTypeWrapper::commitChange):
(WebCore::JSSVGPODTypeWrapperCreator::JSSVGPODTypeWrapperCreator):
(WebCore::JSSVGPODTypeWrapperCreator::~JSSVGPODTypeWrapperCreator):
(WebCore::JSSVGPODTypeWrapperCreator::commitChange):
* bindings/scripts/CodeGeneratorJS.pm:
* ksvg2/misc/SVGDocumentExtensions.h:
(WebCore::SVGDocumentExtensions::removeBaseValue):
* ksvg2/svg/SVGElement.h:
2006-12-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11828
Fix a leak of NSURLRequest on each update - RetainPtr retains the object itself.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
2006-12-14 Simon Hausmann <hausmann@kde.org>
Reviewed by Zack Rusin.
* WebCore.pro: Clean up the xpath grammar generation rule.
2006-12-14 Zack Rusin <zack@kde.org>
Make it link with temporary stubs.
* loader/qt/DocumentLoaderQt.cpp:
(WebCore::DocumentLoader::originalRequest):
(WebCore::DocumentLoader::originalRequestCopy):
(WebCore::DocumentLoader::request):
(WebCore::DocumentLoader::initialRequest):
(WebCore::DocumentLoader::actualRequest):
(WebCore::DocumentLoader::URL):
2006-12-14 Zack Rusin <zack@kde.org>
Compilation fixes for the Qt port after last nights
changes.
* loader/qt/DocumentLoaderQt.cpp:
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::unreachableURL):
* loader/qt/FrameLoaderQt.cpp:
(WebCore::PolicyCheck::call):
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::setHTTPReferrer):
2006-12-14 Rob Buis <buis@kde.org>
Reviewed by Oliver.
http://bugs.webkit.org/show_bug.cgi?id=11726
SVG Image do not take into account clip/overflow when hit testing
Take into account the overflowRect when hit-testing <svg> container.
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::viewportTransform):
(WebCore::RenderSVGContainer::nodeAtPoint):
* rendering/RenderSVGContainer.h:
2006-12-13 David Hyatt <hyatt@apple.com>
Fix for bug 11825, dragging elements via -khtml-user-drag is broken (affects Dashboard). Make sure
to clear the paintingRoot properly when recurring into children. It would be nice to find a design
that prevented this mistake from being made and didn't require explicit clearing of the root.
Reviewed by olliej
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
2006-12-13 Anders Carlsson <acarlsson@apple.com>
* loader/FrameLoader.h:
id is mac-only.
2006-12-13 Brady Eidson <beidson@apple.com>
Implicitly reviewed by Darin, Hyatt, Maciej, and others!
Fixes a document tear down crash.
Changes a few long standing assertions to our new style
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::topDocument):
2006-12-13 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- converted many places to use ResourceRequest instead of NSURLRequest
* WebCore.exp:
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopPolicyCheck):
* loader/FrameLoader.h:
(WebCore::PolicyCheck::request):
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.h:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::originalRequest):
(WebCore::DocumentLoader::originalRequestCopy):
(WebCore::DocumentLoader::request):
(WebCore::DocumentLoader::initialRequest):
(WebCore::DocumentLoader::actualRequest):
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::unreachableURL):
(WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::setLastCheckedRequest):
(WebCore::DocumentLoader::lastCheckedRequest):
(WebCore::DocumentLoader::URLForHistory):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::startLoadingMainResource):
(WebCore::FrameLoader::applyUserAgent):
(WebCore::FrameLoader::originalRequest):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::initialRequest):
(WebCore::FrameLoader::setRequest):
(WebCore::FrameLoader::checkNavigationPolicy):
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::checkNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNavigationPolicy):
(WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::isReloading):
(WebCore::FrameLoader::referrer):
(WebCore::FrameLoader::loadEmptyDocumentSynchronously):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::originalRequestURL):
(WebCore::PolicyCheck::set):
(WebCore::PolicyCheck::call):
(WebCore::PolicyCheck::clearRequest):
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::create):
* loader/mac/WebDataProtocol.h:
* loader/mac/WebDataProtocol.mm:
* platform/KURL.cpp:
(WebCore::operator!=):
* platform/KURL.h:
* platform/mac/KURLMac.mm:
(WebCore::KURL::getNSURL):
* platform/network/FormData.h:
(WebCore::operator==):
(WebCore::operator!=):
* platform/network/ResourceRequest.cpp:
(WebCore::operator==):
* platform/network/ResourceRequest.h:
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
2006-12-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler, Dave Hyatt.
Beefed up FocusController to handle frame focus. Changed implementors to
use FocusController, rather than the widget hierarchy, to focus frames.
(WebCore::FocusController::focusedNode): Made a minor change to focus a frame
before focusing the element inside of it. This matches FF.
(WebCore::FocusController::focusedFrame):
* platform/Widget.h:
2006-12-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by adele
<rdar://problem/4818145>
Cannot setSelectedDOMRange to non-editable island unless it has editable content on both sides
There are editable positions before/after a "non-editable island" if its
a table, but the code in canonicalPosition was not using
editableRootForPosition to find root editable elements.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::canonicalPosition): Use editableRootForPosition
to fix the table case.
2006-12-13 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam.
Added missing forwarding headers.
* ForwardingHeaders/kjs/value.h: Added.
* ForwardingHeaders/wtf/HashTable.h: Added.
2006-12-13 Lars Knoll <lars@trolltech.com>
Reviewed by Maciej, Zack.
Make the Qt cbuild compile again.
* WebCore.pro:
* loader/qt/ResourceLoaderQt.cpp:
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadsBlocked):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClient::openURL):
(WebCore::FrameQtClient::submitForm):
2006-12-12 Adam Roben <aroben@apple.com>
Reviewed by Anders.
Changed #import to #include to match the rest of our ForwardingHeaders.
* ForwardingHeaders/wtf/StringExtras.h:
2006-12-12 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4757667>
GoogleDocs: Style menu does not open
* bindings/js/kjs_window.cpp:
(KJS::Selection::getValueProperty): Added rangeCount.
* bindings/js/kjs_window.h:
(KJS::Selection::):
* editing/SelectionController.h:
(WebCore::SelectionController::rangeCount): Added.
2006-12-12 Alice Liu <alice.liu@apple.com>
Reviewed by Oliver.
* bindings/js/JSSVGMatrixCustom.cpp:
added #ifdef SVG_SUPPORT
2006-12-12 Anders Carlsson <acarlsson@apple.com>
Suggested by Darin.
* loader/ResourceLoader.cpp:
Move down include of ResourceHandle.h.
2006-12-12 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adam Roben, Dave Hyatt, Darin Adler.
Factored focus control into a FocusController class. I inted to use this
class for handling window active state and the focused frame, as well.
Layout tests pass.
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::view):
(WebCore::Document::page): New helper function.
* dom/Document.h: Moved setters before getters.
(WebCore::Document::hoverNode):
(WebCore::Document::activeNode):
* dom/Node.cpp:
(WebCore::Node::detach): Use the FocusController.
* page/FocusController.cpp: Added.
(WebCore::shouldFocus): renamed and refactored this helper function.
(WebCore::shouldUnfocus): ditto.
* page/FocusController.h: Added.
2006-12-12 Anders Carlsson <acarlsson@apple.com>
Rubber Stamped by Geoff.
* platform/Base64.cpp:
* platform/Base64.h:
Put functions inside of the WebCore namespace.
2006-12-12 Anders Carlsson <acarlsson@apple.com>
Try fixing the non-Mac builds.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFail):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* loader/SubresourceLoader.h:
2006-12-12 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Turn ResourceLoader into a ResourceHandleClient and stop using NSURLConnection in the loader.
* WebCore.exp:
Add new methods needed by WebKit.
* WebCore.xcodeproj/project.pbxproj:
Make ResourceHandle.h a private header.
* loader/FrameLoaderClient.h:
Change the download method to take a ResourceHandle instead of an NSURLConnection.
* loader/MainResourceLoader.h:
Get rid of the proxy instance variable, that's handled by ResourceHandlw now.
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoader::didCancelAuthenticationChallenge):
(WebCore::ResourceLoader::willStopBufferingData):
(WebCore::ResourceLoader::willCacheResponse):
(WebCore::ResourceLoader::receivedCredential):
(WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceLoader::receivedCancellation):
(WebCore::ResourceLoader::handle):
* loader/SubresourceLoader.h:
Make ResourceLoader a ResourceHandleClient, moving the methods from SubresourceLoader.
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):
Use a ResourceHandle instead of an NSURLConnection.
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::load):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::resourceData):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoader::didCancel):
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFail):
Remove the WebCoreResourceLoaderAsDelegate class, use a ResourceHandle instead of an NSURLConnection.
* loader/mac/SubresourceLoaderMac.mm:
Remove ResourceHandleClient methods.
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle):
(WebCore::ResourceHandle::create):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
Add an extra argument denoting whether this ResourceHandle can possibly be "converted" into one used for downloads.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::releaseProxy):
(WebCore::ResourceHandle::connection):
New methods for creating a NSURLConnectionDelegateProxy which is used when creating a NSURLDownload from an existing
connection.
2006-12-12 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::load):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
Move the didTellBridgeAboutLoad call to SubresourceLoader in preparation for getting rid of
the DocLoader parameter to ResourceHandle::create.
2006-12-12 George Staikos <staikos@kde.org>
Make the last checkin compile.
* WebCore.pro:
* ksvg2/svg/SVGTransform.cpp:
2006-12-12 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Sam Weinig & Rob Buis.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11797
Remove SVGMatrix, replace it by AffineTransform usage everywhere.
Changed AffineTransform API to be able to be used within generation
(m11() -> a(), m12() -> b(), ...). Add some methods needed for SVG.
The actual SVGMatrix -> AffineTransformation patch has been created
by Rob - I just adapted it to the autogenerated POD style.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGMatrixCustom.cpp: Added.
(WebCore::JSSVGMatrix::inverse):
(WebCore::JSSVGMatrix::rotateFromVector):
* bindings/objc/DOMInternal.h:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* ksvg2/misc/KSVGTimeScheduler.cpp:
* ksvg2/misc/SVGImageLoader.cpp:
* ksvg2/svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::handleTimerEvent):
(WebCore::SVGAnimateTransformElement::calculateRotationFromMatrix):
(WebCore::SVGAnimateTransformElement::initialMatrix):
(WebCore::SVGAnimateTransformElement::transformMatrix):
* ksvg2/svg/SVGAnimateTransformElement.h:
* ksvg2/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::viewBoxToViewTransform):
* ksvg2/svg/SVGFitToViewBox.h:
* ksvg2/svg/SVGLengthList.cpp:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getCTM):
(WebCore::SVGLocatable::getScreenCTM):
(WebCore::SVGLocatable::getTransformToElement):
* ksvg2/svg/SVGLocatable.h:
* ksvg2/svg/SVGMarkerElement.cpp:
* ksvg2/svg/SVGMatrix.cpp: Removed.
* ksvg2/svg/SVGMatrix.h: Removed.
* ksvg2/svg/SVGMatrix.idl:
* ksvg2/svg/SVGNumberList.cpp:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::notifyAttributeChange):
(WebCore::SVGPatternElement::getCTM):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGPoint.idl:
* ksvg2/svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::getCTM):
* ksvg2/svg/SVGPreserveAspectRatio.h:
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::viewport):
(WebCore::SVGSVGElement::createSVGMatrix):
(WebCore::SVGSVGElement::createSVGTransformFromMatrix):
(WebCore::SVGSVGElement::getCTM):
(WebCore::SVGSVGElement::getScreenCTM):
* ksvg2/svg/SVGSVGElement.h:
* ksvg2/svg/SVGStyledElement.cpp:
* ksvg2/svg/SVGStyledLocatableElement.cpp:
(WebCore::SVGStyledLocatableElement::getCTM):
(WebCore::SVGStyledLocatableElement::getScreenCTM):
* ksvg2/svg/SVGStyledLocatableElement.h:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::localMatrix):
(WebCore::SVGStyledTransformableElement::getCTM):
(WebCore::SVGStyledTransformableElement::getScreenCTM):
(WebCore::SVGStyledTransformableElement::updateLocalTransform):
(WebCore::SVGStyledTransformableElement::attach):
* ksvg2/svg/SVGStyledTransformableElement.h:
* ksvg2/svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::localMatrix):
(WebCore::SVGTextElement::updateLocalTransform):
(WebCore::SVGTextElement::attach):
(WebCore::SVGTextElement::getScreenCTM):
(WebCore::SVGTextElement::getCTM):
* ksvg2/svg/SVGTextElement.h:
* ksvg2/svg/SVGTransform.cpp:
(SVGTransform::SVGTransform):
(SVGTransform::matrix):
(SVGTransform::setMatrix):
(SVGTransform::setTranslate):
(SVGTransform::setScale):
(SVGTransform::setRotate):
(SVGTransform::setSkewX):
(SVGTransform::setSkewY):
* ksvg2/svg/SVGTransform.h:
* ksvg2/svg/SVGTransformList.cpp:
(SVGTransformList::createSVGTransformFromMatrix):
(SVGTransformList::concatenate):
* ksvg2/svg/SVGTransformList.h:
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::SVGTransformable::getCTM):
(WebCore::SVGTransformable::getScreenCTM):
(WebCore::SVGTransformable::parseTransformAttribute):
* ksvg2/svg/SVGTransformable.h:
* platform/graphics/AffineTransform.cpp:
(WebCore::AffineTransform::multiply):
(WebCore::AffineTransform::scale):
(WebCore::AffineTransform::scaleNonUniform):
(WebCore::AffineTransform::rotateFromVector):
(WebCore::AffineTransform::flipX):
(WebCore::AffineTransform::flipY):
(WebCore::AffineTransform::skewX):
(WebCore::AffineTransform::skewY):
* platform/graphics/AffineTransform.h:
* platform/graphics/cairo/AffineTransformCairo.cpp:
(WebCore::AffineTransform::a):
(WebCore::AffineTransform::setA):
(WebCore::AffineTransform::b):
(WebCore::AffineTransform::setB):
(WebCore::AffineTransform::c):
(WebCore::AffineTransform::setC):
(WebCore::AffineTransform::d):
(WebCore::AffineTransform::setD):
(WebCore::AffineTransform::e):
(WebCore::AffineTransform::setE):
(WebCore::AffineTransform::f):
(WebCore::AffineTransform::setF):
(WebCore::AffineTransform::inverse):
* platform/graphics/cg/AffineTransformCG.cpp:
(WebCore::AffineTransform::a):
(WebCore::AffineTransform::setA):
(WebCore::AffineTransform::b):
(WebCore::AffineTransform::setB):
(WebCore::AffineTransform::c):
(WebCore::AffineTransform::setC):
(WebCore::AffineTransform::d):
(WebCore::AffineTransform::setD):
(WebCore::AffineTransform::e):
(WebCore::AffineTransform::setE):
(WebCore::AffineTransform::f):
(WebCore::AffineTransform::setF):
(WebCore::AffineTransform::inverse):
* platform/graphics/qt/AffineTransformQt.cpp:
(WebCore::AffineTransform::a):
(WebCore::AffineTransform::setA):
(WebCore::AffineTransform::b):
(WebCore::AffineTransform::setB):
(WebCore::AffineTransform::c):
(WebCore::AffineTransform::setC):
(WebCore::AffineTransform::d):
(WebCore::AffineTransform::setD):
(WebCore::AffineTransform::e):
(WebCore::AffineTransform::setE):
(WebCore::AffineTransform::f):
(WebCore::AffineTransform::setF):
(WebCore::AffineTransform::inverse):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::paint):
(WebCore::RenderForeignObject::nodeAtPoint):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::mapAbsolutePointToLocal):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::nodeAtPoint):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::computeAbsoluteRepaintRect):
(WebCore::RenderSVGText::nodeAtPoint):
(WebCore::RenderSVGText::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
2006-12-12 George Staikos <staikos@kde.org>
Reviewed by Alexey.
Fix the Qt build again.
* WebCore.pro:
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::load):
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::clear):
2006-12-12 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Moved focus control to the page level. Fixed a minor bug where a node
would retain keyboard focus even when removed from the document.
We should probably move this, along with hover and active, into a separate
FocusController. But I'm too tired right now.
* dom/Document.cpp: Migrated code to Page
(WebCore::Document::removedLastRef):
(WebCore::Document::detach):
(WebCore::Document::setFocusedNode):
(WebCore::Document::focusedNode):
* dom/Document.h:
* dom/Node.cpp:
(WebCore::Node::detach): Clear ourselves from keyboard focus. This fixes
the minor bug and was also necessary to prevent regressions caused by hanging
on to a focused node after the document was replaced.
* dom/Node.h:
(WebCore::Node::inDetach):
* page/Page.cpp: Migrated code from Document
(WebCore::shouldAcquireEditingFocus):
(WebCore::shouldRelinquishEditingFocus):
(WebCore::clearSelectionIfNeeded):
(WebCore::widgetForNode):
(WebCore::Page::setFocusedNode):
* page/Page.h:
(WebCore::Page::focusedNode):
2006-12-11 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11053
XMLHttpRequest should be an EventTarget
Test: http/tests/xmlhttprequest/event-target.html
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequest::mark):
(KJS::JSXMLHttpRequest::~JSXMLHttpRequest):
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
* bindings/js/JSXMLHttpRequest.h:
(KJS::JSXMLHttpRequest::):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::addEventListener):
(WebCore::XMLHttpRequest::removeEventListener):
(WebCore::XMLHttpRequest::dispatchEvent):
(WebCore::XMLHttpRequest::callReadyStateChangeListener):
* xml/xmlhttprequest.h:
(WebCore::XMLHttpRequest::eventListeners):
Implement EventTarget methods (except for NS variations, which Firefox doesn't have either).
2006-12-11 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fix http://bugs.webkit.org/show_bug.cgi?id=11809
fast/dom/gc-8.html crash in alternate-thread marking code in ScriptInterpreter
DocumentType objects were getting filed under the wrong document in the
DOM objects structure.
* bindings/js/kjs_binding.h: Added a destructor for debugging purposes only.
* bindings/js/kjs_binding.cpp:
(KJS::wrapperSet): Added. Set of outstanding wrappers for debugging.
(KJS::addWrapper): Added.
(KJS::removeWrapper): Added.
(KJS::removeWrappers): Added.
(KJS::DOMObject::~DOMObject): Added. Asserts that there is no outstanding reference
to this wrapper since it's being destroyed.
(KJS::ScriptInterpreter::putDOMObject): Added a call to ADD_WRAPPER.
(KJS::ScriptInterpreter::forgetDOMObject): Added a call to REMOVE_WRAPPER.
(KJS::ScriptInterpreter::forgetDOMNodeForDocument): Added a call to REMOVE_WRAPPER.
(KJS::ScriptInterpreter::putDOMNodeForDocument): Added a call to ADD_WRAPPER.
(KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Added a call to REMOVE_WRAPPERS.
(KJS::ScriptInterpreter::updateDOMNodeDocument): Added calls to REMOVE_WRAPPER and
ADD_WRAPPER so the out-of-order transaction doesn't upset the assertions in the functions
we're calling. Another solution would be to reorder the two, but I think that would
create a race where another thread could garbage collect after the forget but before the put.
(KJS::ScriptInterpreter::wasRunByUserGesture): Tweaked formatting.
* dom/Document.cpp: (WebCore::Document::adoptNode): Removed call to updateDOMNodeDocument
since setDocument now takes care of that.
* dom/Node.cpp:
(WebCore::Node::setDocument): Added call to updateDOMNodeDocument here.
(WebCore::Node::checkAddChild): Removed call to updateDOMNodeDocument since setDocument
now takes care of that.
2006-12-11 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=9673
Add support for window.atob() and window.btoa()
* WebCore.xcodeproj/project.pbxproj: Added Base64.{h,cpp}
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
* bindings/js/kjs_window.h:
(KJS::Window::):
* platform/Base64.cpp: Added.
(base64Encode):
(base64Decode):
* platform/Base64.h: Added.
* ForwardingHeaders/wtf/StringExtras.h: Added.
* platform/DeprecatedString.cpp: Use strncasecmp from StringExtras.
2006-12-11 Darin Adler <darin@apple.com>
Reviewed by Brady.
- did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
* WebCore.xcodeproj/project.pbxproj: Updated project for file moves.
* bridge/mac/FrameMac.h: Moved to page/mac.
* bridge/mac/FrameMac.mm: Ditto.
* bridge/mac/WebCoreFrameBridge.h: Ditto.
* bridge/mac/WebCoreFrameBridge.mm: Ditto.
* bridge/mac/WebCoreFrameView.h: Ditto.
* bridge/mac/WebCoreViewFactory.h: Ditto.
* bridge/mac/WebCoreViewFactory.m: Ditto.
* bridge/mac/WebDashboardRegion.h: Ditto.
* bridge/mac/WebDashboardRegion.m: Ditto.
* bridge/mac/WebCoreKeyboardAccess.h: Moved to page/mac,
renamed WebCoreKeyboardUIMode.h, and made a C++ header.
* page/EventHandler.h: Updated for change to WebCoreKeyboardAccess.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::tabsToLinks): Ditto.
(WebCore::EventHandler::tabsToAllControls): Ditto.
(WebCore::EventHandler::keyboardUIMode): Ditto.
2006-12-11 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Primarily, this patch implements/hooks-up actions for the sub-menu
items in WebCore context menus. I fixed a few other things along
the way too:
-Made BUILDING_ON_TIGER ifdef work within C++ as well as
Obj-C
-Fixed bug where we would throw and Obj-C exception and
fail to pop up menus with more than one separator item.
-Re-named some of the spelling/grammar tags since Tiger and
Leopard share more of the actions than initially
anticipated.
* WebCorePrefix.h: Make BUILDING_ON_TIGER available to C++
* bridge/EditorClient.h: New functions to toggle
spelling/grammar checking.
* editing/Editor.cpp:
(WebCore::Editor::toggleContinuousSpellChecking): Call into client.
(WebCore::Editor::toggleGrammarChecking): Same.
(WebCore::Editor::toggleBold): call execToggleBold()
(WebCore::Editor::toggleUnderline): Create appropriate underline
style and apply to selection.
(WebCore::Editor::setBaseWritingDirection): Create appropriate
writing direction and apply to selection.
* editing/Editor.h:
* editing/mac/EditorMac.mm: New functions to show spelling guesses,
fonts, styles, and color panels.
* page/ContextMenuClient.h: New functions for the speech sub-menu.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Fill in
editing sub-menu actions.
* platform/ContextMenu.cpp:
(WebCore::separatorItem): Helper function to create a separator
item.
(WebCore::createFontSubMenu): Put very mac-specific things within a
platform ifdef.
(WebCore::createSpellingAndGrammarSubMenu): Re-named some of the
spelling sub-menu tags.
(WebCore::createSpellingSubMenu): Same.
(WebCore::ContextMenu::populate): We can't share the separator
item. When we do, menus with more than one separator throw and obj-
c exception and fail to pop-up.
* platform/ContextMenuItem.h:
(WebCore::): Re-named some of the spelling sub-menu tags.
2006-12-11 Alice Liu <alice.liu@apple.com>
Reviewed by Geoff, Adam.
Switch to use the Editor for copying URLs. Also some Pasteboard and PlatformMouseEvent cleanup.
All layout tests pass as they would without this patch.
* WebCore.exp:
added Editor::copyURL to be called from WebKit
* editing/Editor.cpp:
(WebCore::Editor::tryDHTMLCopy):
(WebCore::Editor::tryDHTMLCut):
Pasteboard::clearTypes() changed to clear()
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::cut):
(WebCore::Editor::copy):
Changed signature of writeSelection to take raw pointer instead of PassRefPtr
(WebCore::Editor::copyURL):
* editing/Editor.h:
Added copyURL.
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
Removed copyLinkToClipboard
* platform/KURL.cpp:
(WebCore::KURL::lastPathComponent):
* platform/KURL.h:
Added lastPathComponent.
* platform/Pasteboard.h:
Changed some function names.
Moved some functions out of class to static.
* platform/PlatformMouseEvent.h:
(WebCore::):
Removed MouseEventType enum, added NoButton to MouseButton without disturbing other button values.
* platform/mac/PasteboardMac.mm:
Added writeURL, and moved some things around
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
Add some calls necessary for Pasteboard::writeURL to work
2006-12-11 Darin Adler <darin@apple.com>
Reviewed by Brady.
- http://bugs.webkit.org/show_bug.cgi?id=11794
fix lifetime problems affecting Frame's ownerElement pointer
* CMakeLists.txt:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Updated for new source files.
* WebCore.exp: Updated for changes to entry point names.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
* bridge/win/FrameWin.h:
* bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
* platform/qt/FrameQt.h:
* platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
Updated owner element type to HTMLFrameOwnerElement.
* bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
use that any more. Updated owner element type to HTMLFrameOwnerElement.
* dom/Document.cpp: Added include so that the ownerElement function can
compile (since it downcasts an HTMLFrameOwnerElement to an Element).
* html/HTMLFrameElement.cpp:
(WebCore::containingFrameSetElement): Moved this function in here; it
doesn't need to be a member function.
(WebCore::HTMLFrameElement::attach): Updated to call this.
* html/HTMLFrameElementBase.h:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
containingFrameSetElement. Removed friend classes.
* html/HTMLFrameOwnerElement.h: Added.
* html/HTMLFrameOwnerElement.cpp: Added.
* html/HTMLEmbedElement.h:
* html/HTMLEmbedElement.cpp:
* html/HTMLObjectElement.h:
* html/HTMLObjectElement.cpp:
Remove now-unneeded contentDocument functions.
* html/HTMLPlugInElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
HTMLFrameOwnerElement.
* loader/FormState.h:
* loader/FormState.cpp: Use HTMLFormElement instead of just Element.
* loader/FrameLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
(WebCore::FrameLoader::loadSubframe): Ditto.
(WebCore::FrameLoader::requestObject): Don't pass an element parameter
to shouldUsePlugin, and remove now-unneeded type casts.
(WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
(WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
(WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
(WebCore::FrameLoader::isHostedByObjectElement): Ditto.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load): Use HTMLFormElement.
(WebCore::FrameLoader::post): Ditto.
(WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.
* page/Frame.h:
* page/FramePrivate.h:
* page/Frame.cpp:
(WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
(WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
(WebCore::Frame::ownerElement): Ditto.
(WebCore::Frame::ownerRenderer): Ditto.
(WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
element before disconnecting it.
(WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.
* page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
the code here will compile (no code changes needed).
* rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
* rendering/RenderPart.h:
* rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
Use HTMLFrameOwnerElement.
* rendering/RenderPartObject.h:
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
(WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
need to be a friend of HTMLFrameElementBase.
- other changes
* platform/network/ResourceHandleInternal.h: Added Noncopyable and
fixed indentation.
2006-12-11 David Hyatt <hyatt@apple.com>
Fix failing layout test. Remove WTF::Unicode::isSpace and just revert
the caller to the old behavior.
Reviewed by darin
* platform/StringImpl.cpp:
(WebCore::isSpace):
2006-12-11 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Adam.
http://bugs.webkit.org/show_bug.cgi?id=11807
Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::autoscrollTimerFired):
* page/EventHandler.h:
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::mouseMoved):
Merge EventHandler::m_bMousePressed and EventHandler::m_mousePressed
(WebCore::EventHandler::lastEventIsMouseUp):
Check that the "new" event is newer than the "old" one - that's not always the case
when running in DRT, as [NSApp currentEvent] isn't updated by eventSender.
2006-12-11 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Sam Weinig.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11801
Autogenerate POD types for ObjC/JS.
This removes the need for the hand-written JSSVG*, DOMSVG* wrappers
in bindings/js, bindings/objc. Makes it much easier to convert more
SVG types to POD types (ie. SVGMatrix* -> AffineTransform etc.)
Affected test: svg/custom/SVGPoint-matrixTransform.svg
It's failing with this patch, as the SVGPoint matrixTransform() function
got disabled, until the SVGMatrix -> AffineTransform transition patch
is landed. Otherwhise we'd need to add special cases to both CodeGeneratorJS/ObjC.pm
which would be a waste of time, as SVGMatrix is about to die.
Temporarily updating layout test result, as suggested by John Sullivan, so
no-one notices that SVGPoint-matrixTransform.svg actually fails right now.
Expect that to be fixed again in the next hour(s).
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGNumber.cpp: Removed.
* bindings/js/JSSVGNumber.h: Removed.
* bindings/js/JSSVGPoint.cpp: Removed.
* bindings/js/JSSVGPoint.h: Removed.
* bindings/js/JSSVGRect.cpp: Removed.
* bindings/js/JSSVGRect.h: Removed.
* bindings/objc/DOMSVGNumber.mm: Removed.
* bindings/objc/DOMSVGPoint.mm: Removed.
* bindings/objc/DOMSVGRect.mm: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
* ksvg2/svg/SVGNumber.idl:
* ksvg2/svg/SVGPoint.idl:
* ksvg2/svg/SVGRect.idl:
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Fix another issue with frame loading
* platform/network/qt/ResourceHandleManagerQt.cpp:
(WebCore::ResourceHandleManager::cancel):
(WebCore::ResourceHandleManager::receivedData):
(WebCore::ResourceHandleManager::receivedFinished):
(WebCore::FileLoader::request):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClient::openURL):
2006-12-10 George Staikos <staikos@kde.org>
Reviewed by Zack.
Make the xpath grammar hack more specific (and work on OS X) until
it's cleaned up.
* WebCore.pro:
2006-12-10 Zack Rusin <zack@kde.org>
Set the widgetclient correctly. This code
should be platform independent!
* platform/qt/WidgetQt.cpp:
(WebCore::WidgetPrivate::WidgetPrivate):
(WebCore::Widget::setClient):
(WebCore::Widget::client):
(WebCore::Widget::focusPolicy):
2006-12-11 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Fix loading of local files.
* platform/network/qt/ResourceHandleManagerQt.cpp:
(WebCore::FileLoader::request):
2006-12-10 Zack Rusin <zack@kde.org>
Don't use my QTransform magic, affine QMatrix is fine for
SVG so use setMatrix.
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
(WebCore::setup):
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make sure we call checkCompleted() on the FrameLoader
to get the regression tests running.
* WebCore.pro:
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::saveDocumentState):
* page/qt/EventHandlerQt.cpp:
(WebCore::EventHandler::handleDrag):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClient::openURL):
(WebCore::FrameQtClient::didReceiveResponse):
(WebCore::FrameQtClient::didFinishLoading):
(WebCore::FrameQtClient::didFail):
* platform/qt/FrameQtClient.h:
2006-12-10 Zack Rusin <zack@kde.org>
Enable the SVG build by default and make it build.
* WebCore.pro:
* loader/qt/FrameLoaderQt.cpp: Output the method name
2006-12-10 Zack Rusin <zack@kde.org>
Move the client classes to WebKitQt/WebCoreSupport.
* WebCore.pro:
* loader/qt/FrameLoaderClientQt.cpp: Removed.
* loader/qt/FrameLoaderClientQt.h: Removed.
* platform/qt/ChromeClientQt.cpp: Removed.
* platform/qt/ChromeClientQt.h: Removed.
* platform/qt/ContextMenuClientQt.cpp: Removed.
* platform/qt/ContextMenuClientQt.h: Removed.
* platform/qt/EditorClientQt.cpp: Removed.
* platform/qt/EditorClientQt.h: Removed.
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack.
Add some stubs required to link.
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::runJavaScriptAlert):
(WebCore::FrameQt::runJavaScriptConfirm):
(WebCore::FrameQt::runJavaScriptPrompt):
(WebCore::FrameQt::bindingRootObject):
2006-12-10 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=10996
WebKit needs (possibly private) XML/SVG innerText support (for DumpRenderTree)
Create an internal method to create innerText functionality for non-HTML
nodes. When called from DRT this omits CDATA nodes.
* dom/Element.cpp:
(WebCore::Element::innerText):
(WebCore::Element::outerText):
* dom/Element.h:
* dom/Element.idl:
* html/HTMLElement.cpp:
* html/HTMLElement.h:
2006-12-10 Darin Fisher <darin@chromium.org>
Reviewed by Maciej.
Fixes http://bugs.webkit.org/show_bug.cgi?id=11790
No way to initialize ResourceResponse::m_httpHeaderFields
* platform/network/ResourceResponse.cpp: impl setHTTPHeaderField
(WebCore::ResourceResponse::setHTTPHeaderField):
* platform/network/ResourceResponse.h: decl setHTTPHeaderField
2006-12-10 Zack Rusin <zack@kde.org>
Cleaning up the code after removals.
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQt.h: Remove virtual methods
which have been moved to different objects
2006-12-10 Zack Rusin <zack@kde.org>
Cleanup the FrameQtClient a little bit more. Remove
unused methods.
* platform/qt/FrameQtClient.cpp:
* platform/qt/FrameQtClient.h:
2006-12-09 Adam Roben <aroben@apple.com>
Build fix.
* xml/XPathParser.cpp:
(WebCore::XPath::charCat): Use C++ unsigned instead of uint.
2006-12-09 George Staikos <staikos@kde.org>
Reviewed by Zack.
Make it not crash, and make it set the title on Qt platform.
* loader/qt/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::hasWebView):
(WebCore::FrameLoaderClientQt::hasFrameView):
(WebCore::FrameLoaderClientQt::didChangeTitle):
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::setTitle):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2006-12-10 Zack Rusin <zack@kde.org>
Renaming FrameQtClientDefault to FrameQtClient.
Removing FrameQtClient. Adding FrameLoaderClient
as an argument. Clenaing up the code a bit.
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClient::FrameQtClient):
(WebCore::FrameQtClient::~FrameQtClient):
(WebCore::FrameQtClient::setFrame):
(WebCore::FrameQtClient::openURL):
(WebCore::FrameQtClient::submitForm):
(WebCore::FrameQtClient::checkLoaded):
(WebCore::FrameQtClient::runJavaScriptAlert):
(WebCore::FrameQtClient::runJavaScriptConfirm):
(WebCore::FrameQtClient::runJavaScriptPrompt):
(WebCore::FrameQtClient::menubarVisible):
(WebCore::FrameQtClient::toolbarVisible):
(WebCore::FrameQtClient::statusbarVisible):
(WebCore::FrameQtClient::personalbarVisible):
(WebCore::FrameQtClient::locationbarVisible):
(WebCore::FrameQtClient::loadFinished):
(WebCore::FrameQtClient::didReceiveResponse):
(WebCore::FrameQtClient::didFinishLoading):
(WebCore::FrameQtClient::didFail):
(WebCore::FrameQtClient::didReceiveData):
(WebCore::FrameQtClient::traverseNextFrameStayWithin):
(WebCore::FrameQtClient::numPendingOrLoadingRequests):
(WebCore::FrameQtClient::receivedAllData):
(WebCore::FrameQtClient::setTitle):
* platform/qt/FrameQtClient.h:
2006-12-10 Zack Rusin <zack@kde.org>
Fixes compilation after the last removals.
* WebCore.pro:
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack.
Implement a decent network loader using QHttp.
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::load):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::request):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/qt/ResourceHandleManager.cpp: Removed.
* platform/network/qt/ResourceHandleManager.h: Removed.
* platform/network/qt/ResourceHandleManagerKDE.cpp: Added.
(WebCore::ResourceHandleManager::self):
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::~ResourceHandleManager):
(WebCore::ResourceHandleManager::slotData):
(WebCore::ResourceHandleManager::slotMimetype):
(WebCore::ResourceHandleManager::slotResult):
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* platform/network/qt/ResourceHandleManagerKDE.h: Added.
* platform/network/qt/ResourceHandleManagerQt.cpp: Added.
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::~ResourceHandleManager):
(WebCore::ResourceHandleManager::self):
(WebCore::RequestQt::RequestQt):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
(WebCore::ResourceHandleManager::receivedResponse):
(WebCore::ResourceHandleManager::receivedData):
(WebCore::ResourceHandleManager::receivedFinished):
(WebCore::LoaderThread::LoaderThread):
(WebCore::LoaderThread::run):
(WebCore::FileLoader::FileLoader):
(WebCore::FileLoader::request):
(WebCore::FileLoader::cancel):
(WebCore::WebCoreHttp::WebCoreHttp):
(WebCore::WebCoreHttp::~WebCoreHttp):
(WebCore::WebCoreHttp::request):
(WebCore::WebCoreHttp::scheduleNextRequest):
(WebCore::WebCoreHttp::getConnection):
(WebCore::WebCoreHttp::onResponseHeaderReceived):
(WebCore::WebCoreHttp::onReadyRead):
(WebCore::WebCoreHttp::onRequestFinished):
(WebCore::WebCoreHttp::onStateChanged):
(WebCore::WebCoreHttp::cancel):
(WebCore::qHash):
(WebCore::operator==):
(WebCore::HostInfo::HostInfo):
(WebCore::NetworkLoader::NetworkLoader):
(WebCore::NetworkLoader::~NetworkLoader):
(WebCore::NetworkLoader::request):
(WebCore::NetworkLoader::connectionClosed):
(WebCore::NetworkLoader::cancel):
* platform/network/qt/ResourceHandleManagerQt.h: Added.
(WebCore::LoaderThread::):
(WebCore::LoaderThread::waitForSetup):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::start):
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::keyEvent):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::FrameQtClientDefault):
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::submitForm):
(WebCore::FrameQtClientDefault::didReceiveResponse):
(WebCore::FrameQtClientDefault::didFinishLoading):
(WebCore::FrameQtClientDefault::didFail):
(WebCore::FrameQtClientDefault::didReceiveData):
(WebCore::FrameQtClientDefault::receivedAllData):
(WebCore::FrameQtClientDefault::setTitle):
* platform/qt/FrameQtClient.h:
2006-12-09 George Staikos <staikos@kde.org>
Reviewed by Zack.
Fix bison again on qmake build.
* WebCore.pro:
2006-12-09 Zack Rusin <zack@kde.org>
Reviewed by Zack.
Use the correct filename.
* WebCore.pro: it's PasteboardQt.cpp
2006-12-09 Zack Rusin <zack@kde.org>
Reviewed by Lars.
Correctly set the font on widgets.
* platform/qt/WidgetQt.cpp:
(WebCore::Widget::setFont):
2006-12-09 Adam Treat <treat@kde.org>
Reviewed by Zack
No more nil renderer warnings
* platform/qt/ScrollViewCanvasQt.cpp:
(WebCore::ScrollViewCanvasQt::paintEvent):
2006-12-09 Friedemann Kleint <fkleint@trolltech.com>
Reviewed by Zack
Removed compiler warnings about rounding issues
* platform/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):
* platform/qt/FontQt.cpp:
(WebCore::Font::drawComplexText):
2006-12-09 George Staikos <staikos@kde.org>
Reviewed by Zack.
Qt 4.1 (especially Qtopia) build fixes
* platform/qt/FrameQtClient.cpp:
* platform/qt/GraphicsContextQt.cpp:
* platform/qt/PlatformKeyboardEventQt.cpp:
* platform/qt/CursorQt.cpp:
* platform/qt/WidgetQt.cpp:
* platform/Cursor.h:
* platform/Arena.h:
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make it possible to build WebKit with qmake.
* WebCore.pro: Added.
* platform/graphics/qt/GraphicsContextQt.cpp:
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack.
Compile after latest WebKit changes and don't depend
on deprecated methods in Qt.
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::deliverJobData):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::extractCharsetFromHeaders):
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack.
Use the Qt image loading framework.
* CMakeLists.txt:
* platform/graphics/ImageSource.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/qt/ImageDecoderQt.cpp: Added.
(WebCore::ImageDecoderQt::ImageData::ImageData):
(WebCore::ImageDecoderQt::ReadContext::):
(WebCore::ImageDecoderQt::ReadContext::ReadContext):
(WebCore::ImageDecoderQt::ReadContext::read):
(WebCore::ImageDecoderQt::ReadContext::readImageLines):
(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::~ImageDecoderQt):
(WebCore::ImageDecoderQt::hasFirstImageHeader):
(WebCore::ImageDecoderQt::reset):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::isSizeAvailable):
(WebCore::ImageDecoderQt::frameCount):
(WebCore::ImageDecoderQt::repetitionCount):
(WebCore::ImageDecoderQt::ImageDecoderQt::supportsAlpha):
(WebCore::ImageDecoderQt::duration):
(WebCore::ImageDecoderQt::frameBufferAtIndex):
(WebCore::ImageDecoderQt::imageAtIndex):
* platform/graphics/qt/ImageDecoderQt.h: Added.
(WebCore::ImageDecoderQt::):
* platform/graphics/qt/ImageSourceQt.cpp:
(WebCore::):
(WebCore::detectImageFormat):
(WebCore::createDecoder):
(WebCore::ImageSource::setData):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
(WebCore::ImageSource::frameHasAlphaAtIndex):
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Maciej.
Remove an explicit ICU dependency.
* xml/XPathParser.cpp:
(WebCore::XPath::charCat):
2006-12-09 Zack Rusin <zack@kde.org>
Adjusting the build after the icu changes.
* CMakeLists.txt:
2006-12-09 Adam Roben <aroben@apple.com>
Reviewed by Darin.
Changed all ForwardingHeaders to use #include instead of #import.
* ForwardingHeaders/kjs/JSLock.h:
* ForwardingHeaders/kjs/SavedBuiltins.h:
* ForwardingHeaders/kjs/collector.h:
* ForwardingHeaders/kjs/dtoa.h:
* ForwardingHeaders/kjs/internal.h:
* ForwardingHeaders/kjs/interpreter.h:
* ForwardingHeaders/kjs/lookup.h:
* ForwardingHeaders/kjs/object.h:
* ForwardingHeaders/kjs/property_map.h:
* ForwardingHeaders/kjs/protect.h:
* ForwardingHeaders/wtf/AlwaysInline.h:
* ForwardingHeaders/wtf/Assertions.h:
* ForwardingHeaders/wtf/FastMalloc.h:
* ForwardingHeaders/wtf/GetPtr.h:
* ForwardingHeaders/wtf/HashCountedSet.h:
* ForwardingHeaders/wtf/HashMap.h:
* ForwardingHeaders/wtf/HashSet.h:
* ForwardingHeaders/wtf/HashTraits.h:
* ForwardingHeaders/wtf/MathExtras.h:
* ForwardingHeaders/wtf/Noncopyable.h:
* ForwardingHeaders/wtf/OwnArrayPtr.h:
* ForwardingHeaders/wtf/OwnPtr.h:
* ForwardingHeaders/wtf/PassRefPtr.h:
* ForwardingHeaders/wtf/Platform.h:
* ForwardingHeaders/wtf/RefPtr.h:
* ForwardingHeaders/wtf/Vector.h:
2006-12-09 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11625
Investigate possibility to share code between HTMLStyleElement and SVGStyleElement
Add a class shared by both HTMLStyleElement and SVGStyleElement that
encapsulates the common logic.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore::Document::recalcStyleSelector):
Generalize stylesheet processing of svg and html.
* dom/StyleElement.cpp: Added.
(WebCore::StyleElement::StyleElement):
(WebCore::StyleElement::sheet):
(WebCore::StyleElement::insertedIntoDocument):
(WebCore::StyleElement::removedFromDocument):
(WebCore::StyleElement::childrenChanged):
* dom/StyleElement.h: Added.
(WebCore::StyleElement::~StyleElement):
(WebCore::StyleElement::isLoading):
Common base class for SVGStyleElement and HTMLStyleElement.
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::parseMappedAttribute):
(WebCore::HTMLStyleElement::insertedIntoDocument):
(WebCore::HTMLStyleElement::removedFromDocument):
(WebCore::HTMLStyleElement::childrenChanged):
(WebCore::HTMLStyleElement::media):
(WebCore::HTMLStyleElement::setMedia):
(WebCore::HTMLStyleElement::type):
(WebCore::HTMLStyleElement::setType):
* html/HTMLStyleElement.h:
Use new common class.
* ksvg2/svg/SVGElement.cpp:
* ksvg2/svg/SVGElement.h:
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::contentScriptType):
(WebCore::SVGSVGElement::contentStyleType):
* ksvg2/svg/SVGSVGElement.h:
Do not use tryGetAttribute(NS) anymore.
* ksvg2/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::SVGStyleElement):
(WebCore::SVGStyleElement::xmlspace):
(WebCore::SVGStyleElement::type):
(WebCore::SVGStyleElement::media):
(WebCore::SVGStyleElement::title):
(WebCore::SVGStyleElement::insertedIntoDocument):
(WebCore::SVGStyleElement::removedFromDocument):
(WebCore::SVGStyleElement::childrenChanged):
* ksvg2/svg/SVGStyleElement.h:
Use new common class.
2006-12-08 David Hyatt <hyatt@apple.com>
Land the new ICU abstraction layer (WTF::Unicode). Patch
by Lars with a couple of fixes thrown in by me.
Reviewed by hyatt
* ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
* ForwardingHeaders/wtf/unicode/Unicode.h: Added.
* WebCore.xcodeproj/project.pbxproj:
* css/cssparser.cpp:
(WebCore::ParseString::lower):
* dom/Document.cpp:
(WebCore::isValidNameStart):
(WebCore::isValidNamePart):
* editing/TextIterator.cpp:
(WebCore::CircularSearchBuffer::append):
* html/HTMLFontElement.cpp:
(WebCore::parseFontSizeNumber):
* html/HTMLInputElement.cpp:
(WebCore::numGraphemeClusters):
(WebCore::numCharactersInGraphemeClusters):
* html/HTMLSelectElement.cpp:
(WebCore::stripLeadingWhiteSpace):
* page/Frame.h:
* platform/DeprecatedString.h:
(WebCore::DeprecatedChar::isSpace):
(WebCore::DeprecatedChar::lower):
(WebCore::DeprecatedChar::upper):
* platform/Font.cpp:
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::normalizeVoicingMarks):
* platform/FontCache.h:
* platform/FontData.h:
* platform/GlyphMap.cpp:
* platform/GlyphMap.h:
* platform/GlyphWidthMap.h:
* platform/KURL.cpp:
(WebCore::encodeHostname):
* platform/StringHash.h:
(WTF::):
* platform/StringImpl.cpp:
(WebCore::isSpace):
(WebCore::parseLength):
(WebCore::StringImpl::isLower):
(WebCore::StringImpl::lower):
(WebCore::StringImpl::upper):
(WebCore::StringImpl::secure):
(WebCore::StringImpl::foldCase):
(WebCore::StringImpl::capitalize):
(WebCore::StringImpl::toInt):
(WebCore::equalIgnoringCase):
(WebCore::StringImpl::find):
* platform/StringImpl.h:
* platform/TextBoundaries.h:
* platform/TextBreakIterator.h: Added.
(WebCore::):
* platform/TextBreakIteratorICU.cpp: Added.
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakNext):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
* platform/TextCodec.h:
* platform/TextCodecLatin1.cpp:
* platform/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/TextEncoding.h:
* platform/TextEncodingRegistry.cpp:
(WebCore::buildTextEncodingNameMap):
(WebCore::buildTextCodecMap):
* platform/TextEncodingRegistry.h:
* platform/UChar.h: Removed.
* platform/graphics/GraphicsContext.h:
* platform/qt/GlyphMapQt.cpp:
* platform/qt/TextBreakIteratorQt.cpp: Added.
(WebCore::TextBreakIterator::following):
(WebCore::TextBreakIterator::preceding):
(WebCore::WordBreakIteratorQt::first):
(WebCore::WordBreakIteratorQt::next):
(WebCore::WordBreakIteratorQt::previous):
(WebCore::CharBreakIteratorQt::first):
(WebCore::CharBreakIteratorQt::next):
(WebCore::CharBreakIteratorQt::previous):
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakNext):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
* platform/qt/TextCodecQt.cpp: Added.
(WebCore::getAtomicName):
(WebCore::TextCodecQt::registerEncodingNames):
(WebCore::newTextCodecQt):
(WebCore::TextCodecQt::registerCodecs):
(WebCore::TextCodecQt::TextCodecQt):
(WebCore::TextCodecQt::~TextCodecQt):
(WebCore::TextCodecQt::decode):
(WebCore::TextCodecQt::encode):
* platform/qt/TextCodecQt.h: Added.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderText.cpp:
(WebCore::RenderText::previousOffset):
(WebCore::RenderText::nextOffset):
(WebCore::RenderText::widthFromCache):
* rendering/RenderText.h:
* rendering/bidi.cpp:
(WebCore::BidiState::BidiState):
(WebCore::BidiContext::BidiContext):
(WebCore::bidiNext):
(WebCore::bidiFirst):
(WebCore::BidiIterator::direction):
(WebCore::appendRun):
(WebCore::embed):
(WebCore::RenderBlock::computeHorizontalPositionsForLine):
(WebCore::RenderBlock::bidiReorderLine):
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/bidi.h:
(WebCore::BidiStatus::BidiStatus):
(WebCore::BidiContext::dir):
(WebCore::BidiContext::basicDir):
(WebCore::BidiRun::BidiRun):
* rendering/break_lines.h:
2006-12-08 Adam Roben <aroben@apple.com>
Rolling out r17865 because it caused a performance regression.
* loader/TextResourceDecoder.cpp:
(WebCore::findXMLEncoding):
* platform/CString.cpp:
(WebCore::CString::data):
* platform/CString.h:
* platform/TextStream.cpp:
(WebCore::TextStream::operator<<):
* platform/TextStream.h:
2006-12-08 Zack Rusin <zack@kde.org>
Reviewed by Maciej.
Fix the Qt/KDE build after all the API changes.
* CMakeLists.txt:
* editing/qt/EditorQt.cpp: Added.
(WebCore::Editor::newGeneralClipboard):
(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::Editor::markMisspellingsInAdjacentWords):
(WebCore::Editor::markMisspellings):
* loader/NavigationAction.h:
* loader/qt/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
(WebCore::FrameLoaderClientQt::canHandleRequest):
* loader/qt/FrameLoaderClientQt.h:
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::load):
* loader/qt/ResourceLoaderQt.cpp:
* platform/ContextMenu.h:
* platform/graphics/qt/GraphicsContextQt.cpp:
* platform/graphics/qt/PathQt.cpp:
(WebCore::Path::addArc):
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
(WebCore::setup):
* platform/network/ResourceHandle.h:
(WebCore::ResourceHandle::getInternal):
* platform/network/ResourceHandleInternal.h:
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::slotData):
(WebCore::ResourceHandleManager::remove):
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
* platform/qt/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::addMessageToConsole):
(WebCore::ChromeClientQt::chromeDestroyed):
* platform/qt/ChromeClientQt.h:
* platform/qt/ContextMenuClientQt.cpp:
(WebCore::ContextMenuClientQt::copyLinkToClipboard):
(WebCore::ContextMenuClientQt::downloadURL):
(WebCore::ContextMenuClientQt::copyImageToClipboard):
(WebCore::ContextMenuClientQt::contextMenuDestroyed):
(WebCore::ContextMenuClientQt::contextMenuItemSelected):
* platform/qt/ContextMenuClientQt.h:
* platform/qt/ContextMenuItemQt.cpp: Added.
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::platformDescription):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::setSubMenu):
* platform/qt/ContextMenuQt.cpp:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::setPlatformDescription):
* platform/qt/CursorQt.cpp:
(WebCore::copyCursor):
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldInsertNode):
(WebCore::WebCore::EditorClientQt::pageDestroyed):
(WebCore::EditorClientQt::smartInsertDeleteEnabled):
* platform/qt/EditorClientQt.h:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::keyEvent):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::submitForm):
* platform/qt/LoaderFunctionsQt.cpp:
* platform/qt/PasteboardQt.cpp: Added.
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::clearTypes):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::documentFragment):
=== Safari-521.32 ===
2006-12-08 Rob Buis <buis@kde.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=10188
Form elements added via appendChild() are not accessible via form.element
Make sure looking up form elements works when the form is not appended
to the document.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::registerFormElement):
2006-12-08 Rob Buis <buis@kde.org>
Reviewed by Adele.
http://bugs.webkit.org/show_bug.cgi?id=11765
REGRESSION: Clicking on a select with size other than 1 and no children results in a crash
Make sure returned value is -1 for selects without children.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::listIndexAtOffset):
2006-12-08 Adam Roben <aroben@apple.com>
Reviewed by Anders.
This is a mo' better fix for ensuring we don't use macro definitions
of min/max.
* config.h:
2006-12-08 Peter Kasting <pkasting@google.com>
Reviewed and landed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11759:
Windows build bustage
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ContextMenuClientWin.h:
* bridge/win/FrameWin.h:
* loader/win/FrameLoaderWin.cpp:
(WebCore::FrameLoader::submitForm):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
* platform/win/MouseEventWin.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::fileButtonChooseFileLabel):
(WebCore::inputElementAltText):
(WebCore::copyCursor):
(WebCore::resetButtonDefaultLabel):
(WebCore::ContextMenuClientWin::contextMenuItemSelected):
(WebCore::ContextMenuClientWin::copyLinkToClipboard):
(WebCore::ContextMenuClientWin::downloadURL):
(WebCore::ContextMenuClientWin::copyImageToClipboard):
(WebCore::Editor::ignoreSpelling):
(WebCore::Editor::learnSpelling):
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::Editor::markMisspellingsInAdjacentWords):
(WebCore::FrameLoader::load):
(WebCore::FrameWin::scheduleClose):
(WebCore::FrameWin::respondToChangedSelection):
2006-12-08 Sam Weinig <sam@webkit.org>
Reviewed by Geoff.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11777
Crash when using XMLSerializer.serializeToString() on
documentless, DocumentType nodes.
Test: fast/dom/XMLSerializer-doctype.html
Test: fast/dom/XMLSerializer-doctype2.html
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument): set the document of the
DocumentType node to the new document.
* xml/XMLSerializer.cpp: Cleanup.
(WebCore::XMLSerializer::serializeToString): now throws an exception
for documentless nodes.
* xml/XMLSerializer.h: cleanup
* xml/XMLSerializer.idl: add exception
2006-12-07 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
<rdar://problem/4836287>
Cannot expand selection out of editable element when containing element is non-editable.
* editing/Selection.cpp:
(WebCore::Selection::adjustForEditableContent): Restrict the selection endpoints
to the same *highest* editable root. This bug only happened when creating selections
based in an editable region and extending into a higher editable root, so this change
doesn't expose any new kinds of deletions, but we should start thinking about how
those deletions should behave.
* editing/SelectionController.cpp:
(WebCore::SelectionController::selectAll): Ditto.
2006-12-08 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej.
Add a new member variable to ContextMenuItem to hold on to the sub-
menu. The new member variable is an OwnPtr<ContextMenu>
* platform/ContextMenu.cpp: Because of the OwnPtr in
ContextMenuItem, we have to separate the declaration of
ContextMenuItems away from the calls to appendItem(). Not doing so
causes a build failure because OwnPtr inherits from Noncopyable.
(WebCore::createFontSubMenu): Same.
(WebCore::createSpellingAndGrammarSubMenu): Same.
(WebCore::createSpellingSubMenu): Same.
(WebCore::createSpeechSubMenu): Same.
(WebCore::createWritingDirectionSubMenu): Same.
(WebCore::ContextMenu::populate): Same.
* platform/ContextMenuItem.h: New member variable m_subMenu.
* platform/mac/ContextMenuItemMac.mm: Take care of setting
m_subMenu in addition to setting the submenu of the NSMenuItem when
we have a sub-menu.
(WebCore::menuToArray):
(WebCore::ContextMenuItem::ContextMenuItem): Same.
(WebCore::ContextMenuItem::platformSubMenu): Same.
(WebCore::ContextMenuItem::setSubMenu): Same.
2006-12-08 Darin Fisher <darin@chromium.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11778
CString::data() should be documented as returning a null terminated char array
* platform/CString.h:
Add some basic documentation to CString.h
2006-12-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff.
http://bugs.webkit.org/show_bug.cgi?id=11718
REGRESSION: When I mouse up after dragging a selection outside of a iframe, the iframe
continues to scroll automatically.
Test: manual-tests/autoscroll.html
* manual-tests/autoscroll.html: Added.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
Assign to m_mousePressNode earlier, so that it is available in the superframe as well.
Reset m_mouseDownWasInSubframe to false when starting to handle a mousedown - previously, its value
was only defined if the event was passed down to a widget or a subframe.
(WebCore::EventHandler::stopAutoscrollTimer):
If the mouse down event was in a subframe, stop the subframe's timer.
2006-12-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Geoff.
http://bugs.webkit.org/show_bug.cgi?id=6275
XMLHttpRequest.getResponseHeader should return a null string for non-existent headers
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
Convert null getResponseHeader strings to JS null, rather than undefined.
2006-12-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=9854
HTTP Refresh header with quotes is parsed incorrectly
Test: http/tests/misc/redirect-with-quotes.php
* WebCore.xcodeproj/project.pbxproj:
Added HTTPParsers.{h,cpp}. I intend to move Content-Type parsing here, as well.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
Use the new implementation in HTTPHeaders.
* platform/network/HTTPParsers.cpp: Added.
(WebCore::skipWhiteSpace):
(WebCore::parseHTTPRefresh):
* platform/network/HTTPParsers.h: Added.
Merged and rewrote existing implementations for better Firefox compatibility.
2006-12-08 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Tim H.
http://bugs.webkit.org/show_bug.cgi?id=11772
REGRESSION: XMLSerializer.serializeToString incorrect value for CDATA nodes
Test: fast/dom/serialize-cdata.html
* editing/markup.cpp:
(WebCore::startMarkup): Dump CDATA sections, too.
2006-12-08 Mitz Pettel <mitz@webkit.org>
Reviewed by hyatt.
Deleted misplaced comment.
* rendering/RenderWidget.cpp:
2006-12-08 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6074
WebKit+SVG and FireFox disagree on invalid "transform" handling
Test for parsing failure on transform attribute and clear the transform
list upon failure to match FF behaviour.
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::parseMappedAttribute):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::parseMappedAttribute):
* ksvg2/svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::parseMappedAttribute):
* ksvg2/svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::parseMappedAttribute):
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::SVGTransformable::parseTransformAttribute):
* ksvg2/svg/SVGTransformable.h:
2006-12-07 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Fixed <rdar://problem/4870551> 9A320: <input type="text"> no longer
dispatches onchange event in response to enter key
To match our old behavior and FF, we need to dispatch onchange in response to the
ENTER key. The strategy here is just to dispatch a blur event, since that's how
the search field always worked, and the DOM spec says onchange only fires
as a precursor to blur.
* ChangeLog:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
2006-12-07 Adam Roben <aroben@apple.com>
Reviewed by Oliver.
Some small context menu-related fixes.
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler): Don't try to
resize on a contextmenuEvent.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Only pass the event
off to HTMLGenericFormElement if we haven't handled it.
2006-12-07 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
<rdar://problem/4838778>
Title: DashboardClient crashing in WebCore::SubresourceLoader::didFail
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::stopLoading):
* loader/SubresourceLoader.h:
Add stopLoading method which currently just clears the client. This isn't the ideal fix,
since it doesn't actually stop the load.
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
Add null-checks.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::abort):
Call stopLoading.
2006-12-07 Kevin McCullough <kmccullough@apple.com>
Reviewed by Geof.
- added the ability to set the auto repeating variable to force a keyPressed
event from a keyDown event.
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2006-12-07 Peter Kasting <pkasting@google.com>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11749
Don't call updateThumbProportion() unnecessarily.
* platform/ScrollBar.cpp:
(WebCore::Scrollbar::setProportion):
2006-12-07 Beth Dakin <bdakin@apple.com>
Reviewed by Brady.
Fixes "Open in new Window" item in WebCore ContextMenus. It wasn't
doing anything before, and now it works! Also some formatting
changes, etc.
* page/ContextMenuClient.h: Several of the parameters to several of
the functions here should be const or const references. And now
they are!
* page/ContextMenuController.cpp:
(WebCore::openNewWindow): Moved the open new window functionality
into a helper function since it is used by several menu item tags.
Now after calling chrome()->createWindow() we call chrome()->show()
on the new window, and so it appears!
(WebCore::ContextMenuController::contextMenuItemSelected): Call new
openNewWindow function to do the right thing. Shift some
formatting, use local variable for HitTestResult. Implement action
for ContextMenuItemTagOpenLink.
2006-12-06 Kevin McCullough <KMcCullough@apple.com>
Reviewed by.
- Removed a conflict marker
* ChangeLog:
2006-12-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<rdar://problem/4818134>
Crash in WebCore::selectRange when invoking WebView:insertNewLine in any empty content editable DIV.
* WebCore.vcproj/WebCore/WebCore.vcproj: Removed RebalanceWhitespaceCommand.*.
* editing/visible_units.cpp:
(WebCore::startOfLine): There are VisiblePositions at offset 0 in blocks without
RootInlineBoxes, like empty editable blocks and bordered blocks.
(WebCore::endOfLine): Ditto.
2006-12-06 Kevin McCullough <KMcCullough@apple.com>
Reviewed by.
- Removed a conflict marker
* ChangeLog:
2006-12-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
<rdar://problem/4854869>
Inserting a new line in a contenteditable=true SPAN whose parent is a DIV asserts
* editing/htmlediting.cpp:
(WebCore::enclosingBlock): Use enclosingNodeWithType to prevent escape
from editable content.
* editing/markup.cpp:
(WebCore::createMarkup): A null commonAncestorBlock will happen
if commonAncestor is inside an inline editable root that doesn't
contain any blocks. Removed an early return for this case: the
code below the early return can and must handle it.
2006-12-06 Timothy Hatcher <timothy@apple.com>
Reviewed by Mark Rowe.
<rdar://problem/4843505> Fix cross-library ivar use for 64-bit Objective-C
Adds a new WebCore.LP64.exp file that gets appended to the normal export file.
This new file will have 64-bit only symbols we need to export.
* WebCore.LP64.exp: Added.
* WebCore.xcodeproj/project.pbxproj:
2006-12-06 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
Change SubresourceLoader to use a ResourceHandle, and change ResourceHandle to use a NSURLConnection.
* loader/ResourceLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
* loader/SubresourceLoader.h:
(WebCore::SubresourceLoader::didReceiveAuthenticationChallenge):
(WebCore::SubresourceLoader::didCancelAuthenticationChallenge):
(WebCore::SubresourceLoader::willStopBufferingData):
(WebCore::SubresourceLoader::willCacheResponse):
(WebCore::SubresourceLoader::receivedCredential):
(WebCore::SubresourceLoader::receivedRequestToContinueWithoutCredential):
(WebCore::SubresourceLoader::receivedCancellation):
* loader/SubresourceLoaderClient.h:
(WebCore::SubresourceLoaderClient::didFail):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didFail):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::didFail):
* loader/loader.h:
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::addData):
(WebCore::ResourceLoader::resourceData):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::setDefersLoading):
(WebCore::SubresourceLoader::resourceData):
(WebCore::SubresourceLoader::load):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle):
(WebCore::ResourceHandle::create):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didReceiveData):
(WebCore::ResourceHandleClient::didFail):
(WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandleClient::didCancelAuthenticationChallenge):
(WebCore::ResourceHandleClient::willStopBufferingData):
(WebCore::ResourceHandleClient::willCacheResponse):
(WebCore::ResourceHandleClient::receivedCredential):
(WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandleClient::receivedCancellation):
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::setDefersLoading):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::releaseDelegate):
(WebCore::ResourceHandle::supportsBufferedData):
(WebCore::ResourceHandle::bufferedData):
(-[WebCoreResourceHandleAsDelegate initWithHandle:]):
(-[WebCoreResourceHandleAsDelegate detachHandle]):
(-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
(-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
(-[WebCoreResourceHandleAsDelegate useCredential:forAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsDelegate continueWithoutCredentialForAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsDelegate cancelAuthenticationChallenge:]):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::didFail):
* xml/xmlhttprequest.h:
2006-12-06 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
There are two bugs with WebCore ContextMenus due to the static
ContextMenuItems. One bug is that we often crashed in
NSAutoreleasePool upon quitting the browser. The other bug is that
we were adding static NSMenuItems to multiple NSMenus, which is
disallowed. To fix these bugs, the MenuItems are no longer static.
This is in line with the current design in WebKit anyway. I made
some re-arrangements in the code because I also removed the macro
that was used to create the menu items since it was a bit
confusing.
* platform/ContextMenu.cpp:
(WebCore::createFontSubMenu):
(WebCore::createSpellingAndGrammarSubMenu):
(WebCore::createSpellingSubMenu):
(WebCore::createSpeechSubMenu):
(WebCore::createWritingDirectionSubMenu):
(WebCore::ContextMenu::populate):
* platform/ContextMenuItem.h:
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem
global separator item if we have SeparatorType.
* platform/mac/ContextMenuMac.mm:
(WebCore::setMenuItemTarget): Change name of getNSMenuItem since
that is no longer accurate.
(WebCore::ContextMenu::appendItem): Above name change.
(WebCore::ContextMenu::insertItem): Same.
2006-12-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Geof.
- Returned the semantic meaning of the mask to be the actual repeat count,
and changed auto_repeat to correctly differnetiate between keypressed and keydown.
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2006-12-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4753545>
REGRESSION: Edited whitespace sequences are all nbsps (10636)
* WebCore.xcodeproj/project.pbxproj: Removed RebalanceWhitespaceCommand.* from the project.
* editing/CompositeEditCommand.cpp:
(WebCore::isWhitespace): Moved from htmlediting.
(WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Moved the work that was
once done in its own command here.
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): Prevents
whitespace around a position from collapsing when it's pushed apart during Paste.
This function can eventually be deployed to eliminate the need for leading/trailing
whitespace handling in InsertParagraphSeparator, InsertLineBreak, Delete, and BreakBlockquote.
(WebCore::CompositeEditCommand::rebalanceWhitespace): Cleaned up.
* editing/CompositeEditCommand.h:
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply): Do rebalanceWhitespaceAt *before*
saving the typing style, because whitespace rebalancing is no longer it's own
command that claims to preserve the typing style.
* editing/RebalanceWhitespaceCommand.cpp: Removed.
* editing/RebalanceWhitespaceCommand.h: Removed.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Moved the code to prepare whitespace
arond a position for being pushed aparat to its own method.
* editing/htmlediting.cpp:
(WebCore::stringWithRebalancedWhitespace): Added. Returns a rebalanced string.
Takes in whether or not the beginning of that string will be at the start of
a paragraph, because a space at such a position must have be nbsp, even if
that doesn't follow the nbsp/space pattern used. Similar stuff for the end
of a paragraph.
* editing/htmlediting.h:
* editing/markup.cpp:
(WebCore::fillContainerFromString): Call stringWithRelabacedWhitespace. Pass
it the startOfParagraph/endOfParagraph bools.
2006-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Beth
Moved spelling and grammar code from Frame to Editor
* WebCore.exp:
updated for these changes
* page/Frame.h:
removed declarations of spelling and grammar functions
* bridge/mac/FrameMac.h:
removed declarations of spelling and grammar functions
* bridge/mac/FrameMac.mm:
moved implementation of spelling and grammar functions from here
(WebCore::FrameMac::respondToChangedSelection):
updated for moved functions
* editing/Editor.h:
moved declarations of spelling and grammar functions to here
* editing/mac/EditorMac.mm:
moved implementation of spelling and grammar functions to here; changed
only to make it compile (e.g. removing "editor()->" and adding "frame()->"
where appropraite.
(WebCore::findFirstMisspellingInRange):
(WebCore::paragraphAlignedRangeForRange):
(WebCore::findFirstGrammarDetailInRange):
(WebCore::findFirstBadGrammarInRange):
(WebCore::Editor::advanceToNextMisspelling):
(WebCore::Editor::isSelectionMisspelled):
(WebCore::isRangeUngrammatical):
(WebCore::Editor::isSelectionUngrammatical):
(WebCore::Editor::guessesForUngrammaticalSelection):
(WebCore::core):
(WebCore::Editor::guessesForMisspelledSelection):
(WebCore::Editor::markMisspellingsInAdjacentWords):
(WebCore::markAllMisspellingsInRange):
(WebCore::markAllBadGrammarInRange):
(WebCore::Editor::markMisspellings):
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
updated for moved functions
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::markMisspellingsAfterTyping):
updated for moved functions
2006-12-05 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
General cleanup, get rid of PlatformResponse (we have ResourceResponse now)
and remove a couple of functions that were unused.
* loader/CachedResource.h:
* loader/LoaderFunctions.h:
* loader/mac/LoaderFunctionsMac.mm:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::~ResourceHandle):
2006-12-05 Kevin McCullough <kmccullough@apple.com>
Reviewed by John.
- keydown is now a keydown event instead of a keypress event.
Fixes some form submission oddities.
* platform/win/KeyEventWin.cpp:
2006-12-05 John Sullivan <sullivan@apple.com>
Tiger build fix
* editing/mac/EditorMac.mm:
declare -[NSSpellChecker learnWord:], on Tiger only (it's API on Leopard)
2006-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen
* page/Frame.h:
remove declarations of ignoreSpelling() and learnSpelling()
* bridge/mac/FrameMac.h:
remove declarations of ignoreSpelling() and learnSpelling()
* bridge/mac/FrameMac.mm:
moved implementations of ignoreSpelling() and learnSpelling() from here
* editing/Editor.h:
added declarations of ignoreSpelling() and learnSpelling()
* editing/mac/EditorMac.mm:
(WebCore::Editor::ignoreSpelling):
moved here from FrameMac.mm
(WebCore::Editor::learnSpelling):
ditto
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
updated callers to use frame()->editor() rather than frame()
2006-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Adam
New context-menu mechanism fix for:
<rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
Leave out "No Guesses Found" and separator for grammar-checking case.
2006-12-05 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11686
WebKit draws Carto.net tabgroup example completely incorrectly (ff does fine)
Make sure the SVG render objects are laid out before measuring their
dimensions using relativeBBox.
* ksvg2/svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getBBox):
2006-12-05 John Sullivan <sullivan@apple.com>
Reviewed by Darin
Grammar/Spelling code re-homing, baby step one: put isGrammarCheckingEnabled in Editor
since that's where isContinousSpellCheckingEnabled lives.
* editing/Editor.h:
* editing/Editor.cpp:
(WebCore::Editor::isGrammarCheckingEnabled):
new method, calls through to client a la isContinuousSpellCheckingEnabled
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
call editor() rather than editor()->client()
(WebCore::FrameMac::markMisspellings):
ditto
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
ditto
2006-12-05 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- a little cleanup
* html/HTMLInputElement.h: Removed unneeded includes of RenderObject.h
and RenderStyle.h.
* html/HTMLSelectElement.h: Removed unneeded include of RenderStyle.h.
* ksvg2/svg/SVGStyledElement.h: Removed unneeded include of RenderStyle.h.
* ksvg2/svg/SVGSVGElement.h: Remove unneeded parameter to createSVGPoint.
* ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createSVGPoint):
Ditto.
* ksvg2/scripts/generateJSBindings.pl: Removed unused script.
2006-12-05 Darin Adler <darin@apple.com>
* doc: Removed empty directory. It's not clear this is a good place for
documentation, so lets add it back later if we actually start using it.
2006-12-05 Anders Carlsson <acarlsson@apple.com>
Reviewed by Brady, Darin.
* loader/loader.cpp:
(WebCore::Loader::receivedAllData):
Remove ref() call that was left around by mistake.
2006-12-05 Sam Weinig <sam@webkit.org>
Reviewed by Tim H.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11758
Don't compile custom SVG and XSLT bindings in non-svg build
* bindings/js/JSSVGNumber.cpp:
* bindings/js/JSSVGNumber.h:
* bindings/js/JSSVGPoint.cpp:
* bindings/js/JSSVGPoint.h:
* bindings/js/JSSVGRect.cpp:
* bindings/js/JSSVGRect.h:
* bindings/js/JSXSLTProcessor.cpp:
* bindings/js/JSXSLTProcessor.h:
2006-12-04 John Sullivan <sullivan@apple.com>
Reviewed by Darin
WebCore part of fix for:
<rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
The context menu mechanism is currently in flux; the old mechanism is still in place, but an
up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
test the new mechanism because it doesn't work well enough yet. Also, some of this code
should move from Frame to Editor, but that will wait for another checkin.
* page/Frame.h:
added pure virtual function declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
* bridge/mac/FrameMac.h:
added virtual functions declarations for isSelectionUngrammatical() and guessesForUngrammaticalSelection()
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::isSelectionMisspelled):
now updates spelling panel (whether or not it's showing), since this is now needed to make -[NSSSpellChecker
ignoreWord:inSpellDocumentWithTag:] work correctly
(WebCore::isRangeUngrammatical):
new function, helper used by both isSelectionUngrammatical() and guessesForUngrammaticalSelection()
(WebCore::FrameMac::isSelectionUngrammatical):
new function, calls isRangeUngrammatical
(WebCore::FrameMac::guessesForUngrammaticalSelection):
ditto
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
now considers bad grammar as well as misspellings
* platform/ContextMenuItem.h:
added ContextMenuItemTagIgnoreGrammar
2006-12-05 Pam Greene <pam@chromium.org>
Reviewed, tweaked and landed by Alexey.
<http://bugs.webkit.org/show_bug.cgi?id=11639> Form buttons don't look different when clicked
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::determineState): Moved test for active
state before test for hover state, since active should override hover
when both are true.
* platform/gdk/RenderThemeGdk.cpp:
(WebCore::RenderThemeGdk::determineState): Same fix.
2006-12-05 Pam Greene <pam@chromium.org>
Reviewed and landed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11681
Don't select the first option when resetting a listbox-style form
control (i.e., a multi-select control or one with size > 1) that
has no default selection.
Test: fast/dom/HTMLSelectElement/listbox-select-reset.html
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::reset):
2006-12-05 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed and landed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11752
[CSS 3] missing support for cursor selector 'copy'
* Resources/copyCursor.png: Added.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSValueKeywords.in:
* manual-tests/cursor.html:
* page/EventHandler.cpp:
(WebCore::selectCursor):
* platform/Cursor.h:
* platform/mac/CursorMac.mm:
(WebCore::copyCursor):
* rendering/RenderStyle.h:
(WebCore::):
2006-12-04 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Fix from last check-in. This line was badbad.
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::~ContextMenu):
2006-12-04 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
With the new changes to ContextMenuItems, WebCore context menus
stopped appearing at all. And then when I got them to appear, they
crashed. This fixes both of these problems.
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::ContextMenuItem): keyEquivalent cannot
be nil. This was causing Obj-C to throw an exception preventing the
menus from popping up at all.
* platform/mac/ContextMenuMac.mm:
(+[WebCoreMenuTarget sharedMenuTarget]): Re-name our static
MenuTarget so that it is more clear that it is a static and shared
WebCoreMenuTarget.
(WebCore::ContextMenu::ContextMenu): Initialize the
WebCoreMenuTarget's controller in the ContextMenu constructor
instead of in getNSMenuItem since the controller will only possibly
change when a new ContextMenu has been created.
(WebCore::ContextMenu::~ContextMenu): Set the target's controller
to 0.
(WebCore::getNSMenuItem): A lot of this work is being done other
places now. Call new class method on WebCoreMenuTarget to get the
shared target.
(WebCore::ContextMenu::appendItem): We should not be releasing the
menuItem here! This caused the crashes I saw.
(WebCore::ContextMenu::insertItem): Same.
2006-12-04 Anders Carlsson <acarlsson@apple.com>
Fix the build.
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::~SubresourceLoader):
Add back the destructor.
2006-12-04 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Change all ResourceHandleClients to be SubresourceLoaderClients instead. Also,
make SubresourceLoader a ResourceHandleClient. This is a first step towards turning ResourceHandle into a
standalone class which doesn't need to know about SubresourceLoader.
* WebCore.xcodeproj/project.pbxproj:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::setDefersLoading):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::~SubresourceLoader):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFailWithError):
(WebCore::SubresourceLoader::receivedAllData):
* loader/SubresourceLoader.h:
(WebCore::SubresourceLoader::loaderAsResourceHandleClient):
(WebCore::SubresourceLoader::handle):
* loader/SubresourceLoaderClient.h: Added.
(WebCore::SubresourceLoaderClient::~SubresourceLoaderClient):
(WebCore::SubresourceLoaderClient::willSendRequest):
(WebCore::SubresourceLoaderClient::didReceiveResponse):
(WebCore::SubresourceLoaderClient::didReceiveData):
(WebCore::SubresourceLoaderClient::didFinishLoading):
(WebCore::SubresourceLoaderClient::didFailWithError):
(WebCore::SubresourceLoaderClient::receivedAllData):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::stopLoading):
(WebCore::IconLoader::didReceiveResponse):
(WebCore::IconLoader::didReceiveData):
(WebCore::IconLoader::didFailWithError):
(WebCore::IconLoader::didFinishLoading):
(WebCore::IconLoader::clearLoadingState):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::receivedAllData):
(WebCore::Loader::didFailWithError):
(WebCore::Loader::didReceiveResponse):
(WebCore::Loader::didReceiveData):
(WebCore::Loader::cancelRequests):
* loader/loader.h:
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::ResourceHandle):
(WebCore::ResourceHandle::create):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::finishJobAndHandle):
(WebCore::ResourceHandle::loader):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::didFailWithError):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::willSendRequest):
(WebCore::XMLHttpRequest::didReceiveResponse):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
2006-12-04 Darin Adler <darin@apple.com>
Reviewed by Adele.
- fix another part of http://bugs.webkit.org/show_bug.cgi?id=11628
REGRESSION (r17597): Command-return in text fields doesn't open a new tab or window
This fixes command-return when the focus is on a link.
Despite the title of the bug, Mitz wanted me to fix both, and I will not
say no to him!
Test: fast/events/simulated-key-state.html
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Instead of always passing
false for all the key state in simulated mouse events, pass the state from the
first underlying event in the chain that has key state; in the case in the bug,
the keyboard event will be the underlying event itself and we'll propagate the
alt key modifier to the mouse event, resulting in the effect we want. It's nice
that JavaScript also gets to see the proper modifiers in the mouse event.
* html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
Added code to pass in an underlying event to dispatchSimulatedClick. After looking
at all the other callers, this seems to be the only one that needs to pass an
event that is currently passing 0. Also removed the code that only simulated a
click when the event has a PlatformKeyboardEvent -- no reason for that and it
prevented me from writing a layout test for the fix.
* dom/UIEventWithKeyState.h: Added findEventWithKeyState function that walks the
underlyingEvent chain to find the first event that has key state. This already
existed in WebKit, but I wanted to use it in dispatchSimulatedMouseEvent.
* dom/UIEventWithKeyState.cpp: Added.
* CMakeLists.txt: Added UIEventWithKeyState.cpp.
* WebCore.vcproj/WebCore/WebCore.vcproj: Added UIEventWithKeyState.cpp.
* WebCore.xcodeproj/project.pbxproj: Added UIEventWithKeyState.cpp.
* WebCoreSources.bkl: Added UIEventWithKeyState.cpp.
* WebCore.exp: Added findEventWithKeyState, used by WebKit.
2006-12-04 Kevin McCullough <KMcCullough@apple.com>
Reviewed by Darin.
- rdar://problem/4833935
- removed the guards for the "multiple forms submission" issue, which may not be
an issue anymore and the guards prevent perfectly legitimate websites from
working correctly.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::setView):
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject accessibilityPerformAction:]):
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::keyPress):
* config.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
* loader/FrameLoader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::receivedMainResourceError):
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::submitForm):
* page/Frame.cpp:
(WebCore::Frame::setView):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::mouseDown):
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::keyEvent):
2006-12-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin Adler.
Added support for Dashboard backward compatibility mode.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::stroke): Added support for old behavior
of automatically clearing the stroke path buffer after a call to stroke().
* html/HTMLCanvasElement.cpp: Added supoprt for old behavior of the canvas
tag being self-closing.
(WebCore::HTMLCanvasElement::endTagRequirement):
(WebCore::HTMLCanvasElement::tagPriority):
* html/HTMLCanvasElement.h:
* html/HTMLParser.cpp: Ditto.
(WebCore::HTMLParser::canvasCreateErrorCheck):
* xml/xmlhttprequest.cpp: Added support for old behavior of silently ignoring
a call to setRequestHeader() if it preceded a call to open() or followed a call
to send().
(WebCore::XMLHttpRequest::setRequestHeader):
2006-12-04 Darin Adler <darin@apple.com>
Reviewed by Alice.
* bridge/EditorClient.h: Removed "_web_" prefix from
C++ userVisibleString member function. Alice will probably change
this so it's not on the editor client any more later.
* editing/Editor.h: Removed "_web_" prefix from
C++ userVisibleString member function.
* editing/Editor.cpp: Tweaked formatting a bit. Removed Mac-specific
code from this file.
* editing/mac/EditorMac.mm:
(WebCore::Editor::newGeneralClipboard): Removed unnneded local variable.
(WebCore::Editor::userVisibleString): Moved this function here.
* platform/Pasteboard.h: Added some FIXMEs. Removed unneeded includes.
Made Pasteboard noncopyable. Removed use of "protected" where we should
be using "private". Removed s_generalPasteboard.
* platform/mac/PasteboardMac.mm: Added some FIXMEs. Removed the
s_generalPasteboard global. Removed the unused destructor. Updated call
to userVisibleString for name change. Tweaked formatting.
2006-12-04 Alice Liu <alice.liu@apple.com>
Reviewed by Oliver.
Moved some constants from EventHandlerMac.mm to EventHandler.cpp
Added some platform-specific data members and functions.
* page/EventHandler.cpp:
* page/EventHandler.h:
* page/mac/EventHandlerMac.mm:
* platform/PlatformMouseEvent.h:
(WebCore::):
(WebCore::PlatformMouseEvent::timestamp):
(WebCore::PlatformMouseEvent::activatedWebView):
(WebCore::PlatformMouseEvent::type):
2006-12-04 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin, Geoff.
Get rid of ResourceHandle::kill(), all it did was to balance out a ref() in ResourceHandle::start().
We use RefPtrs to ResourceHandle instead.
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::~IconLoader):
(WebCore::IconLoader::stopLoading):
(WebCore::IconLoader::didReceiveResponse):
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::cancelRequests):
(WebCore::Loader::jobForRequest):
* loader/loader.h:
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h:
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::finishJobAndHandle):
(WebCore::ResourceHandle::reportError):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::didFinishLoading):
2006-12-04 Oliver Hunt <oliver@apple.com>
Build fix for non-SVG builds
* bindings/js/JSSVGPoint.cpp:
(WebCore::JSSVGPointProtoFunc::callAsFunction):
2006-12-04 Darin Adler <darin@apple.com>
Reviewed by Beth.
- fix http://bugs.webkit.org/show_bug.cgi?id=11632
AKA <rdar://problem/4858866> REGRESSION (r17770): Overflow areas' scrollbars don't work
No test case added at the moment, but Beth said she'd investigate
adding one after the fact.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMousePressEventToScrollbar):
Fix obvious-in-retrospect copy and paste error -- call
passMouseDownEventToWidget instead of passWheelEventToWidget.
2006-12-04 Peter Kasting <pkasting@google.com>
Reviewed and landed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11738:
Make link clicking work again on Windows.
This re-implements a few functions that used to be part of FrameWin in
their new loader-based locations, and copies a few things from the Mac
and Qt event handling code that aren't strictly necessary but are
pretty simple.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ChromeClientWin.h:
* bridge/win/ContextMenuClientWin.h:
* bridge/win/EditorClientWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::client):
* bridge/win/FrameWin.h:
* loader/win/DocumentLoaderWin.cpp: Added.
(WebCore::DocumentLoader::setTitle):
* loader/win/FrameLoaderClientWin.cpp: Added.
(WebCore::FrameLoaderClientWin::userAgent):
* loader/win/FrameLoaderClientWin.h:
* loader/win/FrameLoaderWin.cpp: Added.
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::setTitle):
* page/win/EventHandlerWin.cpp: Added.
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::passWheelEventToSubframe):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::EventHandler::tabsToLinks):
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::lastEventIsMouseUp):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::FrameLoader::getHistoryLength):
(WebCore::FrameLoader::historyURL):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoaderClientWin::setTitle):
2006-12-04 Peter Kasting <pkasting@google.com>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11748:
Windows build bustage.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* platform/ContextMenuItem.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::platformDescription):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setSubMenu):
2006-12-04 John Sullivan <sullivan@apple.com>
Reviewed by Anders
Moved EditorMac.mm to its appropriate location
* platform/mac/EditorMac.mm: Removed.
* editing/mac/EditorMac.mm: Added
* WebCore.xcodeproj/project.pbxproj:
updated for this change
2006-12-04 Rob Buis <buis@kde.org>
Reviewed by dhyatt.
Patch by pmax.
http://bugs.webkit.org/show_bug.cgi?id=3280
With LEGEND element, align=right value is not supported
http://bugs.webkit.org/show_bug.cgi?id=11544
<legend> rendering doesn't take align into account
Allow aligning for legends in both RTL and LTR mode.
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::layoutLegend):
2006-12-03 Mark Rowe <bdash@webkit.org>
Reviewed by Alexey.
http://bugs.webkit.org/show_bug.cgi?id=11730
Bug 11730: Meta HTTP Refresh that contains a fraction / decimal get ignored.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Parse the refresh interval as a double rather than an integer.
2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fix following bugs:
http://bugs.webkit.org/show_bug.cgi?id=11734
http://bugs.webkit.org/show_bug.cgi?id=11685
SVGPoint/SVGRect/SVGNumber were missing put() support.
SVGPoint.matrixTransform() was missing.
In SVG DOM there are no cases where a readwrite property
exists of type SVGRect/SVGNumber/SVGPoint. Only function
calls returns instances of these objects. It would make
no sense to be able to write "someObj.getBbox().x = 100", and
modify the actual stored internal value of "someObj".
The only cases where these modification makes sense, is
when these SVGPoint/SVGRect/SVGNumber objects are created
via document.rootElement.createSVGPoint/Rect/Number (SVGSVGElement interface).
Result: The current implementation, where we just modify the stored FloatPoint/FloatRect/double
values in the JSSVGPoint/Rect/Number wrappers directly, is sufficient.
Patch created by Rob & me - co production.
Long live the great carto.next examples! :-)
* CMakeLists.txt:
* DerivedSources.make:
* bindings/js/JSSVGNumber.cpp:
(WebCore::):
(WebCore::JSSVGNumber::getOwnPropertySlot):
(WebCore::JSSVGNumber::getValueProperty):
(WebCore::JSSVGNumber::put):
(WebCore::JSSVGNumber::putValueProperty):
* bindings/js/JSSVGNumber.h:
(WebCore::JSSVGNumber::):
(WebCore::JSSVGNumber::impl):
* bindings/js/JSSVGPoint.cpp:
(WebCore::JSSVGPoint::JSSVGPoint):
(WebCore::JSSVGPoint::put):
(WebCore::JSSVGPoint::putValueProperty):
(WebCore::JSSVGPointProtoFunc::callAsFunction):
* bindings/js/JSSVGPoint.h:
(WebCore::JSSVGPoint::):
* bindings/js/JSSVGRect.cpp:
(WebCore::JSSVGRect::put):
(WebCore::JSSVGRect::putValueProperty):
* bindings/js/JSSVGRect.h:
* bindings/objc/DOMSVGPoint.mm:
(-[DOMSVGPoint matrixTransform:]):
* platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::matrixTransform):
* platform/graphics/FloatPoint.h:
2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Dave.
Another missing piece in the platform/graphics move.
* WebCore.xcodeproj/project.pbxproj:
* platform/ImageAnimationObserver.h: Moved to platform/graphics.
2006-12-03 Rob Buis <buis@kde.org>
Reviewed by Oliver.
http://bugs.webkit.org/show_bug.cgi?id=11667
SVG: method .getTransformToElement(elt) in SVGLocatable not implemented
Implement getTransformToElement functionality. Introduce virtual
baseclass SVGLocatable to allow one implementation of the functionality.
Finally cleanup some code.
* ksvg2/svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::getTransformToElement):
* ksvg2/svg/SVGLocatable.h:
* ksvg2/svg/SVGStyledLocatableElement.cpp:
(WebCore::SVGStyledLocatableElement::SVGStyledLocatableElement):
(WebCore::SVGStyledLocatableElement::nearestViewportElement):
(WebCore::SVGStyledLocatableElement::farthestViewportElement):
(WebCore::SVGStyledLocatableElement::getCTM):
(WebCore::SVGStyledLocatableElement::getScreenCTM):
* ksvg2/svg/SVGStyledLocatableElement.h:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement):
(WebCore::SVGStyledTransformableElement::localMatrix):
(WebCore::SVGStyledTransformableElement::getCTM):
(WebCore::SVGStyledTransformableElement::getScreenCTM):
(WebCore::SVGStyledTransformableElement::updateLocalTransform):
(WebCore::SVGStyledTransformableElement::parseMappedAttribute):
(WebCore::SVGStyledTransformableElement::nearestViewportElement):
(WebCore::SVGStyledTransformableElement::farthestViewportElement):
* ksvg2/svg/SVGStyledTransformableElement.h:
* ksvg2/svg/SVGTextElement.h:
* ksvg2/svg/SVGTransformable.h:
2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Move some files around, which have been forgotton in the platform/graphics move.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/GraphicsContextMac.mm: Moved to platform/graphics/mac.
* platform/qt/GraphicsContextQt.cpp: Moved to platform/grahpics/qt.
2006-12-03 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz.
Fix non-svg build.
* platform/graphics/GraphicsContext.h:
* platform/mac/GraphicsContextMac.mm:
2006-12-02 John Sullivan <sullivan@apple.com>
Reviewed by Tim Omernick
Removed a couple of big chunks of duplicated code from the spelling and grammar stuff by merging
the find-next-instance functions with the mark-all-instances functions.
* bridge/mac/FrameMac.mm:
(WebCore::findFirstMisspellingInRange):
added markAll parameter, and reworked loop so that if markAll parameter is true, this function loops
through the entire range and marks each misspelling
(WebCore::findFirstGrammarDetailInRange):
extracted from findFirstBadGrammarInRange; loops through the potentially-multiple details in a given
ungrammatical phrase (e.g., multiple grammar errors in one sentence). Has a markAll parameter akin
to the one in findFirstMisspellingInRange.
(WebCore::findFirstBadGrammarInRange):
added markAll parameter like the one in findFirstMisspellingInRange, and extracted findFirstGrammarDetailInRange
(WebCore::FrameMac::advanceToNextMisspelling):
pass "false" for new markAll parameters
(WebCore::markAllMisspellingsInRange):
now just calls findFirstMisspellingInRange with markAll = true, thus removing a big hunk of duplicated code
(WebCore::markAllBadGrammarInRange):
now just calls findFirstBadGrammarInRange with markAll = true, thus removing a big hunk of duplicated code
2006-12-02 Mitz Pettel <mitz@webkit.org>
Reviewed by Hyatt.
- fix http://bugs.webkit.org/show_bug.cgi?id=11672
REGRESSION (r17068): Repro crash due to painting without layout
Test: fast/dynamic/containing-block-change.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle): Changed the logic used
to find absolutely positioned descendant's current containing block to
match the changes made to containingBlock() in the fix for bug 9347.
2006-12-02 Darin Fisher <darin@chromium.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11709
DeprecatedString::format is broken on Windows
Use _vscprintf on Windows to compute the length of the buffer that
vsnprintf would need.
* platform/DeprecatedString.cpp:
(WebCore::DeprecatedString::format):
* platform/String.cpp:
(WebCore::String::format):
2006-12-01 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Support for sub-menus in WebCore context menus. This also re-
architects the ContextMenuItem class so that it is more like
ContextMenu in that the class is now really just a wrapper for the
platformDescription
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Add
place-holders for new tags for the sub-menu items. I will flesh
these out in a separate check-in.
* platform/ContextMenu.cpp:
(WebCore::createFontSubMenu):
(WebCore::createSpellingAndGrammarSubMenu):
(WebCore::createSpellingSubMenu):
(WebCore::createSpeechSubMenu):
(WebCore::createWritingDirectionSubMenu):
(WebCore::ContextMenu::populate): Call the above functions to add
the appropriate sub-menus to editing context menus.
* platform/ContextMenu.h:
* platform/ContextMenuItem.h:
(WebCore::): New tags in the ContextMenuAction enumeration.
(WebCore::ContextMenuItem::parentMenu):
(WebCore::ContextMenuItem::setType):
* platform/PlatformMenuDescription.h: Added. This defines
PlatformMenuDesciption. It needs to be its own header because we
have to include it from ContextMenu.h and ContextMenuItem.h
* platform/mac/ContextMenuItemMac.mm: Lots of adjustments here to
make this class basically just be a wrapper for NSMenuItem.
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::ContextMenuItem::platformDescription):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::title):
(WebCore::ContextMenuItem::platformSubMenu):
(WebCore::ContextMenuItem::setAction):
(WebCore::ContextMenuItem::setTitle):
(WebCore::ContextMenuItem::setSubMenu):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::ContextMenu):
(WebCore::getNSMenuItem): Now we only have to get the
platformDescription of the ContextMenuItem and then set its target
and action.
(WebCore::ContextMenu::itemCount):
2006-12-01 Kevin McCullough <KMcCullough@apple.com>
Reviewed by .
- accidentally checked in with previous checkin
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::keyEvent):
2006-12-01 Kevin McCullough <KMcCullough@apple.com>
Reviewed by Adam.
- better solution to the ambiguous reference
* platform/Widget.h:
(WebCore::Widget::handleMouseMoveEvent):
(WebCore::Widget::handleMouseReleaseEvent):
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::keyEvent):
* platform/win/PlatformScrollBar.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::PlatformScrollbar::handleMouseMoveEvent):
(WebCore::PlatformScrollbar::handleMouseReleaseEvent):
2006-12-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
<rdar://problem/4826940>
Selection change performed even when delete delegate replies NO (11415)
No layout test for the bug fix, because there's no way to register a custom
editing delegate from a layout test. Layout tests are effected by the change
to avoid sending unnecessary shouldChangeSelections, however.
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing): Don't bother sending shouldChangeSelection
if the editing operation didn't change the selection. Still call
setSelection though, because it does work in this case that's necessary,
like clearing the typing style.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteKeyPressed): Don't set the starting
selection if the editing delegate returns NO from shouldDeleteRange.
Notice we now call setStartingSelection in the case where
the current selection was a range selection. This is fine because
it's a no-op (the starting selection is already the current selection).
(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2006-12-01 John Sullivan <sullivan@apple.com>
Reviewed by Darin
Move subrange helper function from spellchecking code to TextIterator
* editing/TextIterator.h:
added TextIterator::subrange
* editing/TextIterator.cpp:
(WebCore::CharacterIterator::advance):
early return if count is <= 0; assert that it's not < 0
(WebCore::TextIterator::subrange):
new function, moved from FrameMac.mmm
* bridge/mac/FrameMac.mm:
moved subrange() function to TextIterator
(WebCore::FrameMac::advanceToNextMisspelling):
use TextIterator::subrange
(WebCore::markAllMisspellingsInRange):
ditto
(WebCore::markAllBadGrammarInRange):
ditto
2006-12-01 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=11628
REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
I couldn't think of an easy way to make a regression test for this, but maybe
I'll get an idea later about how to do it.
The main thing I did was add a concept of a DOM event having an "underlying event".
That allows the DOM activate event to contain inside it the original keyboard event
that triggered the form submission, and thus allows WebKit to see the modifier keys
from that original event. The code that uses the underlying event is in WebKit, but
the code to set it up is here in WebCore.
- also do some clean-up to related event handling code
* bindings/js/kjs_events.cpp: (KJS::DOMEvent::getValueProperty): Updated for the
name change of cancelBubble.
* dom/Event.h: Removed a useless comment. Fixed some whitespace and formatting.
Renamed getCancelBubble to cancelBubble to match the DOM -- I suspect the old
name predated the use of the m_ prefix on data members. Added the underlying event,
and a getter and setter.
* dom/Event.cpp:
(WebCore::Event::setTarget): Updated to take a PassRefPtr.
(WebCore::Event::setUnderlyingEvent): Added.
* dom/EventTargetNode.h: Added an optional underlyingEvent parameter to
dispatchUIEvent, one of the overloads of dispatchMouseEvent, and
dispatchSimulatedMouseEvent. Added a new dispatchSimulatedClick function here that
mostly replaces the click function in HTMLElement.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent): Updated for the name change
of cancelBubble.
(WebCore::EventTargetNode::dispatchUIEvent): Added an underlying event parameter,
which gets attached to the UIEvent object after it's created.
(WebCore::EventTargetNode::dispatchMouseEvent): Tweaked formatting and parameter
name for the version that creates a mouse event for a real platform mouse event.
Added an underlying event parameter to the main version, and attached it to all
three of the events that can be dispatched.
(WebCore::EventTargetNode::dispatchSimulatedMouseEvent): Added an underlying
event parameter, passed it along to dispatchMouseEvent.
(WebCore::EventTargetNode::dispatchSimulatedClick): Moved this here from HTMLElement
and renamed it from click. Added an underlyingEvent parameter, and passed that along
in all three of the calls to dispatchSimulatedMouseEvent.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::shouldClose): Updated call to
setTarget that no longer needs a get().
* ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler): Converted a call to click
to a call to dispatchSimulatedClick.
(WebCore::HTMLAnchorElement::accessKeyAction): Ditto.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::accessKeyAction): Ditto.
* html/HTMLElement.h: Removed the parameters to click and made it non-virtual.
We could move it down to the input and button elements, now that it's just
a single function call, but it's also OK to just leave it here.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::click): Removed the parameters and changed this to just
call dispatchSimulatedClick. The real work is now in dispatchSimulatedClick.
(WebCore::HTMLElement::accessKeyAction): Converted a call to click to a call to
dispatchSimulatedClick.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitClick): Ditto. But unlike accessKeyAction callers,
pass the event along as the underlying event.
* html/HTMLInputElement.h:
* html/HTMLInputElement.cpp: Removed override of virtual click function. The
special cases for the file control and hidden input elements aren't needed.
(WebCore::HTMLInputElement::accessKeyAction): Converted a call to click to a call to
dispatchSimulatedClick.
(WebCore::HTMLInputElement::defaultEventHandler): Converted calls to click to calls to
dispatchSimulatedClick, passing along the event as the underlying event.
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler): Converted a call to click to a call
to dispatchSimulatedClick, passing the event along as the underlying event. Also
changed the local variable for the element to a RefPtr since the code assumes it's
still around after calling arbitrary JavaScript code.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::accessKeyAction): Converted a call to click to a call to
dispatchSimulatedClick.
* rendering/RenderFileUploadControl.h:
* rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):
Removed unneeded ignored parameter to the click function, and also made it non-virtual.
* loader/NavigationAction.h: Removed unneeded includes.
* loader/NavigationAction.cpp: Moved all the code here from NavigationActionMac.mm,
since none of it is Mac-specific any more.
* loader/mac/NavigationActionMac.mm: Removed.
* WebCore.xcodeproj/project.pbxproj: Updated for removed file.
* ksvg2/svg/SVGAElement.cpp: Removed an unnecessary include.
* loader/FrameLoader.cpp: Added a newly-needed incluude.
* loader/mac/DocumentLoaderMac.mm: Ditto.
* loader/mac/FrameLoaderMac.mm: Ditto.
* rendering/RenderWidget.cpp: Ditto.
2006-12-01 John Sullivan <sullivan@apple.com>
Reviewed by Darin
- fixed <rdar://problem/4811175> Many false reports of bad grammar appear, caused by
insufficient context passed to grammar checker
* bridge/mac/FrameMac.mm:
(WebCore::markAllMisspellingsInRange):
new function, extracted from markMisspellings -- ignores grammar
(WebCore::markAllBadGrammarInRange):
new function, extracted from markMisspellings -- ignores spelling, and operates on
appropriately-sized chunks of text
(WebCore::FrameMac::markMisspellings):
now calls markAllMisspellingsInRange and (optionally) markAllBadGrammarInRange rather
than trying to interweave the spelling and grammar logic
2006-12-01 John Sullivan <sullivan@apple.com>
Reviewed by Darin
With these changes, grammar checking works correctly for the one-by-one case.
It still doesn't work correctly for the check-as-you-type case; I need to make these
same kinds of changes in markMisspellings, and refactor to share more code between
the two cases, but I wanted to get this working code in before modifying it further.
The major change here is that advanceToNextMisspelling used to look at small chunks of
text at a time, checking each one for both misspellings and questionable grammar. But
grammar checking needs at least paragraph-sized chunks of text to have enough context
to work correctly, so the old mechanism was causing many spurious complaints of bad
grammar (e.g., almost every word seemed to be at the start of a sentence so the checker
would complain about missing capitalization). So now the spell checker runs in the
specified range first. Then the grammar checker runs on the same range (stopping at the
next misspelling, if any), but expanded to paragraph-aligned boundaries.
* bridge/mac/FrameMac.mm:
(WebCore::findFirstMisspellingInRange):
new function, extracted from advanceToNextMisspelling, and ignores grammar
(WebCore::paragraphAlignedRangeForRange):
new function, used by findNextBadGrammarInRange
(WebCore::findFirstBadGrammarInRange):
new function, extracted from advanceToNextMisspelling, and rewritten to use paragraph-aligned
chunks, and ignores spelling
(WebCore::subrange):
new helper function, used by advanceToNextMisspelling
(WebCore::FrameMac::advanceToNextMisspelling):
now calls out to both findFirstMisspellingInRange and findFirstBadGrammarInRange separately
instead of trying to interweave the spelling and grammar logic
2006-12-01 Peter Kasting <pkasting@google.com>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11732:
Windows build bustage.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ChromeClientWin.h:
* bridge/win/ContextMenuClientWin.h:
* bridge/win/EditorClientWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
(WebCore::FrameWin::keyPress):
* bridge/win/FrameWin.h:
* loader/win/FrameLoaderClientWin.h:
* platform/ContextMenu.h:
* platform/Widget.h:
* platform/win/PlatformScrollBar.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ChromeClientWin::chromeDestroyed):
(WebCore::ChromeClientWin::addMessageToConsole):
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenuClientWin::contextMenuDestroyed):
(WebCore::ContextMenuClientWin::contextMenuItemSelected):
(WebCore::ContextMenuItem::~ContextMenuItem):
(WebCore::Editor::newGeneralClipboard):
(WebCore::EditorClientWin::pageDestroyed):
(WebCore::EditorClientWin::smartInsertDeleteEnabled):
(WebCore::EditorClientWin::shouldInsertNode):
(WebCore::FrameLoader::createPlugin):
(WebCore::FrameLoaderClientWin::frameLoaderDestroyed):
(WebCore::FrameLoaderClientWin::hasWebView):
(WebCore::FrameLoaderClientWin::canHandleRequest):
(WebCore::FrameWin::unfocusWindow):
(WebCore::FrameWin::bindingRootObject):
(WebCore::FrameWin::issueCopyCommand):
(WebCore::FrameWin::markMisspellings):
(WebCore::FrameWin::issueTransposeCommand):
(WebCore::FrameWin::markedTextRange):
(WebCore::FrameWin::respondToChangedSelection):
(WebCore::FrameWin::markMisspellingsInAdjacentWords):
(WebCore::FrameWin::isSelectionMisspelled):
(WebCore::FrameWin::guessesForMisspelledSelection):
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::clearTypes):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::documentFragment):
(WebCore::Pasteboard::plainText):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::registerSelectionPasteboardTypes):
(WebCore::Pasteboard::replaceNBSP):
(WebCore::Pasteboard::createHandle):
(WebCore::Pasteboard::createCF_HTMLFromRange):
2006-11-30 Geoffrey Garen <ggaren@apple.com>
Rubber Stamped by Anders Carlsson.
Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
suggested a command, and conflicted with a different meaning for 'focusNode'
in the Mozilla selection API.
2006-11-30 John Sullivan <sullivan@apple.com>
Reviewed by Justin
With Darin, fixed a problem in the Range constructors found while implementing grammar checking.
That revealed another problem in the layout tests involving bad parameters passed to the Range
constructors.
With these fixes in place, one layout test (editing/execCommand/create-list-from-range-selection.html)
no longer works as intended. This is apparently due to yet another bug being flushed out somewhere.
I'm going to update the results for that test and file a separate radar about it, which Justin will
investigate.
* dom/Position.h:
removed equivalentRangeCompliantPosition(), which was declared but not implemented or called.
* dom/Range.cpp:
(WebCore::Range::Range):
Call setStart and setEnd in the two Range constructors that take parameters, rather than just
directly setting the instance variables. This makes Range perform the boundary checks and
compensations that the DOM spec requires.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs):
Use rangeCompliantEquivalent() on "editing-style" Positions before creating Ranges from them.
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
Assert that the boundary points of the range are valid.
2006-11-30 Lou Amadio <lamadio@apple.com>
Reviewed by Dave Hyatt
Cleaned up generated files.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isRecognizedTagName):
Uses the new method for retrieving the list of supported tags
* ksvg2/scripts/make_names.pl:
Generates tag lists without using macros.
2006-11-30 Adam Roben <aroben@apple.com>
Reviewed by Beth.
Store ContextMenu's NSMutableArray inside a RetainPtr so that we
will retain/release it correctly.
* WebCore.exp:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate): Added a FIXME.
* platform/ContextMenu.h:
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::getNSMenuItem):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::setPlatformDescription):
(WebCore::ContextMenu::platformDescription):
2006-11-30 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric. Rubber stamped by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383
This is the final patch after the long "die kcanvas" journey.
All old kcanvas code is gone now, and properly integrated within
WebCore (stuff like GraphicsContext changes etc.). It shares
the platform/ design concept: no subclassing, but instead
implementing parts of the classes/methods per-platform.
This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext.
This layer was just obsolete, given the powerful GraphicsContext API we have
since quite a while now. All the ugly pushContext/popContext stuff is gone now.
LayoutTests affected: svg/W3C-SVG-1.1/pservers-grad-11-b.svg
Radial gradients as fill color for texts, work again!
Though "Gradient on text stroke" remains broken. Funny thing:
With this patch, if you "select" the text using the mouse, as
soon as the selection rectangle is drawn, you see the correct
gradient on stroke rendering - at least a hint where it breaks!
All svg layout tests have subtle text rendering changes - with and without this
patch, it seems it was forgotton to update svg pixel test baseline, a while ago.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/KRenderingDevice.cpp: Removed.
* kcanvas/device/KRenderingDevice.h: Removed.
* kcanvas/device/qt/KRenderingDeviceQt.cpp: Removed.
* kcanvas/device/qt/KRenderingDeviceQt.h: Removed.
* kcanvas/device/qt/RenderPathQt.cpp: Moved to platform/graphics/qt
* kcanvas/device/quartz/KCanvasItemQuartz.cpp: Moved to platform/graphics/svg/cg/RenderPathCg.cpp
* kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Removed.
* kcanvas/device/quartz/KRenderingDeviceQuartz.h: Removed.
* kcanvas/device/quartz/QuartzSupport.cpp: Moved to platform/graphics/svg/cg/CgSupport.cpp
* kcanvas/device/quartz/QuartzSupport.h: Moved to platform/graphics/svg/cg/CgSupport.h
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer):
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGAElement.cpp:
* ksvg2/svg/SVGClipPathElement.cpp:
* ksvg2/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::filterEffect):
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect):
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
(WebCore::SVGFEComponentTransferElement::parseMappedAttribute):
(WebCore::SVGFEComponentTransferElement::filterEffect):
* ksvg2/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::SVGFECompositeElement):
(WebCore::SVGFECompositeElement::filterEffect):
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
(WebCore::SVGFEDiffuseLightingElement::filterEffect):
(WebCore::SVGFEDiffuseLightingElement::updateLights):
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::filterEffect):
* ksvg2/svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
(WebCore::SVGFEDistantLightElement::lightSource):
* ksvg2/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::SVGFEFloodElement):
(WebCore::SVGFEFloodElement::parseMappedAttribute):
(WebCore::SVGFEFloodElement::filterEffect):
* ksvg2/svg/SVGFEFuncAElement.cpp:
* ksvg2/svg/SVGFEFuncBElement.cpp:
* ksvg2/svg/SVGFEFuncGElement.cpp:
(WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
* ksvg2/svg/SVGFEFuncRElement.cpp:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::filterEffect):
* ksvg2/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::SVGFEImageElement):
(WebCore::SVGFEImageElement::parseMappedAttribute):
(WebCore::SVGFEImageElement::notifyFinished):
(WebCore::SVGFEImageElement::filterEffect):
* ksvg2/svg/SVGFELightElement.cpp:
* ksvg2/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::filterEffect):
* ksvg2/svg/SVGFEMergeNodeElement.cpp:
* ksvg2/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
(WebCore::SVGFEOffsetElement::parseMappedAttribute):
(WebCore::SVGFEOffsetElement::filterEffect):
* ksvg2/svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource):
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
(WebCore::SVGFESpecularLightingElement::filterEffect):
(WebCore::SVGFESpecularLightingElement::updateLights):
* ksvg2/svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
(WebCore::SVGFESpotLightElement::lightSource):
* ksvg2/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::SVGFETileElement):
(WebCore::SVGFETileElement::parseMappedAttribute):
(WebCore::SVGFETileElement::filterEffect):
* ksvg2/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::filterEffect):
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::canvasResource):
* ksvg2/svg/SVGLinearGradientElement.cpp:
* ksvg2/svg/SVGMarkerElement.cpp:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::parseMappedAttribute):
(WebCore::SVGMaskElement::drawMaskerContent):
(WebCore::SVGMaskElement::canvasResource):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::canvasResource):
* ksvg2/svg/SVGStyledElement.cpp:
* ksvg2/svg/SVGStyledElement.h:
* platform/graphics/GraphicsContext.h:
* platform/graphics/svg/SVGPaintServer.h:
* platform/graphics/svg/SVGPaintServerGradient.cpp:
(WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
* platform/graphics/svg/SVGPaintServerGradient.h:
* platform/graphics/svg/SVGPaintServerLinearGradient.h:
* platform/graphics/svg/SVGPaintServerPattern.h:
* platform/graphics/svg/SVGPaintServerRadialGradient.h:
* platform/graphics/svg/SVGPaintServerSolid.h:
* platform/graphics/svg/SVGResource.cpp:
* platform/graphics/svg/SVGResource.h:
* platform/graphics/svg/SVGResourceClipper.h:
* platform/graphics/svg/SVGResourceFilter.h:
* platform/graphics/svg/SVGResourceMasker.h:
* platform/graphics/svg/cg/RenderPathCg.cpp: Added.
* platform/graphics/svg/cg/SVGPaintServerCg.cpp:
(WebCore::SVGPaintServer::draw):
(WebCore::SVGPaintServer::teardown):
(WebCore::SVGPaintServer::renderPath):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::renderPath):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
(WebCore::SVGPaintServerPattern::teardown):
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
(WebCore::SVGPaintServerSolid::setup):
* platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
(WebCore::SVGResourceClipper::applyClip):
* platform/graphics/svg/cg/SVGResourceFilterCg.mm:
(WebCore::SVGResourceFilter::SVGResourceFilter):
(WebCore::SVGResourceFilter::createFilterEffect):
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
(WebCore::SVGResourceMasker::applyMask):
* platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
(WebCore::SVGPaintServerPattern::setup):
* platform/graphics/svg/qt/SVGPaintServerQt.cpp:
(WebCore::SVGPaintServer::draw):
(WebCore::SVGPaintServer::teardown):
(WebCore::SVGPaintServer::renderPath):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
(WebCore::setup):
* platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
(WebCore::SVGPaintServerSolid::setup):
* platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
(WebCore::SVGResourceClipper::applyClip):
* platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
(WebCore::SVGResourceFilter::createFilterEffect):
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
* platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
(WebCore::SVGResourceMasker::applyMask):
* platform/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::beginPath):
(WebCore::GraphicsContext::addPath):
(WebCore::GraphicsContext::setFillRule):
(WebCore::GraphicsContext::currentPath):
(WebCore::GraphicsContext::strokeRect):
(WebCore::contextForImage):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::paint):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/RenderSVGImage.h:
* rendering/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
(WebCore::RenderSVGInline::createInlineBox):
* rendering/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::RenderSVGInlineText):
* rendering/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
2006-11-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Fixed up garbage collection at window close time.
* bindings/js/kjs_proxy.cpp: Don't garbage collect in the KJSProxy
destructor, since the global object hasn't been freed yet.
* bindings/js/kjs_proxy.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachFromParent): Made this function cross-
platform.
* loader/FrameLoader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::setTitle): Moved this function to FrameLoaderMac,
since it's Mac-only.
(WebCore::FrameLoader::closeBridge):
* page/Page.cpp:
(WebCore::Page::~Page): Don't garbage collect in the Page destructor,
since the Interpreter destructor will do it for us.
2006-11-30 Brady Eidson <beidson@apple.com>
Reviewed by Tim's rubberstamp
Amazingly, DocumentLoader.h survived all this time without a header guard...
* loader/DocumentLoader.h: Added header guard
2006-11-30 Timothy Hatcher <timothy@apple.com>
Reviewed by Brady and Eric.
XMLHttpRequest fails in a page loaded with WebFrame's loadHTMLString: or loadData:
http://bugs.webkit.org/show_bug.cgi?id=11723
Allow cross-domain XMLHTTPRequest for applewebdata URLs. No automated way to test,
tested in Safari's debug Snippet Editor.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2006-11-29 Anders Carlsson <acarlsson@apple.com>
Reviewed by Brady.
Get rid of PlatformResponse, the platform specific response object is stored inside of
the ResourceResponse object now. This also gets rid of receivedResponse in ResourceHandleClient.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::response):
* loader/loader.cpp:
* loader/loader.h:
* loader/mac/ImageDocumentMac.mm:
(WebCore::finishImageLoad):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::didReceiveResponse):
* platform/network/ResourceHandle.h:
* platform/network/ResourceResponse.h:
(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::cfURLResponse):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::didReceiveResponse):
2006-11-29 Justin Garcia <justin.garcia@apple.com>
Reviewed by sullivan
<rdar://problem/4845371>
In Mail, a crash occurs at WebCore::Node::traverseNextNode() when cutting selected text from a HTML message
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializeStartEnd): The start/end were
being inflated even when they were the start/end of a partially selected
special element.
2006-11-29 Anders Carlsson <acarlsson@apple.com>
Reviewed by Oliver.
Fix fast/dom/xmlhttprequest-get layout test failure.
* platform/network/mac/ResourceResponseMac.mm:
Initialize the status code to 0 for non-http responses.
2006-11-29 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders Carlsson.
Fixed http://bugs.webkit.org/show_bug.cgi?id=11712
REGRESSION: Crash when clicking JS link on crateandbarrel.com (window.open("http[...]"))
This was an accidental commit by Anders.
Chrome can't use the FrameView at window.open time, because it doesn't
exist yet.
* page/Chrome.cpp:
(WebCore::Chrome::pageRect):
2006-11-29 Geoffrey Garen <ggaren@apple.com>
Reviewed by Mitz Pettel.
Fixed http://bugs.webkit.org/show_bug.cgi?id=11710
REGRESSION (r17906): Crash in WebCore::FrameMac
Added null checks for EditorClient, since it can be NULL when the page
has been destroyed. Removed external access to EditorClient, since it's
an implementation detail of the Editor.
No test case because this crash depends on window tear-down. Layout tests
pass.
2006-11-29 Anders Carlsson <acarlsson@apple.com>
Fix build.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::receivedResponse):
Fix tyop.
2006-11-29 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Have ResourceResponse hold on to the platform object and do lazy
initialization of the data members.
* WebCore.xcodeproj/project.pbxproj:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::loadResourceSynchronously):
* platform/network/ResourceRequest.cpp:
(WebCore::ResourceRequest::updatePlatformRequest):
(WebCore::ResourceRequest::updateResourceRequest):
* platform/network/ResourceResponse.cpp: Added.
(WebCore::ResourceResponse::url):
(WebCore::ResourceResponse::mimeType):
(WebCore::ResourceResponse::expectedContentLength):
(WebCore::ResourceResponse::textEncodingName):
(WebCore::ResourceResponse::suggestedFilename):
(WebCore::ResourceResponse::httpStatusCode):
(WebCore::ResourceResponse::setHTTPStatusCode):
(WebCore::ResourceResponse::httpStatusText):
(WebCore::ResourceResponse::setHTTPStatusText):
(WebCore::ResourceResponse::httpHeaderField):
(WebCore::ResourceResponse::httpHeaderFields):
(WebCore::ResourceResponse::setExpirationDate):
(WebCore::ResourceResponse::expirationDate):
(WebCore::ResourceResponse::setLastModifiedDate):
(WebCore::ResourceResponse::lastModifiedDate):
(WebCore::ResourceResponse::updateResourceResponse):
* platform/network/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::isMultipart):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::receivedResponse):
(WebCore::ResourceHandle::willSendRequest):
* platform/network/mac/ResourceResponseMac.h: Removed.
* platform/network/mac/ResourceResponseMac.mm:
(-[NSURLResponse WebCore]):
2006-11-28 Alice Liu <alice.liu@apple.com>
Reviewed by Maciej.
A fix for a couple failing layout tests involving copy/cut in iframes.
* bridge/EditorClient.h:
Add frame parameter to dataForArchivedSelectionInFrame instead of
just getting the webview's selectedFrame.
* platform/mac/PasteboardMac.mm:
(Pasteboard::writeSelection):
Pass in the frame
2006-11-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
Fixed <rdar://problem/4844855> Should clarify when to create clients in
the WebCore client API
All clients must now be supplied as constructor arguments. This clarifies
when you need to create clients, and also guarantees that objects can't
(for the most part) be in a clientless state.
Layout tests pass. No leaks reported.
* bridge/mac/WebCoreFrameBridge.mm: I had to move some initialization up into
WebKit to resolve circular dependencies at init time.
2006-11-28 Adam Roben <aroben@apple.com>
Reviewed by Ada.
Add platform-specific constructor/destructor to ContextMenu so we can
properly retain/release the platform menu description.
* platform/ContextMenu.h:
(WebCore::ContextMenu::platformDescription):
* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::~ContextMenu):
(WebCore::getNSMenuItem):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::setPlatformDescription):
2006-11-28 Adam Roben <aroben@apple.com>
Build fix.
* platform/network/mac/ResourceRequestMac.mm:
2006-11-28 David Harrison <harrison@apple.com>
Reviewed by Adele.
<rdar://problem/4852804> selection color does not get drawn over the missing image rectangle
Test:
* editing/selection/select-missing-image.html: Added.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
Draw the selection tint even if the image itself is not available.
2006-11-28 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
Have ResourceRequest hold on to the platform object so we don't
have to convert back and forth when nothing in the object changes.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::continueAfterNavigationPolicy):
* page/Chrome.cpp:
(WebCore::Chrome::pageRect):
* platform/network/ResourceRequest.cpp: Added.
(WebCore::ResourceRequest::isEmpty):
(WebCore::ResourceRequest::url):
(WebCore::ResourceRequest::setURL):
(WebCore::ResourceRequest::cachePolicy):
(WebCore::ResourceRequest::setCachePolicy):
(WebCore::ResourceRequest::timeoutInterval):
(WebCore::ResourceRequest::setTimeoutInterval):
(WebCore::ResourceRequest::mainDocumentURL):
(WebCore::ResourceRequest::setMainDocumentURL):
(WebCore::ResourceRequest::httpMethod):
(WebCore::ResourceRequest::setHTTPMethod):
(WebCore::ResourceRequest::httpHeaderFields):
(WebCore::ResourceRequest::httpHeaderField):
(WebCore::ResourceRequest::setHTTPHeaderField):
(WebCore::ResourceRequest::httpBody):
(WebCore::ResourceRequest::setHTTPBody):
(WebCore::ResourceRequest::allowHTTPCookies):
(WebCore::ResourceRequest::setAllowHTTPCookies):
(WebCore::ResourceRequest::updatePlatformRequest):
(WebCore::ResourceRequest::updateResourceRequest):
(WebCore::ResourceRequest::addHTTPHeaderField):
(WebCore::ResourceRequest::addHTTPHeaderFields):
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest):
* platform/network/mac/ResourceRequestMac.h: Removed.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::nsURLRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
2006-11-28 Adam Roben <aroben@apple.com>
Reviewed by Beth.
More WebCore context menu work (still not turned on, however).
Split ContextMenuItem into its own files and make it a class.
* WebCore.exp: Updated symbols.
* WebCore.xcodeproj/project.pbxproj: Added new ContextMenuItem files.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate): Code cleanup.
* platform/ContextMenu.h: Split ContextMenuItem into a separate file,
removed redundant "Menu" part of platformMenuDescription(),
setPlatformMenuDescription().
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::hitTestResult):
(WebCore::ContextMenu::platformDescription):
* platform/ContextMenuItem.h: Added. Made ContextMenuItem a
full-fledged class.
(WebCore::):
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::menu):
(WebCore::ContextMenuItem::platformDescription):
(WebCore::ContextMenuItem::type):
(WebCore::ContextMenuItem::action):
(WebCore::ContextMenuItem::title):
* platform/mac/ContextMenuItemMac.mm: Added.
(WebCore::ContextMenuItem::ContextMenuItem):
* platform/mac/ContextMenuMac.mm: Updated for ContextMenuItem changes.
(-[MenuTarget forwardContextMenuAction:]):
(getNSMenuItem): Handle separator items.
(ContextMenu::appendItem):
(ContextMenu::itemCount):
(ContextMenu::insertItem):
(ContextMenu::setPlatformDescription):
* page/ContextMenuController.h: Updated declaration, added getter.
(WebCore::ContextMenuController::contextMenu):
Added some more context menu plumbing.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::defaultEventHandler): Added code to call the
ContextMenuController when a context menu event is received.
* page/ContextMenuClient.h: New client method declaration.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent): Set the event
defaultHandled after handling it.
(WebCore::ContextMenuController::contextMenuItemSelected): Take a
ContextMenuItem instead of a separate action and title.
Changed event-handling methods to return bools to signify whether the
event was handled or not. This is needed so we can know whether to hand
the event off to the OS. Also restructured some code to use early
returns instead of nesting ifs.
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEventDoubleClick):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::canMouseDownStartSelect):
* page/EventHandler.h:
* page/FrameView.cpp:
(WebCore::FrameView::handleMouseMoveEvent):
(WebCore::FrameView::handleMouseReleaseEvent):
* page/FrameView.h:
* platform/ScrollBar.h: More bool return values.
(WebCore::Scrollbar::handleMouseMoveEvent):
(WebCore::Scrollbar::handleMouseOutEvent):
* platform/Widget.h: Ditto.
(WebCore::Widget::handleMouseMoveEvent):
(WebCore::Widget::handleMouseReleaseEvent):
Reverted the changes made in r17805 so that we can have fewer header
#includes.
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h: Ditto.
(WebCore::Page::dragCaretController):
(WebCore::Page::chrome):
(WebCore::Page::contextMenuController):
2006-11-28 Alice Liu <alice.liu@apple.com>
Reviewed by Justin and Adam.
All layout tests pass as they do without this patch
* WebCore.exp:
Exposed functions in Editor and removed functions in FrameMac due to changes in WebHTMLView.m
* WebCore.xcodeproj/project.pbxproj:
Added Pasteboard.h, PasteboardMac.mm, WebNSAttributedStringExtras.h&mm, EditorMac.mm
* bridge/EditorClient.h:
Added smartInsertDeleteEnabled and shouldInsertNode and some mac-specific functions
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
Removed dispatchCPPEvent and [can|try]DHTML[cut|copy|paste] since the Editor's are called now
* dom/CharacterData.h:
(WebCore::CharacterData::isCharacterDataNode):
* dom/Node.h:
(WebCore::Node::isCharacterDataNode):
Added a type-identifying function to Node and the proper subclass
* dom/Clipboard.h:
Exposed setAccessPolicy as public
* editing/Editor.h:
* editing/Editor.cpp:
Implemented the following
(WebCore::Editor::canDHTMLCut):
(WebCore::Editor::canDHTMLCopy):
(WebCore::Editor::canDHTMLPaste):
(WebCore::Editor::canSmartCopyOrDelete):
(WebCore::Editor::deleteSelection):
(WebCore::Editor::pasteAsPlainTextWithPasteboard):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::canSmartReplaceWithPasteboard):
(WebCore::Editor::shouldInsertFragment):
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::replaceSelectionWithText):
(WebCore::Editor::selectedRange):
(WebCore::Editor::shouldDeleteRange):
(WebCore::Editor::tryDHTMLCopy):
(WebCore::Editor::tryDHTMLCut):
(WebCore::Editor::tryDHTMLPaste):
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::dispatchCPPEvent):
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::paste):
* platform/mac/ClipboardAccessPolicy.h: Removed.
Not removed, but moved to dom/ClipboardAccessPolicy.h
* platform/mac/EditorMac.mm: Added.
(WebCore::Editor::newGeneralClipboard):
* platform/Pasteboard.h: Added.
* platform/mac/PasteboardMac.mm: Added.
The pasteboard class follows a singleton pattern
(Pasteboard::generalPasteboard):
(Pasteboard::~Pasteboard):
(Pasteboard::Pasteboard):
(Pasteboard::clearTypes):
(Pasteboard::writeSelection):
(Pasteboard::selectionPasteboardTypes):
(Pasteboard::canSmartReplace):
(Pasteboard::plainText):
(Pasteboard::documentFragment):
* platform/mac/WebNSAttributedStringExtras.h: Added.
* platform/mac/WebNSAttributedStringExtras.mm: Added.
Added select portions of this file from WebKit because the pasteboard needed the following function:
(-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
2006-11-28 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4397952>
Cannot select buttons at the end of a document, preventing copy/paste
There were no VisiblePositions before/after buttons because editingIgnoresContent
returned false for buttons.
* dom/Position.cpp:
(WebCore::Position::upstream): Fixed a comment.
(WebCore::Position::downstream): Ditto.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
* editing/htmlediting.cpp:
(WebCore::editingIgnoresContent): It's unnecessary to prefer renderer
checks over tag name checks because it seems that a node of a tag name
that we do not ignore content for can't have a renderer of a type that we do.
(WebCore::canHaveChildrenForEditing): Added selects, buttons, applets, and embeds.
* editing/visible_units.cpp:
(WebCore::previousLinePosition): Migrate to enclosingBlock. Fixes a bug where the
caret would get stuck moving up/down a line from a caret just before an
input element.
(WebCore::nextLinePosition): Ditto.
2006-11-28 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adam.
Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref
calls cause .5% PLT regression.
Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
from the Frame to the Page, since it's only responsible for
Webview-level delegate calls.
I don't really love this design, but it fixes the regression and allows
a single WebKit object to implement multiple client interfaces.
Layout tests pass.
2006-11-27 Anders Carlsson <acarlsson@apple.com>
Try fixing the build.
* platform/graphics/IntRect.cpp:
(WebCore::IntRect::IntRect):
2006-11-27 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Getting rid of some of the critical FIXMEs in ContextMenu.cpp.
* bridge/mac/FrameMac.h: Two new spell checker functions from
WebKit. (We will be able to delete the WebKit versions once we
switch over to WebCore context menus.)
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::isSelectionMisspelled):
(WebCore::core): Convert from NSArray of Strings to a Vector of
Strings.
(WebCore::FrameMac::guessesForMisspelledSelection):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::canHandleRequest):
* loader/FrameLoader.h: Make canHandleRequest available through the
FrameLoader.
* loader/FrameLoaderClient.h: canHandleRequest takes a
ResourceRequest instead of an NSURLRequest.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::continueAfterNavigationPolicy): Same
* page/Frame.h: New spell checker functions moved to Frame. These
should be moved some place better some day, but FrameMac currently
seems to be the place to be for spell checker stuff.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate): Use new FrameLoader and spell
checking functionality to get rid of two if (true) statements. Also
add spelling guesses to the editing context menus.
2006-11-27 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Hyatt.
http://bugs.webkit.org/show_bug.cgi?id=11694
XSLT output method does not default to HTML when the target document is HTML
Test: fast/xsl/default-html.html
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::transformToString): Make mimeType an input/output parameter,
serving as a hint when the stylesheet doesn't specify the output method.
(WebCore::XSLTProcessor::transformToFragment): Set mimeType to text/html if the target
document is HTML.
2006-11-27 Oliver Hunt <oliver@apple.com>
Reviewed by Adam.
Fixes a crash in SVG caused by an attempt to
perform css overflow clipping by preventing
the css overflow clip from being set in SVG.
<rdar:/problems/4839568>
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::RenderForeignObject):
* rendering/RenderForeignObject.h:
* rendering/RenderSVGBlock.cpp: Added.
(WebCore::RenderSVGBlock::RenderSVGBlock):
(WebCore::RenderSVGBlock::setStyle):
* rendering/RenderSVGBlock.h: Added.
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::RenderSVGText):
* rendering/RenderSVGText.h:
2006-11-27 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
Add an explicit IntRect constructor that takes a FloatRect.
* platform/graphics/IntRect.cpp:
(WebCore::IntRect::IntRect):
* platform/graphics/IntRect.h:
2006-11-27 Ada Chan <adachan@apple.com>
Reviewed by Adam.
Moved WebCoreCache up to WebKit.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreCache.h: Removed.
* bridge/mac/WebCoreCache.mm: Removed.
2006-11-27 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
Move addMessageToConsole to Chrome.
* bindings/js/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::evaluate):
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
(KJS::ScheduledAction::execute):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
* bridge/mac/WebCoreFrameBridge.h:
* page/Chrome.cpp:
(WebCore::Chrome::addMessageToConsole):
* page/Chrome.h:
* page/ChromeClient.h:
* page/Frame.h:
2006-11-27 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=8062
Caret color in new text field should take background color and foreground color into consideration
* editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
Use the foreground color of the rootEditableElement to determine the caret color. This will work well for text controls in web pages (since the root is always the actual form control)
as well as in editable WebViews, like in Mail, which will just pick up the color from the body element.
2006-11-26 Simon Hausmann <hausmann@kde.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11693
Fix the Qt build, adapt to various enum/class renamings.
* kcanvas/device/qt/KRenderingDeviceQt.cpp:
(WebCore::KRenderingDeviceQt::createResource):
(WebCore::KRenderingDeviceQt::createPaintServer):
* kcanvas/device/qt/KRenderingDeviceQt.h:
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerQt.cpp:
(WebCore::SVGPaintServer::renderPath):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
(WebCore::setup):
* platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
(WebCore::SVGPaintServerSolid::setup):
2006-11-24 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11666
.getScreenCTM() returns wrong values
Take into account the local transform matrix too and
so fix getScreenCTM/getCTM for <text>.
* ksvg2/svg/SVGStyledTransformableElement.cpp:
(SVGStyledTransformableElement::getCTM):
(SVGStyledTransformableElement::getScreenCTM):
* ksvg2/svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::getScreenCTM):
(WebCore::SVGTextElement::getCTM):
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::SVGTransformable::getCTM):
(WebCore::SVGTransformable::getScreenCTM):
* ksvg2/svg/SVGTransformable.h:
2006-11-22 Rob Buis <buis@kde.org>
Reviewed by Eric.
http://bugs.webkit.org/show_bug.cgi?id=11661
SVG: stroke not sensitive to mouse events (hit testing fails)
Use mapAbsolutePointToLocal when hit-testing strokes.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::fillContains):
(WebCore::RenderPath::nodeAtPoint):
2006-11-21 Anders Carlsson <acarlsson@apple.com>
Reviewed by Mitz.
General SVG cleanup. Change some enums to match the style guidelines, use PLATFORM(CG) instead of PLATFORM(MAC).
Remove config.h inluce from AffineTransform.h
* kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
(WebCore::KRenderingDeviceQuartz::createPaintServer):
(WebCore::KRenderingDeviceQuartz::createResource):
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer):
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
(WebCore::SVGLinearGradientElement::gradientType):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::canvasResource):
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
(WebCore::SVGRadialGradientElement::gradientType):
* platform/graphics/AffineTransform.h:
* platform/graphics/svg/SVGPaintServer.h:
(WebCore::):
* platform/graphics/svg/SVGPaintServerGradient.cpp:
(WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
(WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
* platform/graphics/svg/SVGPaintServerGradient.h:
* platform/graphics/svg/SVGPaintServerLinearGradient.h:
(WebCore::SVGPaintServerLinearGradient::type):
* platform/graphics/svg/SVGPaintServerPattern.h:
(WebCore::SVGPaintServerPattern::type):
* platform/graphics/svg/SVGPaintServerRadialGradient.h:
(WebCore::SVGPaintServerRadialGradient::type):
* platform/graphics/svg/SVGPaintServerSolid.h:
(WebCore::SVGPaintServerSolid::type):
* platform/graphics/svg/SVGResource.h:
(WebCore::):
* platform/graphics/svg/cg/SVGPaintServerCg.cpp:
(WebCore::SVGPaintServer::renderPath):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
(WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::renderPath):
(WebCore::SVGPaintServerGradient::setup):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
(WebCore::SVGPaintServerPattern::setup):
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
(WebCore::SVGPaintServerSolid::setup):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-11-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11658
Move KRenderingPaintServer* classes to the location
of all other resources (platform/graphics/svg).
Soon the whole platform/graphics/svg stuff will bemoved
into ksvg2/ itself, as discussed with Darin.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingPaintServer.h: Removed.
* kcanvas/device/KRenderingPaintServerGradient.cpp: Removed.
* kcanvas/device/KRenderingPaintServerGradient.h: Removed.
* kcanvas/device/KRenderingPaintServerPattern.cpp: Removed.
* kcanvas/device/KRenderingPaintServerPattern.h: Removed.
* kcanvas/device/KRenderingPaintServerSolid.cpp: Removed.
* kcanvas/device/KRenderingPaintServerSolid.h: Removed.
* kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: Removed.
* kcanvas/device/qt/KRenderingPaintServerGradientQt.h: Removed.
* kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: Removed.
* kcanvas/device/qt/KRenderingPaintServerPatternQt.h: Removed.
* kcanvas/device/qt/KRenderingPaintServerQt.cpp: Removed.
* kcanvas/device/qt/KRenderingPaintServerQt.h: Removed.
* kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: Removed.
* kcanvas/device/qt/KRenderingPaintServerSolidQt.h: Removed.
* kcanvas/device/quartz/KCanvasItemQuartz.h: Removed.
* kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
(WebCore::KRenderingDeviceQuartz::createPaintServer):
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Removed.
* kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Removed.
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h: Removed.
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer):
(WebCore::KSVGPainterFactory::fillPaintServer):
(WebCore::KSVGPainterFactory::strokePaintServer):
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
* ksvg2/svg/SVGFEOffsetElement.cpp:
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::canvasResource):
(WebCore::SVGGradientElement::resourceNotification):
(WebCore::SVGGradientElement::rebuildStops):
* ksvg2/svg/SVGGradientElement.h:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
(WebCore::SVGLinearGradientElement::gradientType):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::canvasResource):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
(WebCore::SVGRadialGradientElement::gradientType):
* platform/graphics/svg/SVGPaintServer.cpp: Added.
(WebCore::SVGPaintServer::SVGPaintServer):
(WebCore::SVGPaintServer::~SVGPaintServer):
(WebCore::SVGPaintServer::activeClient):
(WebCore::SVGPaintServer::setActiveClient):
(WebCore::SVGPaintServer::isPaintingText):
(WebCore::SVGPaintServer::setPaintingText):
(WebCore::operator<<):
(WebCore::getPaintServerById):
* platform/graphics/svg/SVGPaintServer.h: Added.
(WebCore::):
(WebCore::SVGPaintServer::isPaintServer):
* platform/graphics/svg/SVGPaintServerGradient.cpp: Added.
(WebCore::compareStopOffset):
(WebCore::operator<<):
(WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
(WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
(WebCore::SVGPaintServerGradient::gradientStops):
(WebCore::SVGPaintServerGradient::setGradientStops):
(WebCore::SVGPaintServerGradient::spreadMethod):
(WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
(WebCore::SVGPaintServerGradient::boundingBoxMode):
(WebCore::SVGPaintServerGradient::setBoundingBoxMode):
(WebCore::SVGPaintServerGradient::gradientTransform):
(WebCore::SVGPaintServerGradient::setGradientTransform):
(WebCore::SVGPaintServerGradient::listener):
(WebCore::SVGPaintServerGradient::setListener):
(WebCore::SVGPaintServerGradient::externalRepresentation):
* platform/graphics/svg/SVGPaintServerGradient.h: Added.
(WebCore::):
(WebCore::SVGPaintServerGradient::):
(WebCore::makeGradientStop):
* platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Added.
(WebCore::SVGPaintServerLinearGradient::SVGPaintServerLinearGradient):
(WebCore::SVGPaintServerLinearGradient::~SVGPaintServerLinearGradient):
(WebCore::SVGPaintServerLinearGradient::gradientStart):
(WebCore::SVGPaintServerLinearGradient::setGradientStart):
(WebCore::SVGPaintServerLinearGradient::gradientEnd):
(WebCore::SVGPaintServerLinearGradient::setGradientEnd):
(WebCore::SVGPaintServerLinearGradient::externalRepresentation):
* platform/graphics/svg/SVGPaintServerLinearGradient.h: Added.
(WebCore::SVGPaintServerLinearGradient::type):
* platform/graphics/svg/SVGPaintServerPattern.cpp: Added.
(WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
(WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
(WebCore::SVGPaintServerPattern::bbox):
(WebCore::SVGPaintServerPattern::setBbox):
(WebCore::SVGPaintServerPattern::boundingBoxMode):
(WebCore::SVGPaintServerPattern::setBoundingBoxMode):
(WebCore::SVGPaintServerPattern::tile):
(WebCore::SVGPaintServerPattern::setTile):
(WebCore::SVGPaintServerPattern::patternTransform):
(WebCore::SVGPaintServerPattern::setPatternTransform):
(WebCore::SVGPaintServerPattern::listener):
(WebCore::SVGPaintServerPattern::setListener):
(WebCore::SVGPaintServerPattern::externalRepresentation):
* platform/graphics/svg/SVGPaintServerPattern.h: Added.
(WebCore::SVGPaintServerPattern::type):
* platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Added.
(WebCore::SVGPaintServerRadialGradient::SVGPaintServerRadialGradient):
(WebCore::SVGPaintServerRadialGradient::~SVGPaintServerRadialGradient):
(WebCore::SVGPaintServerRadialGradient::gradientCenter):
(WebCore::SVGPaintServerRadialGradient::setGradientCenter):
(WebCore::SVGPaintServerRadialGradient::gradientFocal):
(WebCore::SVGPaintServerRadialGradient::setGradientFocal):
(WebCore::SVGPaintServerRadialGradient::gradientRadius):
(WebCore::SVGPaintServerRadialGradient::setGradientRadius):
(WebCore::SVGPaintServerRadialGradient::externalRepresentation):
* platform/graphics/svg/SVGPaintServerRadialGradient.h: Added.
(WebCore::SVGPaintServerRadialGradient::type):
* platform/graphics/svg/SVGPaintServerSolid.cpp: Added.
(WebCore::SVGPaintServerSolid::SVGPaintServerSolid):
(WebCore::SVGPaintServerSolid::~SVGPaintServerSolid):
(WebCore::SVGPaintServerSolid::color):
(WebCore::SVGPaintServerSolid::setColor):
(WebCore::SVGPaintServerSolid::externalRepresentation):
* platform/graphics/svg/SVGPaintServerSolid.h: Added.
(WebCore::SVGPaintServerSolid::type):
* platform/graphics/svg/SVGResource.cpp:
* platform/graphics/svg/SVGResource.h:
* platform/graphics/svg/SVGResourceClipper.cpp:
* platform/graphics/svg/SVGResourceMarker.cpp:
* platform/graphics/svg/SVGResourceMasker.cpp:
* platform/graphics/svg/cg/SVGPaintServerCg.cpp: Added.
(WebCore::SVGPaintServer::draw):
(WebCore::SVGPaintServer::teardown):
(WebCore::SVGPaintServer::renderPath):
(WebCore::SVGPaintServer::strokePath):
(WebCore::SVGPaintServer::clipToStrokePath):
(WebCore::SVGPaintServer::fillPath):
(WebCore::SVGPaintServer::clipToFillPath):
* platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Added.
(WebCore::cgGradientCallback):
(WebCore::CGShadingRefForLinearGradient):
(WebCore::CGShadingRefForRadialGradient):
(WebCore::SVGPaintServerGradient::invalidateCaches):
(WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
(WebCore::SVGPaintServerGradient::updateQuartzGradientCache):
(WebCore::SVGPaintServerGradient::teardown):
(WebCore::SVGPaintServerGradient::renderPath):
(WebCore::SVGPaintServerGradient::setup):
(WebCore::SVGPaintServerGradient::invalidate):
* platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Added.
(WebCore::patternCallback):
(WebCore::SVGPaintServerPattern::setup):
(WebCore::SVGPaintServerPattern::teardown):
* platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Added.
(WebCore::SVGPaintServerSolid::setup):
* platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Added.
(WebCore::SVGPaintServerGradient::fillColorArray):
* platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Added.
(WebCore::SVGPaintServerLinearGradient::setup):
* platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Added.
(WebCore::SVGPaintServerPattern::setup):
* platform/graphics/svg/qt/SVGPaintServerQt.cpp: Added.
(WebCore::SVGPaintServer::setPenProperties):
(WebCore::SVGPaintServer::draw):
(WebCore::SVGPaintServer::teardown):
(WebCore::SVGPaintServer::renderPath):
* platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Added.
(WebCore::setup):
* platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Added.
(WebCore::SVGPaintServerSolid::setup):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
* rendering/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
(WebCore::writeRenderResources):
2006-11-21 Alex Taylor <darwin@techvisual.co.nz>
Reviewed by Mitz.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11587
Adds calculations for bottom right radius's position
which was being drawn incorrectly.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paintBorder):
2006-11-20 Rob Buis <buis@kde.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11519
REGRESSION: Disabled file upload control doesn't have disabled appearance, failing fast/forms/file-input-disabled.html
Transport disabled state from DOM element to the shadow
DOM/render object.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement):
* rendering/RenderTheme.h:
2006-11-20 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
* loader/TextResourceDecoder.cpp:
(WebCore::findXMLEncoding):
Use CString instead of DeprecatedCString.
* platform/CString.cpp:
(WebCore::CString::find):
* platform/CString.h:
(WebCore::CString::data):
Add find method, make data method inline.
* platform/TextStream.cpp:
* platform/TextStream.h:
Remove DeprecatedCString functions.
2006-11-20 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
Use CString instead of DeprecatedCString.
* html/FormDataList.cpp:
(WebCore::FormDataList::appendString):
(WebCore::fixLineBreaks):
(WebCore::FormDataList::appendFile):
2006-11-20 Samuel Weinig <sam@webkit.org>
Reviewed by Alexey.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
Fix Windows build
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ContextMenuClientWin.h:
* bridge/win/EditorClientWin.h:
* bridge/win/FrameWin.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ContextMenu::show):
(WebCore::ContextMenuClientWin::copyLinkToClipboard):
(WebCore::ContextMenuClientWin::downloadURL):
(WebCore::ContextMenuClientWin::copyImageToClipboard):
(WebCore::ContextMenuClientWin::lookUpInDictionary):
(WebCore::EditorClientWin::shouldInsertText):
(WebCore::FrameLoader::reload):
(WebCore::FrameWin::ignoreSpelling):
(WebCore::FrameWin::learnSpelling):
2006-11-20 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=10736
XMLHttpRequest.responseXML should be null on error
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::wellFormed):
* dom/XMLTokenizer.h:
(WebCore::Tokenizer::wellFormed):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::implicitClose):
* dom/Document.h:
(WebCore::Document::wellFormed):
Tell whether XMLTokenizer saw an error. Always true (success) for HTML.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::getResponseXML): Set the document to null if it's not well-formed.
2006-11-20 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=11633
Implement XMLDocument properties xmlEncoding, xmlVersion, xmlStandalone
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setXMLVersion):
(WebCore::Document::setXMLStandalone):
* dom/Document.h:
(WebCore::Document::xmlEncoding):
(WebCore::Document::xmlVersion):
(WebCore::Document::xmlStandalone):
(WebCore::Document::setXMLEncoding):
* dom/Document.idl:
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::startDocument):
(WebCore::startDocumentHandler):
(WebCore::XMLTokenizer::initializeParserContext):
Added support for these properties, getting them from an libxml2 context.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::HTMLDocument):
HTMLDocument is the only kind of document that doesn't have xmlVersion default to "1.0".
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
Added WK_ucfirst to properly uppercase xmlVersion and xmlStandalone.
2006-11-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Rob.
Fix Qt/Linux build.
* platform/qt/ContextMenuClientQt.cpp:
(WebCore::ContextMenuClientQt::ref):
(WebCore::ContextMenuClientQt::deref):
(WebCore::ContextMenuClientQt::copyLinkToClipboard):
(WebCore::ContextMenuClientQt::downloadURL):
(WebCore::ContextMenuClientQt::copyImageToClipboard):
(WebCore::ContextMenuClientQt::lookUpInDictionary):
* platform/qt/ContextMenuClientQt.h:
* platform/qt/ContextMenuQt.cpp:
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::show):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldInsertText):
* platform/qt/EditorClientQt.h:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::ignoreSpelling):
(WebCore::FrameQt::learnSpelling):
* platform/qt/FrameQt.h:
* platform/qt/TemporaryLinkStubs.cpp:
(FrameLoader::reload):
2006-11-20 Samuel Weinig <sam@webkit.org>
Reviewed by Maciej.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11647
Fix Win32 build
* config.h: add #define NOMINMAX for windows build
* platform/win/FontCacheWin.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/win/TemporaryLinkStubs.cpp: add definitions for
new cursors.
(WebCore::aliasCursor):
(WebCore::noDropCursor):
(WebCore::progressCursor):
2006-11-19 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Implementation of actions for the new context menus.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/EditorClient.h: Declaration of shouldInsertText.
* bridge/mac/FrameMac.h: Two new spelling functions.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::ignoreSpelling):
(WebCore::FrameMac::learnSpelling):
* editing/Editor.cpp:
(WebCore::Editor::shouldInsertText): Call into the client.
* editing/Editor.h:
* editing/EditorInsertAction.h: Added.
(WebCore::): The WebCore equivalent of WebViewInsertAction. This is
defined in its own header so that we can use it from Editor.h and
EditorClient.h without having one of the above include the other.
* page/ContextMenuClient.h: A few currently WebKit-implemented
function needed for menu actions.
* page/ContextMenuController.cpp:
(WebCore::makeGoogleSearchURL):
(WebCore::ContextMenuController::contextMenuActionSelected): The
actions!
* page/ContextMenuController.h:
* page/Frame.h: New pure-virtual spelling functions.
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::controller): Get the controller from the
menu.
* platform/ContextMenu.h:
* platform/mac/ContextMenuMac.mm:
(-[MenuTarget
forwardContextMenuAction:initWithContextMenuController:WebCore::]):
Use the controller instead of the menu
(-[MenuTarget WebCore::]):
(-[MenuTarget setMenuController:WebCore::]):
(-[MenuTarget forwardContextMenuAction:]):
(getNSMenuItem):
(ContextMenu::show):
(ContextMenu::hide):
2006-11-19 Simon Hausmann <hausmann@kde.org>
Reviewed by Zack.
http://bugs.webkit.org/show_bug.cgi?id=11649
Fix CMake files for Qt-only build without KDE cmake files.
Fix Qt/KDE build for the SVG support.
Fix Qt-only build in the resource handler.
* CMakeLists.txt:
* platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Added.
(WebCore::SVGResourceFilter::SVGResourceFilter):
(WebCore::SVGResourceFilter::~SVGResourceFilter):
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::cancel):
(WebCore::ResourceHandleManager::slotData):
(WebCore::ResourceHandleManager::slotMimetype):
(WebCore::ResourceHandleManager::slotResult):
(WebCore::ResourceHandleManager::deliverJobData):
* platform/network/qt/ResourceHandleManager.h:
* platform/network/qt/ResourceHandleQt.cpp:
* platform/qt/CursorQt.cpp:
(WebCore::noDropCursor):
(WebCore::progressCursor):
(WebCore::aliasCursor):
2006-11-19 Mitz Pettel <mitz@webkit.org>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=11626
Automate test for rdar://problem/4056100
* manual-tests/delete-into-nested-block.html: Removed.
2006-11-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596
Split up KCanvasFilters & KCanvasFilterQuartz into several
new classes (SVGFEBlend, SVGFEComposite...) and move them
into platform/graphics/svg. This is still a temporary location,
as discussed with Darin; the whole platform/graphics/svg directory
will probably be moved into ksvg2/ in near future.
This finally removes the duplicated enumerations in the svg filter
classes and within kcanvas. ksvg2/ and platform/graphics/svg share
their enums now. As KCanvasFilters is gone now, The kcanvas/ subdirectory
is empty.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm:
* kcanvas/KCanvasFilters.cpp: Removed.
* kcanvas/KCanvasFilters.h: Removed.
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/qt/KRenderingDeviceQt.cpp:
(WebCore::KRenderingDeviceQt::createFilterEffect):
* kcanvas/device/qt/KRenderingDeviceQt.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.h: Removed.
* kcanvas/device/quartz/KCanvasFilterQuartz.mm: Removed.
* kcanvas/device/quartz/KCanvasItemQuartz.cpp:
* kcanvas/device/quartz/KRenderingDeviceQuartz.cpp:
(WebCore::KRenderingDeviceQuartz::createResource):
(WebCore::KRenderingDeviceQuartz::createFilterEffect):
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKArithmeticFilter.h: Removed.
* kcanvas/device/quartz/filters/WKArithmeticFilter.m: Removed.
* kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Removed.
* kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Removed.
* kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Removed.
* kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Removed.
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Removed.
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Removed.
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Removed.
* kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Removed.
* kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKDistantLightFilter.h: Removed.
* kcanvas/device/quartz/filters/WKDistantLightFilter.m: Removed.
* kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Removed.
* kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Removed.
* kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Removed.
* kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Removed.
* kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Removed.
* kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Removed.
* kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKNormalMapFilter.h: Removed.
* kcanvas/device/quartz/filters/WKNormalMapFilter.m: Removed.
* kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKPointLightFilter.h: Removed.
* kcanvas/device/quartz/filters/WKPointLightFilter.m: Removed.
* kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Removed.
* kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Removed.
* kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKSpotLightFilter.h: Removed.
* kcanvas/device/quartz/filters/WKSpotLightFilter.m: Removed.
* kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Removed.
* kcanvas/device/quartz/filters/WKTableTransferFilter.h: Removed.
* kcanvas/device/quartz/filters/WKTableTransferFilter.m: Removed.
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::transferFunction):
* ksvg2/svg/SVGComponentTransferFunctionElement.h:
* ksvg2/svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::filterEffect):
* ksvg2/svg/SVGFEBlendElement.h:
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect):
* ksvg2/svg/SVGFEColorMatrixElement.h:
* ksvg2/svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::filterEffect):
* ksvg2/svg/SVGFEComponentTransferElement.h:
* ksvg2/svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::filterEffect):
* ksvg2/svg/SVGFECompositeElement.h:
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::filterEffect):
(WebCore::SVGFEDiffuseLightingElement::updateLights):
* ksvg2/svg/SVGFEDiffuseLightingElement.h:
* ksvg2/svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::stringToChannel):
(WebCore::SVGFEDisplacementMapElement::filterEffect):
* ksvg2/svg/SVGFEDisplacementMapElement.h:
* ksvg2/svg/SVGFEDistantLightElement.cpp:
(WebCore::SVGFEDistantLightElement::lightSource):
* ksvg2/svg/SVGFEDistantLightElement.h:
* ksvg2/svg/SVGFEFloodElement.cpp:
(WebCore::SVGFEFloodElement::filterEffect):
* ksvg2/svg/SVGFEFloodElement.h:
* ksvg2/svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::filterEffect):
* ksvg2/svg/SVGFEGaussianBlurElement.h:
* ksvg2/svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::filterEffect):
* ksvg2/svg/SVGFEImageElement.h:
* ksvg2/svg/SVGFELightElement.h:
* ksvg2/svg/SVGFEMergeElement.cpp:
(WebCore::SVGFEMergeElement::filterEffect):
* ksvg2/svg/SVGFEMergeElement.h:
* ksvg2/svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::filterEffect):
* ksvg2/svg/SVGFEOffsetElement.h:
* ksvg2/svg/SVGFEPointLightElement.cpp:
(WebCore::SVGFEPointLightElement::lightSource):
* ksvg2/svg/SVGFEPointLightElement.h:
* ksvg2/svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::filterEffect):
(WebCore::SVGFESpecularLightingElement::updateLights):
* ksvg2/svg/SVGFESpecularLightingElement.h:
* ksvg2/svg/SVGFESpotLightElement.cpp:
(WebCore::SVGFESpotLightElement::lightSource):
* ksvg2/svg/SVGFESpotLightElement.h:
* ksvg2/svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::filterEffect):
* ksvg2/svg/SVGFETileElement.h:
* ksvg2/svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::filterEffect):
* ksvg2/svg/SVGFETurbulenceElement.h:
(WebCore::):
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGFilterElement.h:
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
* ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
* platform/graphics/FloatPoint3D.cpp: Added.
(WebCore::FloatPoint3D::FloatPoint3D):
(WebCore::FloatPoint3D::x):
(WebCore::FloatPoint3D::setX):
(WebCore::FloatPoint3D::y):
(WebCore::FloatPoint3D::setY):
(WebCore::FloatPoint3D::z):
(WebCore::FloatPoint3D::setZ):
(WebCore::FloatPoint3D::normalize):
* platform/graphics/FloatPoint3D.h: Added.
* platform/graphics/svg/SVGResourceFilter.cpp: Added.
(WebCore::SVGResourceFilter::clearEffects):
(WebCore::SVGResourceFilter::addFilterEffect):
(WebCore::SVGResourceFilter::filterBBoxForItemBBox):
(WebCore::SVGResourceFilter::externalRepresentation):
(WebCore::getFilterById):
* platform/graphics/svg/SVGResourceFilter.h: Added.
(WebCore::SVGResourceFilter::isFilter):
(WebCore::SVGResourceFilter::filterBoundingBoxMode):
(WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
(WebCore::SVGResourceFilter::effectBoundingBoxMode):
(WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
(WebCore::SVGResourceFilter::filterRect):
(WebCore::SVGResourceFilter::setFilterRect):
* platform/graphics/svg/SVGResourceImage.h:
* platform/graphics/svg/SVGResourceListener.h:
(SVGResourceListener::SVGResourceListener):
(SVGResourceListener::~SVGResourceListener):
* platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
* platform/graphics/svg/cg/SVGResourceFilterCg.mm: Added.
(WebCore::SVGResourceFilter::SVGResourceFilter):
(WebCore::SVGResourceFilter::~SVGResourceFilter):
(WebCore::SVGResourceFilter::prepareFilter):
(WebCore::SVGResourceFilter::applyFilter):
(WebCore::SVGResourceFilter::getCIFilterStack):
(WebCore::SVGResourceFilter::imageForName):
(WebCore::SVGResourceFilter::setImageForName):
(WebCore::SVGResourceFilter::setOutputImage):
(WebCore::alphaImageForImage):
(WebCore::SVGResourceFilter::inputImage):
* platform/graphics/svg/cg/SVGResourceMaskerCg.h: Removed.
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
* platform/graphics/svg/filters/SVGDistantLightSource.h: Added.
(WebCore::SVGDistantLightSource::SVGDistantLightSource):
(WebCore::SVGDistantLightSource::azimuth):
(WebCore::SVGDistantLightSource::elevation):
* platform/graphics/svg/filters/SVGFEBlend.cpp: Added.
(WebCore::SVGFEBlend::in2):
(WebCore::SVGFEBlend::setIn2):
(WebCore::SVGFEBlend::blendMode):
(WebCore::SVGFEBlend::setBlendMode):
(WebCore::operator<<):
(WebCore::SVGFEBlend::externalRepresentation):
* platform/graphics/svg/filters/SVGFEBlend.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Added.
(WebCore::SVGFEColorMatrix::type):
(WebCore::SVGFEColorMatrix::setType):
(WebCore::SVGFEColorMatrix::values):
(WebCore::SVGFEColorMatrix::setValues):
(WebCore::operator<<):
(WebCore::SVGFEColorMatrix::externalRepresentation):
* platform/graphics/svg/filters/SVGFEColorMatrix.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Added.
(WebCore::SVGFEComponentTransfer::redFunction):
(WebCore::SVGFEComponentTransfer::setRedFunction):
(WebCore::SVGFEComponentTransfer::greenFunction):
(WebCore::SVGFEComponentTransfer::setGreenFunction):
(WebCore::SVGFEComponentTransfer::blueFunction):
(WebCore::SVGFEComponentTransfer::setBlueFunction):
(WebCore::SVGFEComponentTransfer::alphaFunction):
(WebCore::SVGFEComponentTransfer::setAlphaFunction):
(WebCore::operator<<):
(WebCore::SVGFEComponentTransfer::externalRepresentation):
* platform/graphics/svg/filters/SVGFEComponentTransfer.h: Added.
(WebCore::):
(WebCore::SVGComponentTransferFunction::SVGComponentTransferFunction):
* platform/graphics/svg/filters/SVGFEComposite.cpp: Added.
(WebCore::SVGFEComposite::in2):
(WebCore::SVGFEComposite::setIn2):
(WebCore::SVGFEComposite::operation):
(WebCore::SVGFEComposite::setOperation):
(WebCore::SVGFEComposite::k1):
(WebCore::SVGFEComposite::setK1):
(WebCore::SVGFEComposite::k2):
(WebCore::SVGFEComposite::setK2):
(WebCore::SVGFEComposite::k3):
(WebCore::SVGFEComposite::setK3):
(WebCore::SVGFEComposite::k4):
(WebCore::SVGFEComposite::setK4):
(WebCore::SVGFEComposite::externalRepresentation):
* platform/graphics/svg/filters/SVGFEComposite.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Added.
(WebCore::SVGFEConvolveMatrix::kernelSize):
(WebCore::SVGFEConvolveMatrix::setKernelSize):
(WebCore::SVGFEConvolveMatrix::kernel):
(WebCore::SVGFEConvolveMatrix::setKernel):
(WebCore::SVGFEConvolveMatrix::divisor):
(WebCore::SVGFEConvolveMatrix::setDivisor):
(WebCore::SVGFEConvolveMatrix::bias):
(WebCore::SVGFEConvolveMatrix::setBias):
(WebCore::SVGFEConvolveMatrix::targetOffset):
(WebCore::SVGFEConvolveMatrix::setTargetOffset):
(WebCore::SVGFEConvolveMatrix::edgeMode):
(WebCore::SVGFEConvolveMatrix::setEdgeMode):
(WebCore::SVGFEConvolveMatrix::kernelUnitLength):
(WebCore::SVGFEConvolveMatrix::setKernelUnitLength):
(WebCore::SVGFEConvolveMatrix::preserveAlpha):
(WebCore::SVGFEConvolveMatrix::setPreserveAlpha):
(WebCore::operator<<):
(WebCore::SVGFEConvolveMatrix::externalRepresentation):
* platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Added.
(WebCore::SVGFEDiffuseLighting::SVGFEDiffuseLighting):
(WebCore::SVGFEDiffuseLighting::~SVGFEDiffuseLighting):
(WebCore::SVGFEDiffuseLighting::lightingColor):
(WebCore::SVGFEDiffuseLighting::setLightingColor):
(WebCore::SVGFEDiffuseLighting::surfaceScale):
(WebCore::SVGFEDiffuseLighting::setSurfaceScale):
(WebCore::SVGFEDiffuseLighting::diffuseConstant):
(WebCore::SVGFEDiffuseLighting::setDiffuseConstant):
(WebCore::SVGFEDiffuseLighting::kernelUnitLengthX):
(WebCore::SVGFEDiffuseLighting::setKernelUnitLengthX):
(WebCore::SVGFEDiffuseLighting::kernelUnitLengthY):
(WebCore::SVGFEDiffuseLighting::setKernelUnitLengthY):
(WebCore::SVGFEDiffuseLighting::lightSource):
(WebCore::SVGFEDiffuseLighting::setLightSource):
(WebCore::SVGFEDiffuseLighting::externalRepresentation):
* platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Added.
* platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Added.
(WebCore::SVGFEDisplacementMap::SVGFEDisplacementMap):
(WebCore::SVGFEDisplacementMap::in2):
(WebCore::SVGFEDisplacementMap::setIn2):
(WebCore::SVGFEDisplacementMap::xChannelSelector):
(WebCore::SVGFEDisplacementMap::setXChannelSelector):
(WebCore::SVGFEDisplacementMap::yChannelSelector):
(WebCore::SVGFEDisplacementMap::setYChannelSelector):
(WebCore::SVGFEDisplacementMap::scale):
(WebCore::SVGFEDisplacementMap::setScale):
(WebCore::operator<<):
(WebCore::SVGFEDisplacementMap::externalRepresentation):
* platform/graphics/svg/filters/SVGFEDisplacementMap.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEFlood.cpp: Added.
(WebCore::SVGFEFlood::floodColor):
(WebCore::SVGFEFlood::setFloodColor):
(WebCore::SVGFEFlood::floodOpacity):
(WebCore::SVGFEFlood::setFloodOpacity):
(WebCore::SVGFEFlood::externalRepresentation):
* platform/graphics/svg/filters/SVGFEFlood.h: Added.
* platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Added.
(WebCore::SVGFEGaussianBlur::stdDeviationX):
(WebCore::SVGFEGaussianBlur::setStdDeviationX):
(WebCore::SVGFEGaussianBlur::stdDeviationY):
(WebCore::SVGFEGaussianBlur::setStdDeviationY):
(WebCore::SVGFEGaussianBlur::externalRepresentation):
* platform/graphics/svg/filters/SVGFEGaussianBlur.h: Added.
* platform/graphics/svg/filters/SVGFEImage.cpp: Added.
(WebCore::SVGFEImage::SVGFEImage):
(WebCore::SVGFEImage::~SVGFEImage):
(WebCore::SVGFEImage::cachedImage):
(WebCore::SVGFEImage::setCachedImage):
(WebCore::SVGFEImage::externalRepresentation):
* platform/graphics/svg/filters/SVGFEImage.h: Added.
* platform/graphics/svg/filters/SVGFEMerge.cpp: Added.
(WebCore::SVGFEMerge::mergeInputs):
(WebCore::SVGFEMerge::setMergeInputs):
(WebCore::SVGFEMerge::externalRepresentation):
* platform/graphics/svg/filters/SVGFEMerge.h: Added.
* platform/graphics/svg/filters/SVGFEMorphology.cpp: Added.
(WebCore::SVGFEMorphology::morphologyOperator):
(WebCore::SVGFEMorphology::setMorphologyOperator):
(WebCore::SVGFEMorphology::radiusX):
(WebCore::SVGFEMorphology::setRadiusX):
(WebCore::SVGFEMorphology::radiusY):
(WebCore::SVGFEMorphology::setRadiusY):
(WebCore::operator<<):
(WebCore::SVGFEMorphology::externalRepresentation):
* platform/graphics/svg/filters/SVGFEMorphology.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFEOffset.cpp: Added.
(WebCore::SVGFEOffset::dx):
(WebCore::SVGFEOffset::setDx):
(WebCore::SVGFEOffset::dy):
(WebCore::SVGFEOffset::setDy):
(WebCore::SVGFEOffset::externalRepresentation):
* platform/graphics/svg/filters/SVGFEOffset.h: Added.
* platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Added.
(WebCore::SVGFESpecularLighting::SVGFESpecularLighting):
(WebCore::SVGFESpecularLighting::~SVGFESpecularLighting):
(WebCore::SVGFESpecularLighting::lightingColor):
(WebCore::SVGFESpecularLighting::setLightingColor):
(WebCore::SVGFESpecularLighting::surfaceScale):
(WebCore::SVGFESpecularLighting::setSurfaceScale):
(WebCore::SVGFESpecularLighting::specularConstant):
(WebCore::SVGFESpecularLighting::setSpecularConstant):
(WebCore::SVGFESpecularLighting::specularExponent):
(WebCore::SVGFESpecularLighting::setSpecularExponent):
(WebCore::SVGFESpecularLighting::kernelUnitLengthX):
(WebCore::SVGFESpecularLighting::setKernelUnitLengthX):
(WebCore::SVGFESpecularLighting::kernelUnitLengthY):
(WebCore::SVGFESpecularLighting::setKernelUnitLengthY):
(WebCore::SVGFESpecularLighting::lightSource):
(WebCore::SVGFESpecularLighting::setLightSource):
(WebCore::SVGFESpecularLighting::externalRepresentation):
* platform/graphics/svg/filters/SVGFESpecularLighting.h: Added.
* platform/graphics/svg/filters/SVGFETile.h: Added.
* platform/graphics/svg/filters/SVGFETurbulence.cpp: Added.
(WebCore::SVGFETurbulence::type):
(WebCore::SVGFETurbulence::setType):
(WebCore::SVGFETurbulence::baseFrequencyY):
(WebCore::SVGFETurbulence::setBaseFrequencyY):
(WebCore::SVGFETurbulence::baseFrequencyX):
(WebCore::SVGFETurbulence::setBaseFrequencyX):
(WebCore::SVGFETurbulence::seed):
(WebCore::SVGFETurbulence::setSeed):
(WebCore::SVGFETurbulence::numOctaves):
(WebCore::SVGFETurbulence::setNumOctaves):
(WebCore::SVGFETurbulence::stitchTiles):
(WebCore::SVGFETurbulence::setStitchTiles):
(WebCore::operator<<):
(WebCore::SVGFETurbulence::externalRepresentation):
* platform/graphics/svg/filters/SVGFETurbulence.h: Added.
(WebCore::):
* platform/graphics/svg/filters/SVGFilterEffect.cpp: Added.
(WebCore::SVGFilterEffect::subRegion):
(WebCore::SVGFilterEffect::setSubRegion):
(WebCore::SVGFilterEffect::in):
(WebCore::SVGFilterEffect::setIn):
(WebCore::SVGFilterEffect::result):
(WebCore::SVGFilterEffect::setResult):
(WebCore::SVGFilterEffect::externalRepresentation):
(WebCore::operator<<):
* platform/graphics/svg/filters/SVGFilterEffect.h: Added.
(WebCore::):
(WebCore::SVGFilterEffect::SVGFilterEffect):
(WebCore::SVGFilterEffect::~SVGFilterEffect):
(WebCore::SVGFilterEffect::effectType):
* platform/graphics/svg/filters/SVGLightSource.cpp: Added.
(WebCore::operator<<):
(WebCore::SVGPointLightSource::externalRepresentation):
(WebCore::SVGSpotLightSource::externalRepresentation):
(WebCore::SVGDistantLightSource::externalRepresentation):
* platform/graphics/svg/filters/SVGLightSource.h: Added.
(WebCore::):
(WebCore::SVGLightSource::SVGLightSource):
(WebCore::SVGLightSource::~SVGLightSource):
(WebCore::SVGLightSource::type):
* platform/graphics/svg/filters/SVGPointLightSource.h: Added.
(WebCore::SVGPointLightSource::SVGPointLightSource):
(WebCore::SVGPointLightSource::position):
* platform/graphics/svg/filters/SVGSpotLightSource.h: Added.
(WebCore::SVGSpotLightSource::SVGSpotLightSource):
(WebCore::SVGSpotLightSource::position):
(WebCore::SVGSpotLightSource::direction):
(WebCore::SVGSpotLightSource::specularExponent):
(WebCore::SVGSpotLightSource::limitingConeAngle):
* platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Added.
(WebCore::SVGFEBlend::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Added.
(WebCore::SVGFEColorMatrix::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Added.
(WebCore::genImageFromTable):
(WebCore::setParametersForComponentFunc):
(WebCore::filterForComponentFunc):
(WebCore::getFilterForFunc):
(WebCore::SVGFEComponentTransfer::getFunctionFilter):
(WebCore::SVGFEComponentTransfer::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Added.
(WebCore::SVGFEComposite::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Added.
(WebCore::SVGFEDiffuseLighting::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Added.
(WebCore::SVGFEDisplacementMap::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Added.
(WebCore::SVGFEFlood::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Added.
(WebCore::SVGFEGaussianBlur::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Added.
* platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Added.
(WebCore::getVectorForChannel):
(WebCore::ciColor):
(WebCore::getPointLightVectors):
(WebCore::getLightVectors):
(WebCore::getNormalMap):
* platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Added.
(WebCore::SVGFEImage::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Added.
(WebCore::SVGFEMerge::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Added.
(WebCore::SVGFEOffset::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Added.
(WebCore::SVGFESpecularLighting::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFETileCg.mm: Added.
(WebCore::SVGFETile::getCIFilter):
* platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Added.
(WebCore::SVGFilterEffect::getCIFilter):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::getAbsoluteRepaintRect):
(WebCore::RenderPath::paint):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
(WebCore::RenderSVGContainer::getAbsoluteRepaintRect):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
(WebCore::RenderSVGImage::getAbsoluteRepaintRect):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-11-18 Rob Buis <buis@kde.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11321
Element with :target pseudo-class still matched after fragment identifier change
Make sure the page does a style recalculation and possible rendering
when navigating back from a page with an anchor to a page without
an anchor.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::gotoAnchor):
2006-11-18 Peter Kasting <pkasting@google.com>
Reviewed by Sam Weinig.
http://bugs.webkit.org/show_bug.cgi?id=11634:
Fix segfault on startup for Windows build. Also fix segfault when
typing in a URL.
Clean up some of the style of the patch that landed in r17816.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ChromeClientWin.h:
(WebCore::ChromeClientWin::~ChromeClientWin):
(WebCore::ChromeClientWin::ref):
(WebCore::ChromeClientWin::deref):
* bridge/win/ContextMenuClientWin.h:
(WebCore::ContextMenuClientWin::~ContextMenuClientWin):
(WebCore::ContextMenuClientWin::ref):
(WebCore::ContextMenuClientWin::deref):
* bridge/win/EditorClientWin.h:
(WebCore::EditorClientWin::~EditorClientWin):
(WebCore::EditorClientWin::ref):
(WebCore::EditorClientWin::deref):
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
* bridge/win/FrameWin.h:
(WebCore::Win):
* loader/win/FrameLoaderClientWin.h: Added.
(WebCore::FrameLoaderClientWin::~FrameLoaderClientWin):
(WebCore::FrameLoaderClientWin::ref):
(WebCore::FrameLoaderClientWin::deref):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ChromeClientWin::createWindow):
(WebCore::ChromeClientWin::createModalDialog):
(WebCore::EditorClientWin::selectWordBeforeMenuEvent):
(WebCore::EditorClientWin::isEditable):
(WebCore::EditorClientWin::shouldBeginEditing):
(WebCore::EditorClientWin::shouldEndEditing):
(WebCore::EditorClientWin::shouldApplyStyle):
(WebCore::EditorClientWin::didBeginEditing):
(WebCore::EditorClientWin::respondToChangedContents):
(WebCore::EditorClientWin::didEndEditing):
(WebCore::EditorClientWin::registerCommandForUndo):
(WebCore::EditorClientWin::registerCommandForRedo):
(WebCore::EditorClientWin::clearUndoRedoOperations):
(WebCore::EditorClientWin::canUndo):
(WebCore::EditorClientWin::canRedo):
(WebCore::EditorClientWin::undo):
(WebCore::EditorClientWin::redo):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::createPlugin):
(WebCore::FrameLoaderClientWin::hasWebView):
(WebCore::FrameLoaderClientWin::hasFrameView):
(WebCore::FrameLoaderClientWin::hasBackForwardList):
(WebCore::FrameLoaderClientWin::resetBackForwardList):
(WebCore::FrameLoaderClientWin::provisionalItemIsTarget):
(WebCore::FrameLoaderClientWin::loadProvisionalItemFromPageCache):
(WebCore::FrameLoaderClientWin::invalidateCurrentItemPageCache):
(WebCore::FrameLoaderClientWin::privateBrowsingEnabled):
(WebCore::FrameLoaderClientWin::makeDocumentView):
(WebCore::FrameLoaderClientWin::makeRepresentation):
(WebCore::FrameLoaderClientWin::forceLayout):
(WebCore::FrameLoaderClientWin::forceLayoutForNonHTML):
(WebCore::FrameLoaderClientWin::updateHistoryForCommit):
(WebCore::FrameLoaderClientWin::updateHistoryForBackForwardNavigation):
(WebCore::FrameLoaderClientWin::updateHistoryForReload):
(WebCore::FrameLoaderClientWin::updateHistoryForStandardLoad):
(WebCore::FrameLoaderClientWin::updateHistoryForInternalLoad):
(WebCore::FrameLoaderClientWin::updateHistoryAfterClientRedirect):
(WebCore::FrameLoaderClientWin::setCopiesOnScroll):
(WebCore::FrameLoaderClientWin::tokenForLoadErrorReset):
(WebCore::FrameLoaderClientWin::resetAfterLoadError):
(WebCore::FrameLoaderClientWin::doNotResetAfterLoadError):
(WebCore::FrameLoaderClientWin::willCloseDocument):
(WebCore::FrameLoaderClientWin::detachedFromParent1):
(WebCore::FrameLoaderClientWin::detachedFromParent2):
(WebCore::FrameLoaderClientWin::detachedFromParent3):
(WebCore::FrameLoaderClientWin::detachedFromParent4):
(WebCore::FrameLoaderClientWin::loadedFromPageCache):
(WebCore::FrameLoaderClientWin::dispatchDidHandleOnloadEvents):
(WebCore::FrameLoaderClientWin::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebCore::FrameLoaderClientWin::dispatchDidCancelClientRedirect):
(WebCore::FrameLoaderClientWin::dispatchWillPerformClientRedirect):
(WebCore::FrameLoaderClientWin::dispatchDidChangeLocationWithinPage):
(WebCore::FrameLoaderClientWin::dispatchWillClose):
(WebCore::FrameLoaderClientWin::dispatchDidReceiveIcon):
(WebCore::FrameLoaderClientWin::dispatchDidStartProvisionalLoad):
(WebCore::FrameLoaderClientWin::dispatchDidReceiveTitle):
(WebCore::FrameLoaderClientWin::dispatchDidCommitLoad):
(WebCore::FrameLoaderClientWin::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientWin::dispatchDidFirstLayout):
(WebCore::FrameLoaderClientWin::dispatchShow):
(WebCore::FrameLoaderClientWin::cancelPolicyCheck):
(WebCore::FrameLoaderClientWin::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientWin::dispatchDidLoadMainResource):
(WebCore::FrameLoaderClientWin::clearLoadingFromPageCache):
(WebCore::FrameLoaderClientWin::isLoadingFromPageCache):
(WebCore::FrameLoaderClientWin::revertToProvisionalState):
(WebCore::FrameLoaderClientWin::clearUnarchivingState):
(WebCore::FrameLoaderClientWin::progressStarted):
(WebCore::FrameLoaderClientWin::progressCompleted):
(WebCore::FrameLoaderClientWin::setMainFrameDocumentReady):
(WebCore::FrameLoaderClientWin::willChangeTitle):
(WebCore::FrameLoaderClientWin::didChangeTitle):
(WebCore::FrameLoaderClientWin::finishedLoading):
(WebCore::FrameLoaderClientWin::finalSetupForReplace):
(WebCore::FrameLoaderClientWin::setDefersLoading):
(WebCore::FrameLoaderClientWin::isArchiveLoadPending):
(WebCore::FrameLoaderClientWin::cancelPendingArchiveLoad):
(WebCore::FrameLoaderClientWin::clearArchivedResources):
(WebCore::FrameLoaderClientWin::canShowMIMEType):
(WebCore::FrameLoaderClientWin::representationExistsForURLScheme):
(WebCore::FrameLoaderClientWin::generatedMIMETypeForURLScheme):
(WebCore::FrameLoaderClientWin::frameLoadCompleted):
(WebCore::FrameLoaderClientWin::restoreScrollPositionAndViewState):
(WebCore::FrameLoaderClientWin::provisionalLoadStarted):
(WebCore::FrameLoaderClientWin::shouldTreatURLAsSameAsCurrent):
(WebCore::FrameLoaderClientWin::addHistoryItemForFragmentScroll):
(WebCore::FrameLoaderClientWin::didFinishLoad):
(WebCore::FrameLoaderClientWin::prepareForDataSourceReplacement):
(WebCore::FrameLoaderClientWin::setTitle):
(WebCore::FrameLoaderClientWin::userAgent):
2006-11-18 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Rob (yay!).
http://bugs.webkit.org/show_bug.cgi?id=11640
XMLHttpRequest produces undefined:undefined HTTP authentication
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
Treat undefined credentials as missing ones.
2006-11-17 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed by Tim H.
http://bugs.webkit.org/show_bug.cgi?id=11638
[CSS 2.1+3] add support for alias, progress, no-drop and not-allowed cursor styles
* Resources/aliasCursor.png: Added.
* Resources/noDropCursor.png: Added.
* Resources/progressCursor.png: Added.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSValueKeywords.in:
* manual-tests/cursor.html:
* page/EventHandler.cpp:
(WebCore::selectCursor):
* platform/Cursor.h:
* platform/mac/CursorMac.mm:
(WebCore::handCursor):
(WebCore::aliasCursor):
(WebCore::progressCursor):
(WebCore::noDropCursor):
* rendering/RenderStyle.h:
(WebCore::):
2006-11-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam.
Properly adjust CFAbsoluteTime to time_t to fix date calculations.
Compare lastModified w/ MAX_TIME_T when setting last modified date
instead of comparing expiration against MAX_TIME_T.
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::getResourceResponse): Add kCFAbsoluteTimeIntervalSince1970 in assignment
2006-11-17 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
More conversions from DeprecatedValueList to Vector and HashSet.
* css/CSSValueList.cpp:
(WebCore::CSSValueList::~CSSValueList):
(WebCore::CSSValueList::append):
(WebCore::CSSValueList::cssText):
* css/CSSValueList.h:
(WebCore::CSSValueList::length):
(WebCore::CSSValueList::item):
* dom/Document.cpp:
(WebCore::Document::attachNodeIterator):
(WebCore::Document::notifyBeforeNodeRemoval):
* dom/Document.h:
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::notifyAttributeChange):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::notifyClientsToRepaint):
* platform/graphics/svg/SVGResource.cpp:
(WebCore::SVGResource::invalidate):
(WebCore::SVGResource::addClient):
* platform/graphics/svg/SVGResource.h:
* rendering/RenderBlock.h:
=== Safari-521.31 ===
2006-11-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Harrison.
<rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
Disable the delete button controller when cloning nodes, Mail does this before saving a draft.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::cloneChildNodes):
* editing/markup.cpp:
(WebCore::createFragmentFromNodes):
2006-11-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4237467> REGRESSION: Pasting word from quoted text quotes the destination
<rdar://problem/4017358> quoted text is wrong color, when pasted as quotation
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode): Added. Checks for the node
that Mail wraps around an incoming fragment when it wants it to be pasted
with quoting (no merging should be done).
(WebCore::ReplaceSelectionCommand::removeNodePreservingChildren): Added
this virtual method in order to adjust the nodes that ReplaceSelectionCommand
tracks.
(WebCore::ReplaceSelectionCommand::shouldMerge): Don't merge from content
inside a Mail Paste as Quotation node. Allow merging from Mail blockquotes.
(WebCore::ReplaceSelectionCommand::removeRedundantStyles): When pasting into
a Mail blockquote, we ignore the parts of the source document's default style
that are overriden by styles from the Mail blockquote. This is necessary in order
for text that's black (because black is the source document's default font color)
to appear blue/green/whatever when it's pasted into a Mail blockquote.
(WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Turn an inserted
Mail Paste as Quotation node into a normal Mail blockquote. This will prevent
a copied blockquote that was inserted into the document using Paste as Quotation
from triggering Paste as Quotation behavior when it's pasted.
(WebCore::ReplaceSelectionCommand::doApply): Call the new/altered methods.
* editing/ReplaceSelectionCommand.h:
* editing/markup.cpp:
(WebCore::styleFromMatchedRulesForElement): Put this code into a subroutine.
(WebCore::removeEnclosingMailBlockquoteStyle): Added.
(WebCore::startMarkup): When wrapping text nodes in style spans, leave out
styles that Mail blockquotes contribute, so that Mail blockquote styles can
be differentiated from styles that the user has applied. When creating markup
for elements, do the same thing.
(WebCore::createMarkup): Call the new subroutine.
2006-11-17 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11635
Bug 11635: Fix potential issue with non-xslt build
Fix the issue and do style guideline corrections.
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ProcessingInstruction::sheetLoaded):
(WebCore::ProcessingInstruction::setCSSStyleSheet):
(WebCore::ProcessingInstruction::setXSLStyleSheet):
(WebCore::ProcessingInstruction::parseStyleSheet):
2006-11-17 Timothy Hatcher <timothy@apple.com>
Reviewed by Harrison.
<rdar://problem/4843131> text entry is slow inside element that has the deletion rectangle around it
Only disable/enable the delete button inside applyCommand() to prevent slowing down typing.
This reintroduces <rdar://problem/4796657> table deletion outline does not always follow the table size as editing occurs inside
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply):
(WebCore::EditCommand::unapply):
(WebCore::EditCommand::reapply):
(WebCore::applyCommand):
* editing/EditCommand.h:
2006-11-17 Zack Rusin <zack@kde.org>
Reviewed by Mitz. Landed by Niko.
Making platform Qt/KDE compile and work after
the latest api changes. Reported as
http://bugs.webkit.org/show_bug.cgi?id=11617
* CMakeLists.txt:
* page/qt/EventHandlerQt.cpp: Added.
(WebCore::isKeyboardOptionTab):
(WebCore::EventHandler::tabsToLinks):
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::freeClipboard):
(WebCore::EventHandler::focusDocumentView):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMouseDownEventToWidget):
(WebCore::EventHandler::lastEventIsMouseUp):
(WebCore::EventHandler::dragHysteresisExceeded):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::handleMouseUp):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::EventHandler::passWheelEventToWidget):
(WebCore::EventHandler::shouldDragAutoNode):
(WebCore::EventHandler::dispatchDragSrcEvent):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::passWheelEventToSubframe):
(WebCore::EventHandler::passMousePressEventToScrollbar):
* platform/ContextMenu.h:
* platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
(WebCore::SVGResourceClipper::applyClip):
* platform/qt/ContextMenuClientQt.cpp: Added.
(WebCore::ContextMenuClientQt::addCustomContextMenuItems):
(WebCore::ContextMenuClientQt::ref):
(WebCore::ContextMenuClientQt::deref):
* platform/qt/ContextMenuClientQt.h: Added.
* platform/qt/ContextMenuQt.cpp: Added.
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::itemCount):
(WebCore::ContextMenu::insertItem):
(WebCore::ContextMenu::setPlatformMenuDescription):
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::selectWordBeforeMenuEvent):
(WebCore::EditorClientQt::isEditable):
(WebCore::EditorClientQt::registerCommandForUndo):
(WebCore::EditorClientQt::registerCommandForRedo):
(WebCore::EditorClientQt::clearUndoRedoOperations):
(WebCore::EditorClientQt::canUndo):
(WebCore::EditorClientQt::canRedo):
(WebCore::EditorClientQt::undo):
(WebCore::EditorClientQt::redo):
* platform/qt/EditorClientQt.h:
* platform/qt/ScrollViewCanvasQt.cpp:
(WebCore::ScrollViewCanvasQt::mousePressEvent):
* platform/qt/TemporaryLinkStubs.cpp:
(FrameView::updateBorder):
2006-11-17 David Harrison <harrison@apple.com>
Reviewed by Adele.
<rdar://problem/4799899> Frame::revealSelection() only scrolls the startContainer's layer
Replace an assert with a fixme that refers to this bug.
* page/Frame.cpp:
(WebCore::Frame::revealSelection):
2006-11-16 Rob Buis <buis@kde.org>
Reviewed and landed by Brady
Fixes http://bugs.webkit.org/show_bug.cgi?id=11590 -
REGRESSION (r17726-r17742): Wikipedia page intermittently loads but doesn't render
Fix the regression by setting m_loadCompleted correctly.
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::checkLoaded):
* dom/Node.h:
(WebCore::Node::sheetLoaded):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::sheetLoaded):
* dom/ProcessingInstruction.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::sheetLoaded):
* html/HTMLLinkElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::sheetLoaded):
* html/HTMLStyleElement.h:
2006-11-16 David Harrison <harrison@apple.com>
Reviewed by Beth.
<rdar://problem/4056100> REGRESSION (Tiger): Deleting top part of reply email leaves fails to clear text at end of message
The problem was triggered by the fact that the parent div was changing both
in position and in height. The renderer normally bifurcates its logic for
x-position changes vs height changes.
Call repaintDuringLayoutIfMoved() with old rect (incl. width and height) instead of just the old position.
Test added:
* manual-tests/delete-into-nested-block.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::positionNewFloats):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintDuringLayoutIfMoved):
* rendering/RenderBox.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::placeChild):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintDuringLayoutIfMoved):
* rendering/RenderObject.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows):
2006-11-16 Adele Peterson <adele@apple.com>
Reviewed by Adam.
Slider cleanup. Let the theme set the size of the slider thumb.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle.
(WebCore::RenderSlider::createThumbStyle):
(WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
* rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize): Added.
* rendering/RenderTheme.h: ditto.
* rendering/RenderThemeMac.h: ditto.
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.
2006-11-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Use Vector instead of DeprecatedValueList in a few places.
* bindings/js/kjs_dom.cpp:
(KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
(KJS::DOMNamedNodesCollection::lengthGetter):
(KJS::DOMNamedNodesCollection::getOwnPropertySlot):
* bindings/js/kjs_dom.h:
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocument::namedItemGetter):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::JSHTMLCollection::getNamedItems):
* bindings/objc/DOM.mm:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::dashboardRegionsDictionary):
* css/CSSStyleDeclaration.cpp:
(WebCore::CSSStyleDeclaration::diff):
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::namedItems):
* html/HTMLCollection.h:
* kcanvas/KCanvasFilters.cpp:
(WebCore::KCanvasFilter::externalRepresentation):
* kcanvas/KCanvasFilters.h:
(WebCore::KCanvasFEColorMatrix::values):
(WebCore::KCanvasFEColorMatrix::setValues):
(WebCore::KCanvasFEConvolveMatrix::kernel):
(WebCore::KCanvasFEConvolveMatrix::setKernel):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::getCIFilterStack):
(WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
* ksvg2/svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::filterEffect):
* platform/graphics/svg/SVGResourceClipper.h:
* platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
(WebCore::SVGResourceClipper::applyClip):
* platform/network/FormData.h:
* rendering/RenderPath.h:
* rendering/SVGRenderTreeAsText.h:
(WebCore::operator<<):
2006-11-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Tim.
* editing/markup.cpp:
(WebCore::createMarkup):
Add null-checks for the frame, it might not exist for all documents.
2006-11-16 Peter Kasting <pkasting@google.com>
Reviewed and landed by ap.
http://bugs.webkit.org/show_bug.cgi?id=11509:
Windows build bustage.
Also reorganizes WebCore.vcproj to add files whose absence wasn't
causing compile errors, but which should have been there, and to
make the include directory ordering (and contents) sane.
Also reorganizes TemporaryLinkStubs.cpp to put headers and
function groups in alphabetical order, and ensure that all functions
in the file call notImplemented().
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/ChromeClientWin.h:
(WebCore::ChromeClientWin::ref):
(WebCore::ChromeClientWin::deref):
* bridge/win/ContextMenuClientWin.h: Added.
(WebCore::ContextMenuClientWin::~ContextMenuClientWin):
(WebCore::ContextMenuClientWin::ref):
(WebCore::ContextMenuClientWin::deref):
* bridge/win/EditorClientWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::~FrameWin):
(WebCore::FrameWin::keyPress):
* bridge/win/FrameWin.h:
* bridge/win/PageWin.cpp: Removed.
* editing/EditCommand.h:
* loader/FormState.h:
* loader/FrameLoader.h:
* page/EventHandler.cpp:
* platform/MimeTypeRegistry.cpp:
(WebCore::initialiseSupportedImageMIMETypes):
* platform/graphics/win/ImageWin.cpp:
* platform/network/ResourceError.cpp:
* platform/network/ResourceHandleInternal.h:
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onHandleCreated):
(WebCore::ResourceHandle::onRequestRedirected):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
* platform/win/ScreenWin.cpp:
(WebCore::monitorInfo):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::screenDepth):
* platform/win/SoundWin.cpp: Added.
(WebCore::systemBeep):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::CheckCacheObjectStatus):
(WebCore::CheckIfReloading):
(WebCore::defaultLanguage):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::findNextSentenceFromIndex):
(WebCore::findNextWordFromIndex):
(WebCore::findSentenceBoundary):
(WebCore::findWordBoundary):
(WebCore::focusRingColor):
(WebCore::historyContains):
(WebCore::inputElementAltText):
(WebCore::IsResponseURLEqualToURL):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
(WebCore::moveCursor):
(WebCore::verticalTextCursor):
(WebCore::refreshPlugins):
(WebCore::resetButtonDefaultLabel):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::ResponseURL):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::searchableIndexIntroduction):
(WebCore::ServeSynchronousRequest):
(WebCore::setFocusRingColorChangeFunction):
(WebCore::submitButtonDefaultLabel):
(WebCore::CachedResource::setPlatformResponse):
(WebCore::CachedResource::setAllData):
(WebCore::ChromeClientWin::setWindowRect):
(WebCore::ChromeClientWin::windowRect):
(WebCore::ChromeClientWin::pageRect):
(WebCore::ChromeClientWin::scaleFactor):
(WebCore::ChromeClientWin::focus):
(WebCore::ChromeClientWin::unfocus):
(WebCore::ChromeClientWin::createWindow):
(WebCore::ChromeClientWin::createModalDialog):
(WebCore::ChromeClientWin::show):
(WebCore::ChromeClientWin::canRunModal):
(WebCore::ChromeClientWin::runModal):
(WebCore::ChromeClientWin::setToolbarsVisible):
(WebCore::ChromeClientWin::toolbarsVisible):
(WebCore::ChromeClientWin::setStatusbarVisible):
(WebCore::ChromeClientWin::statusbarVisible):
(WebCore::ChromeClientWin::setScrollbarsVisible):
(WebCore::ChromeClientWin::scrollbarsVisible):
(WebCore::ChromeClientWin::setMenubarVisible):
(WebCore::ChromeClientWin::menubarVisible):
(WebCore::ChromeClientWin::setResizable):
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenuClientWin::addCustomContextMenuItems):
(WebCore::DocumentLoader::setFrame):
(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::isStopping):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::setLoading):
(WebCore::DocumentLoader::updateLoading):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::stopRecordingResponses):
(WebCore::EditorClientWin::shouldDeleteRange):
(WebCore::EditorClientWin::shouldShowDeleteInterface):
(WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
(WebCore::EditorClientWin::isGrammarCheckingEnabled):
(WebCore::EditorClientWin::spellCheckerDocumentTag):
(WebCore::EventHandler::focusDocumentView):
(WebCore::EventHandler::handleDrag):
(WebCore::EventHandler::handleMouseUp):
(WebCore::EventHandler::lastEventIsMouseUp):
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passMouseMoveEventToSubframe):
(WebCore::EventHandler::passMouseReleaseEventToSubframe):
(WebCore::EventHandler::passWheelEventToSubframe):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::shouldDragAutoNode):
(WebCore::EventHandler::tabsToAllControls):
(WebCore::EventHandler::tabsToLinks):
(WebCore::Frame::setNeedsReapplyStyles):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::overrideMediaType):
(WebCore::FrameLoader::createJavaAppletWidget):
(WebCore::FrameLoader::redirectDataToPlugin):
(WebCore::FrameLoader::getHistoryLength):
(WebCore::FrameLoader::setTitle):
(WebCore::FrameLoader::referrer):
(WebCore::FrameLoader::saveDocumentState):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::goBackOrForward):
(WebCore::FrameLoader::historyURL):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::partClearedInBegin):
(WebCore::FrameLoader::originalRequestURL):
(WebCore::FrameLoader::canGoBackOrForward):
(WebCore::FrameLoader::objectContentType):
(WebCore::FrameLoader::createPlugin):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameView::updateBorder):
(WebCore::FrameWin::bindingRootObject):
(WebCore::FrameWin::canPaste):
(WebCore::FrameWin::issuePasteAndMatchStyleCommand):
(WebCore::FrameWin::markedTextRange):
(WebCore::FrameWin::passSubframeEventToSubframe):
(WebCore::FrameWin::lastEventIsMouseUp):
(WebCore::FrameWin::addMessageToConsole):
(WebCore::FrameWin::shouldChangeSelection):
(WebCore::FrameWin::respondToChangedSelection):
(WebCore::FrameWin::clearUndoRedoOperations):
(WebCore::FrameWin::markMisspellingsInAdjacentWords):
(WebCore::FrameWin::respondToChangedContents):
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::setShadow):
(WebCore::GraphicsContext::clearShadow):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::setLineWidth):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::setCompositeOperation):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::scale):
(WebCore::Icon::Icon):
(WebCore::Icon::~Icon):
(WebCore::Icon::newIconForFile):
(WebCore::Icon::paint):
(WebCore::IconDatabase::isIconExpiredForIconURL):
(WebCore::IconDatabase::hasEntryForIconURL):
(WebCore::IconDatabase::sharedIconDatabase):
(WebCore::IconDatabase::setIconURLForPageURL):
(WebCore::IconDatabase::setIconDataForIconURL):
(WebCore::Image::drawTiled):
(WebCore::Image::getHBITMAP):
(WebCore::Path::Path):
(WebCore::Path::~Path):
(WebCore::Path::contains):
(WebCore::Path::translate):
(WebCore::Path::boundingRect):
(WebCore::Path::operator=):
(WebCore::Path::clear):
(WebCore::Path::moveTo):
(WebCore::Path::addLineTo):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):
(WebCore::Path::addArcTo):
(WebCore::Path::closeSubpath):
(WebCore::Path::addArc):
(WebCore::Path::addRect):
(WebCore::Path::addEllipse):
(WebCore::Path::transform):
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformScrollbar::PlatformScrollbar):
(WebCore::PlatformScrollbar::~PlatformScrollbar):
(WebCore::PlatformScrollbar::width):
(WebCore::PlatformScrollbar::height):
(WebCore::PlatformScrollbar::setEnabled):
(WebCore::PlatformScrollbar::paint):
(WebCore::PlatformScrollbar::updateThumbPosition):
(WebCore::PlatformScrollbar::updateThumbProportion):
(WebCore::PlatformScrollbar::setRect):
(WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
(WebCore::PlugInInfoStore::pluginCount):
(WebCore::PlugInInfoStore::supportsMIMEType):
(WebCore::PolicyCheck::PolicyCheck):
(WebCore::PolicyCheck::clear):
(WebCore::PolicyCheck::clearRequest):
(WebCore::PolicyCheck::call):
(WebCore::RenderThemeWin::systemFont):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::adjustMenuListStyle):
(WebCore::ResourceLoader::cancel):
(WebCore::ScrollView::addChild):
(WebCore::ScrollView::removeChild):
(WebCore::ScrollView::scrollPointRecursively):
(WebCore::ScrollView::inWindow):
(WebCore::ScrollView::paint):
(WebCore::ScrollView::wheelEvent):
(WebCore::ScrollView::themeChanged):
(WebCore::ScrollView::convertChildToSelf):
(WebCore::ScrollView::convertSelfToChild):
(WebCore::ScrollView::geometryChanged):
(WebCore::ScrollView::scrollbarUnderMouse):
(WebCore::ScrollView::setFrameGeometry):
(WebCore::ScrollView::windowResizerRect):
(WebCore::ScrollView::resizerOverlapsContent):
(WebCore::TextField::selectAll):
(WebCore::TextField::addSearchResult):
(WebCore::TextField::selectionStart):
(WebCore::TextField::hasSelectedText):
(WebCore::TextField::selectedText):
(WebCore::TextField::setAutoSaveName):
(WebCore::TextField::checksDescendantsForFocus):
(WebCore::TextField::setSelection):
(WebCore::TextField::setMaxResults):
(WebCore::TextField::edited):
(WebCore::TextField::focusPolicy):
(WebCore::TextField::TextField):
(WebCore::TextField::~TextField):
(WebCore::TextField::setFont):
(WebCore::TextField::setAlignment):
(WebCore::TextField::setWritingDirection):
(WebCore::TextField::maxLength):
(WebCore::TextField::setMaxLength):
(WebCore::TextField::text):
(WebCore::TextField::setText):
(WebCore::TextField::cursorPosition):
(WebCore::TextField::setCursorPosition):
(WebCore::TextField::setEdited):
(WebCore::TextField::setReadOnly):
(WebCore::TextField::setPlaceholderString):
(WebCore::TextField::setColors):
(WebCore::TextField::sizeForCharacterWidth):
(WebCore::TextField::baselinePosition):
(WebCore::TextField::setLiveSearch):
(WebCore::Widget::enableFlushDrawing):
(WebCore::Widget::isEnabled):
(WebCore::Widget::focusPolicy):
(WebCore::Widget::disableFlushDrawing):
(WebCore::Widget::removeFromParent):
(WebCore::Widget::lockDrawingFocus):
(WebCore::Widget::unlockDrawingFocus):
(WebCore::Widget::capturingMouse):
(WebCore::Widget::setCapturingMouse):
(WebCore::Widget::capturingTarget):
(WebCore::Widget::capturingChild):
(WebCore::Widget::setCapturingChild):
(WebCore::Widget::convertChildToSelf):
(WebCore::Widget::convertSelfToChild):
(WebCore::Widget::setParent):
(WebCore::Widget::parent):
(WebCore::Widget::setEnabled):
(WebCore::Widget::paint):
(WebCore::Widget::setIsSelected):
(WebCore::Widget::invalidate):
(WebCore::Widget::invalidateRect):
* platform/win/WidgetWin.cpp:
(WebCore::Widget::clearFocus):
2006-11-16 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
<rdar://problem/4796730> table deletion elements are serialized out if they are visible when innerHTML or a Web Archive is made
* editing/markup.cpp:
(WebCore::createMarkup): disable the delete button so it's elements are not serialized into the markup
2006-11-16 George Staikos <staikos@kde.org>
Rubberstamped by Maciej.
Making the code valgrind clean.
* rendering/RenderTableCell.cpp: initialize variable m_widthChanged
(WebCore::RenderTableCell::RenderTableCell):
* rendering/RenderTableCell.h: remove unused variable nWrap
2006-11-16 David Harrison <harrison@apple.com>
Reviewed by Darin and Tim.
<rdar://problem/4799949> REGRESSION: Crash in FrameMac::eventMayStartDrag() by clicking on a page
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::eventMayStartDrag):
Add nil check of hitTest's result.innerNode().
2006-11-16 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
<rdar://problem/4836897> Deletion rectangle disappears when multiple list items are selected
Consider the container of the selection range for deletion before asking enclosingNodeOfType().
* editing/DeleteButtonController.cpp:
(WebCore::enclosingDeletableElement):
2006-11-16 Rob Buis <buis@kde.org>
Reviewed by hyatt.
Removal of unused m_styleElement.
* dom/Node.cpp:
(WebCore::Node::Node):
(WebCore::Node::dump):
* dom/Node.h:
(WebCore::Node::isLink): should be styleElement, a bug?
2006-11-15 Adam Roben <aroben@apple.com>
Build fix.
Rename the items in the ContextMenuAction enum so that they don't
conflict with WebKit names.
* WebCore.xcodeproj/project.pbxproj:
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate):
* platform/ContextMenu.h:
(WebCore::):
(WebCore::ContextMenuItem::ContextMenuItem):
2006-11-15 Adam Roben <aroben@apple.com>
Reviewed by Anders.
Change m_contextMenu to an OwnPtr.
* WebCore.xcodeproj/project.pbxproj:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
* page/ContextMenuController.h:
2006-11-15 Adam Roben <aroben@apple.com>
Reviewed by Anders.
Add new ContextMenuController and ContextMenuClient classes, and move
context menu responsibilities from Chrome and ChromeClient to them.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj: Add new files to project, and
alphabetize some others.
* page/Chrome.cpp: Remove context menu-related code.
* page/Chrome.h: Ditto.
* page/ChromeClient.h:
* page/ContextMenuClient.h: Added.
* page/ContextMenuController.cpp: Added.
(WebCore::ContextMenuController::ContextMenuController):
(WebCore::ContextMenuController::~ContextMenuController):
(WebCore::ContextMenuController::handleContextMenuEvent):
(WebCore::ContextMenuController::contextMenuActionSelected):
* page/ContextMenuController.h: Added.
(WebCore::ContextMenuController::client):
* page/Page.cpp: Every Page now has a ContextMenuController.
(WebCore::Page::Page):
* page/Page.h: Made m_dragCaretController and m_chrome objects instead
of pointers to objects.
(WebCore::Page::contextMenuController):
* platform/ContextMenu.cpp:
(WebCore::ContextMenu::populate): Removed the call to Chrome to ask the
delegate to add its menu items, and moved the code from the static
addDefaultItems function into this method.
* platform/ContextMenu.h:
(WebCore::ContextMenu::show): Added an empty method body since this
method is now called from ContextMenuController (although no one calls
into ContextMenuController yet, so it's OK for this to be empty).
(WebCore::ContextMenu::hide): Ditto.
2006-11-15 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Add null checks on the node filter, they can be null if no filter was passed to the respective
create functions.
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::mark):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::mark):
2006-11-15 Oliver Hunt <oliver@apple.com>
Reviewed by Anders.
Allow <embed> and <object> tags to include non-plugin
content when plugins are disabled
Fixes <rdar://problems/4839488>
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::rendererIsNeeded):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::rendererIsNeeded):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::requestObject):
2006-11-15 Adele Peterson <adele@apple.com>
Build fix. Another type problem that I don't see locally.
* rendering/RenderSlider.cpp: (WebCore::RenderSlider::setPositionFromValue):
2006-11-15 Adele Peterson <adele@apple.com>
Reviewed by Adam.
Adding MathExtras header.
* rendering/RenderSlider.cpp:
2006-11-15 Timothy Hatcher <timothy@apple.com>
Reviewed by Harrison.
<rdar://problem/4832894> Crash deleting an element inside a list while deletion rectangle is visible (compareBoundaryPoints)
* Disable and hide the deletion UI for each editing command. This prevents editing commands from being affected
by the deletion UI elements we insert. The deletion UI is then shown after the editing commands are completely done.
* Multiple calls to DeleteButtonController's disable() needed to be paired with the same number of enable() calls before
the deletion UI is enabled again. This allows for nested editing commands to be called without thrashing the deletion UI.
* Make sure the the renderers are currently reflecting the latest style changes, so call updateLayoutIgnorePendingStylesheets().
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::DeleteButtonController):
(WebCore::isDeletableElement):
(WebCore::DeleteButtonController::respondToChangedSelection): check the enabled state
(WebCore::DeleteButtonController::respondToChangedContents): check the enabled state
(WebCore::DeleteButtonController::show): call isDeletableElement() to make sure the element is allowed
(WebCore::DeleteButtonController::deleteTarget): check the enabled state
* editing/DeleteButtonController.h:
(WebCore::DeleteButtonController::disable):
(WebCore::DeleteButtonController::enable):
(WebCore::DeleteButtonController::enabled):
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply): hide and disable the deletion UI, then show at the end
(WebCore::EditCommand::unapply): ditto
(WebCore::EditCommand::reapply): ditto
2006-11-15 Adele Peterson <adele@apple.com>
Reviewed by Adam.
New implementation of slider control.
* WebCore.xcodeproj/project.pbxproj: Removed DeprecatedSlider and Slider classes, added RenderSlider class.
* rendering/DeprecatedSlider.cpp: Removed.
* rendering/DeprecatedSlider.h: Removed.
* platform/Slider.h: Removed.
* platform/mac/SliderMac.mm: Removed.
* platform/win/TemporaryLinkStubs.cpp:
* css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoElement for thumb, PseudoSliderThumb.
* css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added code for "-webkit-slider-thumb".
* css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector):
* rendering/RenderStyle.cpp:
(WebCore::):
(WebCore::pseudoBit):
* rendering/RenderStyle.h: (WebCore::RenderStyle::):
* css/html4.css: Added style for input[type="range"] and input[type="range"]::-webkit-slider-thumb
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createRenderer): Create RenderSlider for input type="range" elements.
(WebCore::HTMLInputElement::defaultEventHandler): Allow the renderer to forward events, and set thumb position when click occurs on the track.
* page/EventHandler.cpp: Added concept of a node that will capture all mouse events. This will be used by the slider thumb, so it can
continue to capture mouse move events during the drag, even though those events aren't directly over the slider.
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::setCapturingMouseEventsNode):
(WebCore::EventHandler::dispatchMouseEvent): If the capturingMouseEventsNode is set, then dispatch all mouse events to that node.
* page/EventHandler.h:
* rendering/RenderSlider.cpp: Added.
(WebCore::HTMLSliderThumbElement::isShadowNode):
(WebCore::HTMLSliderThumbElement::shadowParentNode):
(WebCore::HTMLSliderThumbElement::inDragMode): Keeps track of whether or not the thumb is in drag mode.
(WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
(WebCore::HTMLSliderThumbElement::defaultEventHandler): Handles positioning of slider thumb during drag.
(WebCore::RenderSlider::RenderSlider):
(WebCore::RenderSlider::~RenderSlider):
(WebCore::RenderSlider::baselinePosition):
(WebCore::RenderSlider::calcMinMaxWidth):
(WebCore::RenderSlider::setStyle):
(WebCore::RenderSlider::createThumbStyle):
(WebCore::RenderSlider::layout): Positions the thumb to be centered on the track.
(WebCore::RenderSlider::updateFromElement):
(WebCore::RenderSlider::mouseEventIsInThumb):
(WebCore::RenderSlider::setValueForPosition):
(WebCore::RenderSlider::setPositionFromValue):
(WebCore::RenderSlider::positionForOffset):
(WebCore::RenderSlider::valueChanged):
(WebCore::RenderSlider::currentPosition):
(WebCore::RenderSlider::setCurrentPosition):
(WebCore::RenderSlider::trackSize):
(WebCore::RenderSlider::forwardEvent):
(WebCore::RenderSlider::inDragMode):
* rendering/RenderSlider.h: Added.
(WebCore::RenderSlider::renderName):
* rendering/RenderTheme.cpp: Added drawing code for slider track and thumb.
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::adjustSliderTrackStyle):
(WebCore::RenderTheme::adjustSliderThumbStyle):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::TrackGradientInterpolate):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::adjustSliderTrackStyle):
(WebCore::RenderThemeMac::adjustSliderThumbStyle):
2006-11-15 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Oops! Forgot to add this!
* platform/mac/ContextMenuMac.mm: Added.
(-[MenuTarget forwardContextMenuAction:initWithContextMenu:WebCore::]):
(-[MenuTarget WebCore::]):
(-[MenuTarget setMenu:WebCore::]):
(-[MenuTarget forwardContextMenuAction:]):
(getNSMenuItem):
(ContextMenu::appendItem):
(ContextMenu::itemCount):
(ContextMenu::insertItem):
(ContextMenu::setPlatformMenuDescription):
2006-11-15 Beth Dakin <bdakin@apple.com>
& Adam Roben <aroben@apple.com>
Reviewed by Adam and Beth.
Initial cut at pushing Context Menus into WebCore. Nobody actually
calls this code just yet.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* page/Chrome.cpp:
(WebCore::Chrome::addCustomContextMenuItems): Use the chrome to
call into addContextMenuItems on the UIDelegate.
* page/Chrome.h:
* page/ChromeClient.h:
* platform/ContextMenu.cpp: Added.
(WebCore::addDefaultItems):
(WebCore::ContextMenu::populate):
* platform/ContextMenu.h: Added.
(WebCore::):
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenu::ContextMenu):
(WebCore::ContextMenu::hitTestResult):
(WebCore::ContextMenu::platformMenuDescription):
2006-11-15 Adele Peterson <adele@apple.com>
Reviewed by Hyatt.
- Fix for <rdar://problem/4780306> REGRESSION: clicking in textarea does not set selection at PunBB.org
* css/html4.css: Removed "-webkit-user-select: ignore" for labels.
2006-11-15 David Harrison <harrison@apple.com>
Reviewed by Darin.
<rdar://problem/4836034> REGRESSION: Hang while spell-checking (advanceToNextMisspelling)
Test:
* manual-tests/keep_spelling_markers.html:
Updated to include checking for this bug.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
it.advance() even when current string is a single space.
2006-11-15 Brady Eidson <beidson@apple.com>
Reviewed by lamadio
Backing out macro expansion
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isRecognizedTagName):
* ksvg2/scripts/make_names.pl:
2006-11-15 David Harrison <harrison@apple.com>
Reviewed by Darin.
<rdar://problem/4770453> VO not honoring secure edit fields in web pages
The remaining problem was the password fields would return their contents
even though they did not advertise that they could. Apparently, VoiceOver
does not read the ads.
* bridge/mac/WebCoreAXObject.mm:
(isPasswordFieldElement):
(-[WebCoreAXObject isPasswordField]):
(-[WebCoreAXObject textMarkerForVisiblePosition:]):
(-[WebCoreAXObject accessibilityAttributeValue:]):
(-[WebCoreAXObject doAXStringForRange:]):
2006-11-13 Lou Amadio <lamadio@apple.com>
Reviewed by Darin Adler, Maciej Stachowiak
Cleanup: Expanded macros in generated files
* html/HTMLElement.cpp:
(WebCore::HTMLElement::isRecognizedTagName):
* ksvg2/scripts/make_names.pl:
2006-11-16 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
Use Vector instead of DeprecatedPtrList.
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyBlockStyle):
* editing/BreakBlockquoteCommand.cpp:
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::paintOutline):
2006-11-15 Adam Roben <aroben@apple.com>
Build fix.
* page/EventHandler.h:
2006-11-14 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Move things off the bridge, and move sendContextMenuEvent() from
EventHandlerMac to EventHandler.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/EditorClient.h:
* bridge/mac/WebCoreFrameBridge.h:
* editing/Editor.cpp:
(WebCore::Editor::selectWordBeforeMenuEvent):
(WebCore::Editor::clientIsEditable):
* editing/Editor.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent):
* page/EventHandler.h:
* page/mac/EventHandlerMac.mm:
2006-11-14 Timothy Hatcher <timothy@apple.com>
Reviewed by Harrison.
<rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
Adds an EditableLinkNeverLive setting that will make links in editable areas always dead.
* bridge/mac/WebCoreSettings.mm:
(-[WebCoreSettings setEditableLinkBehavior:]):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::setActive):
(WebCore::HTMLAnchorElement::isLiveLink):
* page/FrameView.cpp:
(WebCore::selectCursor):
* page/Settings.h:
(WebCore::Settings::):
2006-11-14 Mark Rowe <bdash@webkit.org>
Reviewed by Oliver.
Build fix
* bindings/scripts/CodeGenerator.pm:
2006-11-14 Anders Carlsson <acarlsson@apple.com>
Turns out I wasn't forcing DWARF on the world at all,
it's now the default!
* WebCore.xcodeproj/project.pbxproj:
2006-11-14 Anders Carlsson <acarlsson@apple.com>
I must stop trying to force DWARF on the world.
* WebCore.xcodeproj/project.pbxproj:
2006-11-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4806874>
Missing background image after paste
* editing/markup.cpp:
(WebCore::createMarkup): If the body is fully selected, add a
div with its CSS properties to the markup. Migrated a use of
enclosingBlockFlowElement to enclosingBlock to fix an infinite
loop when pasting <div><input></div>.
2006-11-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
Add Undo/Redo to execCommand.
* editing/Editor.cpp:
(WebCore::execRedo):
(WebCore::execUndo):
(WebCore::canRedo):
(WebCore::canUndo):
(WebCore::CommandEntry::):
2006-11-14 Darin Adler <darin@apple.com>
Reviewed by Anders.
- created EventHandler class, moved event handling code from both
Frame and FrameView in there
- added ScrollTypes.h header so you can include the scroller-related
enums without all of Scrollbar.h
* page/EventHandler.cpp: Added.
* page/EventHandler.h: Added.
* page/mac/EventHandlerMac.mm: Added.
* platform/ScrollBarMode.h: Removed.
* platform/ScrollTypes.h: Added.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac):
(WebCore::FrameMac::~FrameMac):
(WebCore::FrameMac::bridgeForWidget):
(WebCore::FrameMac::imageFromRect):
* bridge/mac/FrameViewMac.mm:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge scrollOverflowInDirection:granularity:]):
(-[WebCoreFrameBridge nextKeyView]):
(-[WebCoreFrameBridge previousKeyView]):
(-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
(-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
(-[WebCoreFrameBridge _visiblePositionForPoint:]):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
(-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
(-[WebCoreFrameBridge dragSourceMovedTo:]):
(-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
* dom/Document.cpp:
(WebCore::Document::hoveredNodeDetached):
* dom/Element.h:
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::defaultEventHandler):
* editing/SelectionController.cpp:
(WebCore::SelectionController::SelectionController):
* editing/SelectionController.h:
(WebCore::SelectionController::setCaretBlinkingSuspended):
(WebCore::SelectionController::isCaretBlinkingSuspended):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::setFocus):
* html/HTMLFrameElementBase.h:
* html/HTMLGenericFormElement.cpp:
(WebCore::HTMLGenericFormElement::isKeyboardFocusable):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::open):
* page/Frame.cpp:
(WebCore::Frame::caretBlinkTimerFired):
(WebCore::Frame::frameForWidget):
(WebCore::Frame::eventHandler):
(WebCore::Frame::setProhibitsScrolling):
(WebCore::FramePrivate::FramePrivate):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameView.cpp:
(WebCore::FrameViewPrivate::FrameViewPrivate):
(WebCore::FrameViewPrivate::reset):
(WebCore::FrameView::FrameView):
(WebCore::FrameView::~FrameView):
(WebCore::FrameView::clear):
(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::addRepaintInfo):
(WebCore::FrameView::layout):
(WebCore::FrameView::scrollPointRecursively):
(WebCore::FrameView::setContentsPos):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::scheduleEvent):
(WebCore::FrameView::updateOverflowStatus):
(WebCore::FrameView::dispatchScheduledEvents):
(WebCore::FrameView::windowClipRectForLayer):
(WebCore::FrameView::handleMouseMoveEvent):
(WebCore::FrameView::handleMouseReleaseEvent):
* page/FrameView.h:
* page/PageState.cpp:
(WebCore::PageState::PageState):
(WebCore::PageState::restore):
* page/PageState.h:
* platform/ScrollBar.h:
* platform/ScrollView.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::show):
* platform/mac/SliderMac.mm:
(-[WebCoreSlider becomeFirstResponder]):
(-[WebCoreSlider nextKeyView]):
(-[WebCoreSlider previousKeyView]):
(-[WebCoreSlider canBecomeKeyView]):
(Slider::focusPolicy):
* platform/mac/WebCoreTextField.mm:
(-[WebCoreTextFieldController textView:shouldHandleEvent:]):
(-[WebCoreTextFieldController setHasFocus:]):
(-[WebCoreSearchField nextKeyView]):
(-[WebCoreSearchField previousKeyView]):
(-[WebCoreSearchFieldCell _addStringToRecentSearches:]):
* platform/mac/WidgetMac.mm:
(WebCore::Widget::hasFocus):
(WebCore::Widget::clearFocus):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::setResizing):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::updateOverflowStatus):
* rendering/RenderLayer.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::autoscroll):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::draggableNode):
(WebCore::RenderObject::destroy):
* rendering/RenderObject.h:
(WebCore::RenderObject::RepaintInfo::RepaintInfo):
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::viewCleared):
2006-11-14 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
Let the editor client handle undo/redo.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/EditorClient.h:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::canUndo):
(WebCore::FrameMac::canRedo):
* bridge/mac/WebCoreEditCommand.h: Removed.
* bridge/mac/WebCoreEditCommand.mm: Removed.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
* editing/JSEditor.cpp:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeURL):
* page/Frame.cpp:
* page/Frame.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::updateFromElement):
2006-11-14 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Brady
Fix Qt/Linux build.
* ChangeLog:
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::submitForm):
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::add):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::submitForm):
* platform/qt/FrameQtClient.h:
2006-11-14 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Cleanup of my patch last night and merging with aroben-style changes from this morning
(More ref-counted FormData stuff)
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::postData):
* platform/network/ResourceHandle.h:
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody):
* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::getStreamFormDatas):
(WebCore::formCreate):
(WebCore::formFinalize):
(WebCore::setHTTPBody):
(WebCore::httpBodyFromStream):
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::getResourceRequest):
2006-11-14 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11575
Bug 11575: REGRESSION: WebCore crash in CSSParser/HTMLTokenizer
Test: fast/css/css-imports.html
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
Fix the crash by testing for null pointer.
2006-11-14 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Tim H.
Test for http://bugs.webkit.org/show_bug.cgi?id=3387
Redundant keydown, keypress, keyup events sent for arrow keys
* manual-tests/arrow-key-events.html: Added.
2006-11-14 Darin Adler <darin@apple.com>
Reviewed by Adam.
Fix up usages of FormData within CFNet loader code.
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::httpBody):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::getStreamFormDatas): Store RefPtr<FormData>s in the
streamFormDatas HashMap.
(WebCore::formCreate):
(WebCore::formFinalize): Removed delete because the remove() will deref
and delete if necessary.
(WebCore::setHTTPBody): Changed parameter to PassRefPtr.
(WebCore::httpBodyFromStream):
* platform/network/cf/FormDataStreamCFNet.h: Fix declarations.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::getResourceRequest):
2006-11-14 Greg Jackson <gjspanner@gmail.com>
Reviewed by Darin.
Preserves any pre-existing value for WEBCORE_NAVIGATOR_PLATFORM
rather than overriding it based on platform detection.
* bindings/js/kjs_navigator.cpp:
2006-11-13 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Made FormData Shared, and pass it around as such.
* WebCore.xcodeproj/project.pbxproj: Reordered some items
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formData):
(WebCore::HTMLFormElement::submit):
* html/HTMLFormElement.h:
* loader/FrameLoader.cpp:
(WebCore::FormSubmission::FormSubmission):
(WebCore::FrameLoader::submitForm):
* loader/FrameLoader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::create):
* platform/network/FormData.h: Made FormData shared
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::postData):
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::httpBody):
(WebCore::ResourceRequest::setHTTPBody):
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::getResourceRequest):
(WebCore::nsURLRequest):
* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
(WebCore::getStreamFormDatas): Hash Streams to RefPtr<FormData>s
(WebCore::formCreate):
(WebCore::formFinalize):
(WebCore::setHTTPBody):
(WebCore::httpBodyFromStream):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-11-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4828264>
In Mail, a crash occurs at WebCore::Selection::toRange() when selecting this web content (http://www.cnet.com/)
The start of the selection is in an editable area, and the end is in an
input field inside that editable area. The code that should pull the end
of such a selection outside the input field didn't escape shadow nodes,
it would leave a dangling end, causing the crash in toRange.
* editing/Selection.cpp:
(WebCore::Selection::adjustForEditableContent): Added an ASSERT and a fixup
to prevent crashes like this in future Release builds.
* editing/htmlediting.cpp:
(WebCore::firstEditablePositionAfterPositionInRoot): Let this function
escape shadow nodes. We might eventually push this code down into
next/previous{VisuallyDistinct}Canditate.
(WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
2006-11-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
* editing/Editor.h:
(WebCore::Editor::setRemovedAnchor): Pass a PassRefPtr.
2006-11-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver
<rdar://problem/4820026>
copy/paste of news.google.com yields text from hidden select element options
We were adding descendants of unrendered select elements.
* editing/markup.cpp:
(WebCore::createMarkup): Don't traverse into nodes without renderers, unless
they are grandfathered in by a rendered select element.
2006-11-12 Simon Hausmann <hausmann@kde.org>
Reviewed by Sam Weinig.
Fix Qt build. Missing AbstractShared implementation.
http://bugs.webkit.org/show_bug.cgi?id=11581
* loader/qt/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::ref):
(WebCore::FrameLoaderClientQt::deref):
* loader/qt/FrameLoaderClientQt.h:
* platform/qt/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::ref):
(WebCore::ChromeClientQt::deref):
* platform/qt/ChromeClientQt.h:
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::ref):
(WebCore::EditorClientQt::deref):
* platform/qt/EditorClientQt.h:
2006-11-13 Mark Rowe <bdash@webkit.org>
Reviewed by Mitz.
Fix some Linux/Gdk build issues noted by Alp Toker.
* Projects/gdk/webcore-gdk.bkl:
* WebCoreSources.bkl:
* platform/graphics/gdk/ImageGdk.cpp:
(WebCore::Image::loadPlatformResource):
2006-11-12 Brady Eidson <beidson@apple.com>
Reviewed by Anders
Logging channel plumbing for future work
* platform/Logging.cpp:
(WebCore::):
* platform/Logging.h:
* platform/mac/LoggingMac.mm:
(WebCore::InitializeLoggingChannelsIfNecessary):
2006-11-12 Mark Rowe <bdash@webkit.org>
Reviewed by Mitz.
Linux/Gdk compilation fixes, and bakefile cleanups. Based on patches by
Alp Toker.
* Projects/gdk/webcore-gdk.bkl:
* WebCoreSources.bkl:
* page/PageState.cpp:
* platform/gdk/ChromeClientGdk.h:
(WebCore::ChromeClientGdk::ref):
(WebCore::ChromeClientGdk::deref):
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdkClientDefault::openURL):
(WebCore::FrameGdkClientDefault::didReceiveData):
(WebCore::FrameGdkClientDefault::receivedAllData):
(WebCore::FrameGdk::FrameGdk):
(WebCore::FrameGdk::~FrameGdk):
* platform/gdk/FrameGdk.h:
* platform/gdk/KeyEventGdk.cpp:
(WebCore::keyIdentifierForGdkKeyCode):
* platform/gdk/ScreenClientGdk.h: Removed.
* platform/gdk/TemporaryLinkStubs.cpp:
(FrameGdk::canPaste):
(FrameGdk::originalRequestURL):
(TextField::TextField):
* platform/network/gdk/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* webcore-base.bkl:
2006-11-11 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
- Fixed loader crash by clarifying ownership of WebKit client objects.
WebCore objects own their WebKit clients, and ref and deref through
virtual methods, leaving WebKit free to use whatever client / reference-counting
implementation it likes.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/EditorClient.h: Fixed up function prototypes for style.
* loader/FrameLoader.cpp: Removed detachFrameLoader, since its real purpose
was to implement an alternative ownership model.
(WebCore::FrameLoader::~FrameLoader): Removed empty destructor.
(WebCore::FrameLoader::setClient): This function now takes ownership
(WebCore::FrameLoader::client):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* page/ChromeClient.h:
* platform/AbstractShared.h: Added. This is the virtual function-based refcounting
complement to Shared.
(WebCore::AbstractShared::~AbstractShared):
2006-11-11 George Staikos <staikos@kde.org>
Reviewed by Maciej.
Fix uninitialized variable.
* rendering/RenderStyle.h:
2006-11-11 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed/landed by Adam.
Complete cleanup of the CMakeLists.txt.
Now all files to be built are sorted in alphabetic order.
General style cleanup, remove all tabs etc.
* CMakeLists.txt:
2006-11-11 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej Stachowiak.
Added missing initializer to ResourceRequest -- fixes some loader crashes
due to assuming a request always has a non-null httpMethod.
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
2006-11-11 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Fixed header guard
* loader/FrameLoaderClient.h:
2006-11-11 Darin Adler <darin@apple.com>
- attempt to fix Qt build
* platform/qt/CursorQt.cpp:
(WebCore::verticalTextCursor): Added. Just returns pointer cursor.
(WebCore::cellCursor): Ditto.
(WebCore::contextMenuCursor): Ditto.
2006-11-11 Rob Buis <buis@kde.org>
Reviewed by hyatt.
http://bugs.webkit.org/show_bug.cgi?id=10893
InsertRule can not handle @import statements
Allow @import as part of a css rule.
* css/CSSGrammar.y:
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::checkLoaded):
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::loadCompleted):
2006-11-11 Alexey Proskuryakov <ap@webkit.org>
Attempt to fix Qt build.
* CMakeLists.txt: PathQt.cpp is in graphics/qt now.
2006-11-11 Lars Naesbye Christensen <lars@naesbye.dk>
Tortured by Sam Weinig, Tim H., Maciej, Mitz and Alexey :-)
[CSS 3] support for vertical-text, cell and context-menu cursors
http://bugs.webkit.org/show_bug.cgi?id=11494
* Resources/cellCursor.png: Added.
* Resources/contextMenuCursor.png: Added.
* Resources/verticalTextCursor.png: Added.
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSValueKeywords.in:
* manual-tests/cursor.html:
* page/FrameView.cpp:
(WebCore::selectCursor):
* platform/Cursor.h:
* platform/mac/CursorMac.mm:
(WebCore::verticalTextCursor):
(WebCore::cellCursor):
(WebCore::contextMenuCursor):
* rendering/RenderStyle.h:
(WebCore::):
2006-11-11 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by aroben and ap, landed by ap.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11468
Group graphics related files in platform/graphics.
Move certain files from certain subdirectories
into platform/graphics/{win,mac,cg,gdk,qt}
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/AffineTransform.cpp: Removed.
* platform/AffineTransform.h: Removed.
* platform/Color.cpp: Removed.
* platform/Color.h: Removed.
* platform/FloatPoint.cpp: Removed.
* platform/FloatPoint.h: Removed.
* platform/FloatRect.cpp: Removed.
* platform/FloatRect.h: Removed.
* platform/FloatSize.cpp: Removed.
* platform/FloatSize.h: Removed.
* platform/Icon.h: Removed.
* platform/Image.cpp: Removed.
* platform/Image.h: Removed.
* platform/ImageSource.h: Removed.
* platform/IntPoint.h: Removed.
* platform/IntRect.cpp: Removed.
* platform/IntRect.h: Removed.
* platform/IntSize.h: Removed.
* platform/IntSizeHash.h: Removed.
* platform/Path.cpp: Removed.
* platform/Path.h: Removed.
* platform/Pen.cpp: Removed.
* platform/Pen.h: Removed.
* platform/cairo/AffineTransformCairo.cpp: Removed.
* platform/cairo/GraphicsContextCairo.cpp: Removed.
* platform/cairo/ImageCairo.cpp: Removed.
* platform/cairo/ImageSourceCairo.cpp: Removed.
* platform/cairo/cairo/AUTHORS: Removed.
* platform/cairo/cairo/COPYING: Removed.
* platform/cairo/cairo/COPYING-LGPL-2.1: Removed.
* platform/cairo/cairo/COPYING-MPL-1.1: Removed.
* platform/cairo/cairo/INSTALL: Removed.
* platform/cairo/cairo/NEWS: Removed.
* platform/cairo/cairo/README: Removed.
* platform/cairo/cairo/TODO: Removed.
* platform/cairo/cairo/src/Makefile.in: Removed.
* platform/cairo/cairo/src/cairo-arc-private.h: Removed.
* platform/cairo/cairo/src/cairo-arc.c: Removed.
* platform/cairo/cairo/src/cairo-array.c: Removed.
* platform/cairo/cairo/src/cairo-atsui-font.c: Removed.
* platform/cairo/cairo/src/cairo-atsui.h: Removed.
* platform/cairo/cairo/src/cairo-beos-surface.cpp: Removed.
* platform/cairo/cairo/src/cairo-beos.h: Removed.
* platform/cairo/cairo/src/cairo-cache-private.h: Removed.
* platform/cairo/cairo/src/cairo-cache.c: Removed.
* platform/cairo/cairo/src/cairo-clip-private.h: Removed.
* platform/cairo/cairo/src/cairo-clip.c: Removed.
* platform/cairo/cairo/src/cairo-color.c: Removed.
* platform/cairo/cairo/src/cairo-debug.c: Removed.
* platform/cairo/cairo/src/cairo-debug.h: Removed.
* platform/cairo/cairo/src/cairo-directfb-surface.c: Removed.
* platform/cairo/cairo/src/cairo-directfb.h: Removed.
* platform/cairo/cairo/src/cairo-features.h: Removed.
* platform/cairo/cairo/src/cairo-features.h.in: Removed.
* platform/cairo/cairo/src/cairo-fixed.c: Removed.
* platform/cairo/cairo/src/cairo-font-options.c: Removed.
* platform/cairo/cairo/src/cairo-font-subset-private.h: Removed.
* platform/cairo/cairo/src/cairo-font-subset.c: Removed.
* platform/cairo/cairo/src/cairo-font.c: Removed.
* platform/cairo/cairo/src/cairo-ft-font.c: Removed.
* platform/cairo/cairo/src/cairo-ft-private.h: Removed.
* platform/cairo/cairo/src/cairo-ft.h: Removed.
* platform/cairo/cairo/src/cairo-glitz-surface.c: Removed.
* platform/cairo/cairo/src/cairo-glitz.h: Removed.
* platform/cairo/cairo/src/cairo-gstate-private.h: Removed.
* platform/cairo/cairo/src/cairo-gstate.c: Removed.
* platform/cairo/cairo/src/cairo-hash-private.h: Removed.
* platform/cairo/cairo/src/cairo-hash.c: Removed.
* platform/cairo/cairo/src/cairo-hull.c: Removed.
* platform/cairo/cairo/src/cairo-image-surface.c: Removed.
* platform/cairo/cairo/src/cairo-matrix.c: Removed.
* platform/cairo/cairo/src/cairo-meta-surface-private.h: Removed.
* platform/cairo/cairo/src/cairo-meta-surface.c: Removed.
* platform/cairo/cairo/src/cairo-output-stream.c: Removed.
* platform/cairo/cairo/src/cairo-paginated-surface-private.h: Removed.
* platform/cairo/cairo/src/cairo-paginated-surface.c: Removed.
* platform/cairo/cairo/src/cairo-path-bounds.c: Removed.
* platform/cairo/cairo/src/cairo-path-data-private.h: Removed.
* platform/cairo/cairo/src/cairo-path-data.c: Removed.
* platform/cairo/cairo/src/cairo-path-fill.c: Removed.
* platform/cairo/cairo/src/cairo-path-fixed-private.h: Removed.
* platform/cairo/cairo/src/cairo-path-stroke.c: Removed.
* platform/cairo/cairo/src/cairo-path.c: Removed.
* platform/cairo/cairo/src/cairo-pattern.c: Removed.
* platform/cairo/cairo/src/cairo-pdf-surface.c: Removed.
* platform/cairo/cairo/src/cairo-pdf.h: Removed.
* platform/cairo/cairo/src/cairo-pen.c: Removed.
* platform/cairo/cairo/src/cairo-platform.h: Removed.
* platform/cairo/cairo/src/cairo-png.c: Removed.
* platform/cairo/cairo/src/cairo-polygon.c: Removed.
* platform/cairo/cairo/src/cairo-private.h: Removed.
* platform/cairo/cairo/src/cairo-ps-surface.c: Removed.
* platform/cairo/cairo/src/cairo-ps.h: Removed.
* platform/cairo/cairo/src/cairo-quartz-private.h: Removed.
* platform/cairo/cairo/src/cairo-quartz-surface.c: Removed.
* platform/cairo/cairo/src/cairo-quartz.h: Removed.
* platform/cairo/cairo/src/cairo-quartz2-surface.c: Removed.
* platform/cairo/cairo/src/cairo-quartz2.h: Removed.
* platform/cairo/cairo/src/cairo-region.c: Removed.
* platform/cairo/cairo/src/cairo-scaled-font.c: Removed.
* platform/cairo/cairo/src/cairo-slope.c: Removed.
* platform/cairo/cairo/src/cairo-spline.c: Removed.
* platform/cairo/cairo/src/cairo-stroke-style.c: Removed.
* platform/cairo/cairo/src/cairo-surface-fallback-private.h: Removed.
* platform/cairo/cairo/src/cairo-surface-fallback.c: Removed.
* platform/cairo/cairo/src/cairo-surface.c: Removed.
* platform/cairo/cairo/src/cairo-svg-surface.c: Removed.
* platform/cairo/cairo/src/cairo-svg.h: Removed.
* platform/cairo/cairo/src/cairo-traps.c: Removed.
* platform/cairo/cairo/src/cairo-unicode.c: Removed.
* platform/cairo/cairo/src/cairo-wideint.c: Removed.
* platform/cairo/cairo/src/cairo-wideint.h: Removed.
* platform/cairo/cairo/src/cairo-win32-font.c: Removed.
* platform/cairo/cairo/src/cairo-win32-private.h: Removed.
* platform/cairo/cairo/src/cairo-win32-surface.c: Removed.
* platform/cairo/cairo/src/cairo-win32.h: Removed.
* platform/cairo/cairo/src/cairo-xcb-surface.c: Removed.
* platform/cairo/cairo/src/cairo-xcb-xrender.h: Removed.
* platform/cairo/cairo/src/cairo-xcb.h: Removed.
* platform/cairo/cairo/src/cairo-xlib-private.h: Removed.
* platform/cairo/cairo/src/cairo-xlib-screen.c: Removed.
* platform/cairo/cairo/src/cairo-xlib-surface.c: Removed.
* platform/cairo/cairo/src/cairo-xlib-test.h: Removed.
* platform/cairo/cairo/src/cairo-xlib-xrender.h: Removed.
* platform/cairo/cairo/src/cairo-xlib.h: Removed.
* platform/cairo/cairo/src/cairo.c: Removed.
* platform/cairo/cairo/src/cairo.h: Removed.
* platform/cairo/cairo/src/cairoint.h: Removed.
* platform/cairo/cairo/src/test-fallback-surface.c: Removed.
* platform/cairo/cairo/src/test-fallback-surface.h: Removed.
* platform/cairo/cairo/src/test-meta-surface.c: Removed.
* platform/cairo/cairo/src/test-meta-surface.h: Removed.
* platform/cairo/cairo/src/test-paginated-surface.c: Removed.
* platform/cairo/cairo/src/test-paginated-surface.h: Removed.
* platform/cairo/pixman/AUTHORS: Removed.
* platform/cairo/pixman/COPYING: Removed.
* platform/cairo/pixman/README: Removed.
* platform/cairo/pixman/src/Makefile.in: Removed.
* platform/cairo/pixman/src/fbcompose.c: Removed.
* platform/cairo/pixman/src/fbedge.c: Removed.
* platform/cairo/pixman/src/fbedgeimp.h: Removed.
* platform/cairo/pixman/src/fbmmx.c: Removed.
* platform/cairo/pixman/src/fbmmx.h: Removed.
* platform/cairo/pixman/src/fbpict.c: Removed.
* platform/cairo/pixman/src/fbpict.h: Removed.
* platform/cairo/pixman/src/fbtrap.c: Removed.
* platform/cairo/pixman/src/icblt.c: Removed.
* platform/cairo/pixman/src/icbltone.c: Removed.
* platform/cairo/pixman/src/iccolor.c: Removed.
* platform/cairo/pixman/src/icformat.c: Removed.
* platform/cairo/pixman/src/icimage.c: Removed.
* platform/cairo/pixman/src/icimage.h: Removed.
* platform/cairo/pixman/src/icint.h: Removed.
* platform/cairo/pixman/src/icpixels.c: Removed.
* platform/cairo/pixman/src/icrect.c: Removed.
* platform/cairo/pixman/src/icrop.h: Removed.
* platform/cairo/pixman/src/icstipple.c: Removed.
* platform/cairo/pixman/src/ictransform.c: Removed.
* platform/cairo/pixman/src/ictrap.c: Removed.
* platform/cairo/pixman/src/ictri.c: Removed.
* platform/cairo/pixman/src/icutil.c: Removed.
* platform/cairo/pixman/src/pixman-remap.h: Removed.
* platform/cairo/pixman/src/pixman-xserver-compat.h: Removed.
* platform/cairo/pixman/src/pixman.h: Removed.
* platform/cairo/pixman/src/pixregion.c: Removed.
* platform/cairo/pixman/src/pixregionint.h: Removed.
* platform/cairo/pixman/src/renderedge.c: Removed.
* platform/cairo/pixman/src/renderedge.h: Removed.
* platform/cairo/pixman/src/slim_internal.h: Removed.
* platform/cairo/rgb24-hacks.txt: Removed.
* platform/cairo/scale-removal.txt: Removed.
* platform/cg/AffineTransformCG.cpp: Removed.
* platform/cg/FloatPointCG.cpp: Removed.
* platform/cg/FloatRectCG.cpp: Removed.
* platform/cg/FloatSizeCG.cpp: Removed.
* platform/cg/GraphicsContextCG.cpp: Removed.
* platform/cg/GraphicsContextPlatformPrivate.h: Removed.
* platform/cg/ImageCG.cpp: Removed.
* platform/cg/ImageSourceCG.cpp: Removed.
* platform/cg/IntPointCG.cpp: Removed.
* platform/cg/IntRectCG.cpp: Removed.
* platform/cg/IntSizeCG.cpp: Removed.
* platform/cg/PDFDocumentImage.cpp: Removed.
* platform/cg/PDFDocumentImage.h: Removed.
* platform/cg/PathCG.cpp: Removed.
* platform/gdk/ImageGdk.cpp: Removed.
* platform/mac/ColorMac.mm: Removed.
* platform/mac/FloatPointMac.mm: Removed.
* platform/mac/FloatRectMac.mm: Removed.
* platform/mac/FloatSizeMac.mm: Removed.
* platform/mac/GraphicsContextMac.mm:
* platform/mac/IconMac.mm: Removed.
* platform/mac/ImageMac.mm: Removed.
* platform/mac/IntPointMac.mm: Removed.
* platform/mac/IntRectMac.mm: Removed.
* platform/mac/IntSizeMac.mm: Removed.
* platform/qt/AffineTransformQt.cpp: Removed.
* platform/qt/ColorQt.cpp: Removed.
* platform/qt/FloatPointQt.cpp: Removed.
* platform/qt/FloatRectQt.cpp: Removed.
* platform/qt/IconQt.cpp: Removed.
* platform/qt/ImageQt.cpp: Removed.
* platform/qt/ImageSourceQt.cpp: Removed.
* platform/qt/IntPointQt.cpp: Removed.
* platform/qt/IntRectQt.cpp: Removed.
* platform/qt/IntSizeQt.cpp: Removed.
* platform/qt/PathQt.cpp: Removed.
* platform/win/ImageWin.cpp: Removed.
* platform/win/IntPointWin.cpp: Removed.
* platform/win/IntRectWin.cpp: Removed.
* platform/win/IntSizeWin.cpp: Removed.
2006-11-11 Graham Dennis <graham.dennis@gmail.com>
Reviewed by hyatt.
A layout test was added when this bug was fixed, so none needed now.
Cleanup after:
REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
http://bugs.webkit.org/show_bug.cgi?id=11570
* rendering/RenderStyle.h:
(WebCore::RenderStyle::isSpace): Removed.
* rendering/RenderText.cpp:
(WebCore::isSpace): Added.
(WebCore::RenderText::calcMinMaxWidth): Use inline function instead of polluting RenderStyle.
2006-11-11 Graham Dennis <graham.dennis@gmail.com>
Reviewed by mitz.
REGRESSION (r16122): min/max widths incorrectly calculated for contentEditable text
http://bugs.webkit.org/show_bug.cgi?id=11570
* rendering/RenderStyle.h:
(WebCore::RenderStyle::isSpace): Added.
* rendering/RenderText.cpp:
(WebCore::RenderText::calcMinMaxWidth): For the purposes of calculating the line widths,
treat non-breaking spaces the same as normal spaces if -webkit-nbsp-mode is 'space'
2006-11-10 Zalan Bujtas <zalan.bujtas@nokia.com>
Reviewed by Maciej.
Added basic types for symbian platform.
http://bugs.webkit.org/show_bug.cgi?id=11540
* config.h:
* platform/AtomicString.h:
(WebCore::AtomicString::AtomicString):
(WebCore::AtomicString::operator TPtrC):
* platform/DeprecatedString.cpp:
(WebCore::initializeHandleNodeBlock):
* platform/DeprecatedString.h: char _internalBuffer has to be in front of
the bitfields as Codewarrior (3.2.5 build 461) compiler cannot cope with
bitfields and breaks byte aligment
* platform/FloatPoint.h:
* platform/FloatRect.h:
* platform/IntPoint.h:
* platform/IntRect.h:
* platform/IntSize.h:
* platform/PlatformString.h:
(WebCore::String::operator TPtrC):
(WebCore::String::des):
* platform/StringImpl.h:
* platform/symbian/DeprecatedStringSymbian.cpp: Added.
(WebCore::DeprecatedString::setBufferFromDes):
(WebCore::DeprecatedString::fromDes):
(WebCore::DeprecatedString::des):
(WebCore::DeprecatedString::des8):
* platform/symbian/FloatPointSymbian.cpp: Added.
(WebCore::FloatPoint::FloatPoint):
(WebCore::FloatPoint::operator TPoint):
* platform/symbian/FloatRectSymbian.cpp: Added.
(WebCore::FloatRect::FloatRect):
(WebCore::FloatRect::operator TRect):
(WebCore::FloatRect::rect):
* platform/symbian/IntPointSymbian.cpp: Added.
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator TPoint):
* platform/symbian/IntRectSymbian.cpp: Added.
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator TRect):
(WebCore::IntRect::Rect):
* platform/symbian/IntSizeSymbian.cpp: Added.
(WebCore::IntSize::IntSize):
(WebCore::IntSize::operator TSize):
* platform/symbian/StringImplSymbian.cpp: Added.
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::des):
* platform/symbian/StringSymbian.cpp: Added.
(WebCore::String::String):
2006-11-10 Zack Rusin <zack@kde.org>
Reviewed by Anders.
Adjust to the changes Brady made in the Qt code.
* loader/qt/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
* loader/qt/FrameLoaderClientQt.h:
2006-11-10 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4069359>
Deleting hyperlink text, then typing uses link typing style but loses the link itself
The removed anchor element needs to stick around temporarily, in the same way
that the typing style hangs off the caret until the user moves it. Also text
insertion around anchors didn't match TextEdit.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): Added.
(WebCore::DeleteSelectionCommand::doApply): Call saveFullySelectedAnchor.
* editing/DeleteSelectionCommand.h:
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply): Clear the removed anchor after any top level
editing command that doesn't preserve the typing style (matches TextEdit).
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing): Added a fixme: we shouldn't call
setSelection with a message telling it to clear the typing style
(and the saved anchor) here. Save/restore the saved anchor because of this.
* editing/Editor.h:
(WebCore::Editor::removedAnchor): Getter.
(WebCore::Editor::setRemovedAnchor): Setter.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::prepareForTextInsertion): Insert the saved anchor
if one exists.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection): Clear the removed anchor whenever
we make a selection change that clears the typing style.
(WebCore::SelectionController::nodeWillBeRemoved): Removed an old outdated FIXME.
* editing/htmlediting.cpp:
(WebCore::positionAvoidingSpecialElementBoundary): Cleaned up and
made some changes to match TextEdit's behavior. First, insert content
inside the anchor when the caret is after it, unless the caret is at the
end of the document, or if the caret is before it and at the start of a
paragraph.
=== Safari-521.30 ===
2006-11-10 Timothy Hatcher <timothy@apple.com>
Reviewed by Hyatt.
Check for BHIDDEN in isVisible() also.
* rendering/RenderStyle.h:
(WebCore::BorderValue::isVisible):
2006-11-10 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
<rdar://problem/4821423> element deletion UI appears for Mail blockquote and others with less than three visible borders
Added a new function to BorderValue called isVisible(). This checks nonZero() and !isTransparent().
* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
* rendering/RenderStyle.h:
(WebCore::BorderValue::isVisible):
2006-11-10 Adam Roben <aroben@apple.com>
Rubberstamped by Anders.
Back out some accidentally-committed changes from r17711.
* page/Frame.cpp:
(WebCore::Frame::command):
(WebCore::FramePrivate::FramePrivate):
* page/Frame.h:
* page/FramePrivate.h:
2006-11-10 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
Add more commands, make toggleBold and toggleItalic executable commands.
* WebCore.exp:
* editing/Editor.cpp:
(WebCore::execCopy):
(WebCore::execCut):
(WebCore::execDelete):
(WebCore::execForwardDelete):
(WebCore::execPaste):
(WebCore::execSelectAll):
(WebCore::execToggleBold):
(WebCore::execToggleItalic):
(WebCore::enabled):
(WebCore::canPaste):
(WebCore::hasEditableSelection):
(WebCore::hasEditableRangeSelection):
(WebCore::hasRangeSelection):
(WebCore::hasRichlyEditableSelection):
(WebCore::CommandEntry::):
* editing/Editor.h:
2006-11-10 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej, Geoff.
Added an execCommand method to Editor. The idea is that this should replace the CommandByName object. Get rid of
the alterCurrentSelection method in the bridge. WebKit can just call execCommand directly.
* WebCore.exp:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* editing/Editor.cpp:
(WebCore::execMoveBackward):
(WebCore::execMoveBackwardAndModifySelection):
(WebCore::execMoveDown):
(WebCore::execMoveDownAndModifySelection):
(WebCore::execMoveForward):
(WebCore::execMoveForwardAndModifySelection):
(WebCore::execMoveLeft):
(WebCore::execMoveLeftAndModifySelection):
(WebCore::execMoveRight):
(WebCore::execMoveRightAndModifySelection):
(WebCore::execMoveToBeginningOfDocument):
(WebCore::execMoveToBeginningOfDocumentAndModifySelection):
(WebCore::execMoveToBeginningOfSentence):
(WebCore::execMoveToBeginningOfSentenceAndModifySelection):
(WebCore::execMoveToBeginningOfLine):
(WebCore::execMoveToBeginningOfLineAndModifySelection):
(WebCore::execMoveToBeginningOfParagraph):
(WebCore::execMoveToBeginningOfParagraphAndModifySelection):
(WebCore::execMoveToEndOfDocument):
(WebCore::execMoveToEndOfDocumentAndModifySelection):
(WebCore::execMoveToEndOfSentence):
(WebCore::execMoveToEndOfSentenceAndModifySelection):
(WebCore::execMoveToEndOfLine):
(WebCore::execMoveToEndOfLineAndModifySelection):
(WebCore::execMoveToEndOfParagraph):
(WebCore::execMoveToEndOfParagraphAndModifySelection):
(WebCore::execMoveParagraphBackwardAndModifySelection):
(WebCore::execMoveParagraphForwardAndModifySelection):
(WebCore::execMoveUp):
(WebCore::execMoveUpAndModifySelection):
(WebCore::execMoveWordBackward):
(WebCore::execMoveWordBackwardAndModifySelection):
(WebCore::execMoveWordForward):
(WebCore::execMoveWordForwardAndModifySelection):
(WebCore::execMoveWordLeft):
(WebCore::execMoveWordLeftAndModifySelection):
(WebCore::execMoveWordRight):
(WebCore::execMoveWordRightAndModifySelection):
(WebCore::enabledAnySelection):
(WebCore::createCommandMap):
(WebCore::CommandEntry::):
(WebCore::Editor::execCommand):
* editing/Editor.h:
2006-11-10 Brady Eidson <beidson@apple.com>
Reviewed by Darin
Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreIconDatabaseBridge.h: Removed.
* bridge/mac/WebCoreIconDatabaseBridge.mm: Removed.
* loader/FrameLoaderClient.h:
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::sharedIconDatabase):
(WebCore::IconDatabase::~IconDatabase):
* loader/icon/IconDatabase.h:
(WebCore::IconDatabase::isPrivateBrowsingEnabled):
(WebCore::IconDatabase::enabled):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::finishLoading):
* loader/mac/FrameLoaderMac.mm:
2006-11-10 Zack Rusin <zack@kde.org>
Reviewed and landed by Anders.
Adjust platform Qt/KDE code to the recent loader
changes.
* CMakeLists.txt:
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createEmptyDocument):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/qt/DocumentLoaderQt.cpp: Added.
(WebCore::canonicalizedTitle):
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::unreachableURL):
(WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
(WebCore::DocumentLoader::isStopping):
(WebCore::DocumentLoader::clearErrors):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::setupForReplace):
(WebCore::DocumentLoader::commitIfReady):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::setCommitted):
(WebCore::DocumentLoader::isCommitted):
(WebCore::DocumentLoader::setLoading):
(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::doesProgressiveLoad):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::updateLoading):
(WebCore::DocumentLoader::setFrame):
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::prepareForLoadStart):
(WebCore::DocumentLoader::loadingStartedTime):
(WebCore::DocumentLoader::setIsClientRedirect):
(WebCore::DocumentLoader::isClientRedirect):
(WebCore::DocumentLoader::setPrimaryLoadComplete):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::stopRecordingResponses):
(WebCore::DocumentLoader::title):
(WebCore::DocumentLoader::triggeringAction):
(WebCore::DocumentLoader::setTriggeringAction):
(WebCore::DocumentLoader::setOverrideEncoding):
(WebCore::DocumentLoader::overrideEncoding):
(WebCore::DocumentLoader::setTitle):
(WebCore::DocumentLoader::URLForHistory):
* loader/qt/FrameLoaderClientQt.cpp: Added.
(WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
(WebCore::FrameLoaderClientQt::~FrameLoaderClientQt):
(WebCore::FrameLoaderClientQt::detachFrameLoader):
(WebCore::FrameLoaderClientQt::hasWebView):
(WebCore::FrameLoaderClientQt::hasFrameView):
(WebCore::FrameLoaderClientQt::hasBackForwardList):
(WebCore::FrameLoaderClientQt::resetBackForwardList):
(WebCore::FrameLoaderClientQt::provisionalItemIsTarget):
(WebCore::FrameLoaderClientQt::loadProvisionalItemFromPageCache):
(WebCore::FrameLoaderClientQt::invalidateCurrentItemPageCache):
(WebCore::FrameLoaderClientQt::privateBrowsingEnabled):
(WebCore::FrameLoaderClientQt::makeDocumentView):
(WebCore::FrameLoaderClientQt::makeRepresentation):
(WebCore::FrameLoaderClientQt::forceLayout):
(WebCore::FrameLoaderClientQt::forceLayoutForNonHTML):
(WebCore::FrameLoaderClientQt::updateHistoryForCommit):
(WebCore::FrameLoaderClientQt::updateHistoryForBackForwardNavigation):
(WebCore::FrameLoaderClientQt::updateHistoryForReload):
(WebCore::FrameLoaderClientQt::updateHistoryForStandardLoad):
(WebCore::FrameLoaderClientQt::updateHistoryForInternalLoad):
(WebCore::FrameLoaderClientQt::updateHistoryAfterClientRedirect):
(WebCore::FrameLoaderClientQt::setCopiesOnScroll):
(WebCore::FrameLoaderClientQt::tokenForLoadErrorReset):
(WebCore::FrameLoaderClientQt::resetAfterLoadError):
(WebCore::FrameLoaderClientQt::doNotResetAfterLoadError):
(WebCore::FrameLoaderClientQt::willCloseDocument):
(WebCore::FrameLoaderClientQt::detachedFromParent1):
(WebCore::FrameLoaderClientQt::detachedFromParent2):
(WebCore::FrameLoaderClientQt::detachedFromParent3):
(WebCore::FrameLoaderClientQt::detachedFromParent4):
(WebCore::FrameLoaderClientQt::loadedFromPageCache):
(WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
(WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
(WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
(WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
(WebCore::FrameLoaderClientQt::dispatchWillClose):
(WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
(WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
(WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
(WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
(WebCore::FrameLoaderClientQt::dispatchShow):
(WebCore::FrameLoaderClientQt::cancelPolicyCheck):
(WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientQt::dispatchDidLoadMainResource):
(WebCore::FrameLoaderClientQt::clearLoadingFromPageCache):
(WebCore::FrameLoaderClientQt::isLoadingFromPageCache):
(WebCore::FrameLoaderClientQt::revertToProvisionalState):
(WebCore::FrameLoaderClientQt::clearUnarchivingState):
(WebCore::FrameLoaderClientQt::progressStarted):
(WebCore::FrameLoaderClientQt::progressCompleted):
(WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
(WebCore::FrameLoaderClientQt::willChangeTitle):
(WebCore::FrameLoaderClientQt::didChangeTitle):
(WebCore::FrameLoaderClientQt::finishedLoading):
(WebCore::FrameLoaderClientQt::finalSetupForReplace):
(WebCore::FrameLoaderClientQt::setDefersLoading):
(WebCore::FrameLoaderClientQt::isArchiveLoadPending):
(WebCore::FrameLoaderClientQt::cancelPendingArchiveLoad):
(WebCore::FrameLoaderClientQt::clearArchivedResources):
(WebCore::FrameLoaderClientQt::canShowMIMEType):
(WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
(WebCore::FrameLoaderClientQt::generatedMIMETypeForURLScheme):
(WebCore::FrameLoaderClientQt::frameLoadCompleted):
(WebCore::FrameLoaderClientQt::restoreScrollPositionAndViewState):
(WebCore::FrameLoaderClientQt::provisionalLoadStarted):
(WebCore::FrameLoaderClientQt::shouldTreatURLAsSameAsCurrent):
(WebCore::FrameLoaderClientQt::addHistoryItemForFragmentScroll):
(WebCore::FrameLoaderClientQt::didFinishLoad):
(WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
(WebCore::FrameLoaderClientQt::setTitle):
(WebCore::FrameLoaderClientQt::userAgent):
* loader/qt/FrameLoaderClientQt.h: Added.
* loader/qt/FrameLoaderQt.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::overrideMediaType):
(WebCore::FrameLoader::getHistoryLength):
(WebCore::FrameLoader::referrer):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::goBackOrForward):
(WebCore::FrameLoader::historyURL):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::canGoBackOrForward):
(WebCore::FrameLoader::partClearedInBegin):
(WebCore::FrameLoader::saveDocumentState):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::redirectDataToPlugin):
(WebCore::PolicyCheck::PolicyCheck):
(WebCore::PolicyCheck::clear):
(WebCore::PolicyCheck::set):
(WebCore::PolicyCheck::call):
(WebCore::PolicyCheck::clearRequest):
* loader/qt/NavigationActionQt.cpp: Added.
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction):
* loader/qt/ResourceLoaderQt.cpp: Added.
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::cancel):
(WebCore::ResourceLoader::loadsBlocked):
* platform/MimeTypeRegistry.cpp:
(WebCore::initialiseSupportedImageMIMETypes):
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::slotResult):
(WebCore::ResourceHandleManager::cancel):
* platform/qt/ChromeClientQt.cpp: Added.
(WebCore::rootWindowForFrame):
(WebCore::ChromeClientQt::ChromeClientQt):
(WebCore::ChromeClientQt::~ChromeClientQt):
(WebCore::ChromeClientQt::setWindowRect):
(WebCore::ChromeClientQt::windowRect):
(WebCore::ChromeClientQt::pageRect):
(WebCore::ChromeClientQt::scaleFactor):
(WebCore::ChromeClientQt::focus):
(WebCore::ChromeClientQt::unfocus):
(WebCore::ChromeClientQt::createWindow):
(WebCore::ChromeClientQt::createModalDialog):
(WebCore::ChromeClientQt::show):
(WebCore::ChromeClientQt::canRunModal):
(WebCore::ChromeClientQt::runModal):
(WebCore::ChromeClientQt::setToolbarsVisible):
(WebCore::ChromeClientQt::toolbarsVisible):
(WebCore::ChromeClientQt::setStatusbarVisible):
(WebCore::ChromeClientQt::statusbarVisible):
(WebCore::ChromeClientQt::setScrollbarsVisible):
(WebCore::ChromeClientQt::scrollbarsVisible):
(WebCore::ChromeClientQt::setMenubarVisible):
(WebCore::ChromeClientQt::menubarVisible):
(WebCore::ChromeClientQt::setResizable):
* platform/qt/ChromeClientQt.h: Added.
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldBeginEditing):
(WebCore::EditorClientQt::shouldEndEditing):
(WebCore::EditorClientQt::shouldApplyStyle):
(WebCore::EditorClientQt::didBeginEditing):
(WebCore::EditorClientQt::respondToChangedContents):
(WebCore::EditorClientQt::didEndEditing):
* platform/qt/EditorClientQt.h:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::~FrameQt):
(WebCore::FrameQt::keyEvent):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::didReceiveData):
(WebCore::FrameQtClientDefault::receivedAllData):
* platform/qt/ImageQt.cpp:
* platform/qt/MimeTypeRegistryQt.cpp: Added.
(WebCore::getMIMETypeForUTI):
(WebCore::MimeTypeRegistry::getMIMETypeForExtension):
* platform/qt/PageQt.cpp:
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::keyIdentifierForQtKeyCode):
* platform/qt/ScreenQt.cpp:
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::TextField::TextField):
(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::screenRect):
(WebCore::screenAvailableRect):
2006-11-10 Brady Eidson <beidson@apple.com>
Reviewed by Mitz
http://bugs.webkit.org/show_bug.cgi?id=11554
Fix the above bug (in didFinishLoading) and also another potential bug in didFailWithError
in case the icon load fails after some data has been received.
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didFailWithError): Clear the buffer so half-an-image isn't commited to the DB
on error. Also, as a loader re-factoring sanity check, added an assertion
(WebCore::IconLoader::didFinishLoading): If an icon loader resulted in an error-response, the icon
is already committed to the DB. Skip doing that step twice.
2006-11-09 Oliver Hunt <oliver@apple.com>
Reviewed by Brady.
Pulled MIME type handling out of WebFrameBridge and added
a general C++ class to store/query MIME info
Added an Obj-C bridge to provide WebKit with access to the
MimeTypeRegistry for non-Obj-C++ classes.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* bridge/mac/WebMimeTypeRegistryBridge.h: Added.
* bridge/mac/WebMimeTypeRegistryBridge.mm: Added.
(+[WebMimeTypeRegistryBridge supportsImageWithMIMEType:]):
(+[WebMimeTypeRegistryBridge supportsNonImageWithMIMEType:]):
(+[WebMimeTypeRegistryBridge supportedNonImageMIMETypes]):
(+[WebMimeTypeRegistryBridge supportedImageMIMETypes]):
(+[WebMimeTypeRegistryBridge supportedImageResourceMIMETypes]):
* platform/Image.cpp:
(WebCore::Image::supportsType):
* platform/Image.h:
* platform/MimeTypeRegistry.cpp: Added.
(WebCore::initialiseSupportedImageMIMETypes):
(WebCore::initialiseSupportedNonImageMimeTypes):
(WebCore::initialiseMimeTypeRegistry):
(WebCore::MimeTypeRegistry::isSupportedImageMIMEType):
(WebCore::MimeTypeRegistry::isSupportedImageResourceMIMEType):
(WebCore::MimeTypeRegistry::isSupportedNonImageMIMEType):
(WebCore::MimeTypeRegistry::getSupportedImageMIMETypes):
(WebCore::MimeTypeRegistry::getSupportedImageResourceMIMETypes):
(WebCore::MimeTypeRegistry::getSupportedNonImageMIMETypes):
* platform/MimeTypeRegistry.h: Added.
* platform/mac/ImageMac.mm:
* platform/mac/MimeTypeRegistryMac.mm: Added.
(WebCore::getMIMETypeForUTI):
(WebCore::MimeTypeRegistry::getMIMETypeForExtension):
2006-11-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- rename String::sprintf and DeprecatedString::sprintf to ...::format to avoid needlessly tweaking a search
for insecure functions. Neither of these has risk of buffer overruns since they calculate the buffer size
for you and use vsnprintf.
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* css/cssparser.cpp:
(WebCore::CSSParser::parseColorFromValue):
* dom/StyledElement.cpp:
(WebCore::StyledElement::addCSSColor):
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::handleError):
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGPaint):
(WebCore::CSSParser::parseSVGColor):
* ksvg2/svg/SVGPathSegArc.h:
(WebCore::SVGPathSegArcAbs::toString):
(WebCore::SVGPathSegArcRel::toString):
* ksvg2/svg/SVGPathSegCurvetoCubic.h:
(WebCore::SVGPathSegCurvetoCubicAbs::toString):
(WebCore::SVGPathSegCurvetoCubicRel::toString):
* ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
(WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
(WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
* ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
(WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
(WebCore::SVGPathSegCurvetoQuadraticRel::toString):
* ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
(WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
(WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
* ksvg2/svg/SVGPathSegLineto.h:
(WebCore::SVGPathSegLinetoAbs::toString):
(WebCore::SVGPathSegLinetoRel::toString):
* ksvg2/svg/SVGPathSegLinetoHorizontal.h:
(WebCore::SVGPathSegLinetoHorizontalAbs::toString):
(WebCore::SVGPathSegLinetoHorizontalRel::toString):
* ksvg2/svg/SVGPathSegLinetoVertical.h:
(WebCore::SVGPathSegLinetoVerticalAbs::toString):
(WebCore::SVGPathSegLinetoVerticalRel::toString):
* ksvg2/svg/SVGPathSegMoveto.h:
(WebCore::SVGPathSegMovetoAbs::toString):
(WebCore::SVGPathSegMovetoRel::toString):
* ksvg2/svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::notifyAttributeChange):
* ksvg2/svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::closeRenderer):
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
* loader/icon/SQLDatabase.cpp:
(WebCore::SQLDatabase::setSynchronous):
* platform/Color.cpp:
(WebCore::Color::name):
* platform/DeprecatedString.cpp:
(WebCore::DeprecatedString::setNum):
(WebCore::DeprecatedString::format):
* platform/DeprecatedString.h:
* platform/PlatformString.h:
* platform/String.cpp:
(WebCore::String::format):
(WebCore::String::number):
* platform/mac/KeyEventMac.mm:
(WebCore::keyIdentifierForKeyEvent):
* platform/win/KeyEventWin.cpp:
(WebCore::keyIdentifierForWindowsKeyCode):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::calcMinMaxWidth):
2006-11-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- fixed "Regression: Can't log into gmail.com"
- fixed "iBench doesn't report results - tests run but no number is recorded"
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::setHTTPBody): Removed extra ! character.
2006-11-09 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/4805409> REGRESSION: Reproducible crash in
WebCore::RenderBlock::skipWhitespace
Note that this will still crash on Debug builds because it will hit
an assertion failure in editing. (One of the reasons there is no
layout test along with this fix.) There is definitely some editing
wackiness happening. See http://bugs.webkit.org/show_bug.cgi?
id=10144 for updates on the assertion failure bug.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::childRemoved): It is possible for a
prevRootBox and its prevRootBox to share a lineBreakObj. So instead
of just clearing the lineBreakObj of the prevRootBox, cycle through
all prevRootBoxs with the same lineBreakObj.
2006-11-09 Adam Roben <aroben@apple.com>
Reviewed by Geoff.
Fix the change in behavior I caused in r17680 with my build fix.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::maxTopMargin):
(WebCore::RenderObject::maxBottomMargin):
2006-11-09 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam, Oliver.
Move more functions to Editor.
* bridge/EditorClient.h:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
* bridge/mac/WebCoreFrameBridge.h:
* editing/EditCommand.cpp:
(WebCore::EditCommand::apply):
(WebCore::EditCommand::unapply):
(WebCore::EditCommand::reapply):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents):
(WebCore::dispatchEditableContentChangedEvents):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):
* editing/Editor.h:
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::typingAddedToOpenCommand):
* page/Frame.cpp:
* page/Frame.h:
2006-11-09 Darin Adler <darin@apple.com>
* rendering/RenderObject.h: Oops! Fixed accidentally checked-in ifdef.
2006-11-09 Alice Liu <alice.liu@apple.com>
Reviewed by Beth Dakin.
Fixed <rdar://problem/4808720> Hamachi test tool crashes Safari in WebCore::HTMLTableSectionElement::deleteRow
All existing layout tests pass
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::deleteRow):
check lastSection before deleting row
2006-11-09 Darin Adler <darin@apple.com>
- improved version of last night's build fix (should not do using namespace in a header)
* rendering/RenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::maxTopMargin):
(WebCore::RenderObject::maxBottomMargin):
2006-11-08 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- added ResourceError class and didFailWithError client method
* WebCore.xcodeproj/project.pbxproj:
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::didFailWithError):
(WebCore::IconLoader::didFinishLoading):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::receivedAllData):
(WebCore::Loader::didFailWithError):
* loader/loader.h:
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* platform/cf/RetainPtr.h:
(WebCore::):
(WebCore::adoptCFReference):
(WebCore::RetainPtr::RetainPtr):
(WebCore::::adopt):
* platform/network/ResourceError.cpp: Added.
* platform/network/ResourceError.h: Added.
(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::domain):
(WebCore::ResourceError::errorCode):
(WebCore::ResourceError::failingURL):
(WebCore::ResourceError::localizedDescription):
(WebCore::ResourceError::unpackPlatformErrorIfNeeded):
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didFailWithError):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didFail):
(WebCore::ResourceHandle::cancel):
* platform/network/mac/ResourceErrorMac.mm: Added.
(-[NSError WebCore]):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::reportError):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::didFailWithError):
(WebCore::XMLHttpRequest::didFinishLoading):
* xml/xmlhttprequest.h:
2006-11-08 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Maciej.
Linux\Gdk fixes.
* platform/gdk/ChromeClientGdk.h:
(WebCore::ChromeClientGdk::~ChromeClientGdk):
* platform/gdk/CursorGdk.cpp:
(WebCore::Cursor::Cursor):
(WebCore::moveCursor):
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdk::FrameGdk):
(WebCore::FrameGdk::submitForm):
(WebCore::FrameGdk::urlSelected):
* platform/gdk/PageGdk.cpp:
* platform/gdk/ScreenClientGdk.h: Added.
(WebCore::ScreenClientGdk::~ScreenClientGdk):
* platform/gdk/ScreenGdk.cpp:
(WebCore::ScreenClientGdk::depth):
(WebCore::ScreenClientGdk::depthPerComponent):
(WebCore::ScreenClientGdk::isMonochrome):
(WebCore::ScreenClientGdk::rect):
(WebCore::ScreenClientGdk::usableRect):
* platform/gdk/TemporaryLinkStubs.cpp:
(FrameGdk::historyURL):
(ChromeClientGdk::windowRect):
(ChromeClientGdk::setWindowRect):
(ChromeClientGdk::pageRect):
(ChromeClientGdk::scaleFactor):
(ChromeClientGdk::focus):
(ChromeClientGdk::unfocus):
(ChromeClientGdk::createWindow):
(ChromeClientGdk::createModalDialog):
(ChromeClientGdk::show):
(ChromeClientGdk::canRunModal):
(ChromeClientGdk::runModal):
(ChromeClientGdk::setToolbarsVisible):
(ChromeClientGdk::toolbarsVisible):
(ChromeClientGdk::setStatusbarVisible):
(ChromeClientGdk::statusbarVisible):
(ChromeClientGdk::setScrollbarsVisible):
(ChromeClientGdk::scrollbarsVisible):
(ChromeClientGdk::setMenubarVisible):
(ChromeClientGdk::menubarVisible):
(ChromeClientGdk::setResizable):
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::client):
* platform/network/gdk/ResourceHandleManager.cpp:
(WebCore::writeCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::remove):
2006-11-08 Adam Roben <aroben@apple.com>
Build fix.
* rendering/RenderObject.h:
(WebCore::RenderObject::maxTopMargin):
(WebCore::RenderObject::maxBottomMargin):
2006-11-08 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders Carlsson.
Made Screen a good platform citizen by removing its reference to Page. This
made a class unnecessary, so all screen fuctions are stand-alone now.
* bindings/js/kjs_window.cpp: Removed unnecessary subtractions
when computing the screen's available dimensions.
2006-11-08 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11506
Cleanup RenderObject
* rendering/RenderObject.cpp:
(WebCore::RenderObject::operator delete):
(WebCore::RenderObject::createObject):
(WebCore::RenderObjectCounter::~RenderObjectCounter):
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::isDescendantOf):
(WebCore::RenderObject::isRoot):
(WebCore::RenderObject::addChild):
(WebCore::RenderObject::removeChildNode):
(WebCore::RenderObject::removeChild):
(WebCore::RenderObject::appendChildNode):
(WebCore::RenderObject::insertChildNode):
(WebCore::RenderObject::nextInPreOrder):
(WebCore::RenderObject::nextInPreOrderAfterChildren):
(WebCore::RenderObject::previousInPreOrder):
(WebCore::RenderObject::isEditable):
(WebCore::RenderObject::nextEditable):
(WebCore::RenderObject::previousEditable):
(WebCore::RenderObject::firstLeafChild):
(WebCore::RenderObject::lastLeafChild):
(WebCore::RenderObject::addLayers):
(WebCore::RenderObject::removeLayers):
(WebCore::RenderObject::moveLayers):
(WebCore::RenderObject::findNextLayer):
(WebCore::RenderObject::enclosingLayer):
(WebCore::RenderObject::updateFirstLetter):
(WebCore::RenderObject::offsetParent):
(WebCore::RenderObject::scroll):
(WebCore::RenderObject::hasStaticX):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::containingBlockWidth):
(WebCore::RenderObject::containingBlockHeight):
(WebCore::RenderObject::mustRepaintBackgroundOrBorder):
(WebCore::RenderObject::drawBorderArc):
(WebCore::RenderObject::drawBorder):
(WebCore::RenderObject::paintBorderImage):
(WebCore::RenderObject::paintBorder):
(WebCore::RenderObject::absoluteRects):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::addFocusRingRects):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::repaint):
(WebCore::RenderObject::repaintRectangle):
(WebCore::RenderObject::repaintAfterLayoutIfNeeded):
(WebCore::RenderObject::repaintObjectsBeforeLayout):
(WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
(WebCore::RenderObject::information):
(WebCore::RenderObject::dump):
(WebCore::selectStartNode):
(WebCore::RenderObject::shouldSelect):
(WebCore::RenderObject::draggableNode):
(WebCore::RenderObject::createAnonymousBlock):
(WebCore::RenderObject::handleDynamicFloatPositionChange):
(WebCore::RenderObject::setStyle):
(WebCore::RenderObject::setStyleInternal):
(WebCore::RenderObject::updateBackgroundImages):
(WebCore::RenderObject::absolutePosition):
(WebCore::RenderObject::caretRect):
(WebCore::RenderObject::paddingTop):
(WebCore::RenderObject::paddingBottom):
(WebCore::RenderObject::paddingLeft):
(WebCore::RenderObject::paddingRight):
(WebCore::RenderObject::tabWidth):
(WebCore::RenderObject::container):
(WebCore::RenderObject::removeFromObjectLists):
(WebCore::RenderObject::destroy):
(WebCore::RenderObject::arenaDelete):
(WebCore::RenderObject::hitTest):
(WebCore::RenderObject::setInnerNode):
(WebCore::RenderObject::nodeAtPoint):
(WebCore::RenderObject::verticalPositionHint):
(WebCore::RenderObject::getVerticalPosition):
(WebCore::RenderObject::lineHeight):
(WebCore::RenderObject::invalidateVerticalPositions):
(WebCore::RenderObject::recalcMinMaxWidths):
(WebCore::RenderObject::scheduleRelayout):
(WebCore::RenderObject::setInlineBoxWrapper):
(WebCore::RenderObject::firstLineStyle):
(WebCore::RenderObject::getPseudoStyle):
(WebCore::RenderObject::getTextDecorationColors):
(WebCore::RenderObject::addDashboardRegions):
(WebCore::RenderObject::collectDashboardRegions):
(WebCore::RenderObject::avoidsFloats):
(WebCore::RenderObject::findCounter):
(WebCore::RenderObject::backslashAsCurrencySymbol):
(WebCore::RenderObject::imageChanged):
(WebCore::RenderObject::previousOffset):
(WebCore::RenderObject::nextOffset):
(WebCore::RenderObject::inlineBox):
* rendering/RenderObject.h:
(WebCore::):
(WebCore::RenderObject::renderName):
(WebCore::RenderObject::parent):
(WebCore::RenderObject::previousSibling):
(WebCore::RenderObject::nextSibling):
(WebCore::RenderObject::firstChild):
(WebCore::RenderObject::lastChild):
(WebCore::RenderObject::getOverflowClipRect):
(WebCore::RenderObject::getClipRect):
(WebCore::RenderObject::getBaselineOfFirstLineBox):
(WebCore::RenderObject::setEdited):
(WebCore::RenderObject::setStaticX):
(WebCore::RenderObject::setStaticY):
(WebCore::RenderObject::setPreviousSibling):
(WebCore::RenderObject::setNextSibling):
(WebCore::RenderObject::setParent):
(WebCore::RenderObject::isInlineBlockOrInlineTable):
(WebCore::RenderObject::isRenderView):
(WebCore::RenderObject::childrenInline):
(WebCore::RenderObject::setChildrenInline):
(WebCore::RenderObject::isAnonymousBlock):
(WebCore::RenderObject::isDragging):
(WebCore::RenderObject::needsLayout):
(WebCore::RenderObject::setMinMaxKnown):
(WebCore::RenderObject::setNeedsLayoutAndMinMaxRecalc):
(WebCore::RenderObject::setPositioned):
(WebCore::RenderObject::setRelPositioned):
(WebCore::RenderObject::setFloating):
(WebCore::RenderObject::setInline):
(WebCore::RenderObject::setShouldPaintBackgroundOrBorder):
(WebCore::RenderObject::setReplaced):
(WebCore::RenderObject::PaintInfo::PaintInfo):
(WebCore::RenderObject::paintBackgroundExtended):
(WebCore::RenderObject::calcWidth):
(WebCore::RenderObject::updateFromElement):
(WebCore::RenderObject::RepaintInfo::RepaintInfo):
(WebCore::RenderObject::setOverrideSize):
(WebCore::RenderObject::setPos):
(WebCore::RenderObject::setWidth):
(WebCore::RenderObject::setHeight):
(WebCore::RenderObject::absolutePositionForContent):
(WebCore::RenderObject::overflowHeight):
(WebCore::RenderObject::overflowWidth):
(WebCore::RenderObject::setOverflowHeight):
(WebCore::RenderObject::setOverflowWidth):
(WebCore::RenderObject::overflowLeft):
(WebCore::RenderObject::overflowTop):
(WebCore::RenderObject::overflowRect):
(WebCore::RenderObject::stopAutoscroll):
(WebCore::RenderObject::collapsedMarginTop):
(WebCore::RenderObject::collapsedMarginBottom):
(WebCore::RenderObject::maxTopMargin):
(WebCore::RenderObject::maxBottomMargin):
(WebCore::RenderObject::):
(WebCore::RenderObject::setTable):
(WebCore::RenderObject::isFloatingOrPositioned):
(WebCore::RenderObject::containsFloat):
(WebCore::RenderObject::setSelectionState):
(WebCore::RenderObject::SelectionInfo::SelectionInfo):
(WebCore::RenderObject::lowestPosition):
(WebCore::RenderObject::rightmostPosition):
(WebCore::RenderObject::leftmostPosition):
(WebCore::RenderObject::calcVerticalMargins):
(WebCore::RenderObject::font):
2006-11-08 Darin Adler <darin@apple.com>
Reviewed by Anders.
- added event parameters to focus-related functions so we can
implement the "option-tab to all links" behavior without relying
on a global "current event" -- also makes it work with DOM events
* page/Frame.h: Removed unneeded includes. Moved some functions
that were misplaced into the appropriate sections.
* page/Frame.cpp:
(WebCore::Frame::doTextFieldCommandFromEvent): Changed parameter from
PlatformKeyboardEvent to the DOM keyboard event class.
(WebCore::Frame::tabsToLinks): Added event parameter.
(WebCore::Frame::tabsToAllControls): Ditto.
(WebCore::scanForForm): Fixed code that incorrectly assumes
that an iframe is an HTMLFrameElement (no longer true since Geoff
changed the class hierarchy a bit).
(WebCore::Frame::hitTestResultAtPoint): Ditto.
* bridge/mac/FrameMac.h: Removed unneeded includes. Moved some functions
that were misplaced into the appropriate sections.
* bridge/mac/FrameMac.mm:
(WebCore::selectorForKeyEvent): Changed to use a DOM event instead of
a PlatformKeyboardEvent.
(WebCore::FrameMac::nextKeyViewInFrame): Changed to use currentKeyboardEvent()
and pass event into next/previousFocusNode.
(WebCore::FrameMac::currentKeyboardEvent): Added. Creates a DOM event from
the AppKit current event, if it's a keyboard event. Really just a hack that's
needed to preserve some code we can remove once we deal with the last NSView-
based form control.
(WebCore::isKeyboardOptionTab): Added.
(WebCore::FrameMac::tabsToLinks): Added event parameter, used to check if the
option (alt) key is down.
(WebCore::FrameMac::tabsToAllControls): Ditto.
(WebCore::FrameMac::keyEvent): Changed call to prepareForUserAction() to just
call resetMultipleFormSubmissionProtection() explicitly instead.
(WebCore::FrameMac::mouseDown): Ditto.
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject accessibilityDescription]): Fixed code that incorrectly
assumes that an iframe is an HTMLFrameElement (no longer true since Geoff
changed the class hierarchy a bit).
(-[WebCoreAXObject accessibilityPerformAction:]): Changed call to
prepareForUserAction() to call resetMultipleFormSubmissionProtection()
explicitly instead.
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::advanceFocus): Changed function to take an
event parameter, and decide the direction based on the shift key
modifier instead of a passed-in boolean.
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::nextFocusNode): Added event parameter.
(WebCore::Document::previousFocusNode): Ditto.
* dom/Node.h:
* dom/Node.cpp:
(WebCore::Node::isKeyboardFocusable): Ditto.
* html/HTMLAnchorElement.h:
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable): Ditto.
* html/HTMLGenericFormElement.h:
* html/HTMLGenericFormElement.cpp:
(WebCore::HTMLGenericFormElement::isKeyboardFocusable): Ditto.
* html/HTMLInputElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable): Ditto.
(WebCore::HTMLInputElement::defaultEventHandler): Ditto.
* html/HTMLSelectElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::isKeyboardFocusable): Ditto.
* html/HTMLTextAreaElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::isKeyboardFocusable): Ditto.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::defaultEventHandler): Pass event to the
advanceFocus function.
* platform/TextField.h:
* platform/mac/TextFieldMac.mm: Removed the non-search field code.
* platform/mac/WebCoreTextField.h:
* platform/mac/WebCoreTextField.mm: Removed the non-search field code.
(-[WebCoreTextFieldController controlTextDidChange:]): Removed the
call to FrameMac::handleKeyboardOptionTabInView, which is no longer
needed since the default handler in HTMLInputElement takes care of
option-tab.
* platform/mac/SliderMac.mm:
(-[WebCoreSlider canBecomeKeyView]): Changed to use currentKeyboardEvent()
and pass event into tabsToAllControls.
(Slider::focusPolicy): Ditto.
* rendering/RenderLineEdit.cpp:
(WebCore::RenderLineEdit::RenderLineEdit): Removed the non-search field code.
(WebCore::RenderLineEdit::updateFromElement): Ditto.
2006-11-08 Brady Eidson <beidson@apple.com>
Reviewed by Dave Harrison, Oliver, and Darin
(oh my! where was superkevin on this one?)
<rdar://problem/4816196> "Xcode Help" crashes in WebCore::DocumentLoader::setPrimaryLoadComplete(bool)
More "free nil checking" we lost in the transition from ObjC to C++
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::startLoading): Null check m_provisionalDocumentLoader and bail early.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto
2006-11-08 Anders Carlsson <acarlsson@apple.com>
Reviewed by Adam.
Move more code into editor.
* WebCore.exp:
* bridge/EditorClient.h:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
* bridge/mac/WebCoreFrameBridge.h:
* dom/Document.cpp:
(WebCore::Document::relinquishesEditingFocus):
(WebCore::Document::acceptsEditingFocus):
(WebCore::Document::didBeginEditing):
(WebCore::Document::didEndEditing):
* editing/Editor.cpp:
(WebCore::Editor::indent):
(WebCore::Editor::outdent):
* editing/Editor.h:
* page/Frame.cpp:
* page/Frame.h:
2006-11-08 Beth Dakin <bdakin@apple.com>
Reviewed by Adam.
Add ability to HitTestResult to ask if the inner non-shared node is
content editable.
* WebCore.exp: Export HitTestResult::isContentEditable()
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isContentEditable):
* rendering/HitTestResult.h:
2006-11-08 Anders Carlsson <acarlsson@apple.com>
Build fix.
* WebCore.xcodeproj/project.pbxproj:
Add DOMCSSStyleDeclarationInternal.h to the "Copy Generated Headers" build phase.
2006-11-08 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
<rdar://problem/4713280> Would like to get an array of bounding rects rather than just the union of them for a DOMRange
<rdar://problem/4804317> Would like SPI to get bounding box for a DOM range without having to change the selection
Added lineBoxRects and boundingBox to Range and DOMRange. These methods correspond to the DOMNode methods.
* bindings/objc/DOM.mm:
(WebCore::kit):
(-[DOMNode lineBoxRects]):
(-[DOMRange boundingBox]):
(-[DOMRange lineBoxRects]):
* bindings/objc/DOMPrivate.h:
* dom/Range.cpp:
(WebCore::Range::boundingBox):
(WebCore::Range::addLineBoxRects):
* dom/Range.h:
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::addLineBoxRects):
* rendering/RenderContainer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addLineBoxRects):
* rendering/RenderObject.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::addLineBoxRects):
* rendering/RenderText.h:
2006-11-08 Anders Carlsson <acarlsson@apple.com>
Reviewed by Oliver.
Move methods from the bridge and frame into editor.
* WebCore.exp:
* bridge/EditorClient.h:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* editing/Editor.cpp:
(WebCore::Editor::removeFormattingAndStyle):
(WebCore::Editor::applyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::toggleBold):
(WebCore::Editor::toggleItalic):
(WebCore::Editor::selectionStartHasStyle):
* editing/Editor.h:
* editing/JSEditor.cpp:
* page/Frame.cpp:
* page/Frame.h:
2006-11-08 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth.
Fixed regression in fast/events/objc-event-api. DumpRenderTree expects to
be able to dispatch user events even when off-screen, so we have to support
off-screen windows when handling mouse events.
* platform/Screen.h:
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::globalPoint): Grab the best screen instead of the screen you're
on, since you might be off-screen.
* platform/mac/ScreenMac.mm:
(WebCore::screenForWindow):
2006-11-08 Darin Adler <darin@apple.com>
- fix bug caused by last-minute change to my check-in last night
that is causing layout tests to hang
* dom/Document.cpp: (WebCore::Document::completeURL): Added comments.
* loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm): Turn
a null string into an empty string before calling completeURL.
2006-11-08 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
If the request has already been aborted, bail out of didFinishLoading()
immediately. This prevents state change notifications that aren't
needed.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
2006-11-08 Darin Adler <darin@apple.com>
- another attempt to fix Qt build
* loader/qt/FrameLoaderQt.cpp: Added missing include of FrameLoader.h.
2006-11-08 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- stray bits of my FrameLoader patch that I left out by accident
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow): Use m_outgoingReferrer instead of outgoingReferrer()
inside the FrameLoader class.
(WebCore::FrameLoader::requestFrame): Use less DeprecatedString.
(WebCore::FrameLoader::clear): Stop the redirection timer.
(WebCore::FrameLoader::receivedFirstData): Added an early return instead of nesting the
entire function in an if statement. Use less DeprecatedString.
(WebCore::FrameLoader::scheduleLocationChange): Fix backwards ? : operator.
(WebCore::FrameLoader::scheduleRefresh): Ditto.
(WebCore::FrameLoader::urlSelected): Use m_outgoingReferrer instead of outgoingReferrer()
inside the FrameLoader class.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load): Ditto.
(WebCore::FrameLoader::loadResourceSynchronously): Ditto.
2006-11-07 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Another go at fix for <rdar://problem/4820814> A crash occurs at
WebCore::HitTestResult::spellingToolTip() when mousing down on
iframe at www.macsurfer.com
The fix from yesterday caused a layout test regression which
exposed an existing bug. The existing bug was that we allowed text
nodes to stay in the head tag, but other browsers move them to the
body. The previous fix also caused a performance regression, which
was seemingly easy to fix by moving the new clause in
HTMLParser::handleError() to be below the HTMLElement case.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::childAllowed): Don't allow comment nodes to
be the child of the document.
* html/HTMLHeadElement.cpp:
(WebCore::HTMLHeadElement::childAllowed): Do not allow non-
whitespace text nodes to be children of the head.
* html/HTMLHeadElement.h:
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Error case for comment nodes.
* page/FrameView.cpp:
(WebCore::FrameView::handleMousePressEvent): Safety-net null check
for the original crash.
2006-11-07 Darin Adler <darin@apple.com>
- another attempt to fix Qt build
* loader/icon/IconLoader.h: Added missing include.
2006-11-06 Geoffrey Garen <ggaren@apple.com>
Reviewed by Tim Hatcher.
Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
None of Screen's responsibilities require up-calls to WebKit or delegates,
so WebCore can handle it all.
Moved Screen back from page/ to platform/ because it's a platform
abstraction again.
Merged scaling and flipping functions into 'toUserSpace' and 'toDeviceSpace',
since the two were always used together.
Changed pixel depth queries to query the deepest screen. Darin mentioned
that it might have been a feature, not a bug, to use the main/menubar screen
regardless of the screen you were on. For scaling and flipping that's not
the case, but for querying pixel depth I think it is. You want to know
about the highest pixel depth your content may display on.
Tests still pass.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
* page/Screen.cpp: Removed.
* page/Screen.h: Removed.
* page/ScreenClient.h: Removed.
* platform/mac/PlatformMouseEventMac.mm:
(WebCore::globalPoint):
* platform/mac/ScreenMac.mm:
(WebCore::window):
(WebCore::bestScreen):
(WebCore::Screen::depth):
(WebCore::Screen::depthPerComponent):
(WebCore::Screen::isMonochrome):
(WebCore::Screen::rect):
(WebCore::Screen::usableRect):
(WebCore::toUserSpace):
(WebCore::toDeviceSpace):
2006-11-07 Darin Adler <darin@apple.com>
- try to fix Qt build
* CMakeLists.txt: Updated for some file changes.
* WebCoreSources.bkl: Ditto.
2006-11-07 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- moved loader code from Frame/FrameMac to FrameLoader
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSXSLTProcessor.h:
* bindings/js/kjs_events.cpp:
(KJS::JSLazyEventListener::parseCode):
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLDocument::putValueProperty):
* bindings/js/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScriptIfNeeded):
* bindings/js/kjs_window.cpp:
(KJS::Screen::Screen):
(KJS::createNewWindow):
(KJS::Window::getValueProperty):
(KJS::Window::put):
(KJS::Window::isSafeScript):
(KJS::WindowFunc::callAsFunction):
(KJS::ScheduledAction::execute):
(KJS::Location::getValueProperty):
(KJS::Location::put):
(KJS::Location::toString):
(KJS::LocationFunc::callAsFunction):
(KJS::History::getValueProperty):
(KJS::HistoryFunc::callAsFunction):
* bindings/objc/DOM.mm:
(+[DOMNode _nodeWith:WebCore::]):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::~FrameMac):
(WebCore::FrameMac::setView):
(WebCore::FrameMac::setStatusBarText):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge close]):
(-[WebCoreFrameBridge addData:]):
(-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
(-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
(-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
(-[WebCoreFrameBridge baseURL]):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
(-[WebCoreFrameBridge canProvideDocumentSource]):
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
* css/cssparser.cpp:
(WebCore::CSSParser::parseContent):
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/DOMImplementation.h:
* dom/Document.cpp:
(WebCore::Document::readyState):
(WebCore::Document::updateTitle):
(WebCore::Document::open):
(WebCore::Document::close):
(WebCore::Document::implicitClose):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::referrer):
(WebCore::Document::finishedParsing):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::endElementNs):
(WebCore::ignorableWhitespaceHandler):
(WebCore::XMLTokenizer::notifyFinished):
* editing/TextIterator.cpp:
(WebCore::TextIterator::rangeFromLocationAndLength):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::process):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::lastModified):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formData):
(WebCore::HTMLFormElement::submit):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed):
(WebCore::HTMLFrameElementBase::openURL):
(WebCore::HTMLFrameElementBase::willRemove):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValueFromRenderer):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError):
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
* html/HTMLPreElement.idl:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseMappedAttribute):
(WebCore::HTMLScriptElement::insertedIntoDocument):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptExecution):
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::write):
(WebCore::HTMLTokenizer::stopParsing):
(WebCore::HTMLTokenizer::timerFired):
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::prepareFilter):
* ksvg2/svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
* ksvg2/svg/SVGElement.cpp:
(WebCore::SVGElement::sendSVGLoadEventIfPossible):
* loader/DocLoader.cpp:
(WebCore::DocLoader::setLoadInProgress):
* loader/FrameLoader.cpp:
(WebCore::FormSubmission::FormSubmission):
(WebCore::ScheduledRedirection::):
(WebCore::ScheduledRedirection::ScheduledRedirection):
(WebCore::cancelAll):
(WebCore::getString):
(WebCore::isBackForwardLoadType):
(WebCore::numRequests):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::createWindow):
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::requestFrame):
(WebCore::FrameLoader::loadSubframe):
(WebCore::FrameLoader::submitFormAgain):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::stop):
(WebCore::FrameLoader::closeURL):
(WebCore::FrameLoader::cancelRedirection):
(WebCore::FrameLoader::iconURL):
(WebCore::FrameLoader::didOpenURL):
(WebCore::FrameLoader::didExplicitOpen):
(WebCore::FrameLoader::replaceContentsWithScriptResult):
(WebCore::FrameLoader::executeScript):
(WebCore::FrameLoader::cancelAndClear):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::responseMIMEType):
(WebCore::FrameLoader::setResponseMIMEType):
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::write):
(WebCore::FrameLoader::end):
(WebCore::FrameLoader::endIfNotLoading):
(WebCore::FrameLoader::startIconLoader):
(WebCore::FrameLoader::commitIconURLToIconDatabase):
(WebCore::FrameLoader::gotoAnchor):
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::loadDone):
(WebCore::FrameLoader::checkCompleted):
(WebCore::FrameLoader::checkEmitLoadEvent):
(WebCore::FrameLoader::baseURL):
(WebCore::FrameLoader::baseTarget):
(WebCore::FrameLoader::completeURL):
(WebCore::FrameLoader::scheduleRedirection):
(WebCore::FrameLoader::scheduleLocationChange):
(WebCore::FrameLoader::scheduleRefresh):
(WebCore::FrameLoader::isScheduledLocationChangePending):
(WebCore::FrameLoader::scheduleHistoryNavigation):
(WebCore::FrameLoader::redirectionTimerFired):
(WebCore::FrameLoader::encoding):
(WebCore::FrameLoader::requestObject):
(WebCore::FrameLoader::shouldUsePlugin):
(WebCore::FrameLoader::loadPlugin):
(WebCore::FrameLoader::clearRecordedFormValues):
(WebCore::FrameLoader::recordFormValue):
(WebCore::FrameLoader::parentCompleted):
(WebCore::FrameLoader::outgoingReferrer):
(WebCore::FrameLoader::lastModified):
(WebCore::FrameLoader::opener):
(WebCore::FrameLoader::setOpener):
(WebCore::FrameLoader::openedByJavaScript):
(WebCore::FrameLoader::setOpenedByJavaScript):
(WebCore::FrameLoader::handleFallbackContent):
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::userGestureHint):
(WebCore::FrameLoader::didNotOpenURL):
(WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
(WebCore::FrameLoader::setEncoding):
(WebCore::FrameLoader::addData):
(WebCore::FrameLoader::canCachePage):
(WebCore::FrameLoader::updatePolicyBaseURL):
(WebCore::FrameLoader::setPolicyBaseURL):
(WebCore::FrameLoader::scrollToAnchor):
(WebCore::FrameLoader::isComplete):
(WebCore::FrameLoader::isLoadingMainResource):
(WebCore::FrameLoader::url):
(WebCore::FrameLoader::startRedirectionTimer):
(WebCore::FrameLoader::stopRedirectionTimer):
(WebCore::FrameLoader::updateBaseURLForEmptyDocument):
(WebCore::FrameLoader::completed):
(WebCore::FrameLoader::started):
(WebCore::FrameLoader::containsPlugins):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::setupForReplaceByMIMEType):
(WebCore::FrameLoader::finalSetupForReplace):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::canTarget):
(WebCore::FrameLoader::stopLoadingPlugIns):
(WebCore::FrameLoader::stopLoadingSubresources):
(WebCore::FrameLoader::stopLoadingSubframes):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::cancelMainResourceLoad):
(WebCore::FrameLoader::cancelPendingArchiveLoad):
(WebCore::FrameLoader::activeDocumentLoader):
(WebCore::FrameLoader::addPlugInStreamLoader):
(WebCore::FrameLoader::removePlugInStreamLoader):
(WebCore::FrameLoader::hasMainResourceLoader):
(WebCore::FrameLoader::isLoadingSubresources):
(WebCore::FrameLoader::isLoadingPlugIns):
(WebCore::FrameLoader::isLoading):
(WebCore::FrameLoader::addSubresourceLoader):
(WebCore::FrameLoader::removeSubresourceLoader):
(WebCore::FrameLoader::releaseMainResourceLoader):
(WebCore::FrameLoader::setDocumentLoader):
(WebCore::FrameLoader::documentLoader):
(WebCore::FrameLoader::setPolicyDocumentLoader):
(WebCore::FrameLoader::provisionalDocumentLoader):
(WebCore::FrameLoader::setProvisionalDocumentLoader):
(WebCore::FrameLoader::state):
(WebCore::FrameLoader::timeOfLastCompletedLoad):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::markLoadComplete):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::privateBrowsingEnabled):
(WebCore::FrameLoader::clientRedirectCancelledOrFinished):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::shouldReload):
(WebCore::FrameLoader::closeOldDataSources):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::isStopping):
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::URL):
(WebCore::FrameLoader::isArchiveLoadPending):
(WebCore::FrameLoader::isHostedByObjectElement):
(WebCore::FrameLoader::isLoadingMainFrame):
(WebCore::FrameLoader::canShowMIMEType):
(WebCore::FrameLoader::representationExistsForURLScheme):
(WebCore::FrameLoader::generatedMIMETypeForURLScheme):
(WebCore::FrameLoader::cancelContentPolicyCheck):
(WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::isReplacing):
(WebCore::FrameLoader::setReplacing):
(WebCore::FrameLoader::revertToProvisional):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::willChangeTitle):
(WebCore::FrameLoader::loadType):
(WebCore::FrameLoader::stopPolicyCheck):
(WebCore::FrameLoader::continueAfterContentPolicy):
(WebCore::FrameLoader::continueAfterWillSubmitForm):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::frameLoadCompleted):
(WebCore::FrameLoader::firstLayoutDone):
(WebCore::FrameLoader::isQuickRedirectComing):
(WebCore::FrameLoader::closeDocument):
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::numPendingOrLoadingRequests):
(WebCore::FrameLoader::setClient):
(WebCore::FrameLoader::client):
(WebCore::FrameLoader::userAgent):
(WebCore::FrameLoader::createEmptyDocument):
(WebCore::FrameLoader::tokenizerProcessedData):
(WebCore::FrameLoader::didTellBridgeAboutLoad):
(WebCore::FrameLoader::haveToldBridgeAboutLoad):
(WebCore::FrameLoader::handledOnloadEvents):
(WebCore::FrameLoader::frameDetached):
(WebCore::FrameLoader::setTitle):
(WebCore::FrameLoaderClient::~FrameLoaderClient):
* loader/FrameLoader.h:
(WebCore::):
* loader/FrameLoaderClient.h:
* loader/PluginDocument.cpp:
(WebCore::PluginTokenizer::createDocumentStructure):
(WebCore::PluginTokenizer::writeRawData):
* loader/ResourceLoader.h:
* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::checkForHeadCharset):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::finishLoading):
* loader/loader.cpp:
(WebCore::Loader::didReceiveResponse):
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::setPrimaryLoadComplete):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::startLoading):
(WebCore::FrameLoader::cancelMainResourceLoad):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::objectContentType):
(WebCore::nsArray):
(WebCore::FrameLoader::createPlugin):
(WebCore::FrameLoader::redirectDataToPlugin):
(WebCore::FrameLoader::createJavaAppletWidget):
(WebCore::FrameLoader::partClearedInBegin):
(WebCore::FrameLoader::saveDocumentState):
(WebCore::FrameLoader::restoreDocumentState):
(WebCore::FrameLoader::overrideMediaType):
(WebCore::FrameLoader::mainResourceData):
(WebCore::FrameLoader::canGoBackOrForward):
(WebCore::FrameLoader::originalRequestURL):
(WebCore::FrameLoader::getHistoryLength):
(WebCore::FrameLoader::goBackOrForward):
(WebCore::FrameLoader::historyURL):
(WebCore::FrameLoader::didFinishLoad):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
(WebCore::CheckCacheObjectStatus):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::cancel):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::create):
* loader/qt/FrameLoaderQt.cpp: Added.
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::setTitle):
(WebCore::FrameLoader::createFrame):
(WebCore::FrameLoader::objectContentType):
(WebCore::FrameLoader::createPlugin):
(WebCore::FrameLoader::createJavaAppletWidget):
(WebCore::FrameLoader::originalRequestURL):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::document):
* page/Frame.cpp:
(WebCore::Frame::~Frame):
(WebCore::Frame::reparseConfiguration):
(WebCore::Frame::shouldDragAutoNode):
(WebCore::Frame::prepareForUserAction):
(WebCore::FramePrivate::FramePrivate):
(WebCore::FramePrivate::~FramePrivate):
* page/Frame.h:
* page/FramePrivate.h:
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::mediaType):
* page/FrameView.h:
* page/PageState.cpp:
(WebCore::PageState::PageState):
(WebCore::PageState::restoreJavaScriptState):
* platform/mac/CookieJar.mm:
(WebCore::setCookies):
* platform/mac/TextCodecMac.cpp:
* platform/mac/WebFontCache.mm:
(+[WebFontCache fontWithFamily:traits:size:]):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::start):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::start):
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQt.h:
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/RenderBlock.h:
* rendering/RenderPartObject.cpp:
(WebCore::isURLAllowed):
(WebCore::RenderPartObject::updateWidget):
* xml/DOMParser.cpp:
(WebCore::DOMParser::parseFromString):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::getResponseXML):
2006-11-07 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
Get rid of some duplicate editing enums. Also rename EAlter to EAlteration.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::registerCommandForUndoOrRedo):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
(-[WebCoreFrameBridge alterCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
(-[WebCoreFrameBridge alterCurrentSelection:SelectionController::verticalDistance:]):
(-[WebCoreFrameBridge selectionGranularity]):
(-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
(-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
(-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
(-[WebCoreFrameBridge applyStyle:withUndoAction:]):
(-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
* editing/SelectionController.cpp:
(WebCore::SelectionController::setModifyBias):
(WebCore::SelectionController::modify):
* editing/SelectionController.h:
(WebCore::SelectionController::):
* editing/TextGranularity.h:
2006-11-07 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Changed the check for "top level frame" to something much more valid
* page/Frame.cpp:
(WebCore::Frame::endIfNotLoading):
2006-11-07 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt (yesterday).
Here is part of my patch from yesterday that is safe to roll back
in. It will make the BuildBot happy.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip): Null-check
m_innerNonSharedNode.
2006-11-07 Darin Adler <darin@apple.com>
* loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveResponse):
Comment grammar fix.
2006-11-07 Darin Adler <darin@apple.com>
Rolled out change for <rdar://problem/4820814>.
Beth's planning on landing a new change for it soon, but in the mean time
we need layout tests succeeding again.
2006-11-07 Darin Adler <darin@apple.com>
Reviewed by Brady.
- fix <rdar://problem/4752069> 9A274: World of Warcraft Launcher
crashes on launch in WebCore::ResourceLoader::start
No layout test, because this depends on cached icons, although there's
perhaps a way to write a test for it with some further ingenuity.
* loader/icon/IconLoader.h: Make IconLoader inherit from Noncopyable
to make explicit the fact that it can't be successfully copied.
Remove notifyIconChanged function and put the contents in the caller.
This eliminates the need for IconLoaderMac.mm. Added finishedLoading
and clearLoadingState functions to share code. Removed m_url, since the
resource handle already stores the URL. Renamed m_resourceLoader to
m_handle to reflect the class's name change. Removed the 4096-byte
inline buffer from m_data, since the malloc savings is not sufficient
to offset the additional memory use. Removed m_httpStatusCode because
we can instead cancel the load when we get a status code that reflects
failure. Added m_loadIsInProgress boolean because we need to detect
loads that complete during the ResourceHandle::create function call.
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::IconLoader): Initialize m_loadIsInProgress.
Don't initialize m_httpStatusCode.
(WebCore::IconLoader::~IconLoader): Updated for name change.
(WebCore::IconLoader::startLoading): Added code to use the
m_loadIsInProgress flag to detect if the load completed while inside
the ResourceHandle::create function. Removed code to set m_url.
(WebCore::IconLoader::stopLoading): Call clearLoadingState to share
more code.
(WebCore::IconLoader::didReceiveResponse): Kill the ResourceHandle
and finish loading if the HTTP status code indicates failure.
(WebCore::IconLoader::didReceiveData): Removed assertion that checks
the ResourceHandle, since we can't do that any more.
(WebCore::IconLoader::didFinishLoading): Changed to call finishLoading
so we can share code with the new didReceiveResponse code path.
(WebCore::IconLoader::finishLoading): Moved code here from the
didFinishLoading callback. Pass a URL when calling
commitIconURLToIconDatabase. Call notifyIconChanged directly here
instead of using a separate function. Call clearLoadingState to
share more code with stopLoading.
(WebCore::IconLoader::clearLoadingState): Added.
* loader/mac/IconLoaderMac.mm: Removed.
* WebCore.xcodeproj/project.pbxproj: Removed IconLoaderMac.mm.
2006-11-06 David Harrison <harrison@apple.com>
Reviewed by Darin.
<rdar://problem/4714993> REGRESSION: After replacing a misspelled word in a sentence, the selected word wraps down to next line (10428)
* editing/pasteboard/3976872-expected.txt:
* editing/pasteboard/4076267-2-expected.txt:
* editing/pasteboard/4076267-3-expected.txt:
* editing/pasteboard/4076267-expected.txt:
* editing/pasteboard/8145-1-expected.txt:
* editing/pasteboard/paste-empty-startcontainer-expected.txt: Removed.
* editing/pasteboard/paste-match-style-001-expected.txt:
* editing/pasteboard/paste-match-style-002-expected.txt:
* editing/pasteboard/paste-text-019-expected.txt:
* editing/pasteboard/pasting-tabs-expected.txt:
Updated because pasting text with no newlines does not use intermediate div.
* editing/markup.cpp:
(WebCore::fillContainerFromString):
First parameter is now a Container so a fragment can be passed.
(WebCore::createFragmentFromText):
A string with no newlines gets added inline, rather than being put into a paragraph.
2006-11-06 Beth Dakin <bdakin@apple.com>
Reviewed by Hyatt.
Fix for <rdar://problem/4820814> A crash occurs at
WebCore::HitTestResult::spellingToolTip() when mousing down on
iframe at www.macsurfer.com
The bug here is that the source of the iframe is only a comment,
and we were not properly constructing the frame because it was
sort-of empty but not.
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::childAllowed): newChild is NOT allowed if
it is a comment node.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): if n is a comment node and
there is no head, we create a head, insert in the document, and add
the comment node as a child. This is what Firefox does too.
* page/FrameView.cpp:
(WebCore::FrameView::handleMousePressEvent): Safe-guard for the
fix. It is possible to get a mouse event without a target node, so
we null check it. (Of course, in the case of this bug, it should
not have been null, but it is a good thing to check for anyway.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip): Null-check
m_innerNonSharedNode.
2006-11-06 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4641880>
Setting bullets to existing text grabs subsequent paragraph
When a selection ends at the start of a paragraph, we rarely paint
the selection gap before that paragraph, because there often is no gap.
In a case like this, it's not obvious to the user that the selection
ends "inside" that paragraph, so it would be confusing if
InsertUn{Ordered}List and Indent/Outdent operated on that paragraph.
* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::doApply): Moved the check for editability of
the selection to a more appropriate place. Change the endingSelection
if it ends at the start of a paragraph.
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::doApply): Ditto.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): Ditto.
2006-11-06 Brady Eidson <beidson@apple.com>
Reviewed by Sarge
<rdar://problem/4822911> - ASSERTION was a little overzealous.
Toned it down a bit.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading): Toned down assertion
2006-11-06 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Maciej.
Linux\Gdk build fixes.
* loader/icon/IconDatabase.cpp:
* loader/icon/SQLStatement.h:
* platform/gdk/ChromeClientGdk.h: Added.
(WebCore::ChromeClientGdk::~ChromeClientGdk):
* platform/gdk/CursorGdk.cpp:
(WebCore::pointerCursor):
* platform/gdk/FrameGdk.cpp:
(WebCore::doScroll):
(WebCore::FrameGdk::FrameGdk):
(WebCore::FrameGdk::submitForm):
(WebCore::FrameGdk::urlSelected):
(WebCore::FrameGdk::openURL):
(WebCore::FrameGdk::handleGdkEvent):
* platform/gdk/FrameGdk.h:
(WebCore::FrameGdk::client):
* platform/gdk/RenderPopupMenuGdk.cpp:
(WebCore::PopupMenu::updateFromElement):
* platform/gdk/ScreenGdk.cpp:
* platform/gdk/TemporaryLinkStubs.cpp:
(Slider::focusPolicy):
(WebCore::ServeSynchronousRequest):
(FrameGdk::goBackOrForward):
(FrameGdk::getHistoryLength):
(FrameGdk::historyURL):
(ChromeClientGdk::canRunModal):
(ChromeClientGdk::runModal):
(WebCore::systemBeep):
(WebCore::CachedResource::setPlatformResponse):
(Path::transform):
(ResourceLoader::loadsBlocked):
(IconLoader::notifyIconChanged):
* platform/network/gdk/ResourceHandleManager.cpp:
(WebCore::writeCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::add):
2006-11-06 Geoffrey Garen <ggaren@apple.com>
build fix.
* WebCore.xcodeproj/project.pbxproj:
2006-11-06 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej, Anders, Darin.
Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
Fixed a minor where WebCore would always assume it was displayed on the
monitor containing the menubar. window.open and window.showModalDialog
are now cross-platform.
Layout tests, manual-tests/show-modal-dialog, and manual-tests/
window-open-features-parsing all pass. I verified the new screen functionality
by running in DRT, and checking whether WebCore knew it was off-screen.
Some refactoring remains, as all were not pleased by this design. I see
in my future another patch.
* bindings/js/kjs_window.cpp: Screen is now a stand-alone object with a
client, to encapsulate asking the platform questions about the screen occupied by
the page. (Previously, we always assumed we were on screen 0, which was a bug.)
* bridge/mac/WebCoreFrameBridge.mm:
(createMouseEventFromDraggingInfo): Reversed argument order, to match other
functions.
(-[WebCoreFrameBridge dragSourceMovedTo:]): ditto
(-[WebCoreFrameBridge dragSourceEndedAt:operation:]): ditto
* bridge/mac/WebCoreFrameNamespaces.h: Removed. Dead Code.
* bridge/mac/WebCoreFrameNamespaces.mm: Removed. Dead Code.
* bridge/mac/WebCorePageBridge.h: Removed. Dead Code.
* bridge/mac/WebCorePageBridge.mm: Removed. Dead Code.
* manual-tests/window-open-features-parsing.html: Updated for accuracy.
(In this case, neither size nor position is specified, so you should
get the default window size and position.)
* page/Screen.cpp: Added. Includes screen-related helper functions used
in WebCore and WebKit.
* platform/PlatformMouseEvent.h: Exported common code so it doesn't have
to be duplicated. Renamed "position" to "point" since both were used,
and "point" seemed clearer.
* platform/Screen.h: Removed. Dead Code.
* platform/mac/LoggingMac.mm: Added. Moved code here from WebCorePageBridge
initialization.
2006-11-06 Graham Dennis <graham.dennis@gmail.com>
Reviewed by Tim Hatcher.
Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
No layout tests added as this must be tested manually by the test
WebCore/manual-tests/contenteditable-link.html
* WebCore.exp: Exported HitTestResult::isLiveLink().
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::HTMLAnchorElement):
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::isLiveLink):
* html/HTMLAnchorElement.h: added m_wasShiftKeyDownOnMouseDown variable
to track shift key status.
* manual-tests/contenteditable-link.html: Added description about link
dragging behaviour.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::isLiveLink): Added.
* rendering/HitTestResult.h:
2006-11-06 Brady Eidson <beidson@apple.com>
Reviewed by Oliver
Fixes <rdar://problem/4812674> and http://bugs.webkit.org/show_bug.cgi?id=11530
For now, we have to not load favicons when we have no Document - linking directly
to PDFs being the common case
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading): Check for the document and return if none
2006-11-06 Brady Eidson <beidson@apple.com>
Reviewed by Dave Harrison
<rdar://problem/4801066>
Added a critical null frameLoader() check
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::loadNow):
2006-11-06 David Harrison <harrison@apple.com>
Reviewed by Darin.
<rdar://problem/4813973> Pressing delete key to remove empty quoted line leaves cursor mis-positioned
Test:
* editing/deleting/delete-br-012.html
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):
Update m_endingPosition when preventing merge.
Also removed setting of m_mergeBlocksAfterDelete when this function returns true, because is is not checked in this case.
2006-11-06 Mark Rowe <bdash@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11526
Bug 11526: REGRESSION(r17610): Layout test failure in svg/custom/create-metadata-element.svg
Update DOMNode::toString to always use className rather than preferring nodeName.
* bindings/js/kjs_dom.cpp:
(KJS::DOMNode::toString): Match the format returned by valueOf.
2006-11-06 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej.
Fix RTL text in SVG to have correct positioning
* rendering/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::placeBoxesHorizontally):
2006-11-06 Alexey Proskuryakov <ap@webkit.org>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11517
REGRESSION: Flash clicks/interactivity not working properly
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::handleMouseMoveEvent):
(WebCore::FrameMac::handleMouseReleaseEvent):
Restore parts of event dispatching that were removed when fixing
bug 7323 - just bypass those for subframes.
2006-11-05 Darin Adler <darin@apple.com>
- quick attempt to fix the no-SVG build
* platform/graphics/svg/SVGResource.cpp:
* platform/graphics/svg/SVGResource.h:
* platform/graphics/svg/SVGResourceClipper.cpp:
* platform/graphics/svg/SVGResourceClipper.h:
* platform/graphics/svg/SVGResourceImage.h:
* platform/graphics/svg/SVGResourceMarker.cpp:
* platform/graphics/svg/SVGResourceMarker.h:
* platform/graphics/svg/SVGResourceMasker.cpp:
* platform/graphics/svg/SVGResourceMasker.h:
* platform/graphics/svg/cg/SVGResourceMaskerCg.h:
* platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
* platform/graphics/svg/qt/SVGResourceImageQt.cpp:
* platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
Added #ifdef SVG_SUPPORT to these files.
2006-11-05 Darin Fisher <darin@chromium.org>
Reviewed & landed by Maciej.
Fixes http://bugs.webkit.org/show_bug.cgi?id=11265
* platform/win/ResourceLoaderWin.cpp:
(WebCore::transferJobStatusCallback):
(WebCore::ResourceLoader::start):
2006-11-04 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- moved FormData and FormDataStream to platform/network directory
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.mm:
* loader/FormData.cpp: Removed.
* loader/FormData.h: Removed.
* loader/mac/FormDataStream.h: Removed.
* loader/mac/FormDataStream.m: Removed.
* loader/mac/FrameLoaderMac.mm:
* loader/mac/SubresourceLoaderMac.mm:
* platform/network/mac/FormDataStreamMac.h: Added.
* platform/network/mac/FormDataStreamMac.mm: Added.
* platform/network/mac/ResourceRequestMac.mm:
2006-11-05 Steve Falkenburg <sfalken@apple.com>
Fix build breaks
* loader/DocumentLoader.h:
* platform/win/ScreenWin.cpp:
2006-11-05 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- more preparation for splitting up Frame into sub-pieces
- removed unnecessary includes from Frame.h
* page/Frame.h: Removed unneeded includes and forward declarations.
Added additional forward declarations. Removed the constant
NoXPosForVerticalArrowNavigation, now moved inside SelectionController.
Created sections of functions to be moved into Chrome, Editor,
EventHandler, FrameLoader, SelectionController, and the Platform
directory, as well as marking one function for deletion.
* page/FramePrivate.h: Removed the definition of the constructor and
destructor and removed unnecessary includes.
* page/FrameView.h: Removed unneeded forward declarations and friend
declarations. Created a section of functions and data to be moved into
EventHandler.
* bridge/mac/FrameMac.h: Removed unneeded forward declarations.
Created sections of functions and data to be moved into Chrome,
Editor, EventHandler, FrameLoader, and the Platform directory.
* bridge/mac/WebCoreFrameBridge.h: Removed obsolete comment.
Removed unused methods areScrollbarsVisible,
nextValidKeyViewOutsideWebFrameViews, and fileWrapperForURL:.
* page/Frame.cpp:
(WebCore::Frame::begin): Added an overload, so Frame.h doesn't have
to include KURL.h just for the KURL default constructor.
(WebCore::FramePrivate::FramePrivate): Moved here from FramePrivate.h.
(WebCore::FramePrivate::~FramePrivate): Ditto.
* page/FrameView.cpp: Removed unused scrollbarMoved and scrollingSelf
booleans, scrollbarMoved and cleared funcitons.
(WebCore::FrameView::clear): Moved the code from the cleared
function in here.
(WebCore::FrameView::scrollTo): Removed code to set scrollingSelf.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): Updated
for changes to header.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection):
(WebCore::SelectionController::xPosForVerticalArrowNavigation):
Moved NoXPosForVerticalArrowNavigation into this file.
* bindings/js/kjs_events.cpp:
* bindings/js/kjs_html.cpp:
* bindings/js/kjs_window.cpp:
* bridge/mac/WebCoreAXObject.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* css/cssstyleselector.cpp:
* dom/Document.cpp:
* dom/Element.cpp:
* dom/EventTargetNode.cpp:
* dom/MouseRelatedEvent.cpp:
* dom/XMLTokenizer.cpp:
* html/HTMLBaseElement.cpp:
* html/HTMLDocument.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameElementBase.cpp:
* html/HTMLGenericFormElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLTokenizer.cpp:
* loader/mac/FrameLoaderMac.mm:
* page/PageState.cpp:
* rendering/RenderApplet.cpp:
* rendering/RenderBlock.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderObject.cpp:
* rendering/RenderPartObject.cpp:
* rendering/RenderTreeAsText.cpp:
* xml/XSLTProcessor.cpp:
Added includes as needed to keep compiling, since there are fewer
includes in Frame.h.
2006-11-05 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Dave Harrison.
http://bugs.webkit.org/show_bug.cgi?id=11402
REGRESSION: onChange does not work anymore for 1st item in popup
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement):
(WebCore::HTMLSelectElement::reset):
Set m_lastOnChangeIndex to -1.
2006-11-04 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix http://bugs.webkit.org/show_bug.cgi?id=11453
REGRESSION: Status bar always shows cancelled opening the page
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::~ResourceHandle): Removed call to cancel.
Since the subresource owns the resource handle, there's no need to cancel.
This arrangement is only temporary, anyway, since Maciej will soon change
things so that the subresource loader uses the resource handle and the
resource handle doesn't know anything about the subresource loader.
2006-11-04 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- converted more of the loader machinery to work with cross-platform
data structures instead of Macintosh-specific ones
converted most uses of NSURL to KURL and NSEvent to DOM Event in
loader classes
moved download function out of FrameLoader.h to avoid reference to
NSURLConnection
added DOM Event parameters to various functions so that the handlers
can use the DOM Event instead of the global "current NSEvent";
includes Frame::submitForm, HTMLFormElement::prepareSubmit,
HTMLFormElement::submit, FrameLoader::load
moved the setMainFrame call that hands ownership to the Page
into one of the Frame constructors, and removed it from all
the clients
removed const from Event parameter to the urlSelected function
(we rarely use const with DOM elements)
removed some redundant includes and declarations from various
header files
removed NSURL parameter from userAgent function -- if we need it we
can add it back, but converting from NSURL to KURL and back is
inefficient enough that it's best to have it out for now (since it's
been unused for years) -- if we add it back, we can choose an
appropriate parameter type that's always inexpensive to pass
did some basic cleanup in the IconLoader class, including removing
an unnecessary loop that added icon data a byte at a time
renamed safeLoad to load, since it's no different from the other
FrameLoader load functions, safety-wise
fixed some code that was trying to distinguish null frame name from
empty string frame name -- both should be handled the same, but callers
were doing it by checking for empty and turning it into null (in a way
that was causing extra round trips between NSString and WebCore::String)
corrected all uses of "get" and "post" to be uppercase "GET" and "POST"
and got rid of case-insensitive compares of methods
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_navigator.cpp:
(KJS::Navigator::getValueProperty):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::urlSelected):
(WebCore::FrameMac::userAgent):
* bridge/mac/FrameViewMac.mm:
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject rendererForView:]):
* bridge/mac/WebCorePageBridge.h:
* bridge/mac/WebCorePageBridge.mm:
* bridge/mac/WebCoreSettings.mm:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::urlSelected):
(WebCore::FrameWin::submitForm):
* bridge/win/FrameWin.h:
* dom/MouseRelatedEvent.cpp:
* dom/MouseRelatedEvent.h:
* dom/UIEvent.cpp:
(WebCore::UIEvent::~UIEvent):
* dom/UIEvent.h:
* dom/UIEventWithKeyState.h:
* dom/XMLTokenizer.cpp:
(WebCore::openFunc):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitClick):
(WebCore::HTMLFormElement::prepareSubmit):
(WebCore::HTMLFormElement::submit):
* html/HTMLFormElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
* loader/DocumentLoader.h:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/NavigationAction.h:
(WebCore::NavigationAction::event):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::create):
(WebCore::IconLoader::startLoading):
(WebCore::IconLoader::didReceiveData):
(WebCore::IconLoader::didFinishLoading):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::unreachableURL):
(WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
(WebCore::DocumentLoader::URLForHistory):
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::willSendRequest):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::shouldReload):
(WebCore::FrameLoader::notifyIconChanged):
(WebCore::FrameLoader::URL):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/mac/IconLoaderMac.mm:
(WebCore::IconLoader::notifyIconChanged):
* loader/mac/LoaderFunctionsMac.mm:
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::shouldLoadAsEmptyDocument):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
* loader/mac/NavigationActionMac.mm:
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction):
* loader/mac/ResourceLoaderMac.mm:
* loader/mac/SubresourceLoaderMac.mm:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::urlSelected):
(WebCore::Frame::submitFormAgain):
(WebCore::Frame::submitForm):
(WebCore::Frame::endIfNotLoading):
(WebCore::Frame::hitTestResultAtPoint):
* page/Frame.h:
* page/FramePrivate.h:
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdk::FrameGdk):
(WebCore::FrameGdk::submitForm):
(WebCore::FrameGdk::urlSelected):
* platform/gdk/FrameGdk.h:
* platform/mac/TextFieldMac.mm:
* platform/network/HTTPHeaderMap.h:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceHandleInternal.h:
* platform/network/mac/ResourceHandleMac.mm:
* platform/network/mac/ResourceResponseMac.h:
* platform/network/mac/ResourceResponseMac.mm:
(-[NSURLResponse WebCore]):
* platform/network/win/ResourceHandleWin.cpp:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::submitForm):
(WebCore::FrameQt::urlSelected):
* platform/qt/FrameQt.h:
* rendering/RenderLineEdit.cpp:
(WebCore::RenderLineEdit::returnPressed):
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc):
* xml/xmlhttprequest.cpp:
2006-11-03 Maciej Stachowiak <mjs@apple.com>
Reviewed by Adele.
- replaced receivedRedirect with new willSendRequest delegate
- removed most mac-specific loader functions
- use ResourceResponse more in loader code
* WebCore.xcodeproj/project.pbxproj: Add new files.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]): Adapted
for CachedResource method renames.
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
Ditto.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify): simplified
based on ResourceResponse
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage): adapt for ResourceResponse
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource): store a ResourceResponse;
platform response is now called platformResponse and expiration date
is removed.
(WebCore::CachedResource::~CachedResource): ditto
(WebCore::CachedResource::isExpired): ditto
* loader/CachedResource.h:
(WebCore::CachedResource::platformResponse): ditto
(WebCore::CachedResource::setResponse): ditto
(WebCore::CachedResource::canDelete): ditto
* loader/LoaderFunctions.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse): Adjusted for renames.
(WebCore::Loader::didReceiveResponse): Store whole ResourceResponse
in the CachedResource.
* loader/loader.h:
* loader/mac/FormDataStream.h:
* loader/mac/FormDataStream.m:
(WebCore::getStreamFormDatas): Rearranged things so it's
possible to get a FormData back out of a form data stream.
(WebCore::formCreate): ditto
(WebCore::formFinalize): ditto
(WebCore::httpBodyFromStream): ditto
* loader/mac/ImageDocumentMac.mm:
(WebCore::finishImageLoad): s/response/platformResponse/
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus): ditto
(WebCore::CachedResource::setPlatformResponse): ditto
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::willSendRequest): send redirect
to client appropriately
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::willSendRequest): new entry
point for SubresourceLoader, dispatch to client.
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::allowHTTPCookies): implemented
(WebCore::ResourceRequest::setAllowHTTPCookies): ditto
* platform/network/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse): initialize expiration
date(!)
* platform/network/cf/FormDataStreamCFNet.cpp: Added.
(WebCore::getStreamFormDatas): Added this, ported from NSURL version.
(WebCore::openNextStream): ditto
(WebCore::formCreate): ditto
(WebCore::formFinalize): ditto
(WebCore::formCanRead): ditto
(WebCore::formEventCallback): ditto
(WebCore::setHTTPBody): ditto
(WebCore::httpBodyFromStream): ditto
* platform/network/cf/FormDataStreamCFNet.h: Added.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest): implemented
(WebCore::ResourceHandle::start): use new ResourceRequest stuff
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::getResourceResponse): do nothing for a null response
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::willSendRequest): Implemented; dispatch to client.
* platform/network/mac/ResourceRequestMac.h: Added.
* platform/network/mac/ResourceRequestMac.mm: Added.
(WebCore::getResourceRequest): Added way to convert an NSURLRequest
to a ResourceRequest.
(WebCore::nsURLRequest): Opposite of the above.
* platform/network/cf/ResourceRequestCFNet.h: Added.
* platform/network/cf/ResourceRequestCFNet.cpp: Added.
(WebCore::getResourceRequest): Added way to convert an CFURLRequest
to a ResourceRequest.
(WebCore::cfURLRequest): Opposite of the above.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::willSendRequest): Renamed from receivedRedirect,
adjusted.
* xml/xmlhttprequest.h:
2006-11-04 Darin Adler <darin@apple.com>
Change suggested by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=11514
REGRESSION (r17438): Repro crash when opening a web archive
* bridge/mac/WebCorePageState.mm:
(-[WebCorePageState dealloc]): Add null check.
(-[WebCorePageState finalize]): Ditto.
2006-11-04 Bertrand Guiheneuf <guiheneuf@gmail.com>
Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Peter Kasting).
http://bugs.webkit.org/show_bug.cgi?id=11433
Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
* WebCore.vcproj/WebCore/WebCore.vcproj:
Added platform/graphics platform/network and platform/network/win to headers search paths
Created platform/graphics and platform/network filters in hierarchy
Moved GraphicsContext and GraphicsTypes to their respective filters
Added EditorClient.h
Added FrameLoader* files in loader/
Added HitTest* files in rendering/
Added Editor.* files in editing/
Added DeleteButton.* and DeleteButtonController.* in editing/
* bridge/win/ChromeClientWin.h: Added.
(WebCore::ChromeClientWin::~ChromeClientWin):
* bridge/win/EditorClientWin.h: Added.
(WebCore::EditorClientWin::~EditorClientWin):
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
(WebCore::FrameWin::urlSelected):
(WebCore::FrameWin::submitForm):
(WebCore::FrameWin::createNewWindow):
* bridge/win/FrameWin.h:
Added EditorClient parameter to constructor
Replace usage of FrameLoadRequest::m_request with FrameLoadRequest::resourceRequest()
Removed openURL() and openURLRequest from class definition
* bridge/win/PageWin.cpp:
* platform/AffineTransform.h:
* platform/cairo/AffineTransformCairo.cpp: Added.
(WebCore::AffineTransform::AffineTransform):
(WebCore::AffineTransform::setMatrix):
(WebCore::AffineTransform::map):
(WebCore::AffineTransform::mapRect):
(WebCore::AffineTransform::isIdentity):
(WebCore::AffineTransform::m11):
(WebCore::AffineTransform::m12):
(WebCore::AffineTransform::m21):
(WebCore::AffineTransform::m22):
(WebCore::AffineTransform::dx):
(WebCore::AffineTransform::dy):
(WebCore::AffineTransform::reset):
(WebCore::AffineTransform::scale):
(WebCore::AffineTransform::rotate):
(WebCore::AffineTransform::translate):
(WebCore::AffineTransform::shear):
(WebCore::AffineTransform::det):
(WebCore::AffineTransform::invert):
(WebCore::AffineTransform::operator cairo_matrix_t):
(WebCore::AffineTransform::operator== ):
(WebCore::AffineTransform::operator*= ):
(WebCore::AffineTransform::operator* ):
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
* platform/network/win/ResourceHandleWin.cpp:
(WebCore::ResourceHandle::onHandleCreated):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::goBackOrForward):
(WebCore::FrameWin::getHistoryLength):
(WebCore::FrameWin::historyURL):
(WebCore::ServeSynchronousRequest):
(WebCore::ChromeClientWin::canRunModal):
(WebCore::ChromeClientWin::runModal):
(WebCore::EditorClientWin::shouldDeleteRange):
(WebCore::EditorClientWin::shouldShowDeleteInterface):
(WebCore::EditorClientWin::isContinuousSpellCheckingEnabled):
(WebCore::EditorClientWin::isGrammarCheckingEnabled):
(WebCore::EditorClientWin::spellCheckerDocumentTag):
(WebCore::Path::transform):
(WebCore::PopupMenu::updateFromElement):
(WebCore::ResourceLoader::loadsBlocked):
(WebCore::systemBeep):
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintButton):
(WebCore::RenderThemeWin::paintTextField):
2006-11-04 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=11448
⟨ and ⟩ entities are mapped to the incorrect Unicode codepoint
* html/HTMLEntityNames.gperf: Use canonical Unicode equivalents for these characters.
2006-11-03 Mark Rowe <bdash@webkit.org>
Reviewed by Oliver.
Update Windows and Qt project files for file removals in r17585.
* CMakeLists.txt:
* WebCore.vcproj/WebCore/WebCore.vcproj:
2006-11-03 Zack Rusin <zack@kde.org>
Reviewed by Maciej.
The patch fixes text field drawing on the Qt platform.
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::paintTextField): Use the style to correctly
render the text field
2006-11-03 Oliver Hunt <oliver@apple.com>
Reviewed by Tim.
Correct incorrect call to SetCursor
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
2006-11-03 Adele Peterson <adele@apple.com>
Reviewed by Oliver.
Removed DeprecatedRenderSelect and ListBox classes.
* WebCore.xcodeproj/project.pbxproj:
* css/html4.css:
* html/HTMLOptionElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::recalcStyle):
(WebCore::HTMLSelectElement::isKeyboardFocusable):
(WebCore::HTMLSelectElement::isMouseFocusable):
(WebCore::HTMLSelectElement::createRenderer):
(WebCore::HTMLSelectElement::setRecalcListItems):
(WebCore::HTMLSelectElement::notifyOptionSelected):
(WebCore::HTMLSelectElement::defaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::updateListBoxSelection):
* html/HTMLSelectElement.h:
* platform/ListBox.h: Removed.
* platform/mac/FontCacheMac.mm:
* platform/mac/ListBoxMac.mm: Removed.
* platform/win/TemporaryLinkStubs.cpp:
* rendering/DeprecatedRenderSelect.cpp: Removed.
* rendering/DeprecatedRenderSelect.h: Removed.
2006-11-03 Maciej Stachowiak <mjs@apple.com>
Not reviewed, fix for accidental commit.
- rolled back more of the accidentall commit that I forgot.
* platform/network/mac/ResourceRequestMac.h: Removed.
* platform/network/mac/ResourceRequestMac.mm: Removed.
2006-11-03 Maciej Stachowiak <mjs@apple.com>
Not reviewed, fix for accidental commit.
- roll back some network changes accidentally committed with a previous patch.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::setExpireDate):
(WebCore::CachedResource::isExpired):
* loader/CachedResource.h:
(WebCore::CachedResource::response):
* loader/LoaderFunctions.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
(WebCore::Loader::didReceivedResponse):
* loader/loader.h:
* loader/mac/FormDataStream.h:
* loader/mac/FormDataStream.m:
(WebCore::formCreate):
(WebCore::formFinalize):
* loader/mac/ImageDocumentMac.mm:
(WebCore::finishImageLoad):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus):
(WebCore::CachedResource::setResponse):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::willSendRequest):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::receivedRedirect):
* platform/network/ResourceRequest.h:
* platform/network/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::redirectedToURL):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::receivedRedirect):
* xml/xmlhttprequest.h:
2006-11-03 Anders Carlsson <acarlsson@apple.com>
Rubber-stamped by Oliver.
Remove these, they have been merged with SVGRenderTreeAsText.
* rendering/SVGRenderAsText.cpp: Removed.
* rendering/SVGRenderAsText.h: Removed.
2006-11-03 Anders Carlsson <acarlsson@apple.com>
Build fix.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest):
2006-11-02 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin, Beth.
First cut at factoring Page's UIDelegate-related functions into Chrome
and ChromeClient.
Layout tests pass.
* bridge/mac/PageMac.mm: Removed platform-specific constructor, added
setBridge method to replace it.
(WebCore::Page::setBridge):
* bridge/mac/WebCorePageBridge.h: Simplified some things based on the fact
that WebCorePageBridge.h doesn't need to be included by ObjC-only files,
and, now that it uses PassRefPtr, can't be.
* page/Chrome.cpp: Added. Code copied and converted to c++ from WebCorePageBridge.mm.
* page/Page.h:
(WebCore::Page::dragCaretController): Made this function non-const so that
m_dragCaretController doesn't have to be mutable.
2006-11-03 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Adele.
http://bugs.webkit.org/show_bug.cgi?id=7323
REGRESSION (10.4.4): ondrag* events don't fire on page in a frame
* bridge/mac/FrameMac.h: Moved drag source information to a static variable
in FrameMac.mm. There can be only one drag active at any moment, and having
this information here was making sharing this information between
subframes hard.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac): Initialize sharedDragInfo.
(WebCore::FrameMac::freeClipboard):
(WebCore::FrameMac::dragHysteresisExceeded):
(WebCore::FrameMac::handleMouseMoveEvent):
(WebCore::FrameMac::handleMouseReleaseEvent):
(WebCore::FrameMac::mouseDown):
(WebCore::FrameMac::dragSourceMovedTo):
(WebCore::FrameMac::dragSourceEndedAt):
(WebCore::FrameMac::dispatchDragSrcEvent):
Access drag source info via sharedDragInfo - this fixes drag source even dispatching.
Also removed some old code that was forwarding mouse events to subviews to make
HTML editing work in subframes.
* page/FrameView.cpp:
(WebCore::FrameView::updateDragAndDrop):
(WebCore::FrameView::cancelDragAndDrop):
(WebCore::FrameView::performDragAndDrop):
Forward events to subframes for dispatching - this fixes drag target events.
2006-11-03 Zack Rusin <zack@kde.org>
Reviewed by Tim.
Fixing compile.
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::CachedResource::setPlatformResponse): Renamed from setResponse
2006-11-01 Zack Rusin <zack@kde.org>
Reviewed by Maciej.
Moving the word/sentence seperators into a file of their own
and implementing findWordBoundary.
* CMakeLists.txt:
* platform/qt/TemporaryLinkStubs.cpp:
* platform/qt/TextBoundaries.cpp: Added.
(WebCore::findNextSentenceFromIndex):
(WebCore::findSentenceBoundary):
(WebCore::findNextWordFromIndex):
(WebCore::findWordBoundary):
2006-11-03 Zack Rusin <zack@kde.org>
Reviewed by Maciej.
Compile on both KDE and Qt platforms
* CMakeLists.txt: add zlib explicitly
* platform/network/qt/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::self):
(WebCore::QtJob::QtJob):
(WebCore::QtJob::timerEvent): Integrate both implementations
so that moc can parse it
(WebCore::ResourceHandleManager::deliverJobData):
(WebCore::ResourceHandleManager::remove):
* platform/network/qt/ResourceHandleManager.h:
2006-11-03 Maciej Stachowiak <mjs@apple.com>
No review, suggested by Mitz.
- fix a #if to be #ifdef
* platform/graphics/svg/cg/SVGResourceImageCg.cpp:
2006-11-03 Zack Rusin <zack@kde.org>
Reviewed and landed by Maciej.
Compile on the Qt platform.
* ksvg2/misc/KCanvasRenderingStyle.h:
* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2006-11-03 Zack Rusin <zack@kde.org>
Reviewed by Hyatt. Landed by Maciej.
Adding setPlatformPen/setPlatformFont/setPlatformFillColor
to graphics context to be able to set consistant state
on the platform specific painter without having to change
fill/stroke/font on every operation. This fixes color/stroke/fill
and font handling in the Qt port.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::setFont):
(WebCore::GraphicsContext::setPen):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::setPlatformPen):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformFont):
* platform/graphics/GraphicsContext.h:
* platform/qt/GraphicsContextQt.cpp:
(WebCore::toQtCompositionMode):
(WebCore::toQtLineCap):
(WebCore::toQtLineJoin):
(WebCore::toQPenStyle):
(WebCore::penToQPen):
(WebCore::TransparencyLayer::TransparencyLayer):
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::setPlatformFont):
(WebCore::GraphicsContext::setPlatformPen):
(WebCore::GraphicsContext::setPlatformFillColor):
* platform/qt/ScrollViewCanvasQt.cpp:
(WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
(WebCore::ScrollViewCanvasQt::paintEvent):
(WebCore::ScrollViewCanvasQt::handleKeyEvent):
* platform/qt/ScrollViewCanvasQt.h:
2006-11-02 Adele Peterson <adele@apple.com>
Reviewed by Anders.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=9581
REGRESSION: The new NativeTextArea scrolls to the top when the control is unfocused.
Test: fast/forms/textarea-no-scroll-on-blur.html
* rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent):
On blur, only scroll back to the start for text fields.
2006-11-02 Anders Carlsson <acarlsson@apple.com>
Another build fix.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
2006-11-02 Anders Carlsson <acarlsson@apple.com>
Build fix.
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
2006-11-02 Kevin Ollivier <kevino@theolliviers.com>
Reviewed by Geoff, landed by Anders.
Fix dependency problems caused when running move-js-headers.sh
* move-js-headers.sh:
Use cp -p instead of just cp so that the modification time
of the original files are used.
2006-11-02 Adam Roben <aroben@apple.com>
Reviewed by Tim H, landed by Anders.
Fixes http://bugs.webkit.org/show_bug.cgi?id=10840
REGRESSION: Shadow of file upload button is clipped
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject): Add 2px to the clip
height to keep from clipping in the shadow
2006-11-02 Eike Preuss <mail@eikepreuss.de>
Reviewed by Maciej, landed by Anders.
* platform/qt/ScrollViewQt.cpp: Fix translation of coordinates between
content and window. ScrollViewQt already receives correct content
coordinates from QScrollArea.
(WebCore::ScrollView::contentsToWindow):
(WebCore::ScrollView::windowToContents):
2006-11-02 Simon Hausmann <hausmann@kde.org>
Reviewed by Maciej, landed by Anders
* CMakeLists.txt: Make linkage against KDE libraries conditional
* platform/network/qt/ResourceHandleManager.cpp: Added a simple
Qt base resource handler that supports only requests to the
local filesystem. Used when compiling without KDE support.
ResourceHandleManager.cpp/h are to be split up into ResourceHandleManagerKDE
and ResourceHandleManagerQt in the future, as well as QtJob.cpp/h.
(WebCore::QtJob::QtJob):
(WebCore::QtJob::timerEvent):
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::~ResourceHandleManager):
(WebCore::ResourceHandleManager::self):
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
(WebCore::ResourceHandleManager::deliverJobData):
* platform/network/qt/ResourceHandleManager.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::runJavaScriptAlert):
(WebCore::FrameQtClientDefault::runJavaScriptConfirm):
(WebCore::FrameQtClientDefault::runJavaScriptPrompt):
* platform/qt/LoaderFunctionsQt.cpp: Use the Qt messagebox and
input dialog functions when compiling without KDE support
(WebCore::ServeSynchronousRequest):
2006-11-02 David Carson <dacarson@gmail.com>
Reviewed by Geoff, landed by Anders.
Fix for: http://bugs.webkit.org/show_bug.cgi?id=11471
Initializing variable in constructor.
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
2006-11-02 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
Use CFMutableURLRequestRef instead of CFHTTPMessageRef since not all URL requests are http requests.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::addHeadersFromHashMap):
Don't set all headers at once since that clears any previous headers set.
(WebCore::ResourceHandle::start):
2006-11-02 Adele Peterson <adele@apple.com>
Reviewed by Mitz and Geoff.
- Fix for:
<rdar://problem/4650271> REGRESSION(NativeTextArea): Textareas don't get scrollbars when text gets too big for content area (10105)
<rdar://problem/4650813> REGRESSION(tiger-leopard): typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
<rdar://problem/4658779> REGRESSION: Text selection is weird in textareas in Trac wiki editing pages
Test: fast/forms/textarea-scrollbar.html
To avoid some of our flexbox bugs for textareas, we're moving the text controls back to RenderBlock. This should make them
a lot more stable. In the future, when we've worked out more of the flexbox kinks, we may want to consider moving them back.
* rendering/RenderTextControl.h: Convert text controls back to RenderBlock instead of RenderFlexibleBox.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
(WebCore::RenderTextControl::setStyle):
(WebCore::RenderTextControl::createDivStyle):
(WebCore::RenderTextControl::updateFromElement):
(WebCore::RenderTextControl::calcHeight):
(WebCore::RenderTextControl::baselinePosition):
(WebCore::RenderTextControl::nodeAtPoint):
(WebCore::RenderTextControl::layout): Set the inner div's height explicitly before doing a normal layout.
(WebCore::RenderTextControl::scrollWidth):
(WebCore::RenderTextControl::scrollHeight):
(WebCore::RenderTextControl::scrollLeft):
(WebCore::RenderTextControl::scrollTop):
* rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Make subtree layout optimization work for textareas.
2006-11-02 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen
* editing/Selection.cpp:
(WebCore::Selection::showTreeForThis):
this debugging method now displays start offset and end offset, at Darin's suggestion
2006-11-01 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<rdar://problem/4062865>
Copy/paste of a select element fails to include the options
* editing/SelectionController.cpp:
(WebCore::SelectionController::modify): Added paragraphBoundary.
* editing/htmlediting.cpp:
(WebCore::canHaveChildrenForEditing): Added checks for input elements
and textareas. Insertion operations would fail when performed just
before/after one of these elements b/c the content would be put inside
the element.
(WebCore::enclosingNodeWithTag): Fixed a problem when calling these in non
editable content, and made the code to stop at an root faster (don't check
isDescendantOf on every iteration).
(WebCore::enclosingNodeOfType): Ditto.
(WebCore::enclosingList): Ditto.
(WebCore::enclosingListChild): Ditto. Added a FIXME, this function seems
inappropriately named.
* editing/markup.cpp:
(WebCore::startMarkup): Use the text node's value instead of its rendered
content for text nodes inside select elements. One might also turn off
annotation when createMarkup enters a select element, but createMarkup
is iterative, not recursive, so doing so would be complicated.
(WebCore::createMarkup): Add markup for unrendered nodes if they are
descendants of a select element.
* editing/visible_units.cpp:
(WebCore::startOfParagraph): Migrate to isBlock/enclosingBlock. Fixes bug
where various replaced elements can't be copied when they are the only
thing selected.
(WebCore::endOfParagraph): Ditto.
2006-11-01 Oliver Hunt <oliver@apple.com>
Reviewed by Adam.
Converting more or kcanvas/quartz from Obj-C to C++
Minor SVG updates
compatibility fixes
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/KRenderingPaintServer.h:
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.cpp: Added.
(WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: Removed.
* kcanvas/device/quartz/KRenderingPaintServerQuartz.cpp: Added.
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: Removed.
* kcanvas/device/quartz/QuartzSupport.h:
* ksvg2/css/SVGCSSStyleSelector.cpp:
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/scripts/cssmakeprops:
* ksvg2/scripts/cssmakevalues:
* ksvg2/scripts/make_names.pl:
* ksvg2/svg/SVGAnimateColorElement.cpp:
* ksvg2/svg/SVGAnimateTransformElement.cpp:
* ksvg2/svg/SVGAnimationElement.cpp:
* ksvg2/svg/SVGMaskElement.cpp:
* ksvg2/svg/SVGPatternElement.cpp:
* ksvg2/svg/svgpathparser.cpp:
* platform/Path.cpp:
* platform/graphics/svg/SVGResourceImage.h:
* rendering/RenderPath.cpp:
* rendering/SVGRenderAsText.cpp:
2006-11-02 Mitz Pettel <mitz@webkit.org>
Reviewed by Adele.
- Fix a regression from r17521: painting of and crash caused by tables
with collapsed borders
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint): Changed 'paintInfo' to 'info'. Prior to
r17521, 'paintInfo' was the local variable. Now 'info' is the local variable
and 'paintInfo' is the parameter, which we were accidently modifying.
2006-11-01 Adele Peterson <adele@apple.com>
Reviewed by Mitz.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=11277
REGRESSION: Incomplete repaint of overflow areas when deleting
Restrict the repaint rect for overflow blocks after the height has been fully computed.
Also, adjust the repaint rect coordinates for the scroll offset.
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):
* rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
2006-11-01 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11474
Rename the "p" member variable of the PaintInfo struct to "context"
- Renames the 'p' and 'r' member variables of the PaintInfo struct to
'context' and 'rect' respectively.
- Assorted surrounding cleanups.
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
* rendering/EllipsisBox.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::paint):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
(WebCore::InlineFlowBox::paintBackground):
(WebCore::InlineFlowBox::paintBackgroundAndBorder):
(WebCore::InlineFlowBox::paintDecorations):
* rendering/InlineFlowBox.h:
* rendering/InlineRunBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::paintCaret):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::paintEllipsisBoxes):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::fillSelectionGaps):
(WebCore::RenderBlock::fillInlineSelectionGaps):
(WebCore::RenderBlock::fillBlockSelectionGaps):
(WebCore::RenderBlock::fillHorizontalSelectionGap):
(WebCore::RenderBlock::fillVerticalSelectionGap):
(WebCore::RenderBlock::fillLeftSelectionGap):
(WebCore::RenderBlock::fillRightSelectionGap):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paint):
(WebCore::RenderBox::paintRootBoxDecorations):
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderBox.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::paintObject):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::continuationBefore):
(WebCore::RenderFlow::addChildWithContinuation):
(WebCore::RenderFlow::addChild):
(WebCore::RenderFlow::attachLineBox):
(WebCore::RenderFlow::destroy):
(WebCore::RenderFlow::dirtyLinesFromChangedChild):
(WebCore::RenderFlow::dirtyLineBoxes):
(WebCore::RenderFlow::createInlineBox):
(WebCore::RenderFlow::paintLines):
(WebCore::RenderFlow::getAbsoluteRepaintRect):
(WebCore::RenderFlow::lowestPosition):
(WebCore::RenderFlow::rightmostPosition):
(WebCore::RenderFlow::leftmostPosition):
(WebCore::RenderFlow::caretRect):
(WebCore::RenderFlow::addFocusRingRects):
(WebCore::RenderFlow::paintOutline):
(WebCore::RenderFlow::paintOutlineForLine):
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::paint):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::paint):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paint):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintObject):
(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::paint):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::paintObject):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::paint):
* rendering/RenderObject.h:
(WebCore::RenderObject::PaintInfo::PaintInfo):
(WebCore::RenderObject::paintBoxDecorations):
(WebCore::RenderObject::paintingRootForChildren):
(WebCore::RenderObject::shouldPaintWithinRoot):
(WebCore::RenderObject::printBoxDecorations):
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGContainer.h:
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::paint):
* rendering/RenderSVGText.h:
(WebCore::RenderSVGText::renderName):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
(WebCore::RenderTable::paintBoxDecorations):
* rendering/RenderTable.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::paint):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
* rendering/RenderTableCell.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::paint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::getBaseline):
(WebCore::RenderTableSection::setNeedCellRecalc):
* rendering/RenderText.h:
(WebCore::RenderText::renderName):
(WebCore::RenderText::paint):
(WebCore::RenderText::element):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::RenderTheme):
(WebCore::RenderTheme::~RenderTheme):
(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::themeChanged):
(WebCore::RenderTheme::supportsHover):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::setCheckboxSize):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::setRadioSize):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::setButtonSize):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListButton):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintCheckbox):
(WebCore::RenderThemeMac::paintRadio):
(WebCore::RenderThemeMac::paintButton):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButton):
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
(WebCore::RenderView::paintBoxDecorations):
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paint):
* rendering/RenderWidget.h:
(WebCore::RenderWidget::isWidget):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paintEllipsisBox):
(WebCore::RootInlineBox::paintCustomHighlight):
(WebCore::RootInlineBox::paint):
(WebCore::RootInlineBox::fillLineSelectionGap):
* rendering/RootInlineBox.h:
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-11-01 Anders Carlsson <acarlsson@apple.com>
Reviewed by Oliver, Brady.
* platform/network/ResourceResponse.h:
(WebCore::ResourceResponse::setLastModifiedDate):
(WebCore::ResourceResponse::lastModifiedDate):
Add getters and setters for last modified dadte.
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::getResourceResponse):
Fetch the last modified date. Add correct offset to expired date.
2006-11-01 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Mitz.
Added missing "break;" statement in switch statement from r17493.
Bug 11442: [CSS 3] support for cursor: all-scroll
http://bugs.webkit.org/show_bug.cgi?id=11442
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2006-10-31 Mitz Pettel <mitz@webkit.org>
Reviewed by Maciej.
- fix image dragging
This is covered by editing/selection/drag-to-contenteditable-iframe.html
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString): Changed imageTag to imgTag, for
HTML IMG elements.
(WebCore::HitTestResult::absoluteImageURL): Ditto.
2006-10-31 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej.
This adds the back-end of the remaining WebElementDictionary
functions into HitTestResult.
* WebCore.exp:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::title):
(WebCore::displayString): This is nearly identical to the
displayString() defined in DOMInternal.mm except that it returns a
String instead of an NSString. The old code path used the
DOMInternal method, so I made a new one here for the new code path.
(WebCore::HitTestResult::altDisplayString):
(WebCore::HitTestResult::image):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::absoluteLinkURL):
(WebCore::HitTestResult::titleDisplayString):
(WebCore::HitTestResult::textContent):
* rendering/HitTestResult.h:
2006-10-31 John Sullivan <sullivan@apple.com>
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::markMisspellings):
Tiger build fix: added an #ifndef BUILDING_ON_TIGER where one was needed.
2006-10-31 John Sullivan <sullivan@apple.com>
Reviewed by Maciej
- fixed <rdar://problem/4804627> ToolTips do not appear for grammar suggestions
The foundation of this was in my last checkin. This checkin is all about displaying
the correct string in the toolTip.
* dom/DocumentMarker.h:
New description field in this struct.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
When adding a grammar marker, supply the appropriate description. Also, added a comment
about the remaining work to make grammar checking return sensible answers.
(WebCore::FrameMac::markMisspellings):
ditto (yes, still needs some refactoring to minimize duplicated code)
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::addMarker):
Now takes an optional description string
(WebCore::Document::markerContainingPoint):
New function, returns a pointer to the (first) marker of the specified type whose rect
contains the specified point, or 0 if none.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip):
Replaced hardwired string placeholder implementation with code that uses markerContainingPoint
and gets the description from the marker.
2006-10-31 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej.
Fixed crash resulting from Darin's last patch to remove BrowserExtension.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::createWindow):
* manual-tests/window-open-features-parsing.html: Updated for clarity.
2006-10-31 Geoffrey Garen <ggaren@apple.com>
Reviewed by Alice.
Moved some Editing code from WebKit, the bridge, and WebCore::Frame down
to WebCore::Editor.
Layout tests pass.
Renamed "may*" to "can*" because "can" is more accurate (these functions
aren't just about permission) and it matches WebKit.
(WebCore::FrameMac::handleMouseMoveEvent): Directly test for dragging in a
password field. Now that WebCore fully implements canCopy(), it doesn't just
mean "the selection is not in a password field" anymore.
(-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Removed this #ifed-out code.
The fact that it's not called anymore may represent a security issue, but I
don't see how commented-out code will help reveal the issue, and the
bridge is going away, anyway.
* editing/SelectionController.h: Changed selection() calls to references
to m_sel, to match the rest of the file.
2006-10-31 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4711063>
Pasting 10K lines into Mail/Blot takes ~7sec, in TextEdit it takes ~1.5sec
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::ReplacementFragment): Don't do the test
insertion and plain text string creation unless we need the string
for a BeforeTextInserted event handler or for a plain text only region.
(WebCore::ReplacementFragment::removeInterchangeNodes): Added, moved
code here from ReplacementFragment's constructor.
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Added a
FIXME.
* editing/ReplaceSelectionCommand.h:
2006-10-31 Ada Chan <adachan@apple.com>
Reviewed by Adam
Correct forward declarations of the HitTestRequest struct.
* rendering/EllipsisBox.h:
* rendering/InlineBox.h:
* rendering/InlineFlowBox.h:
* rendering/RenderLayer.h:
* rendering/RenderObject.h:
2006-10-31 John Sullivan <sullivan@apple.com>
Reviewed by Beth and Adam
Support for displaying tooltips for bad grammar. Currently this always displays the same tooltip;
next I'll make it use a string that's relevant for a specific grammar error.
* WebCore.exp:
export symbol for spellingToolTip function
* rendering/HitTestResult.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::spellingToolTip):
new function, returns the string to be used in a tool tip that describes the questionable grammar
* rendering/InlineTextBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
now takes a style and font, needed to compute the rect representing the range containing
questionable grammar. Computes the rect and associates it with the marker.
(WebCore::InlineTextBox::paintDocumentMarkers):
Pass in the style and font now needed by paintSpellingOrGrammarMarker
2006-10-31 Adele Peterson <adele@apple.com>
Removed commented out variable from last checkin.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2006-10-31 Brady Eidson <beidson@apple.com>
Build fix (unused variable in release builds)
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2006-10-31 Adele Peterson <adele@apple.com>
Reviewed by Adam.
- Fix for http://bugs.webkit.org/show_bug.cgi?id=11127 NativeListBox: arrow and drag selection should pivot around one list item
and http://bugs.webkit.org/show_bug.cgi?id=11173 REGRESSION (NativeListBox): Shift-clicking items in list box doesn't expand the current selection
and http://bugs.webkit.org/show_bug.cgi?id=11417 REGRESSION: onchange does not fire for list-style select elements
Tests:
* LayoutTests/fast/forms/listbox-selection.html
* LayoutTests/fast/forms/listbox-onchange.html
* html/HTMLSelectElement.h: Added m_selectedListIndexBase and m_selectedListIndexExtent to track indices for the active selection in progress.
Added 2 vectors to cache selection state. One is kept so that the previous selection state can be restored as the active selection grows and shrinks.
And one for onChange, that is updated after onChange is fired.
Added m_activeSelectionState to keep track of whether the current drag selection is selecting or deselecting.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Initialized new variables.
(WebCore::HTMLSelectElement::setSelectedIndex): If needed, initialize m_selectedListIndexBase and m_selectedListIndexExtent.
(WebCore::HTMLSelectElement::dispatchBlurEvent): Only fire the onChange event here for menu lists.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Updates base and extent variables for mouse and key events.
(WebCore::HTMLSelectElement::setBase): Added. Also caches the selection state.
(WebCore::HTMLSelectElement::setExtent): Added.
(WebCore::HTMLSelectElement::updateListBoxSelection): Added.
(WebCore::HTMLSelectElement::listBoxOnChange): Added.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement): Only scroll to reveal the first index if both the first and last indices aren't visible.
(WebCore::RenderListBox::listIndexAtOffset): Added. Replaces optionAtPoint, which is no longer used.
(WebCore::RenderListBox::autoscroll): Now sets the selection using the select's base and extent.
(WebCore::RenderListBox::stopAutoscroll): Added. Tells the select element to fire onChange. This is needed because the autoscroll can end from a mouseUp
outside of the list box, and the select element won't get a mouseUp event directly. But the frame will stop the autoscroll at that point, and now we can
notify the select element from here.
(WebCore::RenderListBox::scrollToRevealElementAtListIndex): Checks new listIndexIsVisible method.
(WebCore::RenderListBox::listIndexIsVisible): Added.
(WebCore::RenderListBox::valueChanged): Removed unnecessary printf.
* page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Added rendererIsBeingDestroyed argument, so when the renderer calls this during destruction,
we don't try to use the pointer to that renderer to call stopAutoscroll. This is done so a renderer that's still alive has a chance to do some cleanup after autoscroll.
* rendering/RenderListBox.h: (WebCore::RenderListBox::shouldAutoscroll): Always returns true now, since we're also updating selection from the autoscroll timer.
* rendering/RenderObject.h: (WebCore::RenderObject::stopAutoscroll): Added.
* rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): Calls stopAutoscrollTimer with rendererIsBeingDestroyed argument.
2006-10-31 Beth Dakin <bdakin@apple.com>
Forgot to check this in a minute ago. Oops!! Thanks Mitz!
* rendering/HitTestRequest.h: Added.
(WebCore::HitTestRequest::HitTestRequest):
2006-10-31 Beth Dakin <bdakin@apple.com>
Reviewed by Maciej.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11461 HitTestResult
should be split into HitTestRequest and HitTestResult
This patch creates a new struct called HitTestRequest that holds
the three boolean values (readonly, active, and mouseMove) that
were formerly a part of HitTestResult. All hitTest() and
nodeAtPoint() functions now take a HitTestRequest in addition to
the HitTestResult.
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::eventMayStartDrag):
(WebCore::FrameMac::handleMouseMoveEvent):
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject doAXTextMarkerForPosition:]):
(-[WebCoreAXObject accessibilityHitTest:]):
* dom/Document.cpp:
(WebCore::Document::elementFromPoint):
(WebCore::Document::prepareMouseEvent):
* editing/SelectionController.cpp:
(WebCore::SelectionController::contains):
* page/Frame.cpp:
(WebCore::Frame::hitTestResultAtPoint):
* page/FrameView.cpp:
(WebCore::FrameView::handleWheelEvent):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/EllipsisBox.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
* rendering/HitTestResult.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):
* rendering/InlineBox.h:
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/InlineTextBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
* rendering/RenderBox.h:
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::hitTestLines):
* rendering/RenderFlow.h:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::nodeAtPoint):
* rendering/RenderForeignObject.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::nodeAtPoint):
* rendering/RenderFrameSet.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint):
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint):
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateHoverActiveState):
* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest):
(WebCore::RenderObject::nodeAtPoint):
* rendering/RenderObject.h:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::nodeAtPoint):
* rendering/RenderPath.h:
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtPoint):
* rendering/RenderSVGImage.h:
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtPoint):
* rendering/RenderSVGText.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
* rendering/RenderText.h:
(WebCore::RenderText::nodeAtPoint):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::nodeAtPoint):
* rendering/RenderTextControl.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::nodeAtPoint):
* rendering/RootInlineBox.h:
2006-10-31 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed by Maciej.
Bug 11442: [CSS 3] support for cursor: all-scroll
http://bugs.webkit.org/show_bug.cgi?id=11442
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSValueKeywords.in:
* css/cssparser.cpp:
(WebCore::CSSParser::parseValue):
* page/FrameView.cpp:
(WebCore::selectCursor):
* rendering/RenderStyle.h:
2006-10-31 Oliver Hunt <oliver@apple.com>
Reviewed by Geoff.
Converting Obj-C++ to C++ in kcanvas
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
* kcanvas/device/quartz/KCanvasItemQuartz.cpp: Added.
* kcanvas/device/quartz/KCanvasItemQuartz.mm: Removed.
* kcanvas/device/quartz/KRenderingDeviceQuartz.cpp: Added.
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm: Removed.
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* kcanvas/device/quartz/QuartzSupport.cpp: Added.
* kcanvas/device/quartz/QuartzSupport.h:
* kcanvas/device/quartz/QuartzSupport.mm: Removed.
* platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Added.
(WebCore::SVGResourceClipper::applyClip):
* platform/graphics/svg/cg/SVGResourceClipperCg.mm: Removed.
* platform/graphics/svg/cg/SVGResourceImageCg.cpp: Added.
* platform/graphics/svg/cg/SVGResourceImageCg.mm: Removed.
2006-10-31 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4808375>
REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) [11460}
Completely back out r17276 because of performance issues.
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::TextIterator::advance):
(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::TextIterator::handleReplacedElement):
(WebCore::TextIterator::handleNonTextNode):
(WebCore::TextIterator::exitNode):
(WebCore::TextIterator::emitCharacter):
(WebCore::TextIterator::range):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::SimplifiedBackwardsTextIterator::advance):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
(WebCore::SimplifiedBackwardsTextIterator::emitCharacter):
(WebCore::SimplifiedBackwardsTextIterator::emitNewline):
(WebCore::SimplifiedBackwardsTextIterator::range):
(WebCore::CharacterIterator::range):
(WebCore::TextIterator::rangeFromLocationAndLength):
* editing/TextIterator.h:
(WebCore::TextIterator::atEnd):
(WebCore::SimplifiedBackwardsTextIterator::atEnd):
2006-10-31 Darin Adler <darin@apple.com>
Reviewed by Brady.
- got "action dictionary" code out of FrameLoader,
replacing with a class called NavigationAction
* loader/DocumentLoader.h: Changed m_triggeringAction to a NavigationAction.
* loader/mac/DocumentLoaderMac.mm:
(WebCore::DocumentLoader::triggeringAction): Ditto.
(WebCore::DocumentLoader::setTriggeringAction): Ditto.
* loader/FrameLoader.h: Changed action parameters to NavigationAction.
* loader/FrameLoaderClient.h: Changed action parameters to NavigationAction.
Removed elementForEvent.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load): Ditto.
(WebCore::FrameLoader::reload): Ditto.
(WebCore::FrameLoader::checkNewWindowPolicy): Ditto.
(WebCore::FrameLoader::checkNavigationPolicy): Ditto.
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Ditto.
(WebCore::FrameLoader::post): Ditto.
* loader/NavigationAction.h: Added.
* loader/NavigationAction.cpp: Added.
* loader/mac/NavigationActionMac.mm: Added.
* loader/mac/MainResourceLoaderMac.mm: Fixed copyright.
* WebCore.xcodeproj/project.pbxproj: Updated for new files.
* WebCore.exp: Updated.
2006-10-31 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam.
Build fix
* platform/win/CookieJarWin.cpp:
(WebCore::cookies):
2006-10-31 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Maciej. Landed by Adam.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11463
Move KCanvasTreeDebug into rendering, named as SVGRenderTreeAsText.*,
as dicussed with Dave. Also kill the outdated DESIGN document.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/DESIGN: Removed.
* kcanvas/KCanvasFilters.cpp:
* kcanvas/KCanvasTreeDebug.cpp: Moved to rendering/SVGRenderTreeAsText
* kcanvas/KCanvasTreeDebug.h: Ditto.
* kcanvas/device/KRenderingPaintServerGradient.cpp:
* kcanvas/device/KRenderingPaintServerPattern.cpp:
* kcanvas/device/KRenderingPaintServerSolid.cpp:
* platform/graphics/svg/SVGResourceClipper.cpp:
* rendering/RenderTreeAsText.cpp:
* rendering/SVGRenderTreeAsText.cpp: Added.
* rendering/SVGRenderTreeAsText.h: Added.
(WebCore::operator<<):
2006-10-31 Darin Fisher <darin@chromium.org>
Reviewed by Maciej.
Fixes http://bugs.webkit.org/show_bug.cgi?id=11286
Includes some CRLF -> LF fixups.
* platform/win/CookieJarWin.cpp:
(WebCore::cookies):
2006-10-31 Adam Roben <aroben@apple.com>
Reviewed by Steve.
Fix some incorrect forward declarations.
* loader/FrameLoader.h:
* page/Frame.h:
2006-10-31 Darin Adler <darin@apple.com>
* WebCore.xcodeproj/project.pbxproj: Change GraphicsTypes.h to a private header to
try to fix the build on the buildbot.
2006-10-31 Darin Adler <darin@apple.com>
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling): Build fix for release Tiger builds.
(WebCore::FrameMac::markMisspellings): Ditto.
2006-10-31 John Sullivan <sullivan@apple.com>
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
build fix: needed #ifndef BUILDING_ON_TIGER in one more place
2006-10-30 John Sullivan <sullivan@apple.com>
Reviewed by Adam Roben
- fixes <rdar://problem/4804614> Bad grammar ranges are not visibly marked
This patch introduces much of the guts of grammar checking, though still not enough to actually
check grammar sensibly, due to:
<rdar://problem/4811175> Many false reports of bad grammar appear, caused by insufficient
context passed to grammar checker
* platform/Logging.h:
* platform/Logging.cpp:
new log channel SpellingAndGrammar
* bridge/mac/WebCorePageBridge.mm:
(initializeLoggingChannelsIfNecessary):
initialize new log channel
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
Compute bad grammar range when computing misspelling range. Find first detailed grammar range from the
set NSSpellChecker determines. Compare it with misspelling range to see which is earliest (or shortest
in the event of a tie), and do further processing with that one (select range; create marker that
causes range to be visibly marked with a funky underline; update spelling panel appropriately).
(WebCore::FrameMac::markMisspellings):
More or less the same types of changes as in advanceToNextMisspelling The loops are structured just
differently enough to make sharing code between these two functions a little tricky, so I decided to
save that for a later patch.
(WebCore::FrameMac::respondToChangedSelection):
remove grammar markers when we remove spelling markers
2006-10-31 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz.
Fix Qt/Linux build with older gcc3.3.4.
* bindings/js/kjs_window.cpp:
(KJS::WindowFunc::callAsFunction):
2006-10-31 Zack Rusin <zack@kde.org>
Reviewed by Mitz.
Fix the Qt build after last nights changes.
* WebCore/platform/qt/FrameQt.cpp:
* WebCore/platform/qt/EditorClientQt.h:
* WebCore/platform/qt/EditorClientQt.cpp:
* WebCore/platform/graphics/svg/qt/SVGResourceImageQt.cpp:
* WebCore/platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
* WebCore/CMakeLists.txt:
* WebCore/kcanvas/device/qt/KRenderingDeviceQt.cpp:
* WebKitQt/QtLauncher/CMakeLists.txt:
* WebKitQt/WebKitPart/CMakeLists.txt:
2006-10-30 Darin Adler <darin@apple.com>
Reviewed by Anders.
- remove BrowserExtension
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::WindowFunc::callAsFunction):
* bridge/BrowserExtension.h: Removed.
* bridge/mac/BrowserExtensionMac.h: Removed.
* bridge/mac/BrowserExtensionMac.mm: Removed.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac):
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::urlSelected):
* bridge/win/BrowserExtensionWin.cpp: Removed.
* bridge/win/BrowserExtensionWin.h: Removed.
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
* loader/FrameLoader.h:
* loader/icon/IconLoader.cpp:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::createWindow):
* page/Frame.cpp:
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::submitForm):
(WebCore::Frame::scheduleHistoryNavigation):
(WebCore::Frame::redirectionTimerFired):
* page/Frame.h:
* page/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::isEmpty):
(WebCore::FrameLoadRequest::resourceRequest):
(WebCore::FrameLoadRequest::frameName):
(WebCore::FrameLoadRequest::setFrameName):
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
(WebCore::FramePrivate::~FramePrivate):
* platform/gdk/BrowserExtensionGdk.h: Removed.
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdk::FrameGdk):
* platform/gdk/TemporaryLinkStubs.cpp:
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::isEmpty):
2006-10-31 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Modified from original due to earlier reversion
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11436
Better SVG integration in WebKit, Part I.
The patch is mostly about creating a new platform/graphics directory, and
moving the kcanvas resources (clipper/masker/marker) there (in svg budir),
with a new name (KCanvasClipper -> SVGResourceClipper). Also fix several ownership
issues, by using ref counting (the SVG classes now store RefPtrs to the resources).
KCanvasFilters is still left in kcanvas/ subdirectory, to be converted in a next patch.
All details of the patch, and upcoming patches can be found in the bug report.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* graphics/svg/SVGResource.cpp: Removed.
* graphics/svg/SVGResourceClipper.cpp: Removed.
* graphics/svg/SVGResourceClipper.h: Removed.
* graphics/svg/SVGResourceImage.h: Removed.
* graphics/svg/SVGResourceListener.h: Removed.
* graphics/svg/SVGResourceMarker.cpp: Removed.
* graphics/svg/SVGResourceMarker.h: Removed.
* graphics/svg/SVGResourceMasker.cpp: Removed.
* graphics/svg/SVGResourceMasker.h: Removed.
* kcanvas/KCanvasClipper.cpp: Removed.
* kcanvas/KCanvasClipper.h: Removed.
* kcanvas/KCanvasCreator.cpp: Removed.
* kcanvas/KCanvasCreator.h: Removed.
* kcanvas/KCanvasFilters.cpp:
(WebCore::getFilterById):
* kcanvas/KCanvasFilters.h:
* kcanvas/KCanvasImage.h: Removed.
* kcanvas/KCanvasMarker.cpp: Removed.
* kcanvas/KCanvasMarker.h: Removed.
* kcanvas/KCanvasMasker.cpp: Removed.
* kcanvas/KCanvasMasker.h: Removed.
* kcanvas/KCanvasResource.cpp: Removed.
* kcanvas/KCanvasResource.h: Removed.
* kcanvas/KCanvasResourceListener.h: Removed.
* kcanvas/KCanvasTreeDebug.cpp:
(WebCore::writeRenderResources):
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingPaintServer.h:
(WebCore::KRenderingPaintServer::KRenderingPaintServer):
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(WebCore::KRenderingPaintServerGradient::listener):
(WebCore::KRenderingPaintServerGradient::setListener):
* kcanvas/device/KRenderingPaintServerGradient.h:
* kcanvas/device/KRenderingPaintServerPattern.cpp:
(WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
(WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
(WebCore::KRenderingPaintServerPattern::tile):
(WebCore::KRenderingPaintServerPattern::setTile):
(WebCore::KRenderingPaintServerPattern::listener):
(WebCore::KRenderingPaintServerPattern::setListener):
* kcanvas/device/KRenderingPaintServerPattern.h:
* kcanvas/device/KRenderingPaintServerSolid.h:
* kcanvas/device/qt/KCanvasClipperQt.cpp: Removed.
* kcanvas/device/qt/KCanvasClipperQt.h:
* kcanvas/device/qt/KRenderingDeviceQt.cpp:
(WebCore::KRenderingDeviceQt::contextForImage):
(WebCore::KRenderingDeviceQt::createResource):
(WebCore::KRenderingDeviceQt::createPaintServer):
* kcanvas/device/qt/KRenderingDeviceQt.h:
* kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
* kcanvas/device/qt/RenderPathQt.h: Removed.
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::getCIFilterStack):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
* kcanvas/device/quartz/KCanvasMaskerQuartz.h: Removed.
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Removed.
* kcanvas/device/quartz/KCanvasResourcesQuartz.h: Removed.
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm: Removed.
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::contextForImage):
(WebCore::KRenderingDeviceQuartz::createPaintServer):
(WebCore::KRenderingDeviceQuartz::createResource):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
(WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
(WebCore::KRenderingPaintServerGradientQuartz::setup):
(WebCore::KRenderingPaintServerGradientQuartz::teardown):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(WebCore::patternCallback):
(WebCore::KRenderingPaintServerPatternQuartz::setup):
* kcanvas/device/quartz/QuartzSupport.mm:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer):
* ksvg2/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::SVGClipPathElement):
(WebCore::SVGClipPathElement::~SVGClipPathElement):
(WebCore::SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGClipPathElement.h:
* ksvg2/svg/SVGFEImageElement.cpp:
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::~SVGFilterElement):
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGFilterElement.h:
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::~SVGGradientElement):
(WebCore::SVGGradientElement::canvasResource):
(WebCore::SVGGradientElement::resourceNotification):
* ksvg2/svg/SVGGradientElement.h:
* ksvg2/svg/SVGImageElement.cpp:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
* ksvg2/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::~SVGMarkerElement):
(WebCore::SVGMarkerElement::canvasResource):
* ksvg2/svg/SVGMarkerElement.h:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::~SVGMaskElement):
(WebCore::SVGMaskElement::drawMaskerContent):
(WebCore::SVGMaskElement::canvasResource):
* ksvg2/svg/SVGMaskElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::~SVGPatternElement):
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::canvasResource):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
* ksvg2/svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::canvasResource):
* platform/GraphicsContext.cpp: Removed.
* platform/GraphicsContext.h: Removed.
* platform/GraphicsTypes.cpp: Removed.
* platform/GraphicsTypes.h: Removed.
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
(WebCore::GraphicsContext::createGraphicsContextPrivate):
(WebCore::GraphicsContext::destroyGraphicsContextPrivate):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::font):
(WebCore::GraphicsContext::setFont):
(WebCore::GraphicsContext::pen):
(WebCore::GraphicsContext::setPen):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::fillColor):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawHighlightForText):
(WebCore::GraphicsContext::initFocusRing):
(WebCore::GraphicsContext::clearFocusRing):
(WebCore::GraphicsContext::focusRingBoundingRect):
(WebCore::GraphicsContext::addFocusRingRect):
(WebCore::GraphicsContext::focusRingWidth):
(WebCore::GraphicsContext::focusRingOffset):
(WebCore::GraphicsContext::focusRingRects):
(WebCore::GraphicsContext::drawTiledImage):
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsTypes.cpp:
(WebCore::):
(WebCore::parseCompositeOperator):
(WebCore::compositeOperatorName):
(WebCore::parseLineCap):
(WebCore::lineCapName):
(WebCore::parseLineJoin):
(WebCore::lineJoinName):
* platform/graphics/GraphicsTypes.h:
(WebCore::):
* platform/graphics/svg/SVGResource.cpp: Added.
(WebCore::SVGResource::SVGResource):
(WebCore::SVGResource::~SVGResource):
(WebCore::SVGResource::invalidate):
(WebCore::SVGResource::addClient):
(WebCore::SVGResource::clients):
(WebCore::SVGResource::idInRegistry):
(WebCore::SVGResource::setIdInRegistry):
(WebCore::SVGResource::externalRepresentation):
(WebCore::getResourceById):
(WebCore::getPaintServerById):
(WebCore::operator<<):
* platform/graphics/svg/SVGResource.h: Added.
(WebCore::):
(WebCore::SVGResource::isPaintServer):
(WebCore::SVGResource::isFilter):
(WebCore::SVGResource::isClipper):
(WebCore::SVGResource::isMarker):
(WebCore::SVGResource::isMasker):
(WebCore::SVGResourceListener::~SVGResourceListener):
* platform/graphics/svg/SVGResourceClipper.cpp: Added.
(WebCore::SVGResourceClipper::SVGResourceClipper):
(WebCore::SVGResourceClipper::~SVGResourceClipper):
(WebCore::SVGResourceClipper::resetClipData):
(WebCore::SVGResourceClipper::addClipData):
(WebCore::SVGResourceClipper::clipData):
(WebCore::SVGResourceClipper::externalRepresentation):
(WebCore::operator<<):
(WebCore::getClipperById):
* platform/graphics/svg/SVGResourceClipper.h: Added.
(WebCore::ClipDataList::addPath):
(WebCore::SVGResourceClipper::isClipper):
* platform/graphics/svg/SVGResourceImage.h: Added.
* platform/graphics/svg/SVGResourceMarker.cpp: Added.
(WebCore::SVGResourceMarker::SVGResourceMarker):
(WebCore::SVGResourceMarker::~SVGResourceMarker):
(WebCore::SVGResourceMarker::setMarker):
(WebCore::SVGResourceMarker::setRef):
(WebCore::SVGResourceMarker::draw):
(WebCore::SVGResourceMarker::externalRepresentation):
(WebCore::getMarkerById):
* platform/graphics/svg/SVGResourceMarker.h: Added.
(WebCore::SVGResourceMarker::refX):
(WebCore::SVGResourceMarker::refY):
(WebCore::SVGResourceMarker::setAngle):
(WebCore::SVGResourceMarker::setAutoAngle):
(WebCore::SVGResourceMarker::angle):
(WebCore::SVGResourceMarker::setUseStrokeWidth):
(WebCore::SVGResourceMarker::useStrokeWidth):
(WebCore::SVGResourceMarker::isMarker):
* platform/graphics/svg/SVGResourceMasker.cpp: Added.
(WebCore::SVGResourceMasker::SVGResourceMasker):
(WebCore::SVGResourceMasker::~SVGResourceMasker):
(WebCore::SVGResourceMasker::setMask):
(WebCore::SVGResourceMasker::mask):
(WebCore::SVGResourceMasker::externalRepresentation):
(WebCore::getMaskerById):
* platform/graphics/svg/SVGResourceMasker.h: Added.
(WebCore::SVGResourceMasker::isMasker):
* platform/graphics/svg/cg/SVGResourceClipperCg.mm: Added.
(WebCore::SVGResourceClipper::applyClip):
* platform/graphics/svg/cg/SVGResourceImageCg.mm: Added.
(WebCore::SVGResourceImage::SVGResourceImage):
(WebCore::SVGResourceImage::~SVGResourceImage):
(WebCore::SVGResourceImage::init):
(WebCore::SVGResourceImage::size):
(WebCore::SVGResourceImage::cgLayer):
(WebCore::SVGResourceImage::setCGLayer):
* platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Added.
(WebCore::applyLuminanceToAlphaFilter):
(WebCore::applyExpandAlphatoGrayscaleFilter):
(WebCore::transformImageIntoGrayscaleMask):
(WebCore::SVGResourceMasker::applyMask):
* platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Added.
(WebCore::SVGResourceClipper::applyClip):
* platform/graphics/svg/qt/SVGResourceImageQt.cpp: Added.
(WebCore::SVGResourceImage::init):
(WebCore::SVGResourceImage::size):
* platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Added.
(WebCore::SVGResourceMasker::applyMask):
* platform/qt/GraphicsContextQt.cpp:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
(WebCore::DrawMarkersData::DrawMarkersData):
(WebCore::RenderPath::drawMarkersIfNeeded):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-10-30 John Sullivan <sullivan@apple.com>
Reviewed by Brady
- minor cleanup to make future patches clearer
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
renamed misspelling to misspellingNSRange for clarity; changed > 0 test to == 0 test
with "continue" to better match structure of similar code in markMisspellings; a few
other style tweaks.
(WebCore::FrameMac::markMisspellings):
renamed misspelling to misspellingNSRange for clarity; removed unnecessary braces around
a block just after a break and outdented accordingly.
2006-10-30 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen
WebCore part of change to push the code that updates the spelling panel
into WebCore, in preparation for some grammar-checking stuff.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
no more return value for this method, and update the spelling panel with
the misspelled word here rather than in the WebKit callers.
2006-10-30 Oliver Hunt <oliver@apple.com>
Reviewed by Anders.
Roll out last patch
* CMakeLists.txt:
* ChangeLog:
* WebCore.xcodeproj/project.pbxproj:
* graphics/svg/SVGResource.cpp:
* graphics/svg/SVGResourceClipper.cpp:
* graphics/svg/SVGResourceClipper.h:
* graphics/svg/SVGResourceImage.h:
* graphics/svg/SVGResourceListener.h:
* graphics/svg/SVGResourceMarker.cpp:
* graphics/svg/SVGResourceMarker.h:
* graphics/svg/SVGResourceMasker.cpp:
* graphics/svg/SVGResourceMasker.h:
* kcanvas/KCanvasClipper.cpp: Added.
(WebCore::operator<<):
(WebCore::KCanvasClipper::KCanvasClipper):
(WebCore::KCanvasClipper::~KCanvasClipper):
(WebCore::KCanvasClipper::resetClipData):
(WebCore::KCanvasClipper::addClipData):
(WebCore::KCanvasClipper::clipData):
(WebCore::KCanvasClipper::externalRepresentation):
(WebCore::getClipperById):
* kcanvas/KCanvasClipper.h: Added.
(WebCore::KCClipData::windRule):
(WebCore::KCClipDataList::KCClipDataList):
(WebCore::KCClipDataList::addPath):
(WebCore::KCanvasClipper::isClipper):
* kcanvas/KCanvasFilters.cpp:
(WebCore::getFilterById):
* kcanvas/KCanvasFilters.h:
* kcanvas/KCanvasImage.h: Added.
(WebCore::KCanvasImage::KCanvasImage):
(WebCore::KCanvasImage::~KCanvasImage):
* kcanvas/KCanvasMarker.cpp: Added.
(WebCore::KCanvasMarker::KCanvasMarker):
(WebCore::KCanvasMarker::~KCanvasMarker):
(WebCore::KCanvasMarker::setMarker):
(WebCore::KCanvasMarker::setRef):
(WebCore::KCanvasMarker::refX):
(WebCore::KCanvasMarker::refY):
(WebCore::KCanvasMarker::setAngle):
(WebCore::KCanvasMarker::angle):
(WebCore::KCanvasMarker::setAutoAngle):
(WebCore::KCanvasMarker::setUseStrokeWidth):
(WebCore::KCanvasMarker::useStrokeWidth):
(WebCore::KCanvasMarker::draw):
(WebCore::KCanvasMarker::externalRepresentation):
(WebCore::getMarkerById):
* kcanvas/KCanvasMarker.h: Added.
(WebCore::KCanvasMarker::isMarker):
* kcanvas/KCanvasMasker.cpp: Added.
(WebCore::KCanvasMasker::KCanvasMasker):
(WebCore::KCanvasMasker::~KCanvasMasker):
(WebCore::KCanvasMasker::setMask):
(WebCore::KCanvasMasker::externalRepresentation):
(WebCore::getMaskerById):
* kcanvas/KCanvasMasker.h: Added.
(WebCore::KCanvasMasker::isMasker):
(WebCore::KCanvasMasker::mask):
* kcanvas/KCanvasResource.cpp: Added.
(WebCore::operator<<):
(WebCore::KCanvasResource::KCanvasResource):
(WebCore::KCanvasResource::~KCanvasResource):
(WebCore::KCanvasResource::addClient):
(WebCore::KCanvasResource::clients):
(WebCore::KCanvasResource::invalidate):
(WebCore::KCanvasResource::idInRegistry):
(WebCore::KCanvasResource::setIdInRegistry):
(WebCore::KCanvasResource::externalRepresentation):
(WebCore::getResourceById):
(WebCore::getPaintServerById):
* kcanvas/KCanvasResource.h:
(WebCore::):
(WebCore::KCanvasResource::isPaintServer):
(WebCore::KCanvasResource::isFilter):
(WebCore::KCanvasResource::isClipper):
(WebCore::KCanvasResource::isMarker):
(WebCore::KCanvasResource::isMasker):
* kcanvas/KCanvasResourceListener.h: Added.
(KCanvasResourceListener::KCanvasResourceListener):
(KCanvasResourceListener::~KCanvasResourceListener):
* kcanvas/KCanvasTreeDebug.cpp:
(WebCore::writeRenderResources):
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/KRenderingPaintServer.h:
(WebCore::KRenderingPaintServer::KRenderingPaintServer):
(WebCore::KRenderingPaintServer::idInRegistry):
(WebCore::KRenderingPaintServer::setIdInRegistry):
* kcanvas/device/KRenderingPaintServerGradient.cpp:
(WebCore::KRenderingPaintServerGradient::listener):
(WebCore::KRenderingPaintServerGradient::setListener):
* kcanvas/device/KRenderingPaintServerGradient.h:
* kcanvas/device/KRenderingPaintServerPattern.cpp:
(WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern):
(WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern):
(WebCore::KRenderingPaintServerPattern::tile):
(WebCore::KRenderingPaintServerPattern::setTile):
(WebCore::KRenderingPaintServerPattern::listener):
(WebCore::KRenderingPaintServerPattern::setListener):
* kcanvas/device/KRenderingPaintServerPattern.h:
* kcanvas/device/KRenderingPaintServerSolid.h:
* kcanvas/device/qt/KCanvasClipperQt.cpp:
(WebCore::KCanvasClipperQt::applyClip):
* kcanvas/device/qt/KCanvasClipperQt.h:
(WebCore::KCanvasClipperQt::KCanvasClipperQt):
* kcanvas/device/qt/KRenderingDeviceQt.cpp:
(WebCore::KRenderingDeviceQt::contextForImage):
(WebCore::KRenderingDeviceQt::createResource):
(WebCore::KRenderingDeviceQt::createPaintServer):
* kcanvas/device/qt/KRenderingDeviceQt.h:
* kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::KCanvasFilterQuartz::getCIFilterStack):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
* kcanvas/device/quartz/KCanvasMaskerQuartz.h:
(WebCore::KCanvasMaskerQuartz::KCanvasMaskerQuartz):
* kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
(WebCore::applyLuminanceToAlphaFilter):
(WebCore::applyExpandAlphatoGrayscaleFilter):
(WebCore::transformImageIntoGrayscaleMask):
(WebCore::KCanvasMaskerQuartz::applyMask):
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
(WebCore::KCanvasClipperQuartz::KCanvasClipperQuartz):
(WebCore::KCanvasImageQuartz::KCanvasImageQuartz):
(WebCore::KCanvasImageQuartz::init):
(WebCore::KCanvasImageQuartz::size):
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
(WebCore::KCanvasClipperQuartz::applyClip):
(WebCore::KCanvasImageQuartz::~KCanvasImageQuartz):
(WebCore::KCanvasImageQuartz::cgLayer):
(WebCore::KCanvasImageQuartz::setCGLayer):
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::contextForImage):
(WebCore::KRenderingDeviceQuartz::createPaintServer):
(WebCore::KRenderingDeviceQuartz::createResource):
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
(WebCore::KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
(WebCore::KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz):
(WebCore::KRenderingPaintServerGradientQuartz::setup):
(WebCore::KRenderingPaintServerGradientQuartz::teardown):
* kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(WebCore::patternCallback):
(WebCore::KRenderingPaintServerPatternQuartz::setup):
* kcanvas/device/quartz/QuartzSupport.mm:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::sharedSolidPaintServer):
* ksvg2/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::SVGClipPathElement):
(WebCore::SVGClipPathElement::~SVGClipPathElement):
(WebCore::SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGClipPathElement.h:
* ksvg2/svg/SVGFEImageElement.cpp:
* ksvg2/svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::~SVGFilterElement):
(WebCore::SVGFilterElement::canvasResource):
* ksvg2/svg/SVGFilterElement.h:
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::~SVGGradientElement):
(WebCore::SVGGradientElement::canvasResource):
(WebCore::SVGGradientElement::resourceNotification):
* ksvg2/svg/SVGGradientElement.h:
* ksvg2/svg/SVGImageElement.cpp:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
* ksvg2/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::~SVGMarkerElement):
(WebCore::SVGMarkerElement::canvasResource):
* ksvg2/svg/SVGMarkerElement.h:
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::~SVGMaskElement):
(WebCore::SVGMaskElement::drawMaskerContent):
(WebCore::SVGMaskElement::canvasResource):
* ksvg2/svg/SVGMaskElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::~SVGPatternElement):
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::canvasResource):
* ksvg2/svg/SVGPatternElement.h:
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
* ksvg2/svg/SVGStyledElement.h:
(WebCore::SVGStyledElement::canvasResource):
* platform/GraphicsContext.cpp: Added.
(WebCore::GraphicsContextState::GraphicsContextState):
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
(WebCore::GraphicsContext::createGraphicsContextPrivate):
(WebCore::GraphicsContext::destroyGraphicsContextPrivate):
(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(WebCore::GraphicsContext::font):
(WebCore::GraphicsContext::setFont):
(WebCore::GraphicsContext::pen):
(WebCore::GraphicsContext::setPen):
(WebCore::GraphicsContext::setFillColor):
(WebCore::GraphicsContext::fillColor):
(WebCore::GraphicsContext::updatingControlTints):
(WebCore::GraphicsContext::setUpdatingControlTints):
(WebCore::GraphicsContext::setPaintingDisabled):
(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawText):
(WebCore::GraphicsContext::drawHighlightForText):
(WebCore::GraphicsContext::initFocusRing):
(WebCore::GraphicsContext::clearFocusRing):
(WebCore::GraphicsContext::focusRingBoundingRect):
(WebCore::GraphicsContext::addFocusRingRect):
(WebCore::GraphicsContext::focusRingWidth):
(WebCore::GraphicsContext::focusRingOffset):
(WebCore::GraphicsContext::focusRingRects):
(WebCore::GraphicsContext::drawTiledImage):
* platform/GraphicsContext.h: Added.
* platform/GraphicsTypes.cpp: Added.
(WebCore::):
(WebCore::parseCompositeOperator):
(WebCore::compositeOperatorName):
(WebCore::parseLineCap):
(WebCore::lineCapName):
(WebCore::parseLineJoin):
(WebCore::lineJoinName):
* platform/GraphicsTypes.h: Added.
(WebCore::):
* platform/graphics/GraphicsContext.cpp:
* platform/graphics/GraphicsContext.h:
* platform/graphics/GraphicsTypes.cpp:
* platform/graphics/GraphicsTypes.h:
* platform/qt/GraphicsContextQt.cpp:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::paint):
(WebCore::DrawMarkersData::DrawMarkersData):
(WebCore::RenderPath::drawMarkersIfNeeded):
* rendering/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::paint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paint):
* rendering/SVGInlineFlowBox.cpp:
(WebCore::paintSVGInlineFlow):
2006-10-30 John Sullivan <sullivan@apple.com>
Reviewed by Geoff Garen.
Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
grammar-related method.
* bridge/EditorClient.h:
declare isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
isGrammarCheckingEnabled()
* bridge/mac/WebCoreFrameBridge.h:
removed bridge equivalents
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::advanceToNextMisspelling):
convert bridge-using code to editor()->client()-using code
(WebCore::FrameMac::markMisspellingsInAdjacentWords):
ditto
(WebCore::FrameMac::markMisspellings):
ditto
(WebCore::FrameMac::respondToChangedSelection):
ditto
* editing/Editor.h:
* editing/Editor.cpp:
(WebCore::Editor::client):
new method, returns EditorClient pointer. In an ideal world all the code that needed to
access the EditorClient would be in Editor.cpp, and we wouldn't need this accessor.
But for now it's too tricky to extricate the spelling-related code from FrameMac.mm.
2006-10-30 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
Removed a number of editing and selection methods from the bridge.
I moved cross-platform editing and selection code into Editor and
SelectionController, respecitvely.
I moved ObjC and AppKit stuff up into WebKit, so I ended up exporting
everything + the kitchen sink.
Specific comments below for interesting things.
* bindings/objc/DOMInternal.h: Moved exception handling helper methods into
a new file so that WebKit can use them, too. Added a helper method for
handling exceptions when selecting a Range.
* bridge/mac/FrameMac.h: Moved attributedString creation and helper functions into
WebKit, since they have to do with creating an NSAttributedString for API
consumption, and not much to do with general Frame functionality.
* editing/Editor.h: Moved lastEditCommand tracking (at least the data,
for now) into the Editor. Eventually, the Frame will not have to notify
the Editor of what the lastEditCommand was, since the Editor will perform
all EditCommands.
* editing/SelectionController.h: The code here is just stuff moved from the bridge.
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelectedRange): We now explicitly check from DOM exceptions
and return them. The bridge method to select a DOM range did this implicitly,
since all ObjC DOM operations handle DOM exceptions by throwing them as
ObjC exceptions.
* editing/TextAffinity.h: Added helper functions for conversion to NSSelectionAffinity.
The two enumerations are numerically identical, but that's an implementation
detail of TextAffinity that clients shouldn't be required to know about.
2006-10-30 Timothy Hatcher <timothy@apple.com>
Rolling out the following change because this crash:
<rdar://problem/4806705> REGRESSION: Crash occurs at WebCore::Font::lineSpacing() when loading site (http://www.photoplusexpo.com/ppe/index.jsp)
And this regression:
<rdar://problem/4728514> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/
2006-09-06 David Harrison <harrison@apple.com>
Reviewed and tweaked by Tim H.
<rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
to trigger a search that will include auto activation. No PLT or iBench perf impact.
No layout tests affected. Not testable in an automated way that will work on all systems.
* platform/mac/WebFontCache.mm:
(+[WebFontCache fontWithFamily:traits:size:]):
2006-10-30 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4808375>
REGRESSION: TextIterator slowed down, affecting Find on Page & Copy (etc.) (11460)
* editing/TextIterator.cpp:
(WebCore::TextIterator::exitNode): Only create VisiblePositions
when we're going to use them to create a range for an emitted character.
We should further speed TextIterators up by avoiding creating VisiblePositions
for TIs that are only used for the characters they emit (like the one that
plainText uses).
2006-10-30 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11441
More rendering code cleaning
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::RenderApplet):
(WebCore::RenderApplet::createWidgetIfNecessary):
* rendering/RenderApplet.h:
* rendering/RenderArena.cpp:
(WebCore::):
(WebCore::RenderArena::RenderArena):
(WebCore::RenderArena::allocate):
(WebCore::RenderArena::free):
* rendering/RenderArena.h:
* rendering/RenderBR.cpp:
(WebCore::RenderBR::RenderBR):
(WebCore::RenderBR::baselinePosition):
(WebCore::RenderBR::lineHeight):
(WebCore::RenderBR::setStyle):
(WebCore::RenderBR::caretMinOffset):
(WebCore::RenderBR::positionForCoordinates):
(WebCore::RenderBR::inlineBox):
* rendering/RenderBR.h:
* rendering/RenderBlock.cpp:
* rendering/RenderBlock.h:
(WebCore::RenderBlock::maxTopMargin):
(WebCore::RenderBlock::maxBottomMargin):
(WebCore::RenderBlock::initMaxMarginValues):
(WebCore::RenderBlock::containsFloats):
(WebCore::RenderBlock::setHasMarkupTruncation):
(WebCore::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
(WebCore::RenderBlock::BlockSelectionInfo::block):
(WebCore::RenderBlock::BlockSelectionInfo::state):
(WebCore::RenderBlock::FloatingObject::FloatingObject):
(WebCore::RenderBlock::CompactInfo::clear):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::removeChild):
(WebCore::RenderButton::paintObject):
* rendering/RenderButton.h:
(WebCore::RenderButton::renderName):
(WebCore::RenderButton::removeLeftoverAnonymousBoxes):
* rendering/RenderContainer.cpp:
(WebCore::RenderContainer::RenderContainer):
* rendering/RenderContainer.h:
(WebCore::RenderContainer::firstChild):
(WebCore::RenderContainer::lastChild):
(WebCore::RenderContainer::calcMinMaxWidth):
* rendering/RenderCounter.cpp:
(WebCore::RenderCounter::RenderCounter):
(WebCore::toRoman):
(WebCore::toHebrew):
(WebCore::RenderCounter::calcMinMaxWidth):
* rendering/RenderCounter.h:
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::paintBoxDecorations):
(WebCore::RenderFieldset::paintBorderMinusLegend):
(WebCore::RenderFieldset::setStyle):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::~RenderFileUploadControl):
(WebCore::RenderFileUploadControl::setStyle):
(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::calcMinMaxWidth):
* rendering/RenderFileUploadControl.h:
(WebCore::RenderFileUploadControl::renderName):
* rendering/RenderFlexibleBox.h:
* rendering/RenderFlow.cpp:
* rendering/RenderFlow.h:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::RenderForeignObject):
(WebCore::RenderForeignObject::paint):
(WebCore::RenderForeignObject::computeAbsoluteRepaintRect):
(WebCore::RenderForeignObject::layout):
(WebCore::RenderForeignObject::nodeAtPoint):
* rendering/RenderForeignObject.h:
(WebCore::RenderForeignObject::renderName):
* rendering/RenderFormElement.cpp:
(WebCore::RenderFormElement::setStyle):
(WebCore::RenderFormElement::layout):
(WebCore::RenderFormElement::textAlignment):
* rendering/RenderFormElement.h:
* rendering/RenderFrame.cpp:
* rendering/RenderFrame.h:
(WebCore::RenderFrame::element):
* rendering/RenderFrameSet.cpp:
* rendering/RenderFrameSet.h:
(WebCore::RenderFrameSet::element):
* rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
(WebCore::RenderHTMLCanvas::paint):
* rendering/RenderHTMLCanvas.h:
(WebCore::RenderHTMLCanvas::renderName):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::setStyle):
(WebCore::RenderImage::setContentObject):
(WebCore::RenderImage::setCachedImage):
(WebCore::RenderImage::imageChanged):
(WebCore::RenderImage::paint):
(WebCore::RenderImage::layout):
(WebCore::RenderImage::updateAltText):
* rendering/RenderImage.h:
(WebCore::RenderImage::element):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::~RenderInline):
(WebCore::RenderInline::setStyle):
(WebCore::RenderInline::addChildToFlow):
(WebCore::RenderInline::cloneInline):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::splitFlow):
(WebCore::RenderInline::paint):
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::calcMinMaxWidth):
(WebCore::RenderInline::requiresLayer):
(WebCore::RenderInline::width):
(WebCore::RenderInline::height):
(WebCore::RenderInline::renderName):
(WebCore::RenderInline::nodeAtPoint):
(WebCore::RenderInline::positionForCoordinates):
* rendering/RenderInline.h:
(WebCore::RenderInline::layout):
* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:
(WebCore::ClipRects::ClipRects):
(WebCore::RenderLayer::nextSibling):
(WebCore::RenderLayer::root):
(WebCore::RenderLayer::setPos):
(WebCore::RenderLayer::height):
(WebCore::RenderLayer::relativePositionOffset):
* rendering/RenderLineEdit.cpp:
(WebCore::RenderLineEdit::setStyle):
(WebCore::RenderLineEdit::updateFromElement):
(WebCore::RenderLineEdit::selectionStart):
(WebCore::RenderLineEdit::selectionEnd):
(WebCore::RenderLineEdit::setSelectionStart):
(WebCore::RenderLineEdit::setSelectionEnd):
(WebCore::RenderLineEdit::setSelectionRange):
* rendering/RenderLineEdit.h:
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
(WebCore::RenderListBox::renderName):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::setStyle):
(WebCore::getParentOfFirstLineBox):
(WebCore::RenderListItem::updateMarkerLocation):
(WebCore::RenderListItem::positionListMarker):
(WebCore::RenderListItem::paint):
* rendering/RenderListItem.h:
* rendering/RenderListMarker.cpp:
* rendering/RenderListMarker.h:
(WebCore::RenderListMarker::renderName):
(WebCore::RenderListMarker::isListMarker):
2006-10-30 Timothy Hatcher <timothy@apple.com>
Reviewed by Hyatt.
<rdar://problem/4478625> Basic table editing and culling
Refined the criteria for deletable elements, rely on the renderer more.
Corrected the interface positioning for elements that have borders.
* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
(WebCore::DeleteButtonController::show):
2006-10-30 Darin Adler <darin@apple.com>
- fix build
* loader/ResourceLoader.h: Added header guard.
2006-10-31 Darin Adler <darin@apple.com>
Reviewed by Adam.
- fix FrameLoader files so they can be built on non-Mac platforms
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate): Added code to create the frame loader.
(WebCore::FramePrivate::~FramePrivate): Added code to delete the frame loader.
* page/Page.h:
* page/Page.cpp: (WebCore::Page::setDefersLoading): Removed the
#if PLATFORM(MAC) that Adam added as a stop-gap when I did this wrong
the other day.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac): Removed code to create the frame loader.
(WebCore::FrameMac::~FrameMac): Removed code to delete the frame loader.
* loader/FrameLoader.h: Changed import to include, added #if PLATFORM(MAC)
around the PolicyCheck definition.
* loader/FormState.cpp: Changed import to include.
* loader/FrameLoader.cpp: Ditto.
* loader/MainResourceLoader.h: Ditto.
* loader/FrameLoaderTypes.h: Added a header guard.
* loader/NetscapePlugInStreamLoader.h: Changed import to include.
Added #if PLATFORM(MAC) around Mac-specific details.
* loader/SubresourceLoader.h: Ditto.
* page/Frame.cpp: (WebCore::Frame::loader): Updated name of loader to
m_loader from m_frameLoader.
* CMakeLists.txt: Updated.
* WebCoreSources.bkl: Updated.
2006-10-30 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Anders.
Patch by Zack rusin to fix:
http://bugs.webkit.org/show_bug.cgi?id=11429
Fix startup crash.
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
2006-10-30 Zach Rusin <zack@kde.org>
Reviewed and landed by Anders.
* platform/network/qt/ResourceHandleQt.cpp:
(WebCore::ResourceHandle::receivedResponse):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::FrameQtClientDefault):
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::ServeSynchronousRequest):
More build fixes.
2006-10-30 Simon Hausmann <hausmann@kde.org>
Reviewed and landed by Anders.
- fix Qt build
* platform/qt/FrameQtClient.cpp: ResourceLoaderClient ->
ResourceHandleClient
2006-10-30 Darin Adler <darin@apple.com>
Reviewed by John Sullivan.
- work toward removing Objective-C data types from FrameLoader.h:
removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
and WebCoreResourceHandle
- moved bodyBackgroundColor function from Frame to WebFrame in WebKit
* page/PageState.h:
* page/PageState.cpp: Added, C++ class with much of what WebCorePageState had.
* bridge/mac/FrameMac.h: Removed uneeeded declarations and bodyBackgroundColor().
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::startRedirectionTimer): Use a
double for the date instead of an NSDate.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm: Removed invalidatePageCache and
saveDocumentToPageCache methods.
* bridge/mac/WebCorePageState.h:
* bridge/mac/WebCorePageState.mm: Removed most of the class and turned it into
an Objective-C wrapper for PageState.
* loader/FrameLoader.h: Removed unused Objective-C types, eliminated use of
NSDate and WebCorePageState.
* loader/FrameLoaderClient.h: Changed NSDate to double.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::receivedMainResourceError): Moved call to setInPageCache
here that used to be in invalidateCurrentItemPageCache on the WebKit side.
(WebCore::FrameLoader::clientRedirected): Changed NSDate to double for date.
(WebCore::FrameLoader::open): Moved one of the open functions that was part of
commitProvisionalLoad inside the commitProvisionalLoad function, so that it can
extract the parameters from the response. Changed the open function that takes
a PageState to use the new C++ PageState.
(WebCore::FrameLoader::commitProvisionalLoad): Added the code from the open
function; tightened up logic, removing a few cases that could never happen, as
well as the unused reload boolean.
* ForwardingHeaders/kjs/property_map.h: Added.
* WebCore.exp: Updated.
* WebCore.xcodeproj/project.pbxproj: Updated.
2006-10-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- added ResourceResponse class and didReceiveResponse delegate call
* WebCore.xcodeproj/project.pbxproj: Added new files.
* bridge/mac/WebCoreFrameBridge.h: Removed no longer needed
expiresTimeForResponse: method.
* dom/XMLTokenizer.cpp:
(WebCore::openFunc): Updated to use ResourceResponse.
* loader/FrameLoader.h: Update loadResourceSynchronously to
use ResourceResponse.
* loader/LoaderFunctions.h:
* loader/icon/IconLoader.cpp:
(IconLoader::didReceiveResponse): Updated from receivedResponse
and made cross-platform.
* loader/icon/IconLoader.h: updated for above change
* loader/loader.cpp:
(WebCore::Loader::receivedResponse): reduced to just saving
the PlatformResponse (ideally we'd phase out use of this).
(WebCore::Loader::didReceivedResponse): most of the ReceivedResponse
logic.
* loader/loader.h:
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::loadResourceSynchronously): Return results
as ResourceResponse.
* loader/mac/IconLoaderMac.mm: remove receivedResponse.
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest): take ResourceResponse as
argument.
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h: Remove calls for
broken out response pieces.
* platform/network/ResourceHandleClient.h:
(WebCore::ResourceHandleClient::didReceiveResponse): New
delegate method.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal): Remove
storage of response bits, we're not gonna return them
seprately any more.
* platform/network/ResourceResponse.h: Added.
(WebCore::ResourceResponse::ResourceResponse): Freshly
implemented. Same for below.
(WebCore::ResourceResponse::url):
(WebCore::ResourceResponse::mimeType):
(WebCore::ResourceResponse::expectedContentLength):
(WebCore::ResourceResponse::textEncodingName):
(WebCore::ResourceResponse::suggestedFilename):
(WebCore::ResourceResponse::httpStatusCode):
(WebCore::ResourceResponse::setHTTPStatusCode):
(WebCore::ResourceResponse::httpHeaderField):
(WebCore::ResourceResponse::httpHeaderFields):
(WebCore::ResourceResponse::isMultipart):
(WebCore::ResourceResponse::setExpirationDate):
(WebCore::ResourceResponse::expirationDate):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::didReceiveResponse): Send didReceiveResponse
client method.
* platform/network/cf/ResourceResponseCFNet.h: Added.
* platform/network/cf/ResourceResponseCFNet.mm: Added.
(getResourceResponse): Helper function to get a ResourceResponse
from CFURLResponseRef.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
Don't bother cleaning up fields we no longer have.
(WebCore::ResourceHandle::receivedResponse): Send
didReceiveResponse client method.
* platform/network/mac/ResourceResponseMac.h: Added.
* platform/network/mac/ResourceResponseMac.mm: Added.
(getResourceResponse): Helper function to get a ResourceResponse
from an NSURLResponse*.
* rendering/HitTestResult.cpp:
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc): Prepare for use of ResourceResponse.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::getResponseText): Store http response
info in the form of a ResourceResponse, change all methods to
account for this.
(WebCore::XMLHttpRequest::getResponseXML):
(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
(WebCore::XMLHttpRequest::getStatus):
(WebCore::XMLHttpRequest::getStatusText):
(WebCore::XMLHttpRequest::processSyncLoadResults):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveResponse):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
2006-10-29 Darin Adler <darin@apple.com>
- fix build
* loader/DocumentLoader.h: Add declarations so this compiles without ObjC.
* loader/NetscapePlugInStreamLoader.h: Ditto.
* loader/ResourceLoader.h: Ditto.
2006-10-29 Darin Adler <darin@apple.com>
- one last name change -- WebFormState.h to FormState.h
- added more empty placeholder platform-independent files
for currently-Mac-specific loader classes
* loader/FormState.cpp: Updated include.
* loader/FrameLoader.cpp: Updated include.
* loader/mac/FrameLoaderMac.mm: Updated include.
* loader/WebFormState.h: Removed.
* loader/FormState.h: Added.
* loader/DocumentLoader.cpp: Added.
* loader/MainResourceLoader.cpp: Added.
* loader/NetscapePlugInStreamLoader.cpp: Added.
* loader/ResourceLoader.cpp: Added.
* loader/SubresourceLoader.cpp: Added.
* WebCore.xcodeproj/project.pbxproj: Updated for changes above.
2006-10-29 Darin Adler <darin@apple.com>
- did the do-webcore-rename renames, including a number of changes
to the names of loader files (and WebResourceLoader -> ResourceLoader),
jScript() to scriptProxy(), jScriptEnabled() to javaScriptEnabled(),
and improvements to the names of decoder classes and their source
files (Decoder -> TextResourceDecoder, StreamingTextDecoder -> TextCodec)
* CMakeLists.txt:
* WebCore.exp:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::updateDOMNodeDocument):
* bindings/js/kjs_events.cpp:
(KJS::JSAbstractEventListener::handleEvent):
(KJS::JSLazyEventListener::parseCode):
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLElement::implementsCall):
* bindings/js/kjs_traversal.cpp:
(KJS::JSNodeFilterCondition::acceptNode):
* bindings/js/kjs_window.cpp:
(KJS::Window::interpreter):
(KJS::Window::retrieveWindow):
(KJS::Window::retrieve):
(KJS::ScheduledAction::execute):
* bindings/objc/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]):
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::executionContextForDOM):
(WebCore::FrameMac::bindingRootObject):
(WebCore::FrameMac::windowScriptObject):
(WebCore::FrameMac::windowScriptNPObject):
(WebCore::FrameMac::partClearedInBegin):
* bridge/mac/WebCoreEncodings.mm:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
(-[WebCoreFrameBridge stringWithData:]):
(-[WebCoreFrameBridge executionContextForView:]):
* bridge/win/FrameWin.cpp:
* dom/Document.cpp:
(WebCore::Document::inputEncoding):
(WebCore::Document::setCharset):
(WebCore::Document::createHTMLEventListener):
(WebCore::Document::setDecoder):
* dom/Document.h:
(WebCore::Document::decoder):
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::dispatchGenericEvent):
* html/HTMLParser.cpp:
(WebCore::HTMLParser::noscriptCreateErrorCheck):
(WebCore::HTMLParser::canvasCreateErrorCheck):
(WebCore::HTMLParser::isInline):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createNPObject):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::evaluateScript):
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseTag):
(WebCore::HTMLTokenizer::processToken):
* ksvg2/misc/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::createSVGEventListener):
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::setEncoding):
* loader/CachedCSSStyleSheet.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::CachedXBLDocument):
(WebCore::CachedXBLDocument::setEncoding):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
(WebCore::CachedXSLStyleSheet::setEncoding):
* loader/CachedXSLStyleSheet.h:
* loader/Decoder.cpp: Removed.
* loader/Decoder.h: Removed.
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/MainResourceLoader.h: Added.
* loader/NetscapePlugInStreamLoader.h: Added.
* loader/Request.h:
(WebCore::Request::cachedResource):
* loader/ResourceLoader.h: Added.
* loader/SubresourceLoader.h: Added.
* loader/TextResourceDecoder.cpp: Added.
(WebCore::TextResourceDecoder::determineContentType):
(WebCore::TextResourceDecoder::defaultEncoding):
(WebCore::TextResourceDecoder::TextResourceDecoder):
(WebCore::TextResourceDecoder::~TextResourceDecoder):
(WebCore::TextResourceDecoder::setEncoding):
(WebCore::TextResourceDecoder::checkForBOM):
(WebCore::TextResourceDecoder::checkForCSSCharset):
(WebCore::TextResourceDecoder::checkForHeadCharset):
(WebCore::TextResourceDecoder::detectJapaneseEncoding):
(WebCore::TextResourceDecoder::decode):
(WebCore::TextResourceDecoder::flush):
* loader/TextResourceDecoder.h: Added.
* loader/WebDocumentLoader.h: Removed.
* loader/WebLoader.h: Removed.
* loader/WebMainResourceLoader.h: Removed.
* loader/WebNetscapePlugInStreamLoader.h: Removed.
* loader/WebSubresourceLoader.h: Removed.
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::receivedAllData):
(WebCore::Loader::receivedResponse):
(WebCore::Loader::didReceiveData):
(WebCore::Loader::cancelRequests):
(WebCore::Loader::jobForRequest):
* loader/mac/DocumentLoaderMac.mm:
* loader/mac/FormDataStream.m: Added.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::cancelPendingArchiveLoad):
(WebCore::FrameLoader::addPlugInStreamLoader):
(WebCore::FrameLoader::removePlugInStreamLoader):
(WebCore::FrameLoader::addSubresourceLoader):
(WebCore::FrameLoader::removeSubresourceLoader):
(WebCore::FrameLoader::willSendRequest):
(WebCore::FrameLoader::didReceiveAuthenticationChallenge):
(WebCore::FrameLoader::didCancelAuthenticationChallenge):
(WebCore::FrameLoader::didReceiveResponse):
(WebCore::FrameLoader::didReceiveData):
(WebCore::FrameLoader::didFinishLoad):
(WebCore::FrameLoader::didFailToLoad):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::willUseArchive):
(WebCore::FrameLoader::isArchiveLoadPending):
* loader/mac/ImageDocumentMac.mm:
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus):
* loader/mac/MainResourceLoaderMac.mm:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::releaseDelegate):
(WebCore::MainResourceLoader::didCancel):
(WebCore::MainResourceLoader::addData):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::setDefersLoading):
* loader/mac/NetscapePlugInStreamLoaderMac.mm:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
(WebCore::NetscapePlugInStreamLoader::releaseResources):
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
(WebCore::NetscapePlugInStreamLoader::didReceiveData):
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::releaseResources):
(WebCore::ResourceLoader::load):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::frameLoader):
(WebCore::ResourceLoader::addData):
(WebCore::ResourceLoader::resourceData):
(WebCore::ResourceLoader::clearResourceData):
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::ResourceLoader::didCancelAuthenticationChallenge):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::willStopBufferingData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFinishLoadingOnePart):
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::willCacheResponse):
(WebCore::ResourceLoader::didCancel):
(WebCore::ResourceLoader::cancel):
(WebCore::ResourceLoader::setIdentifier):
(WebCore::ResourceLoader::response):
(WebCore::ResourceLoader::inConnectionCallback):
(WebCore::ResourceLoader::cancelledError):
(WebCore::ResourceLoader::receivedCredential):
(WebCore::ResourceLoader::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceLoader::receivedCancellation):
(WebCore::ResourceLoader::delegate):
(WebCore::ResourceLoader::releaseDelegate):
(-[WebCoreResourceLoaderAsDelegate initWithLoader:]):
* loader/mac/SubresourceLoaderMac.mm:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* loader/mac/WebFormDataStream.h: Removed.
* loader/mac/WebFormDataStream.m: Removed.
* page/Frame.cpp:
(WebCore::Frame::javaScriptEnabled):
(WebCore::Frame::scriptProxy):
(WebCore::Frame::executeScript):
(WebCore::Frame::write):
(WebCore::Frame::userGestureHint):
(WebCore::Frame::saveInterpreterBuiltins):
(WebCore::Frame::restoreInterpreterBuiltins):
(WebCore::Frame::backslashAsCurrencySymbol):
* page/Frame.h:
* page/FramePrivate.h:
* platform/StreamingTextDecoder.cpp: Removed.
* platform/StreamingTextDecoder.h: Removed.
* platform/StreamingTextDecoderICU.cpp: Removed.
* platform/StreamingTextDecoderICU.h: Removed.
* platform/TextCodec.cpp: Added.
* platform/TextCodec.h: Added.
* platform/TextCodecICU.cpp: Added.
* platform/TextCodecICU.h: Added.
* platform/TextCodecLatin1.h:
* platform/TextCodecUTF16.h:
* platform/TextDecoder.h:
* platform/TextEncoding.cpp:
* platform/TextEncodingRegistry.cpp:
* platform/image-decoders/jpeg/jmorecfg.h:
* platform/mac/StreamingTextDecoderMac.cpp: Removed.
* platform/mac/StreamingTextDecoderMac.h: Removed.
* platform/mac/TextCodecMac.cpp: Added.
* platform/mac/TextCodecMac.h: Added.
* platform/network/ResourceHandleInternal.h:
* platform/network/mac/ResourceHandleMac.mm:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::bindingRootObject):
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::CheckCacheObjectStatus):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::backslashAsCurrencySymbol):
* xml/XSLTProcessor.cpp:
(WebCore::XSLTProcessor::createDocumentFromSource):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
2006-10-29 Darin Adler <darin@apple.com>
Rubber stamped by Adam (kinda).
- add Mac suffixes and correct filenames inside loader/mac
* WebCore.xcodeproj/project.pbxproj: Updated for changes below.
* loader/mac/FrameLoader.mm: Removed.
* loader/mac/WebDocumentLoader.mm: Removed.
* loader/mac/WebLoader.mm: Removed.
* loader/mac/WebMainResourceLoader.mm: Removed.
* loader/mac/WebNetscapePlugInStreamLoader.mm: Removed.
* loader/mac/WebSubresourceLoader.mm: Removed.
* loader/mac/FrameLoaderMac.mm: Added.
* loader/mac/DocumentLoaderMac.mm: Added.
* loader/mac/ResourceLoaderMac.mm: Added.
* loader/mac/MainResourceLoaderMac.mm: Added.
* loader/mac/WebNetscapePlugInStreamLoaderMac.mm: Added.
* loader/mac/SubresourceLoaderMac.mm: Removed.
2006-10-29 Darin Adler <darin@apple.com>
Reviewed by Adam.
- moving towards use of FrameLoader cross-platform; get FrameLoader.h
and FrameLoader.cpp mostly ready
* WebCore.xcodeproj/project.pbxproj: Added FrameLoader.cpp and
FormState.cpp. Removed WebFormState.mm.
* loader/FrameLoader.h: Put in lots of #if statements to see if we can
get this header compiling on non-Mac.
* loader/FrameLoader.cpp: Added. Has non-Mac-specific bits of FrameLoader.
* loader/mac/FrameLoader.mm: Moved some non-Mac-specific bits out.
* loader/FrameLoaderClient.h: Added some ifdefs.
* loader/WebDocumentLoader.h: Ditto.
* loader/WebLoader.h: Ditto.
* loader/WebMainResourceLoader.h: Ditto.
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::isLoadingInAPISense):
Rewrote to work without bridge, partly to remove the need for ObjC
bridge type in the header, and also because we're tearing down the bridge.
* loader/mac/WebMainResourceLoader.mm:
(WebCore::MainResourceLoader::MainResourceLoader): Removed unused
m_contentLength and m_bytesReceived.
(WebCore::MainResourceLoader::didReceiveResponse): Ditto.
(WebCore::MainResourceLoader::didReceiveData): Ditto.
* bridge/mac/WebCoreFrameBridge.h: Removed doneProcessingData.
* bridge/mac/WebCoreFrameBridge.mm: Ditto.
* loader/mac/FormState.mm: Removed.
* loader/FormState.cpp: Added.
2006-10-29 Darin Adler <darin@apple.com>
Rubber stamped by Adam.
- moving towards use of FrameLoader cross-platform; move the headers
for the Mac loader from loader/mac into loader, in preparation for
making them useful on non-Mac
* WebCore.xcodeproj/project.pbxproj:
* loader/mac/FrameLoader.h: Removed.
* loader/mac/WebDocumentLoader.h: Removed.
* loader/mac/WebFormState.h: Removed.
* loader/mac/WebLoader.h: Removed.
* loader/mac/WebMainResourceLoader.h: Removed.
* loader/mac/WebNetscapePlugInStreamLoader.h: Removed.
* loader/mac/WebSubresourceLoader.h: Removed.
* loader/FrameLoader.h: Added.
* loader/WebDocumentLoader.h: Added.
* loader/WebFormState.h: Added.
* loader/WebLoader.h: Added.
* loader/WebMainResourceLoader.h: Added.
* loader/WebNetscapePlugInStreamLoader.h: Added.
* loader/WebSubresourceLoader.h: Added.
2006-10-29 Adam Roben <aroben@apple.com>
Reviewed by Geoff.
Finish Darin's clean up of the use of __APPLE__ in WebCore, begun in
r17405.
* platform/DeprecatedString.h:
2006-10-29 Beth Dakin <bdakin@apple.com>
Rubber stamped by Geoff.
This is a followup to my HitTestResult checkin. Most of the
HitTestResult local variables in the code were named i or info for
when the class was named NodeInfo. This patch renames all of these
local variables to result.
* dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::mapMouseEvent):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::mapMouseEvent):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint):
* rendering/EllipsisBox.h:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isPointInScrollbar):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
* rendering/RenderBox.h:
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::hitTestLines):
* rendering/RenderFlow.h:
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::nodeAtPoint):
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::nodeAtPoint):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint):
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateHoverActiveState):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::isPointInScrollbar):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest):
(WebCore::RenderObject::setInnerNode):
(WebCore::RenderObject::nodeAtPoint):
* rendering/RenderObject.h:
* rendering/RenderPath.cpp:
(WebCore::RenderPath::nodeAtPoint):
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtPoint):
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtPoint):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
* rendering/RenderTableRow.h:
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTableSection.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::nodeAtPoint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::nodeAtPoint):
* rendering/RootInlineBox.h:
2006-10-29 Adam Roben <aroben@apple.com>
More semi-fixes.
* page/Page.cpp: Forgot to wrap the actual definition of
setDefersLoading() in PLATFORM(MAC).
* platform/PlatformWheelEvent.h: Fix up preprocessor directives.
2006-10-29 Adam Roben <aroben@apple.com>
Build semi-fix.
Move all FrameLoader-related code in Page.{cpp,h} within #if
PLATFORM(MAC), since this class currently only exists on Mac.
* page/Page.cpp:
* page/Page.h:
2006-10-29 Geoffrey Garen <ggaren@apple.com>
build fix.
* platform/PlatformString.h:
(WebCore::String::operator NSString*):
2006-10-29 Geoffrey Garen <ggaren@apple.com>
Rolled out accidental commit.
* platform/AtomicString.h:
(WebCore::AtomicString::AtomicString):
(WebCore::AtomicString::operator NSString*):
2006-10-29 Geoffrey Garen <ggaren@apple.com>
RS by Darin.
Rolled out change to map NULL Strings to nil NSStrings because it caused
even more AppKit crashes. Maybe we should remove the NSString * operator
entirely, since its use is not straight-forward, and require callers to
specify explicitly whether they tolerate NULL.
* platform/AtomicString.h:
* platform/PlatformString.h:
(WebCore::String::operator NSString*):
* platform/mac/TextFieldMac.mm:
(-[NSSearchFieldCell _addStringToRecentSearches:]):
2006-10-29 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- fixed storage leak showing up on the buildbot
* loader/mac/WebSubresourceLoader.mm: (WebCore::SubresourceLoader::create):
Release the NSURLRequest after passing it to load. Also clean up logic a bit.
2006-10-29 Darin Adler <darin@apple.com>
Rubber stamped by Adam.
- renamed WebFrameLoaderClient to match the class name inside it
* loader/mac/WebFrameLoaderClient.h: Removed.
* loader/FrameLoaderClient.h: Moved it here.
* WebCore.xcodeproj/project.pbxproj: Updated project.
* bridge/mac/FrameMac.mm: Updated includes.
* bridge/mac/WebCoreFrameBridge.mm: Ditto.
* loader/mac/FrameLoader.mm: Ditto.
* loader/mac/WebLoader.h: Ditto.
2006-10-29 Darin Adler <darin@apple.com>
Reviewed by Mitz.
- fix crash visible on buildbot and also when running the test
anchor-image-scrolled-x-y.html under libgmalloc
* loader/mac/WebSubresourceLoader.h: Renamed m_loader to m_handle
now that the class is named ResourceHandle.
* loader/mac/WebSubresourceLoader.mm: Renaming, plus:
(WebCore::SubresourceLoader::didFinishLoading): Get the handle into
a local RefPtr before calling finishJobAndHandle, since we might get
cancelled inside that function, so we should not rely on m_handle to
keep the ResourceHandle alive.
(WebCore::SubresourceLoader::didFail): Ditto.
(WebCore::SubresourceLoader::didCancel): Ditto.
2006-10-29 Maciej Stachowiak <mjs@apple.com>
- build fix
* platform/network/mac/ResourceHandleMac.mm:
2006-10-29 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Darin.
- renamed ResourceLoader to ResourceHandle (and same for related classes)
* CMakeLists.txt:
* Projects/gdk/webcore-gdk.bkl:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* bridge/mac/FrameMac.mm:
* bridge/win/FrameWin.cpp:
* dom/XMLTokenizer.cpp:
* loader/Cache.cpp:
* loader/CachedResource.h:
* loader/LoaderFunctions.h:
* loader/icon/IconLoader.cpp:
(IconLoader::startLoading):
(IconLoader::didReceiveData):
(IconLoader::didFinishLoading):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
(WebCore::Loader::receivedAllData):
(WebCore::Loader::receivedResponse):
(WebCore::Loader::didReceiveData):
(WebCore::Loader::cancelRequests):
(WebCore::Loader::jobForRequest):
* loader/loader.h:
* loader/mac/IconLoaderMac.mm:
(IconLoader::receivedResponse):
* loader/mac/LoaderFunctionsMac.mm:
* loader/mac/WebLoader.h:
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::create):
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdkClientDefault::FrameGdkClientDefault):
(WebCore::FrameGdkClientDefault::openURL):
(WebCore::FrameGdkClientDefault::submitForm):
(WebCore::FrameGdkClientDefault::receivedResponse):
(WebCore::FrameGdkClientDefault::didReceiveData):
(WebCore::FrameGdkClientDefault::receivedAllData):
* platform/gdk/FrameGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
(WebCore::ServeSynchronousRequest):
(WebCore::ResourceHandle::assembleResponseHeaders):
(WebCore::ResourceHandle::retrieveCharset):
* platform/network/ResourceHandle.cpp: Added.
(WebCore::ResourceHandle::ResourceHandle):
(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::isErrorPage):
(WebCore::ResourceHandle::error):
(WebCore::ResourceHandle::setError):
(WebCore::ResourceHandle::responseEncoding):
(WebCore::ResourceHandle::responseHTTPHeadersAsString):
(WebCore::ResourceHandle::kill):
(WebCore::ResourceHandle::requestHeaders):
(WebCore::ResourceHandle::url):
(WebCore::ResourceHandle::postData):
(WebCore::ResourceHandle::method):
(WebCore::ResourceHandle::client):
* platform/network/ResourceHandle.h: Added.
(WebCore::ResourceHandle::getInternal):
* platform/network/ResourceHandleClient.h: Added.
(WebCore::ResourceHandleClient::~ResourceHandleClient):
(WebCore::ResourceHandleClient::didReceiveData):
(WebCore::ResourceHandleClient::didFinishLoading):
(WebCore::ResourceHandleClient::receivedRedirect):
(WebCore::ResourceHandleClient::receivedResponse):
(WebCore::ResourceHandleClient::receivedAllData):
* platform/network/ResourceHandleInternal.h: Added.
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/ResourceLoader.cpp: Removed.
* platform/network/ResourceLoader.h: Removed.
* platform/network/ResourceLoaderClient.h: Removed.
* platform/network/ResourceLoaderInternal.h: Removed.
* platform/network/cf/ResourceHandleCFNet.cpp: Added.
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::willCacheResponse):
(WebCore::didReceiveChallenge):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
* platform/network/cf/ResourceLoaderCFNet.cpp: Removed.
* platform/network/gdk/ResourceHandleCurl.cpp: Added.
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
* platform/network/gdk/ResourceHandleManager.cpp: Added.
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::get):
(WebCore::ResourceHandleManager::useSimpleTransfer):
(WebCore::writeCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* platform/network/gdk/ResourceHandleManager.h: Added.
* platform/network/gdk/ResourceLoaderCurl.cpp: Removed.
* platform/network/gdk/ResourceLoaderManager.cpp: Removed.
* platform/network/gdk/ResourceLoaderManager.h: Removed.
* platform/network/mac/ResourceHandleMac.mm: Added.
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::assembleResponseHeaders):
(WebCore::ResourceHandle::retrieveResponseEncoding):
(WebCore::ResourceHandle::receivedResponse):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::redirectedToURL):
(WebCore::ResourceHandle::addData):
(WebCore::ResourceHandle::finishJobAndHandle):
(WebCore::ResourceHandle::reportError):
* platform/network/mac/ResourceLoaderMac.mm: Removed.
* platform/network/qt/ResourceHandleManager.cpp: Added.
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::~ResourceHandleManager):
(WebCore::ResourceHandleManager::self):
(WebCore::ResourceHandleManager::slotData):
(WebCore::ResourceHandleManager::slotMimetype):
(WebCore::ResourceHandleManager::slotResult):
(WebCore::ResourceHandleManager::remove):
(WebCore::ResourceHandleManager::add):
(WebCore::ResourceHandleManager::cancel):
* platform/network/qt/ResourceHandleManager.h: Added.
* platform/network/qt/ResourceHandleQt.cpp: Added.
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::assembleResponseHeaders):
(WebCore::ResourceHandle::retrieveResponseEncoding):
(WebCore::ResourceHandle::receivedResponse):
(WebCore::ResourceHandle::extractCharsetFromHeaders):
* platform/network/qt/ResourceLoaderManager.cpp: Removed.
* platform/network/qt/ResourceLoaderManager.h: Removed.
* platform/network/qt/ResourceLoaderQt.cpp: Removed.
* platform/network/win/ResourceHandleWin.cpp: Added.
(WebCore::):
(WebCore::addToOutstandingJobs):
(WebCore::lookupResourceHandle):
(WebCore::ResourceHandleWndProc):
(WebCore::initializeOffScreenResourceHandleWindow):
(WebCore::ResourceHandleInternal::~ResourceHandleInternal):
(WebCore::ResourceHandle::~ResourceHandle):
(WebCore::ResourceHandle::onHandleCreated):
(WebCore::ResourceHandle::onRequestRedirected):
(WebCore::ResourceHandle::onRequestComplete):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::fileLoadTimer):
(WebCore::ResourceHandle::cancel):
(WebCore::ResourceHandle::setHasReceivedResponse):
(WebCore::ResourceHandle::hasReceivedResponse):
* platform/network/win/ResourceHandleWin.h: Added.
* platform/network/win/ResourceLoaderWin.cpp: Removed.
* platform/network/win/ResourceLoaderWin.h: Removed.
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::submitForm):
(WebCore::FrameQtClientDefault::receivedResponse):
(WebCore::FrameQtClientDefault::didReceiveData):
(WebCore::FrameQtClientDefault::receivedAllData):
* platform/qt/FrameQtClient.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ResourceHandle::assembleResponseHeaders):
(WebCore::ResourceHandle::retrieveResponseEncoding):
(WebCore::ServeSynchronousRequest):
* xml/XSLTProcessor.cpp:
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::receivedRedirect):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
t2006-10-29 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- eliminate use of NSArray to carry form data around
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/FormDataMac.h: Removed.
* bridge/mac/FormDataMac.mm: Removed.
* bridge/mac/FrameMac.h:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submit):
* loader/FormData.h:
(WebCore::FormData::isEmpty):
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::loadEmptyDocumentSynchronously):
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
* loader/mac/WebFormDataStream.h:
* loader/mac/WebFormDataStream.m:
(WebCore::pairRetain):
(WebCore::pairRelease):
(WebCore::pairEqual):
(WebCore::pairHash):
(WebCore::closeCurrentStream):
(WebCore::scheduleWithPair):
(WebCore::advanceCurrentStream):
(WebCore::openNextStream):
(WebCore::formCreate):
(WebCore::formFinalize):
(WebCore::formOpen):
(WebCore::formRead):
(WebCore::formCanRead):
(WebCore::formClose):
(WebCore::formSchedule):
(WebCore::formUnschedule):
(WebCore::formEventCallback):
(WebCore::setHTTPBody):
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(WebCore::SubresourceLoader::create):
* platform/network/mac/ResourceLoaderMac.mm:
2006-10-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- create SubresourceLoader with a ResourceRequest, not broken out request bits
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(WebCore::SubresourceLoader::create):
* platform/network/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
2006-10-29 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- removed ObjC glue between ResourceLoader and SubresourceLoader, then now talk to each other directly
Removed WebCoreResourceLoader, WebCoreResourceHandle and WebCoreResourceLoaderImp
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreFrameBridge.h:
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
* loader/mac/LoaderFunctionsMac.mm:
* loader/mac/WebLoader.h:
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::create):
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didReceiveData):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):
* platform/network/ResourceLoader.h:
* platform/network/ResourceLoaderInternal.h:
* platform/network/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::receivedResponse):
(WebCore::ResourceLoader::cancel):
(WebCore::ResourceLoader::redirectedToURL):
(WebCore::ResourceLoader::addData):
(WebCore::ResourceLoader::finishJobAndHandle):
(WebCore::ResourceLoader::reportError):
* platform/network/mac/WebCoreResourceLoader.h: Removed.
* platform/network/mac/WebCoreResourceLoaderImp.h: Removed.
* platform/network/mac/WebCoreResourceLoaderImp.mm: Removed.
2006-10-28 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- eliminated the use of Objective-C for the policy decider
machinery, obviating the need for WebPolicyDecider,
WebCoreFrameLoaderAsDelegate, and
WebCoreMainResourceLoaderAsPolicyDelegate
- grouped the state related to policy decisions into a PolicyCheck
class to simplify the FrameLoader logic
- removed six methods from the bridge, reducing FrameLoader's use of
the bridge to a single method
- changed form state to always use HashMap instead of NSDictionary
- moved the defersLoading flag from WebView to WebCore::Page
and changed code to consistently call it defersLoading rather
than defersCallbacks
- updated for rename of PassRefPtr::release to releaseRef
- replaced all uses of __APPLE__ with appropriate PLATFORM defines
- cleaned up kjs_binding.h a bit
- cleaned up FrameMac.h a bit
* loader/mac/WebPolicyDecider.h: Removed.
* loader/mac/WebPolicyDecider.mm: Removed.
* WebCore.xcodeproj/project.pbxproj: Updated for removal.
* WebCore.exp:
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::ScriptInterpreter):
(KJS::ScriptInterpreter::wasRunByUserGesture):
* bindings/js/kjs_binding.h:
(KJS::ScriptInterpreter::setCurrentEvent):
(KJS::ScriptInterpreter::setInlineCode):
(KJS::ScriptInterpreter::setProcessingTimerCallback):
(KJS::ScriptInterpreter::getCurrentEvent):
(KJS::cacheDOMObject):
(KJS::DOMExceptionTranslator::DOMExceptionTranslator):
* bridge/AXObjectCache.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest):
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::urlSelected):
(WebCore::FrameMac::userAgent):
(WebCore::FrameMac::passMouseDownEventToWidget):
(WebCore::FrameMac::handleMouseMoveEvent):
* bridge/mac/PageMac.mm:
(WebCore::Page::Page):
* bridge/mac/WebCoreEditCommand.mm:
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::cssText):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::append):
* css/cssparser.cpp:
(WebCore::CSSParser::parseValue):
* css/cssparser.h:
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::updateSelection):
(WebCore::Document::implicitClose):
(WebCore::Document::setFocusNode):
* dom/Document.h:
* editing/ReplaceSelectionCommand.h:
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
* loader/mac/FrameLoader.h:
(WebCore::PolicyCheck::request):
* loader/mac/FrameLoader.mm:
(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::stopLoading):
(WebCore::setAllDefersLoading):
(WebCore::FrameLoader::setDefersLoading):
(WebCore::FrameLoader::willSendRequest):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::callContinueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::checkNavigationPolicy):
(WebCore::FrameLoader::checkContentPolicy):
(WebCore::FrameLoader::cancelContentPolicyCheck):
(WebCore::FrameLoader::stopPolicyCheck):
(WebCore::FrameLoader::checkNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNavigationPolicy):
(WebCore::FrameLoader::continueAfterContentPolicy):
(WebCore::FrameLoader::continueAfterWillSubmitForm):
(WebCore::FrameLoader::callContinueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::closeDocument):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::PolicyCheck::PolicyCheck):
(WebCore::PolicyCheck::clear):
(WebCore::PolicyCheck::set):
(WebCore::PolicyCheck::call):
(WebCore::PolicyCheck::dropRequest):
(WebCore::FrameLoaderClient::~FrameLoaderClient):
* loader/mac/WebFormState.h:
* loader/mac/WebFormState.mm:
* loader/mac/WebFrameLoaderClient.h:
* loader/mac/WebLoader.h:
(WebCore::WebResourceLoader::defersLoading):
* loader/mac/WebLoader.mm:
(WebCore::WebResourceLoader::WebResourceLoader):
(WebCore::WebResourceLoader::load):
(WebCore::WebResourceLoader::setDefersLoading):
* loader/mac/WebMainResourceLoader.h:
* loader/mac/WebMainResourceLoader.mm:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::releaseDelegate):
(WebCore::MainResourceLoader::didCancel):
(WebCore::MainResourceLoader::callContinueAfterNavigationPolicy):
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::callContinueAfterContentPolicy):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):
(WebCore::MainResourceLoader::setDefersLoading):
* page/Frame.cpp:
(WebCore::Frame::paint):
* page/FrameView.cpp:
(WebCore::FrameView::layout):
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::setDefersLoading):
* page/Page.h:
(WebCore::Page::defersLoading):
* platform/DeprecatedString.h:
* platform/DeprecatedStringList.h:
* platform/FontFallbackList.h:
* platform/PlatformKeyboardEvent.h:
* platform/PlatformMouseEvent.h:
* platform/PlatformWheelEvent.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
(WebCore::ClipboardMac::setDragImage):
(WebCore::ClipboardMac::dragNSImage):
(WebCore::ClipboardMac::sourceOperation):
(WebCore::ClipboardMac::destinationOperation):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setStyle):
* rendering/break_lines.cpp:
(WebCore::nextBreakablePosition):
2006-10-28 Adam Roben <aroben@apple.com>
Reviewed by Maciej.
Fix layout tests that broke after r17399. Mitz discovered that the
failures were caused by HitTestResult::m_point being uninitialized
much of the time. HitTestResults are now always constructed with a
point, and RenderLayer::hitTest and RenderLayer::hitTestLayer use that
point instead of being passed one explicitly.
* WebCore.exp: Change constructor symbol.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::eventMayStartDrag): Update to new constructor and
hitTest().
(WebCore::FrameMac::handleMouseMoveEvent): Ditto.
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
(-[WebCoreAXObject accessibilityHitTest:]): Ditto.
* dom/Document.cpp:
(WebCore::Document::elementFromPoint): Ditto.
(WebCore::Document::prepareMouseEvent): Ditto.
* page/Frame.cpp:
(WebCore::Frame::isPointInsideSelection): Ditto.
(WebCore::Frame::hitTestResultAtPoint): Ditto.
* page/FrameView.cpp:
(WebCore::FrameView::handleWheelEvent): Ditto.
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult): Initalize m_point with the
passed point.
* rendering/HitTestResult.h: Update constructor declaration.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll): Update to new constructor and
hitTest().
(WebCore::RenderLayer::hitTest): Use the IntPoint stored in the
HitTestResult instead of being passed one.
(WebCore::RenderLayer::hitTestLayer): Ditto.
* rendering/RenderLayer.h: Update declarations.
2006-10-28 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Anders.
Fix Qt/Linux build.
* CMakeLists.txt:
* platform/qt/FrameQtClient.cpp:
(WebCore::numRequests):
(WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::updateFromElement):
2006-10-28 David Carson <dacarson@gmail.com>
Tweaked by Sam. Reviewed by Brady.
Fix for: http://bugs.webkit.org/show_bug.cgi?id=11437
Initialize m_modifyBiasSet to false, as it sometimes gets
used before it has been initalized.
* editing/SelectionController.cpp:
(WebCore::SelectionController::SelectionController):
2006-10-28 Beth Dakin <bdakin@apple.com>
Reviewed by Darin.
This is the WebCore half of pushing elementAtPoint and the backend
of WebElementDictionary into WebCore. Most of the changes below are
to accommodate one of the following:
-NodeInfo is now a stand-alone class called HitTestResult.
Previously it was defined in RenderObject.h, but not for
any particular reason. The WebElementDictionary
functionality that was pushed into WebCore has been pushed
specifically into the this class. In fact,
WebElementDictionary now keeps a HitTestResult as a member
varibale.
-The enumeration AccessPolicy is now called
ClipboardAccessPolicy and is defined in its own header. It
was previously defined in ClipboardMac.h, but is now
defined independently to avoid including ClipboardMac.h
from within FrameMac.h since FrameMac.h is now included in
WebElementDictionary.m in WebKit.
-Element now has a virtual target() for the sake of
NodeInfo::targetFrame()
* WebCore.exp: Several WebCore functions are newly called from
WebKit, so they have been added here.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOM.mm: Must include Image.h because of adjustments
to ClipboardMac.
* bridge/mac/FrameMac.h: Adjust to HitTestResult changes.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::freeClipboard): Adjust to ClipboardAccessPolicy
and HitTestResult changes.
(WebCore::FrameMac::eventMayStartDrag): Same.
(WebCore::FrameMac::handleMouseMoveEvent): Same.
(WebCore::FrameMac::dispatchCPPEvent): Same.
(WebCore::FrameMac::mayDHTMLCut): Same.
(WebCore::FrameMac::mayDHTMLCopy): Same.
(WebCore::FrameMac::mayDHTMLPaste): Same.
(WebCore::FrameMac::tryDHTMLCut): Same
(WebCore::FrameMac::tryDHTMLCopy): Same.
(WebCore::FrameMac::tryDHTMLPaste): Same.
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject doAXTextMarkerForPosition:]): Adjust to
HitTestResult changes.
(-[WebCoreAXObject accessibilityHitTest:]): Same.
* bridge/mac/WebCoreFrameBridge.h: Same.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]): Adjust for
ClipboardAccessPolicy changes.
(-[WebCoreFrameBridge dragExitedWithDraggingInfo:]): Same.
(-[WebCoreFrameBridge concludeDragForDraggingInfo:]): Same.
* dom/Document.cpp:
(WebCore::Document::elementFromPoint): Adjust for HitTestResult
changes.
(WebCore::Document::prepareMouseEvent): Same.
* dom/Element.h:
(WebCore::Element::target): Now has a virtual target()
* html/HTMLAnchorElement.h: Same.
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::mapMouseEvent): Adjust for HitTestResult
changes.
* html/HTMLAreaElement.h: Virtual target()
* html/HTMLBaseElement.h:
(WebCore::HTMLBaseElement::target): Same.
* html/HTMLFormElement.h: Same.
* html/HTMLLinkElement.h: Same.
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::mapMouseEvent): Adjust for HitTestResult
changes.
* html/HTMLMapElement.h: Same.
* page/Frame.cpp:
(WebCore::Frame::isPointInsideSelection): Same.
(WebCore::Frame::hitTestResultAtPoint): Same.
* page/Frame.h: Same.
* page/FrameView.cpp:
(WebCore::FrameView::handleWheelEvent): Same.
* platform/mac/ClipboardAccessPolicy.h: Added.
(WebCore::):
* platform/mac/ClipboardMac.h: Remove definition of AccessPolicy,
include ClipboardAccessPolicy.h, and rename AccessPolicy to
ClipboardAccessPolicy.
* platform/mac/ClipboardMac.mm: Rename ClipboardAccessPolicy.
(WebCore::ClipboardMac::ClipboardMac):
(WebCore::ClipboardMac::setAccessPolicy):
(WebCore::ClipboardMac::clearData):
(WebCore::ClipboardMac::clearAllData):
(WebCore::ClipboardMac::getData):
(WebCore::ClipboardMac::setData):
(WebCore::ClipboardMac::types):
(WebCore::ClipboardMac::setDragImage):
(WebCore::ClipboardMac::setDropEffect):
(WebCore::ClipboardMac::setEffectAllowed):
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::nodeAtPoint): Adjust for HitTestResult
changes.
* rendering/EllipsisBox.h:
* rendering/HitTestResult.cpp: Added.
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::~HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):
(WebCore::HitTestResult::setURLElement):
(WebCore::HitTestResult::setScrollbar):
(WebCore::HitTestResult::targetFrame):
(WebCore::HitTestResult::boundingBox):
(WebCore::HitTestResult::isSelected):
(WebCore::HitTestResult::title):
* rendering/HitTestResult.h: Added.
(WebCore::HitTestResult::readonly):
(WebCore::HitTestResult::active):
(WebCore::HitTestResult::mouseMove):
(WebCore::HitTestResult::innerNode):
(WebCore::HitTestResult::innerNonSharedNode):
(WebCore::HitTestResult::point):
(WebCore::HitTestResult::URLElement):
(WebCore::HitTestResult::scrollbar):
(WebCore::HitTestResult::setPoint):
(WebCore::HitTestResult::setReadonly):
(WebCore::HitTestResult::setActive):
(WebCore::HitTestResult::setMouseMove):
* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint): Adjust to HitTestResult changes.
* rendering/InlineBox.h: Same.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::nodeAtPoint): Same.
* rendering/InlineFlowBox.h: Same.
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::nodeAtPoint): Same.
* rendering/InlineTextBox.h: Same.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isPointInScrollbar): Same.
(WebCore::RenderBlock::nodeAtPoint): Same.
* rendering/RenderBlock.h: Same.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint): Same.
* rendering/RenderBox.h: Same.
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::hitTestLines): Same.
* rendering/RenderFlow.h: Same.
* rendering/RenderForeignObject.cpp:
(WebCore::RenderForeignObject::nodeAtPoint): Same.
* rendering/RenderForeignObject.h: Same.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::nodeAtPoint): Same.
* rendering/RenderFrameSet.h: Same.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::nodeAtPoint): Same.
* rendering/RenderImage.h: Same.
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint): Same.
* rendering/RenderInline.h: Same.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll): Same.
(WebCore::RenderLayer::hitTest): Same.
(WebCore::RenderLayer::hitTestLayer): Same.
(WebCore::RenderLayer::updateHoverActiveState): Same.
* rendering/RenderLayer.h: Same.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::isPointInScrollbar): Same.
* rendering/RenderListBox.h: Same.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hitTest): Same.
(WebCore::RenderObject::setInnerNode): Same.
(WebCore::RenderObject::nodeAtPoint): Same.
* rendering/RenderObject.h: Remove NodeInfo class and forward
declare HitTestResult.
* rendering/RenderPath.cpp:
(WebCore::RenderPath::nodeAtPoint): Adjust to HitTestResult
changes.
* rendering/RenderPath.h: Same.
* rendering/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::nodeAtPoint): Same.
* rendering/RenderSVGImage.h: Same
* rendering/RenderSVGText.cpp:
(WebCore::RenderSVGText::nodeAtPoint): Same.
* rendering/RenderSVGText.h: Same.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint): Same.
* rendering/RenderTableRow.h: Same.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint): Same.
* rendering/RenderTableSection.h: Same.
* rendering/RenderText.h: Same.
(WebCore::RenderText::nodeAtPoint): Same.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::nodeAtPoint): Same.
* rendering/RenderTextControl.h: Same.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::nodeAtPoint): Same.
* rendering/RootInlineBox.h: Same.
2006-10-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- reverted fix for http://bugs.webkit.org/show_bug.cgi?id=11212, later we will address the performance
impact of fixing it again.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::clear):
2006-10-27 Maciej Stachowiak <mjs@apple.com>
Reviewed by John & Adam.
- assorted speedups to fix perf regression from fixing correctness regression
* WebCore.exp: exported new methods.
* WebCore.xcodeproj/project.pbxproj: Added CachedResourceMac.mm
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* loader/CachedResource.cpp: Removed now obsolete getCFURL.
* loader/CachedResource.h:
* loader/mac/CachedResourceMac.mm: Added.
(WebCore::CachedResource::getNSURLRequest): New method; the NSURLRequest is
now cached in the CachedObject.
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): New method - lets
the WebKit side do faster dispatch for clients that implement the fast path delegate.
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus): Instead of calling several FrameLoader methods,
just call loadedResourceFromMemoryCache.
* loader/mac/WebFrameLoaderClient.h:
2006-10-27 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej.
build fix
* dom/Document.cpp:
(WebCore::Document::referrer):
2006-10-27 Geoffrey Garen <ggaren@apple.com>
Reviewed by Maciej.
Moved some WebCoreFrameBridge functions into FrameLoader.
I had to make FrameLoader.h capable of compiling in C++-only source files
by adding some forward declarations and __OBJC__ #ifdefs.
* WebCore.exp:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::createEmptyDocument):
(WebCore::FrameMac::tokenizerProcessedData):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
(WebCore::Document::referrer):
* loader/LoaderFunctions.h:
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
(WebCore::numRequests):
(WebCore::FrameLoader::numPendingOrLoadingRequests):
(WebCore::FrameLoader::isReloading):
(WebCore::FrameLoader::referrer):
(WebCore::FrameLoader::loadEmptyDocumentSynchronously):
(WebCore::FrameLoader::startLoadingResource):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckIfReloading):
* page/Frame.h:
* page/FrameTree.cpp:
(WebCore::FrameTree::isDescendantOf):
(WebCore::FrameTree::traverseNext):
* page/FrameTree.h:
* platform/network/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
2006-10-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
<rdar://problem/4478625> HTML Editing: Basic table editing and culling
Expanded the Deletion UI to lists, positioned block element and block elementss with borders.
* editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
(WebCore::enclosingDeletableElement):
(WebCore::DeleteButtonController::respondToChangedSelection):
2006-10-27 John Sullivan <sullivan@apple.com>
Reviewed by Kevin Decker
Some more grammar-checking plumbing. No additional grammar jokes will have been made by the time
you haven't not finished reading this.
* rendering/InlineTextBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):
Updated for changed signature of paintDocumentMarkers, which causes grammar markers to be
considered also.
(WebCore::InlineTextBox::paintDocumentMarkers):
Renamed from paintAllMarkersOfType; now takes a bool for whether background or foreground
markers should be painted, instead of a marker type. This avoids walking the collection of
markers multiple times back to back. Now handles grammar markers.
2006-10-27 Timothy Hatcher <timothy@apple.com>
Reviewed by Beth.
Renamed Copy Files to Copy Generated Headers.
Copy 4 DOM*Internal.h headers.
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorObjC.pm:
2006-10-27 John Sullivan <sullivan@apple.com>
Reviewed by Anders
* WebCore.exp:
exported symbol for FrameMac->advanceToNextSpelling()
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
removed advanceToNextMisspelling callers. Clients in WebKit must now call FrameMac directly.
2006-10-27 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<http://bugs.webkit.org/show_bug.cgi?id=11423>
REGRESSION: First newline missing from textarea's value
The regression is that foo, return, bar in a textarea serializes as 'foobar'.
Before my change in r17223, return (an InsertLineBreak) would insert a '\n'
(the line break) then a br to prevent the '\n' from collapsing, since the
insertion is being done at the end of a block (the textarea's shadow div). Then,
inserting "bar" would displace the br, and "foo\nbar" would serialize as "foo\nbar".
After my change in r17223, InsertLineBreak would insert a br then a '\n' (reversed
the order). Then inserting "bar" would displace the '\n' and "foo"<br>"bar" would
serialize as "foobar" because when serializing RenderTextControl intentionally asks
textContent to not convert brs to newlines. It seems to think that the only brs in
the shadow div will be placeholders or collapsed.
We could remove this assumption, but, for consistancy's sake, I changed InsertLineBreak
to insert two '\n's when at the end of a block in white-space:pre text. This alone
would have fixed the bug, but introduced a new one, because foo, return, bar would
produce "foo\nbar\n" which would serialize as "foo\nbar\n" (even though the second
'\n' is collapsed, because of 9661). So, then I changed placeholder displacement to
displace a '\n' if it's acting as a placeholder. A "placeholder" is now defined as
a br or '\n' that will collapse (become superfluous) when content is inserted just
before it.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removePlaceholderAt): Renamed. Remove
a br or '\n' if content inserted just before it will cause it to collapse.
* editing/CompositeEditCommand.h:
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Insert the same type of node
to prevent a collapse as was used for the line break. Fixed comments.
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::input): Call the renamed function.
2006-10-27 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brady.
Fixed semantic inaccuracy in String::operator NSString *(), where a NULL
String became an empty NSString *, instead of nil. This will become important
as we start using this conversion more.
Added work-around for AppKit crash that semantic accuracy revealed.
No testcase because I don't think there's a way to reflect this change
in a webpage yet.
* platform/PlatformString.h:
(WebCore::String::operator NSString*):
* platform/mac/TextFieldMac.mm:
(-[NSSearchFieldCell _addStringToRecentSearches:]):
2006-10-27 David Harrison <harrison@apple.com>
Reviewed by Maciej,
<rdar://problem/4003820> Expose blockquotes in AXAttributedStringForTextMarkerRange
* bridge/mac/WebCoreAXObject.mm:
(blockquoteLevel):
Calculate and return the blockquote level of the element.
(AXAttributeStringSetBlockquoteLevel):
Add, if non-zero, or clear the block quote level attribute.
(AXAttributedStringAppendText):
Send AXAttributeStringSetBlockquoteLevel.
2006-10-27 Darin Adler <darin@apple.com>
- fix one error in the Qt build
* platform/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
Updated.
2006-10-27 Darin Adler <darin@apple.com>
Reviewed by Maciej.
* WebCore.exp: Export more symbols needed by WebKit.
2006-10-26 Geoffrey Garen <ggaren@apple.com>
Reviewed by the Baroness Esmeralda Von Scratch N' Purr XIV.
Fixed layout test crash. Oops.
* loader/mac/WebDocumentLoader.mm:
(WebCore::canonicalizedTitle):
2006-10-26 John Sullivan <sullivan@apple.com>
Reviewed by Brady
- fixed <rdar://problem/4806064> Repro crash in FrameMac::loadRequest following iTunes music store link from salon.com
This restores some of the nil-handling that was implicit before some of the code was converted from
Objective-C to C++.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest):
handle nil FrameMac
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canTargetLoadInFrame:]):
handle nil Frame
2006-10-26 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin, Maciej.
Removed many uses of NSString *.
Moved a few methods from WebCoreFrameBridge to FrameLoader, replacing
stringByCollapsingNonPrintingCharacters with a c++ equivalent.
PLT says no performance regression.
* WebCore.exp:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
(WebCore::FrameLoader::setupForReplaceByMIMEType):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::canShowMIMEType):
(WebCore::FrameLoader::representationExistsForURLScheme):
(WebCore::FrameLoader::generatedMIMETypeForURLScheme):
(WebCore::FrameLoader::checkContentPolicy):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::invalidatePendingPolicyDecision):
(WebCore::FrameLoader::checkNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
(WebCore::FrameLoader::post):
* loader/mac/WebDocumentLoader.h:
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::doesProgressiveLoad):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::title):
(WebCore::DocumentLoader::setOverrideEncoding):
(WebCore::DocumentLoader::overrideEncoding):
(WebCore::DocumentLoader::setTitle):
* loader/mac/WebFrameLoaderClient.h:
* loader/mac/WebMainResourceLoader.mm:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
2006-10-26 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
<rdar://problem/4796941> Table deletion outline is misplaced at nytimes.com
The main table at nytimes.com has a fixed width of 874px, but the table ends
up overflowing to 963px. We now use overflowWidth() and overflowHeight() to correct
this. The other bug was a missing top and left of 0px on the container element,
causing the deletion UI to sometimes be offset below the table.
Now check for the element's renderer at the beginning of show() and
return early if it is null.
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::updateOutlineStyle):
(WebCore::DeleteButtonController::show):
2006-10-26 Anders Carlsson <acarlsson@apple.com>
Build fix.
* html/CanvasRenderingContext2D.cpp:
Include MathExtras.h
2006-10-26 John Sullivan <sullivan@apple.com>
Reviewed by Anders.
Some changes to support new grammar checking code in WebKit.
* WebCore.exp:
added mangled symbol for Document->removeMarkers() so I can call it from WebKit
* WebCore.xcodeproj/project.pbxproj:
Made Document.h and DocumentMarker.h private so I can include them from WebKit.
Made HTMLCollection.h private because Document.h uses it.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
removed unmarkAllMisspellings(); WebKit now calls through to the Document directly
2006-10-26 Anders Carlsson <acarlsson@apple.com>
Reviewed by Brady.
Add reverseFind to String and use it instead of findRev.
Use CString instead of DeprecatedCString in one place.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formData):
* ksvg2/svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::getTarget):
* loader/Decoder.cpp:
(WebCore::Decoder::checkForCSSCharset):
* platform/PlatformString.h:
(WebCore::String::reverseFind):
* platform/StringImpl.cpp:
(WebCore::StringImpl::reverseFind):
* platform/StringImpl.h:
2006-10-26 John Sullivan <sullivan@apple.com>
Reviewed by Darin
More plumbing for grammar checking. Still no grammars is checked.
* dom/DocumentMarker.h:
(WebCore::DocumentMarker::):
added Grammar to enum of marker types; removed explicit enum values; removed unnecessary "enum"
* platform/GraphicsContext.h:
renamed method drawLineForMisspelling to drawLineForMisspellingOrBadGrammar;
now takes a bool parameter for whether it represents bad grammar or a misspelling
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
Renamed from drawLineForMisspelling; uses green dot instead of red dot for grammar case. Changed
an existing "assert" to "ASSERT".
* rendering/InlineTextBox.h:
renamed function paintSpellingMarker to paintSpellingOrGrammarMarker;
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
Renamed from paintSpellingMarker; now takes a bool parameter for whether it represents
bad grammar or a misspelling
(WebCore::InlineTextBox::paintAllMarkersOfType):
now handles markers of type Grammar
=== Safari-521.29 ===
2006-10-26 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11424
Cleanup rendering code
- Assorted code cleanup.
* rendering/AutoTableLayout.cpp:
* rendering/AutoTableLayout.h:
(WebCore::AutoTableLayout::totalPercent):
* rendering/CounterListItem.h:
* rendering/CounterNode.cpp:
* rendering/CounterNode.h:
(WebCore::CounterNode::~CounterNode):
(WebCore::CounterNode::isReset):
* rendering/CounterResetNode.cpp:
* rendering/CounterResetNode.h:
* rendering/DataRef.h:
(WebCore::DataRef::DataRef):
* rendering/DeprecatedRenderSelect.h:
* rendering/DeprecatedSlider.cpp:
* rendering/DeprecatedSlider.h:
* rendering/EllipsisBox.cpp:
* rendering/EllipsisBox.h:
(WebCore::EllipsisBox::EllipsisBox):
* rendering/FixedTableLayout.cpp:
* rendering/FixedTableLayout.h:
* rendering/GapRects.h:
* rendering/InlineBox.cpp:
* rendering/InlineBox.h:
(WebCore::InlineBox::InlineBox):
(WebCore::InlineBox::setConstructed):
(WebCore::InlineBox::clearTruncation):
(WebCore::InlineBox::markDirty):
* rendering/InlineFlowBox.cpp:
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::setConstructed):
(WebCore::InlineFlowBox::setEdges):
(WebCore::InlineFlowBox::setVerticalOverflowPositions):
(WebCore::InlineFlowBox::setVerticalSelectionPositions):
* rendering/InlineRunBox.h:
(WebCore::InlineRunBox::paintBackgroundAndBorder):
(WebCore::InlineRunBox::paintDecorations):
* rendering/InlineTextBox.cpp:
* rendering/InlineTextBox.h:
(WebCore::InlineTextBox::InlineTextBox):
(WebCore::InlineTextBox::end):
(WebCore::InlineTextBox::textObject):
* rendering/Length.h:
(WebCore::Length::Length):
* rendering/ListMarkerBox.cpp:
* rendering/ListMarkerBox.h:
* rendering/RenderPartObject.h:
* rendering/RootInlineBox.cpp:
* rendering/RootInlineBox.h:
* rendering/SVGInlineFlowBox.cpp:
* rendering/SVGInlineFlowBox.h:
(WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
* rendering/SVGRootInlineBox.cpp:
* rendering/SVGRootInlineBox.h:
(WebCore::SVGRootInlineBox::SVGRootInlineBox):
* rendering/TableLayout.h:
(WebCore::TableLayout::TableLayout):
(WebCore::TableLayout::~TableLayout):
* rendering/bidi.h:
(WebCore::BidiStatus::BidiStatus):
(WebCore::BidiRun::BidiRun):
* rendering/break_lines.h:
2006-10-26 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
<http://bugs.webkit.org/show_bug.cgi?id=11329>
Gmail Editor: Can't remove styling applied to selection after clicking "Remove Formatting" toolbar icon.
* editing/Editor.cpp:
(WebCore::Editor::removeFormattingAndStyle): Moved from JSEditor.
Wrapped the plain text fragment in a style span with the document
default style so that it will appear unstyled regardless of where
it is inserted. Could have also inserted the plain text fragment
and then applied the document default style to it, but there is not
yet any redundant style prevention in ApplyStyleCommand, so this
is cleaner.
* editing/Editor.h:
* editing/JSEditor.cpp:
2006-10-26 Oliver Hunt <oliver@apple.com>
Reviewed by Anders.
Fixes <rdar://problem/4800518> -- needed to update existing
canvas path elements when transforms are performed on the
context.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::scale):
(WebCore::CanvasRenderingContext2D::rotate):
(WebCore::CanvasRenderingContext2D::translate):
2006-10-26 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Darin.
Fix Qt/Linux build.
* platform/network/qt/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::slotData):
(WebCore::ResourceLoaderManager::slotMimetype):
(WebCore::ResourceLoaderManager::remove):
(WebCore::ResourceLoaderManager::add):
* platform/network/qt/ResourceLoaderQt.cpp:
(WebCore::ResourceLoader::receivedResponse):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::ServeSynchronousRequest):
2006-10-26 Adam Roben <aroben@apple.com>
Reviewed by Adele.
Fix: <rdar://problem/3951815> add "type-to-select" feature for list
boxes (<select> elements)
Fix: http://bugs.webkit.org/show_bug.cgi?id=9764 New popup menus
should have type-ahead selection without popping up menu
* WebCore.xcodeproj/project.pbxproj: Version wars.
* html/HTMLSelectElement.h: Add new instance variables for type-ahead
find.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Initialize new
instance variables.
(WebCore::HTMLSelectElement::defaultEventHandler): Perform type-ahead
find on printable character presses.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Remove
redundant check that the listIndex has changed (setSelectedIndex does
this for us), and fix indentation.
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Change an if
to an else-if.
(WebCore::stripLeadingWhiteSpace): Helper function for typeAheadFind()
to strip leading whitespace (including non-breaking spaces) from a
string.
(WebCore::HTMLSelectElement::typeAheadFind): New method to perform
type-ahead find.
* platform/PopupMenu.h: Added new updateFromElement() method to be
called from RenderMenuList::updateFromElement().
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::updateFromElement): While we are using
NSPopUpButtonCell for our popups, this method can stay empty.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement): Scroll to reveal the first
selected element.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::updateFromElement): Tell the popup to update
if it's visible.
2006-10-26 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix http://bugs.webkit.org/show_bug.cgi?id=11360
editing/pasteboard/copy-paste-bidi intermittently fails due to disappearance of anonymous RenderBlock
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStyles):
Use two vectors instead of a hash map: more efficient, deterministic. There was no
reason to use a hash table.
2006-10-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- .5% speed improvement by avoiding excess CFURLRef allocation
* loader/CachedResource.cpp:
(WebCore::CachedResource::getCFURL): New method. For Mac only (for now), cache the CFURL
here for later reuse.
* loader/CachedResource.h:
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::CheckCacheObjectStatus): Use the cached CFURL, don't make a whole new one.
2006-10-25 Darin Adler <darin@apple.com>
Reviewed by Anders.
- removed 55 methods from WebCoreFrameBridge
- changed callers to use Frame directly instead
- put FrameLoaderTypes.h types into the WebCore namespace
- first steps to get FrameLoader.h ready for cross-platform duty
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest):
(WebCore::FrameMac::startRedirectionTimer):
(WebCore::FrameMac::stopRedirectionTimer):
(WebCore::FrameMac::passSubframeEventToSubframe):
(WebCore::FrameMac::handledOnloadEvents):
(WebCore::FrameMac::isLoadTypeReload):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge executionContextForView:]):
(updateRenderingForBindings):
(-[WebCoreFrameBridge canTargetLoadInFrame:]):
(-[WebCoreFrameBridge forceLayoutAdjustingViewSize:]):
(-[WebCoreFrameBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
(-[WebCoreFrameBridge installInFrame:]):
(-[WebCoreFrameBridge numPendingOrLoadingRequests]):
(-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
(-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]):
(-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
(stringByCollapsingNonPrintingCharacters):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
* loader/FrameLoaderTypes.h:
* loader/mac/FrameLoader.h:
* loader/mac/FrameLoader.mm:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::activeDocumentLoader):
(WebCore::FrameLoader::state):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::markLoadComplete):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::handleFallbackContent):
(WebCore::FrameLoader::isLoadingMainFrame):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNavigationPolicy):
(WebCore::FrameLoader::continueAfterWillSubmitForm):
(WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
(-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
(-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
(-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
* loader/mac/ImageDocumentMac.mm:
(WebCore::finishImageLoad):
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::isLoadingInAPISense):
* loader/mac/WebMainResourceLoader.h:
* loader/mac/WebMainResourceLoader.mm:
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(-[WebCoreMainResourceLoaderAsPolicyDelegate continueAfterContentPolicy:]):
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
* platform/mac/ListBoxMac.mm:
(-[WebCoreTableView keyDown:]):
(-[WebCoreTableView keyUp:]):
* platform/mac/WebCoreTextField.mm:
(-[WebCoreTextFieldController textView:shouldHandleEvent:]):
2006-10-25 Steve Falkenburg <sfalken@apple.com>
Reviewed by Darin.
Printing fixes
* page/Frame.cpp:
(WebCore::Frame::adjustPageHeight):
* page/Frame.h:
(WebCore::Frame::setupRootForPrinting):
(WebCore::Frame::computePageRects):
2006-10-25 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
<rdar://problem/4799088>
REGRESSION: Translation widget fails to convert data and reports a "Data unavailable" error.
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
Set the HTTP method before the HTTP body.
2006-10-25 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adam.
Renamed WebFrameLoader to FrameLoader, to match class name.
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/FrameMac.mm:
* bridge/mac/WebCoreFrameBridge.mm:
* loader/mac/FrameLoader.mm: Added.
* loader/mac/IconLoaderMac.mm:
* loader/mac/WebDocumentLoader.mm:
* loader/mac/WebFrameLoader.h: Removed.
* loader/mac/WebFrameLoader.mm: Removed.
* loader/mac/WebLoader.mm:
* loader/mac/WebMainResourceLoader.mm:
* loader/mac/WebNetscapePlugInStreamLoader.mm:
* loader/mac/WebSubresourceLoader.mm:
2006-10-25 Darin Adler <darin@apple.com>
- fix full builds
* WebCore.xcodeproj/project.pbxproj: Mark bridge/mac/WebCoreResourceLoader.h as private.
2006-10-25 David Smith <catfish.man@gmail.com>
Reviewed by Mitz.
Fixed REGRESSION (r17280): Repro crash when clicking a link with target="_blank"
http://bugs.webkit.org/show_bug.cgi?id=11411
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge canTargetLoadInFrame:]): Check that the target has a frame before using it.
2006-10-25 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Mitz.
- moved some files that are essentially part of the ResourceLoader implementation to platform/network/mac
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreResourceLoader.h: Moved to platform/network/mac.
* bridge/mac/WebCoreResourceLoaderImp.h: Moved to platform/network/mac.
* bridge/mac/WebCoreResourceLoaderImp.mm: Moved to platform/network/mac.
2006-10-25 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Mark.
- remove no longer existing symbol that was breaking linking
* WebCore.exp:
2006-10-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Mitz.
- fixed "REGRESSION: Activity window doesn't always list all files until refresh"
http://bugs.webkit.org/show_bug.cgi?id=11212
I couldn't figure out how to write a test case.
* bindings/js/kjs_window.cpp:
(KJS::Window::clear): Avoid crashing if already detached.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::clear): Change prototype to make this a proper
overload for Frame::clear once again(!).
2006-10-24 Darin Adler <darin@apple.com>
Reviewed by Anders.
- converted WebFrameLoaderClient to C++
- renamed frame->frameLoader() function to frame->loader()
- renamed [bridge impl] to [bridge _frame]
- removed some bridge methods
* WebCore.exp: Added more exports.
* WebCore.xcodeproj/project.pbxproj: Made FrameTree.h private instead of project-internal
so it can be used in WebKit.
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::createFrame):
(WebCore::FrameMac::didFirstLayout):
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject rendererForView:]):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
(-[WebCoreFrameBridge canTargetLoadInFrame:]):
(-[WebCoreFrameBridge setOpener:]):
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
(-[WebCoreFrameBridge setTitle:]):
(-[WebCoreFrameBridge originalRequestURL]):
(-[WebCoreFrameBridge isLoadTypeReload]):
(-[WebCoreFrameBridge frameDetached]):
(-[WebCoreFrameBridge tokenizerProcessedData]):
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
(-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
(-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
(-[WebCoreFrameBridge reportClientRedirectCancelled:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
(-[WebCoreFrameBridge incomingReferrer]):
(-[WebCoreFrameBridge isReloading]):
(-[WebCoreFrameBridge handledOnloadEvents]):
(-[WebCoreFrameBridge mainResourceURLResponse]):
(-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
(-[WebCoreFrameBridge _frame]):
(-[WebCoreFrameBridge executionContextForView:]):
* bridge/mac/WebCorePageBridge.mm:
(-[WebCorePageBridge setMainFrame:]):
* dom/Position.cpp:
(WebCore::Position::upstream):
* loader/mac/IconLoaderMac.mm:
(IconLoader::notifyIconChanged):
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
* loader/mac/WebFormState.mm:
(WebCore::FormState::FormState):
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::finalSetupForReplace):
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::startLoading):
(WebCore::FrameLoader::stopLoadingSubframes):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::cancelPendingArchiveLoad):
(WebCore::FrameLoader::defersCallbacksChanged):
(WebCore::FrameLoader::setDefersCallbacks):
(WebCore::FrameLoader::setDocumentLoader):
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::identifierForInitialRequest):
(WebCore::FrameLoader::willSendRequest):
(WebCore::FrameLoader::didReceiveAuthenticationChallenge):
(WebCore::FrameLoader::didCancelAuthenticationChallenge):
(WebCore::FrameLoader::didReceiveResponse):
(WebCore::FrameLoader::didReceiveData):
(WebCore::FrameLoader::didFinishLoad):
(WebCore::FrameLoader::didFailToLoad):
(WebCore::FrameLoader::privateBrowsingEnabled):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::clientRedirectCancelledOrFinished):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::closeOldDataSources):
(WebCore::FrameLoader::opened):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::download):
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::notifyIconChanged):
(WebCore::FrameLoader::cancelledError):
(WebCore::FrameLoader::fileDoesNotExistError):
(WebCore::FrameLoader::willUseArchive):
(WebCore::FrameLoader::isArchiveLoadPending):
(WebCore::FrameLoader::handleUnimplementablePolicy):
(WebCore::FrameLoader::cannotShowMIMEType):
(WebCore::FrameLoader::interruptionForPolicyChangeError):
(WebCore::FrameLoader::canShowMIMEType):
(WebCore::FrameLoader::representationExistsForURLScheme):
(WebCore::FrameLoader::generatedMIMETypeForURLScheme):
(WebCore::FrameLoader::checkContentPolicy):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::committedLoad):
(WebCore::FrameLoader::revertToProvisional):
(WebCore::FrameLoader::setMainDocumentError):
(WebCore::FrameLoader::mainReceivedCompleteError):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::willChangeTitle):
(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::checkNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::checkNavigationPolicy):
(WebCore::FrameLoader::continueAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::frameLoadCompleted):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
(WebCore::FrameLoader::sendRemainingDelegateMessages):
(WebCore::FrameLoader::requestFromDelegate):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::actionInformation):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::setClient):
(WebCore::FrameLoader::client):
(WebCore::FrameLoaderClient::~FrameLoaderClient):
* loader/mac/WebFrameLoaderClient.h:
* loader/mac/WebLoader.mm:
(WebCore::WebResourceLoader::frameLoader):
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
* page/Frame.cpp:
(WebCore::Frame::loader):
* page/Frame.h:
* platform/mac/SliderMac.mm:
(Slider::focusPolicy):
2006-10-24 Darin Adler <darin@apple.com>
Rubber stamped by Anders.
- get rid of the assertion firing while running the layout tests
This does not fix the real problem, which is that we need to map offsets within
possibly-text-transformed text in the render tree to DOM tree offsets and vice
versa -- but it gets the tests running again.
* dom/Position.cpp: (WebCore::Position::upstream): Commented out the assertion.
2006-10-24 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- more ResourceLoader cleanup
- moved HTTPHeaderMap out of ResourceRequest class, so ResourceResponse will be able to use it too
- took out attempts to suppress setting of "HEAD" and "GET" methods, since underlying bugs are now fixed
* loader/LoaderFunctions.h:
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
* platform/network/HTTPHeaderMap.h: Added.
* platform/network/ResourceLoader.cpp:
(WebCore::ResourceLoader::requestHeaders):
* platform/network/ResourceLoader.h:
* platform/network/ResourceRequest.h:
* platform/network/cf/ResourceLoaderCFNet.cpp:
(WebCore::addHeadersFromHashMap):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
* xml/xmlhttprequest.h:
2006-10-24 Justin Garcia <justin.garcia@apple.com>
Reviewed by darin
<http://bugs.webkit.org/show_bug.cgi?id=10993>
GMail Editor: Caret doesn't always position itself after list marker
List creation uses moveParagraphs to push content into list items.
moveParagraphs uses a TextIterator to restore selections after moves.
Some characters emitted by the TextIterator had bad ranges associated
with them. rangeFromLocationAndLength would skip past the range it
should have used when asked for ranges of length 0.
* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator): No longer need to initialize a
removed member variable.
(WebCore::TextIterator::advance): An extra newline is emitted when leaving
some blocks. Use the same range for this newline as for the first newline.
We should remove this code and just emit two '\n's.
(WebCore::TextIterator::handleTextNode): Setup m_range.
(WebCore::TextIterator::handleTextBox): Ditto.
(WebCore::TextIterator::handleReplacedElement): Ditto.
(WebCore::TextIterator::handleNonTextNode): Ditto.
(WebCore::TextIterator::exitNode): Use an m_range from the last VisiblePosition
in the block we're leaving to that VP after that one.
(WebCore::TextIterator::emitCharacter): This function now takes in the start
and the end of the range associated with the emited character, and sets up m_range.
(WebCore::TextIterator::range): Return m_range. If it is null (we are atEnd),
return the end of the range used to create the iterator, as a convenience to
callers that use call range() on an iterator that is atEnd.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
Same as the changes made to TextIterator's constructor.
(WebCore::SimplifiedBackwardsTextIterator::advance): Use a null m_range instead of
a null m_positionNode to signal that we're finished.
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Similar to changes
made to TextIterator.
(WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::emitNewline): Simplified.
(WebCore::SimplifiedBackwardsTextIterator::range): Similar to the changes made to
TextIterator::range.
(WebCore::CharacterIterator::range): This function assumed that an iterator's
range() was safe to modify.
(WebCore::TextIterator::rangeFromLocationAndLength):
If the range we're looking for starts in the current chunk, this function assumed
that if the chunk started in a text node, it would end in the same text node. This
is no longer the case.
If the range we're looking for starts in the middle of the current chunk, I assume
that the chunk is inside a text node, because those are the only chunks with length
greater than one at the moment.
If the range we're looking for is a zero length range that starts/ends at the end of the
current chunk, we used to return the start of the next chunk, but that's wrong and
is what caused this bug.
* editing/TextIterator.h:
(WebCore::TextIterator::atEnd): The iterator is atEnd when m_range is null.
(WebCore::SimplifiedBackwardsTextIterator::atEnd):
* editing/visible_units.cpp:
(WebCore::previousBoundary): Cleaned up by using a convenience function.
(WebCore::nextBoundary): Ditto.
2006-10-24 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej.
* platform/network/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
Don't retain the header dictionary.
2006-10-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders.
Fixed http://bugs.webkit.org/show_bug.cgi?id=11404
REGRESSION: Reproducible assertion failure in Shared<WebCore::StringImpl>::ref()
running svg/custom/svg/custom/gradient-attr-update.svg
SVGRenderStyle wasn't ref-ing the shared objects it held onto. Oops.
* ksvg2/css/SVGRenderStyle.h:
* ksvg2/css/SVGRenderStyleDefs.h:
2006-10-24 Anders Carlsson <acarlsson@apple.com>
Reviewed by Mitz.
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
Set the http method to "GET" in the constructor that takes a String.
2006-10-24 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Move kcanvas/Render* and kcanvas/SVG* to rendering/Render*
and rendering/SVG* respectively. Fix Xcode project and
CMakeLists.txt to account for the moves.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/RenderForeignObject.cpp: Removed.
* kcanvas/RenderForeignObject.h: Removed.
* kcanvas/RenderPath.cpp: Removed.
* kcanvas/RenderPath.h: Removed.
* kcanvas/RenderSVGContainer.cpp: Removed.
* kcanvas/RenderSVGContainer.h: Removed.
* kcanvas/RenderSVGImage.cpp: Removed.
* kcanvas/RenderSVGImage.h: Removed.
* kcanvas/RenderSVGInline.cpp: Removed.
* kcanvas/RenderSVGInline.h: Removed.
* kcanvas/RenderSVGInlineText.cpp: Removed.
* kcanvas/RenderSVGInlineText.h: Removed.
* kcanvas/RenderSVGTSpan.cpp: Removed.
* kcanvas/RenderSVGTSpan.h: Removed.
* kcanvas/RenderSVGText.cpp: Removed.
* kcanvas/RenderSVGText.h: Removed.
* kcanvas/SVGInlineFlowBox.cpp: Removed.
* kcanvas/SVGInlineFlowBox.h: Removed.
* kcanvas/SVGRootInlineBox.cpp: Removed.
* kcanvas/SVGRootInlineBox.h: Removed.
2006-10-24 Geoffrey Garen <ggaren@apple.com>
Rolling back in, now fixed:
Nixed a few more redundant loading functions in Frame. Did my best to update
the non-Mac builds.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::urlSelected): Kept always 'true' argument for userGesture
always 'true', because changing it broke the world, and testing seems to
indicate that the one caller that might have passed 'false' didn't need to.
* page/Frame.cpp:
(WebCore::Frame::requestFrame):
(WebCore::Frame::frameLoader):
(WebCore::Frame::redirectionTimerFired):
* page/Frame.h:
* platform/gdk/FrameGdk.cpp:
* platform/gdk/FrameGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
(FrameGdk::issueCopyCommand):
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQt.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::shouldInterruptJavaScript):
(WebCore::FrameWin::issueCopyCommand):
2006-10-24 Anders Carlsson <acarlsson@apple.com>
Fix the build (Update for changes to ResourceLoader)
* platform/network/cf/ResourceLoaderCFNet.cpp:
(WebCore::addHeadersFromHashMap):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::cancel):
2006-10-24 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Change #includes using <kcanvas/*.h> to use "*.h" instead
to prepare for moving the kcanvas files.
* kcanvas/RenderSVGContainer.h:
* ksvg2/svg/SVGAElement.cpp:
* ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
* ksvg2/svg/SVGFETileElement.cpp:
* ksvg2/svg/SVGStyledLocatableElement.cpp:
* ksvg2/svg/SVGStyledTransformableElement.cpp:
2006-10-24 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- More movement towards the final network API.
Changed ResourceLoader::create to take a ResurceRequest and start
the load. Removed methods relating to setting request
headers. Removed methods relating to metaData. Added some more
convenience methods to ResourceRequest.
* dom/XMLTokenizer.cpp:
(WebCore::openFunc):
* loader/LoaderFunctions.h:
* loader/icon/IconLoader.cpp:
(IconLoader::startLoading):
(IconLoader::didFinishLoading):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::servePendingRequests):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdkClientDefault::openURL):
(WebCore::FrameGdkClientDefault::submitForm):
* platform/network/ResourceLoader.cpp:
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::create):
(WebCore::ResourceLoader::responseHTTPHeadersAsString):
(WebCore::ResourceLoader::url):
(WebCore::ResourceLoader::postData):
(WebCore::ResourceLoader::method):
(WebCore::ResourceLoader::client):
* platform/network/ResourceLoader.h:
* platform/network/ResourceLoaderInternal.h:
(WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
* platform/network/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::httpAccept):
(WebCore::ResourceRequest::setHTTPAccept):
(WebCore::ResourceRequest::addHTTPHeaderFields):
* platform/network/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::receivedResponse):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::submitForm):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ResourceLoader::retrieveResponseEncoding):
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
2006-10-24 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
* loader/FormData.cpp:
(WebCore::FormData::FormData):
* loader/FormData.h:
(WebCore::FormData::FormData):
Add new constructor that takes a void* and a size.
2006-10-24 Geoffrey Garen <ggaren@apple.com>
Rolling out my last change because it broke the world.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::openURL):
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::urlSelected):
* page/Frame.cpp:
(WebCore::Frame::openURL):
(WebCore::Frame::frameLoader):
(WebCore::Frame::requestFrame):
(WebCore::Frame::redirectionTimerFired):
* page/Frame.h:
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdk::openURL):
* platform/gdk/FrameGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::openURL):
(WebCore::FrameQt::openURLRequest):
* platform/qt/FrameQt.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::openURL):
(WebCore::FrameWin::openURLRequest):
2006-10-24 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Adam.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11396
Kill KRenderingFillPainter/KRenderingStrokePainter. Those are not needed
anymore, since kcanvas/ksvg2 are tightly integrated. No LayoutTests fixed
or broken.
* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasTreeDebug.cpp:
(WebCore::operator<<):
(WebCore::writeStyle):
* kcanvas/RenderPath.cpp:
(WebCore::RenderPath::fillContains):
* kcanvas/device/KRenderingFillPainter.cpp:
* kcanvas/device/KRenderingFillPainter.h:
* kcanvas/device/KRenderingStrokePainter.cpp:
* kcanvas/device/KRenderingStrokePainter.h:
* kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
(WebCore::KRenderingPaintServerLinearGradientQt::setup):
(WebCore::KRenderingPaintServerRadialGradientQt::setup):
* kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
* kcanvas/device/qt/KRenderingPaintServerQt.cpp:
(WebCore::KRenderingPaintServerQt::setPenProperties):
* kcanvas/device/qt/KRenderingPaintServerQt.h:
* kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
(WebCore::KRenderingPaintServerSolidQt::setup):
* kcanvas/device/qt/RenderPathQt.cpp:
(WebCore::getPathStroke):
(WebCore::RenderPath::strokeBBox):
* kcanvas/device/quartz/KCanvasItemQuartz.mm:
(WebCore::RenderPath::strokeBBox):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
* kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
* kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
(WebCore::KRenderingPaintServerQuartzHelper::fillPath):
(WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath):
* kcanvas/device/quartz/QuartzSupport.h:
(WebCore::CGLineCapFromKC):
(WebCore::CGLineJoinFromKC):
* kcanvas/device/quartz/QuartzSupport.mm:
(WebCore::applyStrokeStyleToContext):
(WebCore::strokeBoundingBox):
* ksvg2/css/SVGCSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applySVGProperty):
* ksvg2/css/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::InheritedFlags::):
* ksvg2/css/SVGRenderStyleDefs.h:
* ksvg2/misc/KCanvasRenderingStyle.cpp:
(WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
* ksvg2/misc/KCanvasRenderingStyle.h:
* ksvg2/svg/SVGFEImageElement.cpp:
2006-10-24 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders.
Nixed a few more redundant loading functions in Frame. Did my best to update
the non-Mac builds.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::urlSelected): Changed always 'true' argument for userGesture
to actually check for a user gesture. New callers rely on this behavior,
and it seems like the previous behavior must have been a bug.
* page/Frame.cpp:
(WebCore::Frame::requestFrame):
(WebCore::Frame::frameLoader):
(WebCore::Frame::redirectionTimerFired):
* page/Frame.h:
* platform/gdk/FrameGdk.cpp:
* platform/gdk/FrameGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
(FrameGdk::issueCopyCommand):
* platform/qt/FrameQt.cpp:
* platform/qt/FrameQt.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::FrameWin::shouldInterruptJavaScript):
(WebCore::FrameWin::issueCopyCommand):
2006-10-24 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Maciej.
Fix Qt/Linux build.
- Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
- Fix CMakeLists.txt to include platform/network.
* CMakeLists.txt:
* platform/qt/BrowserExtensionQt.cpp: Removed.
* platform/qt/BrowserExtensionQt.h: Removed.
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::createNewWindow):
(WebCore::FrameQt::goBackOrForward):
(WebCore::FrameQt::historyURL):
(WebCore::FrameQt::getHistoryLength):
* platform/qt/FrameQt.h:
* platform/qt/PageQt.cpp:
(WebCore::Page::canRunModal):
(WebCore::Page::canRunModalNow):
(WebCore::Page::runModal):
2006-10-24 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Tim H.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11314
Fix build when XSLT_SUPPORT is not defined
Fix unconditional use of XSLT support.
* dom/XMLTokenizer.cpp:
(WebCore::XMLTokenizer::end):
2006-10-24 Simon Hausmann <hausmann@kde.org>
Reviewed by Darin.
* CMakeLists.txt: Added project name to kde4_automoc macro, as
required by the latest KDE4 cmake module.
2006-10-24 Mitz Pettel <mitz@webkit.org>
Reviewed by Tim H.
- fix http://bugs.webkit.org/show_bug.cgi?id=11394
HTMLViewSourceDocuments are leaking
* html/HTMLViewSourceDocument.h: Changed RefPtr to plain pointer to avoid
ref cycle.
2006-10-23 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin.
Removed one of Frame's redundant urlSelected methods.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::urlSelected):
since it's unused.
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler): Changed DeprecatedString
to String because the former is deprecated and its performance is irrelevant
here. Added call to completeURL because Frame no longer does it for us.
Having the call here also improves clarity about the element's behavior.
* ksvg2/svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler): ditto. Also removed bizarre
irrelevent NULL checks on ownerDocument() because I couldn't help myself.
* page/Frame.cpp:
(WebCore::Frame::changeLocation):
(WebCore::Frame::urlSelected):
* page/Frame.h:
* platform/network/ResourceRequest.h: Removed explicit keyword on constructor
because we want to be able to use these constructors instead of helper functions
mimicking their behavior sprinkled across different classes.
(WebCore::ResourceRequest::ResourceRequest):
2006-10-24 Brady Eidson <beidson@apple.com>
Reviewed by Maciej
Moved FrameLoader from WebCoreFrameBridge to Frame. Frame.h/cpp have generic accessors to the FrameLoader itself
and creation/deletion is currently managed in FrameMac.mm
Besides explicitly commented-upon methods, most of the touched code simply changes to get the FrameLoader from the
frame instead of the bridge.
The method [WebCoreFrameBridge frameLoader] remains but only for WebKit's use - No new WebCore code should make
use of it as its days are numbered!
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac): Create the FrameLoader
(WebCore::FrameMac::~FrameMac): Nuke it
(WebCore::FrameMac::loadRequest):
* bridge/mac/WebCoreFrameBridge.h: No longer holds an m_frameLoader
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]): No longer creates the FrameLoader
(-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]): Ditto
(-[WebCoreFrameBridge clearFrame]): No longer tears down the FrameLoader
(-[WebCoreFrameBridge setFrameLoaderClient:]):
(-[WebCoreFrameBridge frameLoader]):
(-[WebCoreFrameBridge setTitle:]):
(-[WebCoreFrameBridge didFirstLayout]):
(-[WebCoreFrameBridge notifyIconChanged:]):
(-[WebCoreFrameBridge originalRequestURL]):
(-[WebCoreFrameBridge isLoadTypeReload]):
(-[WebCoreFrameBridge frameDetached]):
(-[WebCoreFrameBridge tokenizerProcessedData]):
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
(-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
(-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
(-[WebCoreFrameBridge reportClientRedirectCancelled:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
(-[WebCoreFrameBridge incomingReferrer]):
(-[WebCoreFrameBridge isReloading]):
(-[WebCoreFrameBridge handledOnloadEvents]):
(-[WebCoreFrameBridge mainResourceURLResponse]):
(-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::frameLoader):
* loader/mac/WebFrameLoader.mm:
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::stopLoadingSubframes):
(WebCore::FrameLoader::defersCallbacksChanged):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::closeOldDataSources):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::checkLoadComplete):
* loader/mac/WebLoader.mm:
(WebCore::WebResourceLoader::frameLoader):
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
* page/Frame.cpp:
(WebCore::Frame::frameLoader):
* page/Frame.h:
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
2006-10-24 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- fixed two crashes in layout tests I just introduced
* loader/mac/WebFrameLoader.mm:
(WebCore::FrameLoader::load): Add null check.
(WebCore::FrameLoader::setState): Ditto.
2006-10-23 Darin Adler <darin@apple.com>
Reviewed by Geoff.
- converted WebDocumentLoader to C++
* WebCore.exp:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge setTitle:]):
(-[WebCoreFrameBridge originalRequestURL]):
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
(-[WebCoreFrameBridge incomingReferrer]):
(-[WebCoreFrameBridge isReloading]):
(-[WebCoreFrameBridge mainResourceURLResponse]):
* loader/mac/WebDocumentLoader.h:
* loader/mac/WebDocumentLoader.mm:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::frameLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::setMainResourceData):
(WebCore::DocumentLoader::mainResourceData):
(WebCore::DocumentLoader::originalRequest):
(WebCore::DocumentLoader::originalRequestCopy):
(WebCore::DocumentLoader::request):
(WebCore::DocumentLoader::initialRequest):
(WebCore::DocumentLoader::actualRequest):
(WebCore::DocumentLoader::URL):
(WebCore::DocumentLoader::unreachableURL):
(WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::setResponse):
(WebCore::DocumentLoader::isStopping):
(WebCore::DocumentLoader::bridge):
(WebCore::DocumentLoader::setMainDocumentError):
(WebCore::DocumentLoader::mainDocumentError):
(WebCore::DocumentLoader::clearErrors):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::setupForReplace):
(WebCore::DocumentLoader::commitIfReady):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::setCommitted):
(WebCore::DocumentLoader::isCommitted):
(WebCore::DocumentLoader::setLoading):
(WebCore::DocumentLoader::isLoading):
(WebCore::DocumentLoader::commitLoad):
(WebCore::DocumentLoader::doesProgressiveLoad):
(WebCore::DocumentLoader::receivedData):
(WebCore::DocumentLoader::setupForReplaceByMIMEType):
(WebCore::DocumentLoader::updateLoading):
(WebCore::DocumentLoader::response):
(WebCore::DocumentLoader::setFrame):
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::prepareForLoadStart):
(WebCore::DocumentLoader::loadingStartedTime):
(WebCore::DocumentLoader::setIsClientRedirect):
(WebCore::DocumentLoader::isClientRedirect):
(WebCore::DocumentLoader::setPrimaryLoadComplete):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::addResponse):
(WebCore::DocumentLoader::stopRecordingResponses):
(WebCore::DocumentLoader::title):
(WebCore::DocumentLoader::setLastCheckedRequest):
(WebCore::DocumentLoader::lastCheckedRequest):
(WebCore::DocumentLoader::triggeringAction):
(WebCore::DocumentLoader::setTriggeringAction):
(WebCore::DocumentLoader::responses):
(WebCore::DocumentLoader::setOverrideEncoding):
(WebCore::DocumentLoader::overrideEncoding):
(WebCore::DocumentLoader::setTitle):
(WebCore::DocumentLoader::URLForHistory):
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(WebCore::FrameLoader::setupForReplaceByMIMEType):
(WebCore::FrameLoader::finalSetupForReplace):
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::startLoading):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::activeDocumentLoader):
(WebCore::FrameLoader::addPlugInStreamLoader):
(WebCore::FrameLoader::removePlugInStreamLoader):
(WebCore::FrameLoader::addSubresourceLoader):
(WebCore::FrameLoader::removeSubresourceLoader):
(WebCore::FrameLoader::setDocumentLoader):
(WebCore::FrameLoader::documentLoader):
(WebCore::FrameLoader::setPolicyDocumentLoader):
(WebCore::FrameLoader::provisionalDocumentLoader):
(WebCore::FrameLoader::setProvisionalDocumentLoader):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::didReceiveResponse):
(WebCore::FrameLoader::originalRequest):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::opened):
(WebCore::FrameLoader::initialRequest):
(WebCore::FrameLoader::receivedData):
(WebCore::FrameLoader::setRequest):
(WebCore::FrameLoader::isStopping):
(WebCore::FrameLoader::setResponse):
(WebCore::FrameLoader::mainReceivedError):
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::notifyIconChanged):
(WebCore::FrameLoader::URL):
(WebCore::FrameLoader::checkContentPolicy):
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::committedLoad):
(WebCore::FrameLoader::revertToProvisional):
(WebCore::FrameLoader::setMainDocumentError):
(WebCore::FrameLoader::mainReceivedCompleteError):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::willChangeTitle):
(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::checkNavigationPolicy):
(WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::detachFromParent):
* loader/mac/WebFrameLoaderClient.h:
2006-10-23 Brady Eidson <beidson@apple.com>
Lovingly reviewed by Maciej
Moved loadURL and postURL logic out of WebCoreFrameBridge to FrameMac::loadRequest
This is a big step towards moving FrameLoader out of the Bridge into Frame/Mac itself
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow): Use FrameMac::loadRequest
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest): loadURL and postURL logic moved from WebCoreFrameBridge to here
* bridge/mac/WebCoreFrameBridge.h: Nuked loadURL and postURL
* bridge/mac/WebCoreFrameBridge.mm: Ditto
* loader/mac/WebFrameLoader.mm:
(-[WebFrameLoader safeLoadURL:]): Use FrameMac::loadRequest
2006-10-23 Geoffrey Garen <ggaren@apple.com>
RS by Maciej.
Inside Frame, moved the plethora of load() and stopLoading() functions next
to each other to facilitate merging and crying.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest):
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::openURL):
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::urlSelected):
(WebCore::FrameMac::openURLFromPageCache):
(WebCore::FrameMac::createFrame):
* page/Frame.cpp:
(WebCore::Frame::openURL):
(WebCore::Frame::changeLocation):
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::loadSubframe):
(WebCore::Frame::submitFormAgain):
(WebCore::Frame::submitForm):
(WebCore::Frame::stop):
(WebCore::Frame::closeURL):
(WebCore::Frame::cancelRedirection):
(WebCore::Frame::iconURL):
(WebCore::Frame::didOpenURL):
(WebCore::Frame::didExplicitOpen):
* page/Frame.h:
2006-10-23 Geoffrey Garen <ggaren@apple.com>
RS by Maciej.
Moved our plethora of load() and stopLoading() functions next to each other
to facilitate merging and laughter.
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(WebCore::cancelAll):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::setupForReplaceByMIMEType):
(WebCore::FrameLoader::finalSetupForReplace):
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::startLoadingMainResource):
(WebCore::FrameLoader::startLoading):
(WebCore::FrameLoader::stopLoadingPlugIns):
(WebCore::FrameLoader::stopLoadingSubresources):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::stopLoadingSubframes):
(WebCore::FrameLoader::cancelMainResourceLoad):
(WebCore::FrameLoader::cancelPendingArchiveLoad):
(WebCore::FrameLoader::removeSubresourceLoader):
(WebCore::FrameLoader::mainResourceData):
(WebCore::FrameLoader::releaseMainResourceLoader):
2006-10-23 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- converted WebFrameLoader to C++
* WebCore.exp: Added many new entry points for WebKit.
* WebCore.xcodeproj/project.pbxproj: Made more files private (SPI).
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
(-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
(-[WebCoreFrameBridge dealloc]):
(-[WebCoreFrameBridge close]):
(-[WebCoreFrameBridge clearFrame]):
(-[WebCoreFrameBridge setFrameLoaderClient:]):
(-[WebCoreFrameBridge frameLoader]):
(-[WebCoreFrameBridge setTitle:]):
(-[WebCoreFrameBridge didFirstLayout]):
(-[WebCoreFrameBridge notifyIconChanged:]):
(-[WebCoreFrameBridge originalRequestURL]):
(-[WebCoreFrameBridge isLoadTypeReload]):
(-[WebCoreFrameBridge frameDetached]):
(-[WebCoreFrameBridge tokenizerProcessedData]):
(-[WebCoreFrameBridge receivedData:textEncodingName:]):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
(-[WebCoreFrameBridge objectLoadedFromCacheWithURL:response:data:]):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
(-[WebCoreFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
(-[WebCoreFrameBridge reportClientRedirectCancelled:]):
(-[WebCoreFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
(-[WebCoreFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
(-[WebCoreFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
(-[WebCoreFrameBridge incomingReferrer]):
(-[WebCoreFrameBridge isReloading]):
(-[WebCoreFrameBridge handledOnloadEvents]):
(-[WebCoreFrameBridge mainResourceURLResponse]):
(-[WebCoreFrameBridge loadEmptyDocumentSynchronously]):
* loader/mac/WebDocumentLoader.h:
* loader/mac/WebDocumentLoader.mm:
(-[WebDocumentLoader frameLoader]):
(-[WebDocumentLoader dealloc]):
(-[WebDocumentLoader mainResourceData]):
(-[WebDocumentLoader setRequest:]):
(-[WebDocumentLoader bridge]):
(-[WebDocumentLoader setMainDocumentError:]):
(-[WebDocumentLoader mainReceivedError:complete:]):
(-[WebDocumentLoader stopLoading]):
(-[WebDocumentLoader setupForReplace]):
(-[WebDocumentLoader commitIfReady]):
(-[WebDocumentLoader finishedLoading]):
(-[WebDocumentLoader commitLoadWithData:]):
(-[WebDocumentLoader doesProgressiveLoadWithMIMEType:]):
(-[WebDocumentLoader setupForReplaceByMIMEType:]):
(-[WebDocumentLoader updateLoading]):
(-[WebDocumentLoader setFrame:]):
(-[WebDocumentLoader attachToFrame]):
(-[WebDocumentLoader detachFromFrame]):
(-[WebDocumentLoader prepareForLoadStart]):
(-[WebDocumentLoader setPrimaryLoadComplete:]):
(-[WebDocumentLoader isLoadingInAPISense]):
(-[WebDocumentLoader setTitle:]):
* loader/mac/WebFrameLoader.h:
(WebCore::FrameLoader::frame):
* loader/mac/WebFrameLoader.mm:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::~FrameLoader):
(WebCore::FrameLoader::activeDocumentLoader):
(WebCore::FrameLoader::addPlugInStreamLoader):
(WebCore::FrameLoader::removePlugInStreamLoader):
(WebCore::FrameLoader::defersCallbacksChanged):
(WebCore::FrameLoader::defersCallbacks):
(WebCore::setAllDefersCallbacks):
(WebCore::FrameLoader::setDefersCallbacks):
(WebCore::cancelAll):
(WebCore::FrameLoader::stopLoadingPlugIns):
(WebCore::FrameLoader::isLoadingMainResource):
(WebCore::FrameLoader::isLoadingSubresources):
(WebCore::FrameLoader::isLoadingPlugIns):
(WebCore::FrameLoader::isLoading):
(WebCore::FrameLoader::stopLoadingSubresources):
(WebCore::FrameLoader::addSubresourceLoader):
(WebCore::FrameLoader::removeSubresourceLoader):
(WebCore::FrameLoader::mainResourceData):
(WebCore::FrameLoader::releaseMainResourceLoader):
(WebCore::FrameLoader::cancelMainResourceLoad):
(WebCore::FrameLoader::startLoadingMainResource):
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::setDocumentLoader):
(WebCore::FrameLoader::documentLoader):
(WebCore::FrameLoader::setPolicyDocumentLoader):
(WebCore::FrameLoader::provisionalDocumentLoader):
(WebCore::FrameLoader::setProvisionalDocumentLoader):
(WebCore::FrameLoader::state):
(WebCore::FrameLoader::timeOfLastCompletedLoad):
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::markLoadComplete):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::stopLoadingSubframes):
(WebCore::FrameLoader::startLoading):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::identifierForInitialRequest):
(WebCore::FrameLoader::willSendRequest):
(WebCore::FrameLoader::didReceiveAuthenticationChallenge):
(WebCore::FrameLoader::didCancelAuthenticationChallenge):
(WebCore::FrameLoader::didReceiveResponse):
(WebCore::FrameLoader::didReceiveData):
(WebCore::FrameLoader::didFinishLoad):
(WebCore::FrameLoader::didFailToLoad):
(WebCore::FrameLoader::privateBrowsingEnabled):
(WebCore::FrameLoader::originalRequest):
(WebCore::FrameLoader::receivedMainResourceError):
(WebCore::FrameLoader::clientRedirectCancelledOrFinished):
(WebCore::FrameLoader::clientRedirected):
(WebCore::FrameLoader::shouldReload):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::closeOldDataSources):
(WebCore::FrameLoader::opened):
(WebCore::FrameLoader::initialRequest):
(WebCore::FrameLoader::receivedData):
(WebCore::FrameLoader::setRequest):
(WebCore::FrameLoader::download):
(WebCore::FrameLoader::bridge):
(WebCore::FrameLoader::handleFallbackContent):
(WebCore::FrameLoader::isStopping):
(WebCore::FrameLoader::setupForReplaceByMIMEType):
(WebCore::FrameLoader::setResponse):
(WebCore::FrameLoader::mainReceivedError):
(WebCore::FrameLoader::finishedLoading):
(WebCore::FrameLoader::notifyIconChanged):
(WebCore::FrameLoader::URL):
(WebCore::FrameLoader::cancelledError):
(WebCore::FrameLoader::fileDoesNotExistError):
(WebCore::FrameLoader::willUseArchive):
(WebCore::FrameLoader::isArchiveLoadPending):
(WebCore::FrameLoader::cancelPendingArchiveLoad):
(WebCore::FrameLoader::handleUnimplementablePolicy):
(WebCore::FrameLoader::cannotShowMIMEType):
(WebCore::FrameLoader::interruptionForPolicyChangeError):
(WebCore::FrameLoader::isHostedByObjectElement):
(WebCore::FrameLoader::isLoadingMainFrame):
(WebCore::FrameLoader::canShowMIMEType):
(WebCore::FrameLoader::representationExistsForURLScheme):
(WebCore::FrameLoader::generatedMIMETypeForURLScheme):
(WebCore::FrameLoader::checkNavigationPolicy):
(WebCore::FrameLoader::checkContentPolicy):
(WebCore::FrameLoader::cancelContentPolicyCheck):
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
(WebCore::FrameLoader::reloadAllowingStaleData):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebCore::FrameLoader::finishedLoadingDocument):
(WebCore::FrameLoader::committedLoad):
(WebCore::FrameLoader::isReplacing):
(WebCore::FrameLoader::setReplacing):
(WebCore::FrameLoader::revertToProvisional):
(WebCore::FrameLoader::setMainDocumentError):
(WebCore::FrameLoader::mainReceivedCompleteError):
(WebCore::FrameLoader::finalSetupForReplace):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::subframeIsLoading):
(WebCore::FrameLoader::willChangeTitle):
(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::loadType):
(WebCore::FrameLoader::invalidatePendingPolicyDecision):
(WebCore::FrameLoader::checkNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNewWindowPolicy):
(WebCore::FrameLoader::continueAfterNavigationPolicy):
(WebCore::FrameLoader::continueAfterWillSubmitForm):
(WebCore::FrameLoader::continueLoadRequestAfterNavigationPolicy):
(WebCore::FrameLoader::didFirstLayout):
(WebCore::FrameLoader::frameLoadCompleted):
(WebCore::FrameLoader::firstLayoutDone):
(WebCore::FrameLoader::isQuickRedirectComing):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadRequestAfterNewWindowPolicy):
(WebCore::FrameLoader::sendRemainingDelegateMessages):
(WebCore::FrameLoader::requestFromDelegate):
(WebCore::FrameLoader::post):
(WebCore::FrameLoader::detachChildren):
(WebCore::FrameLoader::detachFromParent):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::safeLoad):
(WebCore::FrameLoader::actionInformation):
(WebCore::FrameLoader::checkLoadComplete):
(WebCore::FrameLoader::setFrameLoaderClient):
(WebCore::FrameLoader::client):
(WebCore::FrameLoader::asDelegate):
(-[WebCoreFrameLoaderAsDelegate initWithLoader:]):
(-[WebCoreFrameLoaderAsDelegate detachFromLoader]):
(-[WebCoreFrameLoaderAsDelegate continueFragmentScrollAfterNavigationPolicy:formState:]):
(-[WebCoreFrameLoaderAsDelegate continueAfterNewWindowPolicy:]):
(-[WebCoreFrameLoaderAsDelegate continueAfterNavigationPolicy:]):
(-[WebCoreFrameLoaderAsDelegate continueAfterWillSubmitForm:]):
(-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNavigationPolicy:formState:]):
(-[WebCoreFrameLoaderAsDelegate continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
* loader/mac/WebLoader.h:
(WebCore::WebResourceLoader::identifier):
(WebCore::WebResourceLoader::reachedTerminalState):
(WebCore::WebResourceLoader::cancelled):
* loader/mac/WebLoader.mm:
(WebCore::WebResourceLoader::WebResourceLoader):
(WebCore::WebResourceLoader::releaseResources):
(WebCore::WebResourceLoader::load):
(WebCore::WebResourceLoader::frameLoader):
(WebCore::WebResourceLoader::willSendRequest):
(WebCore::WebResourceLoader::didReceiveAuthenticationChallenge):
(WebCore::WebResourceLoader::didCancelAuthenticationChallenge):
(WebCore::WebResourceLoader::didReceiveResponse):
(WebCore::WebResourceLoader::didReceiveData):
(WebCore::WebResourceLoader::didFinishLoading):
(WebCore::WebResourceLoader::didFinishLoadingOnePart):
(WebCore::WebResourceLoader::didFail):
(WebCore::WebResourceLoader::willCacheResponse):
(WebCore::WebResourceLoader::didCancel):
(WebCore::WebResourceLoader::cancel):
(WebCore::WebResourceLoader::cancelledError):
(WebCore::WebResourceLoader::delegate):
* loader/mac/WebMainResourceLoader.h:
* loader/mac/WebMainResourceLoader.mm:
(WebCore::MainResourceLoader::MainResourceLoader):
(WebCore::MainResourceLoader::create):
(WebCore::MainResourceLoader::receivedError):
(WebCore::MainResourceLoader::didCancel):
(WebCore::MainResourceLoader::interruptionForPolicyChangeError):
(WebCore::MainResourceLoader::isPostOrRedirectAfterPost):
(WebCore::MainResourceLoader::addData):
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didReceiveData):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::didFail):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::policyDelegate):
* loader/mac/WebNetscapePlugInStreamLoader.h:
* loader/mac/WebNetscapePlugInStreamLoader.mm:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
(WebCore::NetscapePlugInStreamLoader::create):
(WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
(WebCore::NetscapePlugInStreamLoader::didFinishLoading):
(WebCore::NetscapePlugInStreamLoader::didFail):
(WebCore::NetscapePlugInStreamLoader::didCancel):
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
(-[WebCoreSubresourceHandle initWithLoader:]):
2006-10-23 Geoffrey Garen <ggaren@apple.com>
Reviewed by Bradee.
Shrunk BrowserExtension in preparation for its imminent death, moving page-
level operations to Page and frame-level operations to Frame.
Removed bizarre Mac(this) syntax inside virtual FrameMac member functions,
because 'this' is guaranteed by the compiler to be a FrameMac*.
* bindings/js/kjs_window.cpp: Added NULL checks for m_frame in places
where it can be NULL.
* bindings/js/kjs_window.cpp:
(KJS::canShowModalDialog):
(KJS::canShowModalDialogNow):
(KJS::showModalDialog):
(KJS::History::getValueProperty):
(KJS::HistoryFunc::callAsFunction):
* bridge/BrowserExtension.h:
(WebCore::BrowserExtension::~BrowserExtension):
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::frameDetached):
(WebCore::FrameMac::unfocusWindow):
(WebCore::FrameMac::bridgeForWidget):
(WebCore::FrameMac::documentViewForNode):
(WebCore::FrameMac::passSubframeEventToSubframe):
(WebCore::Frame::setNeedsReapplyStyles):
(WebCore::FrameMac::customHighlightLineRect):
(WebCore::FrameMac::paintCustomHighlight):
(WebCore::FrameMac::getHistoryLength):
(WebCore::FrameMac::goBackOrForward):
(WebCore::FrameMac::historyURL):
* bridge/mac/PageMac.mm:
(WebCore::Page::canRunModal):
(WebCore::Page::canRunModalNow):
(WebCore::Page::runModal):
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCorePageBridge.h:
* bridge/win/BrowserExtensionWin.h:
* page/Frame.cpp:
(WebCore::Frame::scheduleHistoryNavigation):
(WebCore::Frame::redirectionTimerFired):
* page/Frame.h:
* page/Page.h:
2006-10-23 Justin Garcia <justin.garcia@apple.com>
Reviewed by mjs
<http://bugs.webkit.org/show_bug.cgi?id=11334>
Writely Editor: Placing caret in a list "highlights" both Numbered List and Bulleted List toolbar icons
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::selectionUnorderedListState): Added.
(WebCore::Editor::selectionOrderedListState): Added.
* editing/Editor.h:
* editing/JSEditor.cpp:
* page/Frame.cpp:
* page/Frame.h:
2006-10-23 John Sullivan <sullivan@apple.com>
Reviewed by Tim H
* WebCore.xcodeproj/project.pbxproj:
Include WebCorePrefix.h in Xcode project for convenience and for consistency with WebKit
2006-10-23 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11291
PNG as cursor image format instead of TIFF
Original patch by Lars Naesbye Christensen (lars@naesbye.dk)
- Convert cursor images from TIFF to PNG.
* Resources/eastResizeCursor.png: Added.
* Resources/eastResizeCursor.tiff: Removed.
* Resources/eastWestResizeCursor.png: Added.
* Resources/eastWestResizeCursor.tiff: Removed.
* Resources/helpCursor.png: Added.
* Resources/helpCursor.tiff: Removed.
* Resources/linkCursor.png: Added.
* Resources/linkCursor.tiff: Removed.
* Resources/moveCursor.png: Added.
* Resources/moveCursor.tiff: Removed.
* Resources/northEastResizeCursor.png: Added.
* Resources/northEastResizeCursor.tiff: Removed.
* Resources/northEastSouthWestResizeCursor.png: Added.
* Resources/northEastSouthWestResizeCursor.tiff: Removed.
* Resources/northResizeCursor.png: Added.
* Resources/northResizeCursor.tiff: Removed.
* Resources/northSouthResizeCursor.png: Added.
* Resources/northSouthResizeCursor.tiff: Removed.
* Resources/northWestResizeCursor.png: Added.
* Resources/northWestResizeCursor.tiff: Removed.
* Resources/northWestSouthEastResizeCursor.png: Added.
* Resources/northWestSouthEastResizeCursor.tiff: Removed.
* Resources/southEastResizeCursor.png: Added.
* Resources/southEastResizeCursor.tiff: Removed.
* Resources/southResizeCursor.png: Added.
* Resources/southResizeCursor.tiff: Removed.
* Resources/southWestResizeCursor.png: Added.
* Resources/southWestResizeCursor.tiff: Removed.
* Resources/waitCursor.png: Added.
* Resources/waitCursor.tiff: Removed.
* Resources/westResizeCursor.png: Added.
* Resources/westResizeCursor.tiff: Removed.
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/CursorMac.mm:
(WebCore::leakNamedCursor):
2006-10-23 Maciej Stachowiak <mjs@apple.com>
- fixed build from last change.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::loadRequest):
(WebCore::FrameMac::openURL):
2006-10-23 Adam Roben <aroben@apple.com>
Reviewed by Adele.
Move border-radius rule for <select>s into RenderThemeMac, as this is
really a platform-specific look.
* css/html4.css:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::adjustMenuListButtonStyle):
2006-10-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Brady.
- moved things around so loadURL:... is only called from one place
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::frameDetached):
(WebCore::FrameMac::loadRequest):
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::openURL):
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::urlSelected):
2006-10-23 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
<http://bugs.webkit.org/show_bug.cgi?id=11333>
Writely Editor: After inserting a HR element, pressing return key creates a copy of this HR element in the document
Added special cases in InsertLineBreakCommand for inserting before
and after tables and horizontal rules. Also, perform InsertLineBreak
instead of InsertParagraphSeparator at these positions.
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): Use the canonical form
of the caret position when we check for the new special cases because
we know that we canonicalize VisiblePositions to those positions.
Added code to handle inserting before/after tables and horizontal rules.
Fixed a bug when inserting at the end of a block (it checked for a collapse
of the inserted br by looking for the absence of a br, but the line break
might have been a '\n' in white-space:pre text). Removed unused LOGs.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Perform an
InsertLineBreakCommand when before/after a table or a horizontal rule
so that we don't have to maintain two pieces of special case code.
Migrated to enclosingBlock.
* editing/htmlediting.cpp: Added a FIXME.
* editing/visible_units.cpp:
(WebCore::startOfParagraph): Added a workaround for 8622.
2006-10-23 Adam Roben <aroben@apple.com>
Reviewed by Adele.
Make popups a little more flexible.
* platform/PopupMenu.h:
2006-10-23 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Cleanup CodeGeneratorJS.pm
* bindings/scripts/CodeGeneratorJS.pm:
2006-10-23 Adam Roben <aroben@apple.com>
Rubberstamped by Brady.
* loader/icon/IconLoader.h: Changed angle-brackets to quotes for
#include of ResourceLoader.h, since it's a WebCore header.
2006-10-23 Darin Adler <darin@apple.com>
- fixed mistake that was preventing any loading from happening
* platform/network/ResourceLoaderClient.h: (WebCore::ResourceLoaderClient::didReceiveData):
Changed parameter back to int. Perhaps we want to move to "long long" consistently, but
I'll leave that up to Maciej.
2006-10-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- start converting ResourceLoaderClient to new API
Did the bits I could do without introducing new types:
- renamed receivedData to didReceiveData
- renamed version of receivedAllData that doesn't pass any data to didFinishLoading
* bridge/mac/WebCoreResourceLoaderImp.mm:
(-[WebCoreResourceLoaderImp addData:]):
(-[WebCoreResourceLoaderImp finishJobAndHandle:]):
* loader/icon/IconLoader.cpp:
(IconLoader::didReceiveData):
(IconLoader::didFinishLoading):
* loader/icon/IconLoader.h:
* loader/loader.cpp:
(WebCore::Loader::didReceiveData):
* loader/loader.h:
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdkClientDefault::didReceiveData):
* platform/gdk/FrameGdk.h:
* platform/network/ResourceLoaderClient.h:
(WebCore::ResourceLoaderClient::didReceiveData):
(WebCore::ResourceLoaderClient::didFinishLoading):
(WebCore::ResourceLoaderClient::receivedResponse):
* platform/network/cf/ResourceLoaderCFNet.cpp:
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::ResourceLoader::cancel):
* platform/network/gdk/ResourceLoaderManager.cpp:
(WebCore::writeCallback):
(WebCore::ResourceLoaderManager::downloadTimerCallback):
(WebCore::ResourceLoaderManager::remove):
* platform/network/qt/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::slotData):
(WebCore::ResourceLoaderManager::remove):
* platform/network/win/ResourceLoaderWin.cpp:
(WebCore::ResourceLoader::onRequestComplete):
(WebCore::ResourceLoader::fileLoadTimer):
(WebCore::ResourceLoader::cancel):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::didReceiveData):
* platform/qt/FrameQtClient.h:
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::processSyncLoadResults):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReceiveData):
* xml/xmlhttprequest.h:
2006-10-23 Maciej Stachowiak <mjs@apple.com>
Rubber stamped by Anders.
- marked files executable
* ksvg2/scripts/csscssmakeprops:
* ksvg2/scripts/csscssmakevalues:
2006-10-22 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- moved ResourceLoader and related files to platform/network
in preparation for building out this API.
I tried to update all the build systems but I'm not sure they are
all fixed properly
* page/ResourceRequest.h: Moved to platform/network.
* platform/ResourceLoader.cpp: Moved to platform/network.
* platform/ResourceLoader.h: Moved to platform/network.
* platform/ResourceLoaderClient.h: Moved to platform/network.
* platform/ResourceLoaderInternal.h: Moved to platform/network.
* platform/cf/ResourceLoaderCFNet.cpp: Moved to platform/network/cf.
* platform/gdk/ResourceLoaderCurl.cpp: Moved to platform/network/gdk.
* platform/gdk/ResourceLoaderManager.cpp: Moved to platform/network/gdk.
* platform/gdk/ResourceLoaderManager.h: Moved to platform/network/gdk.
* platform/mac/ResourceLoaderMac.mm: Moved to platform/network/mac.
* platform/qt/ResourceLoaderManager.cpp: Moved to platform/network/qt.
* platform/qt/ResourceLoaderManager.h: Moved to platform/network/qt.
* platform/qt/ResourceLoaderQt.cpp: Moved to platform/network/qt.
* platform/win/ResourceLoaderWin.cpp: Moved to platform/network/win.
* platform/win/ResourceLoaderWin.h: Moved to platform/network/win.
* webcore-base.bkl: Updated for new paths.
* CMakeLists.txt: ditto
* Projects/gdk/webcore-gdk.bkl: ditto
* WebCore.xcodeproj/project.pbxproj: ditto
* WebCoreSources.bkl: ditto
2006-10-22 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
- Add DOMHTMLFormElementPrivate.h to the project.
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMPrivate.h:
2006-10-22 Darin Adler <darin@apple.com>
- another try at fixing Qt
* CMakeLists.txt: Added DeleteButton.cpp and DeleteButtonController.cpp.
- and fix a couple warnings while I'm at it
* platform/image-decoders/ImageDecoder.h: (WebCore::RGBA32Buffer::setRGBA):
Don't do unsigned *= float.
* rendering/break_lines.cpp: (WebCore::nextBreakablePosition): Move unused variable
inside #if so it's consistent.
2006-10-21 Darin Adler <darin@apple.com>
- fix the Qt build
* platform/qt/EditorClientQt.cpp:
(WebCore::EditorClientQt::shouldShowDeleteInterface):
* platform/qt/EditorClientQt.h:
* platform/qt/FrameQt.cpp:
2006-10-21 Darin Adler <darin@apple.com>
Reviewed by Adele.
- convert WebLoader and its 3 subclasses to C++ (this time with a leak fixed)
Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
there's currently another class with that name).
Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
Converted the classes to C++ and added Objective-C delegates to forward from
API that still requires Objective-C.
Did not yet rename the source files.
* WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
classes.
* WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
* platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
* loader/mac/WebLoader.h:
* loader/mac/WebLoader.mm:
* loader/mac/WebMainResourceLoader.h:
* loader/mac/WebMainResourceLoader.mm:
* loader/mac/WebNetscapePlugInStreamLoader.h:
* loader/mac/WebNetscapePlugInStreamLoader.mm:
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
Translate to C++.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(isCaseInsensitiveEqual):
(isBackForwardLoadType):
(-[WebFrameLoader dealloc]):
(-[WebFrameLoader addPlugInStreamLoader:]):
(-[WebFrameLoader removePlugInStreamLoader:]):
(-[WebFrameLoader setDefersCallbacks:]):
(-[WebFrameLoader stopLoadingPlugIns]):
(-[WebFrameLoader isLoadingMainResource]):
(-[WebFrameLoader isLoadingSubresources]):
(-[WebFrameLoader isLoadingPlugIns]):
(-[WebFrameLoader stopLoadingSubresources]):
(-[WebFrameLoader addSubresourceLoader:]):
(-[WebFrameLoader removeSubresourceLoader:]):
(-[WebFrameLoader mainResourceData]):
(-[WebFrameLoader releaseMainResourceLoader]):
(-[WebFrameLoader cancelMainResourceLoad]):
(-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
(-[WebFrameLoader stopLoadingWithError:]):
(-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
(-[WebFrameLoader archiveLoadPendingForLoader:]):
(-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
* loader/mac/WebFrameLoaderClient.h:
Call the new C++ API.
2006-10-21 Adam Roben <aroben@apple.com>
Reviewed by Anders.
Popup tweaks.
* platform/PopupMenu.h:
2006-10-21 Darin Adler <darin@apple.com>
* editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableTable):
Oops, edited this before landing it and introduced a null-deref! This fixes it.
2006-10-21 Darin Adler <darin@apple.com>
Reviewed by Anders.
- fix http://bugs.webkit.org/show_bug.cgi?id=11379
assertion failure seen in editing tests (in new DeleteButtonController)
I cleaned up the relationship between the Frame, Editor, EditorClient, and
DeleteButtonController a bit while also making the simple change to fix the
assertion failure.
* bridge/mac/FrameMac.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
* page/Frame.h: Change EditorClient parameter to a PassRefPtr since we take ownership.
* page/Frame.cpp:
(WebCore::Frame::Frame): Ditto.
(WebCore::Frame::appliedEditing): Removed unneeded parameter to the respondToChangedContents
function, and moved it to Editor rather than right on the DeleteButtonController.
(WebCore::Frame::unappliedEditing): Ditto.
(WebCore::Frame::reappliedEditing): Ditto.
* page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): More of the same.
* editing/DeleteButtonController.h:
* editing/DeleteButtonController.cpp:
(WebCore::DeleteButtonController::DeleteButtonController): Replaced Editor* with a Frame*.
The general pattern is that we always use the Frame* as the frame identifier. See FrameTree,
for example.
(WebCore::enclosingDeletableTable): Added. Helper function used by the respondToChangedSelection
function. Includes an additional check for whether the container is contentEditable, which
was missing from the old version. This prevents the assertion failure. Also added a check that
the table itself is editable.
(WebCore::DeleteButtonController::respondToChangedSelection): Rewrote to use the helper.
(WebCore::DeleteButtonController::respondToChangedContents): Removed the unnecessary
selection parameter. No need to pass in the state of the frame since we can get it if we need it.
(WebCore::DeleteButtonController::show): Updated to use frame pointer rather than editor pointer.
* editing/Editor.cpp: Fixed formatting. Even the temporary placeholder functions should be
formatted on multiple lines as usual.
(WebCore::Editor::respondToChangedSelection): Added. Forwards to the delete button controller.
(WebCore::Editor::respondToChangedContents): Ditto.
(WebCore::Editor::Editor): Changed EditorClient parameter to a PassRefPtr since we take ownership.
* editing/Editor.h: Changed the DeleteButtonController to use an OwnPtr instead of being
defined inline to decouple so that we don't have to include DeleteButtonController.h. That way
changes to DeleteButtonController.h cause very little to recompile.
* editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):
Updated to call the editor instead of the delete button controller for the selection change.
2006-10-21 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin.
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
* platform/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
Don't leak the header dictionary.
2006-10-21 Darin Adler <darin@apple.com>
Reviewed by Adam.
- http://bugs.webkit.org/show_bug.cgi?id=11376
build scripts should invoke make with "-j" option for multiple processors
* WebCore.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
2006-10-21 Timothy Hatcher <timothy@apple.com>
Reviewed by Geoff.
<rdar://problem/4478625> HTML Editing: Basic table editing and culling
Initial implementaltion of table deletion user interface:
* Interface shows up on the nearest table containing the entire selection.
* Shows a Dashboard style close button in the top left corner.
* Shows a 60% opaque black outline around the table.
* Adds a new EditorClient function shouldShowDeleteInterface.
Also adds a new constructor CachedImage and setter functions on
HTMLImageElement and HTMLImageLoader allowing an Image object to be set
and image element in the page. This change also paves the way to allow an
NSImage setter on DOMHTMLImageElement.
* Resources/deleteButton.tiff: Added.
* Resources/deleteButtonPressed.tiff: Added.
* WebCore.xcodeproj/project.pbxproj:
* bridge/EditorClient.h:
* editing/DeleteButton.cpp: Added.
(WebCore::DeleteButton::DeleteButton):
(WebCore::DeleteButton::defaultEventHandler): notify the controller to delete on click
* editing/DeleteButton.h: Added.
* editing/DeleteButtonController.cpp: Added.
(WebCore::DeleteButtonController::DeleteButtonController):
(WebCore::DeleteButtonController::respondToChangedSelection): move the interface to the new element, or hide
(WebCore::DeleteButtonController::respondToChangedContents): call updateOutlineStyle
(WebCore::DeleteButtonController::updateOutlineStyle): resize the outline if the table changed size
(WebCore::DeleteButtonController::show): shows the interface on a new element
(WebCore::DeleteButtonController::hide): hides the existing interface
(WebCore::DeleteButtonController::deleteTarget): deletes the targeted element
* editing/DeleteButtonController.h: Added.
(WebCore::DeleteButtonController::target): getter for the current target
* editing/Editor.cpp:
(WebCore::Editor::shouldShowDeleteInterface): call the new shouldShowDeleteInterface client function
(WebCore::Editor::Editor): remove the manual ref now that we use RefPtr for m_client
(WebCore::Editor::~Editor): remove the manual deref now that we use RefPtr for m_client
* editing/Editor.h:
(WebCore::Editor::frame): new getter
(WebCore::Editor::deleteButtonController): ditto
* editing/SelectionController.cpp:
(WebCore::SelectionController::setSelection): notify the DeleteButtonController about the new selection
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::setCachedImage): new setter that replaces the CachedImage
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::setImage): ditto
* html/HTMLImageLoader.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::CachedImage): new constructor that takes an Image
* loader/CachedImage.h: ditto
* page/Frame.cpp:
(WebCore::Frame::selectionController): cleanup coding style
(WebCore::Frame::editor): ditto
(WebCore::Frame::command): ditto
(WebCore::Frame::appliedEditing): tell the delete button outline to update
(WebCore::Frame::unappliedEditing): ditto
(WebCore::Frame::reappliedEditing): ditto
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): workaround until bug 11363 is fixed
2006-10-21 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Cleanup bindings generation a little through re-factoring
and general style cleanup.
* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorObjC.pm:
2006-10-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz.
Fix crashes on Qt/Linux. Offer a default EditorClient and pass it down to Frame ctor.
* CMakeLists.txt:
* platform/qt/EditorClientQt.cpp: Added.
(WebCore::EditorClientQt::shouldDeleteRange):
* platform/qt/EditorClientQt.h: Added.
(WebCore::EditorClientQt::~EditorClientQt):
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
* platform/qt/FrameQt.h:
2006-10-21 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11372
Auto-generate a few more Objective-C DOM methods.
- Auto-generate getMatchedCSSRules and getComputedStyle methods.
* bindings/objc/DOMCSS.h:
* bindings/objc/DOMCSS.mm:
* bindings/objc/DOMExtensions.h:
* bindings/objc/PublicDOMInterfaces.h:
* bindings/scripts/CodeGeneratorObjC.pm:
* dom/Document.idl:
* page/DOMWindow.idl:
2006-10-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by aliu, landed by aliu.
Fix Qt/Linux build.
* CMakeLists.txt:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
* platform/qt/SoundQt.cpp: Added.
(WebCore::systemBeep):
2006-10-21 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz, landed by ap.
Fix obscure crashes in RenderTableSection on Rob's musicdb file.
The problem was a missing layout() call on the frame view.
Thanks go to Mitz Pettel for the initial hint!
* platform/qt/ScrollViewCanvasQt.cpp:
(WebCore::ScrollViewCanvasQt::paintEvent):
2006-10-20 Steve Falkenburg <sfalken@apple.com>
Reviewed by Anders.
Send User-Agent on requests.
Send custom request headers properly.
* platform/cf/ResourceLoaderCFNet.cpp:
(WebCore::addHeadersFromHashMap): Switch over to HashMap iteration from string parsing
(WebCore::ResourceLoader::start): Send proper User-Agent, change call to add headers
2006-10-20 Timothy Hatcher <timothy@apple.com>
Reviewed by Hyatt.
Fix some bad formatting.
* css/cssstyleselector.cpp:
(WebCore::CSSStyleSelector::checkOneSelector):
2006-10-20 Darin Adler <darin@apple.com>
Reviewed by John.
- fixed <rdar://problem/4795716> REGRESSION: User names and passwords aren't being saved (.Mac, etc.) -- WebKit formState passing empty strings
* loader/mac/WebFormState.mm: (WebCore::FormState::FormState): Fix typo -- need to pass "key"
as the key, not the dictionary itself.
2006-10-20 Alice Liu <alice.liu@apple.com>
Reviewed by Maciej.
This is the initial foundation for the EditingController class and
everything else it needs to work. The idea is that the Frame has an
EditingController object that it calls to handle editing commands, the
most simple examples being copy/paste. This controller will handle
these editing commands in WebCore, and only hand off to WebKit to call
editing delegates (to the let the app intercept editing actions if it
wants to). Thus we need a platform-specific client to which the
EditingController hands off the delegate calls,
WebCoreEditingControllerClient. On the WebCore side this is an
abstract base class, and on the WebKit(Mac) side this is an ObjC++
subclass, WebEditingControllerClient. How does the EditingController
get a handle to its platform-specific client? In WebKit, the creator
of a platform-specific Frame creates the client (which is ref-counted)
and passes it down the chain of constructors until it gets back to the
EditingController, which then refs it in its constructor and derefs in
its destructor.
No Layout tests needed.
* WebCore.xcodeproj/project.pbxproj:
Added files and made DomRangeInternal.h and EditingClient.h private headers, necessary for WebKit to compile
* bridge/EditorClient.h: Added.
(WebCore::EditorClient::~EditorClient):
* bridge/mac/FrameMac.h:
Added an EditingClient to the constructor, to pass down to Frame constructor
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::FrameMac):
Passed client down to Frame constructor
* bridge/mac/WebCoreFrameBridge.h:
Added an EditingClient to the constructor, to pass down to FrameMac constructor
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge initMainFrameWithPage:withEditorClient:]):
(-[WebCoreFrameBridge initSubframeWithOwnerElement:withEditorClient:]):
Passed client down to FrameMac constructor
* editing/Editor.cpp: Added.
Mostly stuf implementations of the following functions, except for a couple. These are all needed by cut, copy, paste, delete.
(WebCore::generalPasteboard):
(WebCore::Editor::canCopy):
(WebCore::Editor::canCut):
(WebCore::Editor::canDelete):
(WebCore::Editor::canDeleteRange):
(WebCore::Editor::canPaste):
(WebCore::Editor::canSmartCopyOrDelete):
(WebCore::Editor::deleteSelection):
(WebCore::Editor::deleteSelectionWithSmartDelete):
(WebCore::Editor::isSelectionRichlyEditable):
(WebCore::Editor::pasteAsPlainTextWithPasteboard):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::selectedRange):
(WebCore::Editor::shouldDeleteRange):
(WebCore::Editor::tryDHTMLCopy):
(WebCore::Editor::tryDHTMLCut):
(WebCore::Editor::tryDHTMLPaste):
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::Editor):
(WebCore::Editor::~Editor):
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::paste):
(WebCore::Editor::performDelete):
* editing/Editor.h: Added.
* page/Frame.h:
Added an EditingClient to the constructor, to pass down to Editor constructor
* page/Frame.cpp:
(WebCore::Frame::Frame):
Passed down to Editor constructor
(WebCore::Frame::editor):
Accessor for Editor stored in FramePrivate
* page/FramePrivate.h:
(WebCore::FramePrivate::FramePrivate):
Added an Editor object to the FramePrivate data
* platform/Sound.h: Added.
Made a platform-independent accessor to a beep function
* platform/mac/SoundMac.mm: Added.
(WebCore::systemBeep):
calls mac system beep
2006-10-20 David Hyatt <hyatt@apple.com>
Make sure to support the "encoding" property on form elements for
legacy compatibility.
Reviewed by darin/john
No test cases added. Not sure how to do a form submission of
various encodings as a layout test.
* html/HTMLFormElement.h:
(WebCore::HTMLFormElement::encoding):
(WebCore::HTMLFormElement::setEncoding):
* html/HTMLFormElement.idl:
2006-10-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and by Anders.
Fix warnings in JS generation by killing the whole isRefPtr logic,
and just using WTF::getPtr as Sam Weinig suggested. Also kill some
places using get() where getPtr() is cleaner - not for m_impl.get().
* CMakeLists.txt: Tiny cleanup + add deps for CodeGenerator(JS).pm on all IDLs.
* bindings/scripts/CodeGeneratorJS.pm:
2006-10-20 Darin Adler <darin@apple.com>
- rolled out my loader change; caused world leak and possibly a plug-in crash
2006-10-20 Anders Carlsson <acarlsson@apple.com>
Reviewed by Tim H
* loader/mac/LoaderFunctionsMac.mm:
Autorelease the header NSDictionary.
2006-10-20 Anders Carlsson <acarlsson@apple.com>
Reviewed by Geoff.
* bindings/js/kjs_window.cpp:
(KJS::Window::timerFired):
Check if the timeout id is still in the table before trying to access it. If it isn't in the table
it has been deleted inside of the execute method.
2006-10-20 Anders Carlsson <acarlsson@apple.com>
Reviewed by Darin and Geoff.
Remove debugging output.
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-10-20 David Harrison <harrison@apple.com>
Reviewed by John.
<rdar://problem/4792755> REGRESSON: Drag selecting is erratic
No test because it would require autoscrolling, which is not available to layout tests.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::autoscroll):
Use hitTest() to find the correct node.
(WebCore::RenderLayer::hitTest):
Trivial source formatting.
2006-10-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Anders.
Fix regression introduced during the ResourceLoader transition (Maciej's rewrite).
* platform/qt/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::add):
2006-10-20 Darin Adler <darin@apple.com>
Reviewed by Adele.
- convert WebLoader and its 3 subclasses to C++
Renamed WebLoader to WebCore::WebResourceLoader (should be ResourceLoader, but
there's currently another class with that name).
Renamed WebMainResourceLoader to WebCore::MainResourceLoader.
Renamed WebSubresourceLoader to WebCore::SubresourceLoader.
Renamed WebNetscapePlugInStreamLoader to WebCore::NetscapePlugInStreamLoader.
Converted the classes to C++ and added Objective-C delegates to forward from
API that still requires Objective-C.
Did not yet rename the source files.
* WebCore.exp: Removed WebLoader, WebNetscapePlugInStreamLoader, and WebSubresourceLoader
classes. Added 5 functions from the WebResourceLoader and NetscapePlugInStreamLoader
classes.
* WebCore.xcodeproj/project.pbxproj: Made RetainPtr.h a private header instead of project.
* platform/cf/RetainPtr.h: Put into the WebCore namespace rather than the WTF namespace.
* loader/mac/WebLoader.h:
* loader/mac/WebLoader.mm:
* loader/mac/WebMainResourceLoader.h:
* loader/mac/WebMainResourceLoader.mm:
* loader/mac/WebNetscapePlugInStreamLoader.h:
* loader/mac/WebNetscapePlugInStreamLoader.mm:
* loader/mac/WebSubresourceLoader.h:
* loader/mac/WebSubresourceLoader.mm:
Translate to C++.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
(-[WebCoreFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(isCaseInsensitiveEqual):
(isBackForwardLoadType):
(-[WebFrameLoader dealloc]):
(-[WebFrameLoader addPlugInStreamLoader:]):
(-[WebFrameLoader removePlugInStreamLoader:]):
(-[WebFrameLoader setDefersCallbacks:]):
(-[WebFrameLoader stopLoadingPlugIns]):
(-[WebFrameLoader isLoadingMainResource]):
(-[WebFrameLoader isLoadingSubresources]):
(-[WebFrameLoader isLoadingPlugIns]):
(-[WebFrameLoader stopLoadingSubresources]):
(-[WebFrameLoader addSubresourceLoader:]):
(-[WebFrameLoader removeSubresourceLoader:]):
(-[WebFrameLoader mainResourceData]):
(-[WebFrameLoader releaseMainResourceLoader]):
(-[WebFrameLoader cancelMainResourceLoad]):
(-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
(-[WebFrameLoader stopLoadingWithError:]):
(-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
(-[WebFrameLoader archiveLoadPendingForLoader:]):
(-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
* loader/mac/WebFrameLoaderClient.h:
Call the new C++ API.
2006-10-20 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Anders.
Offer a way for WebKitPart to be able to detect when
the webpage has been completly loaded (including subresources).
Also fix Qt/Linux build by removing PopupMenu.cpp from CMakeLists.txt
and removing some functions from PopupMenuQt.cpp, and alter FrameQt.cpp.
* CMakeLists.txt:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::submitForm):
(WebCore::FrameQt::client):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::setFrame):
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::submitForm):
(WebCore::FrameQtClientDefault::checkLoaded):
(WebCore::FrameQtClientDefault::traverseNextFrameStayWithin):
(WebCore::FrameQtClientDefault::numPendingOrLoadingRequests):
(WebCore::FrameQtClientDefault::receivedAllData):
* platform/qt/FrameQtClient.h:
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::CheckCacheObjectStatus):
* platform/qt/PopupMenuQt.cpp:
* platform/qt/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::ResourceLoaderManager):
(WebCore::ResourceLoaderManager::slotResult):
(WebCore::ResourceLoaderManager::add):
* platform/qt/ResourceLoaderManager.h:
* platform/qt/ResourceLoaderQt.cpp:
(WebCore::ResourceLoader::start):
2006-10-20 Steve Falkenburg <sfalken@apple.com>
Reviewed by Geoff.
Fix compiler warnings
* platform/ResourceLoaderClient.h:
2006-10-20 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Win32 build fix and cleanup.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin):
(WebCore::FrameWin::submitForm):
* page/ResourceRequest.h:
(WebCore::ResourceRequest::addHTTPHeaderField):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::Slider::~Slider):
(WebCore::Slider::setMinValue):
(WebCore::searchableIndexIntroduction):
(WebCore::findNextSentenceFromIndex):
(WebCore::findSentenceBoundary):
(WebCore::findNextWordFromIndex):
(WebCore::FrameWin::getObjectInstanceForWidget):
(WebCore::FrameWin::getEmbedInstanceForWidget):
(WebCore::FrameWin::runJavaScriptPrompt):
(WebCore::FrameWin::restoreDocumentState):
(WebCore::FrameWin::partClearedInBegin):
(WebCore::FrameWin::createEmptyDocument):
(WebCore::FrameWin::overrideMediaType):
(WebCore::FrameWin::markedTextRange):
(WebCore::FrameWin::passSubframeEventToSubframe):
(WebCore::FrameWin::lastEventIsMouseUp):
(WebCore::FrameWin::addMessageToConsole):
(WebCore::FrameWin::shouldChangeSelection):
(WebCore::FrameWin::respondToChangedSelection):
(WebCore::FrameWin::createFrame):
(WebCore::FrameWin::saveDocumentState):
(WebCore::FrameWin::clearUndoRedoOperations):
(WebCore::FrameWin::incomingReferrer):
(WebCore::FrameWin::markMisspellingsInAdjacentWords):
(WebCore::FrameWin::respondToChangedContents):
(WebCore::FrameWin::handledOnloadEvents):
(WebCore::FrameWin::createPlugin):
(WebCore::FrameWin::objectContentType):
(WebCore::screenDepthPerComponent):
(WebCore::screenIsMonochrome):
(WebCore::historyContains):
(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::resetButtonDefaultLabel):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::defaultLanguage):
(WebCore::findWordBoundary):
(WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
(WebCore::PlugInInfoStore::supportsMIMEType):
(WebCore::refreshPlugins):
(WebCore::ResourceLoader::assembleResponseHeaders):
(WebCore::ResourceLoader::retrieveResponseEncoding):
(WebCore::ResourceLoader::startHTTPRequest):
(WebCore::TextField::TextField):
(WebCore::focusRingColor):
(WebCore::setFocusRingColorChangeFunction):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::hide):
2006-10-20 Rob Buis <buis@kde.org>
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=11303
Path::transform() should be implemented on Qt build
Use QPainterPath API to implement Path::transform.
This fixes svg/custom/clip-path-with-transform.svg on
the qt build.
* platform/qt/PathQt.cpp:
(WebCore::Path::transform):
2006-10-20 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11217
Cleanup svg coding style
Cleanup coding style in svg clipping and painting classes.
* ksvg2/svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::parseMappedAttribute):
(WebCore::SVGClipPathElement::canvasResource):
* ksvg2/svg/SVGClipPathElement.h:
* ksvg2/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::parseMappedAttribute):
(WebCore::SVGMarkerElement::setOrientToAngle):
(WebCore::SVGMarkerElement::canvasResource):
* ksvg2/svg/SVGMarkerElement.h:
(WebCore::SVGMarkerElement::rendererIsNeeded):
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::parseMappedAttribute):
(WebCore::SVGMaskElement::drawMaskerContent):
(WebCore::SVGMaskElement::canvasResource):
* ksvg2/svg/SVGMaskElement.h:
(WebCore::SVGMaskElement::rendererIsNeeded):
* ksvg2/svg/SVGPaint.cpp:
(WebCore::SVGPaint::setPaint):
(WebCore::SVGPaint::cssText):
* ksvg2/svg/SVGPaint.h:
2006-10-20 David Hyatt <hyatt@apple.com>
Make sure to do the code that checks the repeatInterval before the timer has been
deleted. (Duh.)
Reviewed by andersca
* bindings/js/kjs_window.cpp:
(KJS::DOMWindowTimer::setNestingLevel):
(KJS::Window::timerFired):
(KJS::DOMWindowTimer::fired):
* platform/Timer.h:
2006-10-20 David Hyatt <hyatt@apple.com>
Honor tiny timer intervals for JS timeouts as they are nested until a cutoff point is reached.
At that point clamp to 10ms to prevent excessive CPU usage.
Reviewed by anders
* bindings/js/kjs_window.cpp:
(KJS::DOMWindowTimer::DOMWindowTimer):
(KJS::DOMWindowTimer::nestingLevel):
(KJS::Window::installTimeout):
(KJS::Window::pauseTimeouts):
(KJS::Window::resumeTimeouts):
(KJS::DOMWindowTimer::fired):
* platform/Timer.h:
(WebCore::TimerBase::startRepeating):
(WebCore::TimerBase::startOneShot):
(WebCore::TimerBase::repeatInterval):
(WebCore::TimerBase::augmentRepeatInterval):
(WebCore::TimerBase::inHeap):
(WebCore::Timer::Timer):
(WebCore::Timer::fired):
2006-10-20 Steve Falkenburg <sfalken@apple.com>
Build fix
* ksvg2/svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
2006-10-19 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam.
Use GetKeyState rather than GetAsyncKeyState since we're
calling in these cases in direct response to an event, and want the
key state associated with that event.
Pass triggering event to url selection method.
* bridge/mac/FrameMac.h: Add triggeringEvent parameter
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::urlSelected): Add triggeringEvent parameter
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::urlSelected): Add triggeringEvent parameter
* bridge/win/FrameWin.h: Add triggeringEvent parameter
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler): Pass triggering event to URL selection method
* page/Frame.cpp:
(WebCore::Frame::changeLocation): Add 0 as triggeringEvent
(WebCore::Frame::urlSelected): Pass through triggeringEvent
* page/Frame.h: Add triggeringEvent parameter to urlSelected methods
* platform/win/KeyEventWin.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use GetKeyState instead of GetAsyncKeyState
* platform/win/MouseEventWin.cpp: Use GetKeyState instead of GetAsyncKeyState
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
2006-10-19 David Hyatt <hyatt@apple.com>
Correct typos from changing "flush" to "prune" using automated search/replace.
Change the cache heuristic for flushing to allow a higher watermark before initiating an
aggressive prune. This ensures that small cache sizes are no worse in terms of performance
than the old buggy cache.
Make sizes unsigned instead of ints in the cache's APIs and member variables.
* loader/Cache.cpp:
(WebCore::Cache::prune):
(WebCore::Cache::setMaximumSize):
* loader/Cache.h:
(WebCore::Cache::maximumSize):
2006-10-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Daddy Hyatt.
Use a real hash map for the headers.
* loader/LoaderFunctions.h:
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ServeSynchronousRequest):
* platform/ResourceLoader.cpp:
(WebCore::ResourceLoader::setRequestHeaders):
(WebCore::ResourceLoader::requestHeaders):
* platform/ResourceLoader.h:
* platform/ResourceLoaderInternal.h:
* platform/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::start):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::send):
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::getRequestHeader):
* xml/xmlhttprequest.h:
2006-10-19 Adam Roben <aroben@apple.com>
Reviewed by Ada.
Pippity-poppity popup tweaks.
* WebCore.xcodeproj/project.pbxproj: Removed PopupMenu.cpp from project.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setSelectedIndex): Only fire onChange if
requested and the new index is actually different than the old one.
* platform/IntPoint.h: Added another casting operator.
* platform/PopupMenu.cpp: Removed. The code in here, while
platform-independent, was only useful for the NSPopUpButtonCell
implementation of popup menus, so I've moved it to PopupMenuMac.mm.
* platform/PopupMenu.h: Moved the definition of PopupMenu::create into
the header since it's fairly simple. Made some more methods private now
that we don't have subclasses and virtual methods anymore.
(WebCore::PopupMenu::create):
(WebCore::PopupMenu::menuList):
(WebCore::PopupMenu::itemHeight):
(WebCore::PopupMenu::windowRect):
(WebCore::PopupMenu::listIndexAtPoint):
(WebCore::PopupMenu::focusedIndex):
(WebCore::PopupMenu::setWasClicked):
(WebCore::PopupMenu::wasClicked):
(WebCore::PopupMenu::setScrollOffset):
(WebCore::PopupMenu::scrollOffset):
(WebCore::PopupMenu::wheelDelta):
* platform/mac/PopupMenuMac.mm: Added the code from PopupMenu.cpp.
(WebCore::PopupMenu::populate): Call our own clear() method to clear
the menu.
* platform/win/IntPointWin.cpp: New casting operator.
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator POINTS):
2006-10-19 Adam Roben <aroben@apple.com>
Reviewed by Darin.
Cleaning up Document::nextFocusNode and Document::previousFocusNode.
* dom/Document.cpp:
(WebCore::Document::nextFocusNode):
(WebCore::Document::previousFocusNode):
2006-10-19 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- implement new ResourceRequest API and fix up code as appropriate
* bindings/js/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::WindowFunc::callAsFunction):
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::urlSelected):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
* dom/DOMImplementation.cpp:
(WebCore::addString):
(WebCore::isSVG10Feature):
(WebCore::isSVG11Feature):
* dom/Document.h:
* editing/CommandByName.cpp:
* editing/JSEditor.cpp:
* page/Frame.cpp:
(WebCore::Frame::changeLocation):
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::submitForm):
* page/Frame.h:
* page/FramePrivate.h:
* page/ResourceRequest.h:
(WebCore::):
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::cachePolicy):
(WebCore::ResourceRequest::setCachePolicy):
(WebCore::ResourceRequest::timeoutInterval):
(WebCore::ResourceRequest::setTimeoutInterval):
(WebCore::ResourceRequest::mainDocumentURL):
(WebCore::ResourceRequest::setMainDocumentURL):
(WebCore::ResourceRequest::httpMethod):
(WebCore::ResourceRequest::setHTTPMethod):
(WebCore::ResourceRequest::httpHeaderField):
(WebCore::ResourceRequest::setHTTPHeaderField):
(WebCore::ResourceRequest::httpContentType):
(WebCore::ResourceRequest::setHTTPContentType):
(WebCore::ResourceRequest::httpReferrer):
(WebCore::ResourceRequest::setHTTPReferrer):
(WebCore::ResourceRequest::httpUserAgent):
(WebCore::ResourceRequest::setHTTPUserAgent):
(WebCore::ResourceRequest::httpBody):
(WebCore::ResourceRequest::setHTTPBody):
(WebCore::ResourceRequest::addHTTPHeaderField):
* platform/FontCache.cpp:
(WebCore::computeHash):
* platform/StringHash.h:
(WTF::):
* platform/StringImpl.cpp:
(WebCore::equalIgnoringCase):
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::updateWidget):
2006-10-19 Justin Garcia <justin.garcia@apple.com>
Reviewed by levi
<rdar://problem/4447885>
API: WebView should have a method something like incrementLeftMarginBy: or indentBy:
Fixed indent/outdent to only increment the left margin, to match other browsers.
Used blockquote class="webkit-indent-blockquote" to do this. Mail can now
implement indent/outdent by customizing the appearance of these blockquotes,
instead of using a new API.
* css/html4.css: Added margin: 0 0 0 40px for webkit-indent-blockquotes.
* editing/IndentOutdentCommand.cpp:
(WebCore::indentBlockquoteString): Added.
(WebCore::createIndentBlockquoteElement): Added.
(WebCore::isIndentBlockquote): Added.
(WebCore::isListOrBlockquote): Added.
(WebCore::IndentOutdentCommand::IndentOutdentCommand):
(WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Fixed
a bug in the code that added an extra br if the placeholder collapsed upon insertion.
Used the new indentBlockquote checks and enclosing element getters.
(WebCore::IndentOutdentCommand::indentRegion): Ditto.
(WebCore::IndentOutdentCommand::outdentParagraph): Ditto. Cleaned up the
logic to pull the selection out of a list a bit.
* editing/htmlediting.cpp:
(WebCore::enclosingNodeOfType): Added this generic enclosing element getter.
* editing/htmlediting.h:
2006-10-19 Timothy Hatcher <timothy@apple.com>
Rolling out the this change since it caused a bad regression:
<rdar://problem/4788524> REGRESSION: Incomplete repaint of text area when deleting (11277)
2006-10-12 Adele Peterson <adele@apple.com>
Reviewed by Dave Harrison.
- Fixed <rdar://problem/4650813> REGRESSION: typing in a textarea in Safari is extremely slow (sample shows focus ring drawing)
* rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout):
Make subtree layouts work for textareas as well as text fields.
2006-10-19 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by Anders.
Fix Qt/Linux build.
* CMakeLists.txt:
* loader/Cache.h:
* platform/qt/BrowserExtensionQt.cpp:
* platform/qt/BrowserExtensionQt.h:
* platform/qt/CursorQt.cpp:
(WebCore::pointerCursor):
* platform/qt/LoaderFunctionsQt.cpp:
(WebCore::NumberOfPendingOrLoadingRequests):
(WebCore::CheckCacheObjectStatus):
* platform/qt/ResourceLoaderQt.cpp:
(WebCore::ResourceLoader::retrieveResponseEncoding):
(WebCore::ResourceLoader::receivedResponse):
2006-10-19 Sam Weinig <sam.weinig@gmail.com>
Reviewed by ap.
Win32 build fix.
* bridge/win/FrameWin.cpp:
* bridge/win/FrameWin.h:
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::ResourceLoader::retrieveResponseEncoding):
2006-10-19 Alexey Proskuryakov <ap@nypop.com>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11141
REGRESSION(r16681-r16691): CSS '@import' doesn't respect HTML Base element
Undo one misguided change made in bug 11011 - stop setting inline stylesheet's href
to document URL. This matches WinIE and partially matches Firefox - although the latter
reports the href as if it were inherited, it still doesn't use it when resolving URIs in
@import rules.
Test: http/tests/uri/css-href.php
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::childrenChanged):
* ksvg2/svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::childrenChanged):
2006-10-19 Anders Carlsson <acarlsson@apple.com>
* loader/Cache.cpp:
Get rid of #include "loader.h", Cache.h already includes this and it breaks on operating systems
with case-sensitive file systems.
2006-10-19 Anders Carlsson <acarlsson@apple.com>
Reviewed by Maciej, Brady.
Remove "charset" from the ResourceLoader metadata map and use
a getter function instead. Also, rename charset to encoding in a couple of places.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::setEncoding):
* loader/CachedCSSStyleSheet.h:
* loader/CachedResource.h:
(WebCore::CachedResource::setEncoding):
* loader/CachedScript.cpp:
(WebCore::CachedScript::setEncoding):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::setEncoding):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::setEncoding):
* loader/CachedXSLStyleSheet.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
* platform/ResourceLoader.cpp:
(WebCore::ResourceLoader::responseEncoding):
(WebCore::ResourceLoader::queryMetaData):
* platform/ResourceLoader.h:
* platform/ResourceLoaderInternal.h:
(WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
* platform/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::retrieveResponseEncoding):
(WebCore::ResourceLoader::receivedResponse):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::receivedData):
2006-10-19 David Hyatt <hyatt@apple.com>
Rewrite of the WebCore memory cache. The following changes have been made (along with many more):
(1) Referenced objects are now also cached.
(2) Pruning of the cache will occur once the cache is both full and in addition
more than half full with unreferenced objects.
(3) The prune is much more aggressive now, since referenced objects are counted when
pruning. The cache will therefore often prune out every unreferenced object if lots of
windows/tabs are open.
(4) Consolidated the request methods for various types of resources to go through a single
requestResource bottleneck function.
(5) deref on CachedResource is no longer virtual, since the implementation in every subclass was
identical.
(6) Changed "object" to "resource" everywhere.
(7) The Cache is now an actual object, obtained via cache().
(8) Fixed bugs with the autoload images preference so that it would really work properly when disabled
and enabled.
(9) Tweaked ImageDocuments to set up the status properly for the CachedResource that they use.
(10) Fixed the LRU-SP algorithm so that the LRU aspect really kicks in (by leaving the live objects
in the LRU lists). Also fixed a bug with the "-SP" part of the algorithm where the access count was
being incorrectly weighted too much due to a math error.
(11) Fixed a bug where the old cache could grow without bound because it didn't know anything about
the size of referenced resources.
Reviewed by Maciej, bradee-oh
* bridge/mac/WebCoreCache.mm:
(+[WebCoreCache statistics]):
(+[WebCoreCache empty]):
(+[WebCoreCache setDisabled:]):
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge initMainFrameWithPage:]):
(-[WebCoreFrameBridge getData:andResponse:forURL:]):
(-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::image):
* dom/XMLTokenizer.cpp:
(WebCore::openFunc):
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::updateFromElement):
* loader/Cache.cpp:
(WebCore::cache):
(WebCore::Cache::Cache):
(WebCore::createResource):
(WebCore::Cache::requestResource):
(WebCore::Cache::resourceForURL):
(WebCore::Cache::prune):
(WebCore::Cache::setMaximumSize):
(WebCore::Cache::remove):
(WebCore::Cache::addDocLoader):
(WebCore::Cache::removeDocLoader):
(WebCore::fastLog2):
(WebCore::Cache::lruListFor):
(WebCore::Cache::removeFromLRUList):
(WebCore::Cache::insertInLRUList):
(WebCore::Cache::resourceAccessed):
(WebCore::Cache::adjustSize):
(WebCore::Cache::getStatistics):
(WebCore::Cache::setDisabled):
* loader/Cache.h:
(WebCore::LRUList::LRUList):
(WebCore::Cache::loader):
(WebCore::Cache::maximumSize):
(WebCore::Cache::disabled):
(WebCore::Cache::addToLiveObjectSize):
(WebCore::Cache::removeFromLiveObjectSize):
(WebCore::Cache::TypeStatistic::TypeStatistic):
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::~CachedImage):
(WebCore::brokenImage):
(WebCore::nullImage):
(WebCore::CachedImage::image):
(WebCore::CachedImage::data):
* loader/CachedImage.h:
(WebCore::CachedImage::stillNeedsLoad):
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::finish):
(WebCore::CachedResource::setExpireDate):
(WebCore::CachedResource::isExpired):
(WebCore::CachedResource::setRequest):
(WebCore::CachedResource::ref):
(WebCore::CachedResource::deref):
(WebCore::CachedResource::setSize):
* loader/CachedResource.h:
(WebCore::CachedResource::):
(WebCore::CachedResource::setCharset):
(WebCore::CachedResource::url):
(WebCore::CachedResource::type):
(WebCore::CachedResource::referenced):
(WebCore::CachedResource::count):
(WebCore::CachedResource::status):
(WebCore::CachedResource::size):
(WebCore::CachedResource::isLoaded):
(WebCore::CachedResource::setLoading):
(WebCore::CachedResource::isImage):
(WebCore::CachedResource::accessCount):
(WebCore::CachedResource::increaseAccessCount):
(WebCore::CachedResource::setInCache):
(WebCore::CachedResource::inCache):
(WebCore::CachedResource::cachePolicy):
(WebCore::CachedResource::response):
(WebCore::CachedResource::allData):
(WebCore::CachedResource::canDelete):
(WebCore::CachedResource::schedule):
(WebCore::CachedResource::accept):
(WebCore::CachedResource::setAccept):
* loader/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
* loader/CachedXSLStyleSheet.h:
* loader/DocLoader.cpp:
(WebCore::DocLoader::DocLoader):
(WebCore::DocLoader::~DocLoader):
(WebCore::DocLoader::checkForReload):
(WebCore::DocLoader::requestImage):
(WebCore::DocLoader::requestCSSStyleSheet):
(WebCore::DocLoader::requestScript):
(WebCore::DocLoader::requestXSLStyleSheet):
(WebCore::DocLoader::requestXBLDocument):
(WebCore::DocLoader::requestResource):
(WebCore::DocLoader::setAutoLoadImages):
(WebCore::DocLoader::removeCachedResource):
* loader/DocLoader.h:
(WebCore::DocLoader::cachedResource):
(WebCore::DocLoader::allCachedResources):
(WebCore::DocLoader::autoLoadImages):
(WebCore::DocLoader::cachePolicy):
(WebCore::DocLoader::expireDate):
(WebCore::DocLoader::frame):
(WebCore::DocLoader::doc):
(WebCore::DocLoader::loadInProgress):
* loader/ImageDocument.cpp:
(WebCore::ImageTokenizer::finish):
* loader/loader.cpp:
(WebCore::Loader::receivedAllData):
(WebCore::Loader::cancelRequests):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::NumberOfPendingOrLoadingRequests):
(WebCore::CheckCacheObjectStatus):
* page/Frame.cpp:
(WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
(WebCore::Frame::Frame):
(WebCore::Frame::stopLoading):
(WebCore::Frame::setAutoLoadImages):
(WebCore::Frame::autoLoadImages):
(WebCore::Frame::begin):
(WebCore::Frame::checkCompleted):
(WebCore::Frame::reparseConfiguration):
* page/Frame.h:
* xml/XSLTProcessor.cpp:
(WebCore::docLoaderFunc):
* xml/xmlhttprequest.cpp:
(WebCore::XMLHttpRequest::send):
2006-10-18 Maciej Stachowiak <mjs@apple.com>
Reviewed by Geoff.
- remove vestiges of KXMLCore name (former name of WTF).
* config.h:
2006-10-18 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth.
Fixed http://bugs.webkit.org/show_bug.cgi?id=11222
Some global JS objects lacked references to their property hashtables,
so for-in enumeration didn't work. I added the references, and then removed
a few bogus properties from the tables. The bogus ones got in there through
bit rot.
We should come up with some solution to these hand-written bindings bugs.
Maybe we could use a script to autogenerate them or something.
* bindings/js/kjs_window.cpp:
(KJS::):
(KJS::History::getValueProperty):
2006-10-18 Adam Roben <aroben@apple.com>
Reviewed by Brady.
Change Shift-Tab to generate keyIdentifier U+000009 (Tab) instead of
U+000019 (Backtab). This matches our windowsKeyCode for this key
combination.
* platform/mac/KeyEventMac.mm:
(WebCore::keyIdentifierForKeyEvent):
2006-10-18 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam, Brady.
Loader tweaks.
* platform/cf/ResourceLoaderCFNet.cpp:
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::didReceiveChallenge):
(WebCore::runLoaderThread):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::cancel):
2006-10-18 Timothy Hatcher <timothy@apple.com>
Reviewed by Darin.
<rdar://problem/4752138> Manipulating popup in HTML page crashed Xcode
- Store the Mac popup button cell as a RetainPtr to prevent GC collection.
- Convert more ObjC local statics and member variables to use RetainPtr.
- Convert more CFRetain/CFRelease to HardRetain/HardRelease.
* bindings/objc/DOM.mm:
(ObjCNodeFilterCondition::ObjCNodeFilterCondition): use HardRetain and not CFRetain
(ObjCNodeFilterCondition::~ObjCNodeFilterCondition): use HardRelease and not CFRelease
* bridge/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::~AXObjectCache): use HardRelease and not CFRelease
(WebCore::AXObjectCache::get): use HardRetain and not CFRetain
(WebCore::AXObjectCache::remove): use HardRelease and not CFRelease
* bridge/mac/WebCoreFrameBridge.mm:
(+[WebCoreFrameBridge supportedImageResourceMIMETypes]): use RetainPtr
(+[WebCoreFrameBridge supportedImageMIMETypes]): ditto
* bridge/mac/WebCoreIconDatabaseBridge.mm:
(+[WebCoreIconDatabaseBridge sharedInstance]): use RetainPtr
* platform/PopupMenu.h: renamed popup to m_popup and switched to RetainPtr<NSPopUpButtonCell>
* platform/cf/RetainPtr.h:
(WTF::::operator): implement a missing operator= template function
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::PopupMenu): remove nil initialization
(WebCore::PopupMenu::~PopupMenu): use .get(), remove release message and rename to m_popup
(WebCore::PopupMenu::clear): use .get() when sending a message and rename to m_popup
(WebCore::PopupMenu::populate): ditto
(WebCore::PopupMenu::show): ditto
(WebCore::PopupMenu::hide): ditto
(WebCore::PopupMenu::addSeparator): ditto
(WebCore::PopupMenu::addGroupLabel): ditto
(WebCore::PopupMenu::addOption): ditto
2006-10-18 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adele.
Fixed <rdar://problem/3673233> JavaScript timers do not fire if controls
are tracking or menus are down (run loop modes)
I spent a few hours trying to write an automated test, but DRT doesn't
seem to support it. Manual tests attached to related bugs.
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::passMouseDownEventToWidget):
* platform/mac/SharedTimerMac.cpp:
(WebCore::setSharedTimerFireTime):
2006-10-18 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Maciej.
More Win32 buildfix.
* bridge/win/FrameWin.h:
2006-10-18 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz
Win32 build fix.
* bridge/win/BrowserExtensionWin.cpp:
(WebCore::BrowserExtensionWin::BrowserExtensionWin):
(WebCore::BrowserExtensionWin::createNewWindow):
* bridge/win/BrowserExtensionWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::createNewWindow):
* bridge/win/FrameWin.h:
* platform/win/CursorWin.cpp:
* platform/win/TemporaryLinkStubs.cpp:
(Image::getHBITMAP):
2006-10-18 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4784823>
GMail Editor: Hang occurs when removing list styling on text in a rich text message
List removal moves the contents of every list item out of the list it's
in. When the code tried to move the contents of an empty list item (an li
with no child nodes, not even a placeholder br), moveParagraph didn't prune
the li, like it would if the li had a placeholder inside it. So the list
removal code went into an infinite loop, continually attempting to de-list
an empty list item.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): If the selection
to move was empty and in an empty block that doesn't require a
placeholder to prop itself open (like a bordered div or an li),
remove it during the move.
2006-10-18 Adele Peterson <adele@apple.com>
Reviewed by Beth.
- Fixed http://bugs.webkit.org/show_bug.cgi?id=11343
REGRESSION (r16975): fast/events/objc-event-api is failing
When I moved the autoscroll code from FrameMac to Frame, I mistakingly changed the order of
a call to invalidateClick. This change moves it back to the sequence that existed before. This allows
the click count to get properly reset during a selection.
* page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent):
2006-10-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders.
Factored common scaling code into a helper function.
* platform/mac/ScreenMac.mm:
(WebCore::scale):
(WebCore::scaleScreenRectToPageCoordinates):
(WebCore::scalePageRectToScreenCoordinates):
2006-10-17 Steve Falkenburg <sfalken@apple.com>
Build fixes
* bridge/win/BrowserExtensionWin.cpp:
(WebCore::BrowserExtensionWin::createNewWindow):
* bridge/win/BrowserExtensionWin.h:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::createNewWindow):
* bridge/win/FrameWin.h:
* platform/gdk/BrowserExtensionGdk.h:
* platform/gdk/TemporaryLinkStubs.cpp:
(BrowserExtensionGdk::createNewWindow):
* platform/qt/BrowserExtensionQt.cpp:
(WebCore::BrowserExtensionQt::createNewWindow):
* platform/qt/BrowserExtensionQt.h:
2006-10-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Anders.
Renamed WindowArgs to WindowFeatures, and moved it into its own header.
("Features" is the term of art in IE documentation. "Args" is pirate
talk.)
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::showModalDialog):
(KJS::setWindowFeature):
(KJS::parseWindowFeatures):
(KJS::constrainToVisible):
(KJS::WindowFunc::callAsFunction):
* bridge/BrowserExtension.h:
* bridge/WindowFeatures.h: Added.
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
2006-10-17 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Tim H.
Patch for http://bugs.webkit.org/show_bug.cgi?id=11268
Implement the Objective-C DOM bindings for SVGNumber, SVGRect, and SVGPoint
- Adds implementation for DOMSVGNumber, DOMSVGRect, and DOMSVGPoint.
- Moves the contents of ksvg/bindings/js/ to bindings/js/.
- Moves SVGZoomEvent.idl from ksvg/svg/ to ksvg/events/.
- Adds isSVGColor() and isSVGPaint() methods to StyleBase, matching
the other CSSValue classing, and allowing the bindings to allocate
appropriately.
- Removes #ifdefs around the getBBox() method in SVGLocatable.idl allowing
generation for Objective-C.
- Assorted style cleanups.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/objc/DOMCSS.mm:
(+[DOMCSSValue _CSSValueWith:WebCore::]):
* bindings/objc/DOMEvents.mm:
(+[DOMEvent _eventWith:WebCore::]):
* bindings/objc/DOMSVG.h:
* bindings/objc/DOMSVGNumber.mm:
(-[DOMSVGNumber dealloc]):
(-[DOMSVGNumber finalize]):
(-[DOMSVGNumber value]):
(-[DOMSVGNumber setValue:]):
(-[DOMSVGNumber _SVGNumber]):
(-[DOMSVGNumber _initWithFloat:]):
(+[DOMSVGNumber _SVGNumberWith:]):
* bindings/objc/DOMSVGPoint.mm:
(-[DOMSVGPoint dealloc]):
(-[DOMSVGPoint finalize]):
(-[DOMSVGPoint x]):
(-[DOMSVGPoint setX:]):
(-[DOMSVGPoint y]):
(-[DOMSVGPoint setY:]):
(-[DOMSVGPoint WebCore::]):
(-[DOMSVGPoint _initWithFloatPoint:WebCore::]):
(+[DOMSVGPoint _SVGPointWith:WebCore::]):
* bindings/objc/DOMSVGRect.mm:
(-[DOMSVGRect dealloc]):
(-[DOMSVGRect finalize]):
(-[DOMSVGRect x]):
(-[DOMSVGRect setX:]):
(-[DOMSVGRect y]):
(-[DOMSVGRect setY:]):
(-[DOMSVGRect width]):
(-[DOMSVGRect setWidth:]):
(-[DOMSVGRect height]):
(-[DOMSVGRect setHeight:]):
(-[DOMSVGRect WebCore::]):
(-[DOMSVGRect _initWithFloatRect:WebCore::]):
(+[DOMSVGRect _SVGRectWith:WebCore::]):
* bindings/scripts/CodeGeneratorObjC.pm:
* css/StyleBase.h:
(WebCore::StyleBase::isSVGColor):
(WebCore::StyleBase::isSVGPaint):
* ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
* ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Removed.
* ksvg2/bindings/js/JSSVGNumber.cpp: Removed.
* ksvg2/bindings/js/JSSVGNumber.h: Removed.
* ksvg2/bindings/js/JSSVGPoint.cpp: Removed.
* ksvg2/bindings/js/JSSVGPoint.h: Removed.
* ksvg2/bindings/js/JSSVGRect.cpp: Removed.
* ksvg2/bindings/js/JSSVGRect.h: Removed.
* ksvg2/svg/SVGColor.h:
(WebCore::SVGColor::isSVGColor):
* ksvg2/svg/SVGFECompositeElement.idl:
* ksvg2/svg/SVGFEFloodElement.idl:
* ksvg2/svg/SVGLocatable.idl:
* ksvg2/svg/SVGMarkerElement.idl:
* ksvg2/svg/SVGPaint.h:
(WebCore::SVGPaint::isSVGPaint):
* ksvg2/svg/SVGRectElement.idl:
* ksvg2/svg/SVGZoomEvent.idl: Removed.
2006-10-17 David Hyatt <hyatt@apple.com>
Prepare for the elimination of the RenderLayer for <html> elements. The layer is still present,
but this patch makes everything work without a root layer being around.
Reviewed by beth
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderLayer.cpp:
(WebCore::frameVisibleRect):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::intersectsDamageRect):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setInnerNode):
* rendering/RenderView.cpp:
(WebCore::RenderView::paint):
2006-10-17 David Hyatt <hyatt@apple.com>
Back out my previous patch to the WebCore memory cache.
* loader/Cache.cpp:
(WebCore::Cache::flush):
(WebCore::Cache::setSize):
(WebCore::Cache::getLRUListFor):
(WebCore::Cache::removeFromLRUList):
(WebCore::Cache::insertInLRUList):
* loader/Cache.h:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::deref):
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
(WebCore::CachedImage::deref):
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::setRequest):
(WebCore::CachedResource::deref):
* loader/CachedResource.h:
(WebCore::CachedResource::allowInLRUList):
* loader/CachedScript.cpp:
(WebCore::CachedScript::deref):
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
(WebCore::CachedXBLDocument::deref):
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::deref):
* loader/CachedXSLStyleSheet.h:
2006-10-17 Oliver Hunt <oliver@apple.com>
Reviewed by Anders.
Make north and east resize cursors use correct image
* platform/win/CursorWin.cpp:
(WebCore::eastResizeCursor):
(WebCore::northResizeCursor):
2006-10-17 Oliver Hunt <oliver@apple.com>
Reviewed by Brady
Various cursor fixes
* page/FrameView.cpp:
(WebCore::FrameView::handleMouseMoveEvent):
* platform/Cursor.h:
* platform/mac/CursorMac.mm:
(WebCore::pointerCursor):
* platform/win/CursorWin.cpp:
(WebCore::supportsAlphaCursors):
(WebCore::Cursor::Cursor):
(WebCore::Cursor::~Cursor):
(WebCore::pointerCursor):
2006-10-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4776665>
REGRESSION: In Mail, caret is visible when the message body isn't focused
* page/Frame.cpp:
(WebCore::Frame::paintCaret): If a caret blink timer is ever on in error
(like when the frame that contains the caret isn't focused) then we don't
want to paint the caret. We should eventually move to using a single bool
for caret painting.
2006-10-17 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/4774354>
REGRESSION: In Gmail, caret reappears when dragging a selection over some text in the message body
Functions call recomputCaretRect to see if the caret rect has changed,
and, if it has, they invalidate (repaint) it. recomputeCaretRect was
returning false if the caret turned into a range selection or was blown
away.
* editing/SelectionController.cpp:
(WebCore::SelectionController::recomputeCaretRect): Don't early return if
!isCaret(). Obtain the FrameView* using the m_frame pointer, because m_sel
may now be null.
2006-10-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Brady.
BrowserExtension cleanup.
- Removed unnecessary #include of BrowserExtension in Frame.h, added
#includes to compensate in other files.
- Removed unused versions of createNewWindow.
* bindings/js/kjs_window.cpp:
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/WebCoreFrameBridge.mm:
* html/HTMLFormElement.cpp:
* loader/mac/LoaderFunctionsMac.mm:
* page/Frame.h:
* page/FramePrivate.h:
2006-10-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Adam.
- Fixed "FIXME: Violates Liskov Substitution principle."
IFRAME was never a true subclass of FRAME, since they disagreed on a
number of behaviors, which, confusingly, IFRAME just overrode and contradicted.
The fix here is to factor out things common to IFRAME and FRAME into a
common base class, HTMLFrameElementBase.
I also changed some " *" to "* " and added #includes in files that implicitly
assumed that HTMLIFrameElement.h #included HTMLFrameElement.h.
2006-10-16 Justin Garcia <justin.garcia@apple.com>
Reviewed by sullivan
<rdar://problem/4776765>
REGRESSION: Caret's ghost left behind after inserting a paragraph separator (11237)
We set m_needsLayout to false and call caretRect() in the hopes that it will give us
the old caret rect. It in fact corrects the caret rect for an offset that it
believes is due to scrolling but which is actually due to a change in selection
without an accompanying layout. So it returns the new caret rect regardless of
what m_needsLayout is set to.
* editing/SelectionController.cpp:
(WebCore::repaintRectForCaret): Moved the code from caretRepaintRect that
adds a one pixel slop to this new function.
(WebCore::SelectionController::caretRepaintRect): Moved this code to
repaintRectForCaret.
(WebCore::SelectionController::recomputeCaretRect): Compare the old
caret rect to the new one that's computed with a fresh layout. If
they are different, invalidate both repaint rects.
2006-10-17 David Harrison <harrison@apple.com>
Reviewed by Adele.
<rdar://problem/4770453> VO not honoring secure edit fields in web pages
* bridge/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject isPasswordField]):
New. Checks for input with inputType() of PASSWORD.
(-[WebCoreAXObject subrole]):
Returns NSAccessibilitySecureTextFieldSubrole if [self isPasswordField].
(-[WebCoreAXObject roleDescription]):
Pass [self subrole] instead of nil when calling NSAccessibilityRoleDescription.
(-[WebCoreAXObject value]):
Return nil if [self isPasswordField].
(-[WebCoreAXObject accessibilityAttributeNames]):
Return generic attributes if [self isPasswordField].
(-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
Return empty array if [self isPasswordField].
2006-10-17 David Hyatt <hyatt@apple.com>
Fix "flash to white' problem on yahoo.com as it finishes loading. Refine the FOUC suppression
code so that it will only run if the body still has no renderer.
* dom/Document.cpp:
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
2006-10-17 David Hyatt <hyatt@apple.com>
Fix a bug where the WebCore memory cache could grow without bound during extended browsing
sessions.
Reviewed by mjs
* loader/Cache.cpp:
(WebCore::Cache::flush):
(WebCore::Cache::setSize):
(WebCore::Cache::getLRUListFor):
(WebCore::Cache::removeFromLRUList):
(WebCore::Cache::insertInLRUList):
* loader/Cache.h:
* loader/CachedCSSStyleSheet.cpp:
* loader/CachedCSSStyleSheet.h:
* loader/CachedImage.cpp:
* loader/CachedImage.h:
* loader/CachedResource.cpp:
(WebCore::CachedResource::setRequest):
(WebCore::CachedResource::deref):
* loader/CachedResource.h:
(WebCore::CachedResource::allowInLRUList):
* loader/CachedScript.cpp:
* loader/CachedScript.h:
* loader/CachedXBLDocument.cpp:
* loader/CachedXBLDocument.h:
* loader/CachedXSLStyleSheet.cpp:
* loader/CachedXSLStyleSheet.h:
2006-10-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by harrison
<rdar://problem/3655385>
Editing: -indent: method unimplemented
Added Frame and bridge methods.
* bridge/mac/WebCoreFrameBridge.h:
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge indent]):
(-[WebCoreFrameBridge outdent]):
* page/Frame.cpp:
(WebCore::Frame::indent):
(WebCore::Frame::outdent):
* page/Frame.h:
2006-10-16 Adam Roben <aroben@apple.com>
Reviewed by John.
More menulist cleanup/tweaking.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setSelectedIndex): Renamed 'index'
parameter to 'optionIndex' for clarity.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Skip over
items that are not enabled <option> elements when using arrow keys, and
make sure we pass an option index to setSelectedIndex.
* platform/PopupMenu.h:
(WebCore::PopupMenu::setWasClicked): Specify default argument.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::setTextFromOption): Strip whitespace from
option text before setting the control text so that options within
<optgroup>s don't appear indented in the actual control.
2006-10-16 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Adam.
Win32 build fix.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/BrowserExtensionWin.cpp:
(WebCore::BrowserExtensionWin::createNewWindow):
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::urlSelected):
(WebCore::FrameWin::submitForm):
(WebCore::FrameWin::createNewWindow):
* bridge/win/FrameWin.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
* platform/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::getWindowsContext):
(WebCore::GraphicsContext::releaseWindowsContext):
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::openURLRequest):
(WebCore::ServeSynchronousRequest):
(WebCore::CheckIfReloading):
(WebCore::IsResponseURLEqualToURL):
(WebCore::ResponseMIMEType):
(WebCore::ResponseIsMultipart):
(WebCore::CacheObjectExpiresTime):
(CachedResource::setResponse):
(CachedResource::setAllData):
* rendering/RenderThemeWin.cpp:
(WebCore::doneDrawing):
(WebCore::RenderThemeWin::paintButton):
(WebCore::RenderThemeWin::paintTextField):
2006-10-16 David Hyatt <hyatt@apple.com>
Fix for bug 9347, positioned elements have the wrong containing block. This is a change from CSS2 to
CSS2.1. In the absence of any other enclosing positioned elements, the containing block for a positioned
element is the initial containing block (our RenderView).
Reviewed by mjs
Test cases added to fast/block/positioning for quirks and strict modes.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockHeightForPositioned):
(WebCore::RenderBox::calcAbsoluteVertical):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock):
(WebCore::RenderObject::container):
2006-10-15 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Anders.
Misc Gdk/Linux build fixes.
* platform/gdk/BrowserExtensionGdk.h:
* platform/gdk/FrameGdk.cpp:
(WebCore::FrameGdk::submitForm):
(WebCore::FrameGdk::urlSelected):
* platform/gdk/FrameGdk.h:
* platform/gdk/RenderPopupMenuGdk.cpp:
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::clear):
(WebCore::PopupMenu::populate):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::addSeparator):
(WebCore::PopupMenu::addGroupLabel):
(WebCore::PopupMenu::addOption):
* platform/gdk/RenderPopupMenuGdk.h:
* platform/gdk/RenderThemeGdk.cpp:
* platform/gdk/RenderThemeGdk.h:
(WebCore::RenderThemeGdk::RenderThemeGdk):
* platform/gdk/TemporaryLinkStubs.cpp:
(BrowserExtensionGdk::createNewWindow):
(BrowserExtensionGdk::BrowserExtensionGdk):
(BrowserExtensionGdk::setTypedIconURL):
(BrowserExtensionGdk::setIconURL):
(BrowserExtensionGdk::getHistoryLength):
(WebCore::CheckIfReloading):
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseURL):
(WebCore::IsResponseURLEqualToURL):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
(FileChooser::disconnectUploadControl):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
2006-10-15 Sam Weinig <sam.weinig@gmail.com>
Reviewed by Mitz.
Fix for http://bugs.webkit.org/show_bug.cgi?id=11294
Add getModifierState method to KeyboardEvent
* bindings/objc/DOMEvents.h:
* bindings/objc/DOMEvents.mm:
* bindings/objc/PublicDOMInterfaces.h:
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::getModifierState):
* dom/KeyboardEvent.h:
* dom/KeyboardEvent.idl:
2006-10-15 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed and landed by ap.
Changed PlatformResponse handling for Qt. Don't just store
a QString object containing the data but a new PlatformResponseQt struct
containing data and url, and store it as pointer. This is compatible
to the OS X handling and removes the Qt plaform specific hacks from
CachedCSSStyleSheet, CachedResource & loader.
Add new file LoaderFunctionsQt, similar to LoaderFunctionsMac, and move
all methods from TemporaryLinkStubs related to loading in there, and implement
some like ServeSynchronousRequest (yay for xslt handling!).
* CMakeLists.txt:
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedResource.h:
(WebCore::CachedResource::CachedResource):
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
* platform/ResourceLoaderClient.h:
* platform/ResourceLoaderInternal.h:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::~FrameQt):
(WebCore::FrameQt::createEmptyDocument):
* platform/qt/FrameQt.h:
(WebCore::QtFrame):
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::setFrame):
(WebCore::FrameQtClientDefault::openURL):
(WebCore::FrameQtClientDefault::loadFinished):
(WebCore::FrameQtClientDefault::receivedAllData):
* platform/qt/FrameQtClient.h:
* platform/qt/LoaderFunctionsQt.cpp: Added.
(WebCore::ServeSynchronousRequest):
(WebCore::NumberOfPendingOrLoadingRequests):
(WebCore::CheckIfReloading):
(WebCore::CheckCacheObjectStatus):
(WebCore::IsResponseURLEqualToURL):
(WebCore::ResponseURL):
(WebCore::ResponseMIMEType):
(WebCore::ResponseIsMultipart):
(WebCore::CacheObjectExpiresTime):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
* platform/qt/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::remove):
* platform/qt/ResourceLoaderQt.cpp:
(WebCore::ResourceLoader::~ResourceLoader):
(WebCore::ResourceLoader::start):
(WebCore::ResourceLoader::assembleResponseHeaders):
(WebCore::ResourceLoader::receivedResponse):
* platform/qt/TemporaryLinkStubs.cpp:
2006-10-14 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11217
Cleanup svg coding style
Cleanup coding style in svg basic datastructure classes.
* ksvg2/svg/SVGAngle.cpp:
(WebCore::SVGAngle::valueAsString):
(WebCore::SVGAngle::context):
(WebCore::SVGAngle::setContext):
* ksvg2/svg/SVGAngle.h:
* ksvg2/svg/SVGColor.cpp:
* ksvg2/svg/SVGColor.h:
* ksvg2/svg/SVGElement.cpp:
(WebCore::SVGElement::ownerSVGElement):
(WebCore::SVGElement::viewportElement):
(WebCore::SVGElement::parseMappedAttribute):
(WebCore::SVGElement::childShouldCreateRenderer):
* ksvg2/svg/SVGElement.h:
(WebCore::svg_dynamic_cast):
* ksvg2/svg/SVGFitToViewBox.cpp:
(WebCore::SVGFitToViewBox::parseViewBox):
* ksvg2/svg/SVGFitToViewBox.h:
* ksvg2/svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::parseMappedAttribute):
* ksvg2/svg/SVGLangSpace.h:
* ksvg2/svg/SVGLength.cpp:
(WebCore::SVGLength::SVGLength):
(WebCore::SVGLength::setValueAsString):
(WebCore::SVGLength::dpi):
(WebCore::SVGLength::updateValue):
(WebCore::SVGLength::updateValueInSpecifiedUnits):
(WebCore::SVGLength::context):
(WebCore::SVGLength::setContext):
* ksvg2/svg/SVGLength.h:
* ksvg2/svg/SVGLengthList.cpp:
* ksvg2/svg/SVGLengthList.h:
* ksvg2/svg/SVGLocatable.cpp:
(WebCore::SVGLocatable::nearestViewportElement):
(WebCore::SVGLocatable::farthestViewportElement):
(WebCore::SVGLocatable::getBBox):
(WebCore::SVGLocatable::getCTM):
(WebCore::SVGLocatable::getScreenCTM):
* ksvg2/svg/SVGNumberList.cpp:
* ksvg2/svg/SVGNumberList.h:
* ksvg2/svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
(WebCore::SVGPreserveAspectRatio::getCTM):
* ksvg2/svg/SVGPreserveAspectRatio.h:
* ksvg2/svg/SVGStringList.cpp:
(WebCore::SVGStringList::reset):
* ksvg2/svg/SVGStringList.h:
* ksvg2/svg/SVGStylable.cpp:
* ksvg2/svg/SVGStylable.h:
* ksvg2/svg/SVGTests.cpp:
(WebCore::SVGTests::requiredFeatures):
(WebCore::SVGTests::requiredExtensions):
(WebCore::SVGTests::systemLanguage):
(WebCore::SVGTests::isValid):
(WebCore::SVGTests::parseMappedAttribute):
* ksvg2/svg/SVGTests.h:
* ksvg2/svg/SVGTransformable.cpp:
(WebCore::SVGTransformable::parseTransformAttribute):
* ksvg2/svg/SVGTransformable.h:
* ksvg2/svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::parseMappedAttribute):
* ksvg2/svg/SVGZoomAndPan.cpp:
(WebCore::SVGZoomAndPan::parseMappedAttribute):
* ksvg2/svg/SVGZoomAndPan.h:
2006-10-15 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver.
Implement some functions in FrameQt / ScrollViewQt.
Added comments what needs to be done in quite some places,
marked some functions as no-ops.
* CMakeLists.txt:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::FrameQt):
(WebCore::FrameQt::runJavaScriptConfirm):
(WebCore::FrameQt::locationbarVisible):
(WebCore::FrameQt::createFrame):
(WebCore::FrameQt::passSubframeEventToSubframe):
(WebCore::FrameQt::menubarVisible):
(WebCore::FrameQt::personalbarVisible):
(WebCore::FrameQt::statusbarVisible):
(WebCore::FrameQt::toolbarVisible):
(WebCore::FrameQt::markedTextRange):
(WebCore::FrameQt::lastEventIsMouseUp):
(WebCore::FrameQt::openURLRequest):
(WebCore::FrameQt::scheduleClose):
(WebCore::FrameQt::unfocusWindow):
(WebCore::FrameQt::focusWindow):
(WebCore::FrameQt::overrideMediaType):
(WebCore::FrameQt::runJavaScriptPrompt):
(WebCore::FrameQt::bindingRootObject):
(WebCore::FrameQt::addPluginRootObject):
(WebCore::FrameQt::registerCommandForUndo):
(WebCore::FrameQt::registerCommandForRedo):
(WebCore::FrameQt::clearUndoRedoOperations):
(WebCore::FrameQt::respondToChangedSelection):
(WebCore::FrameQt::respondToChangedContents):
(WebCore::FrameQt::shouldChangeSelection):
(WebCore::FrameQt::canGoBackOrForward):
(WebCore::FrameQt::canPaste):
(WebCore::FrameQt::canRedo):
(WebCore::FrameQt::canUndo):
* platform/qt/FrameQt.h:
* platform/qt/FrameQtClient.cpp:
(WebCore::FrameQtClientDefault::runJavaScriptAlert):
(WebCore::FrameQtClientDefault::runJavaScriptConfirm):
(WebCore::FrameQtClientDefault::runJavaScriptPrompt):
(WebCore::FrameQtClientDefault::menubarVisible):
(WebCore::FrameQtClientDefault::toolbarVisible):
(WebCore::FrameQtClientDefault::statusbarVisible):
(WebCore::FrameQtClientDefault::personalbarVisible):
(WebCore::FrameQtClientDefault::locationbarVisible):
* platform/qt/FrameQtClient.h:
* platform/qt/ImageSourceQt.cpp:
* platform/qt/RenderThemeQt.cpp:
* platform/qt/ScrollViewQt.cpp:
(WebCore::ScrollView::scrollPointRecursively):
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
2006-10-14 David Harrison <harrison@apple.com>
Reviewed by Geoff.
<rdar://problem/4775213> REGRESSION: Can't from tab from last link on the page to URL address field
<rdar://problem/4783926> REGRESSION: Typing tab key enters no text
The problem is that EventTargetNode::defaultEventHandler() calls event->setDefaultHandled() regardless
of whether frame->view()->advanceFocus() actually changed the focus.
Trivial fix is to preventDefault() only if advanceFocus() returns true.
* No test is possible because DumpRenderTree sets the WebView preference to
tab to links, and that preference cannot be changed dynamically after
the webview is initialized. Also, the "tab from last link" is not testable
because DumpRenderTree uses the WebView for the whole window, so tabs can't
shift focus out of the WebView regardless.
* dom/EventTargetNode.cpp:
(WebCore::EventTargetNode::defaultEventHandler):
2006-10-14 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Mitz.
Fix Qt/Linux build & some little fixes:
- Adapt to Maciej's FrameLoadRequest changes.
- Fix response handling - don't try to compare with '0' - for us it's a non-ptr QString object.
- Actually call setAllData from loader/loader.cpp (David Carson forgot that in his last commit)
- Fix CacheObjectExpiresTime/ResponseIsMultipart signature.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedResource.h:
(WebCore::CachedResource::CachedResource):
* loader/loader.cpp:
(WebCore::Loader::receivedAllData):
(WebCore::Loader::receivedResponse):
* platform/qt/BrowserExtensionQt.cpp:
(WebCore::BrowserExtensionQt::createNewWindow):
* platform/qt/BrowserExtensionQt.h:
* platform/qt/FrameQt.cpp:
(WebCore::FrameQt::submitForm):
(WebCore::FrameQt::urlSelected):
(WebCore::FrameQt::openURLRequest):
* platform/qt/FrameQt.h:
* platform/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::setURLForRect):
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseIsMultipart):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
2006-10-14 David Carson <dacarson@gmail.com>
Reviewed by Maciej.
Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
Removed Mac platform dependance, changed WebCore functions to
use PlatformResponse/PlatformData rather than NSURLResponse/
NSData.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* loader/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::response):
(WebCore::CachedResource::allData):
* loader/LoaderFunctions.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ResponseMIMEType):
(WebCore::ResponseIsMultipart):
(WebCore::CacheObjectExpiresTime):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
2006-10-14 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Maciej.
Fix GDK build by defining FrameGdkClient() constructor as non-virtual.
Pure virtual classes require non-pure destructor, who knew.
Make CURL networking dependent on USE(CURL) instead of PLATFORM(GDK),
so that other platforms can also use CURL, if they wish.
Silence compiler warning about unused variable in SharedTimerLinux.cpp
* platform/ResourceLoaderInternal.h:
(WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
* platform/gdk/FrameGdk.h:
(WebCore::FrameGdkClient::~FrameGdkClient):
* platform/gdk/ResourceLoaderManager.cpp:
(WebCore::ResourceLoaderManager::downloadTimerCallback):
* platform/gdk/SharedTimerLinux.cpp:
(WebCore::stopSharedTimer):
2006-10-13 Beth Dakin <bdakin@apple.com>
Reviewed by Geoff.
Build fix from my last check-in. Make hasOutlineAnnotation() non-
inline so that we don't have to include Document.h in
RenderObject.h
Doing so causes a build failure in WebKit, and it probably isn't a
good idea anyway.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::hasOutlineAnnotation):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasOutline):
2006-10-13 Beth Dakin <bdakin@apple.com>
Patch written mostly by Ken Kraisler, but also by me.
Reviewed by Hyatt.
Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar://
problem/3391162> PDF created by printing should have live
hyperlinks
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::focusRingBoundingRect):
* platform/GraphicsContext.h:
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::setURLForRect):
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setURLForRect): Implement method to add
URL link to PDF document.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint): Ask hasOutline() instead of
querying the outline width
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject): Same as above.
* rendering/RenderFlow.cpp:
(WebCore::RenderFlow::paintLines): Call the new paintOutline()
(WebCore::RenderFlow::paintOutline): Take care of focus ring and
pdf url rects, and outline painting.
* rendering/RenderFlow.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF
link to a rectanglular region.
(WebCore::RenderObject::paintOutline): Take care of pdf rects as
well as focus ring painting.
* rendering/RenderObject.h:
(WebCore::RenderObject::hasOutlineAnnotation): Returns true is the
element is a link and we are printing.
(WebCore::RenderObject::hasOutline): Returns true is the style has
an outline and hasOutlineAnnotation() is true.
* rendering/RenderStyle.h:
(WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is
greater than 0 and outlineStyle is greater than BHIDDEN.
2006-10-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by ggaren and harrison
<rdar://problem/4744008>
9A270: Mail crashes when I try to paste large items from Safari
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStyles):
Even though we put nodes in the hash map in pre-order, they don't necessary
come out of the iterator that way. If a node is a redundant style span
and one of its pruned ancestors comes off the hash map after it, and that
ancestor is a redundant style span or font tag, we will try to remove it
even though it has already been removed and we'll crash.
The test case added with the fix depends on our hash map implementation
because it requires that a particular redundant style span come out of
the iterator before its parent. So, it may eventually not provide
coverage for the fix.
2006-10-13 Maciej Stachowiak <mjs@apple.com>
Reviewed by Darin.
- split FrameLoadRequest off from ResourceRequest - it's a ResourceRequest plus frame name plus lockHistory bool
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::createNewWindow):
(KJS::WindowFunc::callAsFunction):
* bridge/BrowserExtension.h:
* bridge/mac/BrowserExtensionMac.h:
* bridge/mac/BrowserExtensionMac.mm:
(WebCore::BrowserExtensionMac::createNewWindow):
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::submitForm):
(WebCore::FrameMac::openURLRequest):
(WebCore::FrameMac::urlSelected):
* bridge/win/BrowserExtensionWin.h:
* page/Frame.cpp:
(WebCore::Frame::changeLocation):
(WebCore::Frame::urlSelected):
(WebCore::Frame::requestFrame):
(WebCore::Frame::submitForm):
* page/Frame.h:
* page/FrameLoadRequest.h: Added.
(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::lockHistory):
(WebCore::FrameLoadRequest::setLockHistory):
* page/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
2006-10-13 John Sullivan <sullivan@apple.com>
Reviewed by Maciej
* loader/mac/WebFrameLoader.mm:
(-[WebFrameLoader loadDocumentLoader:]):
Replace ASSERT(!policyDocumentLoader) with code that handles this case. This can
happen when loading a page during a decidePolicyForNavigationAction callback.
2006-10-13 Dave Hyatt <hyatt@apple.com>
Transparency layer work.
Reviewed by aroben
* platform/GraphicsContext.h:
* platform/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::endTransparencyLayer):
* platform/cg/GraphicsContextPlatformPrivate.h:
(WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
(WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
2006-10-13 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11217
Cleanup svg coding style
Cleanup coding style in svg paint server classes.
* ksvg2/svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::parseMappedAttribute):
(WebCore::SVGGradientElement::notifyAttributeChange):
(WebCore::SVGGradientElement::canvasResource):
(WebCore::SVGGradientElement::rebuildStops):
* ksvg2/svg/SVGGradientElement.h:
* ksvg2/svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
(WebCore::SVGLinearGradientElement::parseMappedAttribute):
(WebCore::SVGLinearGradientElement::buildGradient):
* ksvg2/svg/SVGLinearGradientElement.h:
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::parseMappedAttribute):
(WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
(WebCore::SVGPatternElement::drawPatternContentIntoTile):
(WebCore::SVGPatternElement::notifyClientsToRepaint):
(WebCore::SVGPatternElement::notifyAttributeChange):
(WebCore::SVGPatternElement::canvasResource):
(WebCore::SVGPatternElement::getCTM):
* ksvg2/svg/SVGPatternElement.h:
(WebCore::SVGPatternElement::rendererIsNeeded):
* ksvg2/svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
(WebCore::SVGRadialGradientElement::parseMappedAttribute):
(WebCore::SVGRadialGradientElement::buildGradient):
* ksvg2/svg/SVGRadialGradientElement.h:
* ksvg2/svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::SVGStopElement):
(WebCore::SVGStopElement::parseMappedAttribute):
* ksvg2/svg/SVGStopElement.h:
2006-10-13 Geoffrey Garen <ggaren@apple.com>
Reviewed by Darin, John.
- Merged more frame and iframe code
- Fixed a bug where iframes returned incorrect values for renderer-dependent
properties during javascript: loads because they didn't have renderers at
load time
PLT insists this is a small performance win. Don't believe its lies.
* bindings/js/kjs_html.cpp:
(KJS::JSHTMLElement::frameGetter): Renamed frameWidth and frameHeight to
width and height, for consistency with the rest of the DOM.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::queuePostAttachCallback): Added a post-attach callback
queue that gets drained after the render tree is fully constructed. Currently,
this is only used for frame loading.
(WebCore::ContainerNode::attach):
* dom/ContainerNode.h:
* html/HTMLFrameElement.cpp:
(WebCore::HTMLFrameElement::insertedIntoDocument): Removed frame loading from
attach() because loading iframes during attach() causes a crash.
Moved frame loading logic into insertedIntoDocument(). That's a more
logical place for it because document insertion is what
triggers frame loading. Made frame loading a post-attach callback, instead
of an immediate action, to fix the incorrect values bug.
(WebCore::HTMLFrameElement::attach): Added setWidget call that used to be
in HTMLIFrameElement::attach. IFRAME requires this call. FRAME will soon
require this call, once I remove the call from WebKit.
(WebCore::HTMLFrameElement::setLocation):
(WebCore::HTMLFrameElement::width):
(WebCore::HTMLFrameElement::height):
* html/HTMLFrameElement.h: Made openURL non-virtual to avoid the unnecessary
killing of puppies.
* html/HTMLIFrameElement.cpp: Merged code into HTMLFrameElement
(WebCore::HTMLIFrameElement::rendererIsNeeded):
(WebCore::HTMLIFrameElement::createRenderer):
(WebCore::HTMLIFrameElement::insertedIntoDocument):
(WebCore::HTMLIFrameElement::removedFromDocument):
(WebCore::HTMLIFrameElement::attach):
* page/FrameView.h: Removed unused method.
2006-10-13 David Harrison <harrison@apple.com>
Reviewed by Justin.
<rdar://problem/4746860> Mail crash in WebCore::CSSMutableStyleDeclaration::merge(WebCore::CSSMutableStyleDeclaration*, bool)
Tests added or changed:
* editing/style/style-boundary-005.html: Added. Matches steps from bug.
* editing/execCommand/hilitecolor-expected.txt: Updated (no empty Apple style spans).
* editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Updated (no empty Apple style spans).
* editing/style/remove-underline-in-bold-expected.txt: Updated (no empty Apple style spans).
* editing/style/typing-style-003-expected.txt: Updated (no empty Apple style spans).
* dom/Text.cpp:
(WebCore::Text::splitText):
Comment changes.
* editing/ApplyStyleCommand.cpp:
(WebCore::isUnstyledStyleSpan):
Renamed from isEmptyStyleSpan.
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
Rename emptySpans local to unstyledSpans.
(WebCore::dummySpanAncestorForNode):
New. To locate Apple style span created when splitting a text node.
(WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
Renamed from cleanUpEmptyStyleSpans. Algorithm changed to scan children
of dummy span's parents, rather than traversing up from start and
end locations. Old algorithm would miss empty spans in the bug case.
(WebCore::ApplyStyleCommand::applyInlineStyle):
Use dummySpanAncestorForNode() and cleanupUnstyledAppleStyleSpans().
(WebCore::ApplyStyleCommand::removeCSSStyle):
Renamed isEmptyStyleSpan() to isUnstyledStyleSpan().
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
Comment changes.
* editing/ApplyStyleCommand.h:
Renamed cleanUpEmptyStyleSpans() to cleanupUnstyledAppleStyleSpans().
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::removeRedundantStyles):
Allow for Apple style span to be unstyled, because old email may have this in the DOM.
Use !node->hasChildNodes() instead of !node->firstChild().
* editing/SplitTextNodeCommand.cpp:
(WebCore::SplitTextNodeCommand::doApply):
Comment changes.
* rendering/RenderTreeAsText.cpp:
(WebCore::isEmptyOrUnstyledAppleStyleSpan):
(WebCore::operator<<):
Flag empty or unstyled AppleStyleSpa nbecause we never want to leave them in the DOM
2006-10-13 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Eric.
Fix Qt/Linux build after Adele's popup menu changes.
* CMakeLists.txt:
* platform/qt/FileChooserQt.cpp:
(WebCore::FileChooser::disconnectUploadControl):
* platform/qt/PopupMenuQt.cpp: Added.
(WebCore::PopupMenu::PopupMenu):
(WebCore::PopupMenu::~PopupMenu):
(WebCore::PopupMenu::clear):
(WebCore::PopupMenu::populate):
(WebCore::PopupMenu::show):
(WebCore::PopupMenu::hide):
(WebCore::PopupMenu::addSeparator):
(WebCore::PopupMenu::addGroupLabel):
(WebCore::PopupMenu::addOption):
* platform/qt/RenderPopupMenuQt.cpp: Removed.
* platform/qt/RenderPopupMenuQt.h: Removed.
* platform/qt/RenderThemeQt.cpp:
2006-10-13 Kevin McCullough <KMcCullough@apple.com>
Reviewed by Darin.
fixed build failure
* WebCore.xcodeproj/project.pbxproj:
* loader/mac/WebFrameLoader.mm:
2006-10-13 Darin Adler <darin@apple.com>
Reviewed by Adele.
- converted WebFormState from Objective-C to C++
* WebCore.exp: Added a new symbol, changed one symbol from C to C++.
* WebCore.xcodeproj/project.pbxproj: Made lots of headers "private" instead of "project".
Added UChar.h and FrameLoaderTypes.h.
* loader/FrameLoaderTypes.h: Added. Has enums from WebFrameLoader.h.
* loader/mac/WebFormState.h: Converted class to C++.
* loader/mac/WebFormState.mm: Ditto.
* loader/mac/WebFrameLoader.h:
* loader/mac/WebFrameLoader.mm:
(-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
(-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
(-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
(-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
(-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
(-[WebFrameLoader continueAfterNewWindowPolicy:]):
(-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
(-[WebFrameLoader continueAfterNavigationPolicy:]):
(-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
(-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
(-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
(-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
Changed Objective-C WebFormState uses to C++ WebCore::FormState.
2006-10-13 Adele Peterson <adele@apple.com>
Reviewed by Maciej.
- Fix for <rdar://problem/4768591> REGRESSION: List box selection color should just be a darker version of regular selection color
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
(WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
(WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
(WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::activeListBoxSelectionBackgroundColor):
2006-10-13 Rob Buis <buis@kde.org>
Reviewed by Mitz.
http://bugs.webkit.org/show_bug.cgi?id=11217
Cleanup svg coding style
Cleanup coding style in svg structure classes.
* ksvg2/svg/SVGDefsElement.cpp:
(WebCore::SVGDefsElement::SVGDefsElement):
* ksvg2/svg/SVGDefsElement.h:
* ksvg2/svg/SVGDescElement.cpp:
(WebCore::SVGDescElement::SVGDescElement):
* ksvg2/svg/SVGDescElement.h:
* ksvg2/svg/SVGDocument.cpp:
* ksvg2/svg/SVGDocument.h:
* ksvg2/svg/SVGElementInstance.cpp:
(WebCore::SV