2006-10-05 David Carson Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=11152 Adjust the tokenizer chunk size to be smaller for mobile devices, and also decrease the yield timer for the tokenizer so that it can resume earlier. * html/HTMLTokenizer.cpp: * config.h: 2006-10-05 Adam Roben Removing accidentally-checked-in do-nothing code. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): 2006-10-05 David Carson Reviewed by Mitz. http://bugs.webkit.org/show_bug.cgi?id=11158 Initialize class variables * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): 2006-10-05 Don Gibson Reviewed by Darin, landed by Adam. http://bugs.webkit.org/show_bug.cgi?id=11176 Fix win32 build, adapt to Maciej's ResourceLoader changes. * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoader::start): 2006-10-05 Marvin Decker Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=10989 Provide a way for embedders to implement BrowserExtensionWin * WebCore.vcproj/WebCore/WebCore.vcproj: * bridge/win/BrowserExtensionWin.cpp: Added. (BrowserExtensionWin::BrowserExtensionWin): (BrowserExtensionWin::setTypedIconURL): (BrowserExtensionWin::setIconURL): (BrowserExtensionWin::getHistoryLength): (BrowserExtensionWin::canRunModal): (BrowserExtensionWin::createNewWindow): (BrowserExtensionWin::canRunModalNow): (BrowserExtensionWin::runModal): (BrowserExtensionWin::goBackOrForward): (BrowserExtensionWin::historyURL): * bridge/win/BrowserExtensionWin.h: * bridge/win/FrameWin.cpp: (WebCore::FrameWin::createNewWindow): * bridge/win/FrameWin.h: * platform/win/TemporaryLinkStubs.cpp: 2006-10-05 Geoffrey Garen Reviewed by Darin. Fixed - renamed ScrollBar to Scrollbar and scroll bar to scrollbar in every case except for file names. - fixed RenderLayer to properly tear down scrollbars, removing them from their parents. * bindings/js/kjs_window.cpp: (KJS::showModalDialog): (KJS::setWindowFeature): (KJS::parseWindowFeatures): * bridge/BrowserExtension.h: * dom/Document.cpp: (WebCore::Document::setInPageCache): * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::init): (WebCore::HTMLFrameElement::parseMappedAttribute): * html/HTMLFrameElement.h: (WebCore::HTMLFrameElement::scrollingMode): * page/Frame.cpp: (WebCore::Frame::finishedParsing): (WebCore::Frame::scrollbarsVisible): * page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate): (WebCore::FrameViewPrivate::reset): (WebCore::FrameView::~FrameView): (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::clear): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::applyOverflowToViewport): (WebCore::FrameView::layout): (WebCore::FrameView::handleMousePressEvent): (WebCore::selectCursor): (WebCore::FrameView::handleMouseMoveEvent): (WebCore::FrameView::setScrollbarsMode): (WebCore::FrameView::setVScrollbarMode): (WebCore::FrameView::setHScrollbarMode): (WebCore::FrameView::restoreScrollbar): (WebCore::FrameView::dispatchMouseEvent): (WebCore::FrameView::scrollbarMoved): * page/FrameView.h: * page/MouseEventWithHitTestResults.cpp: (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): * page/MouseEventWithHitTestResults.h: (WebCore::MouseEventWithHitTestResults::scrollbar): * platform/ScrollBar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::setValue): (WebCore::Scrollbar::setProportion): (WebCore::Scrollbar::setSteps): (WebCore::Scrollbar::scroll): * platform/ScrollBar.h: (WebCore::): (WebCore::ScrollbarClient::~ScrollbarClient): (WebCore::Scrollbar::~Scrollbar): (WebCore::Scrollbar::orientation): (WebCore::Scrollbar::controlSize): (WebCore::Scrollbar::hasPlatformScrollbars): (WebCore::Scrollbar::client): * platform/ScrollBarMode.h: (WebCore::): * platform/ScrollView.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isPointInScrollbar): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::~RenderLayer): (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::horizontaScrollbarWidget): (WebCore::RenderLayer::verticalScrollbarWidget): (WebCore::RenderLayer::valueChanged): (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::destroyScrollbar): (WebCore::RenderLayer::setHasHorizontalScrollbar): (WebCore::RenderLayer::setHasVerticalScrollbar): (WebCore::RenderLayer::verticalScrollbarWidth): (WebCore::RenderLayer::horizontalScrollbarHeight): (WebCore::RenderLayer::updateScrollInfoAfterLayout): * rendering/RenderLayer.h: (WebCore::RenderLayer::horizontalScrollbar): (WebCore::RenderLayer::verticalScrollbar): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): (WebCore::RenderListBox::calcMinMaxWidth): (WebCore::RenderListBox::isPointInScrollbar): (WebCore::RenderListBox::optionAtPoint): (WebCore::RenderListBox::valueChanged): * rendering/RenderListBox.h: * rendering/RenderObject.h: (WebCore::RenderObject::NodeInfo::scrollbar): (WebCore::RenderObject::NodeInfo::setScrollbar): 2006-10-05 Don Gibson Reviewed by Adam. http://bugs.webkit.org/show_bug.cgi?id=11138 Incorrect mouse event generation on Windows * platform/win/MouseEventWin.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): (1) Set mouse button even for non-click-related messages. (2) Track clicks correctly for all buttons, not just the left button. 2006-10-05 Nikolas Zimmermann Reviewed and landed by ap. Fix Qt/Linux build, adapt to Eric's quartz changes and to Maciej's ResourceLoader changes. * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp: (WebCore::KRenderingPaintServerLinearGradientQt::renderPath): (WebCore::KRenderingPaintServerLinearGradientQt::setup): (WebCore::KRenderingPaintServerRadialGradientQt::setup): (WebCore::KRenderingPaintServerRadialGradientQt::renderPath): * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp: (WebCore::KRenderingPaintServerPatternQt::renderPath): * kcanvas/device/qt/KRenderingPaintServerQt.cpp: (WebCore::KRenderingPaintServerQt::setPenProperties): * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp: (WebCore::KRenderingPaintServerSolidQt::setup): (WebCore::KRenderingPaintServerSolidQt::renderPath): * kcanvas/device/qt/RenderPathQt.cpp: (WebCore::getPathStroke): 2006-10-05 Alexey Proskuryakov Reviewed by Darin. http://bugs.webkit.org/show_bug.cgi?id=11054 REGRESSION: Traditional Chinese encoding in login authentication 1. Treat GB2312 encoding as GBK (its more modern superset), to match other browsers. 2. On the Web, GB2312 is encoded as EUC-CN or HZ, while ICU provides a native encoding for encoding GB_2312-80 and several others. So, we need to override this behavior, too. * platform/StreamingTextDecoderICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): 2006-10-05 Eric Seidel Reviewed by mjs. Removed dead code. Filed http://bugs.webkit.org/show_bug.cgi?id=11167 to for followup on removed FIXMEs * WebCore.xcodeproj/project.pbxproj: * ksvg2/ecma/GlobalObject.cpp: Removed. * ksvg2/ecma/GlobalObject.h: Removed. 2006-10-05 Adam Roben Reviewed by Maciej. Small ResourceLoaderInternal tweak. * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): 2006-10-05 Eric Seidel Reviewed by mjs. More incremental KCanvas cleanup and optimization. Added SVGRenderStyle::hasFill() and hasStroke() removed more KSVGPainterFactory methods. Optimized dash array usage to not malloc. Also removed un-needed KSVGRenderingStyle includes. * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<): * kcanvas/RenderPath.cpp: (WebCore::RenderPath::nodeAtPoint): * kcanvas/device/quartz/KCanvasItemQuartz.mm: (WebCore::RenderPath::strokeBBox): * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: (WebCore::KRenderingPaintServerGradientQuartz::setup): (WebCore::KRenderingPaintServerGradientQuartz::renderPath): (WebCore::KRenderingPaintServerGradientQuartz::teardown): * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: (WebCore::KRenderingPaintServerSolidQuartz::setup): (WebCore::KRenderingPaintServerSolidQuartz::renderPath): (WebCore::KRenderingPaintServerPatternQuartz::setup): (WebCore::KRenderingPaintServerPatternQuartz::renderPath): * kcanvas/device/quartz/QuartzSupport.mm: (WebCore::applyStrokeStyleToContext): * ksvg2/css/SVGRenderStyle.h: (WebCore::SVGRenderStyle::hasStroke): (WebCore::SVGRenderStyle::hasFill): * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::KSVGPainterFactory::fillPaintServer): (WebCore::KSVGPainterFactory::strokePaintServer): * ksvg2/misc/KCanvasRenderingStyle.h: 2006-10-05 Maciej Stachowiak Reviewed by Adam. - changed ResourceLoader to be refcounted It keeps a ref on itself while loading as well. This makes for a much saner memory management model than the previous. * bridge/mac/WebCoreResourceLoaderImp.mm: (-[WebCoreResourceLoaderImp finishJobAndHandle:]): * dom/XMLTokenizer.cpp: (WebCore::openFunc): * loader/icon/IconLoader.cpp: (IconLoader::IconLoader): (IconLoader::~IconLoader): (IconLoader::startLoading): (IconLoader::stopLoading): (IconLoader::receivedData): * loader/icon/IconLoader.h: * loader/loader.cpp: (WebCore::Loader::servePendingRequests): * platform/ResourceLoader.cpp: (WebCore::ResourceLoader::create): (WebCore::ResourceLoader::kill): * platform/ResourceLoader.h: * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc): * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send): * xml/xmlhttprequest.h: 2006-10-05 Eric Seidel Reviewed by mjs. Improve SVG opacity performance by clipping to the object bbox before starting a new opacity layer. http://bugs.webkit.org/show_bug.cgi?id=11163 No SVG performance tests yet. * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint): * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint): 2006-10-05 Dave Hyatt Stub out some stuff for widget focusability. Reviewed by maciej * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): * platform/ScrollView.h: * platform/Widget.h: 2006-10-05 Adam Roben Reviewed by Maciej and Tim H. Copy some WebKit frame lifetime logic into WebCore -- just a step along the path to frame lifetime being handled completely in WebCore. * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setView): Move platform-independent parts of this method into Frame. * page/Frame.cpp: (WebCore::Frame::setView): Adding platform-independent parts of FrameMac::setView (WebCore::Frame::detachChildren): New method to accomplish what -[WebFrameBridge _detachChildren] currently does. (WebCore::Frame::clear): Call detachChildren * page/Frame.h: Add declaration for detachChildren 2006-10-04 Alice Liu Reviewed by Darin. Fixed REGRESSION: Business and People widgets fails to complete search query * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::setRequestHeader): removed exception set when the request is not open yet 2006-10-04 Anders Carlsson Reviewed by John Sullivan. Safari Crashes in WebCore::PluginTokenizer::writeRawData If I Try to Open a SWF File With Plug-ins Turned Off * loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData): Only send the data to the plug-in if plug-ins are enabled, otherwise just silently eat it. 2006-10-03 Alexey Proskuryakov Reviewed by Tim H. http://bugs.webkit.org/show_bug.cgi?id=11130 Convert "undefined" to AE missing value * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): return missing value for UndefinedType. 2006-10-03 Dave Hyatt Scrolling work. Eliminate convertTo/FromContainingWindow as cross-platform functions. Add back in the windowToContents/contentsToWindow functions. Reviewed by anders * bridge/mac/FrameMac.mm: (WebCore::FrameMac::eventMayStartDrag): (WebCore::FrameMac::dragHysteresisExceeded): (WebCore::FrameMac::mouseDown): (WebCore::FrameMac::shouldDragAutoNode): (WebCore::FrameMac::sendContextMenuEvent): * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::passMousePressEventToScrollbar): * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge _visiblePositionForPoint:]): * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent): (WebCore::EventTargetNode::dispatchWheelEvent): * page/Frame.cpp: (WebCore::Frame::selectClosestWordFromMouseEvent): (WebCore::Frame::handleMousePressEventTripleClick): (WebCore::Frame::handleMousePressEventSingleClick): (WebCore::Frame::handleMouseMoveEvent): (WebCore::Frame::handleMouseReleaseEvent): * page/FrameView.cpp: (WebCore::FrameView::handleMousePressEvent): (WebCore::FrameView::handleMouseDoubleClickEvent): (WebCore::selectCursor): (WebCore::FrameView::handleMouseMoveEvent): (WebCore::FrameView::handleMouseReleaseEvent): (WebCore::FrameView::dispatchDragEvent): (WebCore::FrameView::prepareMouseEvent): (WebCore::FrameView::handleWheelEvent): * page/FrameView.h: * platform/ScrollBar.cpp: (WebCore::ScrollBar::setValue): * platform/ScrollView.h: * platform/Widget.h: (WebCore::Widget::scrolled): * platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::contentsToWindow): (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::scrollbarUnderMouse): * platform/mac/WidgetMac.mm: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize): (WebCore::RenderLayer::positionScrollbars): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::shouldPaint): * rendering/RenderView.cpp: * rendering/RenderView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidget): 2006-09-26 David Smith Reviewed by Timothy. http://bugs.webkit.org/show_bug.cgi?id=3723 Add -scrollDOMRangeToVisible: No automated tests are possible as this code path isn't reachable from JavaScript. * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge scrollDOMRangeToVisible:]): 2006-10-03 Graham Dennis Reviewed by Timothy. When contentEditable, cursor doesn't change to hand Allow the behaviour of editable links to be specified by a WebPreference The preference WebKitEditableLinkBehavior has four options: - AlwaysLive: Safari 2.0 behaviour - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour) - LiveWhenNotFocused: Editable links are live only when their editable block is not focused, or when the shift key is pressed - DefaultBehavior: This is the same as OnlyLiveWithShiftKey. No layout tests, just a modification of a manual-test as it isn't possible to test this automatically. * bridge/mac/WebCoreSettings.h: * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings setEditableLinkBehavior:]): (-[WebCoreSettings editableLinkBehavior]): * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::HTMLAnchorElement): (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::setActive): * html/HTMLAnchorElement.h: * manual-tests/contenteditable-link.html: * page/FrameView.cpp: (WebCore::nodeIsNotBeingEdited): (WebCore::selectCursor): * page/Settings.h: (WebCore::Settings::): (WebCore::Settings::Settings): (WebCore::Settings::editableLinkBehavior): (WebCore::Settings::setEditableLinkBehavior): 2006-10-03 Beth Dakin Reviewed Darin. No test cases needed. Implemented a version of StringImpl::append that takes a UChar* and a length. * platform/StringImpl.cpp: (WebCore::StringImpl::append): (WebCore::StringImpl::insert): Call new append instead of making a new StringImpl. * platform/StringImpl.h: 2006-10-03 MorganL Reviewed by Darin. Fixes: http://bugs.webkit.org/show_bug.cgi?id=11099 HttpSendRequestEx results in ERROR_HTTP_HEADER_NOT_FOUND * platform/win/ResourceLoaderWin.cpp: (WebCore::ResourceLoader::onHandleCreated): 2006-10-02 Geoffrey Garen Feared, loathed, reviewed by Darin. More frame/iframe merging. Merged IFRAME::willRemove and IFRAME::detach into FRAME, plus other cleanup. No new behavior, so no new test. Layout tests pass. Basic browsing and Mail editing seem to work. * dom/Node.cpp: (WebCore::Node::detach): Removed random commented-out code. * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::isURLAllowed): (1) Removed reference to FrameView, to dissociate frame loading from rendering. (2) Renamed newURL to completeURL because the difference between newURL and URLString is that newURL is a KURL that is the complete version of URLString, not that it is new. (WebCore::HTMLFrameElement::willRemove): (1) Removed close() call and moved close() code into willRemove(), also removing close() call from detach(), since willRemove is the well-defined place from DOM tear-down, not detach(). (2) Removed manual renderer detach code because the DOM is not responsible for managing the render tree. I confirmed that this change not regress . (3) Removed questionable ASSERT. The ASSERT assumed that iframe elements lost their content frames after being removed from the DOM. That's our current behavior, but it's going to change in future rounds of refactoring. This also fixes . (WebCore::HTMLFrameElement::setLocation): Removed wacky manual calls to attach/detach, because the render tree should not be in charge of deciding when to load. * html/HTMLFrameElement.h: * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::attach): Renamed renderPart to renderPartObject, because the renderer is a renderPartObject, not a renderPart. * html/HTMLIFrameElement.h: 2006-10-03 Mark Rowe Reviewed by Mitz. http://bugs.webkit.org/show_bug.cgi?id=11137 Bug 11137: GdkLauncher dies with "pure virtual method called" if window is closed while page still loading * platform/gdk/FrameGdk.cpp: (WebCore::FrameGdk::~FrameGdk): Call cancelAndClear to allow virtual methods to be called before the FrameGdk portion of "this" is torn down. 2006-10-03 Adam Roben Reviewed by Darin. Handle tab key presses in the DOM. * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Add tab key handling. * page/FrameView.cpp: (WebCore::FrameView::advanceFocus): Rename and reimplement focusNextPrevNode. Now we just call Element::focus(). * page/FrameView.h: Rename focusNextPrevNode to advanceFocus and make it public. 2006-10-03 Justin Garcia Reviewed by mjs TOT REGRESSION: Repro assertion failure when forwarding draft in Range::compareBoundaryPoints No layout test possible, attributedStringFrom:(DOMNode*)...etc isn't available to DRT. * dom/Range.cpp: (WebCore::Range::boundaryPointsValid): compareBoundaryPoints asserts that the incoming positions are non-null since most of it's callers would be in a bad state if the positions were null. boundaryPointsValid, which calls compareBoundaryPoints, is an exception. Instead of removing the assert I've added nil checks in boundaryPointsValid, to keep it from entering compareBoundaryPoints and hitting the assert. 2006-10-03 Adele Peterson Reviewed by Geoff. Make code for turning off new listbox implementation mac-only, since there's no implementation on other platforms. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcStyle): (WebCore::HTMLSelectElement::isKeyboardFocusable): (WebCore::HTMLSelectElement::isMouseFocusable): (WebCore::HTMLSelectElement::createRenderer): (WebCore::HTMLSelectElement::setRecalcListItems): (WebCore::HTMLSelectElement::notifyOptionSelected): (WebCore::HTMLSelectElement::defaultEventHandler): 2006-10-04 Darin Adler Reviewed by Geoff. - fix http://bugs.webkit.org/show_bug.cgi?id=11132 Caret disappears when you're typing * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection): Remove unnecessary call to clearCaretRectIfNeeded. The recomputeCaretRect now takes care of this. (WebCore::SelectionController::recomputeCaretRect): Explicitly set m_needsLayout to false so we can get the old caret repaint rect. Later we need to change the design so getting the rect doesn't have a side effect of causing a layout without invalidation. 2006-10-03 David Harrison Reviewed by Maciej. Candidate Window isn't displayed and only first candidate is displayed at typing location. Updated test: * fast/text/justified-text-rect.html * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge convertToNSRange:]): (-[WebCoreFrameBridge convertToDOMRange:]): Make the selection's root editable element (or the document itself) be the basis for NSRange conversions. This supports "shadow DOM" like that for text fields and text areas. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): Pass the document element as the scope. * editing/TextIterator.cpp: (WebCore::TextIterator::rangeFromLocationAndLength): Make the first parameter the scope. * editing/TextIterator.h: Make the first parameter of rangeFromLocationAndLength() the scope. 2006-10-03 Nikolas Zimmermann Reviewed by Eric. Fix Qt/Linux build. * CMakeLists.txt: Add counter related files. 2006-10-03 Mark Rowe Reviewed by Eric. http://bugs.webkit.org/show_bug.cgi?id=10981 Linux/GDK build fixes Based on a patch by Krzysztof Kowalczyk. * WebCoreSources.bkl: * platform/gdk/FrameGdk.cpp: (WebCore::doScroll): (WebCore::FrameGdk::handleGdkEvent): * platform/gdk/PlatformScrollBar.h: Added. (WebCore::PlatformScrollBar::isWidget): * platform/gdk/ScrollViewGdk.cpp: * platform/gdk/TemporaryLinkStubs.cpp: (FrameView::passMousePressEventToScrollbar): (FrameView::passMousePressEventToSubframe): (FrameView::passMouseReleaseEventToSubframe): (FrameView::passMouseMoveEventToSubframe): (FrameView::passWheelEventToSubframe): (Cursor::Cursor): (Widget::invalidate): (Widget::invalidateRect): (ScrollView::wheelEvent): (ScrollView::convertToContainingWindow): (ScrollView::convertFromContainingWindow): (GraphicsContext::clip): (PlatformScrollBar::PlatformScrollBar): (PlatformScrollBar::updateThumbPosition): (PlatformScrollBar::updateThumbProportion): (ScrollBar::ScrollBar): (ScrollBar::setProportion): (WebCore::supportedKeySizes): (WebCore::signedPublicKeyAndChallengeString): * platform/gdk/WheelEventGdk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent): * platform/gdk/WidgetGdk.cpp: (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow): 2006-10-02 Adam Roben Reviewed by Maciej. Let Windows determine which mouse button is pressed. * platform/PlatformMouseEvent.h: Add message parameter to constructor. * platform/win/MouseEventWin.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): Use message parameter to determine which mouse button is pressed. 2006-10-02 Justin Garcia Reviewed by anders Build fix * editing/SelectionController.cpp: (WebCore::SelectionController::empty): * editing/SelectionController.h: 2006-10-02 Justin Garcia Reviewed by john Writely Editor: Crash occurs at WebCore::maxDeepOffset(WebCore::Node const*) when attempting to create a OL/UL following a HR element * editing/markup.cpp: (WebCore::createMarkup): Migrate to isBlock (isBlockFlow is true for inline replaced elements). Don't skip blocks that aren't containers (like horizontal rules). 2006-10-03 Darin Adler Reviewed by Justin Garcia. - correct mistaken code that would restart blinking every time "invalidateSelection" is called even if the caret has not moved * editing/SelectionController.h: * editing/SelectionController.cpp: (WebCore::SelectionController::setSelection): Update for name change. (WebCore::SelectionController::recomputeCaretRect): New function. Computes caret rect and does any necessary invalidation if the rect changes. (WebCore::SelectionController::invalidateCaretRect): Renamed from needsCaretRepaint. Invalidates the caret rect unconditionally. Also calls recomputeCaretRect as a side effect. * page/Frame.cpp: (WebCore::Frame::invalidateSelection): Remove unneeded call to clearCaretRectIfNeeded. (WebCore::Frame::clearCaretRectIfNeeded): Updated for name change. (WebCore::Frame::selectionLayoutChanged): Restructured to use the new recomputeCaretRect function and not restart blinking if caret has not changed position. (WebCore::Frame::caretBlinkTimerFired): Removed some checks that are not needed since selectionLayoutChanged already checks these. * page/FramePrivate.h: Removed unused m_blinkCaret. 2006-10-02 Beth Dakin Reviewed by Adam. Build fix. Add counters to vcproj. * WebCore.vcproj/WebCore/WebCore.vcproj: 2006-10-02 Brady Eidson Reviewed by Adele If the Icon DB schema changes underneath you, the latest ToT can crash and burn when writing icon data out because we don't correctly check SQL error conditions. * loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::writeToDatabase): 2006-10-02 Steve Falkenburg Reviewed by Hyatt. Added method to find out whether a layout has occurred. * page/FrameView.cpp: (WebCore::FrameView::didFirstLayout): * page/FrameView.h: 2006-10-02 Beth Dakin Reviewed by Darin. Initial implementation of CSS2 counters. See http:// bugs.webkit.org/show_bug.cgi?id=4980 for more details. * WebCore.xcodeproj/project.pbxproj: * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return the increment/reset list now that this is implemented. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): * css/Counter.h: (WebCore::Counter::Counter): (WebCore::Counter::~Counter): (WebCore::Counter::identifier): (WebCore::Counter::listStyle): (WebCore::Counter::separator): (WebCore::Counter::listStyleNumber): (WebCore::Counter::setIdentifier): (WebCore::Counter::setListStyle): (WebCore::Counter::setSeparator): * css/cssparser.cpp: (WebCore::CSSParser::addProperty): Take care of reset/increment (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseContent): content can now take counters (WebCore::CSSParser::parseCounterContent): Parse counter() and counters() (WebCore::CSSParser::parseCounter): Parse counter-reset and counter-increment * css/cssparser.h: * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchUARules): (WebCore::CSSStyleSelector::applyProperty): * platform/PlatformString.h: * platform/String.cpp: (WebCore::String::insert): Implemented a version of insert that accepts a UChar* and a length. * platform/StringImpl.cpp: (WebCore::StringImpl::insert): Same as above. * platform/StringImpl.h: * rendering/CounterListItem.h: Added. * rendering/CounterNode.cpp: Added. (WebCore::CounterNode::CounterNode): (WebCore::CounterNode::insertAfter): (WebCore::CounterNode::removeChild): (WebCore::CounterNode::remove): (WebCore::CounterNode::setUsesSeparator): (WebCore::CounterNode::recountAndGetNext): (WebCore::CounterNode::recountTree): (WebCore::CounterNode::setSelfDirty): (WebCore::CounterNode::setParentDirty): * rendering/CounterNode.h: Added. (WebCore::CounterNode::~CounterNode): (WebCore::CounterNode::parent): (WebCore::CounterNode::previousSibling): (WebCore::CounterNode::nextSibling): (WebCore::CounterNode::firstChild): (WebCore::CounterNode::lastChild): (WebCore::CounterNode::value): (WebCore::CounterNode::setValue): (WebCore::CounterNode::count): (WebCore::CounterNode::setCount): (WebCore::CounterNode::setHasSeparator): (WebCore::CounterNode::isReset): (WebCore::CounterNode::hasSeparator): (WebCore::CounterNode::willNeedLayout): (WebCore::CounterNode::setWillNeedLayout): (WebCore::CounterNode::isRoot): (WebCore::CounterNode::setRenderer): (WebCore::CounterNode::renderer): * rendering/CounterResetNode.cpp: Added. (WebCore::CounterResetNode::CounterResetNode): (WebCore::CounterResetNode::insertAfter): (WebCore::CounterResetNode::removeChild): (WebCore::CounterResetNode::recountAndGetNext): (WebCore::CounterResetNode::setParentDirty): (WebCore::CounterResetNode::updateTotal): * rendering/CounterResetNode.h: Added. (WebCore::CounterResetNode::firstChild): (WebCore::CounterResetNode::lastChild): (WebCore::CounterResetNode::isReset): (WebCore::CounterResetNode::total): * rendering/RenderContainer.cpp: (WebCore::RenderContainer::updatePseudoChildForObject): Account for counter content. * rendering/RenderCounter.cpp: Added. (WebCore::RenderCounter::RenderCounter): (WebCore::RenderCounter::layout): (WebCore::toRoman): (WebCore::toLetterString): (WebCore::toHebrew): (WebCore::RenderCounter::convertValueToType): (WebCore::RenderCounter::calcMinMaxWidth): * rendering/RenderCounter.h: Added. (WebCore::RenderCounter::renderName): (WebCore::RenderCounter::isCounter): * rendering/RenderObject.cpp: (WebCore::getRenderObjectsToCounterNodeMaps): Maps RenderObjects to maps of CounterNodes (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::destroy): Destroy the maps. (WebCore::RenderObject::findCounter): Finds/creates counters. * rendering/RenderObject.h: (WebCore::RenderObject::isCounter): * rendering/RenderStyle.cpp: (WebCore::StyleVisualData::StyleVisualData): (WebCore::RenderStyle::arenaDelete): (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::setContent): (WebCore::ContentData::clearContent): (WebCore::RenderStyle::counterDataEquivalent): (WebCore::hasCounter): (WebCore::RenderStyle::hasCounterReset): (WebCore::RenderStyle::hasCounterIncrement): (WebCore::readCounter): (WebCore::RenderStyle::counterReset): (WebCore::RenderStyle::counterIncrement): * rendering/RenderStyle.h: (WebCore::StyleVisualData::operator==): (WebCore::CounterData::CounterData): (WebCore::CounterData::identifier): (WebCore::CounterData::listStyle): (WebCore::CounterData::separator): (WebCore::ContentData::contentCounter): (WebCore::ContentData::): (WebCore::RenderStyle::counterIncrement): (WebCore::RenderStyle::counterReset): (WebCore::RenderStyle::setCounterIncrement): (WebCore::RenderStyle::setCounterReset): (WebCore::RenderStyle::setCounterResetList): (WebCore::RenderStyle::setCounterIncrementList): (WebCore::RenderStyle::counterResetValueList): (WebCore::RenderStyle::counterIncrementValueList): 2006-10-02 Adele Peterson Reviewed by Adam. - Fix for Switch to use new list box implementation for