2006-09-29 Geoffrey Garen Reviewed by John, Maciej. Integrated some frame and iframe code. I'm trying to fix up frame ownership and loading. Reducing the number of different code paths involved seemed like a good first step. As a side effect, I fixed a bug where FRAME elements would report their src attributes as relative, rather than compelete, URLs. (IFRAME elements had the correct complete URL behavior.) * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::isURLAllowed): Fixed comment typo (WebCore::HTMLFrameElement::openURL): (1) Removed checks that requestFrame does for us (2) Added isURLAllowed check, to have one clear bottleneck for it (3) Added viewsource check, to have one clear bottleneck for it (WebCore::HTMLFrameElement::close): Changed to use the common contentFrame() method, instead of finding our content frame in our own unique way. (WebCore::HTMLFrameElement::setLocation): Removed isURLAllowed check, since openURL does this for us now. (WebCore::HTMLFrameElement::src): Return complete URL instead of relative. This is what FF does, and it made no sense to have different behaviors for FRAME and IFRAME elements. * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement): Removed duplicate init code. * html/HTMLIFrameElement.h: Removed src() and openURL() methods, since HTMLFrameElement now does everything we need. 2006-09-30 Nikolas Zimmermann Reviewed by Hyatt. Fix Qt/Linux build. * CMakeLists.txt: * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::convertToContainingWindow): (WebCore::ScrollView::convertFromContainingWindow): * platform/qt/TemporaryLinkStubs.cpp: (WebCore::signedPublicKeyAndChallengeString): * platform/qt/WidgetQt.cpp: (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow): 2006-09-29 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=11082 Simplify Internal methods for the auto-generated Objective-C DOM code - Auto-generate the internal methods for more Objective-C classes. * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMCSS.mm: (-[DOMStyleSheet WebCore::]): (+[DOMStyleSheet _styleSheetWith:WebCore::]): (-[DOMCSSRule WebCore::]): (-[DOMCSSRule _initWithCSSRule:WebCore::]): (+[DOMCSSRule _CSSRuleWith:WebCore::]): (-[DOMCSSValue WebCore::]): (-[DOMCSSValue _initWithCSSValue:WebCore::]): (+[DOMCSSValue _CSSValueWith:WebCore::]): * bindings/objc/DOMHTMLAppletElement.mm: (-[DOMHTMLAppletElement WebCore::]): (+[DOMHTMLAppletElement _HTMLOptionElementWith:WebCore::]): * bindings/objc/DOMHTMLEmbedElement.mm: (-[DOMHTMLEmbedElement WebCore::]): (+[DOMHTMLEmbedElement _HTMLEmbedElementWith:WebCore::]): * bindings/objc/DOMInternal.h: * bindings/objc/DOMInternal.mm: * bindings/scripts/CodeGeneratorObjC.pm: * css/CSSCharsetRule.idl: * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSMediaRule.idl: * css/CSSPageRule.idl: * css/CSSPrimitiveValue.idl: * css/CSSStyleRule.idl: * css/CSSStyleSheet.idl: * css/CSSUnknownRule.idl: * css/CSSValueList.idl: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/MutationEvent.idl: * dom/NodeIterator.idl: * dom/OverflowEvent.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: 2006-09-29 David Harrison Reviewed by John Sullivan. REGRESSION: Cannot type in Japanese after replying to a particular message REGRESSION: Can't enter the Japanese characters in Mail or Blot Test added * fast/text/attributed-substring-from-range-001.html * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString): Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case. Also, add validation of the range. 2006-09-29 Rob Buis Reviewed by Maciej. http://bugs.webkit.org/show_bug.cgi?id=10893 InsertRule can not handle @import statements Allow @import as part of a css rule. * css/CSSGrammar.y: 2006-09-28 David Hyatt Switch over the Mac-specific uses of viewportToContents/contentsToViewport. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::eventMayStartDrag): (WebCore::FrameMac::dragHysteresisExceeded): (WebCore::FrameMac::mouseDown): (WebCore::FrameMac::shouldDragAutoNode): (WebCore::FrameMac::sendContextMenuEvent): * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge _visiblePositionForPoint:]): 2006-09-28 Dave Hyatt This patch eliminates viewportToContents/contentsToViewport in favor of convertTo/FromContainingWindow. ScrollView now subclasses these methods to factor in its scrollOffset and to deal with the document view. Reviewed by mjs (the convertTo/From changes), (I added the elimination of viewportToContents to the patch after review, once I realized that these new functions essentially do the same thing.) * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent): (WebCore::EventTargetNode::dispatchWheelEvent): * page/Frame.cpp: (WebCore::Frame::selectClosestWordFromMouseEvent): (WebCore::Frame::handleMousePressEventTripleClick): (WebCore::Frame::handleMousePressEventSingleClick): (WebCore::Frame::handleMouseMoveEvent): (WebCore::Frame::handleMouseReleaseEvent): * page/FrameView.cpp: (WebCore::FrameView::handleMousePressEvent): (WebCore::selectCursor): (WebCore::FrameView::dispatchDragEvent): (WebCore::FrameView::prepareMouseEvent): (WebCore::FrameView::handleWheelEvent): * platform/ScrollView.h: * platform/Widget.cpp: (WebCore::Widget::convertToContainingWindow): * platform/Widget.h: * platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::convertToContainingWindow): (WebCore::ScrollView::convertFromContainingWindow): * platform/mac/WidgetMac.mm: (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow): * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::convertToContainingWindow): (WebCore::ScrollView::convertFromContainingWindow): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize): 2006-09-28 Alice Liu Build fix by adding missing files for CommandByName * WebCore.xcodeproj/project.pbxproj: 2006-09-28 Alice Liu Adding CommandByName files to the vcproj * WebCore.vcproj/WebCore/WebCore.vcproj: 2006-09-28 Alice Liu Reviewed by Adam Roben. This patch adds a command class that is attached to the frame so the frame can more easily execute commands such as copy, paste, select, etc. This patch also exposes some UBRK-related utilities so that they can be used elsewhere. This patch also changes windows PlatformMouseEvent so that we can detect multiple-click mouse events * editing/CommandByName.cpp: Added. Added a command class that hangs off the frame so the frame can call commands more easily. (WebCore::Frame::commandImp): (WebCore::Frame::execCopy): (WebCore::Frame::execCut): (WebCore::Frame::execDelete): (WebCore::Frame::execForwardDelete): (WebCore::Frame::execPaste): (WebCore::Frame::execMoveLeft): (WebCore::Frame::execMoveRight): (WebCore::Frame::execMoveUp): (WebCore::Frame::execMoveDown): (WebCore::Frame::execSelectAll): (WebCore::Frame::execSelectLeft): (WebCore::Frame::execSelectRight): (WebCore::Frame::execSelectUp): (WebCore::Frame::execSelectDown): (WebCore::Frame::enabled): (WebCore::Frame::enabledAnySelection): (WebCore::Frame::enabledAnyEditableSelection): (WebCore::Frame::enabledPaste): (WebCore::Frame::enabledAnyRangeSelection): (WebCore::Frame::enabledAnyEditableRangeSelection): (WebCore::Frame::createCommandDictionary): (WebCore::Frame::Command::): (WebCore:::m_frame): (WebCore::CommandByName::execCommand): * editing/CommandByName.h: Added. * page/Frame.cpp: Added implementation of accessor for CommandByName member (WebCore::Frame::command): * page/Frame.h: Added accessor for CommandByName member * page/FramePrivate.h: Added a CommandByName member (WebCore::FramePrivate::FramePrivate): * platform/PlatformMouseEvent.h: Changed constructor prototype * platform/StringImpl.cpp: Exposing getWordBreakIterator to be used elsewhere (WebCore::getWordBreakIterator): * platform/StringImpl.h: Exposing getWordBreakIterator to be used elsewhere * platform/win/MouseEventWin.cpp: Changed the PlatformMouseEvent on windows so that we "roll our own" multi-click mouse events instead of relying on the system to tell us, enabling us to detect triple-clicks (WebCore::PlatformMouseEvent::PlatformMouseEvent): 2006-09-28 Adam Roben Reviewed by Adele. Remove no-longer-used PopUpButton. * WebCore.vcproj/WebCore/WebCore.vcproj: Remove PopUpButton.h * WebCore.xcodeproj/project.pbxproj: Remove PopUpButton.h, PopUpButtonMac.mm * platform/PopUpButton.h: Removed. * platform/mac/PopUpButtonMac.mm: Removed. * platform/win/TemporaryLinkStubs.cpp: Remove PopUpButton:: methods * rendering/DeprecatedRenderSelect.cpp: Change #include of PopUpButton.h to ListBox.h 2006-09-28 Darin Adler Reviewed by Alice. - change that should fix REGRESSION: XML iBench shows 10% perf. regression (copying strings while decoding) Use Vector instead of String when building up the decoded string in the ICU and Mac decoders. Using String leads to O(n^2) behavior because String grows the buffer every single time that append is called. Using Vector::append instead of String::append also avoids constructing a string each time just to append and a questionable copy that is done inside the String::append function which also contributed to the slowness. * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::adopt): Added. Makes a String from a Vector, adopting the buffer from the vector to avoid copying and memory allocation. * platform/StringImpl.h: * platform/StringImpl.cpp: (WebCore::StringImpl::adopt): Ditto. * platform/StreamingTextDecoder.h: * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM): Change to use a Vector instead of a String, since vectors have better resizing performance (they store a separate capacity). * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::decode): * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::decode): Change to use Vector instead of String and then create a string at the end of the process using the new adopt function. 2006-09-28 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=11057 Auto-generate more SVG Objective-C bindings - Auto-generates DOMSVGAnimatedAngle, DOMSVGAnimatedBoolean, DOMSVGAnimatedEnumeration, DOMSVGAnimatedInteger, DOMSVGAnimatedLength, DOMSVGAnimatedLengthList, DOMSVGAnimatedNumber, DOMSVGAnimatedString, DOMSVGAnimatedTransformList, DOMSVGExternalResourcesRequired, DOMSVGLangSpace, DOMSVGLocatable, DOMSVGMetadataElement, DOMSVGRectElement, DOMSVGStringList, DOMSVGStylable, DOMSVGStyleElement, DOMSVGTests, and DOMSVGTransformable. - Adds ability to CodeGeneratorObjC.pm to handle interfaces with mulitple parent interfaces and the SVG animated classes. - Corrects CodeGenerator.pm to only skip the first parent for the main interface. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMInternal.h: * bindings/objc/DOMSVG.h: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorObjC.pm: * ksvg2/svg/SVGAnimatedAngle.idl: * ksvg2/svg/SVGAnimatedBoolean.idl: * ksvg2/svg/SVGAnimatedEnumeration.idl: * ksvg2/svg/SVGAnimatedInteger.idl: * ksvg2/svg/SVGAnimatedLength.idl: * ksvg2/svg/SVGAnimatedLengthList.idl: * ksvg2/svg/SVGAnimatedNumber.idl: * ksvg2/svg/SVGAnimatedPathData.idl: * ksvg2/svg/SVGAnimatedString.idl: * ksvg2/svg/SVGAnimatedTransformList.idl: * ksvg2/svg/SVGExternalResourcesRequired.idl: * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: * ksvg2/svg/SVGFitToViewBox.idl: * ksvg2/svg/SVGLangSpace.idl: * ksvg2/svg/SVGLocatable.idl: * ksvg2/svg/SVGMetadataElement.idl: * ksvg2/svg/SVGStringList.idl: * ksvg2/svg/SVGStylable.idl: * ksvg2/svg/SVGStyleElement.idl: * ksvg2/svg/SVGTests.idl: * ksvg2/svg/SVGTransformable.idl: * ksvg2/svg/SVGURIReference.idl: * ksvg2/svg/SVGUnitTypes.idl: * ksvg2/svg/SVGZoomAndPan.idl: 2006-09-28 Brady Eidson Reviewed by Mitz Pettel!!! Change the error code check for common functions from SQLResultOk to SQLResultDone * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::forgetPageURLQuery): (WebCore::IconDatabase::setIconIDForPageURLQuery): (WebCore::IconDatabase::addIconForIconURLQuery): 2006-09-28 Dave Hyatt Just eliminate MapWindowPoints usage and use the HWND as the viewport. * platform/win/MouseEventWin.cpp: (WebCore::positionForEvent): * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::viewportToContents): (WebCore::ScrollView::contentsToViewport): 2006-09-27 David Hyatt Fix for bug 9222, cursor is wrong when mousing over overflow scrollbars in textareas. Make sure selectCursor checks for whether or not a scrollbar was hit. Also stub out a mouseMoved method for scrollbars to provide hover feedback if needed. Reviewed by Eric * page/FrameView.cpp: (WebCore::selectCursor): (WebCore::FrameView::handleMouseMoveEvent): * platform/ScrollBar.h: (WebCore::ScrollBar::mouseMoved): 2006-09-27 MorganL Reviewed by Maciej and Adam, landed by Adam Fixes: http://bugs.webkit.org/show_bug.cgi?id=11072 Windows build is busted * platform/win/TemporaryLinkStubs.cpp: (ScrollView::paint): (ScrollView::themeChanged): 2006-09-27 Eric Seidel Reviewed by mitz. paths with no fill specified default to black but do not recieve paint-related mouse events http://bugs.webkit.org/show_bug.cgi?id=11069 The default fill was being applied at the wrong place in the rendering chain, causing this problem. Test: svg/custom/hover-default-fill.svg * kcanvas/RenderPath.cpp: (WebCore::RenderPath::nodeAtPoint): use isFilled and isStroked * ksvg2/css/SVGRenderStyle.h: use defaultFill() and defaultStroke() * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::isFilled): remove null check (WebCore::KSVGPainterFactory::fillPaintServer): remove null check (WebCore::KSVGPainterFactory::isStroked): remove null check (WebCore::KSVGPainterFactory::strokePaintServer): remove null check * ksvg2/svg/SVGPaint.cpp: (WebCore::SVGPaint::defaultFill): added. (WebCore::SVGPaint::defaultStroke): added. * ksvg2/svg/SVGPaint.h: 2006-09-27 Rob Buis Reviewed by eseidel. http://bugs.webkit.org/show_bug.cgi?id=11015 SVG handles em units incorrectly Calculate viewport coordinates at layout time, since at this point the font size is known and lengths depending on font sizes can be calculated correctly. * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): (WebCore::RenderSVGContainer::viewport): (WebCore::RenderSVGContainer::calcViewport): * kcanvas/RenderSVGContainer.h: * ksvg2/svg/SVGLength.cpp: (WebCore::SVGLength::updateValue): * ksvg2/svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::createRenderer): * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createRenderer): (WebCore::SVGSVGElement::attributeChanged): * ksvg2/svg/SVGSVGElement.h: 2006-09-27 Eric Seidel Reviewed by darin. Change our invalid-fill error behavior to match Opera (and soon Firefox) http://bugs.webkit.org/show_bug.cgi?id=11017 * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::isFilled): (WebCore::KSVGPainterFactory::fillPaintServer): (WebCore::KSVGPainterFactory::isStroked): (WebCore::KSVGPainterFactory::strokePaintServer): 2006-09-27 Brady Eidson Build fix * loader/icon/IconDatabase.cpp: (WebCore::readySQLStatement): 2006-09-27 Brady Eidson Reviewed by Adam In very specific circumstances, prepared SQLStatements can become invalid without any warning. This checks for that state and re-prepares the statement and also adds more aggressive error-checking everywhere these statements are used. * loader/icon/IconDatabase.cpp: (WebCore::readySQLStatement): Check if the statement is expired - reprepare it (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto (WebCore::IconDatabase::forgetPageURLQuery): Ditto (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto (WebCore::IconDatabase::addIconForIconURLQuery): Ditto (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto * loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired()) * loader/icon/SQLStatement.h: 2006-09-26 Darin Adler Reviewed by Steve. - clean up options for font code path * platform/Font.h: * platform/Font.cpp: (WebCore::Font::setCodePath): Added. Replaces boolean version. (WebCore::Font::canUseGlyphCache): Update to handle "never use complex" case too. * platform/mac/WebCoreTextRenderer.mm: (WebCoreSetAlwaysUseATSU): Change to call setCodePath. 2006-09-26 John Sullivan Reviewed by Darin * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]): Added limit parameter, passed down to Frame * page/Frame.h: * page/Frame.cpp: (WebCore::Frame::markAllMatchesForText): Added limit parameter. Stop the search if it hits limit. 2006-09-26 Sean Gies Reviewed by Brady Eidson. * platform/cg/ImageCG.cpp: Removed #if's -- Darin said we don't need these. 2006-09-26 Justin Garcia Reviewed by john Gmail Editor: Crash at WebCore::Range::startPosition() when decreasing a indent * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializeStartEnd): Stop expanding to select special elements that are fully selected after expansion moves to positions that are visually distinct from the originals. * editing/InsertListCommand.cpp: (WebCore::InsertListCommand::doApply): If the content of the list item will be moved into another list, put it in a list item. 2006-09-26 Geoffrey Garen Reviewed by Darin. Temporary work-around for frame lifetime issue. * page/Frame.cpp: (WebCore::Frame::clear): (WebCore::Frame::disconnectOwnerElement): 2006-09-26 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=11038 Auto-generate DOMSVGElement for the Objective-C bindings - Auto-generates DOMSVGElement. - Make SVGExceptions work like all the other ExceptionCode extensions (Range, XPath, etc.) by adding SVGExceptionOffset and SVGExceptionMax. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/js/kjs_binding.cpp: (KJS::): (KJS::setDOMException): * bindings/objc/DOMInternal.h: * bindings/objc/DOMInternal.mm: (raiseDOMException): * bindings/objc/DOMSVG.h: * bindings/objc/DOMSVGExecption.h: Added. * ksvg2/ksvg.h: * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::setId): (WebCore::SVGElement::setXmlbase): * ksvg2/svg/SVGElement.h: * ksvg2/svg/SVGElement.idl: * ksvg2/svg/SVGException.h: Added. (WebCore::): 2006-09-26 Eric Seidel Reviewed by Tim H. viewbox parser does not allow as a delimiter http://bugs.webkit.org/show_bug.cgi?id=11014 Test: svg/hixie/viewbox/003.xml * ksvg2/svg/svgpathparser.cpp: (WebCore::isWhitespace): new function (WebCore::skipOptionalSpaces): (WebCore::skipOptionalSpacesOrComma): 2006-09-26 Eric Seidel Reviewed by Tim H. SVGDocument::createElement does not create elements in the SVG namespace http://bugs.webkit.org/show_bug.cgi?id=10932 Test: svg/custom/createelement.svg * ksvg2/svg/SVGDocument.cpp: (WebCore::SVGDocument::createElement): * ksvg2/svg/SVGDocument.h: 2006-09-26 Eric Seidel Reviewed by Tim H. RenderPath::nodeAtPoint does not respect stroke width http://bugs.webkit.org/show_bug.cgi?id=10829 Test: svg/custom/stroke-width-click.svg * kcanvas/device/quartz/KCanvasItemQuartz.mm: (WebCore::RenderPath::strokeContains): * kcanvas/device/quartz/QuartzSupport.h: * kcanvas/device/quartz/QuartzSupport.mm: 2006-09-26 Eric Seidel Reviewed by mitz. Bring animation back to life http://bugs.webkit.org/show_bug.cgi?id=11021 Register/unregister SVGSVGElements as time containers on insertion/removal. Replace uses of DeprecatedString with String in SVGAnimationElement Various whitespace clean-up. * ksvg2/misc/KSVGTimeScheduler.cpp: (WebCore::SVGTimer::notifyAll): * ksvg2/misc/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::startAnimations): (WebCore::SVGDocumentExtensions::pauseAnimations): (WebCore::SVGDocumentExtensions::unpauseAnimations): * ksvg2/svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::handleTimerEvent): (WebCore::SVGAnimateTransformElement::parseTransformValue): * ksvg2/svg/SVGAnimateTransformElement.h: * ksvg2/svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::parseMappedAttribute): (WebCore::SVGAnimationElement::parseClockValue): (WebCore::SVGAnimationElement::targetAttribute): (WebCore::SVGAnimationElement::setTargetAttribute): (WebCore::SVGAnimationElement::attributeName): * ksvg2/svg/SVGAnimationElement.h: (WebCore::SVGAnimationElement::rendererIsNeeded): * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::getScreenCTM): (WebCore::SVGSVGElement::createRenderer): (WebCore::SVGSVGElement::insertedIntoDocument): added, calls addTimeContainer(this) (WebCore::SVGSVGElement::removedFromDocument): added, calls removeTimeContainer(this) * ksvg2/svg/SVGSVGElement.h: * ksvg2/svg/SVGSetElement.cpp: (WebCore::SVGSetElement::handleTimerEvent): * ksvg2/svg/SVGURIReference.cpp: (WebCore::SVGURIReference::getTarget): * ksvg2/svg/SVGURIReference.h: 2006-09-26 Graham Dennis Reviewed by mitzpettel. - fix http://bugs.webkit.org/show_bug.cgi?id=11020 No-SVG build broken since r16549 Change #if SVG_SUPPORT to #ifdef SVG_SUPPORT * css/cssparser.cpp: (WebCore::CSSParser::parseValue): * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): * page/FrameView.cpp: (WebCore::selectCursor): * platform/qt/GraphicsContextQt.cpp: 2006-09-26 Anders Carlsson Reviewed by Maciej. http://bugs.webkit.org/show_bug.cgi?id=10820 Add StringImpl::toDouble() and remove uses of .deprecatedString().toDouble() (Originally written by Eric Seidel). * bindings/js/kjs_window.cpp: (KJS::floatFeature): * ksvg2/svg/SVGAngle.cpp: (SVGAngle::setValueAsString): * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::parseMappedAttribute): * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::parseMappedAttribute): * ksvg2/svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::parseMappedAttribute): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::parseMappedAttribute): * ksvg2/svg/SVGFELightElement.cpp: (SVGFELightElement::parseMappedAttribute): * ksvg2/svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::parseMappedAttribute): * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::parseMappedAttribute): * ksvg2/svg/SVGFETurbulenceElement.cpp: (WebCore::SVGFETurbulenceElement::parseMappedAttribute): * ksvg2/svg/SVGStopElement.cpp: (SVGStopElement::parseMappedAttribute): * platform/AtomicString.h: (WebCore::AtomicString::toDouble): * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::toDouble): * platform/StringImpl.cpp: (WebCore::StringImpl::toDouble): * platform/StringImpl.h: * rendering/DeprecatedSlider.cpp: (WebCore::DeprecatedSlider::updateFromElement): * xml/XPathGrammar.y: 2006-09-25 David Harrison Reviewed by Tim Omernick and Tim Hatcher. Text Field text parameterized attributes should work Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityAttributeValue:]): Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute. (-[WebCoreAXObject accessibilityParameterizedAttributeNames]): Cleaned up. Added text field and text area parameterzed attributes. (-[WebCoreAXObject doAXLineForTextMarker:]): Fixed to be zero-based and to deal with the first position properly. (-[WebCoreAXObject doAXTextMarkerRangeForLine:]): Minor formatting. (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]): (-[WebCoreAXObject indexForTextMarker:]): (-[WebCoreAXObject textMarkerRangeForRange:]): (-[WebCoreAXObject rangeForTextMarkerRange:]): New utility methods. (-[WebCoreAXObject doAXLineForIndex:]): (-[WebCoreAXObject doAXRangeForLine:]): (-[WebCoreAXObject doAXStringForRange:]): (-[WebCoreAXObject doAXRangeForPosition:]): (-[WebCoreAXObject doAXRangeForIndex:]): (-[WebCoreAXObject doAXBoundsForRange:]): (-[WebCoreAXObject doAXAttributedStringForRange:]): (-[WebCoreAXObject doAXRTFForRange:]): (-[WebCoreAXObject doAXStyleRangeForIndex:]): Implement text field and text area parameterized attributes. (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]): Added text field and text area parameterzed attributes. * rendering/RenderTextControl.h: Made indexForVisiblePosition() and visiblePositionForIndex() public. 2006-09-25 Adam Roben Reviewed by Brady. Build fixes. * WebCore.vcproj/WebCore/WebCore.vcproj: Fix malformed XML. * platform/ResourceLoader.h: Store whether a particular job has received a response within the ResourceLoader object itself, since it's possible that we will enter the InternetReadFileExA while loop twice for the same job. * platform/ResourceLoaderInternal.h: Add private instance variable to store whether we've received a response. (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/win/GraphicsContextWin.cpp: Fix order of preprocessor directives. * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoader::onRequestComplete): Ask the ResourceLoader whether it has received a response instead of assuming it hasn't. (WebCore::ResourceLoader::setHasReceivedResponse): Added. (WebCore::ResourceLoader::hasReceivedResponse): Added. * platform/win/TemporaryLinkStubs.cpp: Rename setKnobProportion to setProportion (ScrollBar::setProportion): 2006-09-25 Brady Eidson Requested by ggaren Disabled IconDatabase logging by default * platform/Logging.cpp: (WebCore::): 2006-09-25 Steve Falkenburg Build fix * platform/cf/ResourceLoaderCFNet.cpp: (WebCore::willCacheResponse): 2006-09-25 Justin Garcia Reviewed by john Gmail Editor: Crash at WebCore::SplitElementCommand::doApply() when attempting to indent in a new message * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Special case an empty root editable element. 2006-09-25 Brady Eidson Reviewed by Steve Math error in SystemTimeWin * platform/win/SystemTimeWin.cpp: (WebCore::currentTime): 2006-09-25 Alexey Proskuryakov Reviewed by Eric. Whitespace cleanup; rename *job variables to *loader. * bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp): (KJS::JSXMLHttpRequestConstructorImp::implementsConstruct): (KJS::JSXMLHttpRequestConstructorImp::construct): (KJS::JSXMLHttpRequest::getOwnPropertySlot): (KJS::JSXMLHttpRequest::getValueProperty): (KJS::JSXMLHttpRequest::put): (KJS::JSXMLHttpRequest::putValueProperty): (KJS::JSXMLHttpRequest::mark): (KJS::JSXMLHttpRequest::JSXMLHttpRequest): (KJS::JSXMLHttpRequest::~JSXMLHttpRequest): (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): * bindings/js/JSXMLHttpRequest.h: (KJS::JSXMLHttpRequest::toBoolean): * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::abort): (WebCore::XMLHttpRequest::receivedAllData): (WebCore::XMLHttpRequest::receivedData): * xml/xmlhttprequest.h: (WebCore::): 2006-09-25 Timothy Hatcher Reviewed by Brady. - Deprecate the rest of the old-style methods that are not generated. - Add @property syntax to DOMRange. * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (-[DOMRange setStart:offset:]): (-[DOMRange setEnd:offset:]): (-[DOMRange compareBoundaryPoints:sourceRange:]): (-[DOMRange setStart::]): (-[DOMRange setEnd::]): (-[DOMRange compareBoundaryPoints::]): (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): (-[DOMDocument createNodeIterator::::]): (-[DOMDocument createTreeWalker::::]): * bindings/objc/DOMCSS.h: * bindings/objc/DOMCSS.mm: (-[DOMDocument getComputedStyle:pseudoElement:]): (-[DOMDocument getComputedStyle::]): (-[DOMDocument getMatchedCSSRules:pseudoElement:]): * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMRange.h: * bindings/objc/DOMTraversal.h: 2006-09-25 Eric Seidel Reviewed by mjs. Outermost element should clip to viewport http://bugs.webkit.org/show_bug.cgi?id=11007 Test: svg/custom/viewport-clip.svg * css/svg.css: change svg:root overflow: from 'visible' to 'hidden' 2006-09-25 Anders Carlsson Reviewed by Maciej. * css/MediaList.cpp: Remove unused header. * dom/Document.cpp: (WebCore::Document::clear): Use clear instead of iterating through the list of event listeners, removing each one. (Doing that causes a crash when running the layout tests with GuardMalloc turned on) * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement): (WebCore::HTMLKeygenElement::appendFormData): Update due to changes in the SSL key generator. * ksvg2/svg/SVGAngle.cpp: Remove unused header. * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::parseMappedAttribute): Rename methods and pass Strings instead of DeprecatedStrings to parseSeparatedList. * ksvg2/svg/SVGFEColorMatrixElement.cpp: * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: * ksvg2/svg/SVGFEDisplacementMapElement.cpp: * ksvg2/svg/SVGFEMergeElement.cpp: * ksvg2/svg/SVGFEOffsetElement.cpp: Remove unused headers. * ksvg2/svg/SVGHelper.cpp: (WebCore::SVGHelper::parseSeparatedList): * ksvg2/svg/SVGHelper.h: Rename ParseSeperatedList to parseSeparatedList, make it take a String instead of a DeprecatedString and have it use Vector instead of DeprecatedStringList. * ksvg2/svg/SVGLengthList.cpp: (WebCore::SVGLengthList::parse): * ksvg2/svg/SVGLengthList.h: Use Vector instead of DeprecatedStringList. * loader/Cache.cpp: (WebCore::Cache::requestImage): (WebCore::Cache::requestStyleSheet): (WebCore::Cache::requestScript): (WebCore::Cache::requestXSLStyleSheet): (WebCore::Cache::requestXBLDocument): (WebCore::Cache::remove): (WebCore::Cache::get): Use a String as the key in the cache set instead of a RefPtr. * loader/DocLoader.cpp: (WebCore::DocLoader::needReload): * loader/DocLoader.h: Use a HashSet instead of DeprecatedStringList. * page/FrameView.h: Remove declarations that have no functions. * platform/SSLKeyGenerator.h: * platform/mac/SSLKeyGeneratorMac.mm: (WebCore::supportedKeySizes): (WebCore::signedPublicKeyAndChallengeString): Convert to use Vector instead of DeprecatedStringList, and String instead of DeprecatedString. 2006-09-25 Dave Hyatt Shunt the RenderTheme world transform adoption between Cairo and Windows into getWindowsContext and move the method out of GraphicsContextCairo and into GraphicsContextWin. * ChangeLog: * WebCore.vcproj/WebCore/WebCore.vcproj: * platform/cairo/GraphicsContextCairo.cpp: * platform/win/GraphicsContextWin.cpp: Added. (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext): * rendering/RenderThemeWin.cpp: (WebCore::prepareForDrawing): 2006-09-24 Eric Seidel Reviewed by hyatt. cannot be styled with a:hover http://bugs.webkit.org/show_bug.cgi?id=11005 Test: svg/hixie/cascade/002.xml * css/cssstyleselector.cpp: (WebCore::checkPseudoState): 2006-09-24 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10882 SVG needs Obj-C DOM bindings - Auto-generate the first 8 Objective-C SVG DOM bindings. The auto-generated classes are DOMSVGAngle, DOMSVGLength, DOMSVGLengthList, DOMSVGMatrix, DOMSVGPathSeg, DOMSVGPathSegList, DOMSVGTransform, and DOMSVGTransformList. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMInternal.h: * bindings/objc/DOMSVG.h: Added. * ksvg2/svg/SVGAngle.idl: * ksvg2/svg/SVGLength.idl: * ksvg2/svg/SVGLengthList.idl: * ksvg2/svg/SVGMatrix.idl: * ksvg2/svg/SVGPathSeg.idl: * ksvg2/svg/SVGPathSegList.idl: * ksvg2/svg/SVGTransform.idl: * ksvg2/svg/SVGTransformList.idl: 2006-09-24 Rob Buis Reviewed by eseidel. Fix for http://bugs.webkit.org/show_bug.cgi?id=6001 WebKit does not handle fallback custom cursors Fix for http://bugs.webkit.org/show_bug.cgi?id=6002 WebKit does not properly handle SVG element Add support for svg cursor images. Also make sure hotspot settings are handled correctly. Add tests for handling of css3 cursor syntax with hotspots in strict and quirks mode. Finally implement fallback. * WebCore.xcodeproj/project.pbxproj: * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSCursorImageValue.cpp: Added. (WebCore::CSSCursorImageValue::CSSCursorImageValue): (WebCore::CSSCursorImageValue::~CSSCursorImageValue): * css/CSSCursorImageValue.h: Added. (WebCore::CSSCursorImageValue::hotspot): * css/cssparser.cpp: (WebCore::CSSParser::parseValue): * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): * ksvg2/svg/SVGCursorElement.cpp: * manual-tests/css3-cursor-fallback-quirks.html: Added. * manual-tests/css3-cursor-fallback-strict.html: Added. * manual-tests/cursorfallback.xml: Added. * page/FrameView.cpp: (WebCore::selectCursor): * platform/Cursor.h: * platform/mac/CursorMac.mm: (WebCore::createCustomCursor): (WebCore::Cursor::Cursor): * platform/qt/CursorQt.cpp: (WebCore::Cursor::Cursor): * rendering/RenderStyle.cpp: (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::addCursor): (WebCore::RenderStyle::addSVGCursor): (WebCore::RenderStyle::setCursorList): (WebCore::RenderStyle::clearCursorList): * rendering/RenderStyle.h: (WebCore::CursorData::CursorData): (WebCore::CursorList::operator[]): (WebCore::CursorList::size): (WebCore::CursorList::append): (WebCore::RenderStyle::cursors): 2006-09-24 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=11009 Auto-generate the internal methods interfaces for the Objective-C bindings - Auto-generate the internal method declarations into their own files named in the form DOMFooBarInternal.h for class DOMFooBar. - Remove all use of DOM_cast from code. - Assorted cleanups. * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (-[DOMNode _initWithNode:WebCore::]): (-[DOMNode WebCore::]): (-[DOMRange dealloc]): (-[DOMRange finalize]): (-[DOMRange _initWithRange:WebCore::]): (-[DOMRange WebCore::]): (-[DOMNodeFilter _initWithNodeFilter:WebCore::]): (-[DOMNodeFilter WebCore::]): (-[DOMNodeFilter dealloc]): (-[DOMNodeFilter finalize]): (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]): (-[DOMNodeIterator WebCore::]): (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]): (-[DOMTreeWalker WebCore::]): * bindings/objc/DOMAbstractView.mm: (-[DOMAbstractView _initWithAbstractView:WebCore::]): * bindings/objc/DOMCSS.mm: (-[DOMStyleSheet _initWithStyleSheet:WebCore::]): (-[DOMCSSRule _initWithRule:WebCore::]): (-[DOMCSSValue _initWithValue:WebCore::]): * bindings/objc/DOMEvents.mm: (-[DOMEvent _initWithEvent:WebCore::]): * bindings/objc/DOMHTMLAppletElement.mm: (-[DOMHTMLAppletElement align]): (-[DOMHTMLAppletElement setAlign:]): (-[DOMHTMLAppletElement alt]): (-[DOMHTMLAppletElement setAlt:]): (-[DOMHTMLAppletElement archive]): (-[DOMHTMLAppletElement setArchive:]): (-[DOMHTMLAppletElement code]): (-[DOMHTMLAppletElement setCode:]): (-[DOMHTMLAppletElement codeBase]): (-[DOMHTMLAppletElement setCodeBase:]): (-[DOMHTMLAppletElement height]): (-[DOMHTMLAppletElement setHeight:]): (-[DOMHTMLAppletElement hspace]): (-[DOMHTMLAppletElement setHspace:]): (-[DOMHTMLAppletElement name]): (-[DOMHTMLAppletElement setName:]): (-[DOMHTMLAppletElement object]): (-[DOMHTMLAppletElement setObject:]): (-[DOMHTMLAppletElement vspace]): (-[DOMHTMLAppletElement setVspace:]): (-[DOMHTMLAppletElement width]): (-[DOMHTMLAppletElement setWidth:]): * bindings/objc/DOMInternal.h: (getDOMWrapper): (addDOMWrapper): (raiseOnDOMError): * bindings/objc/DOMXPath.mm: (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]): * bindings/scripts/CodeGeneratorObjC.pm: 2006-09-24 Nikolas Zimmermann Reviewed by eseidel. Fix Qt/Linux build after Dave's Scrollbar changes. * platform/qt/PlatformScrollBar.h: (Somehow this contained the file twice! Removed one instance!) * platform/qt/TemporaryLinkStubs.cpp: (WebCore::ScrollBar::setProportion): (WebCore::PlatformScrollBar::updateThumbPosition): (WebCore::PlatformScrollBar::updateThumbProportion): 2006-09-24 Nikolas Zimmermann Reviewed by eseidel. Qt/Linux build system changes: enable xpath/xslt by default. Offer possibility to change all of these using 'ccmake'. * CMakeLists.txt: 2006-09-24 Dave Hyatt Cleanup of Scrollbar APIs. Rename setKnobProportion to setProportion. Rename setScrollbarValue to updateThumbPosition. Give setProportion a base class implementation and implement it using the same pattern as setValue/updateThumbPosition (so that the base calls a protected virtual function, updateThumbProportion, implemented by the derived class to update the actual scrollbar itself). * platform/ScrollBar.cpp: (WebCore::ScrollBar::setValue): (WebCore::ScrollBar::setProportion): * platform/ScrollBar.h: (WebCore::ScrollBar::value): * platform/mac/PlatformScrollBar.h: * platform/mac/PlatformScrollBarMac.mm: (WebCore::PlatformScrollBar::updateThumbPosition): (WebCore::PlatformScrollBar::updateThumbProportion): * platform/win/PlatformScrollBar.h: * platform/win/TemporaryLinkStubs.cpp: (PlatformScrollBar::updateThumbPosition): (PlatformScrollBar::updateThumbProportion): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollInfoAfterLayout): 2006-09-23 Alexey Proskuryakov Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=4872 XMLHttpRequest fails to throw an exception when there is a security violation (mismatching domains) Raise an exception if there is a security violation, and also in cases required by the current draft of XHR specification. * bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty): Raise an exception if a DOM method reports one. (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Raise an exception if a DOM method reports one, and also if there were too few arguments passed. * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Added support for custom XHR exceptions. * xml/xmlhttprequest.h: Changed state names to match the current spec. Defined an exception code range for XHR exceptions. * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::open): Removed a check for m_aborted that could never succeed. (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::getStatus): (WebCore::XMLHttpRequest::getStatusText): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::receivedAllData): (WebCore::XMLHttpRequest::receivedData): 2006-09-22 Steve Falkenburg Reviewed by Jeff Jenkins. Tweak CF types. * platform/cf/ResourceLoaderCFNet.cpp: (WebCore::willCacheResponse): 2006-09-22 Justin Garcia Reviewed by darin Rename Node::isAncestor and RenderObject::hasAncestor to isDescendantOf * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): * dom/Element.cpp: (WebCore::Element::contains): * dom/Node.cpp: (WebCore::Node::traverseNextNode): (WebCore::Node::traverseNextSibling): (WebCore::Node::traversePreviousNodePostOrder): (WebCore::Node::checkAddChild): (WebCore::Node::isDescendantOf): * dom/Node.h: * dom/NodeIterator.cpp: (WebCore::NodeIterator::notifyBeforeNodeRemoval): * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::applyInlineStyle): (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::mergeIdenticalElements): (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): * editing/DeleteSelectionCommand.cpp: (WebCore::updatePositionForNodeRemoval): (WebCore::DeleteSelectionCommand::handleGeneralDelete): (WebCore::DeleteSelectionCommand::mergeParagraphs): * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply): * editing/IndentOutdentCommand.cpp: (WebCore::enclosingListOrBlockquote): * editing/Selection.cpp: (WebCore::Selection::validate): * editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved): * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::advance): * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::canonicalPosition): (WebCore::isFirstVisiblePositionInNode): (WebCore::isLastVisiblePositionInNode): * editing/htmlediting.cpp: (WebCore::firstEditablePositionAfterPositionInRoot): (WebCore::lastEditablePositionBeforePositionInRoot): (WebCore::enclosingNodeWithTag): (WebCore::enclosingList): (WebCore::enclosingListChild): * editing/markup.cpp: (WebCore::createMarkup): 2006-09-22 Timothy Hatcher Reviewed by Darin. - Added @property syntax to non-generated headers inside #ifndef BUILDING_ON_TIGER. - Changed the DOMEventTarget protocol to have have new versions of addEventListener and removeEventListener with named parameters. These old style methods can be removed once Mail changes to use the new methods . * WebCorePrefix.h: define BUILDING_ON_TIGER when Tiger is the target * bindings/objc/DOM.mm: (-[DOMNode addEventListener:listener:useCapture:]): (-[DOMNode addEventListener:::]): call the new method (-[DOMNode removeEventListener:listener:useCapture:]): (-[DOMNode removeEventListener:::]): call the new method * bindings/objc/DOMAbstractView.h: * bindings/objc/DOMEventTarget.h: * bindings/objc/DOMHTMLAppletElement.h: * bindings/objc/DOMHTMLEmbedElement.h: * bindings/objc/DOMHTMLOptionElement.h: * bindings/objc/DOMObject.h: * bindings/objc/DOMRGBColor.h: 2006-09-22 Nikolas Zimmermann Reviewed by Eric. Fix Qt/Linux build and a really stupid mixup in GraphicsContextQt. * platform/qt/FrameQt.cpp: * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::translate): Make it actually translate, not scale! :-) (WebCore::GraphicsContext::origin): * platform/qt/PlatformScrollBar.h: Added. (WebCore::PlatformScrollBar::isWidget): * platform/qt/WidgetQt.cpp: (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): 2006-09-22 Dave Hyatt Super-minor tweaks to the systemFont function on Mac. Set the generic family to None rather than to Serif, and don't waste time setting the computed size, since that is set from the specified size over in CSSStyleSelector anyway. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::systemFont): 2006-09-22 Timothy Hatcher Reviewed by Brady. Build fix for Xcode 2.3. Convert GraphicsContext::translate() to take floats. There was already an implicit conversion to float/double when calling CGContextTranslateCTM or cairo_translate. * platform/GraphicsContext.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::translate): * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::translate): 2006-09-22 Brady Eidson Reviewed by Sfalken Add redirect and other cleanup to ResourceLoaderWin.cpp Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10927 Fixes bug http://bugs.webkit.org/show_bug.cgi?id=10744 * WebCore.xcodeproj/project.pbxproj: * platform/ResourceLoader.h: * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoaderWndProc): (WebCore::initializeOffScreenResourceLoaderWindow): (WebCore::ResourceLoader::onHandleCreated): (WebCore::ResourceLoader::onRequestRedirected): (WebCore::ResourceLoader::onRequestComplete): (WebCore::transferJobStatusCallback): 2006-09-22 Alexey Proskuryakov Reviewed by Geoff. http://bugs.webkit.org/show_bug.cgi?id=10803 REGRESSION (r15536-r15544): manual-tests/bugzilla-6821.html failing * page/FrameView.cpp: (WebCore::FrameView::hoverTimerFired): Use the current event. 2006-09-22 Nikolas Zimmermann Reviewed by Anders. Fix (last) svg memory leak. * ksvg2/svg/SVGTransformable.cpp: delete 't' in error case. (SVGTransformable::parseTransformAttribute): 2006-09-22 Eric Seidel No review necessary, just removing a dead file. Remove unused file (added previously by mistake) to make room for real implementation. * platform/mac/BitmapImageMac.mm: Removed. 2006-09-22 Dave Hyatt Move PlatformScrollBar.h down into the platforms. Reviewed by andersca * platform/PlatformScrollBar.h: Removed. * platform/win/PlatformScrollBar.h: Added. * platform/mac/PlatformScrollBar.h: Added. 2006-09-22 Dave Hyatt Add support for invalidation of widgets. This will be needed for the Win32 widget subsystem (and for any widget subsystems that don't have any underlying native objects backing the widgets. Reviewed by anders * platform/Widget.h: * platform/mac/WidgetMac.mm: (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): * platform/win/TemporaryLinkStubs.cpp: (Widget::invalidate): (Widget::invalidateRect): 2006-09-22 Rob Buis Reviewed by eseidel. http://bugs.webkit.org/show_bug.cgi?id=10901 Merge build fixes from unity * CMakeLists.txt: 2006-09-21 Nikolas Zimmermann Reviewed by eseidel. http://bugs.webkit.org/show_bug.cgi?id=10977 SVGDocument does not expose 'rootElement' property Enable 'rootElement' property. * ksvg2/svg/SVGDocument.idl: 2006-09-21 Steve Falkenburg Tweak includes. * platform/ResourceLoaderInternal.h: 2006-09-21 Geoffrey Garen build fixed. band happy. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::translate): * platform/mac/WidgetMac.mm: 2006-09-21 Geoffrey Garen Reviewed by Maciej. Some Widget refactoring. * WebCore.vcproj/WebCore/WebCore.vcproj: * bridge/mac/FrameMac.mm: * bridge/win/FrameWin.cpp: (WebCore::FrameWin::runJavaScriptAlert): (WebCore::FrameWin::runJavaScriptConfirm): * bridge/win/PageWin.cpp: (WebCore::Page::Page): (WebCore::rootWindowForFrame): * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::translate): * page/FrameView.cpp: (WebCore::FrameView::isFrameView): * page/Page.h: (WebCore::Page::setInstanceHandle): (WebCore::Page::instanceHandle): * platform/GraphicsContext.h: * platform/ScrollView.h: * platform/Widget.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::origin): * platform/mac/WidgetMac.mm: (WebCore::Widget::clearFocus): * platform/win/ResourceLoaderWin.cpp: (WebCore::initializeOffScreenResourceLoaderWindow): * platform/win/ScreenWin.cpp: (WebCore::monitorInfo): * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::visibleHeight): (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::viewportToContents): (WebCore::ScrollView::contentsToViewport): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::updateScrollInfo): (WebCore::ScrollView::updateScrollBars): * platform/win/SharedTimerWin.cpp: (WebCore::initializeOffScreenTimerWindow): * platform/win/TemporaryLinkStubs.cpp: (FrameView::updateBorder): (ScrollView::paint): (GraphicsContext::clip): * platform/win/WidgetWin.cpp: (WebCore::Widget::Widget): (WebCore::Widget::parentWindow): (WebCore::Widget::setParentWindow): (WebCore::Widget::frameGeometry): (WebCore::Widget::hasFocus): (WebCore::Widget::setFocus): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setFrameGeometry): 2006-09-22 Anders Carlsson Reviewed by Tim H. * platform/TextEncoding.cpp: (WebCore::TextEncoding::backslashAsCurrencySymbol): Add comment clarifying why backslashAsCurrencySymbol is needed. 2006-09-21 Sean Gies Reviewed by Adam Roben. Add utility functions to get and release HDC from GraphicsContext. * platform/GraphicsContext.h: Add utilities to get and release HDC. * platform/cairo/GraphicsContextCairo.cpp: Implement new utilities. * rendering/RenderThemeWin.cpp: Switch to new utilities. 2006-09-21 Justin Garcia Reviewed by anders Plain text paste slow. Time spent mostly in WebCore::rebalanceWhitespaceInTextNode(...) * editing/htmlediting.cpp: (WebCore::rebalanceWhitespaceInTextNode): We no longer need to use a RegExp replace because we aren't producing complicated sequences here. Use multiple UChar -> UChar replaces instead for speed. Got rid of uses of DepricatedString. 2006-09-21 Nikolas Zimmermann Reviewed by eseidel. Don't crash if no IconDatabase is available (ie. on Qt/Gdk) * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): 2006-09-21 Nikolas Zimmermann Reviewed by eseidel. Fix Qt/Linux build. * CMakeLists.txt: * kcanvas/device/qt/KCanvasClipperQt.h: * kcanvas/device/qt/KRenderingDeviceQt.cpp: * platform/qt/FrameQt.cpp: (WebCore::FrameQt::isLoadTypeReload): (WebCore::FrameQt::originalRequestURL): * platform/qt/FrameQt.h: * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::concatCTM): * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::wheelEvent): * platform/qt/TemporaryLinkStubs.cpp: (WebCore::IconDatabase::setIconURLForPageURL): 2006-09-20 Justin Garcia Reviewed by john TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe * editing/MoveSelectionCommand.cpp: (WebCore::MoveSelectionCommand::MoveSelectionCommand): Set the document to the position-to-move-to's document, not the fragment's document. The fragment's document is the document used to create the fragment and is irrelavant. === Safari-521.27 === 2006-09-21 Brady Eidson Reviewed by Anders When your assumption is "IconDatabase::sharedIconDatabase()" will never fail but it does, you're in trouble This fixes Spinneret so it won't crash on its first load! * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): 2006-09-21 Brady Eidson Build fix * platform/win/TemporaryLinkStubs.cpp: (ScrollView::wheelEvent): 2006-09-20 Rob Buis Reviewed by eseidel. http://bugs.webkit.org/show_bug.cgi?id=10946 new marker code draws end-marker in wrong place Keep track of the start of the subpath so we can handle closeTo/moveTo correctly. * kcanvas/RenderPath.cpp: (WebCore::DrawMarkersData::DrawMarkersData): (WebCore::updateMarkerDataForElement): 2006-09-21 David Hyatt Wheel scrolling prep for Win32. WARNING: NO TEST CASES ADDED OR CHANGED * platform/PlatformWheelEvent.h: * platform/ScrollBar.h: * platform/ScrollView.h: * platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::wheelEvent): * rendering/RenderLayer.cpp: 2006-09-20 Timothy Hatcher Reviewed by Hyatt. Bug 10917: REGRESSION (r16027): iFrame transparency broken http://bugs.webkit.org/show_bug.cgi?id=10917 Don't paint the base background color if we transparent. * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended): 2006-09-20 Adam Roben Reviewed by andersca. * platform/FileChooser.h: Remove no-longer-necessary namespace std 2006-09-20 Eric Seidel Reviewed by beth. Cleanup style in KCanvas. Remove extra white-space, unneeded arguments, etc. * WebCore.xcodeproj/project.pbxproj: * kcanvas/KCanvasClipper.cpp: (WebCore::operator<<): (WebCore::KCanvasClipper::externalRepresentation): * kcanvas/KCanvasClipper.h: * kcanvas/KCanvasFilters.cpp: (WebCore::KCanvasFilter::externalRepresentation): (WebCore::operator<<): (WebCore::KCanvasFilterEffect::externalRepresentation): (WebCore::KCPointLightSource::externalRepresentation): (WebCore::KCSpotLightSource::externalRepresentation): (WebCore::KCDistantLightSource::externalRepresentation): (WebCore::KCanvasFEBlend::externalRepresentation): (WebCore::KCanvasFEColorMatrix::externalRepresentation): (WebCore::KCanvasFEComponentTransfer::externalRepresentation): (WebCore::KCanvasFEComposite::externalRepresentation): (WebCore::KCanvasFEConvolveMatrix::externalRepresentation): (WebCore::KCanvasFEDiffuseLighting::externalRepresentation): (WebCore::KCanvasFEDisplacementMap::externalRepresentation): (WebCore::KCanvasFEFlood::externalRepresentation): (WebCore::KCanvasFEGaussianBlur::externalRepresentation): (WebCore::KCanvasFEImage::externalRepresentation): (WebCore::KCanvasFEMerge::externalRepresentation): (WebCore::KCanvasFEMorphology::externalRepresentation): (WebCore::KCanvasFEOffset::externalRepresentation): (WebCore::KCanvasFESpecularLighting::externalRepresentation): (WebCore::KCanvasFETile::externalRepresentation): (WebCore::KCanvasFETurbulence::externalRepresentation): * kcanvas/KCanvasFilters.h: (WebCore::KCanvasFEDiffuseLighting::lightSource): (WebCore::KCanvasFESpecularLighting::lightSource): * kcanvas/KCanvasImage.h: * kcanvas/KCanvasMarker.cpp: (WebCore::KCanvasMarker::externalRepresentation): * kcanvas/KCanvasMarker.h: * kcanvas/KCanvasResource.cpp: (WebCore::operator<<): * kcanvas/KCanvasResource.h: * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<): (WebCore::writeIndent): (WebCore::writeStyle): (WebCore::write): (WebCore::writeRenderResources): * kcanvas/KCanvasTreeDebug.h: (WebCore::operator<<): * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint): * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint): (WebCore::drawStartAndMidMarkers): * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::translateForAttributes): * kcanvas/RenderSVGImage.h: * kcanvas/device/KRenderingDevice.cpp: (WebCore::KRenderingDevice::currentContext): (WebCore::KRenderingDevice::popContext): (WebCore::KRenderingDevice::pushContext): * kcanvas/device/KRenderingDevice.h: * kcanvas/device/KRenderingFillPainter.h: * kcanvas/device/KRenderingPaintServer.h: (WebCore::KRenderingPaintServer::KRenderingPaintServer): (WebCore::KRenderingPaintServer::activeClient): (WebCore::KRenderingPaintServer::setActiveClient): * kcanvas/device/KRenderingPaintServerGradient.cpp: (WebCore::operator<<): (WebCore::KRenderingPaintServerGradient::externalRepresentation): (WebCore::KRenderingPaintServerLinearGradient::externalRepresentation): (WebCore::KRenderingPaintServerGradient::listener): (WebCore::KRenderingPaintServerGradient::setListener): (WebCore::KRenderingPaintServerRadialGradient::externalRepresentation): * kcanvas/device/KRenderingPaintServerGradient.h: * kcanvas/device/KRenderingPaintServerPattern.cpp: (WebCore::KRenderingPaintServerPattern::tile): (WebCore::KRenderingPaintServerPattern::setTile): (WebCore::KRenderingPaintServerPattern::listener): (WebCore::KRenderingPaintServerPattern::setListener): (WebCore::KRenderingPaintServerPattern::externalRepresentation): * kcanvas/device/KRenderingPaintServerPattern.h: * kcanvas/device/KRenderingPaintServerSolid.cpp: (WebCore::KRenderingPaintServerSolid::externalRepresentation): * kcanvas/device/KRenderingPaintServerSolid.h: * kcanvas/device/KRenderingStrokePainter.cpp: (WebCore::KRenderingStrokePainter::strokeMiterLimit): (WebCore::KRenderingStrokePainter::setStrokeMiterLimit): * kcanvas/device/KRenderingStrokePainter.h: * kcanvas/device/quartz/KCanvasFilterQuartz.h: * kcanvas/device/quartz/KCanvasFilterQuartz.mm: (WebCore::KCanvasFilterQuartz::prepareFilter): * kcanvas/device/quartz/KCanvasItemQuartz.h: Removed. * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: (WebCore::KCanvasMaskerQuartz::applyMask): * kcanvas/device/quartz/KCanvasResourcesQuartz.h: (WebCore::KCanvasImageQuartz::init): * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: (WebCore::KCanvasClipperQuartz::applyClip): * kcanvas/device/quartz/KRenderingDeviceQuartz.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceQuartz::quartzContext): (WebCore::KRenderingDeviceQuartz::contextForImage): (WebCore::KRenderingDeviceQuartz::createPaintServer): (WebCore::KRenderingDeviceQuartz::createResource): (WebCore::KRenderingDeviceQuartz::createFilterEffect): * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: (WebCore::CGShadingRefForLinearGradient): (WebCore::CGShadingRefForRadialGradient): (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientCache): (WebCore::KRenderingPaintServerGradientQuartz::teardown): * kcanvas/device/quartz/KRenderingPaintServerQuartz.h: * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: (WebCore::KRenderingPaintServerQuartzHelper::strokePath): (WebCore::KRenderingPaintServerQuartzHelper::clipToStrokePath): (WebCore::KRenderingPaintServerQuartzHelper::fillPath): (WebCore::KRenderingPaintServerQuartzHelper::clipToFillPath): (WebCore::KRenderingPaintServerSolidQuartz::draw): (WebCore::KRenderingPaintServerSolidQuartz::setup): (WebCore::KRenderingPaintServerSolidQuartz::renderPath): (WebCore::KRenderingPaintServerPatternQuartz::setup): (WebCore::KRenderingPaintServerPatternQuartz::renderPath): (WebCore::KRenderingPaintServerPatternQuartz::teardown): * kcanvas/device/quartz/QuartzSupport.h: * kcanvas/device/quartz/QuartzSupport.mm: (WebCore::applyStrokeStyleToContext): 2006-09-20 Anders Carlsson Reviewed by Dave Hyatt. * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): Use lroundf instead of lround since deltas are floats. 2006-09-20 Julien Palmas Reviewed by eseidel. Landed by eseidel. Test: svg/custom/pattern-y-offset.svg * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: (WebCore::KRenderingPaintServerPatternQuartz::setup): 2006-09-20 David Hyatt Add a new wheelEvent method to ScrollView. Platforms that wish to handle the wheel event for the scroll view themselves can then do so there. (Mac lets the underlying NSScrollView do it for now.) * page/FrameView.cpp: (WebCore::FrameView::handleWheelEvent): * platform/ScrollView.h: (WebCore::ScrollView::wheelEvent): 2006-09-20 Brady Eidson Reviewed by Tim Omernick Part of fixing a crash Tim O showed me that I missed in a release build. WebKit should be able to call through the bridge to WebCore no matter what - Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase() * bridge/mac/WebCoreIconDatabaseBridge.h: * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge closeSharedDatabase]): (-[WebCoreIconDatabaseBridge isOpen]): (-[WebCoreIconDatabaseBridge removeAllIcons]): (-[WebCoreIconDatabaseBridge _isEmpty]): (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]): (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]): (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]): (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): (-[WebCoreIconDatabaseBridge defaultIconWithSize:]): (-[WebCoreIconDatabaseBridge retainIconForURL:]): (-[WebCoreIconDatabaseBridge releaseIconForURL:]): (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]): (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]): (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]): (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): (-[WebCoreIconDatabaseBridge _setEnabled:]): (-[WebCoreIconDatabaseBridge _isEnabled]): 2006-09-20 Anders Carlsson Reviewed by Darin. Add String::split which returns a Vector of Strings and use it instead of DeprecatedStringList. * bindings/js/kjs_events.cpp: (KJS::Clipboard::getValueProperty): * bindings/js/kjs_window.cpp: (KJS::parseModalDialogFeatures): * css/MediaList.cpp: (WebCore::MediaList::setMediaText): * dom/Clipboard.h: * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute): * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::split): * platform/StringImpl.cpp: * platform/StringImpl.h: * platform/mac/ClipboardMac.h: * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::types): 2006-09-20 Justin Garcia Reviewed by harrison * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Don't call HTMLElement::isContentEditable just to check the Frame's editability, since it calls updateRenderering, which can get us into infinite recursion. 2006-09-20 Brady Eidson Reviewed by Darin Cleaned up my last patch alot, and made the WebCore icon database disabled by default * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): Disabled by default (WebCore::IconDatabase::removeAllIcons): Respect just isOpen() (disabled database will always be closed) (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto (WebCore::IconDatabase::iconForPageURL): Ditto (WebCore::IconDatabase::isIconExpiredForIconURL): Ditto (WebCore::IconDatabase::iconURLForPageURL): Ditto (WebCore::IconDatabase::retainIconForPageURL): Ditto (WebCore::IconDatabase::releaseIconForPageURL): Ditto (WebCore::IconDatabase::setIconDataForIconURL): Ditto (WebCore::IconDatabase::setIconURLForPageURL): Ditto (WebCore::IconDatabase::hasEntryForIconURL): Ditto (WebCore::IconDatabase::setEnabled): Fixed a big bug here! 2006-09-20 Adam Roben Reviewed by Adele. Fixes http://bugs.webkit.org/show_bug.cgi?id=10935 REGRESSION: file upload control with direction:rtl or text-align:right draws button on top of filename/icon * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::setStyle): Force text-align to match direction (WebCore::RenderFileUploadControl::paintObject): Fix positioning of the filename and icon in RTL 2006-09-20 Alice Liu Reviewed by Adam Roben. fixed windows build * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): changed lrint to lround 2006-09-20 Sam Weinig Build Fix. Adds isHorizontal attribute back to WheelEvent for the Objective-C bindings. If it is found that isHorizontal is not used, we should remove it again but also remove it's declaration from PublicDOMInterfaces.h * dom/WheelEvent.h: (WebCore::WheelEvent::isHorizontal): * dom/WheelEvent.idl: 2006-09-20 David Hyatt Fix for 10945, WheelEvent should support two dimensions at once, since MacBooks allow for diagonal scrolling. Also enhance the PlatformWheelEvent to allow for diagonal scrolling. Reviewed by Eric * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchWheelEvent): * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): (WebCore::WheelEvent::initWheelEvent): * dom/WheelEvent.h: (WebCore::WheelEvent::wheelDelta): (WebCore::WheelEvent::wheelDeltaX): (WebCore::WheelEvent::wheelDeltaY): * dom/WheelEvent.idl: * page/FrameView.cpp: (WebCore::FrameView::handleWheelEvent): * platform/PlatformWheelEvent.h: (WebCore::PlatformWheelEvent::deltaX): (WebCore::PlatformWheelEvent::deltaY): (WebCore::PlatformWheelEvent::normalize): * platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent): 2006-09-19 Eric Seidel Reviewed by hyatt. Split KCanvasResources.* into multiple files (and some other minor spacing changes). No tests were harmed in the making of this patch. * WebCore.xcodeproj/project.pbxproj: * kcanvas/KCanvasClipper.cpp: Added. (WebCore::operator<<): * kcanvas/KCanvasClipper.h: Added. * kcanvas/KCanvasFilters.h: * kcanvas/KCanvasImage.h: * kcanvas/KCanvasMarker.cpp: Added. * kcanvas/KCanvasMarker.h: Added. * kcanvas/KCanvasMasker.cpp: Added. (WebCore::KCanvasMasker::KCanvasMasker): (WebCore::KCanvasMasker::setMask): (WebCore::KCanvasMasker::externalRepresentation): (WebCore::getMaskerById): * kcanvas/KCanvasMasker.h: Added. * kcanvas/KCanvasResource.cpp: Added. (WebCore::KCanvasResource::invalidate): (WebCore::KCanvasResource::externalRepresentation): (WebCore::getResourceById): (WebCore::getPaintServerById): * kcanvas/KCanvasResource.h: Added. * kcanvas/KCanvasResources.cpp: Removed. * kcanvas/KCanvasResources.h: Removed. * kcanvas/RenderPath.cpp: * kcanvas/RenderSVGContainer.cpp: * kcanvas/RenderSVGImage.cpp: * kcanvas/RenderSVGText.cpp: * kcanvas/device/KRenderingPaintServer.h: * kcanvas/device/quartz/KCanvasMaskerQuartz.h: * kcanvas/device/quartz/KCanvasResourcesQuartz.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: * ksvg2/svg/SVGClipPathElement.h: * ksvg2/svg/SVGFEColorMatrixElement.cpp: * ksvg2/svg/SVGFEComponentTransferElement.cpp: * ksvg2/svg/SVGFECompositeElement.cpp: * ksvg2/svg/SVGFEGaussianBlurElement.cpp: * ksvg2/svg/SVGFELightElement.cpp: * ksvg2/svg/SVGFEOffsetElement.cpp: * ksvg2/svg/SVGFETurbulenceElement.cpp: * ksvg2/svg/SVGFilterElement.cpp: * ksvg2/svg/SVGLinearGradientElement.cpp: * ksvg2/svg/SVGMarkerElement.h: * ksvg2/svg/SVGMaskElement.h: 2006-09-19 Brady Eidson Reviewed by Sarge Decker and - WebCore::IconDatabase needs to have and respect an enabled() flag - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari * bridge/mac/WebCoreIconDatabaseBridge.h: * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge _setEnabled:]): Added (-[WebCoreIconDatabaseBridge _isEnabled]): Added * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::open): Don't open if disabled (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed (WebCore::IconDatabase::releaseIconURL): (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed (WebCore::IconDatabase::setEnabled): Added * loader/icon/IconDatabase.h: (WebCore::IconDatabase::enabled): Added * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include 2006-09-20 David Hyatt Massage mouse wheel handling so that it is more cross-platform. Make all the work happen in handleWheelEvent on the FrameView. Reviewed by bradee-oh * bridge/mac/FrameMac.mm: (WebCore::FrameMac::wheelEvent): * page/FrameView.cpp: (WebCore::FrameView::handleWheelEvent): * platform/PlatformWheelEvent.h: (WebCore::PlatformWheelEvent::platformDelta): (WebCore::PlatformWheelEvent::delta): * platform/mac/WheelEventMac.mm: (WebCore::platformDeltaForEvent): (WebCore::PlatformWheelEvent::PlatformWheelEvent): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scroll): * rendering/RenderObject.cpp: (WebCore::RenderObject::scroll): 2006-09-19 Eric Seidel Reviewed by adele. Improve test output for filters with bounding-box relative sizes. http://bugs.webkit.org/show_bug.cgi?id=8585 Many test results updated. * kcanvas/KCanvasFilters.cpp: (WebCore::KCanvasFilter::externalRepresentation): 2006-09-19 Eric Seidel Reviewed by adele. Markers should clip to their viewport. http://bugs.webkit.org/show_bug.cgi?id=5967 Test: svg/custom/marker-overflow-clip.svg * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::KCanvasMarker): (WebCore::KCanvasMarker::setMarker): (WebCore::KCanvasMarker::draw): * kcanvas/KCanvasResources.h: (WebCore::KCanvasMasker::mask): * ksvg2/svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseMappedAttribute): (WebCore::SVGMarkerElement::canvasResource): (WebCore::SVGMarkerElement::createRenderer): 2006-09-19 Justin Garcia Reviewed by eseidel Backing out my recent change. * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): 2006-09-19 Brady Eidson Reviewed by Kevin McCullough http://bugs.webkit.org/show_bug.cgi?id=10940 Opening a PDF in a new tab/window creates a documentless-frame and we deref the document without checking its validity * page/Frame.cpp: (WebCore::Frame::iconURL): 2006-09-19 Justin Garcia Reviewed by harrison Can not click into link in programmatically editable content * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): We stopped using userModify to implement document wide editability. 2006-09-19 MorganL Reviewed by Darin and landed by Brady Fixes http://bugs.webkit.org/show_bug.cgi?id=10939 Build broken when SVG is not enabled. * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): 2006-09-19 Justin Garcia Reviewed by harrison REGRESSION: Pasting plain text with tabs into Blot converts the tabs to single spaces Pasting plain text results in a match style paste, and the insertion position is whitespace normal, which clobbers the whitespace:pre on tab spans. Skip changes to the whitespace mode when computing a style change for tab spans or the text nodes inside tab spans. * editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): Don't change the whitespace mode inside tab spans. 2006-09-19 David Hyatt Fix for bug 5298, shape=default not supported for image maps. Implement support for it. Reviewed by timo * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::getRegion): * html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::mapMouseEvent): 2006-09-19 Adam Roben Reviewed by Adele. Fixes http://bugs.webkit.org/show_bug.cgi?id=10824 "no file selected" placeholder text missing from file upload control * WebCore.xcodeproj/project.pbxproj: * rendering/RenderFileUploadControl.cpp: Remove class RenderFileUploadInnerFileBox, rename defaultFilenameNumChars to defaultWidthNumChars (WebCore::RenderFileUploadControl::RenderFileUploadControl): Call RenderBlock constructor instead of RenderFlexibleBox, (WebCore::RenderFileUploadControl::setStyle): Remove references to m_fileBox. (WebCore::RenderFileUploadControl::valueChanged): Call repaint() instead of updateIconAndFileName() (which has been removed) (WebCore::RenderFileUploadControl::updateFromElement): Remove references to m_fileBox, don't call updateIconAndFilename() (WebCore::RenderFileUploadControl::maxFilenameWidth): Calculate width without using m_fileBox (WebCore::RenderFileUploadControl::createButtonStyle): Remove now-unnecessary display:box rule. (WebCore::RenderFileUploadControl::paintObject): Remove redundant call to paintingDisabled() now that Icon::paint() does it, and add code to paint the filename directly. (WebCore::RenderFileUploadControl::calcMinMaxWidth): Move this method out of RenderFileUploadInnerFileBox and into RenderFileUploadControl * rendering/RenderFileUploadControl.h: Make RenderFileUploadControl a subclass of RenderBlock instead of RenderFlexibleBox, remove updateIconAndFilename() method, remove m_fileBox instance variable. 2006-09-19 Eric Seidel Reviewed by hyatt. Exceptions thrown from
not positioned properly following a previous empty sibling that had clear:both set on it. Update self-collapsing block clearance behavior to match what is specified in the latest draft of CSS2.1. Reviewed by Eric Added fast/block/margin-collapse/empty-clear-blocks.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::handleBottomOfBlock): 2006-09-18 MorganL Reviewed by Brady, landed by Brady Send receivedResponse callback to ResourceLoaderClient when loading file URLs. See http://bugs.webkit.org/show_bug.cgi?id=10845 * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoader::fileLoadTimer): 2006-09-18 Brady Eidson Reviewed by Anders - WebKit never updates favicon The WebKit enforced expiration date for icons has worked for some time, but the move to the new Icon Loader broke the "always get the icon if the user refreshes the page" functionality. This patch fixes that up, along with some other architectural improvements, the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed. * bridge/mac/FrameMac.h: Added isLoadTypeReload() * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload: * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub * dom/Document.h: Added m_iconURL (WebCore::Document::iconURL): Added (WebCore::Document::setIconURL): Ditto * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame * page/Frame.cpp: (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload() * page/FramePrivate.h: Nuked IconURL * platform/win/TemporaryLinkStubs.cpp: (FrameWin::isLoadTypeReload): 2006-09-18 Sam Weinig Reviewed by Tim H. - Re-add private method [DOMRGBColor _color] to DOMPrivate.h as it is it turns out that AppKit uses it. * bindings/objc/DOMPrivate.h: * bindings/objc/DOMRGBColor.mm: (-[DOMRGBColor _color]): 2006-09-18 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10903 Yet Another Objective-C Bindings Patch - Whitespace cleanup for IDLParser.pm - Split DOMException, DOMRangeException, DOMXPathException, DOMEventsException and DOMAbstractView into their own files. - Remove private method [DOMRGBColor _color] from DOMPrivate.h as it is not used and a public method is available now. - Remove internal method [DOMDocument _ownerElement] from DOMInternal.h as it not used. - Auto-generate method isContentEditable for DOMNode. - General cleanup of bindings code including removing unneeded #imports and whitespace cleanup * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (addElementClass): (elementClass): (-[DOMNode _initWithNode:WebCore::]): (+[DOMNode _nodeWith:WebCore::]): (-[DOMNode WebCore::]): (-[DOMNode KJS::Bindings::]): (-[DOMNode addEventListener:::]): (-[DOMNode removeEventListener:::]): (-[DOMNode dispatchEvent:]): (-[DOMElement image]): (-[DOMElement _font]): (-[DOMElement _imageTIFFRepresentation]): (-[DOMElement _getURLAttribute:]): (-[DOMElement _NPObject]): (-[DOMElement isFocused]): (-[DOMRange dealloc]): (-[DOMRange finalize]): (-[DOMRange description]): (-[DOMRange startContainer]): (-[DOMRange startOffset]): (-[DOMRange endContainer]): (-[DOMRange endOffset]): (-[DOMRange collapsed]): (-[DOMRange commonAncestorContainer]): (-[DOMRange setStart::]): (-[DOMRange setEnd::]): (-[DOMRange setStartBefore:]): (-[DOMRange setStartAfter:]): (-[DOMRange setEndBefore:]): (-[DOMRange setEndAfter:]): (-[DOMRange collapse:]): (-[DOMRange selectNode:]): (-[DOMRange selectNodeContents:]): (-[DOMRange compareBoundaryPoints::]): (-[DOMRange deleteContents]): (-[DOMRange extractContents]): (-[DOMRange cloneContents]): (-[DOMRange insertNode:]): (-[DOMRange surroundContents:]): (-[DOMRange cloneRange]): (-[DOMRange toString]): (-[DOMRange detach]): (-[DOMRange _initWithRange:WebCore::]): (+[DOMRange _rangeWith:WebCore::]): (-[DOMRange WebCore::]): (-[DOMNodeFilter _initWithNodeFilter:WebCore::]): (+[DOMNodeFilter _nodeFilterWith:WebCore::]): (-[DOMNodeFilter WebCore::]): (-[DOMNodeFilter dealloc]): (-[DOMNodeFilter finalize]): (-[DOMNodeIterator _initWithNodeIterator:WebCore::filter:]): (-[DOMNodeIterator WebCore::]): (+[DOMNodeIterator _nodeIteratorWith:WebCore::filter:]): (-[DOMTreeWalker _initWithTreeWalker:WebCore::filter:]): (-[DOMTreeWalker WebCore::]): (+[DOMTreeWalker _treeWalkerWith:WebCore::filter:]): (ObjCNodeFilterCondition::acceptNode): (-[DOMDocument createNodeIterator::::]): (-[DOMDocument createTreeWalker::::]): (ObjCEventListener::find): (ObjCEventListener::create): (ObjCEventListener::handleEvent): * bindings/objc/DOMAbstractView.h: Added. * bindings/objc/DOMAbstractView.mm: Added. (-[DOMAbstractView document]): (-[DOMAbstractView WebCore::]): (-[DOMAbstractView _initWithAbstractView:WebCore::]): (+[DOMAbstractView _abstractViewWith:WebCore::]): * bindings/objc/DOMCSS.mm: (-[DOMStyleSheet _initWithStyleSheet:WebCore::]): (+[DOMStyleSheet _styleSheetWith:WebCore::]): (+[DOMCSSStyleSheet _CSSStyleSheetWith:WebCore::]): (-[DOMCSSRule _initWithRule:WebCore::]): (+[DOMCSSRule _CSSRuleWith:WebCore::]): (-[DOMCSSValue _initWithValue:WebCore::]): (+[DOMCSSValue _CSSValueWith:WebCore::]): (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:WebCore::]): (-[DOMDocument getComputedStyle::]): (-[DOMDocument getMatchedCSSRules::]): * bindings/objc/DOMCore.h: * bindings/objc/DOMEventException.h: Added. * bindings/objc/DOMEvents.h: * bindings/objc/DOMEvents.mm: * bindings/objc/DOMException.h: Added. * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): (viewForElement): (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): (-[DOMHTMLInputElement _selectedRange]): (-[DOMHTMLInputElement _setAutofilled:]): * bindings/objc/DOMInternal.h: * bindings/objc/DOMObject.h: * bindings/objc/DOMPrivate.h: * bindings/objc/DOMRange.h: * bindings/objc/DOMRangeException.h: Added. * bindings/objc/DOMViews.h: * bindings/objc/DOMViews.mm: Removed. * bindings/objc/DOMXPath.h: * bindings/objc/DOMXPathException.h: Added. * bindings/scripts/IDLParser.pm: * dom/Node.idl: 2006-09-18 Brady Eidson Windows build fix * platform/win/TemporaryLinkStubs.cpp: (IconDatabase::setIconURLForPageURL): 2006-09-18 David Hyatt Fix for bug 3969, hr width doesn't update when it clears a float. This was also a problem with tables and overflow sections. Reviewed by Eric Added fast/block/float/width-update-after-clear.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): 2006-09-18 Brady Eidson Reviewed by John http://bugs.webkit.org/show_bug.cgi?id=10907 REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual * bridge/win/FrameWin.h: Added originalRequestURL() * loader/icon/IconLoader.cpp: (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase() * page/Frame.cpp: (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url. (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL * page/Frame.h: Added pure virtual originalRequestURL() * platform/win/TemporaryLinkStubs.cpp: (FrameWin::originalRequestURL): Added 2006-09-18 Rob Buis Reviewed by Maciej. http://bugs.webkit.org/show_bug.cgi?id=10807 REGRESSION (r16259): Repro crash on manual-tests/svg-repaint-image.svg Make sure the paint method is not exited without popping context and transparency layer. WARNING: NO TEST CASES ADDED OR CHANGED * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): 2006-09-18 Graham Dennis Reviewed by Eric. - fix for http://bugs.webkit.org/show_bug.cgi?id=10896 REGRESSION: WebKit can't be built with SVG disabled * bindings/scripts/CodeGeneratorObjC.pm: For each file generated add a #ifdef _SUPPORT / #endif pair if the idl file has a Conditional extended attribute 2006-09-17 Eric Seidel Reviewed by ap. REGRESSION (r16245): double-clicking on javascript exceptions fails to show source http://bugs.webkit.org/show_bug.cgi?id=10813 * bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge stringWithData:textEncodingName:]): 2006-09-17 Alexey Proskuryakov Reviewed by Hyatt. http://bugs.webkit.org/show_bug.cgi?id=10779 REGRESSION: Animated GIF ignores frame intervals and loops infinitely No test possible. * platform/Image.cpp: (WebCore::Image::shouldAnimate): Don't check that there is more than one frame, maybe the rest just hasn't been loaded yet. (WebCore::Image::startAnimation): Move the frame count check here - there is no need to start animating before we get at least two frames. 2006-09-17 Brady Eidson Reviewed by Sarge IconLoader now gracefully handles the condition where there's no document in the frame (ie. PDFs) * loader/icon/IconLoader.cpp: (IconLoader::startLoading): 2006-09-17 David Hyatt Fix for bug 10899, rework how CSS keywords work to be smarter about using the correct size when generic families change (e.g., monospace to serif and vice versa). Reviewed by aroben Added fast/text/basic/generic-family-changes.html * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::checkForGenericFamilyChange): (WebCore::CSSStyleSelector::fontSizeForKeyword): * css/cssstyleselector.h: * dom/Document.cpp: (WebCore::Document::recalcStyle): * platform/FontDescription.h: (WebCore::FontDescription::FontDescription): (WebCore::FontDescription::keywordSize): (WebCore::FontDescription::setKeywordSize): (WebCore::FontDescription::operator==): 2006-09-17 Alexey Proskuryakov Reviewed by Brady. http://bugs.webkit.org/show_bug.cgi?id=10852 REGRESSION: Reproducible crash in XMLHttpRequest::abort() Test: http/tests/xmlhttprequest/xhr-onunload.html * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send): Check the return value of ResourceLoader::start(). * loader/icon/IconLoader.cpp: (IconLoader::startLoading): Fix a similar latent bug here. 2006-09-17 Adam Roben Build fix. * loader/icon/IconDatabase.cpp: 2006-09-17 Anders Carlsson Reviewed by Brady. Add simplifyWhiteSpace and stripWhiteSpace to the String class. Change the XSLT Parameter Map to use Strings instead of StringImpls. General cleanup. * bindings/js/JSXSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction): * bindings/js/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent): * bindings/js/kjs_window.cpp: (KJS::ScheduledAction::execute): * css/MediaList.cpp: (WebCore::MediaList::setMediaText): * dom/Document.cpp: (WebCore::Document::processHttpEquiv): * editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): * html/HTMLDocument.cpp: (WebCore::parseDocTypeDeclaration): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::parseMappedAttribute): * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement): (WebCore::HTMLObjectElement::parseMappedAttribute): (WebCore::HTMLObjectElement::attach): (WebCore::HTMLObjectElement::setComplete): (WebCore::HTMLObjectElement::detach): (WebCore::HTMLObjectElement::recalcStyle): (WebCore::HTMLObjectElement::childrenChanged): (WebCore::HTMLObjectElement::isImageType): * html/HTMLObjectElement.h: * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::value): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::appendFormData): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): * ksvg2/svg/SVGColor.cpp: (WebCore::SVGColor::setRGBColor): * ksvg2/svg/SVGDescElement.cpp: (WebCore::SVGDescElement::description): * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::stripWhiteSpace): (WebCore::String::simplifyWhiteSpace): * platform/StringImpl.cpp: (WebCore::isSpace): (WebCore::parseLength): (WebCore::StringImpl::stripWhiteSpace): (WebCore::StringImpl::simplifyWhiteSpace): (WebCore::StringImpl::toInt): * platform/StringImpl.h: * platform/mac/ClipboardMac.mm: (WebCore::cocoaTypeFromMIMEType): * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): * xml/XPathFunctions.cpp: (WebCore::XPath::FunNormalizeSpace::doEvaluate): * xml/XPathGrammar.y: * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeTestMatches): * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::loadChildSheets): (WebCore::XSLStyleSheet::locateStylesheetSubResource): * xml/XSLTProcessor.cpp: (WebCore::xsltParamArrayFromParameterMap): (WebCore::XSLTProcessor::setParameter): (WebCore::XSLTProcessor::getParameter): (WebCore::XSLTProcessor::removeParameter): * xml/XSLTProcessor.h: * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::getStatusText): 2006-09-17 David Hyatt Fix for bugzilla bugs 10895 and 6336, fieldsets misbehaving when floats are declared right before the fieldsets. It turns out fieldsets in other browsers avoid floats (like overflow:auto/hidden/scroll sections do), so adding that behavior to fieldset fixes the bug. Made avoidsFloats virtual and did some refactoring to make tables, flexboxes and fieldsets all subclass. Reviewed by anders Added fast/forms/float-before-fieldset.html * rendering/RenderFieldset.h: (WebCore::RenderFieldset::avoidsFloats): * rendering/RenderFlexibleBox.h: (WebCore::RenderFlexibleBox::avoidsFloats): * rendering/RenderObject.cpp: (WebCore::RenderObject::avoidsFloats): * rendering/RenderObject.h: * rendering/RenderTable.h: (WebCore::RenderTable::avoidsFloats): 2006-09-17 David Hyatt Fix for bugzilla bug 3240, implement support for the HTML4 "frame" and "rules" attributes on tables. Reviewed by bradee-oh Well-covered by existing layout tests. * html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::additionalAttributeStyleDecl): * html/HTMLTableColElement.cpp: (WebCore::HTMLTableColElement::additionalAttributeStyleDecl): * html/HTMLTableColElement.h: * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::HTMLTableElement): (WebCore::HTMLTableElement::~HTMLTableElement): (WebCore::HTMLTableElement::setCaption): (WebCore::HTMLTableElement::setTHead): (WebCore::HTMLTableElement::setTFoot): (WebCore::HTMLTableElement::setTBody): (WebCore::HTMLTableElement::createTHead): (WebCore::HTMLTableElement::deleteTHead): (WebCore::HTMLTableElement::createTFoot): (WebCore::HTMLTableElement::deleteTFoot): (WebCore::HTMLTableElement::createCaption): (WebCore::HTMLTableElement::deleteCaption): (WebCore::HTMLTableElement::insertRow): (WebCore::HTMLTableElement::deleteRow): (WebCore::HTMLTableElement::addChild): (WebCore::HTMLTableElement::childrenChanged): (WebCore::HTMLTableElement::mapToEntry): (WebCore::HTMLTableElement::parseMappedAttribute): (WebCore::HTMLTableElement::additionalAttributeStyleDecl): (WebCore::HTMLTableElement::getSharedCellDecl): (WebCore::HTMLTableElement::getSharedGroupDecl): (WebCore::HTMLTableElement::attach): * html/HTMLTableElement.h: (WebCore::HTMLTableElement::caption): (WebCore::HTMLTableElement::tHead): (WebCore::HTMLTableElement::tFoot): (WebCore::HTMLTableElement::): * html/HTMLTableRowElement.h: * html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecl): * html/HTMLTableSectionElement.h: 2006-09-17 David Hyatt Fix for bugzilla bug 4192, font size wrong for elements that specify their own new font-family list. Make sure to always reset the generic family along with the family list when mapping in new font-family values. Reviewed by bradee-oh fast/text/basic/generic-family-reset.html * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): 2006-09-16 Brady Eidson Reviewed by Hyatt Pruning code relating to WebKit's icon loader * bridge/mac/WebCoreIconDatabaseBridge.h: * bridge/mac/WebCoreIconDatabaseBridge.mm: * loader/icon/IconDatabase.h: * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to its new home 2006-09-16 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10885 Auto-generate DOMHTMLDocument for the Objective-C bindings * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]): * bindings/objc/DOMHTMLDocument.h: Removed. * bindings/objc/DOMHTMLDocument.mm: Removed. * bindings/objc/PublicDOMInterfaces.h: * bindings/scripts/CodeGeneratorObjC.pm: * html/HTMLDocument.idl: * platform/DeprecatedString.h: (WebCore::DeprecatedString::operator NSString*): 2006-09-16 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10866 Code in kcanvas/ should not use Private Remove Private classes and tweak coding style. WARNING: NO TEST CASES ADDED OR CHANGED * kcanvas/RenderPath.cpp: (WebCore::RenderPath::RenderPath): (WebCore::RenderPath::~RenderPath): (WebCore::RenderPath::localTransform): (WebCore::RenderPath::setLocalTransform): (WebCore::RenderPath::fillContains): (WebCore::RenderPath::relativeBBox): (WebCore::RenderPath::setPath): (WebCore::RenderPath::path): (WebCore::RenderPath::layout): * kcanvas/RenderPath.h: * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): (WebCore::RenderSVGContainer::~RenderSVGContainer): (WebCore::RenderSVGContainer::drawsContents): (WebCore::RenderSVGContainer::setDrawsContents): (WebCore::RenderSVGContainer::localTransform): (WebCore::RenderSVGContainer::setLocalTransform): (WebCore::RenderSVGContainer::layout): (WebCore::RenderSVGContainer::paint): (WebCore::RenderSVGContainer::setViewport): (WebCore::RenderSVGContainer::viewport): (WebCore::RenderSVGContainer::setViewBox): (WebCore::RenderSVGContainer::viewBox): (WebCore::RenderSVGContainer::setAlign): (WebCore::RenderSVGContainer::align): (WebCore::RenderSVGContainer::fillContains): (WebCore::RenderSVGContainer::strokeContains): (WebCore::RenderSVGContainer::setSlice): (WebCore::RenderSVGContainer::slice): * kcanvas/RenderSVGContainer.h: * kcanvas/device/KRenderingFillPainter.cpp: (WebCore::KRenderingFillPainter::KRenderingFillPainter): (WebCore::KRenderingFillPainter::~KRenderingFillPainter): (WebCore::KRenderingFillPainter::fillRule): (WebCore::KRenderingFillPainter::setFillRule): (WebCore::KRenderingFillPainter::opacity): (WebCore::KRenderingFillPainter::setOpacity): * kcanvas/device/KRenderingFillPainter.h: * kcanvas/device/KRenderingPaintServerGradient.cpp: (WebCore::KRenderingPaintServerGradient::KRenderingPaintServerGradient): (WebCore::KRenderingPaintServerGradient::~KRenderingPaintServerGradient): (WebCore::KRenderingPaintServerGradient::gradientStops): (WebCore::KRenderingPaintServerGradient::setGradientStops): (WebCore::KRenderingPaintServerGradient::spreadMethod): (WebCore::KRenderingPaintServerGradient::setGradientSpreadMethod): (WebCore::KRenderingPaintServerGradient::boundingBoxMode): (WebCore::KRenderingPaintServerGradient::setBoundingBoxMode): (WebCore::KRenderingPaintServerGradient::gradientTransform): (WebCore::KRenderingPaintServerGradient::setGradientTransform): (WebCore::KRenderingPaintServerLinearGradient::KRenderingPaintServerLinearGradient): (WebCore::KRenderingPaintServerLinearGradient::~KRenderingPaintServerLinearGradient): (WebCore::KRenderingPaintServerLinearGradient::gradientStart): (WebCore::KRenderingPaintServerLinearGradient::setGradientStart): (WebCore::KRenderingPaintServerLinearGradient::gradientEnd): (WebCore::KRenderingPaintServerLinearGradient::setGradientEnd): (WebCore::KRenderingPaintServerRadialGradient::KRenderingPaintServerRadialGradient): (WebCore::KRenderingPaintServerRadialGradient::~KRenderingPaintServerRadialGradient): (WebCore::KRenderingPaintServerRadialGradient::gradientCenter): (WebCore::KRenderingPaintServerRadialGradient::setGradientCenter): (WebCore::KRenderingPaintServerRadialGradient::gradientFocal): (WebCore::KRenderingPaintServerRadialGradient::setGradientFocal): (WebCore::KRenderingPaintServerRadialGradient::gradientRadius): (WebCore::KRenderingPaintServerRadialGradient::setGradientRadius): (WebCore::KRenderingPaintServerGradient::listener): (WebCore::KRenderingPaintServerGradient::setListener): * kcanvas/device/KRenderingPaintServerGradient.h: * kcanvas/device/KRenderingPaintServerPattern.cpp: (WebCore::KRenderingPaintServerPattern::KRenderingPaintServerPattern): (WebCore::KRenderingPaintServerPattern::~KRenderingPaintServerPattern): (WebCore::KRenderingPaintServerPattern::setBbox): (WebCore::KRenderingPaintServerPattern::bbox): (WebCore::KRenderingPaintServerPattern::boundingBoxMode): (WebCore::KRenderingPaintServerPattern::setBoundingBoxMode): (WebCore::KRenderingPaintServerPattern::tile): (WebCore::KRenderingPaintServerPattern::setTile): (WebCore::KRenderingPaintServerPattern::patternTransform): (WebCore::KRenderingPaintServerPattern::setPatternTransform): (WebCore::KRenderingPaintServerPattern::listener): (WebCore::KRenderingPaintServerPattern::setListener): * kcanvas/device/KRenderingPaintServerPattern.h: * kcanvas/device/KRenderingPaintServerSolid.cpp: (WebCore::KRenderingPaintServerSolid::KRenderingPaintServerSolid): (WebCore::KRenderingPaintServerSolid::~KRenderingPaintServerSolid): (WebCore::KRenderingPaintServerSolid::color): (WebCore::KRenderingPaintServerSolid::setColor): * kcanvas/device/KRenderingPaintServerSolid.h: * kcanvas/device/KRenderingStrokePainter.cpp: (WebCore::KRenderingStrokePainter::KRenderingStrokePainter): (WebCore::KRenderingStrokePainter::~KRenderingStrokePainter): (WebCore::KRenderingStrokePainter::strokeWidth): (WebCore::KRenderingStrokePainter::setStrokeWidth): (WebCore::KRenderingStrokePainter::strokeMiterLimit): (WebCore::KRenderingStrokePainter::setStrokeMiterLimit): (WebCore::KRenderingStrokePainter::strokeCapStyle): (WebCore::KRenderingStrokePainter::setStrokeCapStyle): (WebCore::KRenderingStrokePainter::strokeJoinStyle): (WebCore::KRenderingStrokePainter::setStrokeJoinStyle): (WebCore::KRenderingStrokePainter::dashOffset): (WebCore::KRenderingStrokePainter::setDashOffset): (WebCore::KRenderingStrokePainter::dashArray): (WebCore::KRenderingStrokePainter::setDashArray): (WebCore::KRenderingStrokePainter::opacity): (WebCore::KRenderingStrokePainter::setOpacity): (WebCore::KRenderingStrokePainter::dirty): (WebCore::KRenderingStrokePainter::setDirty): * kcanvas/device/KRenderingStrokePainter.h: 2006-09-16 Mark Rowe Reviewed by Anders. http://bugs.webkit.org/show_bug.cgi?id=10887 Fix build error * bindings/objc/DOMPrivate.h: Remove reference to DOMEventPrivate.h. 2006-09-16 Sam Weinig Reviewed by Anders. Fix for http://bugs.webkit.org/show_bug.cgi?id=10886 REGRESSION (r16387): Reproducible crash when mousing over HTML document - Special case method [DOMNode ownerDocument] to call document() instead or ownerDocument() to return to the old behavior. * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGeneratorObjC.pm: 2006-09-15 Brady Eidson Reviewed by Tim Hatcher - New IconDatabase needs to attempt to create its path. Otherwise new installs and new user accounts won't have any icons because the icon.db cannot be created * loader/icon/IconDatabase.cpp: Removed a now obsolete FIXME (WebCore::makeAllDirectories): Added - candidate to be in a header for "platform neutral file utilities" (WebCore::IconDatabase::open): Make sure the directory exists 2006-09-15 Timothy Hatcher Reviewed by Brady. Make new style ObjC methods public API. * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMPrivate.h: * bindings/objc/PublicDOMInterfaces.h: 2006-09-15 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10870 Auto-generate DOMNode for the Objective-C bindings * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (-[DOMNode boundingBox]): (-[DOMNode lineBoxRects]): * bindings/objc/DOMEvents.h: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMNode.h: Removed. * bindings/objc/DOMNode.mm: Removed. * bindings/objc/PublicDOMInterfaces.h: * bindings/scripts/CodeGeneratorObjC.pm: * dom/Node.idl: 2006-09-15 Timothy Hatcher Reviewed by Justin. Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController. * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge centerSelectionInVisibleArea]): (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]): (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]): (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): (-[WebCoreFrameBridge replaceMarkedTextWithText:]): (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): (-[WebCoreFrameBridge increaseSelectionListLevel]): (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]): (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]): (-[WebCoreFrameBridge decreaseSelectionListLevel]): (-[WebCoreFrameBridge insertLineBreak]): (-[WebCoreFrameBridge insertParagraphSeparator]): (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]): (-[WebCoreFrameBridge insertText:selectInsertedText:]): (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]): (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]): (createMouseEventFromDraggingInfo): * editing/SelectionController.cpp: (WebCore::SelectionController::moveTo): (WebCore::SelectionController::setSelection): (WebCore::SelectionController::modify): (WebCore::SelectionController::setBase): (WebCore::SelectionController::setExtent): * editing/SelectionController.h: * page/Frame.cpp: (WebCore::Frame::revealSelection): (WebCore::Frame::revealCaret): * page/Frame.h: 2006-09-15 Brady Eidson Reviewed by Anders Added the ability to get a mutable char* from a CString, which will copy the internal buffer if the ref count is greater than 1 so your mutable char* won't affect any other referrer of that buffer. * platform/CString.cpp: (WebCore::CString::mutableData): (WebCore::CString::copyBufferIfNeeded): * platform/CString.h: 2006-09-15 Justin Garcia Reviewed by harrison REGRESSION: selecting text to write over results in cursor jumping to middle of next line * editing/SelectionController.cpp: (WebCore::SelectionController::modify): Added lineBoundary to test fix. * editing/visible_units.cpp: (WebCore::endOfLine): If the last box on the line is a lineBreak, return the position before it, not after it. 2006-09-15 Krzysztof Kowalczyk Reviewed by Adam. http://bugs.webkit.org/show_bug.cgi?id=10864 Bug 10864: Linux\GDK build fixes * Projects/gdk/webcore-gdk.bkl: * WebCoreSources.bkl: * platform/gdk/FontCacheGdk.cpp: * platform/gdk/FontDataGdk.cpp: (WebCore::FontData::platformInit): * platform/gdk/FontGdk.cpp: (WebCore::Font::drawGlyphs): * platform/gdk/FrameGdk.cpp: (WebCore::FrameGdk::handleGdkEvent): * platform/gdk/FrameGdk.h: * platform/gdk/ImageGdk.cpp: Added. (WebCore::Image::initPlatformData): (WebCore::Image::invalidatePlatformData): (WebCore::Image::loadPlatformResource): (WebCore::Image::supportsType): * platform/gdk/RenderPopupMenuGdk.cpp: (WebCore::RenderPopupMenuGdk::hidePopup): * platform/gdk/RenderPopupMenuGdk.h: * platform/gdk/ScreenGdk.cpp: (WebCore::drawableForPage): (WebCore::screenRect): (WebCore::screenDepth): (WebCore::usableScreenRect): (WebCore::scaleFactor): * platform/gdk/SystemTimeLinux.cpp: (WebCore::currentTime): * platform/gdk/TemporaryLinkStubs.cpp: (FrameGdk::bindingRootObject): (FrameGdk::markMisspellings): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::fileButtonChooseFileLabel): (WebCore::fileButtonNoFileSelectedLabel): (FrameGdk::shouldChangeSelection): (FrameGdk::respondToChangedSelection): (FrameGdk::respondToChangedContents): (Path::contains): (PlatformScrollBar::PlatformScrollBar): (PlatformScrollBar::~PlatformScrollBar): (PlatformScrollBar::width): (PlatformScrollBar::height): (PlatformScrollBar::setEnabled): (PlatformScrollBar::paint): (PlatformScrollBar::setScrollBarValue): (PlatformScrollBar::setKnobProportion): (PlatformScrollBar::setRect): (ScrollBar::ScrollBar): (FileChooser::FileChooser): (FileChooser::~FileChooser): (FileChooser::openFileChooser): (FileChooser::basenameForWidth): (FileChooser::uploadControlDetaching): (FileChooser::chooseFile): (Icon::Icon): (Icon::~Icon): (Icon::newIconForFile): (Icon::paint): (IconLoader::stopLoading): (IconLoader::startLoading): (IconLoader::createForFrame): (IconDatabase::isIconExpiredForIconURL): (IconDatabase::hasEntryForIconURL): (IconDatabase::sharedIconDatabase): * platform/gdk/WidgetGdk.cpp: * webcore-base.bkl: 2006-09-15 Nikolas Zimmermann Reviewed by Eric. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10835 Fix svg memory leaks. Reworked SVGList to deal with RefPtr's for ptr types which makes manual refcounting unnecessary, and is much safer. Removing all virtual functions (nullItem) from SVGList, and also remove SVGListBase. Switch to a similar concept like Vector/VectorTraits (see new file SVGListTraits.h). Credits go to Eric/Maciej for the inspiration. * CMakeLists.txt: Add SVGListTraits.cpp to build * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/scripts/CodeGeneratorJS.pm: Generator changes for SVGTransform/PathSeg/LengthList (now RefPtr based) * kcanvas/RenderSVGText.cpp: Add some get() methods, as SVGLengthList is RefPtr based now. (WebCore::RenderSVGText::translationForAttributes): * ksvg2/svg/SVGAnimateTransformElement.cpp: Add some get() methods, as SVGTransformList is RefPtr based now. (WebCore::SVGAnimateTransformElement::handleTimerEvent): * ksvg2/svg/SVGElementInstanceList.cpp: Be RefPtr based. (WebCore::SVGElementInstanceList::SVGElementInstanceList): * ksvg2/svg/SVGElementInstanceList.h: * ksvg2/svg/SVGLengthList.cpp: Ditto. (WebCore::SVGLengthList::SVGLengthList): * ksvg2/svg/SVGLengthList.h: Ditto. * ksvg2/svg/SVGList.h: Rewrote, as described above. (WebCore::SVGListTypeOperations::nullItem): (WebCore::SVGList::SVGList): (WebCore::SVGList::~SVGList): (WebCore::SVGList::clear): (WebCore::SVGList::getFirst): (WebCore::SVGList::getLast): (WebCore::SVGList::getItem): (WebCore::SVGList::replaceItem): (WebCore::SVGList::removeItem): * ksvg2/svg/SVGListTraits.cpp: Added. * ksvg2/svg/SVGListTraits.h: Added. (WebCore::): * ksvg2/svg/SVGPathElement.cpp: Add some get() methods, as SVGPathSegList is RefPtr based now. (WebCore::SVGPathElement::toPathData): * ksvg2/svg/SVGPathSegList.cpp: Be RefPtr based. (WebCore::SVGPathSegList::SVGPathSegList): * ksvg2/svg/SVGPathSegList.h: Ditto. * ksvg2/svg/SVGTransform.cpp: Style cleanup. (SVGTransform::SVGTransform): * ksvg2/svg/SVGTransformList.cpp: Be RefPtr based. (SVGTransformList::SVGTransformList): (SVGTransformList::createSVGTransformFromMatrix): (SVGTransformList::consolidate): * ksvg2/svg/SVGTransformList.h: Ditto. * ksvg2/svg/SVGTransformable.cpp: Fix RefPtr usage of SVGTransform. (SVGTransformable::parseTransformAttribute): 2006-09-15 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Fix build on Qt/Linux and implement Frame::addMessageToConsole to be able to see javascript errors for instance. * CMakeLists.txt: * platform/qt/FrameQt.h: * platform/qt/FrameQt.cpp: Implement addMessageToConsole. (WebCore::FrameQt::bindingRootObject): * platform/qt/TemporaryLinkStubs.cp (WebCore::IconDatabase::hasEntryForIconURL): (WebCore::IconDatabase::sharedIconDatabase): 2006-09-15 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10869 Auto-generate the internal methods for the Objective-C bindings - Auto-generates the internal method (ie. the _fooBar and _fooBarWith methods) implementations where standard. For cases where a custom implementation was needed, added a [ObjCNoInternal] extended attribute to the corresponding IDL. - Some general cleanup of some of the non-generated bindings, to bring them in- line with what the generated bindings look like. * bindings/objc/DOM.mm: (-[DOMNode description]): * bindings/objc/DOMCSS.mm: (-[DOMCSSPrimitiveValue WebCore::]): (-[DOMDocument getComputedStyle::]): (-[DOMDocument getMatchedCSSRules::]): * bindings/objc/DOMEvents.mm: (-[DOMEvent WebCore::]): * bindings/objc/DOMHTML.mm: * bindings/objc/DOMHTMLDocument.mm: (-[DOMHTMLDocument title]): (-[DOMHTMLDocument setTitle:]): (-[DOMHTMLDocument referrer]): (-[DOMHTMLDocument domain]): (-[DOMHTMLDocument URL]): (-[DOMHTMLDocument body]): (-[DOMHTMLDocument setBody:]): (-[DOMHTMLDocument images]): (-[DOMHTMLDocument applets]): (-[DOMHTMLDocument links]): (-[DOMHTMLDocument forms]): (-[DOMHTMLDocument anchors]): (-[DOMHTMLDocument cookie]): (-[DOMHTMLDocument setCookie:]): (-[DOMHTMLDocument open]): (-[DOMHTMLDocument close]): (-[DOMHTMLDocument write:]): (-[DOMHTMLDocument writeln:]): (-[DOMHTMLDocument getElementById:]): (-[DOMHTMLDocument getElementsByName:]): (-[DOMHTMLDocument WebCore::]): (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]): * bindings/objc/DOMHTMLOptionElement.mm: (-[DOMHTMLOptionElement form]): (-[DOMHTMLOptionElement defaultSelected]): (-[DOMHTMLOptionElement setDefaultSelected:]): (-[DOMHTMLOptionElement text]): (-[DOMHTMLOptionElement index]): (-[DOMHTMLOptionElement disabled]): (-[DOMHTMLOptionElement setDisabled:]): (-[DOMHTMLOptionElement label]): (-[DOMHTMLOptionElement setLabel:]): (-[DOMHTMLOptionElement selected]): (-[DOMHTMLOptionElement setSelected:]): (-[DOMHTMLOptionElement value]): (-[DOMHTMLOptionElement setValue:]): (-[DOMHTMLOptionElement WebCore::]): (+[DOMHTMLOptionElement _HTMLOptionElementWith:WebCore::]): * bindings/objc/DOMInternal.h: * bindings/objc/DOMNode.mm: (-[DOMNode dealloc]): (-[DOMNode finalize]): (-[DOMNode nodeName]): (-[DOMNode nodeValue]): (-[DOMNode setNodeValue:]): (-[DOMNode nodeType]): (-[DOMNode parentNode]): (-[DOMNode childNodes]): (-[DOMNode firstChild]): (-[DOMNode lastChild]): (-[DOMNode previousSibling]): (-[DOMNode nextSibling]): (-[DOMNode attributes]): (-[DOMNode ownerDocument]): (-[DOMNode insertBefore::]): (-[DOMNode replaceChild::]): (-[DOMNode removeChild:]): (-[DOMNode appendChild:]): (-[DOMNode hasChildNodes]): (-[DOMNode cloneNode:]): (-[DOMNode normalize]): (-[DOMNode isSupported::]): (-[DOMNode namespaceURI]): (-[DOMNode prefix]): (-[DOMNode setPrefix:]): (-[DOMNode localName]): (-[DOMNode hasAttributes]): (-[DOMNode isSameNode:]): (-[DOMNode isEqualNode:]): (-[DOMNode isDefaultNamespace:]): (-[DOMNode lookupPrefix:]): (-[DOMNode lookupNamespaceURI:]): (-[DOMNode textContent]): (-[DOMNode setTextContent:]): (-[DOMNode boundingBox]): (-[DOMNode lineBoxRects]): * bindings/objc/DOMObject.mm: (-[DOMObject _init]): * bindings/objc/DOMXPath.mm: (-[DOMNativeXPathNSResolver dealloc]): (-[DOMNativeXPathNSResolver finalize]): (-[DOMNativeXPathNSResolver WebCore::]): (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]): (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]): (-[DOMNativeXPathNSResolver lookupNamespaceURI:]): * bindings/scripts/CodeGeneratorObjC.pm: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): * css/CSSCharsetRule.idl: * css/CSSFontFaceRule.idl: * css/CSSImportRule.idl: * css/CSSMediaRule.idl: * css/CSSPageRule.idl: * css/CSSPrimitiveValue.idl: * css/CSSRule.idl: * css/CSSStyleRule.idl: * css/CSSStyleSheet.idl: * css/CSSUnknownRule.idl: * css/CSSValue.idl: * css/CSSValueList.idl: * css/StyleSheet.idl: * dom/Event.idl: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/MutationEvent.idl: * dom/NodeIterator.idl: * dom/OverflowEvent.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: 2006-09-15 Adam Roben Reviewed by timothy. Fixes http://bugs.webkit.org/show_bug.cgi?id=10865 New file upload control should match the width of the old one Make width of new file upload control match the old one as closely as possible. * rendering/RenderFileUploadControl.cpp: 2006-09-15 Timothy Hatcher Reviewed by Eric. Remove the SVG IDL files from the Copy Resources phase. * WebCore.xcodeproj/project.pbxproj: 2006-09-15 Brady Eidson Reviewed by Eric Siedel Dumped the use of CGColorRef and directly use the floating point data from WebCore::Color This fixes the performance regression found between 16285 and 16286 * platform/mac/FontMac.mm: (WebCore::Font::drawComplexText): (WebCore::Font::drawGlyphs): 2006-09-14 Mark Rowe Reviewed by Adam. http://bugs.webkit.org/show_bug.cgi?id=10838 Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate FrameMac relies on its cleanupPluginObjects being called to perform cleanup. The virtual Frame::cleanupPluginObjects method is called from Frame's destructor, which results in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects will be called from Frame::clear * page/Frame.cpp: (WebCore::Frame::~Frame): Use cancelAndClear. (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that FrameMac can use. * page/Frame.h: 2006-09-14 Brady Eidson Reviewed by Maciej's rubber stamp Exact same fix I just made, but in the other method I horked up Also added a reference to the bugzilla in comments * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): (WebCore::Frame::stop): 2006-09-14 Brady Eidson Reviewed by Maciej Fixed a bad iFrame crash, resolving some of the layout test badness * page/Frame.cpp: (WebCore::Frame::endIfNotLoading): - Added a RefPtr to protect the frame itself to prevent its destruction during this method 2006-09-14 Justin Garcia Reviewed by harrison Up/Down arrows skip over To Do * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge canDeleteRange:]): Added a FIXME. * dom/Node.cpp: Removed the unused inSameRootEditableElement. * dom/Node.h: * editing/SelectionController.cpp: (WebCore::SelectionController::modify): Added documentboundary to granularities in order test a fix. * editing/visible_units.cpp: (WebCore::previousLinePosition): Use highestEditableRoot so that this function can move from editable content into editable content that's embedded in non-editable content. (WebCore::nextLinePosition): Ditto. (WebCore::startOfEditableContent): Renamed from startOfEditableRoot and use highestEditableRoot. This is the behavior that callers desire. This fixes Command + Up/Down. (WebCore::endOfEditableContent): Ditto. * editing/visible_units.h: 2006-09-14 Karthik Kumar Reviewed by timothy. Landed by aroben. Fixes http://bugs.webkit.org/show_bug.cgi?id=10856 Windows build fixes after r16360 * WebCore.vcproj/WebCore/WebCore.vcproj: Add loader\icon to AdditionalIncludeDirectories * platform/win/TemporaryLinkStubs.cpp: Add link stubs for IconLoader, IconDatabase (IconLoader::stopLoading): (IconLoader::startLoading): (IconLoader::createForFrame): (IconDatabase::isIconExpiredForIconURL): (IconDatabase::hasEntryForIconURL): (IconDatabase::sharedIconDatabase): 2006-09-14 Brady Eidson Part of a build fix for Windows - rest will be working out a mess of temporary link stubs * loader/icon/IconLoader.cpp: (IconLoader::receivedAllData): * page/Frame.cpp: * page/FramePrivate.h: 2006-09-14 Graham Dennis Reviewed by Justin Garcia. - http://bugs.webkit.org/show_bug.cgi?id=10726 Crash in ApplyStyleCommand::applyRelativeFontStyleChange * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Prevent a crash by makeing sure that the 'beyondEnd' node is after the start node. 2006-09-14 MorganL Reviewed by Brady. Fixes http://bugs.webkit.org/show_bug.cgi?id=10845 Various bugs/crashes in ResourceLoaderWin with local files. * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): (WebCore::ResourceLoader::fileLoadTimer): 2006-09-13 Brady Eidson Reviewed by Maciej Icon loads now take place in WebCore * WebCore.xcodeproj/project.pbxproj: * bridge/BrowserExtension.h: * bridge/mac/BrowserExtensionMac.h: * bridge/mac/BrowserExtensionMac.mm: - Moved enforcement of a Mozilla Favicon extension elsewhere * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::originalRequestURL): - Added accessor to "original request URL" * bridge/mac/WebCoreFrameBridge.h: - Removed methods to set the iconURL as all loading is now done in WebCore - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): - Moved enforcement of a Mozilla Favicon extension elsewhere * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::setIconURLForPageURL): - Changed an ASSERT to correctly handle a sketchy (invalid) situation * loader/icon/IconLoader.h: Added. * loader/icon/IconLoader.cpp: Added. (IconLoader::IconLoader): (IconLoader::createForFrame): - Static factory method with a private constructor to enforce "you MUST have a Frame to create an IconLoader" semantics (IconLoader::~IconLoader): (IconLoader::startLoading): (IconLoader::stopLoading): (IconLoader::receivedData): - ResourceLoaderClient delegate (IconLoader::receivedAllData): - Ditto * loader/mac/IconLoaderMac.mm: Added. (IconLoader::receivedResponse): (IconLoader::notifyIconChanged): - For now, these are platform specific methods - One to get the HTTP response code of an icon load - The other to call through to the app when the icon has changed (loaded) * page/Frame.h: * page/Frame.cpp: (WebCore::Frame::iconURL): (WebCore::Frame::setIconURL): - Frame objects now have an inherent icon URL and a way to calculate/access it (WebCore::Frame::endIfNotLoading): - This is where we actually kick off the IconLoader (WebCore::Frame::stop): - Added call to stop loading the icon * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): (WebCore::FramePrivate::~FramePrivate): - Added the icon URL as a private member - Added the IconLoader as a private member, and clean it up on deletion * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Added a valuable ASSERT 2006-09-13 David Hyatt Fix for 10841, unable to check checkboxes inside labels. Reviewed by xenon, bradee-oh * css/html4.css: * dom/Element.cpp: (WebCore::Element::contains): * dom/Element.h: * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler): 2006-09-13 Mark Rowe Reviewed by Adam. http://bugs.webkit.org/show_bug.cgi?id=10834 Bug 10834: FileChooser constructor in FileChooserMac appears to overretain m_controller * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::FileChooser): Don't over-retain the OpenPanelController. 2006-09-13 Mark Rowe Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10836 Bug 10836: REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef * platform/mac/FontMac.mm: (WebCore::Font::drawComplexText): Release CGColorRef after use. (WebCore::Font::drawGlyphs): Ditto. 2006-09-14 Anders Carlsson Try fixing the Win32 build. * bridge/win/FrameWin.h: * platform/win/TemporaryLinkStubs.cpp: (FrameWin::bindingRootObject): 2006-09-14 Anders Carlsson Reviewed by Tim O. Add USE defines for the generic JavaScriptCore bindings as well as NPAPI bindings. * bindings/js/kjs_binding.cpp: (KJS::ScriptInterpreter::createLanguageInstanceForValue): * bindings/js/kjs_dom.cpp: (KJS::getRuntimeObject): * bridge/mac/FrameMac.h: * config.h: * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::~HTMLAppletElement): (WebCore::HTMLAppletElement::detach): * html/HTMLAppletElement.h: * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::~HTMLEmbedElement): (WebCore::HTMLEmbedElement::detach): * html/HTMLEmbedElement.h: * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::~HTMLObjectElement): (WebCore::HTMLObjectElement::detach): * html/HTMLObjectElement.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::HTMLPlugInElement): (WebCore::HTMLPlugInElement::~HTMLPlugInElement): (WebCore::HTMLPlugInElement::createNPObject): * html/HTMLPlugInElement.h: * page/Frame.h: 2006-09-13 David Hyatt Clean up the XBL and XSLT ifdefs to be consistent with the SVG and XPath ifdefs. KHTML_NO_XBL is flipped and is now XBL_SUPPORT. KHTML_XSLT is now XSLT_SUPPORT. * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSXSLTProcessor.cpp: * bindings/js/JSXSLTProcessor.h: * bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty): * config.h: * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/cssparser.cpp: (WebCore::CSSParser::parseValue): * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): (WebCore::Document::recalcStyleSelector): * dom/Document.h: (WebCore::Document::bindingManager): * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::ProcessingInstruction): (WebCore::ProcessingInstruction::checkStyleSheet): (WebCore::ProcessingInstruction::setStyleSheet): * dom/ProcessingInstruction.h: * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::processingInstruction): (WebCore::XMLTokenizer::insertErrorMessageBlock): * dom/XMLTokenizer.h: * loader/Cache.cpp: (WebCore::Cache::getStatistics): * loader/Cache.h: * loader/CachedResource.h: (WebCore::CachedResource::): * loader/CachedResourceClient.h: * loader/CachedXBLDocument.cpp: * loader/CachedXBLDocument.h: * loader/CachedXSLStyleSheet.cpp: * loader/CachedXSLStyleSheet.h: * loader/DocLoader.cpp: * loader/DocLoader.h: * rendering/RenderStyle.cpp: (WebCore::StyleCSS3NonInheritedData::StyleCSS3NonInheritedData): (WebCore::StyleCSS3NonInheritedData::~StyleCSS3NonInheritedData): (WebCore::StyleCSS3NonInheritedData::operator==): * rendering/RenderStyle.h: * xml/XSLImportRule.cpp: * xml/XSLImportRule.h: * xml/XSLStyleSheet.cpp: * xml/XSLStyleSheet.h: * xml/XSLTProcessor.cpp: * xml/XSLTProcessor.h: 2006-09-13 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Fix newly introduced memory leaks in SVG. http://bugs.webkit.org/show_bug.cgi?id=10835 * ksvg2/svg/SVGList.h: (WebCore::SVGListBase::~SVGListBase): (WebCore::SVGListBase::clearVector): (WebCore::SVGListBase::clear): (WebCore::SVGList::clearVector): (WebCore::): * ksvg2/svg/SVGNumberList.cpp: s/float/double/ - forgot that! (SVGNumberList::SVGNumberList): * ksvg2/svg/SVGNumberList.h: Ditto. 2006-09-13 MorganL Reviewed/landed by aroben. Fixes http://bugs.webkit.org/show_bug.cgi?id=10833 Windows build needs fixed after move to engine-rendered file upload widget * WebCore.vcproj/WebCore/WebCore.vcproj: Add RenderFileUpload files, remove RenderFileButton files * platform/win/TemporaryLinkStubs.cpp: Add stubs for FileChooser, Icon (FileChooser::FileChooser): (FileChooser::~FileChooser): (FileChooser::openFileChooser): (FileChooser::basenameForWidth): (FileChooser::uploadControlDetaching): (FileChooser::chooseFile): (WebCore::fileButtonChooseFileLabel): (WebCore::fileButtonNoFileSelectedLabel): (Icon::Icon): (Icon::~Icon): (Icon::newIconForFile): (Icon::paint): 2006-09-13 MorganL Reviewed/landed by aroben. Fixes http://bugs.webkit.org/attachment.cgi?id=10537 Webkit WebCore build fails on Windows * WebCore.vcproj/WebCore/build-generated-files.sh: export SOURCE_ROOT variable 2006-09-13 Nikolas Zimmermann Reviewed by Tim H. Fix Qt/Linux build. * CMakeLists.txt: Change SVGZoomEvent.idl location & add RenderFileUploadControl * platform/Icon.h: Add wtf/Platform.h include * platform/qt/FileChooserQt.cpp: Added as stub. Easy to implement though. (WebCore::FileChooser::FileChooser): (WebCore::FileChooser::~FileChooser): (WebCore::FileChooser::openFileChooser): (WebCore::FileChooser::basenameForWidth): (WebCore::FileChooser::uploadControlDetaching): (WebCore::FileChooser::chooseFile): * platform/qt/IconQt.cpp: Added as stub. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::newIconForFile): (WebCore::Icon::paint): * platform/qt/TemporaryLinkStubs.cpp: Remove old RenderFileButton code & some new *Labels needed (searchableIndexIntroduction): (fileButtonChooseFileLabel): (fileButtonNoFileSelectedLabel): 2006-09-12 Adam Roben Reviewed by eseidel. Switch back to passing relative paths to generate-bindings.pl when generating JS bindings. * DerivedSources.make: Pass in relative paths to generate-bindings.pl * bindings/scripts/CodeGenerator.pm: Make ScanDirectory never call chdir and always construct absolute paths instead. 2006-09-12 David Hyatt Fix for bug 3244, implement html4 label support. Reviewed by mjs, aroben Added fast/events/label-focus.html * css/html4.css: * html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::formElement): (WebCore::HTMLLabelElement::setActive): (WebCore::HTMLLabelElement::setHovered): (WebCore::HTMLLabelElement::defaultEventHandler): * html/HTMLLabelElement.h: 2006-09-12 Julien Palmas Reviewed by darin. Landed by eseidel. * ksvg2/svg/svgpathparser.cpp: (WebCore::SVGPolyParser::parsePoints): 2006-09-11 Kevin McCullough Reviewed by Andersca, Maciej, Brady. - Implemented intersectsNode in the Range Class to be compliant with Mozilla standard * dom/Range.cpp: (WebCore::Range::intersectsNode): * dom/Range.h: * dom/Range.idl: 2006-09-12 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Test: svg/W3C-SVG-1.1/struct-dom-01-b.svg (fixed) Fixes: http://bugs.webkit.org/show_bug.cgi?id=10826 Also finally fixes some long outstanding bugs: Fixes: http://bugs.webkit.org/show_bug.cgi?id=9190 Fixes: http://bugs.webkit.org/show_bug.cgi?id=9229 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10413 Enable all JavaScript SVG bindings. Builds on Qt/Linux & OSX. * CMakeLists.txt: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: * ksvg2/svg/SVGAElement.idl: Added. * ksvg2/svg/SVGAngle.idl: * ksvg2/svg/SVGAnimateColorElement.idl: Added. * ksvg2/svg/SVGAnimateElement.idl: Added. * ksvg2/svg/SVGAnimateTransformElement.idl: Added. * ksvg2/svg/SVGAnimatedLengthList.idl: Added. * ksvg2/svg/SVGAnimatedNumberList.idl: Added. * ksvg2/svg/SVGAnimatedTransformList.idl: Added. * ksvg2/svg/SVGAnimationElement.idl: Added. * ksvg2/svg/SVGCircleElement.idl: Added. * ksvg2/svg/SVGClipPathElement.idl: Added. * ksvg2/svg/SVGColor.idl: * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Added. * ksvg2/svg/SVGCursorElement.idl: Added. * ksvg2/svg/SVGDefsElement.idl: Added. * ksvg2/svg/SVGDescElement.idl: Added. * ksvg2/svg/SVGEllipseElement.idl: Added. * ksvg2/svg/SVGEvent.idl: * ksvg2/svg/SVGExternalResourcesRequired.idl: Added. * ksvg2/svg/SVGFEBlendElement.idl: Added. * ksvg2/svg/SVGFEColorMatrixElement.idl: Added. * ksvg2/svg/SVGFEComponentTransferElement.idl: Added. * ksvg2/svg/SVGFECompositeElement.idl: Added. * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Added. * ksvg2/svg/SVGFEDisplacementMapElement.idl: Added. * ksvg2/svg/SVGFEDistantLightElement.idl: Added. * ksvg2/svg/SVGFEFloodElement.idl: Added. * ksvg2/svg/SVGFEFuncAElement.idl: Added. * ksvg2/svg/SVGFEFuncBElement.idl: Added. * ksvg2/svg/SVGFEFuncGElement.idl: Added. * ksvg2/svg/SVGFEFuncRElement.idl: Added. * ksvg2/svg/SVGFEGaussianBlurElement.idl: Added. * ksvg2/svg/SVGFEImageElement.idl: Added. * ksvg2/svg/SVGFEMergeElement.idl: Added. * ksvg2/svg/SVGFEMergeNodeElement.idl: Added. * ksvg2/svg/SVGFEOffsetElement.idl: Added. * ksvg2/svg/SVGFEPointLightElement.idl: Added. * ksvg2/svg/SVGFESpecularLightingElement.idl: Added. * ksvg2/svg/SVGFESpotLightElement.idl: Added. * ksvg2/svg/SVGFETileElement.idl: Added. * ksvg2/svg/SVGFETurbulenceElement.idl: Added. * ksvg2/svg/SVGFilterElement.idl: Added. * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Added. * ksvg2/svg/SVGFitToViewBox.idl: Added. * ksvg2/svg/SVGForeignObjectElement.idl: Added. * ksvg2/svg/SVGGElement.idl: Added. * ksvg2/svg/SVGGradientElement.idl: Added. * ksvg2/svg/SVGImageElement.idl: Added. * ksvg2/svg/SVGLangSpace.idl: Added. * ksvg2/svg/SVGLength.idl: * ksvg2/svg/SVGLengthList.idl: Added. * ksvg2/svg/SVGLineElement.idl: Added. * ksvg2/svg/SVGLinearGradientElement.idl: Added. * ksvg2/svg/SVGLocatable.idl: Added. * ksvg2/svg/SVGMarkerElement.idl: Added. * ksvg2/svg/SVGMaskElement.idl: Added. * ksvg2/svg/SVGNumberList.idl: Added. * ksvg2/svg/SVGPaint.idl: Added. * ksvg2/svg/SVGPathElement.idl: * ksvg2/svg/SVGPathSeg.idl: * ksvg2/svg/SVGPatternElement.idl: Added. * ksvg2/svg/SVGPointList.idl: Added. * ksvg2/svg/SVGPolygonElement.idl: Added. * ksvg2/svg/SVGPolylineElement.idl: Added. * ksvg2/svg/SVGPreserveAspectRatio.idl: * ksvg2/svg/SVGRadialGradientElement.idl: Added. * ksvg2/svg/SVGRectElement.idl: Added. * ksvg2/svg/SVGRenderingIntent.idl: Added. * ksvg2/svg/SVGSVGElement.idl: * ksvg2/svg/SVGScriptElement.idl: Added. * ksvg2/svg/SVGSetElement.idl: Added. * ksvg2/svg/SVGStopElement.idl: Added. * ksvg2/svg/SVGStringList.idl: Added. * ksvg2/svg/SVGStylable.idl: Added. * ksvg2/svg/SVGStyleElement.idl: Added. * ksvg2/svg/SVGSwitchElement.idl: Added. * ksvg2/svg/SVGSymbolElement.idl: Added. * ksvg2/svg/SVGTRefElement.idl: Added. * ksvg2/svg/SVGTSpanElement.idl: Added. * ksvg2/svg/SVGTests.idl: Added. * ksvg2/svg/SVGTextContentElement.idl: Added. * ksvg2/svg/SVGTextElement.idl: Added. * ksvg2/svg/SVGTextPositioningElement.idl: Added. * ksvg2/svg/SVGTitleElement.idl: Added. * ksvg2/svg/SVGTransform.idl: * ksvg2/svg/SVGTransformList.idl: Added. * ksvg2/svg/SVGTransformable.idl: Added. * ksvg2/svg/SVGURIReference.idl: Added. * ksvg2/svg/SVGUnitTypes.idl: Added. * ksvg2/svg/SVGUseElement.idl: Added. * ksvg2/svg/SVGViewElement.idl: Added. * ksvg2/svg/SVGZoomAndPan.idl: Added. * ksvg2/svg/SVGZoomEvent.idl: Added. 2006-09-12 Adam Roben Reviewed by timo, ggaren. Make Icon ref-counted. * platform/FileChooser.h: Store m_icon as a RefPtr instead of auto_ptr. * platform/Icon.h: Inherit from Shared * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::chooseFile): Update m_icon usage * platform/mac/IconMac.mm: (WebCore::Icon::newIconForFile): Return a RefPtr instead of an auto_ptr === Safari-521.26 === 2006-09-12 Nikolas Zimmermann Reviewed by Anders. Add exception codes to SVGList functions, adjust all code using it. Move SVGPaintType enums from ksvg.h into SVGPaint (needed for js generation) Move SVGUnitTypes enums from ksvg.h into it's own file SVGUnitType.h (ditto) Move SVGRenderingIntent enums from ksvg.h into it's own file SVGRenderingIntent.h (ditto) Move SVGZoomAndPan enums from ksvg.h into SVGSVGElement (ditto) Move SVGFE* related enums into their respecitive classes. Fix JSSVGNumber to operator on doubles, instead of floats. * ksvg2/bindings/js/JSSVGNumber.cpp: (WebCore::getJSSVGNumber): * ksvg2/bindings/js/JSSVGNumber.h: (WebCore::JSSVGNumber::JSSVGNumber): * ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parseSVGPaint): * ksvg2/css/SVGRenderStyleDefs.cpp: (StyleFillData::operator==): * ksvg2/ksvg.h: * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::isFilled): (WebCore::KSVGPainterFactory::fillPaintServer): (WebCore::KSVGPainterFactory::isStroked): (WebCore::KSVGPainterFactory::strokePaintServer): * ksvg2/misc/KSVGTimeScheduler.cpp: (WebCore::SVGTimer::notifyAll): * ksvg2/svg/SVGAnimateColorElement.cpp: (WebCore::SVGAnimateColorElement::handleTimerEvent): * ksvg2/svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement): (WebCore::SVGAnimateTransformElement::parseMappedAttribute): (WebCore::SVGAnimateTransformElement::handleTimerEvent): (WebCore::SVGAnimateTransformElement::parseTransformValue): * ksvg2/svg/SVGAnimateTransformElement.h: * ksvg2/svg/SVGAnimatedTemplate.h: * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::getSimpleDuration): (SVGAnimationElement::parseMappedAttribute): (SVGAnimationElement::setTargetAttribute): * ksvg2/svg/SVGAnimationElement.h: * ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::SVGClipPathElement): (SVGClipPathElement::parseMappedAttribute): (SVGClipPathElement::canvasResource): * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::transferFunction): * ksvg2/svg/SVGComponentTransferFunctionElement.h: (WebCore::SVGComponentTransferFunctionElement::): * ksvg2/svg/SVGDocument.cpp: (WebCore::SVGDocument::dispatchZoomEvent): (WebCore::SVGDocument::dispatchScrollEvent): * ksvg2/svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::parseMappedAttribute): (WebCore::SVGFEBlendElement::filterEffect): * ksvg2/svg/SVGFEBlendElement.h: (WebCore::SVGFEBlendElement::): * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::parseMappedAttribute): (SVGFEColorMatrixElement::filterEffect): * ksvg2/svg/SVGFEColorMatrixElement.h: (WebCore::SVGFEColorMatrixElement::): * ksvg2/svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::parseMappedAttribute): (WebCore::SVGFEComponentTransferElement::filterEffect): * ksvg2/svg/SVGFEComponentTransferElement.h: * ksvg2/svg/SVGFECompositeElement.cpp: (SVGFECompositeElement::parseMappedAttribute): (SVGFECompositeElement::filterEffect): * ksvg2/svg/SVGFECompositeElement.h: (WebCore::SVGFECompositeElement::): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): (WebCore::SVGFEDiffuseLightingElement::filterEffect): * ksvg2/svg/SVGFEDiffuseLightingElement.h: * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::parseMappedAttribute): (SVGFEDisplacementMapElement::filterEffect): * ksvg2/svg/SVGFEDisplacementMapElement.h: (WebCore::SVGFEDisplacementMapElement::): * ksvg2/svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::parseMappedAttribute): (WebCore::SVGFEFloodElement::filterEffect): * ksvg2/svg/SVGFEFloodElement.h: * ksvg2/svg/SVGFEGaussianBlurElement.cpp: (SVGFEGaussianBlurElement::parseMappedAttribute): (SVGFEGaussianBlurElement::filterEffect): * ksvg2/svg/SVGFEGaussianBlurElement.h: * ksvg2/svg/SVGFEMergeElement.cpp: (SVGFEMergeElement::filterEffect): * ksvg2/svg/SVGFEMergeNodeElement.cpp: (SVGFEMergeNodeElement::parseMappedAttribute): * ksvg2/svg/SVGFEMergeNodeElement.h: * ksvg2/svg/SVGFEOffsetElement.cpp: (SVGFEOffsetElement::parseMappedAttribute): (SVGFEOffsetElement::filterEffect): * ksvg2/svg/SVGFEOffsetElement.h: * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::parseMappedAttribute): (SVGFESpecularLightingElement::filterEffect): * ksvg2/svg/SVGFESpecularLightingElement.h: * ksvg2/svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::parseMappedAttribute): (WebCore::SVGFETileElement::filterEffect): * ksvg2/svg/SVGFETileElement.h: * ksvg2/svg/SVGFETurbulenceElement.h: (WebCore::SVGFETurbulenceElement::): * ksvg2/svg/SVGFilterElement.cpp: (SVGFilterElement::SVGFilterElement): (SVGFilterElement::parseMappedAttribute): (SVGFilterElement::canvasResource): * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: (SVGFilterPrimitiveStandardAttributes::setStandardAttributes): * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::SVGGradientElement): (SVGGradientElement::parseMappedAttribute): * ksvg2/svg/SVGGradientElement.h: (WebCore::SVGGradientElement::): * ksvg2/svg/SVGHelper.cpp: (WebCore::SVGHelper::ParseSeperatedList): * ksvg2/svg/SVGLengthList.cpp: (WebCore::SVGLengthList::parse): * ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::buildGradient): * ksvg2/svg/SVGList.h: (WebCore::SVGListBase::clear): (WebCore::SVGListBase::initialize): (WebCore::SVGListBase::getItem): (WebCore::SVGListBase::insertItemBefore): (WebCore::SVGListBase::replaceItem): (WebCore::SVGListBase::removeItem): (WebCore::SVGListBase::appendItem): * ksvg2/svg/SVGLocatable.cpp: * ksvg2/svg/SVGLocatable.h: * ksvg2/svg/SVGMarkerElement.h: (WebCore::SVGMarkerElement::): * ksvg2/svg/SVGNumberList.cpp: (SVGNumberList::parse): * ksvg2/svg/SVGPaint.cpp: (WebCore::SVGPaint::SVGPaint): (WebCore::SVGPaint::uri): (WebCore::SVGPaint::setUri): (WebCore::SVGPaint::setPaint): * ksvg2/svg/SVGPaint.h: (WebCore::SVGPaint::): * ksvg2/svg/SVGPathElement.cpp: (WebCore::SVGPathElement::svgMoveTo): (WebCore::SVGPathElement::svgLineTo): (WebCore::SVGPathElement::svgLineToHorizontal): (WebCore::SVGPathElement::svgLineToVertical): (WebCore::SVGPathElement::svgCurveToCubic): (WebCore::SVGPathElement::svgCurveToCubicSmooth): (WebCore::SVGPathElement::svgCurveToQuadratic): (WebCore::SVGPathElement::svgCurveToQuadraticSmooth): (WebCore::SVGPathElement::svgArcTo): (WebCore::SVGPathElement::svgClosePath): (WebCore::SVGPathElement::parseMappedAttribute): (WebCore::SVGPathElement::toPathData): * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::drawPatternContentIntoTile): * ksvg2/svg/SVGPolyElement.cpp: (SVGPolyElement::parseMappedAttribute): (SVGPolyElement::svgPolyTo): (SVGPolyElement::notifyAttributeChange): * ksvg2/svg/SVGPolygonElement.cpp: (SVGPolygonElement::toPathData): * ksvg2/svg/SVGPolylineElement.cpp: (SVGPolylineElement::toPathData): * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): * ksvg2/svg/SVGRenderingIntent.h: Added. (WebCore::SVGRenderingIntent::): (WebCore::SVGRenderingIntent::SVGRenderingIntent): (WebCore::SVGRenderingIntent::~SVGRenderingIntent): * ksvg2/svg/SVGSVGElement.h: (WebCore::SVGSVGElement::): * ksvg2/svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::type): (WebCore::SVGScriptElement::setType): (WebCore::SVGScriptElement::parseMappedAttribute): * ksvg2/svg/SVGScriptElement.h: * ksvg2/svg/SVGStringList.cpp: (WebCore::SVGStringList::reset): * ksvg2/svg/SVGStyledLocatableElement.cpp: (SVGStyledLocatableElement::getTransformToElement): * ksvg2/svg/SVGStyledLocatableElement.h: * ksvg2/svg/SVGStyledTransformableElement.cpp: (SVGStyledTransformableElement::parseMappedAttribute): (SVGStyledTransformableElement::getTransformToElement): * ksvg2/svg/SVGStyledTransformableElement.h: * ksvg2/svg/SVGTests.cpp: (WebCore::SVGTests::hasExtension): (WebCore::SVGTests::isValid): * ksvg2/svg/SVGTests.h: * ksvg2/svg/SVGTextContentElement.cpp: (SVGTextContentElement::getSubStringLength): (SVGTextContentElement::getStartPositionOfChar): (SVGTextContentElement::getEndPositionOfChar): (SVGTextContentElement::getExtentOfChar): (SVGTextContentElement::getRotationOfChar): (SVGTextContentElement::selectSubString): * ksvg2/svg/SVGTextContentElement.h: (WebCore::SVGTextContentElement::): * ksvg2/svg/SVGTextElement.cpp: (WebCore::SVGTextElement::parseMappedAttribute): * ksvg2/svg/SVGTextElement.h: (WebCore::SVGTextElement::getTransformToElement): * ksvg2/svg/SVGTransform.h: * ksvg2/svg/SVGTransformList.cpp: (SVGTransformList::consolidate): (SVGTransformList::concatenate): * ksvg2/svg/SVGTransformable.cpp: (SVGTransformable::parseTransformAttribute): * ksvg2/svg/SVGUnitTypes.h: Added. (WebCore::SVGUnitTypes::): (WebCore::SVGUnitTypes::SVGUnitTypes): (WebCore::SVGUnitTypes::~SVGUnitTypes): * ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::closeRenderer): * ksvg2/svg/SVGViewElement.h: (WebCore::SVGViewElement::): * ksvg2/svg/SVGZoomAndPan.cpp: (WebCore::SVGZoomAndPan::SVGZoomAndPan): (WebCore::SVGZoomAndPan::parseMappedAttribute): 2006-09-12 John Sullivan Reviewed by Adele Peterson. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::doTextFieldCommandFromEvent): Don't call textField:doCommandBySelector: with a nil selector. This was indirectly causing a (valid) assertion failure in some Safari code. 2006-09-12 David Harrison Reviewed by John Sullivan. Setting AXFocused to true does not activate the insertion point in text field * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilitySetValue:forAttribute:]): For AXFocus, use focus() if the node is an element, so that selection is set. Matches tabbing behavior in text fields and text areas. 2006-09-12 Adam Roben Reviewed by adele. Make uploading work with the new file upload control. * css/html4.css: Remove unnecessary style (this is already done in RenderFileUpload.cpp) * html/HTMLInputElement.cpp: Don't get the button text from the value attribute for file controls. (WebCore::HTMLInputElement::valueWithDefault): * platform/mac/FileChooserMac.mm: Call RenderFileUploadControl::valueChanged when the user selects a file. (WebCore::FileChooser::chooseFile): * rendering/RenderFileUploadControl.cpp: Add valueChanged() method to update the form and fire the onChange event. (WebCore::RenderFileUploadControl::valueChanged): (WebCore::RenderFileUploadControl::updateFromElement): * rendering/RenderFileUploadControl.h: Add valueChanged() declaration. 2006-09-12 Adam Roben Adding rules to html4.css to style the button in file upload controls. * css/html4.css: 2006-09-12 Adam Roben Reviewed many times by darin, hyatt. Switch to new engine-based implementation of * WebCore.exp: Remove obsolete symbol WebCoreFileButton * WebCore.xcodeproj/project.pbxproj: Remove files for old widget-based control, add files for new engine-based control * css/CSSSelector.cpp: Add support for new '-webkit-file-upload-button' pseudo element (WebCore::CSSSelector::extractPseudoType): * css/CSSSelector.h: Ditto. (WebCore::CSSSelector::): * css/cssstyleselector.cpp: Ditto. (WebCore::CSSStyleSelector::checkOneSelector): * html/HTMLInputElement.cpp: Send click events to new control (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::click): (WebCore::HTMLInputElement::createRenderer): (WebCore::HTMLInputElement::valueWithDefault): (WebCore::HTMLInputElement::defaultEventHandler): * html/HTMLTextFieldInnerElement.h: Add 'virtual' keyword (WebCore::HTMLTextFieldInnerElement::shadowParentNode): * platform/FileButton.h: Removed. * platform/FileChooser.h: Added. This is the replacement for FileButton.h (WebCore::FileChooser::filename): (WebCore::FileChooser::icon): (WebCore::FileChooser::uploadControl): (WebCore::FileChooser::document): * platform/Icon.h: Added new platform-specific class representing a file icon. * platform/LocalizedStrings.h: * platform/mac/FileButtonMac.mm: Removed. * platform/mac/FileChooserMac.mm: Added. This is the replacement for FileButtonMac.mm (-[OpenPanelController initWithFileChooser:]): (-[OpenPanelController fileChooserDetachingSoon]): (-[OpenPanelController beginSheet]): (-[OpenPanelController chooseFilename:]): (-[OpenPanelController cancel]): (WebCore::FileChooser::FileChooser): (WebCore::FileChooser::~FileChooser): (WebCore::FileChooser::openFileChooser): (WebCore::FileChooser::basenameForWidth): (WebCore::FileChooser::uploadControlDetaching): (WebCore::FileChooser::chooseFile): * platform/mac/IconMac.mm: Added. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::newIconForFile): (WebCore::Icon::paint): * platform/mac/LocalizedStringsMac.mm: Call across bridge to get localized strings. (WebCore::fileButtonChooseFileLabel): (WebCore::fileButtonNoFileSelectedLabel): * rendering/RenderButton.cpp: Extract method setText() from updateFromElement. (WebCore::RenderButton::updateFromElement): (WebCore::RenderButton::setText): * rendering/RenderButton.h: Add declaration for new setText method. * rendering/RenderFileButton.cpp: Removed. * rendering/RenderFileButton.h: Removed. * rendering/RenderFileUploadControl.cpp: Added. This is the replacement for RenderFileButton.cpp. (WebCore::RenderFileUploadInnerFileBox::renderName): (WebCore::HTMLFileUploadInnerButtonElement::isShadowNode): (WebCore::HTMLFileUploadInnerButtonElement::shadowParentNode): (WebCore::RenderFileUploadControl::RenderFileUploadControl): (WebCore::RenderFileUploadControl::~RenderFileUploadControl): (WebCore::RenderFileUploadControl::setStyle): (WebCore::RenderFileUploadControl::updateIconAndFilename): (WebCore::RenderFileUploadControl::click): (WebCore::RenderFileUploadControl::updateFromElement): (WebCore::RenderFileUploadControl::maxFilenameWidth): (WebCore::RenderFileUploadControl::createButtonStyle): (WebCore::RenderFileUploadControl::paintObject): (WebCore::RenderFileUploadInnerFileBox::RenderFileUploadInnerFileBox): (WebCore::RenderFileUploadInnerFileBox::setStyle): (WebCore::RenderFileUploadInnerFileBox::layout): (WebCore::RenderFileUploadInnerFileBox::setHasIcon): (WebCore::RenderFileUploadInnerFileBox::setFilename): (WebCore::RenderFileUploadInnerFileBox::calcMinMaxWidth): (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement): (WebCore::HTMLFileUploadInnerButtonElement::createRenderer): * rendering/RenderFileUploadControl.h: Added. This is the replacement for RenderFileButton.h. (WebCore::RenderFileUploadControl::renderName): * rendering/RenderStyle.cpp: Add support for -webkit-file-upload-button pseudo element. (WebCore::): (WebCore::pseudoBit): * rendering/RenderStyle.h: Ditto. (WebCore::RenderStyle::): 2006-09-12 Anders Carlsson Reviewed by John Sullivan. Do the plugin object cleanup in Frame::clear instead of setView. * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setView): (WebCore::FrameMac::cleanupPluginObjects): * page/Frame.cpp: (WebCore::Frame::clear): * page/Frame.h: 2006-09-12 MorganL Reviewed/landed by aroben. Fixes http://bugs.webkit.org/show_bug.cgi?id=10822 windows build is busted * WebCore.vcproj/WebCore/WebCore.vcproj: Add missing JSRangeException.{cpp,h} to project 2006-09-12 David Hyatt Fix fieldsets so that they properly expand to enclose overhanging floats when the fieldset has auto height. This is a nifty undocumented behavior of the fieldset element. The bug is 3898. Reviewed by mjs Added fast/forms/fieldset-with-float.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): * rendering/RenderFieldset.h: (WebCore::RenderFieldset::renderName): (WebCore::RenderFieldset::expandsToEncloseOverhangingFloats): * rendering/RenderObject.h: (WebCore::RenderObject::expandsToEncloseOverhangingFloats): * rendering/RenderTableCell.h: (WebCore::RenderTableCell::expandsToEncloseOverhangingFloats): 2006-09-11 Eric Seidel Reviewed by hyatt. REGRESSION: When dragging a link on a page, the selected link doesn't display it's name or URL http://bugs.webkit.org/show_bug.cgi?id=10819 http://bugs.webkit.org/show_bug.cgi?id=10814 No test cases were harmed in the coding of the patch. * platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): 2006-09-11 David Hyatt Fix for bug 8126, column widths apply to the border boxes of cells. Reviewed by aroben * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::styleOrColWidth): 2006-09-11 Nikolas Zimmermann Reviewed by Adele. Fix Qt/Linux build. * CMakeLists.txt: Add dom/RangeException.idl to build & fix feature defines. 2006-09-11 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10750 This finally fixes the SVGAnimated* classes JS bindings! - Move all SVGAnimated*.idl files from ksvg2/bindings/idl/svg to ksvg2/svg - Adjust XCode/Qt build files to generate the new idl files - Remove all SVGAnimated* primitives cpp implementations (Angle/Boolean/Color/Enumeration/Integer/Length/ LengthList/Number/NumberList/PreserveAspectRatio/ Rect/String/TransformList) - Remove unneeded methods from CodeGenerator.pm and add new helper function: IsSVGAnimatedType - Adjust CodeGeneratorJS.pm to the new SVGAnimated* tear-off concept - Add two new macros: ANIMATED_PROPERTY_EMPTY_DECLARATIONS / ANIMATED_PROPERTY_FORWARD_DECLARATIONS. This is used to fix multiple-inheritance issues in SVG with properties, similar like SVGTests::isValid() was fixed. - Rewrote SVGList using WTF::Vector, instead of DeprecatedPtrList and killed DOMList. (SVGAnimated*Lists work again now) - Adjust macros in SVGElement to create the "*Animated" tear-off classes. - Adjust all SVG classes which use the ANIMATED macros to include the ClassName as first param in the header. * CMakeLists.txt: * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::adjustRectsForAspectRatio): (WebCore::RenderSVGImage::paint): * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::translationForAttributes): * ksvg2/ksvg.h: * ksvg2/misc/SVGDocumentExtensions.h: (WebCore::FloatRect): * ksvg2/svg/SVGAElement.h: * ksvg2/svg/SVGAnimateColorElement.cpp: * ksvg2/svg/SVGAnimateColorElement.h: * ksvg2/svg/SVGAnimateTransformElement.h: * ksvg2/svg/SVGAnimatedTemplate.h: (WebCore::SVGAnimatedTemplate::~SVGAnimatedTemplate): * ksvg2/svg/SVGAnimationElement.h: * ksvg2/svg/SVGCircleElement.h: * ksvg2/svg/SVGClipPathElement.h: * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): (SVGComponentTransferFunctionElement::transferFunction): * ksvg2/svg/SVGComponentTransferFunctionElement.h: * ksvg2/svg/SVGCursorElement.h: * ksvg2/svg/SVGDefsElement.h: * ksvg2/svg/SVGElement.h: * ksvg2/svg/SVGElementInstanceList.cpp: (WebCore::SVGElementInstanceList::SVGElementInstanceList): * ksvg2/svg/SVGElementInstanceList.h: * ksvg2/svg/SVGEllipseElement.h: * ksvg2/svg/SVGExternalResourcesRequired.h: * ksvg2/svg/SVGFEBlendElement.h: * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::SVGFEColorMatrixElement): (SVGFEColorMatrixElement::parseMappedAttribute): (SVGFEColorMatrixElement::filterEffect): * ksvg2/svg/SVGFEColorMatrixElement.h: * ksvg2/svg/SVGFEComponentTransferElement.h: * ksvg2/svg/SVGFECompositeElement.h: * ksvg2/svg/SVGFEDiffuseLightingElement.h: * ksvg2/svg/SVGFEDisplacementMapElement.h: * ksvg2/svg/SVGFEFloodElement.h: * ksvg2/svg/SVGFEGaussianBlurElement.h: * ksvg2/svg/SVGFEImageElement.h: * ksvg2/svg/SVGFELightElement.h: * ksvg2/svg/SVGFEMergeNodeElement.h: * ksvg2/svg/SVGFEOffsetElement.h: * ksvg2/svg/SVGFESpecularLightingElement.h: * ksvg2/svg/SVGFETileElement.h: * ksvg2/svg/SVGFETurbulenceElement.h: * ksvg2/svg/SVGFilterElement.h: * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: * ksvg2/svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::SVGFitToViewBox): (WebCore::SVGFitToViewBox::parseViewBox): (WebCore::SVGFitToViewBox::viewBoxToViewTransform): * ksvg2/svg/SVGFitToViewBox.h: * ksvg2/svg/SVGForeignObjectElement.h: * ksvg2/svg/SVGGElement.h: * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::SVGGradientElement): * ksvg2/svg/SVGGradientElement.h: * ksvg2/svg/SVGHelper.cpp: (WebCore::SVGHelper::PercentageOfViewport): * ksvg2/svg/SVGImageElement.h: * ksvg2/svg/SVGLength.cpp: * ksvg2/svg/SVGLengthList.cpp: (WebCore::SVGLengthList::SVGLengthList): (WebCore::SVGLengthList::parse): * ksvg2/svg/SVGLengthList.h: * ksvg2/svg/SVGLineElement.h: * ksvg2/svg/SVGLinearGradientElement.h: * ksvg2/svg/SVGList.h: (WebCore::SVGListBase::SVGListBase): (WebCore::SVGListBase::~SVGListBase): (WebCore::SVGListBase::numberOfItems): (WebCore::SVGListBase::clear): (WebCore::SVGListBase::initialize): (WebCore::SVGListBase::getFirst): (WebCore::SVGListBase::getLast): (WebCore::SVGListBase::getItem): (WebCore::SVGListBase::insertItemBefore): (WebCore::SVGListBase::replaceItem): (WebCore::SVGListBase::removeItem): (WebCore::SVGListBase::appendItem): (WebCore::SVGList::nullItem): (WebCore::): * ksvg2/svg/SVGLocatable.cpp: * ksvg2/svg/SVGMarkerElement.h: * ksvg2/svg/SVGMaskElement.h: * ksvg2/svg/SVGNumberList.cpp: (SVGNumberList::SVGNumberList): (SVGNumberList::parse): * ksvg2/svg/SVGNumberList.h: * ksvg2/svg/SVGPathElement.cpp: (WebCore::SVGPathElement::pathSegList): * ksvg2/svg/SVGPathElement.h: * ksvg2/svg/SVGPathSegList.cpp: (WebCore::SVGPathSegList::SVGPathSegList): * ksvg2/svg/SVGPathSegList.h: * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): * ksvg2/svg/SVGPatternElement.h: * ksvg2/svg/SVGPointList.cpp: (SVGPointList::SVGPointList): * ksvg2/svg/SVGPointList.h: * ksvg2/svg/SVGPolyElement.cpp: (SVGPolyElement::points): (SVGPolyElement::svgPolyTo): (SVGPolyElement::notifyAttributeChange): * ksvg2/svg/SVGPolyElement.h: * ksvg2/svg/SVGPolygonElement.cpp: (SVGPolygonElement::toPathData): * ksvg2/svg/SVGPolylineElement.cpp: (SVGPolylineElement::toPathData): * ksvg2/svg/SVGPreserveAspectRatio.h: (WebCore::SVGPreserveAspectRatio::): * ksvg2/svg/SVGRadialGradientElement.h: * ksvg2/svg/SVGRectElement.h: * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::parseMappedAttribute): (WebCore::SVGSVGElement::createRenderer): * ksvg2/svg/SVGSVGElement.h: * ksvg2/svg/SVGScriptElement.h: * ksvg2/svg/SVGStopElement.h: * ksvg2/svg/SVGStringList.cpp: (WebCore::SVGStringList::SVGStringList): (WebCore::SVGStringList::reset): * ksvg2/svg/SVGStringList.h: * ksvg2/svg/SVGStyledElement.h: * ksvg2/svg/SVGStyledLocatableElement.cpp: * ksvg2/svg/SVGStyledTransformableElement.cpp: (SVGStyledTransformableElement::SVGStyledTransformableElement): * ksvg2/svg/SVGStyledTransformableElement.h: * ksvg2/svg/SVGSwitchElement.h: * ksvg2/svg/SVGSymbolElement.h: * ksvg2/svg/SVGTRefElement.h: * ksvg2/svg/SVGTests.cpp: (WebCore::SVGTests::isValid): * ksvg2/svg/SVGTextContentElement.h: * ksvg2/svg/SVGTextElement.cpp: (WebCore::SVGTextElement::SVGTextElement): * ksvg2/svg/SVGTextElement.h: * ksvg2/svg/SVGTextPositioningElement.cpp: (SVGTextPositioningElement::SVGTextPositioningElement): (SVGTextPositioningElement::parseMappedAttribute): * ksvg2/svg/SVGTextPositioningElement.h: * ksvg2/svg/SVGTransformList.cpp: (SVGTransformList::SVGTransformList): (SVGTransformList::createSVGTransformFromMatrix): (SVGTransformList::consolidate): (SVGTransformList::concatenate): * ksvg2/svg/SVGTransformList.h: * ksvg2/svg/SVGURIReference.h: * ksvg2/svg/SVGUseElement.h: * ksvg2/svg/SVGViewElement.h: 2006-09-11 Adam Roben Rubberstamped by Adele. Rename LocalGraphicsContext.{h,mm} to LocalCurrentGraphicsContext.{h,mm} to match the class name. * WebCore.xcodeproj/project.pbxproj: * platform/mac/LocalCurrentGraphicsContext.mm: Added. * platform/mac/LocalCurrentGraphicsContext.h: Added. * platform/mac/LocalGraphicsContext.h: Removed. * platform/mac/LocalGraphicsContext.mm: Removed. * rendering/RenderThemeMac.mm: Fix #include to match renamed file 2006-09-11 Brady Eidson Build fix * WebCore.xcodeproj/project.pbxproj: 2006-09-11 Kevin McCullough Reviewed by Darin. - Implements comparePoint on the Range class - Exposes RangeExceptions in JavaScript * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/js/kjs_binding.cpp: * bindings/objc/DOMInternal.mm: * dom/Range.cpp: (WebCore::Range::comparePoint): (WebCore::Range::compareNode): * dom/Range.h: (WebCore::Range::): * dom/Range.idl: * dom/RangeException.h: Added. (WebCore::): * dom/RangeException.idl: Added. * page/DOMWindow.idl: 2006-09-11 Adam Roben Reviewed by timo. Fixes http://bugs.webkit.org/show_bug.cgi?id=10812 Move LocalGraphicsContext out of RenderThemeMac * WebCore.xcodeproj/project.pbxproj: * platform/mac/LocalGraphicsContext.h: Added. * platform/mac/LocalGraphicsContext.mm: Added. (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext): (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext): * rendering/RenderThemeMac.mm: 2006-09-11 Vladimir Olexa Reviewed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=10323 REGRESSION: javascript: URL containing '\\' gets passed as '//' Test: fast/dom/javascript-backslash.html * platform/KURL.cpp: (WebCore::KURL::init): Don't do backslash substitution in JavaScript URLs. 2006-09-11 Sam Weinig Reviewed by Darin and Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10792 Remove the [Exclude=LANGUAGE] idiom from IDL's and code generators for something better - Replaces [Exclude=LANGUAGE] idiom with preprocessor #if defined(LANGUAGE) idiom. - Assorted whitespace changes to IDL files. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMEvents.h: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorObjC.pm: * css/CSSRule.idl: * css/CSSStyleDeclaration.idl: * css/CSSValue.idl: * dom/DOMImplementation.idl: * dom/Document.idl: * dom/Element.idl: * dom/Event.idl: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/NamedNodeMap.idl: * dom/NodeFilter.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: * html/HTMLAnchorElement.idl: * html/HTMLAreaElement.idl: * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLLinkElement.idl: * html/HTMLOptionsCollection.idl: 2006-09-11 David Hyatt Fix an unwitting victim of the kMin->min change. calcBlockMinMaxWidth was accidentally renamed to calcBlominMaxWidth. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcMinMaxWidth): (WebCore::RenderBlock::calcBlockMinMaxWidth): * rendering/RenderBlock.h: 2006-09-10 David Hyatt Rework the printer font stuff a little bit so that the Font API doesn't have to be changed. Reviewed by eseidel * WebCore.xcodeproj/project.pbxproj: * bridge/mac/WebCoreStringTruncator.mm: (truncateString): (+[WebCoreStringTruncator widthOfString:font:]): * platform/Font.cpp: (WebCore::Font::drawSimpleText): * platform/Font.h: * platform/TextStyle.h: (WebCore::TextStyle::TextStyle): (WebCore::TextStyle::attemptFontSubstitution): (WebCore::TextStyle::setRTL): * platform/mac/FontMac.mm: (WebCore::m_wordSpacing): (WebCore::Font::drawGlyphs): * platform/mac/ListBoxMac.mm: (itemTextRenderer): (groupLabelTextRenderer): (-[WebCoreTableView drawRow:clipRect:]): * platform/mac/PopUpButtonMac.mm: (PopUpButton::sizeHint): * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]): * platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): (WebCoreTextFloatWidth): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): 2006-09-10 Brady Eidson Reviewed by Maciej Small cleanups + future plans * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): path separator cleanup * platform/Image.h: 2006-09-10 Brady Eidson Reviewed by Maciej Added specialized HashTraits * platform/IntSizeHash.h: 2006-09-10 Brady Eidson Forgetting header #define protection is BAAAAAD (and re-alphabetized the project file) * WebCore.xcodeproj/project.pbxproj: * platform/IntSizeHash.h: 2006-09-10 Brady Eidson Reviewed by Maciej Moved the custom IntSize hash out of IconDatabase into a more generally useful file * WebCore.xcodeproj/project.pbxproj: * loader/icon/IconDatabase.h: * platform/IntSizeHash.h: Added. 2006-09-10 David Hyatt Fix for bug 10801, form controls that get styled suddenly lose their intrinsic margins. Move the intrinsic margin addition code into adjustRenderStyle and get it out of the theme code and the old form control code. Reviewed by aroben * css/cssstyleselector.cpp: (WebCore::addIntrinsicMargins): (WebCore::CSSStyleSelector::adjustRenderStyle): * css/html4.css: * rendering/DeprecatedRenderSelect.h: (WebCore::DeprecatedRenderSelect::calcReplacedHeight): * rendering/DeprecatedSlider.h: * rendering/RenderFormElement.cpp: (WebCore::RenderFormElement::setStyle): * rendering/RenderFormElement.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize): * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustButtonStyle): (WebCore::RenderThemeMac::adjustTextFieldStyle): (WebCore::RenderThemeMac::adjustTextAreaStyle): (WebCore::RenderThemeMac::adjustMenuListStyle): (WebCore::RenderThemeMac::adjustMenuListButtonStyle): * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::adjustButtonStyle): (WebCore::RenderThemeWin::adjustTextFieldStyle): (WebCore::RenderThemeWin::adjustTextAreaStyle): 2006-09-10 Darin Adler - test for http://bugs.webkit.org/show_bug.cgi?id=10547 * manual-tests/target-test.html: Added. * manual-tests/targeted.html: Added. 2006-09-10 Eric Seidel Reviewed by darin. Remove a bunch more NSGraphicsContext related code. Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly) Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function. No tests were harmed in the making of this patch. * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]): * kcanvas/device/quartz/KRenderingDeviceQuartz.h: (WebCore::KRenderingDeviceContextQuartz::cgContext): (WebCore::KRenderingDeviceQuartz::isBuffered): * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz): (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz): * kcanvas/device/quartz/QuartzSupport.mm: * platform/Font.cpp: (WebCore::Font::drawSimpleText): (WebCore::Font::drawText): * platform/Font.h: * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): * platform/GraphicsContext.h: * platform/mac/FileButtonMac.mm: (-[WebFileChooserButton drawRect:]): * platform/mac/FontMac.mm: (WebCore::ATSULayoutParameters::ATSULayoutParameters): (WebCore::ATSULayoutParameters::initialize): (WebCore::Font::drawComplexText): (WebCore::Font::drawGlyphs): * platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawLineForMisspelling): * platform/mac/ListBoxMac.mm: (-[WebCoreTableView drawRow:clipRect:]): * platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): * rendering/RenderThemeMac.mm: (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge): (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge): (WebCore::RenderThemeMac::paintButton): (WebCore::RenderThemeMac::paintTextField): (WebCore::RenderThemeMac::paintTextArea): 2006-09-09 Steve Falkenburg Reviewed by aroben. Fixes to work with string API changes. * platform/cf/ResourceLoaderCFNet.cpp: (WebCore::arrayFromFormData): (WebCore::ResourceLoader::start): * platform/cf/StringCF.cpp: * platform/cf/StringImplCF.cpp: 2006-09-09 David Hyatt Fix for Bugzilla bug 5500, scrollLeft/Top/Width/Height properties not supported on textarea. Refactored the DOM getters and setters to go through the renderer instead of right to the layer. The renderer functions are virtual so that the text control can subclass and forward to its anonymous div. Fix for Bugzilla bug 10719, When positioned objects are sizing using their containing block width as a guide, they should not ever use the line width like non-positioned objects do. Reviewed by aroben * WebCore.xcodeproj/project.pbxproj: * dom/Element.cpp: (WebCore::Element::scrollLeft): (WebCore::Element::scrollTop): (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop): * rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockWidthForPositioned): * rendering/RenderObject.cpp: (WebCore::RenderObject::clientWidth): (WebCore::RenderObject::clientHeight): (WebCore::RenderObject::scrollWidth): (WebCore::RenderObject::scrollHeight): (WebCore::RenderObject::scrollLeft): (WebCore::RenderObject::scrollTop): (WebCore::RenderObject::setScrollLeft): (WebCore::RenderObject::setScrollTop): (WebCore::RenderObject::hasStaticX): (WebCore::RenderObject::hasStaticY): * rendering/RenderObject.h: (WebCore::RenderObject::clientLeft): (WebCore::RenderObject::clientTop): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::scrollWidth): (WebCore::RenderTextControl::scrollHeight): (WebCore::RenderTextControl::scrollLeft): (WebCore::RenderTextControl::scrollTop): (WebCore::RenderTextControl::setScrollLeft): (WebCore::RenderTextControl::setScrollTop): * rendering/RenderTextControl.h: 2006-09-09 David Hyatt Implement support for the WinIE clientLeft and clientTop extensions. Reviewed by aroben * dom/Element.cpp: (WebCore::Element::clientLeft): (WebCore::Element::clientTop): * dom/Element.h: * dom/Element.idl: * rendering/RenderObject.h: (WebCore::RenderObject::clientLeft): (WebCore::RenderObject::clientTop): 2006-09-09 Sam Weinig Reviewed by Eric. Patch for http://bugs.webkit.org/show_bug.cgi?id=10795 Auto-generate the Objective-C DOM XPath bindings - Auto-generates DOMXPathExpression, DOMXPathNSResolver and DOMXPathResult. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMPrivate.h: * bindings/objc/DOMXPath.h: * bindings/objc/DOMXPath.mm: * bindings/objc/PublicDOMInterfaces.h: * xml/XPathExpression.idl: * xml/XPathNSResolver.idl: * xml/XPathResult.idl: 2006-09-09 Sam Weinig Reviewed by Eric. Patch for http://bugs.webkit.org/show_bug.cgi?id=10791 Even More Objective-C DOM auto-generation cleanup - Auto-generate some remaining extension methods for DOMDocument and DOMCSSStyleDeclaration. - Split DOMHTMLEmbedElement into it's own files. It can't be auto-generated yet because the Objective-C interface is significantly different from the implementation interface. Since HTMLEmbedElement is not in the W3C spec, this is somewhat of a gray area. - Auto-generate DOMEventListener protocol. - Clean up the IDL files by separating the extensions from the specified methods and attributes. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMCSS.mm: * bindings/objc/DOMEventListener.h: Removed. * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMHTMLEmbedElement.h: Added. * bindings/objc/DOMHTMLEmbedElement.mm: Added. (-[DOMHTMLEmbedElement align]): (-[DOMHTMLEmbedElement setAlign:]): (-[DOMHTMLEmbedElement height]): (-[DOMHTMLEmbedElement setHeight:]): (-[DOMHTMLEmbedElement name]): (-[DOMHTMLEmbedElement setName:]): (-[DOMHTMLEmbedElement src]): (-[DOMHTMLEmbedElement setSrc:]): (-[DOMHTMLEmbedElement type]): (-[DOMHTMLEmbedElement setType:]): (-[DOMHTMLEmbedElement width]): (-[DOMHTMLEmbedElement setWidth:]): * bindings/objc/DOMPrivate.h: * bindings/objc/PublicDOMInterfaces.h: * css/CSSStyleDeclaration.idl: * dom/Document.idl: * dom/KeyboardEvent.h: * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/MutationEvent.idl: * dom/OverflowEvent.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: * html/HTMLEmbedElement.idl: Added. 2006-09-09 Eric Seidel Reviewed by Tim H. Remove DeprecatedString usage and fix style. http://bugs.webkit.org/show_bug.cgi?id=10787 No tests were harmed in the making of this patch. * kcanvas/KCanvasFilters.cpp: (WebCore::KCanvasFilterEffect::in): (WebCore::KCanvasFilterEffect::setIn): (WebCore::KCanvasFilterEffect::result): (WebCore::KCanvasFilterEffect::setResult): (WebCore::KCanvasFEMerge::externalRepresentation): * kcanvas/KCanvasFilters.h: (WebCore::KCanvasFEBlend::in2): (WebCore::KCanvasFEBlend::setIn2): (WebCore::KCanvasFEComposite::in2): (WebCore::KCanvasFEComposite::setIn2): (WebCore::KCanvasFEDisplacementMap::in2): (WebCore::KCanvasFEDisplacementMap::setIn2): (WebCore::KCanvasFEMerge::mergeInputs): (WebCore::KCanvasFEMerge::setMergeInputs): * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasResource::idInRegistry): (WebCore::KCanvasResource::setIdInRegistry): (WebCore::getResourceById): * kcanvas/KCanvasResources.h: * kcanvas/RenderPath.cpp: (WebCore::RenderPath::getAbsoluteRepaintRect): (WebCore::RenderPath::paint): (WebCore::RenderPath::drawMarkersIfNeeded): * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): (WebCore::RenderSVGContainer::getAbsoluteRepaintRect): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): (WebCore::RenderSVGImage::getAbsoluteRepaintRect): * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint): * kcanvas/device/KRenderingPaintServer.h: (WebCore::KRenderingPaintServer::idInRegistry): (WebCore::KRenderingPaintServer::setIdInRegistry): * kcanvas/device/quartz/KCanvasFilterQuartz.h: * kcanvas/device/quartz/KCanvasFilterQuartz.mm: (WebCore::KCanvasFilterQuartz::imageForName): (WebCore::KCanvasFilterQuartz::setImageForName): (WebCore::KCanvasFEMergeQuartz::getCIFilter): * ksvg2/css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty): * ksvg2/css/SVGRenderStyle.cpp: * ksvg2/css/SVGRenderStyle.h: * ksvg2/css/SVGRenderStyleDefs.h: * ksvg2/ecma/GlobalObject.cpp: (GlobalObject::get): * ksvg2/misc/KSVGTimeScheduler.cpp: (WebCore::SVGTimer::notifyAll): * ksvg2/svg/SVGDescElement.cpp: (WebCore::SVGDescElement::SVGDescElement): (WebCore::SVGDescElement::description): * ksvg2/svg/SVGDescElement.h: * ksvg2/svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::SVGFEBlendElement): (WebCore::SVGFEBlendElement::filterEffect): * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::SVGFEColorMatrixElement): (SVGFEColorMatrixElement::filterEffect): * ksvg2/svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): (WebCore::SVGFEComponentTransferElement::filterEffect): * ksvg2/svg/SVGFECompositeElement.cpp: (SVGFECompositeElement::SVGFECompositeElement): (SVGFECompositeElement::filterEffect): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): (WebCore::SVGFEDiffuseLightingElement::filterEffect): * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): (SVGFEDisplacementMapElement::filterEffect): * ksvg2/svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::SVGFEFloodElement): (WebCore::SVGFEFloodElement::filterEffect): * ksvg2/svg/SVGFEGaussianBlurElement.cpp: (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): (SVGFEGaussianBlurElement::filterEffect): * ksvg2/svg/SVGFELightElement.cpp: * ksvg2/svg/SVGFEMergeElement.cpp: (SVGFEMergeElement::filterEffect): * ksvg2/svg/SVGFEOffsetElement.cpp: (SVGFEOffsetElement::SVGFEOffsetElement): (SVGFEOffsetElement::filterEffect): * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::SVGFESpecularLightingElement): (SVGFESpecularLightingElement::filterEffect): * ksvg2/svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::SVGFETileElement): (WebCore::SVGFETileElement::filterEffect): * ksvg2/svg/SVGFETurbulenceElement.cpp: (SVGFETurbulenceElement::SVGFETurbulenceElement): * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: (SVGFilterPrimitiveStandardAttributes::setStandardAttributes): * ksvg2/svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::parseViewBox): (WebCore::SVGFitToViewBox::parseMappedAttribute): * ksvg2/svg/SVGFitToViewBox.h: * ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::buildGradient): * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::notifyAttributeChange): * ksvg2/svg/SVGPreserveAspectRatio.cpp: (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): (WebCore::SVGPreserveAspectRatio::getCTM): * ksvg2/svg/SVGPreserveAspectRatio.h: * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): * ksvg2/svg/SVGStyleElement.cpp: * ksvg2/svg/SVGStyledTransformableElement.cpp: * ksvg2/svg/SVGViewElement.cpp: (WebCore::SVGViewElement::SVGViewElement): (WebCore::SVGViewElement::parseMappedAttribute): * ksvg2/svg/SVGZoomAndPan.cpp: (WebCore::SVGZoomAndPan::SVGZoomAndPan): 2006-09-08 Darin Adler Reviewed by Tim H. REGRESSION: Background images in Mail stationery do not load Fixes the quoting logic. The previous logic did not account for the CSS tokenizer's regex character range between * and ~ as valid in URL types. * css/CSSPrimitiveValue.cpp: (WebCore::isCSSTokenizerURL): 2006-09-09 Alexey Proskuryakov Reviewed by Darin. - http://bugs.webkit.org/show_bug.cgi?id=10759 fast/AppleScript/array.html test failing * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Convert integer values to typeSInt32 AE descriptors. 2006-09-08 Eric Seidel Reviewed by darin. Replace incorrect fooBaseValue() calls with foo() calls instead. http://bugs.webkit.org/show_bug.cgi?id=10746 With the previously broken animation system, we had both base and anim values but they were not automatically connected/disconnected when animation started and stopped. So the animVals were basically never used (since they were always wrong). Now, animVal and baseVal are handled correctly. There are only 3 places in the code where we will ever need to use the BaseValue accessor variants. 1. SVGAnimated* DOM bindings 2. Animation Code 3. parseMappedAttribute implementations * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::translationForAttributes): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): (WebCore::RenderSVGImage::relativeBBox): (WebCore::RenderSVGImage::getAbsoluteRepaintRect): (WebCore::RenderSVGImage::translationForAttributes): * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::translationForAttributes): * ksvg2/misc/SVGImageLoader.cpp: (WebCore::SVGImageLoader::updateFromElement): * ksvg2/svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler): * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::parseMappedAttribute): (SVGCircleElement::toPathData): (SVGCircleElement::pushAttributeContext): (SVGCircleElement::hasPercentageValues): * ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::canvasResource): * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::transferFunction): * ksvg2/svg/SVGCursorElement.cpp: (SVGCursorElement::parseMappedAttribute): * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::parseMappedAttribute): (WebCore::SVGEllipseElement::toPathData): (WebCore::SVGEllipseElement::pushAttributeContext): (WebCore::SVGEllipseElement::hasPercentageValues): * ksvg2/svg/SVGFEBlendElement.cpp: (SVGFEBlendElement::filterEffect): * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::filterEffect): * ksvg2/svg/SVGFEComponentTransferElement.cpp: (SVGFEComponentTransferElement::filterEffect): * ksvg2/svg/SVGFECompositeElement.cpp: (SVGFECompositeElement::filterEffect): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::filterEffect): * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::filterEffect): * ksvg2/svg/SVGFEDistantLightElement.cpp: (WebCore::SVGFEDistantLightElement::lightSource): * ksvg2/svg/SVGFEFloodElement.cpp: (SVGFEFloodElement::filterEffect): * ksvg2/svg/SVGFEGaussianBlurElement.cpp: (SVGFEGaussianBlurElement::filterEffect): * ksvg2/svg/SVGFEImageElement.cpp: (SVGFEImageElement::parseMappedAttribute): * ksvg2/svg/SVGFEMergeElement.cpp: (SVGFEMergeElement::SVGFEMergeElement): (SVGFEMergeElement::filterEffect): * ksvg2/svg/SVGFEOffsetElement.cpp: (SVGFEOffsetElement::filterEffect): * ksvg2/svg/SVGFEPointLightElement.cpp: (WebCore::SVGFEPointLightElement::SVGFEPointLightElement): (WebCore::SVGFEPointLightElement::lightSource): * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::filterEffect): * ksvg2/svg/SVGFESpotLightElement.cpp: (WebCore::SVGFESpotLightElement::lightSource): * ksvg2/svg/SVGFETileElement.cpp: (SVGFETileElement::filterEffect): * ksvg2/svg/SVGFETurbulenceElement.cpp: (SVGFETurbulenceElement::filterEffect): * ksvg2/svg/SVGFilterElement.cpp: (SVGFilterElement::canvasResource): * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: (SVGFilterPrimitiveStandardAttributes::setStandardAttributes): * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::rebuildStops): * ksvg2/svg/SVGHelper.cpp: (WebCore::SVGHelper::PercentageOfViewport): * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::toPathData): (SVGLineElement::pushAttributeContext): (SVGLineElement::hasPercentageValues): * ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::buildGradient): * ksvg2/svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::canvasResource): * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::attributeChanged): (WebCore::SVGMaskElement::drawMaskerContent): * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::pushAttributeContext): (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::drawPatternContentIntoTile): (WebCore::SVGPatternElement::notifyAttributeChange): (WebCore::SVGPatternElement::getCTM): * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::toPathData): (WebCore::SVGRectElement::pushAttributeContext): (WebCore::SVGRectElement::hasPercentageValues): * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::viewport): (WebCore::SVGSVGElement::parseMappedAttribute): (WebCore::SVGSVGElement::getCTM): (WebCore::SVGSVGElement::getScreenCTM): (WebCore::SVGSVGElement::createRenderer): * ksvg2/svg/SVGTRefElement.cpp: (SVGTRefElement::updateReferencedText): * ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::closeRenderer): 2006-09-08 Eric Seidel Reviewed by beth. Remove the last vestiges of KDOM (KDOMCSSValue and KDOMCSSValueList) http://bugs.webkit.org/show_bug.cgi?id=10778 * ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parseSVGStrokeDasharray): (WebCore::CSSParser::parseSVGPaint): (WebCore::CSSParser::parseSVGColor): 2006-09-07 Sam Weinig Reviewed by Darin and Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10774 Auto-generate the Objective-C DOM Traversal bindings - Auto-generates DOMNodeIterator and DOMTreeWalker. - Splits out DOMNodeFilter into its own file. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMNodeFilter.h: Added. * bindings/objc/DOMTraversal.h: * bindings/objc/PublicDOMInterfaces.h: * bindings/scripts/CodeGeneratorObjC.pm: * dom/NodeFilter.idl: * dom/NodeIterator.idl: * dom/Range.idl: * dom/TreeWalker.idl: 2006-09-07 MorganL Reviewed by Darin, landed by Adam. Fixes part of bug 10743: Windows build busted. * platform/win/FontCacheWin.cpp: Add missing #include, set svn:eol-style to native (WebCore::FontCache::getFontLinkInterface): (WebCore::FontCache::getFontDataForCharacters): * platform/win/FontDataWin.cpp: Ditto. (WebCore::FontData::platformWidthForGlyph): * platform/win/FontWin.cpp: Add missing #include, band-aid over const problem with GlyphBufferGlyph (WebCore::Font::drawGlyphs): * platform/win/ResourceLoaderWin.cpp: Add missing #include, change .ascii() to .latin1() (WebCore::ResourceLoaderWndProc): (WebCore::ResourceLoader::start): 2006-09-07 Alexey Proskuryakov Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=10753 REGRESSION: The beginning of a CSS file is missing Test: http/tests/incremental/slow-utf8-css.pl * loader/Decoder.cpp: (WebCore::Decoder::checkForCSSCharset): Use the same buffering logic as used for HTML. (WebCore::Decoder::decode): * loader/Decoder.h: Added a return value and a movedDataToBuffer parameter to checkForCSSCharset(). 2006-09-07 Sam Weinig Reviewed by Darin. Patch for http://bugs.webkit.org/show_bug.cgi?id=10766 Auto-generate the Objective-C DOM Events bindings - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent. - Splits out DOMEventListener and DOMEventTarget into their own files. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOMEventListener.h: Added. * bindings/objc/DOMEventTarget.h: Added. * bindings/objc/DOMEvents.h: * bindings/objc/DOMEvents.mm: (-[DOMEvent WebCore::]): (-[DOMEvent _initWithEvent:WebCore::]): (+[DOMEvent _eventWith:WebCore::]): * bindings/objc/DOMEventsNonstandard.mm: Removed. * bindings/objc/DOMNode.h: * bindings/objc/PublicDOMInterfaces.h: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorObjC.pm: * dom/Event.idl: * dom/EventListener.idl: Added. * dom/EventTarget.idl: Added. * dom/KeyboardEvent.idl: * dom/MouseEvent.idl: * dom/UIEvent.idl: * dom/WheelEvent.idl: 2006-09-07 Rob Buis Reviewed by Maciej. http://bugs.webkit.org/show_bug.cgi?id=9753 SVG with width and height 100% leaves room for scrollbar on the right. Relayout children of svg containers, except svg shapes that do not depend on percentages. * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues): * kcanvas/RenderPath.h: * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues): * ksvg2/svg/SVGCircleElement.h: * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues): * ksvg2/svg/SVGEllipseElement.h: * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues): * ksvg2/svg/SVGLineElement.h: * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues): * ksvg2/svg/SVGRectElement.h: * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues): 2006-09-06 Brady Eidson Constant renamed in 16250 wasn't changed in each use * platform/win/GlyphMapWin.cpp: (WebCore::GlyphMap::fillPage): 2006-09-06 Darin Adler Reviewed by Tim Hatcher. - fix crashes affecting editing layout tests (regressions from my vector change) * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto. 2006-09-06 David Harrison Reviewed and tweaked by Tim H. WebKit doesn't trigger Auto Font Activation If we don't find the font in the available fonts list, call [NSFont fontWithName:size:] to trigger a search that will include auto activation. No PLT or iBench perf impact. No layout tests affected. Not testable in an automated way that will work on all systems. * platform/mac/WebFontCache.mm: (+[WebFontCache fontWithFamily:traits:size:]): 2006-09-06 Nikolas Zimmermann Reviewed and landed by ap. Fix Qt/Linux build. * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build. * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include. * platform/qt/FontCacheQt.cpp: Add FontData.h include. * platform/qt/FontQt.cpp: (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast. * platform/qt/FrameQt.cpp: (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection". (WebCore::FrameQt::respondToChangedSelection): Ditto. (WebCore::FrameQt::respondToChangedContents): Ditto. (WebCore::FrameQt::shouldChangeSelection): Ditto. * platform/qt/FrameQt.h: Ditto. * platform/qt/ImageQt.cpp: (WebCore::Image::supportsType): Fix String->QString conversion. * platform/qt/ResourceLoaderManager.cpp: (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion. * platform/qt/ScrollViewCanvasQt.cpp: (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes. * platform/qt/qt-encodings.txt: Removed. 2006-09-06 Darin Adler Reviewed by Tim Hatcher. - http://bugs.webkit.org/show_bug.cgi?id=10675 tweak font-related headers and convert lists to vectors One major change was to greatly reduce the number of files that include Font.h. Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector. * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h. * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on Font::getNSFont since a WebCore::Font represents more than one NSFont. * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector. * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto. * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto. * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto. * dom/Document.cpp: (WebCore::Document::dashboardRegions): Ditto. (WebCore::Document::setDashboardRegions): Ditto. * dom/Document.h: Ditto. * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto. * html/FormDataList.h: Ditto. * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto. * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto. * kcanvas/RenderPath.h: Ditto. * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto. * kcanvas/RenderSVGImage.h: Ditto. * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto. * kcanvas/RenderSVGText.h: Ditto. * loader/FormData.cpp: (WebCore::FormData::flatten): Ditto. (WebCore::FormData::flattenToString): Ditto. * loader/FormData.h: (WebCore::FormData::elements): Ditto. * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto. * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto. * page/Frame.h: Ditto. * page/FramePrivate.h: Ditto. * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto. * rendering/InlineTextBox.h: Ditto. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Ditto. (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto. * rendering/RenderContainer.h: Ditto. * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto. * rendering/RenderInline.h: Ditto. * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto. * rendering/RenderObject.h: Ditto. * rendering/RenderObject.cpp: (WebCore::RenderObject::lineBoxRects): Ditto. (WebCore::RenderObject::absoluteRects): Ditto. (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto. (WebCore::RenderObject::addDashboardRegions): Ditto. (WebCore::RenderObject::collectDashboardRegions): Ditto. * rendering/RenderStyle.h: Ditto. * rendering/RenderStyle.cpp: (WebCore::RenderStyle::initialDashboardRegions): Ditto. (WebCore::RenderStyle::noneDashboardRegions): Ditto. * rendering/RenderText.h: Ditto. * rendering/RenderText.cpp: (WebCore::RenderText::absoluteRects): Ditto. (WebCore::RenderText::lineBoxRects): Ditto. * rendering/RenderView.h: Ditto. * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not depend on getNSFont on a Font. (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont. (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto. (WebCore::convertAttributesToUnderlines): Updated to use Vector. (WebCore::FrameMac::setMarkedTextRange): Ditto. (WebCore::FrameMac::dashboardRegionsDictionary): Ditto. * bridge/mac/WebCoreAXObject.mm: (boundingBoxRect): Updated to use Vector. (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont. * bridge/mac/WebCoreStringTruncator.mm: Updated includes. * page/Settings.h: Ditto. * platform/mac/WebCoreTextRenderer.mm: Ditto. * rendering/EllipsisBox.cpp: Ditto. * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): Updated to use a Vector that we iterate in reverse order instead of a linked list that we reverse by prepending elements instead of adding to the end. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto. * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h. * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont. * platform/Font.cpp: Changed to use const instead of #define. (WebCore::Font::width): Overloaded this so we don't have a default parameter, which eliminates the need to have TextStyle defined to compiler the Font.h header. * platform/TextStyle.h: Added. * platform/FontData.h: Added a forward declaration of ATSUStyle so this header can stand alone. * platform/FontFallbackList.h: Tweaks. * platform/FontFallbackList.cpp: Tweaks. * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by using Shared and RefPtr, which resulted in removing many explicit functions. * platform/FontFamily.cpp: More of the same. * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE macros. * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included only for the typedef of Glyph; there's no reason to not just repeat that typedef here since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant to GlyphPage::size. * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into constants. Updated for cGlyphPageSize change. * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change. * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included only for the typedef of Glyph; there's no reason to not just repeat that typedef here since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant to GlyphWidthPage::size. * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change. * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText function to use overloading instead of default parameters to allow TextStyle to be optional. This cuts the dependency on TextStyle. * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload. * platform/Image.h: Removed unneeded forward declaration of IntSize. * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): Changed to not depend on Font::getNSFont. * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto. * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]): Ditto. * rendering/RenderPopupMenuMac.mm: (WebCore::RenderPopupMenuMac::showPopup): Ditto. (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto. (WebCore::RenderPopupMenuMac::addOption): Ditto. * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be constants and inline functions instead. * platform/mac/FontMac.mm: Fixed includes. * platform/mac/PopUpButtonMac.mm: Ditto. * rendering/RenderMenuList.cpp: Ditto. * rendering/RenderTextControl.cpp: Ditto. * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is compatible with all 4 of C, ObjC, C++, ObjC++. 2006-09-05 MorganL Reviewed/landed by aroben. Fixes bug 10743: Windows build is busted. * WebCore.vcproj/WebCore/WebCore.vcproj: * bridge/win/FrameWin.h: * platform/ResourceLoaderInternal.h: * platform/TextEncodingRegistry.cpp: * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoaderWndProc): (WebCore::ResourceLoader::start): * platform/win/TemporaryLinkStubs.cpp: (FrameWin::markMisspellings): (FrameWin::shouldChangeSelection): (FrameWin::respondToChangedSelection): (FrameWin::respondToChangedContents): (RenderThemeWin::adjustMenuListStyle): 2006-09-05 Darin Adler - some quick build fixes * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar. * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include of CharsetNames.h. * css/CSSGrammar.y: Remove use of WebCore::UChar. * platform/UChar.h: Back out WebCore::UChar for now. 2006-09-05 Darin Adler Reviewed by Alexey. - http://bugs.webkit.org/show_bug.cgi?id=10728 text encodings should work without a numeric ID - includes a fix for http://bugs.webkit.org/show_bug.cgi?id=10681 REGRESSION: Reproducible crash at Wikipedia - fixed a bug where link elements would not set the charset properly for CSS stylesheets they loaded - converted DeprecatedString code paths that are related to decoding web pages to use String instead, to ensure that conversion back and forth won't hurt performance Test: fast/encoding/css-link-charset.html Test: fast/forms/form-data-encoding-normalization-overrun.html Coverage for encoding issues is pretty good, so we probably don't need more tests to land this. Our existing tests did find issues with this patch while it was under development. And I suppose it would be nice to have even more tests. * platform/TextEncoding.h: * platform/TextEncoding.cpp: (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese. (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and added an overload for String as well as const char*. Simplified because now the only data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function to make the name canonical (resolve aliases) and atomic (use a single pointer for each encoding name so we can compare and hash efficiently). (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top of TextDecoder that can be used when the data to decode is all present at once. (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and then uses the registry to get a codec to handle the rest. (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the name of the only encoding that uses visual ordering. We blur the concepts a bit so that we treat the visual ordering and logical ordering variations as two separate encodings. (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently determine if an encoding is Japanese. (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares with the names of the two encodings that have the strange backslash. (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only" boolean parameter to the constructor. (WebCore::ASCIIEncoding): Added. (WebCore::Latin1Encoding): Added. (WebCore::UTF16BigEndianEncoding): Added. (WebCore::UTF16LittleEndianEncoding): Added. (WebCore::UTF8Encoding): Added. (WebCore::WindowsLatin1Encoding): Added. * platform/TextEncodingRegistry.h: Added. * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set aliases and names and another of all the codecs and parameters for each name. * platform/TextDecoder.h: Added. * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data to the proper codec, based on code that used to be in both the ICU and Mac codecs. * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename the files in a later check-in. Moved creation functions into TextEncodingRegistry.h. Added typedefs of the registrar function types so classes derived from this one can use them without including the TextEncodingRegistry header. Renamed toUnicode and fromUnicode to decode and encode. Changed the parameter and return types so that the parameters are pointers to the data and the return types are String and CString. * platform/StreamingTextDecoder.cpp: (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple classes derived from this one. * platform/TextCodecLatin1.h: Added. * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding Windows Latin-1, based on code that used to be in both the ICU and Mac codecs. * platform/TextCodecUTF16.h: Added. * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding UTF-16, based on code that used to be in both the ICU and Mac codecs. * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename the files in a later check-in. Removed all the functions having to do with handling BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported because that's superseded by the registry. Added registry hook functions. * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that ICU can handle with the "IANA" standard. Also includes a special case for a particular type of encoding for Hebrew that uses logical ordering. Also includes aliases that are not in ICU but that were historically known to WebKit for encodings that ICU handles. (WebCore::newTextCodecICU): Added. Used by registerCodecs. (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings as above. (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the actual ICU encoding and decoding. (WebCore::TextCodecICU::~TextCodecICU): Renamed. (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function. (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and to check if the cached converter can be reused in a simpler way. (WebCore::TextCodecICU::decode): Updated for changes to types. (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization since this is now handled by the caller. * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename the files in a later check-in. Removed all the functions having to do with handling BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported because that's superseded by the registry. Added registry hook functions. * platform/mac/StreamingTextDecoderMac.cpp: (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on the charset table generated by the make-charset-table.pl perl script. (WebCore::newTextCodecMac): Added. Used by registerCodecs. (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings as above. (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the actual TEC/CF encoding and decoding. (WebCore::TextCodecMac::~TextCodecMac): Renamed. (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function. (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function. (WebCore::TextCodecMac::decode): Updated for changes to types. (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization since this is now handled by the caller. * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter, which is only encodings that are not supported by ICU. * platform/make-charset-table.pl: Removed flags from output. We don't use them any more. * platform/CharsetData.h: Changed from a platform-independent header into a Macintosh-specific one. A later patch should move this and rename it. Also subsumes ExtraCFEncodings.h. * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the "make character sets" rule to be kTextEncoding instead of kCFStringEncoding. * loader/Decoder.h: Change the default encoding parameter to the constructor to be a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions, since TextEncoding supports both directly in a straightforward way. Changed both decode and flush functions to return String instead of DeprecatedString. Added a number of private functions to factor this class a bit more so it's easier to read. Got rid of a number of redundant data members. Changed the buffer to a Vector. * loader/Decoder.cpp: (WebCore::Decoder::determineContentType): Added. Used by constructor to determine the content type based on the passed-in MIME type. (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the default encoding based on the passed in default and the content type. (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed m_reachedBody to m_checkedForHeadCharset. (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather than an encoding name. (WebCore::Decoder::checkForBOM): Factored out of decode. (WebCore::Decoder::checkForCSSCharset): Factored out of decode. (WebCore::Decoder::checkForHeadCharset): Factored out of decode. (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode. (WebCore::Decoder::decode): Refactored so it's no longer one huge function. Changed to use the new Vector and the new API for TextDecoder. (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in practice since we don't re-use the decoder after flushing it. * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching to. We'll switch away from the ICU ::UChar type, because we don't want to be so closely tied to ICU -- include this instead of . * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::latin1): Updated for changes to TextEncoding. (WebCore::String::utf8): Ditto. (WebCore::String::newUninitialized): Added. Gives a way to create a String and then write directly into its buffer. * platform/StringImpl.h: Changed return value for charactersWithNullTermination to be a const UChar*. While it's true that this function changes the underlying StringImpl, the characters still shouldn't be modified with the returned pointer. * platform/StringImpl.cpp: (WebCore::StringImpl::charactersWithNullTermination): Updated for change above. (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl and then write directly into its buffer. * platform/CString.h: * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way to create a CString and then write directly into its buffer. * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced +[WebCoreFrameBridge stringWithData:textEncoding:] with -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding IDs around. * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion to DeprecatedString. (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto. (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto. (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString. (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder what its encoding is, and decodes using that. (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it no longer involved a text encoding ID number. (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]): Changed to use UChar instead of DeprecatedChar. (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed now-unneeded conversion to DeprecatedString. (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto. * html/HTMLFormElement.cpp: (WebCore::encodeCString): Changed parameter to CString. (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding. * loader/CachedCSSStyleSheet.h: * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the decoder was created without passing in the character set. Also changed from DeprecatedString to String. (WebCore::CachedCSSStyleSheet::setCharset): More of the same. * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed to use String instead of DeprecatedString, UChar instead of DeprecatedChar, CString instead of DeprecatedCString, etc. * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto. * bridge/mac/FrameMac.h: Ditto. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt): Ditto. * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject helpText]): Ditto. (-[WebCoreAXObject value]): Ditto. (-[WebCoreAXObject accessibilityDescription]): Ditto. (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto. * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto. Also fixed code that does a deref without a ref to use RefPtr instead. * bridge/mac/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto. * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings setDefaultTextEncoding:]): Ditto. * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto. * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto. * dom/Document.h: * dom/Document.cpp: (WebCore::Document::setCharset): Ditto. (WebCore::Document::write): Ditto. (WebCore::Document::determineParseMode): Ditto. * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): Ditto. * dom/XMLTokenizer.h: * dom/XMLTokenizer.cpp: (WebCore::shouldAllowExternalLoad): Ditto. (WebCore::createStringParser): Ditto. (WebCore::XMLTokenizer::write): Ditto. (WebCore::toString): Ditto. (WebCore::handleElementAttributes): Ditto. (WebCore::XMLTokenizer::startElementNs): Ditto. (WebCore::XMLTokenizer::endElementNs): Ditto. (WebCore::XMLTokenizer::characters): Ditto. (WebCore::XMLTokenizer::processingInstruction): Ditto. (WebCore::XMLTokenizer::cdataBlock): Ditto. (WebCore::XMLTokenizer::comment): Ditto. (WebCore::XMLTokenizer::internalSubset): Ditto. (WebCore::getXHTMLEntity): Ditto. (WebCore::externalSubsetHandler): Ditto. (WebCore::XMLTokenizer::initializeParserContext): Ditto. (WebCore::XMLTokenizer::notifyFinished): Ditto. (WebCore::xmlDocPtrForString): Ditto. (WebCore::parseXMLDocumentFragment): Ditto. (WebCore::attributesStartElementNsHandler): Ditto. (WebCore::parseAttributes): Ditto. * html/FormDataList.h: * html/FormDataList.cpp: (WebCore::FormDataList::appendString): Ditto. Also changed to call the encoding function by its new name and with new parameters. (WebCore::FormDataList::appendFile): Ditto. * html/HTMLDocument.h: * html/HTMLDocument.cpp: (WebCore::parseDocTypePart): Ditto. (WebCore::containsString): Ditto. (WebCore::parseDocTypeDeclaration): Ditto. (WebCore::HTMLDocument::determineParseMode): Ditto. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto. * html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto. * html/HTMLTokenizer.h: * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): Ditto. (WebCore::HTMLTokenizer::parseTag): Ditto. (WebCore::HTMLTokenizer::write): Ditto. (WebCore::HTMLTokenizer::finish): Ditto. (WebCore::parseHTMLDocumentFragment): Ditto. * loader/Cache.h: * loader/Cache.cpp: (WebCore::Cache::requestStyleSheet): Ditto. (WebCore::Cache::requestScript): Ditto. * loader/CachedResource.h: Ditto. * loader/CachedScript.h: * loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript): Ditto. (WebCore::CachedScript::ref): Ditto. (WebCore::CachedScript::deref): Ditto. (WebCore::CachedScript::setCharset): Ditto. (WebCore::CachedScript::data): Ditto. (WebCore::CachedScript::checkNotify): Ditto. * loader/CachedXBLDocument.h: * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::setCharset): Ditto. * loader/CachedXSLStyleSheet.h: * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::setCharset): Ditto. * loader/DocLoader.cpp: (WebCore::DocLoader::requestStyleSheet): Ditto. (WebCore::DocLoader::requestScript): Ditto. * loader/DocLoader.h: Ditto. * loader/FormData.h: * loader/FormData.cpp: (WebCore::FormData::FormData): Ditto. (WebCore::FormData::appendFile): Ditto. (WebCore::FormData::flattenToString): Ditto. * page/Frame.h: * page/FramePrivate.h: * page/Frame.cpp: (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto. (WebCore::getString): Ditto. (WebCore::Frame::replaceContentsWithScriptResult): Ditto. (WebCore::Frame::executeScript): Ditto. (WebCore::Frame::clear): Ditto. (WebCore::Frame::write): Ditto. (WebCore::Frame::endIfNotLoading): Ditto. (WebCore::Frame::baseTarget): Ditto. (WebCore::Frame::scheduleRedirection): Ditto. (WebCore::Frame::scheduleLocationChange): Ditto. (WebCore::Frame::scheduleHistoryNavigation): Ditto. (WebCore::Frame::changeLocation): Ditto. (WebCore::Frame::redirectionTimerFired): Ditto. (WebCore::Frame::encoding): Ditto. (WebCore::Frame::submitForm): Ditto. (WebCore::Frame::referrer): Ditto. (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto. (WebCore::Frame::setEncoding): Ditto. * page/Settings.h: Ditto. * platform/SegmentedString.h: Ditto. * platform/SegmentedString.cpp: Ditto. * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto. * xml/XSLTProcessor.cpp: (WebCore::transformTextStringToXHTMLDocumentString): Ditto. (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. * xml/xmlhttprequest.h: * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::open): Ditto. (WebCore::XMLHttpRequest::send): Ditto. (WebCore::XMLHttpRequest::receivedData): Ditto. * platform/DeprecatedString.cpp: (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding. (WebCore::DeprecatedString::utf8): Ditto. * platform/KURL.h: * platform/KURL.cpp: (WebCore::KURL::KURL): Updated to overload based on presence or absence of TextEncoding rather than having a default. (WebCore::KURL::init): Moved body of constructor in here. Updated to use the new TextEncoding interface. (WebCore::KURL::decode_string): Updated to overload based on presence or absence of TextEncoding rather than having a default. Updated to use the new TextEncoding interface. (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface. * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed code to use U_ZERO_ERROR instead of a typecast. * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString. * platform/GraphicsContext.h: Ditto. * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h". * rendering/break_lines.cpp: Ditto. * xml/XMLSerializer.cpp: Ditto. * platform/mac/FontDataMac.mm: Removed unneeded include of . * platform/CharsetNames.h: Emptied out this file. A later patch could remove it. * platform/CharsetNames.cpp: Ditto. * platform/mac/ExtraCFEncodings.h: Ditto. 2006-09-05 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10490 -> Remove all SVGAnimated* usage from ksvg2. This is all done using a set of macros which live in svg/SVGElement.h (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS). Transform all properties to this new concept using Eric ruby script. -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()". -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()". -> Add "virtual const SVGElement* contextElement() const". This concept allows to access the document (needed to access the SVGDocumentExtensions) from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc. These classes contain this contextElement() function as pure virtual functions. The topmost classes (like SVGCircleElement) implement this function with "return this". -> Move default value initialization to constructors. As the lazy_create usage, which was involved in default property initialization, has been removed, we need to do the initialization in the constructor. This forces us to fix the SVGLength class, as calling viewportElement() from the constructor does not work. This SVGLength cleanup is one of the next things to fix. * bindings/scripts/CodeGeneratorJS.pm: * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::translationForAttributes): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): (WebCore::RenderSVGImage::relativeBBox): (WebCore::RenderSVGImage::getAbsoluteRepaintRect): (WebCore::RenderSVGImage::translationForAttributes): * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::translationForAttributes): * ksvg2/misc/KSVGTimeScheduler.cpp: (WebCore::SVGTimer::notifyAll): * ksvg2/misc/SVGDocumentExtensions.cpp: * ksvg2/misc/SVGDocumentExtensions.h: (WebCore::SVGDocumentExtensions::baseValueMap): (WebCore::SVGDocumentExtensions::baseValue): (WebCore::SVGDocumentExtensions::setBaseValue): (WebCore::SVGDocumentExtensions::hasBaseValue): (WebCore::String): (WebCore::bool): (WebCore::double): * ksvg2/misc/SVGImageLoader.cpp: (WebCore::SVGImageLoader::updateFromElement): * ksvg2/svg/SVGAElement.cpp: (WebCore::SVGAElement::parseMappedAttribute): (WebCore::SVGAElement::defaultEventHandler): * ksvg2/svg/SVGAElement.h: (WebCore::SVGAElement::contextElement): * ksvg2/svg/SVGAnimateColorElement.h: (WebCore::SVGAnimateColorElement::contextElement): * ksvg2/svg/SVGAnimateElement.h: (WebCore::SVGAnimateElement::contextElement): * ksvg2/svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::handleTimerEvent): (WebCore::SVGAnimateTransformElement::initialMatrix): * ksvg2/svg/SVGAnimateTransformElement.h: (WebCore::SVGAnimateTransformElement::contextElement): * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::SVGCircleElement): (SVGCircleElement::parseMappedAttribute): (SVGCircleElement::toPathData): (SVGCircleElement::pushAttributeContext): * ksvg2/svg/SVGCircleElement.h: (WebCore::SVGCircleElement::contextElement): * ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::SVGClipPathElement): (SVGClipPathElement::parseMappedAttribute): (SVGClipPathElement::canvasResource): * ksvg2/svg/SVGClipPathElement.h: (WebCore::SVGClipPathElement::contextElement): * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): (SVGComponentTransferFunctionElement::parseMappedAttribute): (SVGComponentTransferFunctionElement::transferFunction): * ksvg2/svg/SVGComponentTransferFunctionElement.h: * ksvg2/svg/SVGCursorElement.cpp: (SVGCursorElement::SVGCursorElement): (SVGCursorElement::parseMappedAttribute): * ksvg2/svg/SVGCursorElement.h: (WebCore::SVGCursorElement::contextElement): * ksvg2/svg/SVGDefsElement.h: (WebCore::SVGDefsElement::contextElement): * ksvg2/svg/SVGElement.h: * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::SVGEllipseElement): (WebCore::SVGEllipseElement::parseMappedAttribute): (WebCore::SVGEllipseElement::toPathData): (WebCore::SVGEllipseElement::pushAttributeContext): * ksvg2/svg/SVGEllipseElement.h: (WebCore::SVGEllipseElement::contextElement): * ksvg2/svg/SVGExternalResourcesRequired.cpp: (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired): (WebCore::SVGExternalResourcesRequired::parseMappedAttribute): * ksvg2/svg/SVGExternalResourcesRequired.h: * ksvg2/svg/SVGFEBlendElement.cpp: (SVGFEBlendElement::SVGFEBlendElement): (SVGFEBlendElement::parseMappedAttribute): (SVGFEBlendElement::filterEffect): * ksvg2/svg/SVGFEBlendElement.h: (WebCore::SVGFEBlendElement::contextElement): * ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::SVGFEColorMatrixElement): (SVGFEColorMatrixElement::parseMappedAttribute): (SVGFEColorMatrixElement::filterEffect): * ksvg2/svg/SVGFEColorMatrixElement.h: (WebCore::SVGFEColorMatrixElement::contextElement): * ksvg2/svg/SVGFEComponentTransferElement.cpp: (SVGFEComponentTransferElement::SVGFEComponentTransferElement): (SVGFEComponentTransferElement::parseMappedAttribute): (SVGFEComponentTransferElement::filterEffect): * ksvg2/svg/SVGFEComponentTransferElement.h: (WebCore::SVGFEComponentTransferElement::contextElement): * ksvg2/svg/SVGFECompositeElement.cpp: (SVGFECompositeElement::SVGFECompositeElement): (SVGFECompositeElement::parseMappedAttribute): (SVGFECompositeElement::filterEffect): * ksvg2/svg/SVGFECompositeElement.h: (WebCore::SVGFECompositeElement::contextElement): * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): (WebCore::SVGFEDiffuseLightingElement::filterEffect): * ksvg2/svg/SVGFEDiffuseLightingElement.h: (WebCore::SVGFEDiffuseLightingElement::contextElement): * ksvg2/svg/SVGFEDisplacementMapElement.cpp: (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): (SVGFEDisplacementMapElement::parseMappedAttribute): (SVGFEDisplacementMapElement::filterEffect): * ksvg2/svg/SVGFEDisplacementMapElement.h: (WebCore::SVGFEDisplacementMapElement::contextElement): * ksvg2/svg/SVGFEDistantLightElement.cpp: (WebCore::SVGFEDistantLightElement::lightSource): * ksvg2/svg/SVGFEFloodElement.cpp: (SVGFEFloodElement::parseMappedAttribute): (SVGFEFloodElement::filterEffect): * ksvg2/svg/SVGFEFloodElement.h: (WebCore::SVGFEFloodElement::contextElement): * ksvg2/svg/SVGFEGaussianBlurElement.cpp: (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): (SVGFEGaussianBlurElement::parseMappedAttribute): (SVGFEGaussianBlurElement::filterEffect): * ksvg2/svg/SVGFEGaussianBlurElement.h: (WebCore::SVGFEGaussianBlurElement::contextElement): * ksvg2/svg/SVGFEImageElement.cpp: (SVGFEImageElement::SVGFEImageElement): (SVGFEImageElement::parseMappedAttribute): * ksvg2/svg/SVGFEImageElement.h: (WebCore::SVGFEImageElement::contextElement): * ksvg2/svg/SVGFELightElement.cpp: (SVGFELightElement::SVGFELightElement): (SVGFELightElement::parseMappedAttribute): * ksvg2/svg/SVGFELightElement.h: * ksvg2/svg/SVGFEMergeElement.cpp: (SVGFEMergeElement::SVGFEMergeElement): (SVGFEMergeElement::filterEffect): * ksvg2/svg/SVGFEMergeElement.h: (WebCore::SVGFEMergeElement::contextElement): * ksvg2/svg/SVGFEMergeNodeElement.cpp: (SVGFEMergeNodeElement::parseMappedAttribute): * ksvg2/svg/SVGFEMergeNodeElement.h: (WebCore::SVGFEMergeNodeElement::contextElement): * ksvg2/svg/SVGFEOffsetElement.cpp: (SVGFEOffsetElement::SVGFEOffsetElement): (SVGFEOffsetElement::parseMappedAttribute): (SVGFEOffsetElement::filterEffect): * ksvg2/svg/SVGFEOffsetElement.h: (WebCore::SVGFEOffsetElement::contextElement): * ksvg2/svg/SVGFEPointLightElement.cpp: (WebCore::SVGFEPointLightElement::lightSource): * ksvg2/svg/SVGFESpecularLightingElement.cpp: (SVGFESpecularLightingElement::SVGFESpecularLightingElement): (SVGFESpecularLightingElement::parseMappedAttribute): (SVGFESpecularLightingElement::filterEffect): * ksvg2/svg/SVGFESpecularLightingElement.h: (WebCore::SVGFESpecularLightingElement::contextElement): * ksvg2/svg/SVGFESpotLightElement.cpp: (WebCore::SVGFESpotLightElement::lightSource): * ksvg2/svg/SVGFETileElement.cpp: (SVGFETileElement::parseMappedAttribute): (SVGFETileElement::filterEffect): * ksvg2/svg/SVGFETileElement.h: (WebCore::SVGFETileElement::contextElement): * ksvg2/svg/SVGFETurbulenceElement.cpp: (SVGFETurbulenceElement::SVGFETurbulenceElement): (SVGFETurbulenceElement::parseMappedAttribute): (SVGFETurbulenceElement::filterEffect): * ksvg2/svg/SVGFETurbulenceElement.h: (WebCore::SVGFETurbulenceElement::contextElement): * ksvg2/svg/SVGFilterElement.cpp: (SVGFilterElement::SVGFilterElement): (SVGFilterElement::parseMappedAttribute): (SVGFilterElement::canvasResource): * ksvg2/svg/SVGFilterElement.h: (WebCore::SVGFilterElement::contextElement): * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: (SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes): (SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes): (SVGFilterPrimitiveStandardAttributes::parseMappedAttribute): (SVGFilterPrimitiveStandardAttributes::setStandardAttributes): * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): * ksvg2/svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::SVGFitToViewBox): (WebCore::SVGFitToViewBox::parseViewBox): (WebCore::SVGFitToViewBox::viewBoxToViewTransform): (WebCore::SVGFitToViewBox::parseMappedAttribute): * ksvg2/svg/SVGFitToViewBox.h: * ksvg2/svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): (WebCore::SVGForeignObjectElement::parseMappedAttribute): * ksvg2/svg/SVGForeignObjectElement.h: (WebCore::SVGForeignObjectElement::isValid): (WebCore::SVGForeignObjectElement::contextElement): * ksvg2/svg/SVGGElement.h: (WebCore::SVGGElement::contextElement): * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::SVGGradientElement): (SVGGradientElement::parseMappedAttribute): (SVGGradientElement::rebuildStops): * ksvg2/svg/SVGGradientElement.h: * ksvg2/svg/SVGHelper.cpp: (WebCore::SVGHelper::PercentageOfViewport): * ksvg2/svg/SVGImageElement.cpp: (SVGImageElement::SVGImageElement): (SVGImageElement::parseMappedAttribute): (SVGImageElement::haveLoadedRequiredResources): * ksvg2/svg/SVGImageElement.h: (WebCore::SVGImageElement::contextElement): * ksvg2/svg/SVGLangSpace.h: * ksvg2/svg/SVGLength.cpp: * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::SVGLineElement): (SVGLineElement::parseMappedAttribute): (SVGLineElement::toPathData): (SVGLineElement::pushAttributeContext): * ksvg2/svg/SVGLineElement.h: (WebCore::SVGLineElement::contextElement): * ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::SVGLinearGradientElement): (SVGLinearGradientElement::parseMappedAttribute): (SVGLinearGradientElement::buildGradient): * ksvg2/svg/SVGLinearGradientElement.h: (WebCore::SVGLinearGradientElement::contextElement): * ksvg2/svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::SVGMarkerElement): (WebCore::SVGMarkerElement::parseMappedAttribute): (WebCore::SVGMarkerElement::setOrientToAuto): (WebCore::SVGMarkerElement::setOrientToAngle): (WebCore::SVGMarkerElement::canvasResource): * ksvg2/svg/SVGMarkerElement.h: (WebCore::SVGMarkerElement::contextElement): * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::SVGMaskElement): (WebCore::SVGMaskElement::attributeChanged): (WebCore::SVGMaskElement::parseMappedAttribute): (WebCore::SVGMaskElement::drawMaskerContent): * ksvg2/svg/SVGMaskElement.h: (WebCore::SVGMaskElement::contextElement): * ksvg2/svg/SVGPathElement.cpp: (WebCore::SVGPathElement::SVGPathElement): * ksvg2/svg/SVGPathElement.h: (WebCore::SVGPathElement::isValid): (WebCore::SVGPathElement::contextElement): * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::SVGPatternElement): (WebCore::SVGPatternElement::parseMappedAttribute): (WebCore::SVGPatternElement::pushAttributeContext): (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::drawPatternContentIntoTile): (WebCore::SVGPatternElement::notifyAttributeChange): (WebCore::SVGPatternElement::getCTM): * ksvg2/svg/SVGPatternElement.h: (WebCore::SVGPatternElement::contextElement): * ksvg2/svg/SVGPolyElement.h: (WebCore::SVGPolyElement::contextElement): * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): (WebCore::SVGRadialGradientElement::~SVGRadialGradientElement): (WebCore::SVGRadialGradientElement::parseMappedAttribute): (WebCore::SVGRadialGradientElement::buildGradient): * ksvg2/svg/SVGRadialGradientElement.h: (WebCore::SVGRadialGradientElement::contextElement): * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::SVGRectElement): (WebCore::SVGRectElement::parseMappedAttribute): (WebCore::SVGRectElement::toPathData): (WebCore::SVGRectElement::pushAttributeContext): * ksvg2/svg/SVGRectElement.h: (WebCore::SVGRectElement::contextElement): * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::~SVGSVGElement): (WebCore::SVGSVGElement::viewport): (WebCore::SVGSVGElement::parseMappedAttribute): (WebCore::SVGSVGElement::getCTM): (WebCore::SVGSVGElement::getScreenCTM): (WebCore::SVGSVGElement::createRenderer): * ksvg2/svg/SVGSVGElement.h: (WebCore::SVGSVGElement::contextElement): * ksvg2/svg/SVGScriptElement.h: (WebCore::SVGScriptElement::contextElement): * ksvg2/svg/SVGSetElement.h: (WebCore::SVGSetElement::contextElement): * ksvg2/svg/SVGStopElement.cpp: (SVGStopElement::SVGStopElement): (SVGStopElement::parseMappedAttribute): * ksvg2/svg/SVGStopElement.h: * ksvg2/svg/SVGStylable.h: * ksvg2/svg/SVGStyledElement.cpp: * ksvg2/svg/SVGStyledElement.h: * ksvg2/svg/SVGStyledTransformableElement.cpp: (SVGStyledTransformableElement::SVGStyledTransformableElement): (SVGStyledTransformableElement::parseMappedAttribute): * ksvg2/svg/SVGStyledTransformableElement.h: * ksvg2/svg/SVGSwitchElement.cpp: * ksvg2/svg/SVGSwitchElement.h: (WebCore::SVGSwitchElement::contextElement): * ksvg2/svg/SVGSymbolElement.h: (WebCore::SVGSymbolElement::contextElement): * ksvg2/svg/SVGTRefElement.cpp: (SVGTRefElement::updateReferencedText): * ksvg2/svg/SVGTRefElement.h: (WebCore::SVGTRefElement::contextElement): * ksvg2/svg/SVGTSpanElement.h: (WebCore::SVGTSpanElement::contextElement): * ksvg2/svg/SVGTextContentElement.cpp: (SVGTextContentElement::SVGTextContentElement): (SVGTextContentElement::parseMappedAttribute): * ksvg2/svg/SVGTextContentElement.h: * ksvg2/svg/SVGTextElement.cpp: (WebCore::SVGTextElement::SVGTextElement): (WebCore::SVGTextElement::parseMappedAttribute): * ksvg2/svg/SVGTextElement.h: (WebCore::SVGTextElement::contextElement): * ksvg2/svg/SVGTextPositioningElement.cpp: (SVGTextPositioningElement::SVGTextPositioningElement): (SVGTextPositioningElement::parseMappedAttribute): * ksvg2/svg/SVGTextPositioningElement.h: * ksvg2/svg/SVGTransformable.cpp: * ksvg2/svg/SVGTransformable.h: * ksvg2/svg/SVGURIReference.cpp: (SVGURIReference::parseMappedAttribute): * ksvg2/svg/SVGURIReference.h: * ksvg2/svg/SVGUseElement.cpp: (SVGUseElement::SVGUseElement): (SVGUseElement::parseMappedAttribute): (SVGUseElement::closeRenderer): * ksvg2/svg/SVGUseElement.h: (WebCore::SVGUseElement::contextElement): * ksvg2/svg/SVGViewElement.h: (WebCore::SVGViewElement::contextElement): 2006-09-05 Eric Seidel Reviewed by aroben. Speed up path parsing by removing string copies. http://bugs.webkit.org/show_bug.cgi?id=10722 Tests already cover path parsing. * ksvg2/svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::parseViewBox): * ksvg2/svg/svgpathparser.cpp: (WebCore::skipOptionalSpaces): Added. (WebCore::skipOptionalSpacesOrComma): Added. (WebCore::parseCoord): (WebCore::SVGPolyParser::parsePoints): (WebCore::SVGPathParser::parseSVG): 2006-09-05 Sam Weinig Reviewed by Tim H. Patch for http://bugs.webkit.org/show_bug.cgi?id=10742 More Objective-C DOM auto-generation cleanup - Factor out implementation type-getters into their own function and standardize naming as was done for type-makers (ie. HTML and CSS prefixing for method names). * bindings/objc/DOMCSS.mm: (-[DOMCSSStyleDeclaration getPropertyShorthand:]): (-[DOMCSSStyleDeclaration isPropertyImplicit:]): (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]): * bindings/objc/DOMHTML.mm: (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]): (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]): (-[DOMHTMLTableElement _HTMLTableElement]): (-[DOMHTMLTableCellElement _HTMLTableCellElement]): (-[DOMHTMLEmbedElement _HTMLEmbedElement]): (-[DOMHTMLEmbedElement align]): (-[DOMHTMLEmbedElement setAlign:]): (-[DOMHTMLEmbedElement height]): (-[DOMHTMLEmbedElement setHeight:]): (-[DOMHTMLEmbedElement name]): (-[DOMHTMLEmbedElement setName:]): (-[DOMHTMLEmbedElement src]): (-[DOMHTMLEmbedElement setSrc:]): (-[DOMHTMLEmbedElement type]): (-[DOMHTMLEmbedElement setType:]): (-[DOMHTMLEmbedElement width]): (-[DOMHTMLEmbedElement setWidth:]): * bindings/objc/DOMInternal.h: * bindings/scripts/CodeGeneratorObjC.pm: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]): (-[WebCoreFrameBridge applyStyle:withUndoAction:]): (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]): (-[WebCoreFrameBridge selectionStartHasStyle:]): (-[WebCoreFrameBridge selectionHasStyle:]): 2006-09-05 Adele Peterson Reviewed by Adam. Removed dead code for password field. * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]): * platform/mac/WebCoreTextField.h: * platform/mac/WebCoreTextField.mm: 2006-09-05 Justin Garcia Reviewed by thatcher Setup for Misspellings aren't marked after undo delete Fixes: SelectionController's setters should notify delegates of selection changes Moved setSelection from Frame to SelectionController. I haven't moved any of the work that's done as a result of a Selection change to SelectionController yet. Make fewer uses of SelectionControllers. They're now only used for the Frame's selection, the Page's drag caret, and functions that need to do Selection expansion. * bindings/js/kjs_window.cpp: (KJS::Selection::getValueProperty): (KJS::Selection::toString): (KJS::SelectionFunc::callAsFunction): * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::advanceToNextMisspelling): (WebCore::FrameMac::dispatchCPPEvent): (WebCore::FrameMac::fontForSelection): (WebCore::FrameMac::baseWritingDirectionForSelectionStart): (WebCore::FrameMac::markMisspellingsInAdjacentWords): (WebCore::FrameMac::markMisspellings): (WebCore::FrameMac::respondToChangedSelection): (WebCore::FrameMac::shouldChangeSelection): (WebCore::FrameMac::shouldDeleteSelection): (WebCore::FrameMac::respondToChangedContents): * bridge/mac/PageMac.mm: (WebCore::Page::Page): * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityAttributeValue:]): (-[WebCoreAXObject doAXTextMarkerRangeForLine:]): (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]): (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]): * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionEditable]): (-[WebCoreFrameBridge isSelectionRichlyEditable]): (-[WebCoreFrameBridge selectionState]): (-[WebCoreFrameBridge deselectText]): (-[WebCoreFrameBridge selectedAttributedString]): (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]): (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]): (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]): (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]): (-[WebCoreFrameBridge selectedDOMRange]): (-[WebCoreFrameBridge selectNSRange:]): (-[WebCoreFrameBridge selectedNSRange]): (-[WebCoreFrameBridge selectionAffinity]): (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]): (-[WebCoreFrameBridge setSelectionToDragCaret]): (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): (-[WebCoreFrameBridge moveDragCaretToPoint:]): (-[WebCoreFrameBridge removeDragCaret]): (-[WebCoreFrameBridge dragCaretDOMRange]): (-[WebCoreFrameBridge isDragCaretRichlyEditable]): (-[WebCoreFrameBridge editableDOMRangeForPoint:]): (-[WebCoreFrameBridge ensureSelectionVisible]): (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]): * bridge/win/PageWin.cpp: (WebCore::Page::Page): * dom/Document.cpp: (WebCore::Document::updateSelection): (WebCore::Document::clearSelectionIfNeeded): (WebCore::Document::notifyBeforeNodeRemoval): * dom/Element.cpp: (WebCore::Element::updateFocusAppearance): * editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): * editing/JSEditor.cpp: * editing/ModifySelectionListLevel.cpp: (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): * editing/Selection.cpp: (WebCore::Selection::setBase): (WebCore::Selection::setExtent): * editing/Selection.h: (WebCore::Selection::extent): * editing/SelectionController.cpp: (WebCore::SelectionController::SelectionController): (WebCore::SelectionController::moveTo): (WebCore::SelectionController::setSelection): (WebCore::SelectionController::nodeWillBeRemoved): (WebCore::SelectionController::modify): (WebCore::SelectionController::clear): (WebCore::SelectionController::setBase): (WebCore::SelectionController::setExtent): * editing/SelectionController.h: * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::caretRect): * editing/VisiblePosition.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): * page/Frame.cpp: (WebCore::Frame::selectedText): (WebCore::Frame::hasSelection): (WebCore::Frame::selectionController): (WebCore::Frame::dragCaretController): (WebCore::Frame::notifyRendererOfSelectionChange): (WebCore::Frame::invalidateSelection): (WebCore::Frame::clearCaretRectIfNeeded): (WebCore::Frame::setFocusNodeIfNeeded): (WebCore::Frame::selectionLayoutChanged): (WebCore::Frame::caretBlinkTimerFired): (WebCore::Frame::paintCaret): (WebCore::Frame::paintDragCaret): (WebCore::Frame::isPointInsideSelection): (WebCore::Frame::selectClosestWordFromMouseEvent): (WebCore::Frame::handleMousePressEventDoubleClick): (WebCore::Frame::handleMousePressEventTripleClick): (WebCore::Frame::handleMousePressEventSingleClick): (WebCore::Frame::handleMouseMoveEvent): (WebCore::Frame::handleMouseReleaseEvent): (WebCore::Frame::selectAll): (WebCore::Frame::selectContentsOfNode): (WebCore::Frame::shouldChangeSelection): (WebCore::Frame::shouldDeleteSelection): (WebCore::Frame::isSelectionInPasswordField): (WebCore::Frame::appliedEditing): (WebCore::Frame::unappliedEditing): (WebCore::Frame::reappliedEditing): (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::applyStyle): (WebCore::Frame::applyParagraphStyle): (WebCore::Frame::selectionListState): (WebCore::Frame::selectionHasStyle): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::selectFrameElementInParentIfFullySelected): (WebCore::Frame::currentForm): (WebCore::Frame::revealSelection): (WebCore::Frame::centerSelectionInVisibleArea): (WebCore::Frame::styleForSelectionStart): (WebCore::Frame::setSelectionFromNone): (WebCore::Frame::findString): * page/Frame.h: * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): * page/FrameView.cpp: (WebCore::FrameView::clear): * page/Page.cpp: (WebCore::Page::dragCaretController): * page/Page.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintCaret): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::selectionStart): (WebCore::RenderTextControl::selectionEnd): (WebCore::RenderTextControl::setSelectionRange): (WebCore::RenderTextControl::selectionChanged): * rendering/RenderTreeAsText.cpp: (WebCore::writeSelection): 2006-09-05 Adele Peterson Reviewed by Adam. Let the engine draw the focus ring for styled menu lists. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance. 2006-09-05 Adele Peterson Reviewed by Adam. - Fix for REGRESSION: Must click twice on * css/html4.css: Give input[password] the same style properties as normal text fields. * html/HTMLInputElement.cpp: Removed checks for TextFieldAppearance. (WebCore::HTMLInputElement::selectionStart): (WebCore::HTMLInputElement::selectionEnd): (WebCore::HTMLInputElement::setSelectionStart): (WebCore::HTMLInputElement::setSelectionEnd): (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::setSelectionRange): (WebCore::HTMLInputElement::createRenderer): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): 2006-09-01 Brady Eidson Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one) Added some constants for SQL Result Codes to SQLDatabase.h This way, users of SQLDatabase can access all necessary SQLite functionality without having access to sqlite3.h. Also reordered some files in the xcodeproj and some #includes * WebCore.xcodeproj/project.pbxproj: Reordered some files * loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::writeToDatabase): Use our new result codes * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::sharedIconDatabase): Use our new result codes (WebCore::IconDatabase::retainIconForPageURL): Use our new result codes (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Use our new result codes (WebCore::IconDatabase::addIconForIconURLQuery): Use our new result codes (WebCore::IconDatabase::hasIconForIconURLQuery): Use our new result codes * loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::lastError): Moved from header to eliminate dependency on sqlite3.h in header (WebCore::SQLDatabase::lastErrorMsg): Ditto * loader/icon/SQLDatabase.h: Removed #include * loader/icon/SQLStatement.cpp: Added #include * loader/icon/SQLStatement.h: Removed #include 2006-09-01 David Hyatt Fix for 10680, contrained flexbox is not shrinking flexible children properly. (Fixing in case it's hit by the file upload control.) Reviewed by aroben Adding 026.html to fast/flexbox. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::allowedChildFlex): 2006-09-01 Nikolas Zimmermann Reviewed by eseidel. Landed by eseidel. Implement support for multiple parents in the SVG idls. For class "FooBar" go through all parents recursively, collect their attributes & functions & constants and add them directly into the class "FooBar". (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first) * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/generate-bindings.pl: 2006-09-02 Nikolas Zimmermann Reviewed by hyatt. Landed by eseidel. Fix build on Linux. * CMakeLists.txt: Add platform/CString.cpp. * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature 2006-09-01 Darin Adler Reviewed by Brady. - a few small tweaks to the icon database bridge * bridge/mac/WebCoreIconDatabaseBridge.h: Removed unnecessary declarations. Renamed sharedBridgeInstance to sharedInstance. * bridge/mac/WebCoreIconDatabaseBridge.mm: Put functions inside WebCore namespace. (WebCore::IconDatabase::loadIconFromURL): Updated for sharedInstance namespace. 2006-09-01 Timothy Hatcher Reviewed by Darin. REGRESSION: can't drag library items to widget in Dashcode REGRESSION: Unit Converter widget doesn't work convert data in its fields jsNull should not be returned as NSNull because existing applications do not expect that return value. Return as nil for backwards compatibility. * bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]): 2006-09-01 Alexey Proskuryakov Release build fix. * loader/Decoder.cpp: (Decoder::Decoder): Use String::latin1(). 2006-09-01 Alexey Proskuryakov Reviewed by Eric. - http://bugs.webkit.org/show_bug.cgi?id=5620 Should only honor encoding from in HTML - http://bugs.webkit.org/show_bug.cgi?id=9783 An XML declaration without an explicit encoding incorrectly triggers UTF-8 encoding in an HTML document - http://bugs.webkit.org/show_bug.cgi?id=10155 CSS2: @charset is not supported * loader/Decoder.cpp: (Decoder::Decoder): Decoder now knows what kind of content it is decoding. Also, the browser default encoding can now be passed directly to the constructor, to streamline the logic. (Decoder::decode): Add support for @charset, differentiate between HTML and XML. (Decoder::setEncodingName): Style cleanup. (Decoder::encodingName): Ditto. (Decoder::flush): Ditto. * loader/Decoder.h: (WebCore::Decoder::): * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder. * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): (WebCore::CachedCSSStyleSheet::setCharset): (WebCore::CachedCSSStyleSheet::data): * loader/CachedCSSStyleSheet.h: Use Decoder instead of TextEncoding::toUnicode() to enable @charset support. * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type. * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto. (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe. * page/Frame.cpp: (WebCore::Frame::write): Pass a content type and a default encoding to the Decoder. * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document MIME type. * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::receivedData): Ditto. 2006-09-01 Adele Peterson Reviewed by John. - Fix for http://bugs.webkit.org/show_bug.cgi?id=10580 Password: New secure text field allows non-Roman text entry * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode. (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry. * bridge/mac/FrameMac.h: ditto. * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto. * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto. 2006-09-01 Adele Peterson Reviewed by John. - Fix for http://bugs.webkit.org/show_bug.cgi?id=10665 Password: Disable smartReplace for new password fields * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Don't smart replace when the selection being replaced is in a password field. 2006-08-31 Sam Weinig Reviewed by Tim H. - patch for http://bugs.webkit.org/show_bug.cgi?id=10669 Auto-generate the remaining Objective-C HTML DOM bindings Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement, DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement, DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement, DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement, DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement, DOMHTMLTableCaptionElement, DOMHTMLTableCellElement, DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement, and DOMHTMLTableSectionElement. Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own files. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: (-[DOMHTMLAnchorElement absoluteLinkURL]): (-[DOMHTMLImageElement altDisplayString]): (-[DOMHTMLImageElement absoluteImageURL]): (-[DOMHTMLImageElement WebCore::]): (-[DOMHTMLObjectElement absoluteImageURL]): (-[DOMHTMLObjectElement WebCore::]): (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]): (-[DOMHTMLTableCaptionElement _tableCaptionElement]): (+[DOMHTMLTableSectionElement _tableSectionElementWith:]): (-[DOMHTMLTableSectionElement _tableSectionElement]): (+[DOMHTMLTableElement _tableElementWith:]): (-[DOMHTMLTableElement _tableElement]): (+[DOMHTMLTableCellElement _tableCellElementWith:]): (-[DOMHTMLTableCellElement _tableCellElement]): * bindings/objc/DOMHTMLAppletElement.h: Added. * bindings/objc/DOMHTMLAppletElement.mm: Added. (-[DOMHTMLAppletElement WebCore::]): (-[DOMHTMLAppletElement align]): (-[DOMHTMLAppletElement setAlign:]): (-[DOMHTMLAppletElement alt]): (-[DOMHTMLAppletElement setAlt:]): (-[DOMHTMLAppletElement archive]): (-[DOMHTMLAppletElement setArchive:]): (-[DOMHTMLAppletElement code]): (-[DOMHTMLAppletElement setCode:]): (-[DOMHTMLAppletElement codeBase]): (-[DOMHTMLAppletElement setCodeBase:]): (-[DOMHTMLAppletElement height]): (-[DOMHTMLAppletElement setHeight:]): (-[DOMHTMLAppletElement hspace]): (-[DOMHTMLAppletElement setHspace:]): (-[DOMHTMLAppletElement name]): (-[DOMHTMLAppletElement setName:]): (-[DOMHTMLAppletElement object]): (-[DOMHTMLAppletElement setObject:]): (-[DOMHTMLAppletElement vspace]): (-[DOMHTMLAppletElement setVspace:]): (-[DOMHTMLAppletElement width]): (-[DOMHTMLAppletElement setWidth:]): * bindings/objc/DOMHTMLInternal.h: * bindings/objc/DOMHTMLOptionElement.h: Added. * bindings/objc/DOMHTMLOptionElement.mm: Added. (-[DOMHTMLOptionElement WebCore::]): (-[DOMHTMLOptionElement form]): (-[DOMHTMLOptionElement defaultSelected]): (-[DOMHTMLOptionElement setDefaultSelected:]): (-[DOMHTMLOptionElement text]): (-[DOMHTMLOptionElement index]): (-[DOMHTMLOptionElement disabled]): (-[DOMHTMLOptionElement setDisabled:]): (-[DOMHTMLOptionElement label]): (-[DOMHTMLOptionElement setLabel:]): (-[DOMHTMLOptionElement selected]): (-[DOMHTMLOptionElement setSelected:]): (-[DOMHTMLOptionElement value]): (-[DOMHTMLOptionElement setValue:]): * bindings/objc/DOMPrivate.h: * bindings/scripts/CodeGeneratorObjC.pm: 2006-08-31 Alice Liu Reviewed by Darin. Fixed Switch to use new text field implementation for * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _isTextField]): moved isindex from the list of nonTextInputTypes to the list of textInputTypes * css/html4.css: added isindex to certain rules that applied to input fields * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::canHaveSelection): (WebCore::HTMLInputElement::selectionStart): (WebCore::HTMLInputElement::selectionEnd): (WebCore::HTMLInputElement::setSelectionStart): (WebCore::HTMLInputElement::setSelectionEnd): (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::setSelectionRange): (WebCore::HTMLInputElement::createRenderer): for the 8 methods above, moved the case for isindex to the same case as text * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): added isindex to this test * html/HTMLIsIndexElement.idl: HTMLIsIndexElement inherits from HTMLInputElement * rendering/RenderLineEdit.cpp: (WebCore::RenderLineEdit::RenderLineEdit): removed the case for isindex since we changed the renderer type from a RenderLineEdit to a RenderTextControl in WebCore::HTMLInputElement::createRenderer() 2006-08-31 David Harrison Reviewed by Adele. REGRESSION: Cannot observe an AXTextField element directly ... and most of REGRESSION: TextRange-based attributes are missing from text fields REGRESSION: Expose text areas Remaining work for those two bugs in new bugs: Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements * bridge/AXObjectCache.h: (WebCore::AXObjectCache::postNotificationToElement): * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement): Removed postNotificationToTopWebArea. postNotification now posts to input element or top web area, as appropriate. postNotificationToElement posts to the specified element itself. * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::respondToChangedContents): Take a selection. Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any. * bridge/mac/WebCoreAXObject.h: * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject isWebArea]): (-[WebCoreAXObject isAnchor]): (-[WebCoreAXObject isTextRange]): New convenience methods. (-[WebCoreAXObject role]): (-[WebCoreAXObject roleDescription]) (-[WebCoreAXObject value]): (-[WebCoreAXObject accessibilityDescription]): Support AXTextField and AXTextArea. (-[WebCoreAXObject accessibilityShouldUseUniqueId]): Register AXTextField and AXTextArea elements so notifications to them can be observed. (-[WebCoreAXObject accessibilityIsIgnored]): Use new convenience method isWebArea. (-[WebCoreAXObject accessibilityAttributeNames]): Simplify the array creation. Add text range support. (-[WebCoreAXObject accessibilityAttributeValue:]): Add text range support. (-[WebCoreAXObject canSetFocusAttribute]): (-[WebCoreAXObject canSetValueAttribute]): (-[WebCoreAXObject canSetTextRangeAttributes]): New convenience methods. (-[WebCoreAXObject accessibilityIsAttributeSettable:]): (-[WebCoreAXObject accessibilitySetValue:forAttribute:]): Add text range support. (-[WebCoreAXObject observableObject]): New to locate text field or text area to notify. * dom/Document.cpp: (WebCore::Document::updateSelection): Post AXSelectedTextChanged notification with new selection's start node. postNotification will send it to the input element, if there is one, or the top WebArea. (WebCore::Document::implicitClose): Use postNotificationToElement now that it acts like the old postNotification. * page/Frame.h: * page/Frame.cpp: (WebCore::Frame::appliedEditing): (WebCore::Frame::unappliedEditing): (WebCore::Frame::reappliedEditing): Pass the selection of interest to respondToChangedContents. * page/FrameView.cpp: (WebCore::FrameView::layout): Use postNotificationToElement now that it acts like the old postNotification. 2006-08-31 Adele Peterson Reviewed by Darin. WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10666 Password: Disallow Spelling, Font, Speech, and Writing Direction context menu * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added. * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added. * page/Frame.h: 2006-08-31 Anders Carlsson Reviewed by Tim O, Hyatt. * WebCore.xcodeproj/project.pbxproj: Add KURLCFNet.cpp * platform/KURL.h: Get rid of include, add KURL constructor that takes a CFURLRef. * platform/PlatformString.h: * platform/StringImpl.h: Get rid of include. * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Add constructor. * platform/cf/ResourceLoaderCFNet.cpp: Fix includes. * platform/cf/StringCF.cpp: (WebCore::String::createCFString): Move this here from PlatformString.h * platform/cf/StringImplCF.cpp: (WebCore::StringImpl::createCFString): Fix cast. * platform/mac/KURLMac.mm: Move createCFURL() to KURLCFNet.cpp 2006-08-31 Dave Hyatt Make ScrollBar.cpp suitable for compiling on Windows by removing the #import. Reviewed by adam * platform/ScrollBar.cpp: 2006-08-31 Brady Eidson Reviewed by John Cleaned up my last patch after further considerations * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check for and fix danglers. Does so in all builds (changed from debug only in my last patch) (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs * loader/icon/IconDatabase.h: 2006-08-31 Anders Carlsson Reviewed by Maciej. Add CString. CString is a simple, null-terminated byte buffer that supports data sharing. Its main use is to be a better const char*. Also add latin1 and utf8 methods to String which returns CStrings. * platform/CString.cpp: Added. (WebCore::CString::CString): (WebCore::CString::init): (WebCore::CString::data): (WebCore::CString::length): (WebCore::CString::deprecatedCString): * platform/CString.h: Added. (WebCore::CStringBuffer::CStringBuffer): (WebCore::CStringBuffer::data): (WebCore::CStringBuffer::length): (WebCore::CString::CString): (WebCore::CString::operator const char*): (WebCore::CString::isNull): * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::latin1): (WebCore::String::utf8): 2006-08-31 Brady Eidson Reviewed by Hyatt Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together. * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers * loader/icon/IconDatabase.h: 2006-08-31 Brady Eidson Reviewed by Hyatt Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table, causing icons to be pruned before their time and pages to lose their icons. This is because I misunderstood how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of perform an update. Also added an assertion to make sure this doesn't happen again. * loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke this into an UPDATE attempt followed by the initial INSERT * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening in the future. Note this change will not cause incompatibility with the current schema, therefore I didn't update the official database version number (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future * loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row * loader/icon/SQLDatabase.h: Ditto 2006-08-31 Sam Weinig Reviewed by Tim H. - patch for http://bugs.webkit.org/show_bug.cgi?id=10653 Auto-generate another 20 Objective-C DOM HTML bindings Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement, DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement, DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement, DOMHTMLTextAreaElement, and DOMHTMLUListElement. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement altDisplayString]): (-[DOMHTMLInputElement absoluteImageURL]): (-[DOMHTMLInputElement WebCore::]): (-[DOMHTMLInputElement _rectOnScreen]): (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): (-[DOMHTMLInputElement _selectedRange]): (-[DOMHTMLInputElement _setAutofilled:]): * bindings/objc/DOMHTMLInternal.h: * bindings/objc/DOMPrivate.h: * bindings/scripts/CodeGeneratorObjC.pm: 2006-08-31 Adele Peterson Reviewed by John Sullivan. Removing use of SPI in favor of Carbon API to enable and disable secure event input. * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput. * platform/mac/WebCoreSystemInterface.h: ditto. * platform/mac/WebCoreSystemInterface.mm: ditto. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput. (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled. 2006-08-30 Brady Eidson Reviewed by "common sense" (and Maciej) Fixed two logging typos * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::syncDatabase): 2006-08-30 Adele Peterson Adding missing nil check for focus node. * page/Frame.cpp: (WebCore::Frame::setIsActive): 2006-08-30 Adele Peterson Reviewed by Hyatt. WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10575 Enable secure input mode for new password fields * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput. * platform/mac/WebCoreSystemInterface.h: ditto. * platform/mac/WebCoreSystemInterface.mm: ditto. * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active. * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput. (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry. (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry. * page/Frame.h: (WebCore::Frame::setSecureKeyboardEntry): (WebCore::Frame::secureKeyboardEntry): 2006-08-30 Darin Adler Reviewed by Tim Hatcher. - eliminated the need for UsesPassRefPtr in IDL files - got rid of the category mechanism for ObjC generated DOM headers (after discussions with Tim H where we decided it's not needed) - simplified use of macro inside ObjC generated code * ForwardingHeaders/wtf/GetPtr.h: Added. * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle categories. Eliminated use of DOM_cast since that's for the protection of human programmers -- the script won't make mistakes that it needs to catch. Changed macro to always be named IMPL instead of incorporating the class name. Use WTF::getPtr to extract the pointer, and removed the code that uses .get() to extract the pointer in the PassRefPtr case. * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory. * dom/DOMImplementation.idl: Ditto. * dom/Document.idl: Ditto. * dom/Element.idl: Ditto. * dom/NamedNodeMap.idl: Ditto. * html/HTMLDocument.idl: Ditto. * html/HTMLElement.idl: Ditto. * html/HTMLFormElement.idl: Ditto. * html/HTMLMapElement.idl: Ditto. * html/HTMLSelectElement.idl: Ditto. * html/HTMLTableElement.idl: Ditto. * html/HTMLTableRowElement.idl: Ditto. * html/HTMLTableSectionElement.idl: Ditto. 2006-08-30 Brady Eidson Reviewed by John - Instead of faking the user out with an in-memory icon database if their ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will run as if it was disabled via a preference. Also took the opportunity to change some ASSERTS() to reasonable behavior * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure out there's a problem. (-[WebCoreIconDatabaseBridge closeSharedDatabase]): (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior (-[WebCoreIconDatabaseBridge iconURLForPageURL:]): (-[WebCoreIconDatabaseBridge defaultIconWithSize:]): (-[WebCoreIconDatabaseBridge retainIconForURL:]): (-[WebCoreIconDatabaseBridge releaseIconForURL:]): (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]): (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]): (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]): (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): If we fail to open, return false (WebCore::IconDatabase::~IconDatabase): cleanup better * loader/icon/IconDatabase.h: 2006-08-30 David Harrison Reviewed by John Sullivan. REGRESSION: text field inside a webpage no longer has settable AXValueAttribute REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject canSetFocusAttribute]): (-[WebCoreAXObject canSetValueAttribute]): New utility methods. Text fields and buttons are focusable. Text fields can have their value set. We need not make popupbutton value settable because AppKit does not. (-[WebCoreAXObject accessibilityIsAttributeSettable:]): Call new utility methods. (-[WebCoreAXObject accessibilitySetValue:forAttribute:]): Set focus for text field or button. Set value for text field. 2006-08-30 David Hyatt Fix for bugs 9000 and 10606. Add code to suppress painting when a FOUC situation would otherwise occur. There will still typically be a flash to white, but at least the wrong content won't show. Reviewed by darin * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::updateLayoutIgnorePendingStylesheets): (WebCore::Document::preferredStylesheetSet): (WebCore::Document::selectedStylesheetSet): (WebCore::Document::setSelectedStylesheetSet): (WebCore::Document::stylesheetLoaded): (WebCore::Document::updateStyleSelector): * dom/Document.h: (WebCore::Document::haveStylesheetsLoaded): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintChildren): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): (WebCore::isSubframe): (WebCore::RenderLayer::hitTest): * rendering/RenderView.cpp: (WebCore::RenderView::repaintViewRectangle): 2006-08-31 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Apply Rob's fixes in RenderPathQt too -> unbreak build. * kcanvas/RenderPath.h: Some style cleanups. * kcanvas/device/qt/RenderPathQt.cpp: (WebCore::RenderPathQt::strokeContains): * kcanvas/device/qt/RenderPathQt.h: 2006-08-30 Sam Weinig Reviewed by Tim H. - patch for http://bugs.webkit.org/show_bug.cgi?id=10640 Auto-generate 10 more Objective-C DOM HTML bindings Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement, DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement, DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement. Splits DOMHTMLDocument into it's own files. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMHTMLDocument.h: Added. * bindings/objc/DOMHTMLDocument.mm: Added. (-[DOMHTMLDocument WebCore::]): (-[DOMHTMLDocument title]): (-[DOMHTMLDocument setTitle:]): (-[DOMHTMLDocument referrer]): (-[DOMHTMLDocument domain]): (-[DOMHTMLDocument URL]): (-[DOMHTMLDocument body]): (-[DOMHTMLDocument setBody:]): (-[DOMHTMLDocument images]): (-[DOMHTMLDocument applets]): (-[DOMHTMLDocument links]): (-[DOMHTMLDocument forms]): (-[DOMHTMLDocument anchors]): (-[DOMHTMLDocument cookie]): (-[DOMHTMLDocument setCookie:]): (-[DOMHTMLDocument open]): (-[DOMHTMLDocument close]): (-[DOMHTMLDocument write:]): (-[DOMHTMLDocument writeln:]): (-[DOMHTMLDocument getElementById:]): (-[DOMHTMLDocument getElementsByName:]): (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): (-[DOMHTMLDocument createDocumentFragmentWithText:]): * bindings/objc/DOMHTMLInternal.h: * bindings/scripts/CodeGeneratorObjC.pm: * html/HTMLDocument.idl: 2006-08-30 Nikolas Zimmermann Reviewed by eseidel. Use QColor <-> Color conversion operator, instead of faking it. * platform/qt/FontQt.cpp: (WebCore::Font::drawGlyphs): * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillRect): 2006-08-30 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10586 pointer-events has issues when things are not stroked/filled Add a param to fillContains/strokeContains to indicate whether we still want hit testing when there is no fill/stroke. * kcanvas/RenderPath.cpp: (WebCore::RenderPath::fillContains): (WebCore::RenderPath::nodeAtPoint): * kcanvas/RenderPath.h: * kcanvas/device/quartz/KCanvasItemQuartz.h: * kcanvas/device/quartz/KCanvasItemQuartz.mm: (WebCore::KCanvasItemQuartz::strokeContains): 2006-08-29 Justin Garcia Reviewed by harrison REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace around insertionPos before insertion because the content might cause a collapse, e.g. inserting
foo
at hello^ world. * editing/htmlediting.cpp: (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps for simplicity, we can produce sequences of regular spaces and nbsps on serialization (10636). 2006-08-30 Nikolas Zimmermann Reviewed by eseidel. The old solution was slow & does not work correctly. Move the QString -> DeprecatedString conversion into DeprectedString.cpp, to be able to access allocateHandle(). * platform/DeprecatedString.cpp: (WebCore::DeprecatedString::DeprecatedString): * platform/qt/StringQt.cpp: 2006-08-30 Nikolas Zimmermann Reviewed/landed by Adam. Implement containsCharacters() / determinePitch() functions. * platform/qt/FontDataQt.cpp: (WebCore::FontData::containsCharacters): (WebCore::FontData::determinePitch): 2006-08-30 Brady Eidson Reviewed by Darin's rubberstamp We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead * WebCore.xcodeproj/project.pbxproj: * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::removeAllIcons): 2006-08-29 waylonis Reviewed, tweaked by ggaren. - Changed to use ExecState on current context rather than global. Part of the fix for http://bugs.webkit.org/show_bug.cgi?id=10114 * bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): (-[WebScriptObject setException:]): 2006-08-30 Adele Peterson Reviewed by Darin. - WebCore part of fix for: http://bugs.webkit.org/show_bug.cgi?id=10576 Disallow copy from new password fields * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field. * page/Frame.h: Added mayCopy. * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag. (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method. This also checks mayCopy now. (WebCore::FrameMac::mayDHTMLCopy): ditto. (WebCore::FrameMac::tryDHTMLCut): ditto. (WebCore::FrameMac::tryDHTMLCopy): ditto. (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function. (WebCore::FrameMac::tryDHTMLPaste): ditto. * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame. (-[WebCoreFrameBridge mayDHTMLCut]): ditto. (-[WebCoreFrameBridge mayDHTMLCopy]): ditto. (-[WebCoreFrameBridge mayDHTMLPaste]): ditto. (-[WebCoreFrameBridge tryDHTMLCut]): ditto. (-[WebCoreFrameBridge tryDHTMLCopy]): ditto. (-[WebCoreFrameBridge tryDHTMLPaste]): ditto. * css/html4.css: Added !important to the -webkit-text-security property for password fields. 2006-08-30 Nikolas Zimmermann Reviewed by Tim H. Commit KDE related tweaks, to be able to differentiate between a Qt-only or a KDE build. * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt. Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT. 2006-08-30 Timothy Hatcher Rubber-stamped by Brady. Fix for the generated headers to make the build work during "installhdrs" builds. Also export DOM headers using the #import syntax. * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGeneratorObjC.pm: 2006-08-29 Brady Eidson Reviewed by Kevin Decker (Sarge) - New IconDB needs to delete icons when asked - If user's Icon directory is unwritable, Safari will crash at startup * bridge/mac/WebCoreIconDatabaseBridge.h: * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge removeAllIcons]): Added * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements() (WebCore::IconDatabase::removeAllIcons): Actually implemented (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables() * loader/icon/IconDatabase.h: * loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here (WebCore::SQLDatabase::vacuum): Added * loader/icon/SQLDatabase.h: (WebCore::SQLDatabase::path): changed name from getPath() 2006-08-29 Brady Eidson Reviewed by Alice Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification This is a win on the iBench * bridge/mac/WebCoreIconDatabaseBridge.h: * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::setIconURLForPageURL): * loader/icon/IconDatabase.h: 2006-08-29 Alice Liu Reviewed by Brady. Fixed REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar * platform/mac/ScreenMac.mm: (WebCore::flipScreenRect): reverted the one line in this method back to what it was before r15765. This changed caused window.screenY to be incorrect. 2006-08-29 Darin Adler Reviewed by Hyatt. - fix REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector) The bug was that we would return "none" for computed style properties when they were exactly "-1px". Test: fast/css/computed-style-negative-top.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForLength): Moved special case for "undefined length" out of here. (WebCore::valueForMaxLength): Moved it into here. (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength only for max-height and max-width. 2006-08-29 Nikolas Zimmermann Reviewed by eseidel. Add path-related SVG JavaScript bindings to generation. * CMakeLists.txt: 2006-08-29 Eric Seidel Reviewed by kevin. Re-enable path-related SVG JavaScript bindings. http://bugs.webkit.org/show_bug.cgi?id=10623 Split all SVGPathSeg*.idl files into Abs and Rel pieces. Move all SVGPath*.idl files into ksvg2/svg * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed. * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed. * ksvg2/ksvg.h: move SVGPathSegment enum * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum (WebCore::SVGPathElement::toPathData): * ksvg2/svg/SVGPathSeg.cpp: (WebCore::SVGPathSeg::SVGPathSeg): * ksvg2/svg/SVGPathSeg.h: (WebCore::SVGPathSeg::): * ksvg2/svg/SVGPathSegArcAbs.idl: Added. * ksvg2/svg/SVGPathSegArcRel.idl: Added. * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added. * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added. * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added. * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added. * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added. * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added. * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added. * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added. * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added. * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added. * ksvg2/svg/SVGPathSegLinetoRel.idl: Added. * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added. * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added. * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added. * ksvg2/svg/SVGPathSegMovetoRel.idl: Added. 2006-08-28 Nikolas Zimmermann Reviewed by Eric, landed by Anders. Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604 Finish Unity merging. Remove libcurl usage, in favour of KIO. This makes the regression testing fly! IO processing is way faster now. * CMakeLists.txt: * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/qt/FrameQt.cpp: (WebCore::FrameQt::openURL): (WebCore::FrameQt::submitForm): (WebCore::FrameQt::urlSelected): (WebCore::FrameQt::createEmptyDocument): (WebCore::FrameQt::receivedData): (WebCore::FrameQt::receivedAllData): * platform/qt/FrameQt.h: * platform/qt/ResourceLoaderCurl.cpp: Removed. * platform/qt/ResourceLoaderManager.cpp: (WebCore::ResourceLoaderManager::ResourceLoaderManager): (WebCore::ResourceLoaderManager::~ResourceLoaderManager): (WebCore::ResourceLoaderManager::self): (WebCore::ResourceLoaderManager::slotData): (WebCore::ResourceLoaderManager::slotMimetype): (WebCore::ResourceLoaderManager::slotResult): (WebCore::ResourceLoaderManager::remove): (WebCore::ResourceLoaderManager::add): * platform/qt/ResourceLoaderManager.h: * platform/qt/ResourceLoaderQt.cpp: Added. (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): (WebCore::ResourceLoader::~ResourceLoader): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::cancel): (WebCore::ResourceLoader::assembleResponseHeaders): (WebCore::ResourceLoader::retrieveCharset): (WebCore::ResourceLoader::receivedResponse): 2006-08-29 Timothy Hatcher Reviewed by Eric. Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes http://bugs.webkit.org/show_bug.cgi?id=10632 Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5. This is backwards compatible with the getter/setter methods. Generate setter arguments with a "new" prefix to avoid the property name conflict warning. Also removes some whitespace and the comments that we added to the headers. This makes the headers look like what we ship now. * bindings/objc/DOMCSS.mm: (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict. (-[DOMDocument getMatchedCSSRules::]): ditto. * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers. 2006-08-30 Nikolas Zimmermann Reviewed and landed by Anders. Fix time calculation, by using a correct calculation. Calling time() returns a number of seconds, aka. an integer. Fix it by using gettimeofday(). Patch originally proposed by Ronan Meneu * platform/qt/SystemTimeQt.cpp: (WebCore::currentTime): 2006-08-29 Sam Weinig Reviewed by Tim H. - patch for http://bugs.webkit.org/show_bug.cgi?id=10628 Auto-generate the remaining Objective-C DOM bindings Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement, and DOMHTMLOptionsCollection, and lays groundwork for the rest of the HTML DOM bindings by adding/fixing the appropriate IDL's and updating the CodeGeneratorObjC.pm build script. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMHTMLInternal.h: * bindings/scripts/CodeGeneratorObjC.pm: * html/HTMLAnchorElement.idl: * html/HTMLAreaElement.idl: * html/HTMLBaseFontElement.idl: * html/HTMLBodyElement.idl: * html/HTMLButtonElement.idl: * html/HTMLCollection.idl: Added. * html/HTMLDocument.idl: * html/HTMLElement.idl: * html/HTMLFormElement.idl: * html/HTMLFrameElement.idl: Added. * html/HTMLFrameSetElement.idl: Added. * html/HTMLIFrameElement.idl: Added. * html/HTMLImageElement.idl: * html/HTMLInputElement.idl: * html/HTMLLabelElement.idl: * html/HTMLLegendElement.idl: * html/HTMLLinkElement.idl: * html/HTMLMapElement.idl: * html/HTMLObjectElement.idl: Added. * html/HTMLOptionsCollection.idl: * html/HTMLPreElement.idl: * html/HTMLSelectElement.idl: Added. * html/HTMLStyleElement.idl: * html/HTMLTableCaptionElement.idl: Added. * html/HTMLTableCellElement.idl: Added. * html/HTMLTableColElement.idl: Added. * html/HTMLTableElement.idl: Added. * html/HTMLTableRowElement.idl: Added. * html/HTMLTableSectionElement.idl: Added. * html/HTMLTextAreaElement.idl: 2006-08-29 Nikolas Zimmermann Reviewed and landed by ap. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10629. Drawing convex polygons is broken in the Qt platform. * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawConvexPolygon): 2006-08-29 Nikolas Zimmermann Reviewed by Eric. Implementing font hashing properly, fixes weird crashes in HashMap. * platform/qt/FontPlatformData.h: * platform/qt/FontPlatformDataQt.cpp: (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::hash): 2006-08-29 Nikolas Zimmermann Reviewed by ggaren. Fix scrollbars to reappear after the first layouting. * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::suppressScrollBars): 2006-08-29 Anders Carlsson Reviewed by Darin and Geoff. Move the CF String functions to separate files in platform/cf. Also, move the files in platform/cfnet to platform/cf. * WebCore.xcodeproj/project.pbxproj: * platform/PlatformString.h: * platform/StringImpl.h: * platform/cf/StringCF.cpp: Added. (WebCore::String::String): * platform/cf/StringImplCF.cpp: Added. (WebCore::StringImpl::createCFString): * platform/cfnet/KURLCFNet.cpp: Removed. * platform/cfnet/ResourceLoaderCFNet.cpp: Removed. * platform/mac/StringImplMac.mm: * platform/mac/StringMac.mm: 2006-08-29 Geoffrey Garen Rolling out a change I included by accident in my last commit. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::passMouseDownEventToWidget): * platform/mac/SharedTimerMac.cpp: (WebCore::setSharedTimerFireTime): 2006-08-28 Geoffrey Garen Reviewed by Maciej. Added support for experimental CFNetwork-based loader (not turned on yet). While I was there, I did the following platform cleanup: - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the USE(CFNETWORK) idiom. - Removed some #includes of windows.h in platform-independent headers. - Changed #ifdef __APPLE__ to PLATFORM(MAC) - Fixed some build bustage, including case-sensitive filesystem bustage. * loader/loader.cpp: (WebCore::Loader::receivedAllData): * platform/Cursor.h: * platform/KURL.h: * platform/ResourceLoader.h: * platform/ResourceLoaderClient.h: * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/cfnet/KURLCFNet.cpp: Added. (WebCore::KURL::createCFURL): * platform/cfnet/ResourceLoaderCFNet.cpp: Added. (WebCore::willSendRequest): (WebCore::didReceiveChallenge): (WebCore::didCancelChallenge): (WebCore::didReceiveResponse): (WebCore::didReceiveData): (WebCore::didFinishLoading): (WebCore::didFail): (WebCore::willCacheResponse): (WebCore::addHeadersFromString): (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): (WebCore::ResourceLoader::~ResourceLoader): (WebCore::arrayFromFormData): (WebCore::emptyPerform): (WebCore::runLoaderThread): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::cancel): * platform/win/CursorWin.cpp: 2006-08-28 Justin Garcia Reviewed by harrison REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME. * page/Frame.cpp: (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection(). 2006-08-28 Tim Omernick Reviewed by John Sullivan. Part of NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319) : NetscapeMoviePlugIn example code scripting doesn't work in Firefox No test cases added, since this is essentially a leak fix. A brief history of NPP_GetValue(), NPObjects, and reference counting. Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules. We failed to take into account the fact that plug-ins are required to retain NPObjects before returning them. This creates several classes of interesting plug-ins: 1) Plug-ins tested in WebKit and other browsers. These plug-ins may have WebKit-specific workarounds to not retain the returned NPObject, thus avoiding the memory leak in WebKit. 2) Plug-ins tested only in other browsers. These plug-ins must already retain their NPObjects, since other browsers implemented the NPRuntime retain/release rules correctly. These plug-ins likely work in WebKit, but probably leak NPObjects since WebKit adds its own retain in addition to the plug-in's retain. 3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them. Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain. These plug-ins work in older WebKits because WebKit did not expect the plug-in to retain the NPObject. Now that our retain rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior. We could potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the documented NPRuntime reference counting rules. Furthermore, it is extremely unlikely that someone would develop a Netscape plug-in and test it *only* in WebKit. The entire purpose of creating a Netscape plugin is so that it works in all browsers! 4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them. These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's extra retain. A developer of this type of plug-in is probably unaware of the NPObject leak. A more savvy developer would create a plug-in that fits into category #1. I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the returned NPObject, and the browser is expected to release it when done. This means that plug-ins in category #3 need to be changed so that they don't crash in Safari. However, such plug-ins already crash in every other browser, so I do not feel that this needs to be handled specifically by WebKit. * bridge/mac/FrameMac.mm: Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a retained NPObject. Also changed it to return an actual NPObject* instead of a void*. There is only one caller of this method, and only one implementor. Using void* here is a needless abstraction. It's an NPObject*! Admit it! (WebCore::getInstanceForView): Release the NPObject after creating the bindings instance. This is the actual bug fix. 2006-08-28 Alice Liu Reviewed by Geoff. Fixed Document.domain and other attributes are blank for an iframe created with document.write * dom/Document.cpp: (WebCore::Document::open): set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen() * page/Frame.cpp: (WebCore::Frame::didExplicitOpen): set the frame's url to the document's url 2006-08-28 Brady Eidson Reviewed by Adele and Adam Added an optimization to return early if there's no replacements to be made * platform/StringImpl.cpp: (WebCore::StringImpl::replace): 2006-08-28 Nikolas Zimmermann Reviewed and landed by ap. Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604 Provide stub implementation of RenderPopupMenuQt. * CMakeLists.txt: * platform/qt/RenderPopupMenuQt.cpp: Added. (WebCore::RenderPopupMenuQt::RenderPopupMenuQt): (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt): (WebCore::RenderPopupMenuQt::clear): (WebCore::RenderPopupMenuQt::populate): (WebCore::RenderPopupMenuQt::showPopup): (WebCore::RenderPopupMenuQt::hidePopup): (WebCore::RenderPopupMenuQt::addSeparator): (WebCore::RenderPopupMenuQt::addGroupLabel): (WebCore::RenderPopupMenuQt::addOption): * platform/qt/RenderPopupMenuQt.h: Added. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::systemFont): (WebCore::RenderThemeQt::createPopupMenu): 2006-08-28 Nikolas Zimmermann Reviewed and landed by ap. Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604 Offer QString -> DeprecatedString conversion. * platform/DeprecatedString.h: * platform/qt/StringQt.cpp: (WebCore::DeprecatedString::DeprecatedString): 2006-08-28 Nikolas Zimmermann Reviewed by Tim Hatcher. Fixes one chunk of: http://bugs.webkit.org/show_bug.cgi?id=10604 * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::systemFont): Remove annoying notImplemented() usage in systemFont() 2006-08-28 David Harrison Reviewed by Darin. Support AXStyleTextMarkerRangeForTextMarker parameterized attribute * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityParameterizedAttributeNames]): Add AXStyleTextMarkerRangeForTextMarker. (startOfStyleRange): (endOfStyleRange): Return first/last VisiblePosition in range having the same style has the specified VisiblePosition. (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]): Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker. (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]): Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker. 2006-08-28 David Harrison Reviewed by Darin. Hide all images used for spacing purpose in AX * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityIsIgnored]): Check for one-dimensional image Check whether rendered image was stretched from one-dimensional file image 2006-08-27 Brady Eidson Reviewed by Maciej Rewrote StringImpl::replace(UChar, StringImpl*) * platform/StringImpl.cpp: (WebCore::StringImpl::replace): 2006-08-27 Sam Weinig Reviewed by Tim H. - patch for http://bugs.webkit.org/show_bug.cgi?id=4624 WebCore needs autogenerated Obj-C DOM bindings First round of auto-generated Objective C DOM bindings, starting with the DOM Core. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/objc/DOM.mm: (-[DOMNode description]): (-[DOMNode KJS::Bindings::]): (-[DOMNode dispatchEvent:]): (-[DOMNamedNodeMap _initWithNamedNodeMap:]): (+[DOMNamedNodeMap _namedNodeMapWith:]): (-[DOMNodeList _initWithNodeList:]): (+[DOMNodeList _nodeListWith:]): (-[DOMImplementation _initWithDOMImplementation:]): (+[DOMImplementation _DOMImplementationWith:]): (-[DOMImplementation _DOMImplementation]): (+[DOMDocumentFragment _documentFragmentWith:]): (-[DOMDocumentFragment _fragment]): (-[DOMDocument createCSSStyleDeclaration]): (+[DOMDocument _documentWith:]): (-[DOMDocument _document]): (-[DOMDocument _ownerElement]): (+[DOMAttr _attrWith:]): (-[DOMAttr _attr]): (+[DOMDocumentType _documentTypeWith:WebCore::]): (-[DOMDocumentType WebCore::]): (+[DOMText _textWith:WebCore::]): (+[DOMComment _commentWith:WebCore::]): (+[DOMCDATASection _CDATASectionWith:WebCore::]): (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]): (+[DOMEntityReference _entityReferenceWith:WebCore::]): * bindings/objc/DOMCSS.h: * bindings/objc/DOMCSS.mm: * bindings/objc/DOMCore.h: * bindings/objc/DOMEvents.h: * bindings/objc/DOMEvents.mm: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.mm: (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]): * bindings/objc/DOMHTMLInternal.h: * bindings/objc/DOMImplementationFront.h: * bindings/objc/DOMInternal.h: * bindings/objc/DOMNode.h: Added. * bindings/objc/DOMNode.mm: Added. (-[DOMNode dealloc]): (-[DOMNode finalize]): (-[DOMNode nodeName]): (-[DOMNode nodeValue]): (-[DOMNode setNodeValue:]): (-[DOMNode nodeType]): (-[DOMNode parentNode]): (-[DOMNode childNodes]): (-[DOMNode firstChild]): (-[DOMNode lastChild]): (-[DOMNode previousSibling]): (-[DOMNode nextSibling]): (-[DOMNode attributes]): (-[DOMNode ownerDocument]): (-[DOMNode insertBefore::]): (-[DOMNode replaceChild::]): (-[DOMNode removeChild:]): (-[DOMNode appendChild:]): (-[DOMNode hasChildNodes]): (-[DOMNode cloneNode:]): (-[DOMNode normalize]): (-[DOMNode isSupported::]): (-[DOMNode namespaceURI]): (-[DOMNode prefix]): (-[DOMNode setPrefix:]): (-[DOMNode localName]): (-[DOMNode hasAttributes]): (-[DOMNode isSameNode:]): (-[DOMNode isEqualNode:]): (-[DOMNode isDefaultNamespace:]): (-[DOMNode lookupPrefix:]): (-[DOMNode lookupNamespaceURI:]): (-[DOMNode textContent]): (-[DOMNode setTextContent:]): (-[DOMNode boundingBox]): (-[DOMNode lineBoxRects]): * bindings/objc/DOMObject.h: Added. * bindings/objc/DOMObject.mm: Added. (-[DOMObject init]): (-[DOMObject dealloc]): (-[DOMObject finalize]): (-[DOMObject copyWithZone:]): (-[DOMObject sheet]): * bindings/objc/DOMPrivate.h: * bindings/objc/DOMRange.h: * bindings/objc/DOMStylesheets.h: * bindings/objc/DOMTraversal.h: * bindings/objc/DOMViews.h: * bindings/objc/DOMViews.mm: * bindings/objc/DOMXPath.h: * bindings/objc/DOMXPath.mm: * bindings/scripts/CodeGenerator.pm: * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorObjC.pm: Added. * dom/Attr.idl: * dom/CDATASection.idl: Added. * dom/Comment.idl: Added. * dom/DOMImplementation.idl: * dom/Document.idl: * dom/Element.idl: * dom/EntityReference.idl: Added. * dom/NamedNodeMap.idl: Added. * dom/NodeList.idl: Added. * dom/ProcessingInstruction.idl: 2006-08-27 Nikolas Zimmermann Reviewed by Tim H. Fix crash in LayoutTests/css1/font_properties/font.html, by implementing FontData::smallCapsFontData. * platform/qt/FontDataQt.cpp: (WebCore::FontData::platformDestroy): (WebCore::FontData::smallCapsFontData): 2006-08-27 Brady Eidson Reviewed by Maciej Plugged a leak in StringImpl::replace() * platform/StringImpl.cpp: (WebCore::StringImpl::replace): 2006-08-27 Nikolas Zimmermann Reviewed and landed by Anders. Remove most annoying notImplemented() usages and implement some missing ScrollViewQt functions. Much nicer output when invoking run-webkit-tests. * platform/qt/FrameQt.cpp: (WebCore::FrameQt::saveDocumentState): (WebCore::FrameQt::restoreDocumentState): (WebCore::FrameQt::clearUndoRedoOperations): (WebCore::FrameQt::partClearedInBegin): * platform/qt/ResourceLoaderManager.cpp: (WebCore::headerCallback): (WebCore::ResourceLoaderManager::downloadTimerCallback): * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::suppressScrollBars): (WebCore::ScrollView::setStaticBackground): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): * platform/qt/TemporaryLinkStubs.cpp: (WebCore::historyContains): (WebCore::CheckCacheObjectStatus): (WebCore::CheckIfReloading): (loadResourceIntoArray): (WebCore::PlugInInfoStore::supportsMIMEType): 2006-08-27 Nikolas Zimmermann Reviewed and landed by Anders. Fix Qt build (add SVGMetaDataElement.cpp to build system) * CMakeLists.txt: 2006-08-27 Eric Seidel Reviewed by andersca. No logic changes. Just cleanup. * ksvg2/svg/SVGAngle.cpp: (SVGAngle::SVGAngle): (SVGAngle::unitType): (SVGAngle::valueAsString): (SVGAngle::newValueSpecifiedUnits): (SVGAngle::convertToSpecifiedUnits): * ksvg2/svg/SVGAngle.h: * ksvg2/svg/SVGLength.cpp: (WebCore::SVGLength::unitType): (WebCore::SVGLength::newValueSpecifiedUnits): (WebCore::SVGLength::convertToSpecifiedUnits): (WebCore::SVGLength::updateValue): (WebCore::SVGLength::updateValueInSpecifiedUnits): * ksvg2/svg/SVGLength.h: * platform/BitmapImage.cpp: Removed. * platform/BitmapImage.h: Removed. 2006-08-27 Brady Eidson Reviewed by Anders -Changed all of the commonly used queries to keep around pre-prepared statements and bind their arguments instead of constructing a new, messy, string appended statement each time -Changed some code in pruneUnretainedIconsOnStartup regarding transactions * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): Initializers (WebCore::IconDatabase::close): Wipe all the preprepared statements (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery() (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding (WebCore::IconDatabase::timeStampForIconURLQuery): ditto (WebCore::IconDatabase::iconURLForPageURLQuery): ditto (WebCore::IconDatabase::forgetPageURLQuery): ditto (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto (WebCore::IconDatabase::addIconForIconURLQuery): ditto (WebCore::IconDatabase::hasIconForIconURLQuery): ditto * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements * loader/icon/SQLStatement.h: (WebCore::SQLStatement::database): Added 2006-08-27 Nikolas Zimmermann Reviewed by Eric. Fix switch logic. * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setHScrollBarMode): (WebCore::ScrollView::setVScrollBarMode): 2006-08-27 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10557 KCanvasPath should be replace by platform/Path Refactoring out the KCanvasPath class. * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * kcanvas/KCanvasCreator.cpp: (WebCore::KCanvasCreator::createRoundedRectangle): (WebCore::KCanvasCreator::createRectangle): (WebCore::KCanvasCreator::createEllipse): (WebCore::KCanvasCreator::createCircle): (WebCore::KCanvasCreator::createLine): * kcanvas/KCanvasCreator.h: * kcanvas/KCanvasPath.cpp: Removed. * kcanvas/KCanvasPath.h: Removed. * kcanvas/KCanvasResources.cpp: (WebCore::operator<<): (WebCore::KCanvasResource::clients): (WebCore::KCanvasResource::invalidate): (WebCore::KCanvasClipper::addClipData): * kcanvas/KCanvasResources.h: (WebCore::KCClipData::windRule): (WebCore::KCClipDataList::KCClipDataList): (WebCore::KCClipDataList::addPath): * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<): * kcanvas/RenderPath.cpp: (WebCore::RenderPath::fillContains): (WebCore::RenderPath::relativeBBox): (WebCore::RenderPath::setPath): (WebCore::RenderPath::path): (WebCore::RenderPath::paint): (WebCore::RenderPath::nodeAtPoint): * kcanvas/RenderPath.h: * kcanvas/device/KRenderingDevice.h: * kcanvas/device/KRenderingFillPainter.cpp: (WebCore::KRenderingFillPainter::fillRule): (WebCore::KRenderingFillPainter::setFillRule): * kcanvas/device/KRenderingFillPainter.h: * kcanvas/device/qt/KCanvasClipperQt.cpp: (WebCore::KCanvasClipperQt::applyClip): * kcanvas/device/qt/KCanvasPathQt.cpp: Removed. * kcanvas/device/qt/KCanvasPathQt.h: Removed. * kcanvas/device/qt/KRenderingDeviceQt.cpp: (WebCore::KRenderingDeviceContextQt::addPath): (WebCore::KRenderingDeviceContextQt::setFillRule): (WebCore::KRenderingDeviceQt::createItem): * kcanvas/device/qt/KRenderingDeviceQt.h: * kcanvas/device/qt/RenderPathQt.cpp: (WebCore::RenderPathQt::drawMarkersIfNeeded): (WebCore::RenderPathQt::strokeContains): (WebCore::getPathStroke): (WebCore::RenderPathQt::strokeBBox): * kcanvas/device/qt/RenderPathQt.h: * kcanvas/device/quartz/KCanvasItemQuartz.h: * kcanvas/device/quartz/KCanvasItemQuartz.mm: (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded): (WebCore::KCanvasItemQuartz::strokeBBox): (WebCore::KCanvasItemQuartz::strokeContains): * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed. * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed. * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: (WebCore::KCanvasClipperQuartz::applyClip): * kcanvas/device/quartz/KRenderingDeviceQuartz.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceContextQuartz::addPath): (WebCore::KRenderingDeviceQuartz::createItem): * kcanvas/device/quartz/QuartzSupport.h: * kcanvas/device/quartz/QuartzSupport.mm: (WebCore::scratchContext): (WebCore::strokeBoundingBox): (WebCore::pathContainsPoint): * ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): * ksvg2/css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty): * ksvg2/css/SVGRenderStyle.h: (WebCore::SVGRenderStyle::InheritedFlags::): * ksvg2/css/SVGRenderStyleDefs.h: * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::fillPainter): * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::toPathData): * ksvg2/svg/SVGCircleElement.h: * ksvg2/svg/SVGClipPathElement.cpp: (SVGClipPathElement::canvasResource): * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::toPathData): * ksvg2/svg/SVGEllipseElement.h: * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::notifyAttributeChange): * ksvg2/svg/SVGImageElement.cpp: * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::toPathData): * ksvg2/svg/SVGLineElement.h: * ksvg2/svg/SVGMaskElement.cpp: * ksvg2/svg/SVGPathElement.cpp: (WebCore::SVGPathElement::toPathData): * ksvg2/svg/SVGPathElement.h: * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::notifyClientsToRepaint): * ksvg2/svg/SVGPolygonElement.cpp: (SVGPolygonElement::toPathData): * ksvg2/svg/SVGPolygonElement.h: * ksvg2/svg/SVGPolylineElement.cpp: (SVGPolylineElement::toPathData): * ksvg2/svg/SVGPolylineElement.h: * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::toPathData): * ksvg2/svg/SVGRectElement.h: * ksvg2/svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::createRenderer): * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::toPathData): * ksvg2/svg/SVGTextContentElement.cpp: * ksvg2/svg/SVGTextElement.cpp: * platform/Path.h: (WebCore::): (WebCore::Path::setWindingRule): (WebCore::Path::windingRule): * platform/cg/PathCG.cpp: (WebCore::Path::contains): (WebCore::Path::isEmpty): (WebCore::CGPathToCFStringApplierFunction): (WebCore::CFStringFromCGPath): (WebCore::Path::debugString): * platform/qt/FrameQt.cpp: (WebCore::FrameQt::openURL): * platform/qt/PathQt.cpp: (WebCore::Path::contains): (WebCore::Path::isEmpty): (WebCore::Path::debugString): 2006-08-26 Eric Seidel Reviewed by hyatt. pointer-events attribute does not work. http://bugs.webkit.org/show_bug.cgi?id=10415 * kcanvas/RenderPath.cpp: (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic (WebCore::RenderPath::nodeAtPoint): respect pointer-events property * kcanvas/RenderPath.h: (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules): * ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value (WebCore::SVGPaint::SVGPaint): (WebCore::SVGPaint::paintType): (WebCore::SVGPaint::uri): (WebCore::SVGPaint::setUri): (WebCore::SVGPaint::setPaint): * ksvg2/svg/SVGPaint.h: 2006-08-27 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10558 SVG should have support for element Add support for metadata tag. * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: * ksvg2/svg/SVGMetadataElement.cpp: Added. (SVGMetadataElement::SVGMetadataElement): (SVGMetadataElement::~SVGMetadataElement): * ksvg2/svg/SVGMetadataElement.h: Added. * ksvg2/svg/SVGMetadataElement.idl: Added. * ksvg2/svg/svgtags.in: 2006-08-26 Nikolas Zimmermann Reviewed by Eric. Daily Qt build fixes :-) * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawConvexPolygon): * platform/qt/ImageQt.cpp: (WebCore::Image::initPlatformData): (WebCore::Image::invalidatePlatformData): (WebCore::Image::loadPlatformResource): 2006-08-26 David Hyatt Fix the ifdef in Path.h to be CG. * platform/Path.h: 2006-08-26 David Hyatt Fix Mac build bustage (lots of float/int confusion). I am not sure whether rounding was desired or not... this is just a band-aid to get the build working again. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintMenuListButtonGradients): (WebCore::RenderThemeMac::paintMenuListButton): (WebCore::RenderThemeMac::adjustMenuListButtonStyle): 2006-08-25 David Hyatt More refactoring of image to disentangle graphics (e.g., Cairo) from platform (e.g., Windows). * WebCore.vcproj/WebCore/WebCore.vcproj: Add ImageWin to project. * loader/Cache.cpp: (WebCore::Cache::init): * loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::loadImageFromResource): Renamed loadResource to loadPlatformResource to try to make it more clear that this call is implemented on each OS (and not by graphics libraries). * platform/Image.cpp: (WebCore::Image::Image): (WebCore::Image::~Image): (WebCore::Image::invalidateData): (WebCore::Image::size): (WebCore::Image::setData): (WebCore::Image::setNativeData): Fix up the PDF code to not be considered platform data any more, since PDF rendering is not for a specific OS. Renamed the methods that set OS-specific data (like NSImage) to PlatformData instead of NativeData. * platform/Image.h: Shifted the PDF members into CG defines. Made CGImageRef a CG define. Renamed methods to reflect that they are OS-specific and not graphics-library-specific. * platform/cairo/ImageCairo.cpp: Removed the platform data methods. Other platforms besides Windows that use Cairo will need to account for this change by adding these methods to their OS Image***.cpp file. * platform/cg/ImageCG.cpp: (WebCore::Image::drawTiled): Add FIXMEs to the wkpattern stuff. * platform/cg/PDFDocumentImage.cpp: Shouldn't have #imports in .cpp. * platform/mac/ImageMac.mm: (WebCore::Image::initPlatformData): (WebCore::Image::invalidatePlatformData): (WebCore::Image::loadPlatformResource): (WebCore::Image::getTIFFRepresentation): Add the platform data initializers to the Mac Image file. Move the TIFF representation there as well, since this is only used by Mac code. * platform/win/ImageWin.cpp: Added. (WebCore::Image::initPlatformData): (WebCore::Image::invalidatePlatformData): (WebCore::Image::loadPlatformResource): (WebCore::Image::supportsType): Similar work for Windows. Add stubs for possible future HBITMAP returns in the platform data methods. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintResizeControl): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintResizeControl): loadResource -> loadPlatformResource 2006-08-26 Adam Roben Rubber-stamped by Adele. Fixed build. * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): 2006-08-25 Adele Peterson Patch by Francisco, Reviewed by me. Preparation for switch to new text field implementation of password field. Added -webkit-text-security property. Tests: updated fast/css/computed-style-expected.txt * css/CSSPropertyNames.in: Added -webkit-text-security. * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity. * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto. * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto. * css/html4.css: Added style for password field to use -webkit-text-security. * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use. (WebCore::HTMLInputElement::selectionStart): (WebCore::HTMLInputElement::selectionEnd): (WebCore::HTMLInputElement::setSelectionStart): (WebCore::HTMLInputElement::setSelectionEnd): (WebCore::HTMLInputElement::select): (WebCore::HTMLInputElement::setSelectionRange): (WebCore::HTMLInputElement::createRenderer): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password. * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace characters with one character, like a bullet. * platform/StringImpl.h: * rendering/RenderStyle.cpp: (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity. (WebCore::RenderStyle::diff): Added case for textSecurity. * rendering/RenderStyle.h: (WebCore::): (WebCore::RenderStyle::textSecurity): Added. (WebCore::RenderStyle::setTextSecurity): Added. (WebCore::RenderStyle::initialTextSecurity): Added. * rendering/RenderText.cpp: (WebCore::RenderText::setStyle): Added case for textSecurity. (WebCore::RenderText::setText): ditto. 2006-08-25 Adele Peterson Reviewed by Hyatt. Enable styling for popup menus. Also fixed baseline calculation for buttons and selects. Tests: fast/forms/select-baseline.html fast/borders/borderRadiusInvalidColor.html updated: fast/forms/select-style-expected.txt and more... * css/html4.css: Added style rules for styled select elements. * platform/GraphicsContext.h: Added argument for antialiasing. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto. * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto. * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid. (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code (any callers that set this to true were already ensuring that their color was valid). Updated drawConvexPolygon call to use FloatPoints instead of IntPoints. (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call. (WebCore::RenderObject::paintOutline): ditto. * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto. * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height. Added case for when there's no children to check for hasLineIfEmpty. * rendering/RenderBlock.h: * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height. * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height. * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height. (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto. * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style. * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients immediately after painting the background. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately. For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine. (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, so the arrow control will draw at the right time (after the background). (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance. (WebCore::RenderTheme::paintBorderOnly): ditto. (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme. (WebCore::RenderTheme::adjustMenuListButtonStyle): Added. * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added. * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able. (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance. (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline. (WebCore::TopGradientInterpolate): Added. (WebCore::BottomGradientInterpolate): Added. (WebCore::MainGradientInterpolate): Added. (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added. Draws gradients for styled popup menu button appearance. (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control. (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size. 2006-08-25 Brady Eidson Reviewed by Adam Changed some time()-related code to be more platform independent * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::isIconExpiredForIconURL): (WebCore::IconDatabase::getOrCreateIconDataCache): (WebCore::IconDatabase::setIconDataForIconURL): 2006-08-25 David Harrison Reviewed by Geoff. Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute * bridge/mac/WebCoreAXObject.mm: (labelForElement): New. Returns the HTMLLabelElement, if any, for the specified Element. (-[WebCoreAXObject title]): For input elements, return the innerHTML() of the labelForElement(). 2006-08-25 Brady Eidson Reviewed by Tim Hatcher Changed some debugging-only code to be more platform independent * WebCore.xcodeproj/project.pbxproj: * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): (WebCore::IconDatabase::syncDatabase): 2006-08-25 Nikolas Zimmermann Reviewed/landed by Adam. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10561 Qt platform build fixes. * platform/qt/FrameQt.h: * platform/qt/ScreenQt.cpp: (WebCore::qwidgetForPage): (WebCore::screenRect): (WebCore::screenDepth): (WebCore::usableScreenRect): * platform/qt/TemporaryLinkStubs.cpp: (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): * platform/qt/WidgetQt.cpp: 2006-08-25 Nikolas Zimmermann Reviewed/landed by Adam. Finally fix font caching. WebKit+Qt now works out of the box without any further patches :-) * platform/qt/FontDataQt.cpp: (WebCore::FontData::platformDestroy): * platform/qt/FontPlatformData.h: * platform/qt/FontPlatformDataQt.cpp: (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::isFixedPitch): (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::fontPtr): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): 2006-08-25 Nikolas Zimmermann Reviewed/landed by Adam. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10559 Confirm to WebKit style guide - last fixes :-) * platform/ResourceLoaderClient.h: * platform/qt/ComboBoxQt.cpp: * platform/qt/FrameQt.cpp: (WebCore::doScroll): (WebCore::FrameQt::FrameQt): (WebCore::FrameQt::openURL): (WebCore::FrameQt::submitForm): (WebCore::FrameQt::setTitle): (WebCore::FrameQt::passSubframeEventToSubframe): (WebCore::FrameQt::registerCommandForUndo): (WebCore::FrameQt::registerCommandForRedo): (WebCore::FrameQt::keyEvent): (WebCore::FrameQt::setFrameGeometry): * platform/qt/GlyphMapQt.cpp: (WebCore::GlyphMap::fillPage): * platform/qt/GraphicsContextQt.cpp: (WebCore::toQtCompositionMode): (WebCore::toQtLineCap): (WebCore::toQtLineJoin): (WebCore::TextShadow::TextShadow): (WebCore::GraphicsContextPlatformPrivate::p): * platform/qt/ImageQt.cpp: (WebCore::FrameData::clear): (WebCore::Image::supportsType): * platform/qt/IntSizeQt.cpp: * platform/qt/LineEditQt.cpp: * platform/qt/ListBoxQt.cpp: * platform/qt/PageQt.cpp: (WebCore::Page::windowRect): * platform/qt/PathQt.cpp: (WebCore::Path::~Path): * platform/qt/ResourceLoaderCurl.cpp: (WebCore::ResourceLoader::assembleResponseHeaders): (WebCore::ResourceLoader::retrieveCharset): (WebCore::ResourceLoader::receivedResponse): * platform/qt/ResourceLoaderManager.cpp: (WebCore::headerCallback): (WebCore::ResourceLoaderManager::downloadTimerCallback): (WebCore::ResourceLoaderManager::add): * platform/qt/ScreenQt.cpp: (WebCore::screenRect): (WebCore::usableScreenRect): * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::setParentWidget): (WebCore::ScrollView::addChild): * platform/qt/SharedTimerQt.cpp: (WebCore::setSharedTimerFiredFunction): * platform/qt/SharedTimerQt.h: (WebCore::SharedTimerQt::SharedTimerQt): (WebCore::SharedTimerQt::fire): * platform/qt/SystemTimeQt.cpp: (WebCore::currentTime): * platform/qt/TextEditQt.cpp: (WebCore::PlatformTextEdit::setParentWidget): (WebCore::PlatformTextEdit::text): (WebCore::PlatformTextEdit::sizeWithColumnsAndRows): 2006-08-24 David Harrison Reviewed by Justin. Follow up for... Represent misspellings in AXAttributedStringForTextMarkerRange Fix bug I introduced in r15959. * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityAttributeValue:]): Use topDocument in case we are in a subframe (we want the start/end of the overall page). 2006-08-24 Brady Eidson Reviewed by Alice Fixed my previous checkin, which was pruning the users entire icon db on startup everytime * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings are indexed to 1, not 0 2006-08-24 Geoffrey Garen Reviewed by Darin. Frame refactoring: changed FrameView clients so they no longer assume that FrameViews are Widgets that can tell you things about the platform, in preparation for divorcing FrameViews from heavy-weight Widgets altogether. This patch makes Page, rather than Widget, responsible for answering questions about the screen (scale factor, color depth, etc.). Refactoring aside, I think this makes more sense, since (a) the screen has nothing to do with any particular widget and (b) Page was already half-responsible for answering those questions, anyway. Plus some random Windows build fix goodness. Layout tests still pass. 2006-08-24 Timothy Hatcher Reviewed by Hyatt. Allow changing the background color WebCore draws under transparent page backgrounds. No automated way to test. All tests pass, no performance regression. * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setBaseBackgroundColor:]): * page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): (WebCore::FrameView::baseBackgroundColor): (WebCore::FrameView::setBaseBackgroundColor): * page/FrameView.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended): * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations): 2006-08-24 Darin Adler Reviewed by Justin. - fix http://bugs.webkit.org/show_bug.cgi?id=10169 REGRESSION: NativeTextArea: Text dragged from to textarea disappears - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead - other editing-related cleanup Test: fast/forms/drag-into-textarea.html * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr instead. * bridge/win/FrameWin.h: Ditto. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto. (WebCore::FrameMac::registerCommandForUndo): Ditto. (WebCore::FrameMac::registerCommandForRedo): Ditto. * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter. (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto. (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto. * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child parameter to be a PassRefPtr. Reversed order of child and parent parameters. * editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto. (WebCore::AppendNodeCommand::doApply): Ditto. (WebCore::AppendNodeCommand::doUnapply): Ditto. * editing/ApplyStyleCommand.h: Removed document parameter from constructor. * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto. * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h. * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here. (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly since setEndingSelection is no longer overloaded for Position. * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from a DeprecatedValueList to a Vector> and renamed it m_commands and made both doUnapply and doReapply private. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands. (WebCore::CompositeEditCommand::doReapply): Ditto. (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up starting and ending selection -- now done inside setParent. Rewrote to use m_commands. (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr. (WebCore::CompositeEditCommand::applyStyledElement): Ditto. (WebCore::CompositeEditCommand::removeStyledElement): Ditto. (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto. (WebCore::CompositeEditCommand::insertNodeBefore): Ditto. (WebCore::CompositeEditCommand::appendNode): Ditto. (WebCore::CompositeEditCommand::removeNode): Ditto. (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto. (WebCore::CompositeEditCommand::splitTextNode): Ditto. (WebCore::CompositeEditCommand::splitElement): Ditto. (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto. (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto. (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto. (WebCore::CompositeEditCommand::joinTextNodes): Ditto. (WebCore::CompositeEditCommand::inputText): Ditto. (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto. (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto. (WebCore::CompositeEditCommand::replaceTextInNode): Ditto. (WebCore::CompositeEditCommand::deleteSelection): Ditto. (WebCore::CompositeEditCommand::removeCSSProperty): Ditto. (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code would not remove an empty attribute -- will not come up in practice, but wrong in theory. (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr. (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto. (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop. (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr. (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a Selection explicitly since setEndingSelection is no longer overloaded for Position. (WebCore::createBlockPlaceholderElement): Collapsed this code so that the block placeholder class string is no longer spread across multiple functions. Perhaps we can get rid of this altogether at some point. * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor. Also removed unneeded destructor. * editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto. * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor. * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto. * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(), and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected. Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(), endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which are needed so we can determine which editable elements an editing operation affects. Changed setParent() and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added applyCommand() function that's convenient to use on a newly-created command. * editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting and ending root editable elements. (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed code to assert and set m_start. Eliminated use of EditCommandPtr. (WebCore::EditCommand::unapply): Ditto. (WebCore::EditCommand::reapply): Ditto. (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this not change the starting selection of the parent unless this is the first command in the parent -- didn't make sense the way it was. (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too. (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child based on the ending selection of the parent, formerly done by callers. (WebCore::applyCommand): Added. * editing/FormatBlockCommand.h: Tweaked formatting. * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto. * editing/InsertLineBreakCommand.h: Ditto. * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr. (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum. (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr. * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor. * editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto. * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off the constants. * editing/InsertListCommand.cpp: (WebCore::InsertListCommand::InsertListCommand): Ditto. (WebCore::InsertListCommand::doApply): Ditto. * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor and changed the parameter of the node to insert to a PassRefPtr. * editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto. * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr. * editing/InsertTextCommand.h: Changed insertTab to take const Position&. * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): Ditto. (WebCore::InsertTextCommand::insertTab): Ditto. * editing/JSEditor.h: Tweaked formatting and names. * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr. * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer * editing/JoinTextNodesCommand.cpp: (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto. * editing/MergeIdenticalElementsCommand.h: Ditto. * editing/MergeIdenticalElementsCommand.cpp: (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto. * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr. * editing/ModifySelectionListLevel.cpp: (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers. (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand): Changed to use Type instead of EListType. (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers. (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel. (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto. (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType): Changed to not use EditCommandPtr. (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers. (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel. (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto. (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use EditCommandPtr. * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment parameter to be a PassRefPtr. * editing/MoveSelectionCommand.cpp: (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto. (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr. * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter. * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto. (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr. * editing/RemoveCSSPropertyCommand.h: Tweaked formatting. * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter. * editing/RemoveNodeAttributeCommand.cpp: (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto. * editing/RemoveNodeCommand.h: Removed unnecessary document parameter. * editing/RemoveNodeCommand.cpp: (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto. * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter. * editing/RemoveNodePreservingChildrenCommand.cpp: (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto. * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr. * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): Ditto. (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto. (WebCore::ReplaceSelectionCommand::doApply): Ditto. (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto. * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than a macro. Added constructors that take visible positions. Changed setBase and setExtent to take const Position& for better efficiency. * editing/Selection.cpp: (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors. * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter. * editing/SetNodeAttributeCommand.cpp: (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto. * editing/SplitElementCommand.h: Removed unnneeded document parameter. * editing/SplitElementCommand.cpp: (WebCore::SplitElementCommand::SplitElementCommand): Ditto. * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter. * editing/SplitTextNodeCommand.cpp: (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto. * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter. * editing/SplitTextNodeContainingElementCommand.cpp: (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto. * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*. Renamed openForMoveTyping() with isOpenForMoreTyping(). * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr. (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. (WebCore::TypingCommand::insertText): Ditto. (WebCore::TypingCommand::insertLineBreak): Ditto. (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto. (WebCore::TypingCommand::insertParagraphSeparator): Ditto. (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto. (WebCore::TypingCommand::closeTyping): Ditto. (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto. (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto. * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter. * editing/WrapContentsInDummySpanCommand.cpp: (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto. * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of unsigned short. * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(), and registerCommandForRedo() to take PassRefPtr. * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr. * page/Frame.cpp: (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand. (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function from Selection to simplify the code. (WebCore::Frame::selectAll): Ditto. (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand. (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to both of the root editable elements involved in a change -- the start selection might be in a different element than the end selection. (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents, and to do it before setting the ending selection. Also update to use PassRefPtr instead of EditCommandPtr and change the order of setting m_lastEditCommand since passing it to registerCommandForUndo will take ownership and set it to 0. (WebCore::Frame::unappliedEditing): Ditto. (WebCore::Frame::reappliedEditing): Ditto. (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr. (WebCore::Frame::applyStyle): Ditto. (WebCore::Frame::applyParagraphStyle): Ditto. * platform/gdk/FrameGdk.h: Updated for above changes. * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes. * platform/win/TemporaryLinkStubs.cpp: Updated for above changes. 2006-08-24 Brady Eidson Reviewed by Alice - Unacceptable delay on startup - Need to correctly prune unretained pageurls and icons on startup This patch was started by me and finished by Mark Rowe - we now special case all retains during startup into one huge sql transaction. Also we track PageURL retains instead of IconURLs so pruning works right. Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile. Testing with a huge set of bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also has a noticeable delay. * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table (WebCore::IconDatabase::releaseIconForPageURL): Ditto (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly (WebCore::IconDatabase::syncDatabase): Change the timing log message * loader/icon/IconDatabase.h: * loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters. * loader/icon/SQLStatement.h: 2006-08-24 Nikolas Zimmermann Reviewed/landed by Adam. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * CMakeLists.txt: Remove KCanvasMatrix.cpp because it no longer exists Remove platform/qt/test * platform/FloatSize.h: * platform/image-decoders/bmp/BMPImageDecoder.cpp: * platform/image-decoders/gif/GIFImageDecoder.cpp: * platform/image-decoders/gif/GIFImageReader.cpp: * platform/image-decoders/ico/ICOImageDecoder.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.cpp: * platform/image-decoders/xbm/XBMImageDecoder.cpp: Added PLATFORM(QT) hooks in the image-decoders/, as they also need to work for Qt, not only for Cairo. * platform/qt/qt-encodings.txt: Added (required for build). 2006-08-24 Adam Roben Fixing a typo from last patch. * kcanvas/device/qt/KRenderingPaintServerQt.cpp: (WebCore::KRenderingPaintServerQt::setPenProperties): 2006-08-24 Nikolas Zimmermann Reviewed/landed by Adam. Final cleanup to conform to WebKit coding style! * kcanvas/device/qt/KCanvasClipperQt.cpp: (WebCore::KCanvasClipperQt::applyClip): * kcanvas/device/qt/KCanvasClipperQt.h: * kcanvas/device/qt/KCanvasPathQt.cpp: * kcanvas/device/qt/KCanvasPathQt.h: * kcanvas/device/qt/KRenderingDeviceQt.cpp: * kcanvas/device/qt/KRenderingDeviceQt.h: * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt): (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt): * kcanvas/device/qt/KRenderingPaintServerGradientQt.h: * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt): * kcanvas/device/qt/KRenderingPaintServerPatternQt.h: * kcanvas/device/qt/KRenderingPaintServerQt.cpp: (WebCore::KRenderingPaintServerQt::setPenProperties): * kcanvas/device/qt/KRenderingPaintServerQt.h: * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt): (WebCore::KRenderingPaintServerSolidQt::renderPath): * kcanvas/device/qt/KRenderingPaintServerSolidQt.h: * kcanvas/device/qt/RenderPathQt.cpp: * kcanvas/device/qt/RenderPathQt.h: * platform/qt/AffineTransformQt.cpp: * platform/qt/BrowserExtensionQt.cpp: * platform/qt/BrowserExtensionQt.h: * platform/qt/ColorQt.cpp: (WebCore::Color::Color): * platform/qt/ComboBoxQt.cpp: (WebCore::PlatformComboBox::PlatformComboBox): (WebCore::PlatformComboBox::~PlatformComboBox): (WebCore::PlatformComboBox::setParentWidget): (WebCore::PlatformComboBox::appendGroupLabel): * platform/qt/CookieJarQt.cpp: * platform/qt/CursorQt.cpp: (WebCore::Cursors::Cursors::self): * platform/qt/FloatPointQt.cpp: * platform/qt/FloatRectQt.cpp: * platform/qt/FontCacheQt.cpp: (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::createFontPlatformData): * platform/qt/FontDataQt.cpp: * platform/qt/FontPlatformData.h: * platform/qt/FontPlatformDataQt.cpp: * platform/qt/FontQt.cpp: (WebCore::Font::operator QFont): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): * platform/qt/FrameQt.cpp: (WebCore::FrameQt::openURL): (WebCore::FrameQt::submitForm): (WebCore::FrameQt::urlSelected): (WebCore::FrameQt::keyEvent): * platform/qt/FrameQt.h: * platform/qt/GlyphMapQt.cpp: * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::setFocusRingClip): (WebCore::GraphicsContext::clip): * platform/qt/ImageQt.cpp: (WebCore::Image::draw): (WebCore::Image::drawTiled): * platform/qt/ImageSourceQt.cpp: * platform/qt/IntPointQt.cpp: * platform/qt/IntRectQt.cpp: * platform/qt/IntSizeQt.cpp: * platform/qt/LineEditQt.cpp: (WebCore::PlatformLineEdit::PlatformLineEdit): (WebCore::PlatformLineEdit::~PlatformLineEdit): (WebCore::PlatformLineEdit::setParentWidget): (WebCore::PlatformLineEdit::addSearchResult): * platform/qt/ListBoxQt.cpp: (WebCore::ListBox::ListBox): (WebCore::ListBox::~ListBox): (WebCore::ListBox::setParentWidget): * platform/qt/PageQt.cpp: (WebCore::Page::windowRect): (WebCore::Page::setWindowRect): * platform/qt/PathQt.cpp: (WebCore::Path::addArc): * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::windowsKeyCodeForKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/qt/PlatformMouseEventQt.cpp: * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo): (WebCore::RenderThemeQt::applyTheme): (WebCore::RenderThemeQt::paintButton): (WebCore::RenderThemeQt::paintTextField): * platform/qt/ResourceLoaderCurl.cpp: (WebCore::ResourceLoader::assembleResponseHeaders): (WebCore::ResourceLoader::retrieveCharset): (WebCore::ResourceLoader::receivedResponse): * platform/qt/ResourceLoaderManager.cpp: (WebCore::ResourceLoaderManager::add): * platform/qt/ResourceLoaderManager.h: * platform/qt/ScreenQt.cpp: * platform/qt/ScrollViewCanvasQt.cpp: (WebCore::ScrollViewCanvasQt::handleKeyEvent): * platform/qt/ScrollViewCanvasQt.h: * platform/qt/ScrollViewQt.cpp: * platform/qt/SharedTimerQt.cpp: * platform/qt/SharedTimerQt.h: (WebCore::SharedTimerQt::inst): * platform/qt/StringQt.cpp: * platform/qt/SystemTimeQt.cpp: * platform/qt/TemporaryLinkStubs.cpp: * platform/qt/TextEditQt.cpp: (WebCore::PlatformTextEdit::PlatformTextEdit): (WebCore::PlatformTextEdit::~PlatformTextEdit): (WebCore::PlatformTextEdit::setParentWidget): * platform/qt/WidgetQt.cpp: (WebCore::Widget::setQWidget): 2006-08-24 Nikolas Zimmermann Reviewed and landed by Anders. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * CMakeLists.txt: * platform/qt/FrameQt.cpp: Added. (WebCore::doScroll): (WebCore::FrameView::isFrameView): (WebCore::FrameQt::FrameQt): (WebCore::FrameQt::init): (WebCore::FrameQt::~FrameQt): (WebCore::FrameQt::openURL): (WebCore::FrameQt::submitForm): (WebCore::FrameQt::urlSelected): (WebCore::FrameQt::userAgent): (WebCore::FrameQt::runJavaScriptAlert): (WebCore::FrameQt::runJavaScriptConfirm): (WebCore::FrameQt::locationbarVisible): (WebCore::FrameQt::setTitle): (WebCore::FrameQt::createFrame): (WebCore::FrameQt::passWheelEventToChildWidget): (WebCore::FrameQt::passSubframeEventToSubframe): (WebCore::FrameQt::objectContentType): (WebCore::FrameQt::createPlugin): (WebCore::FrameQt::passMouseDownEventToWidget): (WebCore::FrameQt::menubarVisible): (WebCore::FrameQt::personalbarVisible): (WebCore::FrameQt::statusbarVisible): (WebCore::FrameQt::toolbarVisible): (WebCore::FrameQt::createEmptyDocument): (WebCore::FrameQt::markedTextRange): (WebCore::FrameQt::incomingReferrer): (WebCore::FrameQt::mimeTypeForFileName): (WebCore::FrameQt::markMisspellingsInAdjacentWords): (WebCore::FrameQt::markMisspellings): (WebCore::FrameQt::lastEventIsMouseUp): (WebCore::FrameQt::saveDocumentState): (WebCore::FrameQt::restoreDocumentState): (WebCore::FrameQt::openURLRequest): (WebCore::FrameQt::scheduleClose): (WebCore::FrameQt::unfocusWindow): (WebCore::FrameQt::focusWindow): (WebCore::FrameQt::overrideMediaType): (WebCore::FrameQt::addMessageToConsole): (WebCore::FrameQt::runJavaScriptPrompt): (WebCore::FrameQt::getEmbedInstanceForWidget): (WebCore::FrameQt::getObjectInstanceForWidget): (WebCore::FrameQt::getAppletInstanceForWidget): (WebCore::FrameQt::registerCommandForUndo): (WebCore::FrameQt::registerCommandForRedo): (WebCore::FrameQt::clearUndoRedoOperations): (WebCore::FrameQt::issueUndoCommand): (WebCore::FrameQt::issueRedoCommand): (WebCore::FrameQt::issueCutCommand): (WebCore::FrameQt::issueCopyCommand): (WebCore::FrameQt::issuePasteCommand): (WebCore::FrameQt::issuePasteAndMatchStyleCommand): (WebCore::FrameQt::issueTransposeCommand): (WebCore::FrameQt::respondToChangedSelection): (WebCore::FrameQt::respondToChangedContents): (WebCore::FrameQt::shouldChangeSelection): (WebCore::FrameQt::partClearedInBegin): (WebCore::FrameQt::canGoBackOrForward): (WebCore::FrameQt::handledOnloadEvents): (WebCore::FrameQt::canPaste): (WebCore::FrameQt::canRedo): (WebCore::FrameQt::canUndo): (WebCore::FrameQt::print): (WebCore::FrameQt::shouldInterruptJavaScript): (WebCore::FrameQt::keyEvent): (WebCore::FrameQt::receivedResponse): (WebCore::FrameQt::receivedData): (WebCore::FrameQt::receivedAllData): (WebCore::FrameQt::setFrameGeometry): * platform/qt/FrameQt.h: Added. * platform/qt/ScrollViewCanvasQt.cpp: Added. (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt): (WebCore::ScrollViewCanvasQt::paintEvent): (WebCore::ScrollViewCanvasQt::sizeHint): (WebCore::ScrollViewCanvasQt::mouseMoveEvent): (WebCore::ScrollViewCanvasQt::mousePressEvent): (WebCore::ScrollViewCanvasQt::mouseReleaseEvent): (WebCore::ScrollViewCanvasQt::keyPressEvent): (WebCore::ScrollViewCanvasQt::keyReleaseEvent): (WebCore::ScrollViewCanvasQt::handleKeyEvent): * platform/qt/ScrollViewCanvasQt.h: Added. * platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setParentWidget): 2006-08-24 Nikolas Zimmermann Reviewed by ap. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/FontCacheQt.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData): * platform/qt/FontDataQt.cpp: Added. (WebCore::FontData::platformInit): (WebCore::FontData::platformDestroy): (WebCore::FontData::smallCapsFontData): (WebCore::FontData::containsCharacters): (WebCore::FontData::determinePitch): (WebCore::FontData::platformWidthForGlyph): * platform/qt/FontPlatformData.h: Added. * platform/qt/FontPlatformDataQt.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::isFixedPitch): (WebCore::FontPlatformData::setFont): (WebCore::FontPlatformData::font): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): * platform/qt/FontQt.cpp: Added. (WebCore::Font::operator QFont): (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): * platform/qt/GlyphMapQt.cpp: Added. (WebCore::GlyphMap::fillPage): 2006-08-24 David Harrison Reinstate r15966 because layout test changes are correct. Represent controls in AXAttributedStringForTextMarkerRange * editing/TextIterator.cpp: (WebCore::TextIterator::advance): 2006-08-24 Nikolas Zimmermann Reviewed by ap. http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support (Part II) Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal. Use AffineTransform everywhere instead. * kcanvas/device/qt/KRenderingDeviceQt.cpp: (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt): (WebCore::KRenderingDeviceContextQt::concatCTM): (WebCore::KRenderingDeviceContextQt::ctm): * kcanvas/device/qt/KRenderingDeviceQt.h: * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: (WebCore::KRenderingPaintServerLinearGradientQt::setup): (WebCore::KRenderingPaintServerRadialGradientQt::setup): 2006-08-24 Rob Buis Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=10524 svg transform: comma delimiting breaks display Properly parse transforms which use ',' as seperators. * ksvg2/svg/SVGTransformable.cpp: (SVGTransformable::parseTransformAttribute): 2006-08-23 Darin Adler Reviewed by Maciej. - added an assert to make it slightly easier to debug the common case of calling document() on a node of 0 * dom/Node.h: (WebCore::Node::document): ASSERT(this). 2006-08-23 David Hyatt Refactor Cairo and CoreGraphics to use platform ifdefs. This patch separates the graphics engines from their respective platforms and replaces #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO). Reviewed by darin * WebCore.xcodeproj/project.pbxproj: * platform/AffineTransform.h: * platform/Color.h: * platform/Cursor.h: * platform/FloatPoint.h: * platform/FloatRect.h: * platform/FloatSize.h: * platform/Font.h: * platform/FontData.h: * platform/GlyphBuffer.h: (WebCore::GlyphBuffer::glyphAt): (WebCore::GlyphBuffer::advanceAt): (WebCore::GlyphBuffer::add): * platform/GraphicsContext.h: * platform/Image.h: * platform/ImageSource.h: * platform/IntPoint.h: * platform/IntRect.h: * platform/IntSize.h: * platform/ResourceLoader.h: * platform/ResourceLoaderClient.h: * platform/Widget.h: * platform/cairo/GraphicsContextCairo.cpp: * platform/cairo/ImageCairo.cpp: * platform/cairo/ImageSourceCairo.cpp: * platform/cg/AffineTransformCG.cpp: * platform/cg/FloatPointCG.cpp: Added. * platform/cg/FloatRectCG.cpp: Added. * platform/cg/FloatSizeCG.cpp: Added. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::~GraphicsContext): (WebCore::GraphicsContext::setFocusRingClip): (WebCore::GraphicsContext::clearFocusRingClip): (WebCore::GraphicsContext::platformContext): (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::drawLine): * platform/cg/GraphicsContextPlatformPrivate.h: Added. (WebCore::GraphicsContextPlatformPrivate:::m_cgContext): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): * platform/cg/ImageCG.cpp: Added. (WebCore::Image::drawTiled): * platform/cg/ImageSourceCG.cpp: Added. * platform/cg/IntPointCG.cpp: Added. * platform/cg/IntRectCG.cpp: Added. * platform/cg/IntSizeCG.cpp: Added. * platform/cg/PDFDocumentImage.cpp: Added. (WebCore::PDFDocumentImage::adjustCTM): * platform/cg/PDFDocumentImage.h: Added. * platform/cg/PathCG.cpp: * platform/image-decoders/bmp/BMPImageDecoder.cpp: * platform/image-decoders/gif/GIFImageDecoder.cpp: * platform/image-decoders/gif/GIFImageReader.cpp: * platform/image-decoders/ico/ICOImageDecoder.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.cpp: * platform/image-decoders/xbm/XBMImageDecoder.cpp: * platform/mac/FloatPointMac.mm: * platform/mac/FloatRectMac.mm: * platform/mac/FloatSizeMac.mm: * platform/mac/GraphicsContextMac.mm: * platform/mac/ImageMac.mm: * platform/mac/ImageSourceMac.cpp: Removed. * platform/mac/IntPointMac.mm: * platform/mac/IntRectMac.mm: * platform/mac/IntSizeMac.mm: * platform/mac/PDFDocumentImage.h: Removed. * platform/mac/PDFDocumentImage.mm: Removed. 2006-08-23 David Hyatt Remove the ifdef for platform scrollbars vs. engine scrollbars until engine scrollbars actually exist. * platform/ScrollBar.h: (WebCore::ScrollBar::hasPlatformScrollBars): 2006-08-23 Justin Garcia Reviewed by harrison Removed the poorly named next/previousVisiblePosition and use next/previousCandidate and next/previousVisuallyDistinctCandidate. Removed the unused VisiblePosition::maxOffset() * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::canonicalPosition): * editing/VisiblePosition.h: 2006-08-23 Nikolas Zimmermann Reviewed by Alexey. Landed by rwlbuis. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support (Part II) * platform/qt/GraphicsContextQt.cpp: Added. (WebCore::toQtCompositionMode): (WebCore::toQtLineCap): (WebCore::toQtLineJoin): (WebCore::TransparencyLayer::TransparencyLayer): (WebCore::TransparencyLayer::cleanup): (WebCore::TextShadow::TextShadow): (WebCore::TextShadow::isNull): (WebCore::GraphicsContextPlatformPrivate::p): (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::~GraphicsContext): (WebCore::GraphicsContext::platformContext): (WebCore::GraphicsContext::savePlatformState): (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::drawRect): (WebCore::adjustLineToPixelBounderies): (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawArc): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::addClip): (WebCore::GraphicsContext::drawFocusRing): (WebCore::GraphicsContext::setFocusRingClip): (WebCore::GraphicsContext::clearFocusRingClip): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::drawLineForMisspelling): (WebCore::GraphicsContext::roundToDevicePixels): (WebCore::GraphicsContext::setShadow): (WebCore::GraphicsContext::clearShadow): (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer): (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::setLineWidth): (WebCore::GraphicsContext::setLineCap): (WebCore::GraphicsContext::setLineJoin): (WebCore::GraphicsContext::setMiterLimit): (WebCore::GraphicsContext::setAlpha): (WebCore::GraphicsContext::setCompositeOperation): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::scale): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::addRoundedRectClip): (WebCore::GraphicsContext::createRenderingDeviceContext): * platform/qt/ImageQt.cpp: Added. (WebCore::FrameData::clear): (WebCore::Image::initNativeData): (WebCore::Image::destroyNativeData): (WebCore::Image::invalidateNativeData): (WebCore::Image::loadResource): (WebCore::Image::supportsType): (WebCore::Image::draw): (WebCore::Image::drawTiled): (WebCore::Image::checkForSolidColor): * platform/qt/ImageSourceQt.cpp: Added. (WebCore::createDecoder): (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::initialized): (WebCore::ImageSource::setData): (WebCore::ImageSource::isSizeAvailable): (WebCore::ImageSource::size): (WebCore::ImageSource::repetitionCount): (WebCore::ImageSource::frameCount): (WebCore::ImageSource::createFrameAtIndex): (WebCore::ImageSource::frameDurationAtIndex): (WebCore::ImageSource::frameHasAlphaAtIndex): 2006-08-23 Brady Eidson Reviewed by Adele Moved default URL icon from WebKit to WebCore * Resources/urlIcon.tiff: Added. * WebCore.xcodeproj/project.pbxproj: * loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::loadImageFromResource): * loader/icon/IconDataCache.h: * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::defaultIcon): * loader/icon/IconDatabase.h: 2006-08-23 Adam Roben Reviewed by Darin, Adele. Some popup refactoring/cleanup. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler): * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::RenderMenuList): (WebCore::RenderMenuList::~RenderMenuList): (WebCore::RenderMenuList::showPopup): (WebCore::RenderMenuList::hidePopup): * rendering/RenderMenuList.h: (WebCore::RenderMenuList::popup): (WebCore::RenderMenuList::popupIsVisible): * rendering/RenderPopupMenu.h: * rendering/RenderPopupMenuMac.h: (WebCore::RenderPopupMenuMac::hidePopup): 2006-08-23 Nikolas Zimmermann Reviewed by Anders. Landed by rwlbuis. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/ResourceLoaderCurl.cpp: Added. (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): (WebCore::ResourceLoader::~ResourceLoader): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::cancel): (WebCore::ResourceLoader::assembleResponseHeaders): (WebCore::ResourceLoader::retrieveCharset): (WebCore::ResourceLoader::receivedResponse): * platform/qt/ResourceLoaderManager.cpp: Added. (WebCore::ResourceLoaderManager::ResourceLoaderManager): (WebCore::ResourceLoaderManager::get): (WebCore::ResourceLoaderManager::useSimpleTransfer): (WebCore::writeCallback): (WebCore::headerCallback): (WebCore::ResourceLoaderManager::downloadTimerCallback): (WebCore::ResourceLoaderManager::remove): (WebCore::ResourceLoaderManager::add): (WebCore::ResourceLoaderManager::cancel): * platform/qt/ResourceLoaderManager.h: Added. * platform/qt/StringQt.cpp: Added. (WebCore::String::String): (WebCore::String::operator QString): (WebCore::DeprecatedString::operator QString): 2006-08-23 Brady Eidson Reviewed by Maciej Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries * WebCore.xcodeproj/project.pbxproj: Reordered some files * loader/icon/IconDataCache.cpp: Use the new escapeSQLString() (WebCore::IconDataCache::writeToDatabase): * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout (WebCore::IconDatabase::retainIconURL): (WebCore::IconDatabase::releaseIconURL): (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): (WebCore::IconDatabase::establishIconIDForIconURL): (WebCore::imageDataForIconURLQuery): (WebCore::timeStampForIconURLQuery): (WebCore::iconURLForPageURLQuery): (WebCore::forgetPageURLQuery): (WebCore::setIconIDForPageURLQuery): (WebCore::getIconIDForIconURLQuery): (WebCore::addIconForIconURLQuery): (WebCore::hasIconForIconURLQuery): * loader/icon/SQLDatabase.h: (WebCore::escapeSQLString): Added 2006-08-22 Maciej Stachowiak Reviewed by Brady. - assorted style cleanup of icon loader code: - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top - split headers to be one per class, to match impl files - made files that are purely local in IconDatabase.cpp static - make each impl file include config.h as first header (and no config.h includes in other headers) - avoid multiple copies of Vector for image data * WebCore.xcodeproj/project.pbxproj: * loader/icon/IconDataCache.cpp: * loader/icon/IconDataCache.h: Added. (WebCore::): (WebCore::IconDataCache::getTimestamp): (WebCore::IconDataCache::setTimestamp): (WebCore::IconDataCache::getIconURL): * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::imageDataForIconURL): (WebCore::IconDatabase::iconForPageURL): (WebCore::pageURLTableIsEmptyQuery): (WebCore::imageDataForIconURLQuery): (WebCore::timeStampForIconURLQuery): (WebCore::iconURLForPageURLQuery): (WebCore::forgetPageURLQuery): (WebCore::setIconIDForPageURLQuery): (WebCore::getIconIDForIconURLQuery): (WebCore::addIconForIconURLQuery): (WebCore::hasIconForIconURLQuery): * loader/icon/IconDatabase.h: * loader/icon/SQLDatabase.cpp: * loader/icon/SQLDatabase.h: * loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::getColumnBlobAsVector): * loader/icon/SQLStatement.h: Added. (WebCore::SQLStatement::isPrepared): (WebCore::SQLStatement::prepareAndStep): (WebCore::SQLStatement::lastError): (WebCore::SQLStatement::lastErrorMsg): * loader/icon/SQLTransaction.cpp: * loader/icon/SQLTransaction.h: Added. 2006-08-22 Brady Eidson Reviewed by Maciej The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon As such, I'm renaming it to IconDataCache. Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the TimeStamp when an icon is created or the data is changed. IconDataCache now has a method to write itself *to* a given database, instead of read itself from one. IconDatabase schema changes to have the timestamp set manually instead of via a trigger. The overall purpose of this change is to cache the timestamp, killing off a very common SQL query. * WebCore.xcodeproj/project.pbxproj: Renamed a file * loader/icon/IconDataCache.cpp: Added. (IconDataCache::IconDataCache): (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data (IconDataCache::manuallySetImageData): Delete the old image and create the new one (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version) (WebCore::IconDatabase::iconForPageURL): (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate * loader/icon/IconDatabase.h: (WebCore::IconDataCache::getTimestamp): (WebCore::IconDataCache::setTimestamp): * loader/icon/SiteIcon.cpp: Removed. 2006-08-22 Justin Garcia Reviewed by harrison REGRESSION(r15918): drag-into-marker.html failing * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting in a list item. 2006-08-22 Brady Eidson Reviewed by Kevin Added a check in getTIFFRepresentation to not proceed if the frame count is zero This is an error condition that was handled gracefully before - in certain circumstances the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data or invalid data. This small change bails out before that call if that call will definitely fail * platform/mac/ImageMac.mm: (WebCore::Image::getTIFFRepresentation): 2006-08-22 David Harrison Backed out my last change (r15966) because it broke lots of layout tests. * editing/TextIterator.cpp: (WebCore::TextIterator::advance): 2006-08-22 Maciej Stachowiak Reviewed by Anders. - added some SPI indirections to support the following in WebKit/Loader: - pull more WebDataSource code into WebFrameLoader - make WebMainResourceLoader not depend on WebKit or on SPI * WebCore.exp: * WebCore.xcodeproj/project.pbxproj: * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: 2006-08-22 Justin Garcia Reviewed by harrison Mail hung on paste text * editing/ReplaceSelectionCommand.cpp: (WebCore::isInterchangeNewlineNode): (WebCore::isInterchangeConvertedSpaceSpan): (WebCore::ReplacementFragment::ReplacementFragment): (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and remove them and remove style nodes and style spans which were only contributing redundant styles. (WebCore::ReplaceSelectionCommand::doApply): * editing/ReplaceSelectionCommand.h: 2006-08-22 David Harrison Reviewed by Darin. Inline hole line adheres to the Japanese characters in inline hole This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box. Test case added: * manual-tests/inline-input-marking.html: Added. Check that underlining of the inline input hole does not obscure the glyphs. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline): Position underline at bottom of text box. Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px. 2006-08-22 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10402 REPRO: SVG crashes inside gradient code Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built. * ksvg2/svg/SVGGradientElement.cpp: (SVGGradientElement::notifyAttributeChange): (SVGGradientElement::resourceNotification): 2006-08-22 David Harrison Reviewed by John. Represent heading elements in AXAttributedStringForTextMarkerRange * bridge/mac/WebCoreAXObject.mm: (headingLevel): (-[WebCoreAXObject headingLevel]): (-[WebCoreAXObject isHeading]): New. Heading level is per the tag (h1 == 1, h2 == 2, etc.) (-[WebCoreAXObject role]): (-[WebCoreAXObject roleDescription]): Add role and roleDescription for headings. (-[WebCoreAXObject value]): Value is the headingLevel. (AXAttributeStringSetHeadingLevel): (AXAttributedStringAppendText): Put text's heading level (if applicable) in the attributes. 2006-08-22 David Harrison Reviewed by John. Represent controls in AXAttributedStringForTextMarkerRange Treat controls as replaced elements, so that AXAttributedStringForTextMarkerRange will, too. * editing/TextIterator.cpp: (WebCore::TextIterator::advance): Include controls. 2006-08-22 David Harrison Reviewed by Maciej. Some non-text elements return AXTextMarkerRangeForUIElement with equal start and end marker * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject textMarkerRange]): Use 0 and maxDeepOffset(), instead of caretMinOffset() and caretMaxRenderedOffset(). Check for VisiblePositions being equal. If so, adjust end one to its next(). That happens with, e.g., buttons. 2006-08-22 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10491 KCanvasMatrix removal Remove KCanvasMatrix from project, using AffineTransform instead. * WebCore.xcodeproj/project.pbxproj: * kcanvas/KCanvasMatrix.cpp: Removed. * kcanvas/KCanvasMatrix.h: Removed. * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): * kcanvas/KCanvasResources.h: * kcanvas/RenderForeignObject.cpp: * kcanvas/RenderPath.h: * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::viewportTransform): (WebCore::RenderSVGContainer::getAspectRatio): * kcanvas/RenderSVGContainer.h: * kcanvas/RenderSVGText.cpp: * kcanvas/device/KRenderingDevice.h: * kcanvas/device/KRenderingPaintServerGradient.cpp: (WebCore::KRenderingPaintServerGradient::gradientTransform): (WebCore::KRenderingPaintServerGradient::setGradientTransform): (WebCore::KRenderingPaintServerGradient::externalRepresentation): * kcanvas/device/KRenderingPaintServerGradient.h: * kcanvas/device/KRenderingPaintServerPattern.cpp: (WebCore::KRenderingPaintServerPattern::patternTransform): (WebCore::KRenderingPaintServerPattern::setPatternTransform): (WebCore::KRenderingPaintServerPattern::externalRepresentation): * kcanvas/device/KRenderingPaintServerPattern.h: * kcanvas/device/quartz/KCanvasFilterQuartz.mm: * kcanvas/device/quartz/KCanvasItemQuartz.mm: * kcanvas/device/quartz/KRenderingDeviceQuartz.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: (WebCore::KRenderingDeviceContextQuartz::concatCTM): (WebCore::KRenderingDeviceContextQuartz::ctm): * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: (WebCore::KRenderingPaintServerGradientQuartz::renderPath): * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: (WebCore::KRenderingPaintServerPatternQuartz::setup): * kcanvas/device/quartz/QuartzSupport.mm: * ksvg2/misc/KCanvasRenderingStyle.h: * ksvg2/svg/SVGAnimateTransformElement.cpp: * ksvg2/svg/SVGAnimateTransformElement.h: * ksvg2/svg/SVGLinearGradientElement.cpp: (SVGLinearGradientElement::buildGradient): * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::drawPatternContentIntoTile): (WebCore::SVGPatternElement::notifyAttributeChange): * ksvg2/svg/SVGPatternElement.h: * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): 2006-08-22 Rob Buis Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10405 REPRO: SVG Maze crashes in RenderPath code Do not render a path when it is empty so maze15.svg does not crash anymore. Also get rid of a runtime warning issued by CGContextGetPathBoundingBox. * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint): * kcanvas/device/quartz/KCanvasPathQuartz.mm: (WebCore::KCanvasPathQuartz::strokeBoundingBox): 2006-08-21 Brady Eidson Reviewed by Maciej - New IconDB: Need to prune unretained icons on startup Added a flag to track whether or not the initial pruning has taken place on startup If that flag is not set, IconURL retain counts will be tracked in a temporary db table in addition to the in-memory hash. Then when the timer fires after initial retains are complete, we prune those icons not in the retain table, prune dangling PageURL references, delete the temporary table, and set the flag - and carry on as normal * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): initialize the flag (WebCore::IconDatabase::open): changed the schema of the temporary table (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up (WebCore::IconDatabase::releaseIconURL): ditto (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then wipe all the PageURLs who no longer point to a valid IconURL * loader/icon/IconDatabase.h: 2006-08-21 Alexey Proskuryakov Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10419 XSLTProcessor transformToFragment fails because of an XML declaration Test: fast/xsl/transformToFragment-XML-declaration.html * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout. 2006-08-21 David Harrison Reviewed by Justin. Represent misspellings in AXAttributedStringForTextMarkerRange Added support for the NSAccessibilityMisspelledTextAttribute. Test cases added: None. Manual AX testing is way too awkward, and automated testing is not possible. See following bug... Need automated testing support for accessibility APIs * bridge/mac/WebCoreAXObject.mm: Lots of trivial formatting in many methods. (-[WebCoreAXObject accessibilityAttributeValue:]): Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling attribute. (WebCore::AXAttributeStringSetSpelling): New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words. (-[WebCoreAXObject AXAttributedStringAppendText:]): Added call to AXAttributeStringSetSpelling. * editing/visible_units.cpp: (WebCore::startOfDocument): (WebCore::endOfDocument): Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*, so a previously existing VisiblePosition is not required. * editing/visible_units.h: Declare new forms of startOfDocument and endOfDocument. 2006-08-21 Nikolas Zimmermann Reviewed by Eric. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/TemporaryLinkStubs.cpp: Added. (JavaAppletWidget::JavaAppletWidget): (Font::selectionRectForComplexText): (Font::offsetForPositionForComplexText): (WebCore::refreshPlugins): (WebCore::focusRingColor): (Image::drawTiled): (WebCore::TextField::selectAll): (WebCore::TextField::addSearchResult): (WebCore::TextField::selectionStart): (WebCore::TextField::hasSelectedText): (WebCore::TextField::selectedText): (WebCore::TextField::setAutoSaveName): (WebCore::TextField::checksDescendantsForFocus): (WebCore::TextField::setSelection): (WebCore::TextField::setMaxResults): (WebCore::TextField::edited): (WebCore::TextField::focusPolicy): (WebCore::TextField::TextField): (WebCore::TextField::~TextField): (WebCore::TextField::setFont): (WebCore::TextField::setAlignment): (WebCore::TextField::setWritingDirection): (WebCore::TextField::maxLength): (WebCore::TextField::setMaxLength): (WebCore::TextField::text): (WebCore::TextField::setText): (WebCore::TextField::cursorPosition): (WebCore::TextField::setCursorPosition): (WebCore::TextField::setEdited): (WebCore::TextField::setReadOnly): (WebCore::TextField::setPlaceholderString): (WebCore::TextField::setColors): (WebCore::TextField::sizeForCharacterWidth): (WebCore::TextField::baselinePosition): (WebCore::TextField::setLiveSearch): (WebCore::Slider::Slider): (WebCore::Slider::sizeHint): (WebCore::Slider::~Slider): (WebCore::Slider::setValue): (WebCore::Slider::setMaxValue): (WebCore::Slider::setMinValue): (WebCore::Slider::setFont): (WebCore::Slider::value): (WebCore::Slider::focusPolicy): (WebCore::ScrollBar::ScrollBar): (WebCore::ScrollBar::setSteps): (WebCore::ScrollBar::scroll): (WebCore::ScrollBar::setValue): (WebCore::ScrollBar::setKnobProportion): (WebCore::PlatformScrollBar::PlatformScrollBar): (WebCore::PlatformScrollBar::~PlatformScrollBar): (WebCore::PlatformScrollBar::width): (WebCore::PlatformScrollBar::height): (WebCore::PlatformScrollBar::setEnabled): (WebCore::PlatformScrollBar::paint): (WebCore::PlatformScrollBar::setScrollBarValue): (WebCore::PlatformScrollBar::setKnobProportion): (WebCore::PlatformScrollBar::setRect): (WebCore::PlatformMouseEvent::PlatformMouseEvent): (WebCore::CheckCacheObjectStatus): (WebCore::CheckIfReloading): (WebCore::ServeSynchronousRequest): (WebCore::historyContains): (WebCore::submitButtonDefaultLabel): (WebCore::inputElementAltText): (WebCore::resetButtonDefaultLabel): (WebCore::defaultLanguage): (WebCore::findNextSentenceFromIndex): (WebCore::findSentenceBoundary): (WebCore::findNextWordFromIndex): (WebCore::findWordBoundary): (Frame::setNeedsReapplyStyles): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::searchableIndexIntroduction): (WebCore::setFocusRingColorChangeFunction): (FrameView::updateBorder): (loadResourceIntoArray): (PlugInInfoStore::createPluginInfoForPluginAtIndex): (PlugInInfoStore::pluginCount): (WebCore::PlugInInfoStore::supportsMIMEType): (FileButton::FileButton): (FileButton::click): (FileButton::sizeForCharacterWidth): (FileButton::focusPolicy): (FileButton::frameGeometry): (FileButton::setFilename): (FileButton::baselinePosition): (FileButton::setFrameGeometry): (FileButton::setDisabled): (WebCore::supportedKeySizes): (WebCore::signedPublicKeyAndChallengeString): 2006-08-21 Nikolas Zimmermann Reviewed by Maciej. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/CursorQt.cpp: Added. (WebCore::Cursor::Cursor): (WebCore::Cursor::~Cursor): (WebCore::Cursor::operator=): (WebCore::Cursors::Cursors::self): (WebCore::moveCursor): (WebCore::crossCursor): (WebCore::handCursor): (WebCore::iBeamCursor): (WebCore::waitCursor): (WebCore::helpCursor): (WebCore::eastResizeCursor): (WebCore::northResizeCursor): (WebCore::northEastResizeCursor): (WebCore::northWestResizeCursor): (WebCore::southResizeCursor): (WebCore::southEastResizeCursor): (WebCore::southWestResizeCursor): (WebCore::westResizeCursor): (WebCore::northSouthResizeCursor): (WebCore::eastWestResizeCursor): (WebCore::northEastSouthWestResizeCursor): (WebCore::northWestSouthEastResizeCursor): (WebCore::columnResizeCursor): (WebCore::rowResizeCursor): * platform/qt/RenderThemeQt.cpp: Added. (WebCore::RenderThemeQt::RenderThemeQt): (WebCore::RenderThemeQt::supportsHover): (WebCore::RenderThemeQt::paintCheckbox): (WebCore::RenderThemeQt::paintRadio): (WebCore::theme): (WebCore::RenderThemeQt::isControlStyled): (WebCore::RenderThemeQt::controlSupportsTints): (WebCore::RenderThemeQt::systemFont): (WebCore::RenderThemeQt::createPopupMenu): (WebCore::RenderThemeQt::addIntrinsicMargins): (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo): (WebCore::RenderThemeQt::setCheckboxSize): (WebCore::RenderThemeQt::setRadioSize): (WebCore::RenderThemeQt::supportsFocus): (WebCore::RenderThemeQt::applyTheme): (WebCore::RenderThemeQt::adjustButtonStyle): (WebCore::RenderThemeQt::paintButton): (WebCore::RenderThemeQt::adjustTextFieldStyle): (WebCore::RenderThemeQt::paintTextField): 2006-08-21 Nikolas Zimmermann Reviewed by Maciej. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/SharedTimerQt.cpp: Added. (WebCore:setSharedTimerFiredFunction): (WebCore::setSharedTimerFireTime): (WebCore::stopSharedTimer): * platform/qt/SharedTimerQt.h: Added. (WebCore::SharedTimerQt::SharedTimerQt): (WebCore::SharedTimerQt::~SharedTimerQt): (WebCore::SharedTimerQt::inst): (WebCore::SharedTimerQt::fire): * platform/qt/SystemTimeQt.cpp: Added. (WebCore::currentTime): 2006-08-21 Brady Eidson Reviewed by John -Defers writing to the database via a timer and handles starting the timer intelligently * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::open): Don't start the update timer by default (WebCore::IconDatabase::close): Call syncDatabase() (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase() (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase() (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer * loader/icon/IconDatabase.h: 2006-08-21 Alexey Proskuryakov Reviewed by Eric. - http://bugs.webkit.org/show_bug.cgi?id=10429 XSLTProcessor.transformToFragment crashes if the owner document is empty Test: fast/js/xslt-fragment-in-empty-doc.html * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty. 2006-08-21 Brady Eidson Reviewed by Anders -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately In the near future, we'll also have timer-based deferred *addition* of database records -Keep retain/release counts in a hash instead of a DB table -Keep only one hash record for the SiteIcons -Renamed some methods for clarity * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): (WebCore::IconDatabase::open): Added new timer setup (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion (WebCore::IconDatabase::retainIconURL): Added (WebCore::IconDatabase::releaseIconURL): Added (WebCore::IconDatabase::forgetPageURL): Added (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity (WebCore::IconDatabase::setIconDataForIconURL): Cleanup (WebCore::IconDatabase::setIconURLForPageURL): (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed (WebCore::IconDatabase::pruneIconsPendingDeletion): Added (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity * loader/icon/IconDatabase.h: Added multiple stuffs 2006-08-21 Brady Eidson Reviewed by Maciej's rubberstamp Removed stale file references from the Xcode.proj * WebCore.xcodeproj/project.pbxproj: 2006-08-20 Nikolas Zimmermann Reviewed by Maciej. Landed by rwlbuis. Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10463 WebKit should have Qt platform support Removing HelperQt.h usage by creating appropriate operators constructor in some of the platform classes, as suggested by Darin. * CMakeLists.txt: * platform/DeprecatedString.h: * platform/Font.h: * platform/PlatformString.h: * platform/qt/ComboBoxQt.cpp: (WebCore::PlatformComboBox::appendItem): (WebCore::PlatformComboBox::appendGroupLabel): (WebCore::PlatformComboBox::setFont): * platform/qt/LineEditQt.cpp: (WebCore::PlatformLineEdit::setFont): (WebCore::PlatformLineEdit::setText): (WebCore::PlatformLineEdit::text): (WebCore::PlatformLineEdit::selectedText): * platform/qt/ListBoxQt.cpp: (WebCore::ListBox::setFont): (WebCore::ListBox::appendItem): * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/qt/ScrollViewQt.cpp: * platform/qt/StringQt.cpp: Added. (WebCore::String::String): (WebCore::String::operator QString): (WebCore::DeprecatedString::operator QString): * platform/qt/TextEditQt.cpp: * platform/qt/WidgetQt.cpp: (WebCore::Widget::setFont): 2006-08-18 Steve Falkenburg Rubber stamped by adele. Fix call to WebFormDelegate's textFieldDidBeginEditing. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::subtreeHasChanged): 2006-08-19 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Next chunk of the implementation for: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/KeyboardCodes.h: Added. * platform/qt/PlatformKeyboardEventQt.cpp: Added. (WebCore::keyIdentifierForQtKeyCode): (WebCore::windowsKeyCodeForKeyEvent): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): * platform/qt/PlatformMouseEventQt.cpp: Added. (WebCore::): (WebCore::PlatformMouseEvent::PlatformMouseEvent): 2006-08-19 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Next chunk of the implementation for: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/AffineTransformQt.cpp: Added. (WebCore::AffineTransform::AffineTransform): (WebCore::AffineTransform::setMatrix): (WebCore::AffineTransform::map): (WebCore::AffineTransform::mapRect): (WebCore::AffineTransform::isIdentity): (WebCore::AffineTransform::m11): (WebCore::AffineTransform::m12): (WebCore::AffineTransform::m21): (WebCore::AffineTransform::m22): (WebCore::AffineTransform::dx): (WebCore::AffineTransform::dy): (WebCore::AffineTransform::reset): (WebCore::AffineTransform::scale): (WebCore::AffineTransform::rotate): (WebCore::AffineTransform::translate): (WebCore::AffineTransform::shear): (WebCore::AffineTransform::det): (WebCore::AffineTransform::invert): (WebCore::AffineTransform::operator QMatrix): (WebCore::AffineTransform::operator==): (WebCore::AffineTransform::operator*=): (WebCore::AffineTransform::operator*): * platform/qt/BrowserExtensionQt.cpp: Added. (WebCore::BrowserExtensionQt::BrowserExtensionQt): (WebCore::BrowserExtensionQt::canRunModal): (WebCore::BrowserExtensionQt::createNewWindow): (WebCore::BrowserExtensionQt::canRunModalNow): (WebCore::BrowserExtensionQt::runModal): (WebCore::BrowserExtensionQt::goBackOrForward): (WebCore::BrowserExtensionQt::historyURL): (WebCore::BrowserExtensionQt::setTypedIconURL): (WebCore::BrowserExtensionQt::setIconURL): (WebCore::BrowserExtensionQt::getHistoryLength): * platform/qt/BrowserExtensionQt.h: Added. * platform/qt/CookieJarQt.cpp: Added. (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled): * platform/qt/PageQt.cpp: Added. (WebCore::rootWindowForFrame): (WebCore::Page::windowRect): (WebCore::Page::setWindowRect): * platform/qt/PathQt.cpp: Added. (WebCore::Path::Path): (WebCore::Path::~Path): (WebCore::Path::operator=): (WebCore::Path::contains): (WebCore::Path::translate): (WebCore::Path::boundingRect): (WebCore::Path::moveTo): (WebCore::Path::addLineTo): (WebCore::Path::addQuadCurveTo): (WebCore::Path::addBezierCurveTo): (WebCore::Path::addArcTo): (WebCore::Path::closeSubpath): (WebCore::Path::addArc): (WebCore::Path::addRect): (WebCore::Path::addEllipse): (WebCore::Path::clear): * platform/qt/ScreenQt.cpp: Added. (WebCore::screenRect): (WebCore::screenDepth): (WebCore::usableScreenRect): 2006-08-19 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. First chunk of the implementation for: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/ComboBoxQt.cpp: Added. (WebCore::PlatformComboBox::PlatformComboBox): (WebCore::PlatformComboBox::~PlatformComboBox): (WebCore::PlatformComboBox::setParentWidget): (WebCore::PlatformComboBox::clear): (WebCore::PlatformComboBox::appendItem): (WebCore::PlatformComboBox::appendGroupLabel): (WebCore::PlatformComboBox::appendSeparator): (WebCore::PlatformComboBox::setCurrentItem): (WebCore::PlatformComboBox::sizeHint): (WebCore::PlatformComboBox::frameGeometry): (WebCore::PlatformComboBox::setFrameGeometry): (WebCore::PlatformComboBox::baselinePosition): (WebCore::PlatformComboBox::setFont): (WebCore::PlatformComboBox::focusPolicy): (WebCore::PlatformComboBox::itemSelected): (WebCore::PlatformComboBox::setWritingDirection): (WebCore::PlatformComboBox::populate): (WebCore::PlatformComboBox::populateMenu): * platform/qt/LineEditQt.cpp: Added. (WebCore::PlatformLineEdit::PlatformLineEdit): (WebCore::PlatformLineEdit::~PlatformLineEdit): (WebCore::PlatformLineEdit::setParentWidget): (WebCore::PlatformLineEdit::setColors): (WebCore::PlatformLineEdit::setAlignment): (WebCore::PlatformLineEdit::setCursorPosition): (WebCore::PlatformLineEdit::cursorPosition): (WebCore::PlatformLineEdit::setEdited): (WebCore::PlatformLineEdit::edited): (WebCore::PlatformLineEdit::setFont): (WebCore::PlatformLineEdit::setMaxLength): (WebCore::PlatformLineEdit::maxLength): (WebCore::PlatformLineEdit::setReadOnly): (WebCore::PlatformLineEdit::isReadOnly): (WebCore::PlatformLineEdit::setText): (WebCore::PlatformLineEdit::text): (WebCore::PlatformLineEdit::setWritingDirection): (WebCore::PlatformLineEdit::selectAll): (WebCore::PlatformLineEdit::hasSelectedText): (WebCore::PlatformLineEdit::selectionStart): (WebCore::PlatformLineEdit::selectedText): (WebCore::PlatformLineEdit::setSelection): (WebCore::PlatformLineEdit::sizeForCharacterWidth): (WebCore::PlatformLineEdit::baselinePosition): (WebCore::PlatformLineEdit::focusPolicy): (WebCore::PlatformLineEdit::checksDescendantsForFocus): (WebCore::PlatformLineEdit::setLiveSearch): (WebCore::PlatformLineEdit::setAutoSaveName): (WebCore::PlatformLineEdit::setMaxResults): (WebCore::PlatformLineEdit::setPlaceholderString): (WebCore::PlatformLineEdit::addSearchResult): * platform/qt/ListBoxQt.cpp: Added. (WebCore::ListBox::ListBox): (WebCore::ListBox::~ListBox): (WebCore::ListBox::setParentWidget): (WebCore::ListBox::sizeForNumberOfLines): (WebCore::ListBox::setSelectionMode): (WebCore::ListBox::clear): (WebCore::ListBox::doneAppendingItems): (WebCore::ListBox::setSelected): (WebCore::ListBox::isSelected): (WebCore::ListBox::setEnabled): (WebCore::ListBox::isEnabled): (WebCore::ListBox::setWritingDirection): (WebCore::ListBox::focusPolicy): (WebCore::ListBox::checksDescendantsForFocus): (WebCore::ListBox::clearCachedTextRenderers): (WebCore::ListBox::setFont): (WebCore::ListBox::appendItem): * platform/qt/ScrollViewQt.cpp: Added. (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::setParentWidget): (WebCore::ScrollView::updateContents): (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::visibleHeight): (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::setContentsPos): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::contentsX): (WebCore::ScrollView::contentsY): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::viewportToContents): (WebCore::ScrollView::contentsToViewport): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::hScrollBarMode): (WebCore::ScrollView::vScrollBarMode): (WebCore::ScrollView::suppressScrollBars): (WebCore::ScrollView::setHScrollBarMode): (WebCore::ScrollView::setVScrollBarMode): (WebCore::ScrollView::setScrollBarsMode): (WebCore::ScrollView::setStaticBackground): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): (WebCore::ScrollView::scrollPointRecursively): (WebCore::ScrollView::inWindow): * platform/qt/TextEditQt.cpp: Added. (WebCore::PlatformTextEdit::PlatformTextEdit): (WebCore::PlatformTextEdit::~PlatformTextEdit): (WebCore::PlatformTextEdit::setParentWidget): (WebCore::PlatformTextEdit::setColors): (WebCore::PlatformTextEdit::setAlignment): (WebCore::PlatformTextEdit::setLineHeight): (WebCore::PlatformTextEdit::setCursorPosition): (WebCore::PlatformTextEdit::getCursorPosition): (WebCore::PlatformTextEdit::setFont): (WebCore::PlatformTextEdit::setReadOnly): (WebCore::PlatformTextEdit::isReadOnly): (WebCore::PlatformTextEdit::setDisabled): (WebCore::PlatformTextEdit::isDisabled): (WebCore::PlatformTextEdit::hasSelectedText): (WebCore::PlatformTextEdit::setText): (WebCore::PlatformTextEdit::text): (WebCore::PlatformTextEdit::textWithHardLineBreaks): (WebCore::PlatformTextEdit::focusPolicy): (WebCore::PlatformTextEdit::setWordWrap): (WebCore::PlatformTextEdit::wordWrap): (WebCore::PlatformTextEdit::setScrollBarModes): (WebCore::PlatformTextEdit::setWritingDirection): (WebCore::PlatformTextEdit::selectionStart): (WebCore::PlatformTextEdit::selectionEnd): (WebCore::PlatformTextEdit::setSelectionStart): (WebCore::PlatformTextEdit::setSelectionEnd): (WebCore::PlatformTextEdit::selectAll): (WebCore::PlatformTextEdit::setSelectionRange): (WebCore::PlatformTextEdit::sizeWithColumnsAndRows): (WebCore::PlatformTextEdit::checksDescendantsForFocus): * platform/qt/WidgetQt.cpp: Added. (WebCore::WidgetPrivate::WidgetPrivate): (WebCore::WidgetPrivate::~WidgetPrivate): (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::setClient): (WebCore::Widget::client): (WebCore::Widget::frameGeometry): (WebCore::Widget::hasFocus): (WebCore::Widget::setFocus): (WebCore::Widget::clearFocus): (WebCore::Widget::font): (WebCore::Widget::setFont): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setQWidget): (WebCore::Widget::qwidget): (WebCore::Widget::setParentWidget): (WebCore::Widget::parentWidget): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::mapFromGlobal): (WebCore::Widget::scaleFactor): (WebCore::Widget::lockDrawingFocus): (WebCore::Widget::unlockDrawingFocus): (WebCore::Widget::paint): (WebCore::Widget::enableFlushDrawing): (WebCore::Widget::isEnabled): (WebCore::Widget::setIsSelected): (WebCore::Widget::disableFlushDrawing): (WebCore::Widget::setEnabled): (WebCore::Widget::focusPolicy): 2006-08-19 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. First chunk of the implementation for: http://bugs.webkit.org/show_bug.cgi?id=10467 WebKit should have Qt platform support * platform/qt/ColorQt.cpp: Added. (WebCore::Color::Color): (WebCore::Color::operator QColor): * platform/qt/FloatPointQt.cpp: Added. (WebCore::FloatPoint::FloatPoint): (WebCore::FloatPoint::operator QPointF): * platform/qt/FloatRectQt.cpp: Added. (WebCore::FloatRect::FloatRect): (WebCore::FloatRect::operator QRectF): * platform/qt/IntPointQt.cpp: Added. (WebCore::IntPoint::IntPoint): (WebCore::IntPoint::operator QPoint): * platform/qt/IntRectQt.cpp: Added. (WebCore::IntRect::IntRect): (WebCore::IntRect::operator QRect): * platform/qt/IntSizeQt.cpp: Added. (WebCore::IntSize::IntSize): (WebCore::IntSize::operator QSize): 2006-08-18 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10470 The Qt platform needs a KCanvas device. * kcanvas/device/qt/KCanvasClipperQt.cpp: Added. (WebCore::KCanvasClipperQt::applyClip): * kcanvas/device/qt/KCanvasClipperQt.h: Added. (WebCore::KCanvasClipperQt::KCanvasClipperQt): * kcanvas/device/qt/KCanvasPathQt.cpp: Added. (WebCore::KCanvasPathQt::KCanvasPathQt): (WebCore::KCanvasPathQt::~KCanvasPathQt): (WebCore::KCanvasPathQt::isEmpty): (WebCore::KCanvasPathQt::moveTo): (WebCore::KCanvasPathQt::lineTo): (WebCore::KCanvasPathQt::curveTo): (WebCore::KCanvasPathQt::closeSubpath): (WebCore::KCanvasPathQt::boundingBox): (WebCore::KCanvasPathQt::strokeBoundingBox): (WebCore::KCanvasPathQt::strokeContainsPoint): (WebCore::KCanvasPathQt::containsPoint): * kcanvas/device/qt/KCanvasPathQt.h: Added. (WebCore::KCanvasPathQt::qtPath): * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added. (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt): (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt): (WebCore::KRenderingDeviceContextQt::concatCTM): (WebCore::KRenderingDeviceContextQt::ctm): (WebCore::KRenderingDeviceContextQt::mapFromVisual): (WebCore::KRenderingDeviceContextQt::mapToVisual): (WebCore::KRenderingDeviceContextQt::clearPath): (WebCore::KRenderingDeviceContextQt::addPath): (WebCore::KRenderingDeviceContextQt::createGraphicsContext): (WebCore::KRenderingDeviceContextQt::painter): (WebCore::KRenderingDeviceContextQt::pathBBox): (WebCore::KRenderingDeviceContextQt::setFillRule): (WebCore::KRenderingDeviceContextQt::fillPath): (WebCore::KRenderingDeviceContextQt::strokePath): (WebCore::KRenderingDeviceQt::KRenderingDeviceQt): (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt): (WebCore::KRenderingDeviceQt::popContext): (WebCore::KRenderingDeviceQt::pushContext): (WebCore::KRenderingDeviceQt::qtContext): (WebCore::KRenderingDeviceQt::contextForImage): (WebCore::KRenderingDeviceQt::stringForPath): (WebCore::KRenderingDeviceQt::createResource): (WebCore::KRenderingDeviceQt::createPaintServer): (WebCore::KRenderingDeviceQt::createFilterEffect): 2006-08-17 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10466 WebKit should have Qt platform support. * platform/Color.h: * platform/Cursor.h: (WebCore::Cursor::Cursor): * platform/FloatPoint.h: * platform/FloatRect.h: * platform/GlyphBuffer.h: (WebCore::GlyphBuffer::glyphAt): (WebCore::GlyphBuffer::advanceAt): (WebCore::GlyphBuffer::add): * platform/GraphicsContext.h: * platform/ImageSource.h: * platform/IntPoint.h: * platform/IntRect.h: * platform/IntSize.h: * platform/ListBox.h: * platform/Path.h: * platform/PlatformKeyboardEvent.h: * platform/PlatformMouseEvent.h: * platform/ResourceLoader.h: * platform/ResourceLoaderClient.h: * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/ScrollView.h: * platform/Widget.h: 2006-08-17 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10465 General WebKit Linux build fixes. * kcanvas/KCanvasFilters.cpp: (WebCore::operator<<): * kcanvas/RenderSVGImage.cpp: * ksvg2/css/SVGCSSStyleSelector.cpp: * ksvg2/svg/SVGAnimateColorElement.cpp: * ksvg2/svg/SVGMaskElement.cpp: * ksvg2/svg/SVGPatternElement.cpp: * page/Frame.h: * rendering/RenderStyle.h: (WebCore::RenderStyle::deleteBindingURIs): * xml/DOMParser.cpp: 2006-08-17 Nikolas Zimmermann Reviewed by Eric. Landed by rwlbuis. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10464 Offer a cmake build system for Qt platform. * CMakeLists.txt: Added. 2006-08-17 David Harrison Reviewed by John Sullivan. REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons Accessorized RenderMenuList objects. * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject mouseButtonListener]): Trivial formatting. (-[WebCoreAXObject actionElement]): Return the HTMLSelectElement. (-[WebCoreAXObject firstChild]): (-[WebCoreAXObject lastChild]): (-[WebCoreAXObject previousSibling]): (-[WebCoreAXObject nextSibling]): (-[WebCoreAXObject parentObject]): (-[WebCoreAXObject parentObjectUnignored]): (-[WebCoreAXObject isAttachment]): (-[WebCoreAXObject attachmentView]): Trivial formatting. (-[WebCoreAXObject role]): Return NSAccessibilityPopUpButtonRole. (-[WebCoreAXObject subrole]): Trivial formatting. (-[WebCoreAXObject roleDescription]): Return NSAccessibilityPopUpButtonRole. (-[WebCoreAXObject textUnderElement]): Trivial formatting. (-[WebCoreAXObject value]): Return the RenderMenuList::text(). (-[WebCoreAXObject position]): Trivial formatting. (-[WebCoreAXObject accessibilityIsIgnored]): - Ignore popup menu items because AppKit does. - Remove redundant check for buttonTag (earlier isControl() check suffices). (-[WebCoreAXObject accessibilityAttributeNames]): (-[WebCoreAXObject accessibilityActionNames]): (-[WebCoreAXObject accessibilityAttributeValue:]): Trivial formatting. (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]): Removed old debugging code that is no longer needed. Trivial formatting. (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]): (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]): (-[WebCoreAXObject removeAXObjectID]): Trivial formatting. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::accessKeyAction): Call click() instead of focus(). * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::text): Added for easy access to popup's current text. * rendering/RenderMenuList.h: (WebCore::RenderMenuList::isMenuList): * rendering/RenderObject.h: (WebCore::RenderObject::isMenuList): Added so popups can be identified. 2006-08-17 David Harrison Reviewed by Maciej. REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range Test cases added: None. Manual AX testing is way too awkward, and automated testing is not possible. See following bug... Need automated testing support for accessibility APIs * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::visiblePositionForTextMarker): Validate the marker by comparing the node and offset to those of the resulting VisiblePosition. 2006-08-17 Nikolas Zimmermann Reviewed by Anders. Fixes: http://bugs.webkit.org/show_bug.cgi?id=10447 AffineTransform should be multi-platform compatible * platform/AffineTransform.h: * platform/cg/AffineTransformCG.cpp: (WebCore::AffineTransform::m11): (WebCore::AffineTransform::m12): (WebCore::AffineTransform::m21): (WebCore::AffineTransform::m22): (WebCore::AffineTransform::dx): (WebCore::AffineTransform::dy): 2006-08-16 David Hyatt Fix an issue with CSS2 system fonts where they did not respect text zoom. This was most visible with the new control fonts used for form controls (they stopped swapping between small/mini/regular as you zoomed). Reviewed by beth * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): 2006-08-15 Justin Garcia Reviewed by thatcher First part of fix for: Mail hung on paste text Fixes: Extra line left after deleting whitespace:pre text Paste as HTML does not yield equivalent style Box styles on first element aren't copied/pasted Copy/paste of arstechnica.com Here's how we avoid adding redundant style information on paste: insert the fragment and do a test rendering, save away style information for every node in the fragment, remove all style information from the fragment, remove the fragment, insert it into the appropriate place in the document, then restore only those styles gathered during the test insertion that aren't redundant. Restoring the styles in this way results in an ApplyStyleCommand and a layout for nearly every inserted node. Instead we want to insert the fragment into the document without removing the style information, then mark style nodes and inline style declarations for removal if they are redundant, and sweep to remove them. This means that we can't rely on ReplacementFragment::wasBlock anymore, because blocks will now have style spans around them. This patch removes the use of wasBlock in ReplaceSelectionCommand. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): Added code to remove the line placeholder left after a move from preserveNewline text. * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if we're deleting a paragraph in preserveNewline text. * editing/JSEditor.cpp: Pass true to prevent nesting. * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends. (WebCore::ReplacementFragment::ReplacementFragment): Ditto. (WebCore::ReplacementFragment::saveRenderingInfo): Ditto. (WebCore::RenderingInfo::RenderingInfo): Ditto. (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from merging rules into one method. (WebCore::ReplaceSelectionCommand::shouldMergeEnd): (WebCore::ReplaceSelectionCommand::shouldMerge): (WebCore::ReplaceSelectionCommand::doApply): Don't do nesting prevention when pasting into an empty paragraph, this fixes 4046469, the common cause of paste fidelity bugs, but needs to be tweaked a little because this can lead to margin/border build-up on repeated copy/pastes. Don't track startPos in addition to insertionPos. It was never used. Fixed a bug where a fragment starting with an interchange newline would cause content to be put outside of an editable region when pasting at the very end of it. Adjust insertionPos before insertion (not during) and do not consult wasBlock to decide whether or not to do so. Changed the way we do the start merge: insert the fragment, then stich paragraphs together, in the same way that we do the end merge. This doesn't require wasBlock and fixes bugs. Replaced some uses of insertionPos with endOfInsertedContent. Fixed a bug in the expansion of the last incoming br (a "collapsed" br is one where !isStartOfParagraph([br,0])). Removed the special case code that did the end merge for the preserveNewline case, since this patch fixes the moveParagraph bug in the preserveNewline case. Removed some unused variables. (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was holding a line open should always be displaced by inserted content, unless the inserted content ends with a br. (WebCore::ReplaceSelectionCommand::updateNodesInserted): * editing/ReplaceSelectionCommand.h: (WebCore::RenderingInfo::style): * editing/markup.cpp: (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when annotate is true (when we're creating markup for the pasteboard). 2006-08-16 John Sullivan Reviewed by Brady Eidson - fixed underlines appearing in white selection text * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintDecorations): bail out if phase is PaintPhaseSelection and forceWhiteText is true 2006-08-16 Brady Eidson Reviewed by John Updated the DB version number and added a helpful comment explaining its meaning * loader/icon/IconDatabase.cpp: 2006-08-16 Brady Eidson Reviewed by Maciej Major refactoring of new iconDB: -Instead of private browsing being handled by in-memory tables, it's now handled by a separate in-memory database with the same table names. This allows us to re-use the same SQL on either the main or private-browsing database -So it follows, I broke out much of the SQL queries into seperate methods suffixed with "Query" that take a database as the method's argument so the same language can run on both private and main tables -Now that we have two DBs, moved the retain/release count to the m_mainDB -While I was at it, updated the schema to combine the Icon and IconResource table - cuts down on some high-usage, low value queries which were too expensive -Ditched the _url -> url convention for escaping urls for SQL. Now its url and escapedURL -Pruned tons of unused methods from previous revisions * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::IconDatabase): Updated initializer list (WebCore::IconDatabase::open): Sets up both databases (WebCore::IconDatabase::close): Closes both databases (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter (WebCore::IconDatabase::createDatabaseTables): Ditto (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes (WebCore::IconDatabase::releaseIconForPageURL): Ditto (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change (WebCore::IconDatabase::pruneUnretainedIcons): Ditto (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function (WebCore::IconDatabase::~IconDatabase): (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query (WebCore::forgetPageURLQuery): Self-explanatory SQL query (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query (WebCore::addIconForIconURLQuery): Self-explanatory SQL query (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments (WebCore::IconDatabase::isOpen): Changed our meaning of "isOpen" to reflect the 2 databases 2006-08-15 Jonas Witt Reviewed by Darin. - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers http://bugs.webkit.org/show_bug.cgi?id=9736 * bindings/objc/DOMEvents.mm: (-[DOMKeyboardEvent initKeyboardEvent::::::::::]): * bindings/objc/DOMEventsNonstandard.mm: (-[DOMWheelEvent initWheelEvent:::::::::::]): * bindings/objc/DOMPrivate.h: - added an initializer for the WheelEvent * dom/WheelEvent.cpp: (WebCore::WheelEvent::initWheelEvent): * dom/WheelEvent.h: 2006-08-15 Mark Rowe Reviewed by Tim H. Build fix: DWARF and -gfull are incompatible with symbol separation. * WebCore.xcodeproj/project.pbxproj: 2006-08-15 Mark Rowe Reviewed by Tim H. http://bugs.webkit.org/show_bug.cgi?id=10394 Bug 10394: WebKit Release and Production configurations should enable dead code stripping * WebCore.xcodeproj/project.pbxproj: 2006-08-15 Geoffrey Garen Reviewed by Darin. - This patch reworks a previous fix for repro crash in KHTMLParser::parseToken, due to parser's current element being destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix leaks. The previous solutions caused a ~2% performance regression on iBench HTML, due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more, for a total win of ~3% vs current TOT. We can merge this fix to the branch to fix (crash in KHTMLParser::popBlock). The solution here is: (1) Don't let the parser ref document nodes -- that causes leaks. (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when moving a node between stacks or to/from 'current', rather than deref'ing and then ref'ing again, simply move the node, along with its refcount, to its new location, and overwrite its old location. * WebCore.xcodeproj/project.pbxproj: * html/HTMLParser.cpp: (WebCore::HTMLStackElem::HTMLStackElem): (WebCore::HTMLStackElem::derefNode): (WebCore::HTMLParser::HTMLParser): (WebCore::HTMLParser::setCurrent): (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::popNestedHeaderTag): (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): (WebCore::HTMLParser::reopenResidualStyleTags): (WebCore::HTMLParser::pushBlock): (WebCore::HTMLParser::popBlock): (WebCore::HTMLParser::popOneBlockCommon): (WebCore::HTMLParser::popOneBlock): (WebCore::HTMLParser::moveOneBlockToStack): * html/HTMLParser.h: 2006-08-15 Mark Rowe Reviewed by Tim H. http://bugs.webkit.org/show_bug.cgi?id=10384 Bug 10384: Switch to DWARF for Release configuration * WebCore.xcodeproj/project.pbxproj: 2006-08-15 Mark Rowe Reviewed by Hyatt. Tweaked and landed by Darin. http://bugs.webkit.org/show_bug.cgi?id=10399 Bug 10399: RenderTextArea is unused * WebCore.vcproj/WebCore/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: Removed RenderTextArea source files. * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h. * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea. * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment. * platform/TextBox.h: Removed. * platform/mac/TextBoxMac.mm: Removed. * platform/mac/WebCoreTextArea.h: Removed. * platform/mac/WebCoreTextArea.mm: Removed. * rendering/RenderTextArea.cpp: Removed. * rendering/RenderTextArea.h: Removed. 2006-08-15 Brady Eidson Reviewed by THE OTHER Maciej... Two small fixes - 1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API 2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a null dereference later * bridge/mac/WebCoreIconDatabaseBridge.mm: (-[WebCoreIconDatabaseBridge retainIconForURL:]): Changed IconDatabase method name (-[WebCoreIconDatabaseBridge releaseIconForURL:]): ditto * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::retainIconForPageURL): Name change (WebCore::IconDatabase::releaseIconForPageURL): ditto (WebCore::IconDatabase::setIconURLForPageURL): Added the null site-icon check when changing a PageURL's iconURL * loader/icon/IconDatabase.h: Some renames 2006-08-14 Eric Seidel Reviewed by mjs. , , inside do not work http://bugs.webkit.org/show_bug.cgi?id=6548 * ksvg2/svg/SVGDefsElement.cpp: (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file (WebCore::SVGDefsElement::isValid): moved to .cpp file (WebCore::SVGDefsElement::rendererIsNeeded): Added. (WebCore::SVGDefsElement::createRenderer): Added. * ksvg2/svg/SVGDefsElement.h: * ksvg2/svg/SVGGElement.cpp: (WebCore::SVGGElement::SVGGElement): adjusted spacing (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing 2006-08-14 Eric Seidel Reviewed by darin and mjs. Add better SVGLoad event support. http://bugs.webkit.org/show_bug.cgi?id=6010 There will still need to be additional support added for and