2009-01-19 Simon Fraser Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=18078 Support animations and transitions of shorthand properties by creating PropertyWrappers that simply wrap a vector of atomci wrappers, and implement equal() and blend(). Build that collection of shorthand wrappers using the shorthand map that CSSMutableStyleDeclaration already has. Skip comparing these shorthand wrappers during 'all' transitions. * GNUmakefile.am: * WebCore.pro: * WebCore.scons: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: Add CSSPropertyLonghand.h/cpp. * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): Move CSSPropertyLonghand to its own file. * css/CSSPropertyLonghand.cpp: Added. (WebCore::initShorthandMap): (WebCore::longhandForProperty): * css/CSSPropertyLonghand.h: Added. (WebCore::CSSPropertyLonghand::CSSPropertyLonghand): (WebCore::CSSPropertyLonghand::properties): (WebCore::CSSPropertyLonghand::length): Code moved from CSSMutableStyleDeclaration.h/cpp * page/animation/AnimationBase.cpp: (WebCore::PropertyWrapperBase::isShorthandWrapper): (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): (WebCore::ShorthandPropertyWrapper::isShorthandWrapper): (WebCore::ShorthandPropertyWrapper::equals): (WebCore::ShorthandPropertyWrapper::blend): Add a wrapper class for shorthand properties that simply wraps an array of atomic property wrappers. (WebCore::ensurePropertyMap): (WebCore::addPropertyWrapper): (WebCore::addShorthandProperties): (WebCore::wrapperForProperty): (WebCore::AnimationBase::propertiesEqual): (WebCore::AnimationBase::getPropertyAtIndex): Some minor refactoring to re-use wrapperForProperty(), and ensure that gPropertyWrapperMap is filled with an invalid index (-1), not 0. (WebCore::AnimationBase::blendProperties): * page/animation/AnimationBase.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions): When doing 'all' transitions, skip shorthand wrappers, since 'all' transitions just need to compare all the atomic property wrappers. 2009-01-19 Oliver Hunt Reviewed by NOBODY (Build fix). Actually add the new header. * dom/GenericWorkerTask.h: Added. 2009-01-19 David Levin Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=22720 Provide a generic class to handle the pattern of task callbacks across worker/parent threads. It only works for methods that need 6 parameters but similar classes could be added as needed for other numbers of parameters. Add addMessage and resourceRetrievedByXMLHttpRequest to ScriptExecutionContext. Use these methods and others to remove document() from XMLHttpRequest in a few more places. No observable change in behavior, so no test. * GNUmakefile.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: Sorted project file while adding GenericWorkerTask.h * bindings/js/ScriptString.h: (WebCore::ScriptString::operator=): (WebCore::ScriptString::operator+=): (WebCore::ScriptString::operator==): (WebCore::ScriptString::operator!=): Removed unnecessary JSLock. * dom/Document.cpp: (WebCore::Document::addMessage): (WebCore::Document::resourceRetrievedByXMLHttpRequest): * dom/Document.h: * dom/GenericWorkerTask.h: Added. (WebCore::GenericWorkerTaskBase::GenericWorkerTaskBase): (WebCore::GenericWorkerTaskBase::canPerformTask): (WebCore::GenericWorkerTask6::create): (WebCore::GenericWorkerTask6::GenericWorkerTask6): (WebCore::GenericWorkerTask6::performTask): (WebCore::createCallbackTask): * dom/ScriptExecutionContext.h: * dom/WorkerContext.cpp: (WebCore::addMessageTask): (WebCore::WorkerContext::addMessage): (WebCore::WorkerContext::resourceRetrievedByXMLHttpRequest): (WebCore::WorkerContext::postTaskToParentContext): * dom/WorkerContext.h: * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::postTaskToParentContext): * dom/WorkerMessagingProxy.h: * dom/WorkerThread.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::dropProtection): (WebCore::reportUnsafeUsage): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::getResponseHeader): (WebCore::XMLHttpRequest::didFinishLoading): * xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::create): 2009-01-19 Chris Fleizach Reviewed by Beth Dakin. Bug 23422: AX: AXLinks should expose access key information https://bugs.webkit.org/show_bug.cgi?id=23422 Test: accessibility/accesskey.html * page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2009-01-19 Alexey Proskuryakov Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=23417 Implement application cache obsolete state Test: http/tests/appcache/remove-cache.html * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): * dom/EventNames.h: * loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::Status): (WebCore::DOMApplicationCache::setOnobsolete): (WebCore::DOMApplicationCache::onobsolete): * loader/appcache/DOMApplicationCache.idl: Added "obsolete" event and status. * loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::savedNewestCachePointer): Removed, there is no longer any need to track what the newest cache was during teardown. (WebCore::ApplicationCacheGroup::updateStatus): Renamed Status to UpdateStatus, reducing confusion with cache group lifecycle status. (WebCore::ApplicationCacheGroup::m_isObsolete): Added an obsolete state flag. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Initialize m_isObsolete. (WebCore::ApplicationCacheGroup::cacheForMainRequest): Assert that the returned cache does not belong to an obsolete group. (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): Ditto. (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Disassociation can now happen via a JS swapCache() call, not only when the loader is destroyed. (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't track m_savedNewestCachePointer. (WebCore::ApplicationCacheGroup::setNewestCache): Remove old newest cache from storage is a caller responsibility, because this method is also used when loading caches from disk. (WebCore::ApplicationCacheGroup::makeObsolete): Added. Mark the cache group as obsolete, and inform cache storage, so that it could be removed. (WebCore::ApplicationCacheGroup::didFailToLoadManifest): Removed, as all this method did was call cacheUpdateFailed(). (WebCore::ApplicationCacheGroup::didReceiveResponse): Added a FIXME about correct failure handing. (WebCore::ApplicationCacheGroup::didFail): Ditto. (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Call a new manifestNotFound() method for 404 and 410 responses. (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Call cacheUpdateFailed() directly, instead of the removed didFailToLoadManifest(). (WebCore::ApplicationCacheGroup::manifestNotFound): Implement "remove a cache" algorithm. (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Remove superceded cache from storage after update successfully finishes (moved from setNewestCache()). (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the group using an explicitly passed pointer, without the need to save it during teardown. * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::~DocumentLoader): Call the general ApplicationCacheGroup::disassociateDocumentLoader() method. * loader/appcache/ApplicationCacheStorage.h: Added a cacheGroupMadeObsolete() method, updated some comments. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupForURL): Assert that iterated caches are not obsolete. (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto. (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't do anything for obsolete groups, as they cannot be in storage. (WebCore::ApplicationCacheStorage::cacheGroupMadeObsolete): Remove the cache group from storage completely, so that a new one could replace it, if necessary. (WebCore::ApplicationCacheStorage::storeNewestCache): Added assertions. (WebCore::ApplicationCacheStorage::remove): Remove cache group if its newest cache is removed. * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::status): Added support for OBSOLETE state. (WebCore::DOMApplicationCache::swapCache): Disassociate document loader from cache if the application was removed server-side. (WebCore::DOMApplicationCache::callObsoleteListener): Added support for obsolete event. * loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::Status): (WebCore::DOMApplicationCache::setOnobsolete): (WebCore::DOMApplicationCache::onobsolete): Added support for OBSOLETE state and obsolete event. * loader/appcache/DOMApplicationCache.idl: Ditto. 2009-01-19 Anders Carlsson Reviewed by Kevin Decker. Allow plug-in views to return an instance directly. * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::createScriptInstanceForWidget): 2009-01-19 Chris Fleizach Reviewed by David Hyatt. AX: some buttons don't expose AXPress as an action https://bugs.webkit.org/show_bug.cgi?id=23399 Test: accessibility/button-press-action.html * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::actionElement): 2009-01-19 Adam Roben Windows build fix * WebCore.vcproj/WebCore.vcproj: Copy headers from page/animation into $WebKitOutputDir so that WebKit can access them. * html/HTMLBaseFontElement.cpp: Touched this file to cause a rebuild and header copy. 2009-01-19 Ariya Hidayat Reviewed by Simon Hausmann. http://www.qtsoftware.com/developer/task-tracker/index_html?id=211228&method=entry [Qt] Show focus rect when a button gets the focus for the first time. This is important at least for Windows style. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::applyTheme): 2009-01-19 Ariya Hidayat [Qt] Build fix after r39971. * platform/qt/LoggingQt.cpp: (WebCore::InitializeLoggingChannelsIfNecessary): 2009-01-18 Sam Weinig Reviewed by Cameron Zwarich. Fix for https://bugs.webkit.org/show_bug.cgi?id=23415 Remove FramePrivate Minor PLT speedup. * WebCore.base.exp: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * loader/FrameLoader.cpp: * page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::~Frame): (WebCore::Frame::init): (WebCore::Frame::loader): (WebCore::Frame::view): (WebCore::Frame::setView): (WebCore::Frame::script): (WebCore::Frame::document): (WebCore::Frame::setDocument): (WebCore::Frame::settings): (WebCore::Frame::selection): (WebCore::Frame::editor): (WebCore::Frame::selectionGranularity): (WebCore::Frame::setSelectionGranularity): (WebCore::Frame::dragCaretController): (WebCore::Frame::animation): (WebCore::Frame::mark): (WebCore::Frame::setMark): (WebCore::Frame::setCaretVisible): (WebCore::Frame::clearCaretRectIfNeeded): (WebCore::Frame::selectionLayoutChanged): (WebCore::Frame::caretBlinkTimerFired): (WebCore::Frame::paintCaret): (WebCore::Frame::paintDragCaret): (WebCore::Frame::zoomFactor): (WebCore::Frame::isZoomFactorTextOnly): (WebCore::Frame::shouldApplyTextZoom): (WebCore::Frame::shouldApplyPageZoom): (WebCore::Frame::setZoomFactor): (WebCore::Frame::setPrinting): (WebCore::Frame::setJSStatusBarText): (WebCore::Frame::setJSDefaultStatusBarText): (WebCore::Frame::jsStatusBarText): (WebCore::Frame::jsDefaultStatusBarText): (WebCore::Frame::setNeedsReapplyStyles): (WebCore::Frame::needsReapplyStyles): (WebCore::Frame::reapplyStyles): (WebCore::Frame::isContentEditable): (WebCore::Frame::updateSecureKeyboardEntryIfActive): (WebCore::Frame::typingStyle): (WebCore::Frame::setTypingStyle): (WebCore::Frame::clearTypingStyle): (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::applyEditingStyleToBodyElement): (WebCore::Frame::removeEditingStyleFromBodyElement): (WebCore::Frame::keepAlive): (WebCore::Frame::cancelAllKeepAlive): (WebCore::Frame::clearDOMWindow): (WebCore::Frame::ownerElement): (WebCore::Frame::ownerRenderer): (WebCore::Frame::isDisconnected): (WebCore::Frame::setIsDisconnected): (WebCore::Frame::excludeFromTextSearch): (WebCore::Frame::setExcludeFromTextSearch): (WebCore::Frame::selectionBounds): (WebCore::Frame::selectionTextRects): (WebCore::Frame::isFrameSet): (WebCore::Frame::currentForm): (WebCore::Frame::forceLayout): (WebCore::Frame::sendScrollEvent): (WebCore::Frame::clearTimers): (WebCore::Frame::styleForSelectionStart): (WebCore::Frame::inViewSourceMode): (WebCore::Frame::setInViewSourceMode): (WebCore::Frame::markAllMatchesForText): (WebCore::Frame::markedTextMatchesAreHighlighted): (WebCore::Frame::setMarkedTextMatchesAreHighlighted): (WebCore::Frame::tree): (WebCore::Frame::setDOMWindow): (WebCore::Frame::domWindow): (WebCore::Frame::clearFormerDOMWindow): (WebCore::Frame::page): (WebCore::Frame::eventHandler): (WebCore::Frame::pageDestroyed): (WebCore::Frame::disconnectOwnerElement): (WebCore::Frame::documentAtPoint): * page/Frame.h: * page/FramePrivate.h: Removed. * page/FrameTree.h: * page/chromium/FrameChromium.cpp: * page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect): (WebCore::Frame::selectionImage): (WebCore::Frame::snapshotDragImage): (WebCore::Frame::nodeImage): (WebCore::Frame::setUserStyleSheetLocation): (WebCore::Frame::setUserStyleSheet): * page/qt/FrameQt.cpp: (WebCore::Frame::setUserStyleSheetLocation): (WebCore::Frame::setUserStyleSheet): * page/win/FrameCGWin.cpp: (WebCore::Frame::nodeImage): * page/win/FrameWin.cpp: 2009-01-18 Eric Carlson Build fix for !ENABLE(VIDEO) following r40016. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::mouseEventIsInThumb): 2009-01-17 Steve Falkenburg Build fix. 2009-01-17 David Hyatt Optimize isTextNode() the same way isElementNode() was optimized in an earlier checkin. isTextNode() on Node is now non-virtual and just checks a bit that is set at construction time by Text. Reviewed by Sam Weinig * dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): * dom/CharacterData.h: * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode): * dom/EventTargetNode.h: * dom/Node.cpp: (WebCore::Node::Node): * dom/Node.h: (WebCore::Node::isTextNode): (WebCore::Node::isAttributeNode): * dom/Text.cpp: (WebCore::Text::Text): * dom/Text.h: 2009-01-17 David Hyatt Change how backslashAsCurrencySymbol() works. Instead of forcing call sites to do the direct replacement themselves, the exact transformation is instead done by the encoding (indirectly through a method on Document). These changes allow the fast case (where no replacement is needed) checks to be completely inlined for a slight speedup, and also allow encodings to do future alterations to displayed string content without having to patch call sites again. Reviewed by Oliver Hunt * WebCore.base.exp: * dom/Document.cpp: * dom/Document.h: (WebCore::Document::displayStringModifiedByEncoding): (WebCore::Document::displayBufferModifiedByEncoding): * editing/Editor.cpp: (WebCore::Editor::addToKillRing): * editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): (WebCore::plainText): * editing/TextIterator.h: * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::groupLabelText): * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::text): * loader/DocumentLoader.cpp: (WebCore::canonicalizedTitle): * page/Chrome.cpp: (WebCore::displayString): (WebCore::Chrome::runJavaScriptAlert): (WebCore::Chrome::runJavaScriptConfirm): (WebCore::Chrome::runJavaScriptPrompt): (WebCore::Chrome::setStatusbarText): * page/Frame.cpp: (WebCore::Frame::shouldClose): * page/Frame.h: * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::encode): * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::TextEncoding): * platform/text/TextEncoding.h: (WebCore::TextEncoding::displayString): (WebCore::TextEncoding::displayBuffer): * rendering/HitTestResult.cpp: (WebCore::displayString): * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): * rendering/RenderObject.cpp: * rendering/RenderObject.h: * rendering/RenderText.cpp: (WebCore::RenderText::RenderText): (WebCore::RenderText::setTextInternal): * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setInnerTextValue): (WebCore::RenderTextControl::finishText): 2009-01-17 Eric Carlson Reviewed by Adele Peterson Complete * DerivedSources.make: include mediaControlsQT.css for Mac build. * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart, CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): include new media controller element styles * css/CSSSelector.h: (WebCore::CSSSelector::): Ditto. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): include new media controller element styles * css/CSSValueKeywords.in: add keywords for new media time display controls * css/mediaControls.css: adjust css for new control elements * css/mediaControlsQT.css: Added. * platform/ThemeTypes.h: (WebCore::): add media time display controls to ControlPart * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: pass controller style to WKSI functions * rendering/MediaControlElements.cpp: (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): Added (WebCore::MediaTextDisplayElement::attachToParent): Added (WebCore::MediaTextDisplayElement::update): Added (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): Added (WebCore::MediaControlInputElement::MediaControlInputElement): Added (WebCore::MediaControlInputElement::hitTest): Added (WebCore::MediaControlTimelineElement::defaultEventHandler): Update the time display when dragging the thumb * rendering/MediaControlElements.h: (WebCore::): Add MediaTextDisplayElement * rendering/RenderMedia.cpp: (WebCore::RenderMedia::createTimelineContainer): Added (WebCore::RenderMedia::createTimeline): Parent is now the timeline container (WebCore::RenderMedia::createCurrentTimeDisplay): Added (WebCore::RenderMedia::createTimeRemainingDisplay): Added (WebCore::RenderMedia::updateControls): Create new elements. Don't ever start the time update timer when the time display elements are not visible (WebCore::RenderMedia::formatTime): Handle negative times. Don't display 0 hours or minutes (WebCore::RenderMedia::updateTimeDisplay): Do nothing when the time display elements are not visible. Display time remaining as well as current time. (WebCore::RenderMedia::updateControlVisibility): Don't assume opacity should be set to 0 when visibility changes (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function as we can't assume that all controls are rectangular * rendering/RenderMedia.h: Updated * rendering/RenderSlider.cpp: (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call element hitTest() method instead of assuming it is rectangular * rendering/RenderSlider.h: make mouseEventIsInThumb virtual * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Deal with time display and timeline container * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMediaTimelineContainer): Updated (WebCore::RenderTheme::paintMediaCurrentTime): Added (WebCore::RenderTheme::paintMediaTimeRemaining): Added * rendering/RenderThemeMac.h: Updated * rendering/RenderThemeMac.mm: (WebCore::): (WebCore::mediaControllerTheme): (WebCore::RenderThemeMac::adjustSliderThumbSize): Call WebKitSystemInterface to get the thumb size when appropriate (WebCore::RenderThemeMac::paintMediaFullscreenButton): pass controller style to render function (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto (WebCore::RenderThemeMac::paintMediaTimelineContainer): Added (WebCore::RenderThemeMac::paintMediaCurrentTime): Added (WebCore::RenderThemeMac::paintMediaTimeRemaining): Added (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): Added (WebCore::RenderThemeMac::hitTestMediaControlPart): Added * rendering/style/RenderStyle.h: Updated (WebCore::): 2009-01-17 David Hyatt Inline a few methods in FrameView for speed. Reviewed by Oliver Hunt * page/FrameView.cpp: * page/FrameView.h: (WebCore::FrameView::layoutCount): (WebCore::FrameView::needsFullRepaint): 2009-01-17 David Hyatt Inline Document::documentElement(), since it is used by the (very hot) RenderObject::isRoot(). Split off the code that fetches and caches the document element into a separate function and inline the part that does the null check and the return of the already-cached element. Reviewed by Oliver Hunt * dom/Document.cpp: (WebCore::Document::cacheDocumentElement): * dom/Document.h: (WebCore::Document::documentElement): 2009-01-17 David Hyatt Minor tweaks to RenderBox::styleChange to speed it up. Reviewed by Oliver Hunt * rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): 2009-01-17 David Hyatt Inline FrameLoader::client(). Reviewed by Oliver Hunt * WebCore.base.exp: * loader/FrameLoader.cpp: * loader/FrameLoader.h: (WebCore::FrameLoader::client): 2009-01-17 David Hyatt Inline some Image methods for speed. Fix CachedImage's addClient method to just use isNull rather than needlessly creating a rect. Reviewed by Oliver Hunt * loader/CachedImage.cpp: (WebCore::CachedImage::addClient): * platform/graphics/Image.cpp: * platform/graphics/Image.h: (WebCore::Image::isNull): (WebCore::Image::rect): (WebCore::Image::width): (WebCore::Image::height): 2009-01-17 David Hyatt Avoid using the non-inlined isVariable() when adding parsed values during CSS parsing. Reviewed by Oliver Hunt * css/CSSParserValues.cpp: (WebCore::CSSParserValueList::addValue): 2009-01-17 David Hyatt Inline Document::inPageCache(), since - because of animation code - it is now called every time styles change on any element and so is now super-hot. Reviewed by Oliver Hunt * dom/Document.cpp: * dom/Document.h: (WebCore::Document::inPageCache): 2009-01-16 David Hyatt Take Font out of the GraphicsContext. Fonts are moderately expensive to both compare and to assign to. The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be, and was also causing expensive comparison checks to be made before doing alterations of the Font in the GraphicsContext. A font must now be passed as a parameter to all text drawing functions. Reviewed by Oliver Hunt * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont): (WebCore::CanvasRenderingContext2D::drawTextInternal): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): (WebCore::GraphicsContext::drawBidiText): (WebCore::GraphicsContext::drawHighlightForText): * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextPrivate.h: * platform/graphics/qt/GraphicsContextQt.cpp: * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): * rendering/InlineTextBox.cpp: (WebCore::paintTextWithShadows): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::paintDocumentMarkers): * rendering/InlineTextBox.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): * rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paintCharacters): (WebCore::SVGInlineTextBox::paintSelection): * rendering/SVGInlineTextBox.h: * svg/SVGFont.cpp: (WebCore::Font::drawTextUsingSVGFont): 2009-01-16 David Hyatt Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed two if statements. Reviewed by Oliver Hunt * rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteQuads): 2009-01-16 David Hyatt Fix a regression from my before/after optimization. Make sure the element puts the document into a mode where it will respect before/after rules, since implicitly uses such rules. Make sure view source mode documents also turn on before/after rules, since they are used there also. Reviewed by Oliver Hunt * html/HTMLElementFactory.cpp: (WebCore::quoteConstructor): * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 2009-01-16 Chris Fleizach Reviewed by Oliver Hunt. Bug 23397: AXURL is not reported for elements https://bugs.webkit.org/show_bug.cgi?id=23397 Report an AXURL for inputs that have an image type. Test: accessibility/input-image-url.html * page/AccessibilityObject.h: (WebCore::AccessibilityObject::isInputImage): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isInputImage): (WebCore::AccessibilityRenderObject::url): * page/AccessibilityRenderObject.h: * page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 2009-01-16 Adele Peterson Windows build fix. * loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision): 2009-01-16 Steve Falkenburg Safari crashes if it's running while the desktop theme is changed. This was caused by mismatched ENABLE definitions across WebCore and WebKit. Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO). In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows. Our Windows ENABLE flags now match Mac. Reviewed by Adele Peterson. * WebCore.vcproj/WebCore.vcproj: * WebCore.vcproj/build-generated-files.sh: 2009-01-16 Mark Rowe 40,000! * ChangeLog: Point out revision 40,000. 2009-01-16 Eric Seidel Reviewed by Justin Garcia. Make surroundNodeRangeWithElement call insertNodeBefore implicitly Make insertNodeBefore take PassRefPtr Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code. https://bugs.webkit.org/show_bug.cgi?id=23389 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): (WebCore::ApplyStyleCommand::applyTextDecorationStyle): (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): * editing/ApplyStyleCommand.h: * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertNodeAt): * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::insertTab): * editing/ModifySelectionListLevel.cpp: (WebCore::IncreaseSelectionListLevelCommand::doApply): * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::removeNodePreservingChildren): (WebCore::ReplacementFragment::insertNodeBefore): (WebCore::ReplacementFragment::removeInterchangeNodes): (WebCore::ReplaceSelectionCommand::doApply): (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted): * editing/ReplaceSelectionCommand.h: 2009-01-16 Chris Fleizach Reviewed by Oliver Hunt. Bug 23393: TextField has AXTitle and AXTitleUIElement https://bugs.webkit.org/show_bug.cgi?id=23393 Test: accessibility/double-title.html * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::title): 2009-01-16 Adam Treat The correct build fix for all platforms. * platform/graphics/Font.h: 2009-01-16 Adam Treat Fix the Qt build. * platform/graphics/Font.h: 2009-01-16 David Hyatt Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules are being used. If not, don't waste time probing for those pseudo element styles. Reviewed by Sam Weinig * css/CSSGrammar.y: * dom/Document.cpp: (WebCore::Document::Document): * dom/Document.h: (WebCore::Document::usesBeforeAfterRules): (WebCore::Document::setUsesBeforeAfterRules): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): * rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer): * rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChildToFlow): (WebCore::RenderInline::splitInlines): 2009-01-16 Dmitry Titov Reviewed by Alp Toker. https://bugs.webkit.org/show_bug.cgi?id=23394 Remove unnecessary calls to setDeferringTimers(). Use of this function was obsoleted by better handling of EINTR. * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls. 2009-01-16 David Hyatt Fix badness with the cursor CSS property. For all links and form controls, resetting to a value of auto was resulting in the creation of a cursor list. clearCursorList was creating a new list rather than just nulling out the pointer. Since addCursor already lazily recreates the list, in the case of simple cursor types, the clear method was wastefully creating a completely unnecessary list for all of these elements. Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already set to the same value. Since this is the common case, it prevents a fault and copy of StyleInheritedData for all links and form controls. This is a PLT speedup. Reviewed by Oliver Hunt * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::clearCursorList): 2009-01-16 Darin Fisher Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23384 PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder * history/BackForwardList.h: (WebCore::BackForwardListClient::~BackForwardListClient): (WebCore::BackForwardList::setClient): * history/BackForwardListChromium.cpp: Added. 2009-01-16 Dan Bernstein Reviewed by Kevin Decker and Adam Roben. - fix a regression that resulted in a crash when plug-ins were disabled. * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Added a null check. 2009-01-16 David Hyatt Split continuation() into virtual and non-virtual versions so that the non-virtual version can be used whereever possible. Eventually the virtual method can be eliminated completely. Reviewed by Sam Weinig and Oliver Hunt * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable): * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::anchorElement): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::paint): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): * rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer): * rendering/RenderFlow.h: (WebCore::RenderFlow::virtualContinuation): (WebCore::RenderFlow::continuation): * rendering/RenderInline.cpp: (WebCore::RenderInline::positionForCoordinates): * rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRects): (WebCore::RenderObject::absoluteQuads): (WebCore::RenderObject::addFocusRingRects): (WebCore::RenderObject::repaintAfterLayoutIfNeeded): (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): (WebCore::RenderObject::handleDynamicFloatPositionChange): (WebCore::RenderObject::hoverAncestor): (WebCore::RenderObject::updateDragState): (WebCore::RenderObject::updateHitTestResult): (WebCore::RenderObject::getTextDecorationColors): (WebCore::RenderObject::adjustRectForOutlineAndShadow): * rendering/RenderObject.h: (WebCore::RenderObject::virtualContinuation): 2009-01-16 David Hyatt Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing. Reviewed by ggaren * platform/graphics/Font.cpp: * platform/graphics/Font.h: (WebCore::Font::width): (WebCore::Font::ascent): (WebCore::Font::descent): (WebCore::Font::lineSpacing): (WebCore::Font::lineGap): (WebCore::Font::xHeight): (WebCore::Font::unitsPerEm): (WebCore::Font::spaceWidth): 2009-01-16 Sam Weinig Reviewed by David Hyatt. Fix for https://bugs.webkit.org/show_bug.cgi?id=23388 Remove FrameViewPrivate Removes an indirection and is a small speedup on PLT. * page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::~FrameView): (WebCore::FrameView::reset): (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::init): (WebCore::FrameView::clear): (WebCore::FrameView::didFirstLayout): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::updateDefaultScrollbarState): (WebCore::FrameView::setCanHaveScrollbars): (WebCore::FrameView::applyOverflowToViewport): (WebCore::FrameView::layoutCount): (WebCore::FrameView::needsFullRepaint): (WebCore::FrameView::layoutRoot): (WebCore::FrameView::layout): (WebCore::FrameView::setMediaType): (WebCore::FrameView::mediaType): (WebCore::FrameView::useSlowRepaints): (WebCore::FrameView::setUseSlowRepaints): (WebCore::FrameView::addSlowRepaintObject): (WebCore::FrameView::removeSlowRepaintObject): (WebCore::FrameView::scrollRectIntoViewRecursively): (WebCore::FrameView::setScrollPosition): (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::beginDeferredRepaints): (WebCore::FrameView::endDeferredRepaints): (WebCore::FrameView::scheduleRelayout): (WebCore::FrameView::scheduleRelayoutOfSubtree): (WebCore::FrameView::layoutPending): (WebCore::FrameView::needsLayout): (WebCore::FrameView::unscheduleRelayout): (WebCore::FrameView::isTransparent): (WebCore::FrameView::setTransparent): (WebCore::FrameView::baseBackgroundColor): (WebCore::FrameView::setBaseBackgroundColor): (WebCore::FrameView::shouldUpdateWhileOffscreen): (WebCore::FrameView::setShouldUpdateWhileOffscreen): (WebCore::FrameView::scheduleEvent): (WebCore::FrameView::pauseScheduledEvents): (WebCore::FrameView::resumeScheduledEvents): (WebCore::FrameView::performPostLayoutTasks): (WebCore::FrameView::updateOverflowStatus): (WebCore::FrameView::dispatchScheduledEvents): (WebCore::FrameView::wasScrolledByUser): (WebCore::FrameView::setWasScrolledByUser): (WebCore::FrameView::paintContents): (WebCore::FrameView::setPaintRestriction): (WebCore::FrameView::isPainting): (WebCore::FrameView::setNodeToDraw): * page/FrameView.h: (WebCore::FrameView::setIsVisuallyNonEmpty): Inline. 2009-01-14 Julien Chaffraix Reviewed by Darin Adler. Bug 23237: Some HTML constructors in HTMLElementFactory needs an HTMLFormElement argument - Added 'constructorNeedsFormElement' parameter to make_names.pl to account for HTML form elements. - Added the new information to HTMLTagNames.in. * dom/make_names.pl: * html/HTMLTagNames.in: 2009-01-16 David Hyatt Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods. The most common reason for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of the cross-platform graphics state. By being able to query for the current antialiasing setting, antialiasing can be temporarily changed and then restored back to the real value without needing to do a save/restore. The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent a permanent mutation of the fill color in the CGContext. The new code just restores the fill color back to its original value without doing the much more expensive save/restore. Reviewed by Oliver Hunt * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShouldAntialias): (WebCore::GraphicsContext::shouldAntialias): * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::setPlatformShouldAntialias): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias): * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::setPlatformShouldAntialias): * rendering/RenderPath.cpp: (WebCore::RenderPath::paint): 2009-01-16 Anders Carlsson Reviewed by Sam Weinig. Clean up the bridge code and get rid of Field::name() and Method::name(). * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/c/c_runtime.cpp: * bridge/c/c_runtime.h: (JSC::Bindings::CField::identifier): (JSC::Bindings::CMethod::identifier): * bridge/jni/jni_class.cpp: (JavaClass::JavaClass): * bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod): * bridge/jni/jni_runtime.cpp: (JavaField::valueFromInstance): (JavaField::setValueToInstance): (JavaMethod::methodID): * bridge/jni/jni_runtime.h: (JSC::Bindings::JavaField::name): (JSC::Bindings::JavaMethod::name): * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::methodsNamed): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcMethod::isFallbackMethod): (JSC::Bindings::ObjcMethod::selector): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcMethod::ObjcMethod): (JSC::Bindings::ObjcMethod::getMethodSignature): (JSC::Bindings::ObjcField::ObjcField): (JSC::Bindings::ObjcField::valueFromInstance): (JSC::Bindings::ObjcField::setValueToInstance): (JSC::Bindings::callObjCFallbackObject): * bridge/runtime.h: 2009-01-16 David Hyatt Optimize RenderText::styleDidChange. Don't call the base class, which does extra meaningless work. Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate. Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking for the existence of m_parent in each if clause. Reviewed by Darin Adler * rendering/RenderObject.cpp: (WebCore::RenderObject::styleDidChange): * rendering/RenderText.cpp: (WebCore::RenderText::styleDidChange): 2009-01-16 Chris Fleizach Reviewed by Beth Dakin. Bug 23387: AX hierarchy is incorrect when iframes are present https://bugs.webkit.org/show_bug.cgi?id=23387 The AX hierarchy is incorrect when iframes are present. Test: accessibility/iframe-bastardization.html * page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper renderWidgetChildren]): 2009-01-16 Brady Eidson Reviewed by Darin Adler - Split up some back/forward cache decision making and add detailed logging to better understand what the common disqualifiers are. * loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe. (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for the back/forward cache. (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis. (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame(). * loader/FrameLoader.h: 2009-01-16 Chris Marrin Reviewed by David Hyatt. Test: transitions/hang-with-bad-transition-list.html Fixed https://bugs.webkit.org/show_bug.cgi?id=23088. This was happening because I was calling setChanged() from inside updateRendering() which causes an infinite loop. I fixed this by deferring the setChanged to the next run loop iteration. That made it not infinite loop, but it still retriggers the transition forever. The problem is that there is both an 'all' and specific transition on 'opacity'. This tickled a bug in AnimationController which causes the opacity transition to get constantly cancelled and then retriggered. The problem is that the specific opacity transition has a duration of 0. I got rid of the logic to flush out 0 duration transitions and it is no longer constantly triggered. The logic to flush them was just an optimization, and you really need to keep them around to make the logic to override earlier animations by later ones work. And there is very little overhead in this case anyway, so the optimization was not that useful. I made a LayoutTest from the original testcase which tests both the infinite loop and constantly triggering animation cases. * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired): (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): (WebCore::AnimationController::addNodeChangeToDispatch): * page/animation/AnimationController.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::adjustAnimations): (WebCore::RenderStyle::adjustTransitions): 2009-01-16 Chris Fleizach Reviewed by Darin Adler. Bug 23385: crash at com.apple.WebCore WebCore::HTMLAnchorElement::isKeyboardFocusable https://bugs.webkit.org/show_bug.cgi?id=23385 Option-tabbing through the page mentioned in the bug causes a crash Test: fast/events/tab-crash-with-image-map.html * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable): 2009-01-16 Thiago Macieira Reviewed by Simon Hausmann. [Qt] Fixes QString and 8-bit mix fixes. Details: Make sure we use QLatin1String where appropriate (and don't use QString when not necessary) * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::create): * platform/graphics/qt/SimpleFontDataQt.cpp: (WebCore::SimpleFontData::platformInit): * platform/qt/FileSystemQt.cpp: (WebCore::openTemporaryFile): * platform/qt/LoggingQt.cpp: (WebCore::InitializeLoggingChannelsIfNecessary): * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): * plugins/qt/PluginDataQt.cpp: (WebCore::PluginData::initPlugins): 2009-01-16 Ariya Hidayat Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=22452 When plugins are disabled, plugin data should not be available for the page. This ensures that navigator.plugins would not see the additional MIME types supported by the plugins. * page/Page.cpp: (WebCore::Page::pluginData): * loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUsePlugin): * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): 2009-01-15 Chris Marrin Reviewed by Sam Weinig. Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421. Also fixed the test case to work on ppc. * WebCore.xcodeproj/project.pbxproj: 2009-01-16 Ariya Hidayat Another attempt at fixing the Qt build. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getInstance): 2009-01-16 David Hyatt Fix for 1.85% PLT regression. Since asking if a frame is "complete" actually aggressively decodes the frame, we add an optimization when advancing animations. If we have received all of the animated image's data, then obviously we can go ahead and advance safely. This prevents the first draw of an image from decoding two frames' worth of data in the case where all of the image's data has been received. While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change as well. It's not immediately clear how that regression would be fixed, though, and it would likely be a much smaller percentage of that overall uncached time. Reviewed by Dan Bernstein * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::startAnimation): 2009-01-15 Alexey Proskuryakov Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=23349 Don't store obsolete caches in disk storage * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::load): (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): * loader/ResourceLoader.h: Don't maintain m_wasLoadedFromApplicationCache, which was never used. * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource): Assert that only implicit and dynamic resources can be added after the cache has been fully loaded and stored to disk database. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk database, as this is now done whenever the cache becomes obsolete. (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed the check to no longer rely on savedNewestCachePointer. 2009-01-15 Dimitri Dupuis-Latour selectorText and cssText are clipped for :nth-child() and :nth-of-type(); Reviewed by Timothy Hatcher. * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText): 2009-01-15 Justin Garcia Reviewed by Oliver Hunt. Styling a selection that ends in a line break can sometimes style what's after the break If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split), applyInlineStyle would style node. * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from Range::pastLastNode() anymore. pastEndNode is the node after the last one that is fully selected, since the work done in the loop that follows should only be performed on fully selected nodes. * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes. Those were handled accidently before. * editing/htmlediting.cpp: (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should also be eliminated since maxDeepOffset handles non-text nodes. 2009-01-15 Anders Carlsson Reviewed by Geoffrey Garen. Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance. * bridge/c/c_instance.h: * bridge/jni/jni_instance.h: * bridge/objc/objc_instance.h: * bridge/qt/qt_instance.h: * bridge/runtime.cpp: * bridge/runtime.h: * bridge/runtime_object.h: 2009-01-15 David Hyatt Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange. Reviewed by Oliver Hunt * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::styleDidChange): * rendering/RenderSVGInlineText.h: * rendering/RenderText.cpp: (WebCore::RenderText::styleDidChange): 2009-01-15 Anders Carlsson Another attempt at fixing the Qt build. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getOwnPropertySlot): (JSC::Bindings::QtInstance::put): * bridge/qt/qt_instance.h: * bridge/runtime.h: (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::getOwnPropertySlot): (JSC::RuntimeObjectImp::put): 2009-01-15 Anders Carlsson Reviewed by Darin Adler. Add QtInstance::getInstance and start using it. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtRuntimeObjectImp::mark): (JSC::Bindings::QtRuntimeObjectImp::classInfo): (JSC::Bindings::): (JSC::Bindings::QtInstance::getInstance): * bridge/qt/qt_instance.h: * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant): 2009-01-15 Anders Carlsson Reviewed by Sam Weinig. Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getOwnPropertySlot): (JSC::Bindings::QtInstance::put): * bridge/qt/qt_instance.h: * bridge/runtime.h: (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::getOwnPropertySlot): (JSC::RuntimeObjectImp::put): 2009-01-15 Anders Carlsson Fix the QT build. * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::createRuntimeObject): * bridge/qt/qt_instance.h: 2009-01-15 David Hyatt Fix for REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor setZoomFactor was supposed to bail if both the zoom factor and mode were the same. The mode check was buggy and doing the wrong thing. Reviewed by Darin Adler * page/Frame.cpp: (WebCore::Frame::setZoomFactor): 2009-01-15 Anders Carlsson Reviewed by Geoffrey Garen. Make Instance::createRuntimeObject a virtual function and override it for QtInstance. * bindings/js/JSPluginElementFunctions.cpp: (WebCore::getRuntimeObject): * bridge/c/c_utility.cpp: (JSC::Bindings::convertNPVariantToValue): * bridge/jni/jni_instance.cpp: (JavaInstance::invokeMethod): * bridge/jni/jni_jsobject.mm: (JavaJSObject::convertJObjectToValue): * bridge/jni/jni_runtime.cpp: (JavaField::valueFromInstance): (JavaArray::valueAt): * bridge/objc/objc_utility.mm: (JSC::Bindings::convertObjcValueToValue): * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::getRuntimeObject): (JSC::Bindings::QtInstance::createRuntimeObject): * bridge/qt/qt_instance.h: * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertQVariantToValue): (JSC::Bindings::QtConnectionObject::execute): * bridge/runtime.cpp: (JSC::Bindings::Instance::createRuntimeObject): * bridge/runtime.h: 2009-01-15 Dimitri Glazkov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23354 Fix up graphics/chromium files to account for Uniscribe style scrubbing. * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::windowsCanHandleTextDrawing): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: (WebCore::fillNonBMPGlyphs): 2009-01-15 David Levin Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23333 Adjust due to a name change that happened in a WebKit. * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: (WebCore::SVGPaintServerPattern::setup): 2009-01-15 Dimitri Glazkov Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23340 Add remaining bits of graphics/chromium. * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added. (WebCore::scaleEmToUnits): (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph): * platform/graphics/chromium/SimpleFontDataLinux.cpp: Added. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph): * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added. (WebCore::ThemeHelperWin::ThemeHelperWin): (WebCore::ThemeHelperWin::~ThemeHelperWin): * platform/graphics/chromium/ThemeHelperChromiumWin.h: Added. (WebCore::ThemeHelperWin::): (WebCore::ThemeHelperWin::context): (WebCore::ThemeHelperWin::rect): * platform/graphics/chromium/UniscribeHelper.cpp: Added. (WebCore::treatAsSpace): (WebCore::containsMissingGlyphs): (WebCore::setLogFontAndStyle): (WebCore::UniscribeHelper::UniscribeHelper): (WebCore::UniscribeHelper::~UniscribeHelper): (WebCore::UniscribeHelper::initWithOptionalLengthProtection): (WebCore::UniscribeHelper::width): (WebCore::UniscribeHelper::justify): (WebCore::UniscribeHelper::characterToX): (WebCore::UniscribeHelper::xToCharacter): (WebCore::UniscribeHelper::draw): (WebCore::UniscribeHelper::firstGlyphForCharacter): (WebCore::UniscribeHelper::fillRuns): (WebCore::UniscribeHelper::shape): (WebCore::UniscribeHelper::fillShapes): (WebCore::UniscribeHelper::fillScreenOrder): (WebCore::UniscribeHelper::adjustSpaceAdvances): (WebCore::UniscribeHelper::applySpacing): (WebCore::UniscribeHelper::advanceForItem): * platform/graphics/chromium/UniscribeHelper.h: Added. (WebCore::UniscribeHelper::directionalOverride): (WebCore::UniscribeHelper::setDirectionalOverride): (WebCore::UniscribeHelper::inhibitLigate): (WebCore::UniscribeHelper::setInhibitLigate): (WebCore::UniscribeHelper::letterSpacing): (WebCore::UniscribeHelper::setLetterSpacing): (WebCore::UniscribeHelper::spaceWidth): (WebCore::UniscribeHelper::setSpaceWidth): (WebCore::UniscribeHelper::wordSpacing): (WebCore::UniscribeHelper::setWordSpacing): (WebCore::UniscribeHelper::setAscent): (WebCore::UniscribeHelper::init): (WebCore::UniscribeHelper::tryToPreloadFont): (WebCore::UniscribeHelper::Shaping::Shaping): (WebCore::UniscribeHelper::Shaping::glyphLength): (WebCore::UniscribeHelper::Shaping::charLength): (WebCore::UniscribeHelper::Shaping::effectiveAdvances): (WebCore::UniscribeHelper::nextWinFontData): (WebCore::UniscribeHelper::resetFontIndex): * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): (WebCore::UniscribeHelperTextRun::tryToPreloadFont): (WebCore::UniscribeHelperTextRun::nextWinFontData): (WebCore::UniscribeHelperTextRun::resetFontIndex): * platform/graphics/chromium/UniscribeHelperTextRun.h: Added. 2009-01-15 Chris Marrin Reviewed by Dan Bernstein. Fixed Windows project file after https://bugs.webkit.org/show_bug.cgi?id=21421 * WebCore.vcproj/WebCore.vcproj: 2009-01-15 Aaron Boodman Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=15279 Right clicking over text (or multiple spaces) auto selects the word (or multiple spaces) under it, which is not a desirable effect for some platforms. * page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): Don't select words on right-click on Chromium. 2009-01-15 Darin Fisher Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23345 SharedBuffer.h should include wtf/OwnPtr.h * platform/SharedBuffer.h: 2009-01-14 David Kilzer Bug 23338: Make "Streamline Inspector Source" build script check for a directory before using it Reviewed by Timothy Hatcher. * WebCore.xcodeproj/project.pbxproj: Check to see if "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/inspector" exists before trying to change directories into it and then deleting, modifying and adding files to it. 2009-01-14 miggilin Reviewed by Kevin Ollivier. Fixing wx compilation for wx 2.9/trunk. * platform/graphics/wx/FontPlatformData.h: (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::computeHash): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::setCompositeOperation): * platform/graphics/wx/ImageSourceWx.cpp: (WebCore::ImageSource::createFrameAtIndex): * platform/graphics/wx/PathWx.cpp: (WebCore::Path::contains): * platform/wx/RenderThemeWx.cpp: (WebCore::RenderThemeWx::paintButton): (WebCore::RenderThemeWx::paintTextField): (WebCore::RenderThemeWx::paintMenuList): * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: 2009-01-14 Kevin Ollivier wx build fix. Adding WebKitCSSMatrix. * WebCoreSources.bkl: 2009-01-14 Adam Treat Prospective build fix for Qt following r39922. * WebCore.pro: 2009-01-14 Darin Adler Fix debug build. * bindings/js/JSWebKitCSSMatrixConstructor.cpp: (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): Use ASSERT_UNUSED. 2009-01-14 Adele Peterson Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=23335 Update for RenderThemeWin No new tests added. In the future, we need to update DumpRenderTree to be able to run with different RenderThemes and we'll need a separate set of results for different themes. * css/themeWin.css: Renable search fields. Added new rules for sub-element placement. * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockWidth): Consider margin set on the sub-elements when computing the desired width for the text block. * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): Treat SearchFieldPart the same as TextFieldPart. (WebCore::RenderThemeWin::determineState): ditto. (WebCore::RenderThemeWin::getClassicThemeData): ditto. (WebCore::RenderThemeWin::getThemeData): ditto. (WebCore::RenderThemeWin::paintSearchFieldCancelButton): Draw a scaled, vertically centered, version of the new artwork. (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): ditto. (WebCore::RenderThemeWin::paintSearchFieldResultsButton): ditto. (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): Set the scaled width and height. (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): ditto. (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): ditto. 2009-01-14 Alp Toker GTK+ build fix following r39922. Add WebKitCSSMatrix to the build system. * GNUmakefile.am: 2009-01-14 Chris Marrin Reviewed by Sam Weinig. Implemented 2D WebKitCSSMatrix https://bugs.webkit.org/show_bug.cgi?id=21421 Test: transforms/2d/cssmatrix-interface.xhtml * DerivedSources.make: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWebKitCSSMatrix): (setJSDOMWindowBaseWebKitCSSMatrix): * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Added. (WebCore::): (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): (WebCore::constructWebKitCSSMatrix): (WebCore::JSWebKitCSSMatrixConstructor::getConstructData): * bindings/js/JSWebKitCSSMatrixConstructor.h: Added. (WebCore::JSWebKitCSSMatrixConstructor::classInfo): * bindings/objc/DOMInternal.h: * css/WebKitCSSMatrix.cpp: Added. (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): (WebCore::WebKitCSSMatrix::~WebKitCSSMatrix): (WebCore::WebKitCSSMatrix::setMatrixValue): (WebCore::WebKitCSSMatrix::multiply): (WebCore::WebKitCSSMatrix::inverse): (WebCore::WebKitCSSMatrix::translate): (WebCore::WebKitCSSMatrix::scale): (WebCore::WebKitCSSMatrix::rotate): (WebCore::WebKitCSSMatrix::toString): * css/WebKitCSSMatrix.h: Added. (WebCore::WebKitCSSMatrix::create): (WebCore::WebKitCSSMatrix::a): (WebCore::WebKitCSSMatrix::b): (WebCore::WebKitCSSMatrix::c): (WebCore::WebKitCSSMatrix::d): (WebCore::WebKitCSSMatrix::e): (WebCore::WebKitCSSMatrix::f): (WebCore::WebKitCSSMatrix::setA): (WebCore::WebKitCSSMatrix::setB): (WebCore::WebKitCSSMatrix::setC): (WebCore::WebKitCSSMatrix::setD): (WebCore::WebKitCSSMatrix::setE): (WebCore::WebKitCSSMatrix::setF): (WebCore::WebKitCSSMatrix::transform): * css/WebKitCSSMatrix.idl: Added. 2009-01-14 Michael Moss Reviewed by Eric Seidel. Workaround a skia limitation on repeated patterns, and remove extra transformations applied to pattern. https://bugs.webkit.org/show_bug.cgi?id=23332 Fixes: LayoutTests/fast/canvas/patternfill-repeat.html LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b.svg * platform/graphics/skia/PatternSkia.cpp: (WebCore::Pattern::createPlatformPattern): 2009-01-14 Mark Rowe Fix https://bugs.webkit.org/show_bug.cgi?id=23334 Bug 23334: Compile failure in XMLTokenizerLibxml2.cpp Include wtf/UnusedParam.h to get UNUSED_PARAM. * dom/XMLTokenizerLibxml2.cpp: (WebCore::hackAroundLibXMLEntityBug): 2009-01-14 David Levin Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23333 Platform code fixes. These compensate for changes in platform callbacks from WebKit and minor API tweaks. I enumerated a few below. * platform/graphics/chromium/FontCacheChromiumWin.cpp: fontExists has been gone since r34794. * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): (WebCore::FrameData::clear): r39751 changes this api to take and return a bool. (WebCore::Image::drawPattern): * platform/graphics/skia/PathSkia.cpp: (WebCore::Path::apply): (WebCore::boundingBoxForCurrentStroke): (WebCore::Path::strokeContains): * svg/graphics/skia/RenderPathSkia.cpp: Removed due to r39805. 2009-01-14 Jeremy Moskovich Reviewed by Eric Seidel. Implement NPN_SetException() This mirrors the implementation in the obj-c bindings. Test: plugins/netscape-throw-exception.html * bridge/NP_jsobject.cpp: (_NPN_SetException): * bridge/c/c_instance.cpp: (JSC::Bindings::getExceptionString): (JSC::Bindings::CInstance::setGlobalException): (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: 2009-01-14 Pierre-Olivier Latour Fixed build warning when LIBXML_VERSION >= 20627. * dom/XMLTokenizerLibxml2.cpp: (WebCore::hackAroundLibXMLEntityBug): 2009-01-14 Alexey Proskuryakov Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=23326 Resources are never deleted from application cache disk database * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::openDatabase): Create a trigger that deletes resources when a cache is deleted. Note that this change doesn't require bumping schema version. We should consider switching to foreign keys and cascade delete instead of triggers in the future. (WebCore::ApplicationCacheStorage::remove): Added a comment explaining why it's sufficient to only remove the cache itself. (WebCore::ApplicationCacheStorage::empty): Don't delete from CacheResources, now that this is done automatically when a cache is deleted. 2009-01-14 David Kilzer Bug 22795: favicons should be saved to webarchives Reviewed by Darin Adler. Test: webarchive/test-link-rel-icon.html * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Do not add favicon URLs to the list since no ArchiveResource or CachedResource is ever created for them. * loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Handle favicons as a special case for all main resources. * loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::close): Actually close the SQLite database so that isOpen() returns false when called. Added an ASSERT() for good measure. 2009-01-14 Dimitri Glazkov Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23321 Upstream more bits of graphics/chromium. * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::hashTableDeletedFontValue): (WebCore::FontPlatformData::scriptFontProperties): * platform/graphics/chromium/FontPlatformDataChromiumWin.h: Added. (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::size): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::scriptCache): (WebCore::FontPlatformData::RefCountedHFONT::create): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash): (WebCore::FontPlatformData::RefCountedHFONT::operator==): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): * platform/graphics/chromium/FontPlatformDataLinux.cpp: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::~FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::setupPaint): (WebCore::FontPlatformData::operator==): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::isFixedPitch): * platform/graphics/chromium/FontPlatformDataLinux.h: Added. (WebCore::FontPlatformData::FontPlatformData): (WebCore::FontPlatformData::size): (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::hashTableDeletedFontValue): * platform/graphics/chromium/FontUtilsChromiumWin.cpp: Added. (WebCore::): (WebCore::FontMap::getAscent): (WebCore::FontMap::FontData::FontData): (WebCore::getFontFamilyForScript): (WebCore::getFallbackFamily): (WebCore::getDerivedFontData): (WebCore::getStyleFromLogfont): * platform/graphics/chromium/FontUtilsChromiumWin.h: Added. (WebCore::): 2009-01-14 Dimitri Glazkov Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23325 Upstream even more graphics/chromium bits. * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Added. (WebCore::fillEmptyGlyphs): (WebCore::initSpaceGlyph): (WebCore::fillBMPGlyphs): (WebCore::fillNonBMPGlyphs): (WebCore::GlyphPage::fill): * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Added. (WebCore::GlyphPage::fill): * platform/graphics/chromium/IconChromiumLinux.cpp: Added. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::paint): * platform/graphics/chromium/IconChromiumMac.cpp: Added. (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::~Icon): (WebCore::Icon::paint): * platform/graphics/chromium/IconChromiumWin.cpp: Added. (WebCore::Icon::Icon): (WebCore::Icon::~Icon): (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::paint): * platform/graphics/chromium/ImageBufferData.h: Added. * platform/graphics/chromium/ImageChromiumMac.mm: Added. (WebCore::Image::loadPlatformResource): (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData): * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Added. * platform/graphics/chromium/PlatformIcon.h: Added. 2009-01-14 Darin Fisher Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23328 Upstream remaining files from platform/chromium/ * platform/chromium/CursorChromium.cpp: (WebCore::pointerCursor): (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): (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): (WebCore::moveCursor): (WebCore::verticalTextCursor): (WebCore::cellCursor): (WebCore::contextMenuCursor): (WebCore::aliasCursor): (WebCore::progressCursor): (WebCore::noDropCursor): (WebCore::copyCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::zoomInCursor): (WebCore::zoomOutCursor): * platform/chromium/DragDataRef.h: Added. * platform/chromium/DragImageChromium.cpp: Added. (WebCore::dragImageSize): (WebCore::deleteDragImage): (WebCore::scaleDragImage): (WebCore::dissolveDragImageToFraction): (WebCore::createDragImageFromImage): (WebCore::createDragImageIconForCachedImage): * platform/chromium/DragImageRef.h: * platform/chromium/KeyCodeConversion.h: Added. * platform/chromium/KeyCodeConversionGtk.cpp: Added. (WebCore::windowsKeyCodeForKeyEvent): * platform/chromium/KeyboardCodes.h: Added. * platform/chromium/KeyboardCodesPosix.h: Added. (WebCore::): * platform/chromium/KeyboardCodesWin.h: Added. (WebCore::): * platform/chromium/Language.cpp: Added. (WebCore::defaultLanguage): * platform/chromium/LinkHashChromium.cpp: Added. (WebCore::visitedLinkHash): * platform/chromium/MimeTypeRegistryChromium.cpp: Added. (WebCore::MIMETypeRegistry::getMIMETypeForExtension): (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): (WebCore::MIMETypeRegistry::getMIMETypeForPath): (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): (WebCore::dummyHashSet): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): * platform/chromium/PasteboardChromium.cpp: Added. (WebCore::Pasteboard::generalPasteboard): (WebCore::Pasteboard::Pasteboard): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::plainText): (WebCore::Pasteboard::documentFragment): * platform/chromium/PasteboardPrivate.h: * platform/chromium/PlatformCursor.h: Added. (WebCore::PlatformCursor::): (WebCore::PlatformCursor::PlatformCursor): (WebCore::PlatformCursor::customImage): (WebCore::PlatformCursor::hotSpot): (WebCore::PlatformCursor::type): * platform/chromium/PlatformKeyboardEventChromium.cpp: Added. (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): (WebCore::PlatformKeyboardEvent::currentCapsLockState): * platform/chromium/PlatformScreenChromium.cpp: Added. (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::screenRect): (WebCore::screenAvailableRect): * platform/chromium/PlatformWidget.h: * platform/chromium/PopupMenuChromium.cpp: Added. (WebCore::PopupListBox::selectedIndex): (WebCore::PopupListBox::numItems): (WebCore::PopupListBox::setBaseWidth): (WebCore::PopupListBox::setTextOnIndexChange): (WebCore::PopupListBox::setAcceptOnAbandon): (WebCore::PopupListBox::): (WebCore::PopupListBox::ListItem::ListItem): (WebCore::PopupListBox::PopupListBox): (WebCore::PopupListBox::~PopupListBox): (WebCore::PopupListBox::disconnectClient): (WebCore::PopupListBox::scrollToRevealSelection): (WebCore::constructRelativeMouseEvent): (WebCore::constructRelativeWheelEvent): (WebCore::PopupContainer::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::~PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::hidePopup): (WebCore::PopupContainer::layout): (WebCore::PopupContainer::handleMouseDownEvent): (WebCore::PopupContainer::handleMouseMoveEvent): (WebCore::PopupContainer::handleMouseReleaseEvent): (WebCore::PopupContainer::handleWheelEvent): (WebCore::PopupContainer::handleKeyEvent): (WebCore::PopupContainer::hide): (WebCore::PopupContainer::paint): (WebCore::PopupContainer::paintBorder): (WebCore::PopupContainer::isInterestedInEventForKey): (WebCore::PopupContainer::show): (WebCore::PopupContainer::setTextOnIndexChange): (WebCore::PopupContainer::setAcceptOnAbandon): (WebCore::PopupContainer::refresh): (WebCore::PopupListBox::handleMouseDownEvent): (WebCore::PopupListBox::handleMouseMoveEvent): (WebCore::PopupListBox::handleMouseReleaseEvent): (WebCore::PopupListBox::handleWheelEvent): (WebCore::PopupListBox::isInterestedInEventForKey): (WebCore::PopupListBox::handleKeyEvent): (WebCore::PopupListBox::hostWindow): (WebCore::PopupListBox::invalidateRect): (WebCore::stripLeadingWhiteSpace): (WebCore::PopupListBox::typeAheadFind): (WebCore::PopupListBox::paint): (WebCore::PopupListBox::paintRow): (WebCore::PopupListBox::getRowFont): (WebCore::PopupListBox::abandon): (WebCore::PopupListBox::pointToRowIndex): (WebCore::PopupListBox::acceptIndex): (WebCore::PopupListBox::selectIndex): (WebCore::PopupListBox::setOriginalIndex): (WebCore::PopupListBox::getRowHeight): (WebCore::PopupListBox::getRowBounds): (WebCore::PopupListBox::invalidateRow): (WebCore::PopupListBox::scrollToRevealRow): (WebCore::PopupListBox::isSelectableItem): (WebCore::PopupListBox::adjustSelectedIndex): (WebCore::PopupListBox::updateFromElement): (WebCore::PopupListBox::layout): (WebCore::PopupListBox::clear): (WebCore::PopupListBox::isPointInBounds): (WebCore::PopupMenu::PopupMenu): (WebCore::PopupMenu::~PopupMenu): (WebCore::PopupMenu::show): (WebCore::PopupMenu::hide): (WebCore::PopupMenu::updateFromElement): (WebCore::PopupMenu::itemWritingDirectionIsNatural): * platform/chromium/PopupMenuChromium.h: Added. (WebCore::PopupContainer::listBox): * platform/chromium/PopupMenuPrivate.h: Added. * platform/chromium/SSLKeyGeneratorChromium.cpp: Added. (WebCore::supportedKeySizes): * platform/chromium/ScrollbarThemeChromium.cpp: Added. (WebCore::ScrollbarTheme::nativeTheme): (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium): (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium): (WebCore::ScrollbarThemeChromium::themeChanged): (WebCore::ScrollbarThemeChromium::hasThumb): (WebCore::ScrollbarThemeChromium::backButtonRect): (WebCore::ScrollbarThemeChromium::forwardButtonRect): (WebCore::ScrollbarThemeChromium::trackRect): (WebCore::ScrollbarThemeChromium::paintTrackBackground): (WebCore::ScrollbarThemeChromium::paintTickmarks): (WebCore::ScrollbarThemeChromium::paintScrollCorner): (WebCore::ScrollbarThemeChromium::shouldCenterOnThumb): (WebCore::ScrollbarThemeChromium::buttonSize): * platform/chromium/ScrollbarThemeChromium.h: Added. (WebCore::ScrollbarThemeChromium::hasButtons): * platform/chromium/ScrollbarThemeChromiumLinux.cpp: Added. (WebCore::ScrollbarThemeChromium::scrollbarThickness): (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): (WebCore::initMozState): (WebCore::paintScrollbarWidget): (WebCore::ScrollbarThemeChromium::paintTrackPiece): (WebCore::ScrollbarThemeChromium::paintButton): (WebCore::ScrollbarThemeChromium::paintThumb): * platform/chromium/ScrollbarThemeChromiumWin.cpp: * platform/chromium/SearchPopupMenuChromium.cpp: Added. (WebCore::SearchPopupMenu::SearchPopupMenu): (WebCore::SearchPopupMenu::enabled): (WebCore::SearchPopupMenu::saveRecentSearches): (WebCore::SearchPopupMenu::loadRecentSearches): * platform/chromium/SharedTimerChromium.cpp: Added. (WebCore::setSharedTimerFiredFunction): (WebCore::setSharedTimerFireTime): (WebCore::stopSharedTimer): * platform/chromium/TemporaryLinkStubs.cpp: Added. (WebCore::signedPublicKeyAndChallengeString): (WebCore::getSupportedKeySizes): (WebCore::KURL::fileSystemPath): (WebCore::SharedBuffer::createWithContentsOfFile): (WTF::scheduleDispatchFunctionsOnMainThread): 2009-01-14 Darin Fisher Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23323 Upstream platform/text/chromium/ * platform/text/chromium: Added. * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Added. (WebCore::currentTextBreakLocaleID): 2009-01-14 Steve Falkenburg Update copyright year in version resources. Reviewed by Adam Roben. * WebCore.vcproj/QTMovieWin.rc: 2009-01-14 Darin Fisher Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23324 Move platform/chromium/EditorChromium.cpp into editing/chromium/ * editing/chromium: Added. * editing/chromium/EditorChromium.cpp: Copied from platform/chromium/EditorChromium.cpp. * platform/chromium/EditorChromium.cpp: Removed. 2009-01-14 Darin Fisher Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23320 Make it possible to use notImplemented outside of the WebCore namespace * platform/NotImplemented.h: 2009-01-14 Nigel Tao Reviewed by Darin Adler. - fix https://bugs.webkit.org/show_bug.cgi?id=22476 Check that the document's SecurityOrigin canLoadLocalResources, when pages try to put NSFilenamesPboardtype data on the clipboard, by calling event.dataTransfer.setData('URL', 'file:///foo/bar'); Tests: http/tests/security/dataTransfer-set-data-file-url.html platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setData): 2009-01-14 Dan Bernstein Reviewed by John Sullivan. - update copyright * Info.plist: 2009-01-14 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23316 Application cache updating always fails with an assertion Test: http/tests/appcache/update-cache.html * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Correctly handle the case where multiple caches survive the last DocumentLoader destruction, preventing a crash in release builds. (WebCore::ApplicationCacheGroup::setNewestCache): Removed a bogus assertion. 2009-01-14 Alexey Proskuryakov Release build fix. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::storeUpdatedType): Use ASSERT_UNUSED. 2009-01-13 Alexey Proskuryakov Reviewed by Anders Carlsson. Test: http/tests/appcache/xhr-foreign-resource.html https://bugs.webkit.org/show_bug.cgi?id=23256 Implement application cache foreign entries * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Removed a misplaced check for foreign resources that prevented them from being loaded altogether. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): If a document that was loaded from appcache should be associated with a different cache, mark the resource as foreign in the original cache and start over. * loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType): This function can now be called after a cache is stored, so it no longer asserts the opposite. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupForURL): Fix database pass to correctly ignore in-memory caches that were already rejected. (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto. (WebCore::ApplicationCacheStorage::storeUpdatedType): Added a function that updates type of an already stored cached resource. * loader/appcache/ApplicationCacheStorage.h: Added storeUpdatedType(). 2009-01-13 Mark Rowe Fix the Tiger WebCore build after r39880. * editing/Editor.cpp: (WebCore::Editor::markBadGrammar): * loader/mac/DocumentLoaderMac.cpp: (WebCore::DocumentLoader::schedule): (WebCore::DocumentLoader::unschedule): * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): * platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCFinalizeOnMainThread): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::schedule): (WebCore::ResourceHandle::unschedule): 2009-01-13 Darin Adler Reviewed by Sam Weinig. Bug 23102: turn on unused parameter warnings in WebCore https://bugs.webkit.org/show_bug.cgi?id=23102 Last step: Turn on the warning and fix the last few instances. * Configurations/Base.xcconfig: Removed -Wno-unused-parameter from WARNING_CFLAGS_BASE, so the unused parameter warning will fire. * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseMessageChannel): Separate the version for use when CHANNEL_MESSAGING is turned off, so we can omit the argument names. It would be better to not even have this property in that case, rather than having the function return undefined, but I don't know how to do that with the bindings script. * bindings/scripts/CodeGeneratorJS.pm: Leave out argument names in functions where they're not used (the SVG context, and the property name in the index getter). Use UNUSED_PARAM where arguments are sometimes not used. * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::put): Use UNUSED_PARAM for non-QT. * css/MediaQueryEvaluator.cpp: (WebCore::animationMediaFeatureEval): Omit argument names for style and frame. (WebCore::transitionMediaFeatureEval): Ditto. (WebCore::transform_2dMediaFeatureEval): Ditto. (WebCore::transform_3dMediaFeatureEval): Ditto. * dom/make_names.pl: Leave out the createdByParser property name in cases where it's not used. * inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Separate the version for the Mac platform so we can omit the argument names. * loader/EmptyClients.h: (WebCore::EmptyChromeClient::contentsSizeChanged): Removed argument name. * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldUsePluginDocument): Commented out argument name. * loader/icon/IconFetcher.cpp: (WebCore::IconFetcher::didReceiveResponse): Use ASSERT_UNUSED. (WebCore::IconFetcher::didReceiveData): Ditto. (WebCore::IconFetcher::didFinishLoading): Ditto. (WebCore::IconFetcher::didFail): Ditto. * platform/KURL.cpp: (WebCore::assertProtocolIsGood): Separate out the NDEBUG version so we can omit the argument names. * platform/Timer.cpp: (WebCore::TimerHeapIterator::checkConsistency): Use ASSERT_UNUSED. * platform/graphics/GlyphBuffer.h: (WebCore::GlyphBuffer::offsetAt): Use UNUSED_PARAM in the non-WIN case. (WebCore::GlyphBuffer::add): Use UNUSED_PARAM in the non-CAIRO case. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear): Removed argument name. * rendering/SVGRenderSupport.cpp: (WebCore::prepareToRenderSVGContent): Use UNUSED_PARAM when SVG_FILTERS is not enabled. (WebCore::finishRenderSVGContent): Ditto. 2009-01-13 Chris Marrin Reviewed by Darin Adler. Implemented https://bugs.webkit.org/show_bug.cgi?id=23298 Simple fix to convertToLength to catch style==null cases * css/CSSStyleSelector.cpp: (WebCore::convertToLength): 2009-01-13 Eric Seidel Reviewed by Mark Rowe. Speculative fix for an Uninitialized Memory Read (UMR) seen by purify in chormium's equivalent V8 file. * bindings/js/JSSVGPODTypeWrapper.h: (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo): 2009-01-13 Dimitri Glazkov Reviewed by Eric Seidel. Land portions of platform/graphics/chromium. https://bugs.webkit.org/show_bug.cgi?id=23297 * platform/graphics/chromium/FontCustomPlatformData.cpp: Added. (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::FontCustomPlatformData::fontPlatformData): (WebCore::EOTStream::EOTStream): (WebCore::EOTStream::read): (WebCore::readEmbedProc): (WebCore::createUniqueFontName): (WebCore::createFontCustomPlatformData): * platform/graphics/chromium/FontCustomPlatformData.h: Added. (WebCore::FontCustomPlatformData::FontCustomPlatformData): * platform/graphics/chromium/FontLinux.cpp: Added. (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): (WebCore::Font::selectionRectForComplexText): * platform/graphics/chromium/FontPlatformData.h: Added. 2009-01-13 Mark Rowe Rubber-stamped by Oliver Hunt. Don't copy DOMStringList.idl into the framework bundle. * WebCore.xcodeproj/project.pbxproj: 2009-01-13 Christian Dywan Build fix, StorageEvent is only defined if we have DOM_STORAGE * dom/Document.cpp: (WebCore::Document::createEvent): Conditionalize StorageEvent 2009-01-13 Darin Adler Reviewed by Adele Peterson. Bug 23277: space bar scrolls the page when typed in any text field https://bugs.webkit.org/show_bug.cgi?id=23277 rdar://problem/6490249 There's already a regression test for this, since bug 16421 was the same problem, but on Mac. The regression test is fast/events/space-scroll-event.html, so I won't write a new one. This bug doesn't affect Mac because the canEdit check in -[WebHTMLView insertText:] prevents a text input event from being generated at all. That difference may in itself be a bug, but the only symptom is that you get text input events in more cases on platforms other than Mac. * page/EventHandler.cpp: (WebCore::EventHandler::handleTextInputEvent): Return whether the event's default was handled, not the result of the dispatchEvent function, which indicates only whether the default behavior was prevented, not if the default behavior did some insertion. This fix makes it so the keyboard event handler can detect that no space was inserted and know that the space bar keypress event can be treated as a scrolling command. (WebCore::EventHandler::defaultKeyboardEventHandler): Handle the keypress event, not the keydown event. Without the change above, making this change would have restored the old behavior, reintroducing bug 22913 where the space bar doesn't scroll at all on Windows. 2009-01-13 Darin Fisher Reviewed by Eric Seidel. Landing portions of platform/chromium/, taken from here: http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/chromium/ * platform/chromium/ChromiumBridge.h: Added. * platform/chromium/ChromiumDataObject.cpp: Added. (WebCore::ChromiumDataObject::clear): (WebCore::ChromiumDataObject::hasData): * platform/chromium/ChromiumDataObject.h: Added. (WebCore::ChromiumDataObject::create): (WebCore::ChromiumDataObject::ChromiumDataObject): * platform/chromium/ClipboardChromium.cpp: Added. (WebCore::): (WebCore::clipboardTypeFromMIMEType): (WebCore::ClipboardChromium::ClipboardChromium): (WebCore::ClipboardChromium::create): (WebCore::ClipboardChromium::clearData): (WebCore::ClipboardChromium::clearAllData): (WebCore::ClipboardChromium::getData): (WebCore::ClipboardChromium::setData): (WebCore::ClipboardChromium::types): (WebCore::ClipboardChromium::setDragImage): (WebCore::ClipboardChromium::setDragImageElement): (WebCore::ClipboardChromium::createDragImage): (WebCore::imageToMarkup): (WebCore::getCachedImage): (WebCore::writeImageToDataObject): (WebCore::ClipboardChromium::declareAndWriteDragImage): (WebCore::ClipboardChromium::writeURL): (WebCore::ClipboardChromium::writeRange): (WebCore::ClipboardChromium::hasData): * platform/chromium/ClipboardChromium.h: Added. (WebCore::ClipboardChromium::~ClipboardChromium): (WebCore::ClipboardChromium::dataObject): * platform/chromium/ClipboardUtilitiesChromium.cpp: Added. (WebCore::replaceNewlinesWithWindowsStyleNewlines): (WebCore::replaceNBSPWithSpace): (WebCore::urlToMarkup): * platform/chromium/ClipboardUtilitiesChromium.h: Added. * platform/chromium/ContextMenuChromium.cpp: Added. (WebCore::ContextMenu::ContextMenu): (WebCore::ContextMenu::~ContextMenu): (WebCore::ContextMenu::itemCount): (WebCore::ContextMenu::insertItem): (WebCore::ContextMenu::appendItem): (WebCore::ContextMenu::itemWithAction): (WebCore::ContextMenu::itemAtIndex): (WebCore::ContextMenu::setPlatformDescription): (WebCore::ContextMenu::platformDescription): (WebCore::ContextMenu::releasePlatformDescription): * platform/chromium/ContextMenuItemChromium.cpp: Added. (WebCore::ContextMenuItem::ContextMenuItem): (WebCore::ContextMenuItem::~ContextMenuItem): (WebCore::ContextMenuItem::releasePlatformDescription): (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::action): (WebCore::ContextMenuItem::title): (WebCore::ContextMenuItem::platformSubMenu): (WebCore::ContextMenuItem::setType): (WebCore::ContextMenuItem::setAction): (WebCore::ContextMenuItem::setTitle): (WebCore::ContextMenuItem::setSubMenu): (WebCore::ContextMenuItem::setChecked): (WebCore::ContextMenuItem::setEnabled): (WebCore::ContextMenuItem::enabled): * platform/chromium/CursorChromium.cpp: Added. (WebCore::Cursor::Cursor): (WebCore::Cursor::~Cursor): (WebCore::Cursor::operator=): (WebCore::pointerCursor): (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): (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): (WebCore::moveCursor): (WebCore::verticalTextCursor): (WebCore::cellCursor): (WebCore::contextMenuCursor): (WebCore::aliasCursor): (WebCore::progressCursor): (WebCore::noDropCursor): (WebCore::copyCursor): (WebCore::noneCursor): (WebCore::notAllowedCursor): (WebCore::zoomInCursor): (WebCore::zoomOutCursor): (WebCore::grabCursor): (WebCore::grabbingCursor): * platform/chromium/DragDataChromium.cpp: Added. (WebCore::containsHTML): (WebCore::DragData::createClipboard): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::containsFiles): (WebCore::DragData::asFilenames): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::containsColor): (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::asFragment): (WebCore::DragData::asColor): * platform/chromium/EditorChromium.cpp: Added. (WebCore::Editor::newGeneralClipboard): * platform/chromium/FileChooserChromium.cpp: Added. (WebCore::FileChooser::basenameForWidth): * platform/chromium/FileSystemChromium.cpp: Added. (WebCore::deleteFile): (WebCore::deleteEmptyDirectory): (WebCore::getFileSize): (WebCore::getFileModificationTime): (WebCore::directoryName): (WebCore::pathByAppendingComponent): (WebCore::makeAllDirectories): (WebCore::fileExists): * platform/chromium/FileSystemChromiumLinux.cpp: Added. (WebCore::pathGetFileName): * platform/chromium/FileSystemChromiumMac.mm: Added. (WebCore::pathGetFileName): * platform/chromium/FileSystemChromiumWin.cpp: Added. (WebCore::pathGetFileName): * platform/chromium/FramelessScrollView.cpp: Added. (WebCore::FramelessScrollView::~FramelessScrollView): (WebCore::FramelessScrollView::invalidateScrollbarRect): (WebCore::FramelessScrollView::isActive): (WebCore::FramelessScrollView::invalidateRect): (WebCore::FramelessScrollView::hostWindow): (WebCore::FramelessScrollView::windowClipRect): (WebCore::FramelessScrollView::paintContents): (WebCore::FramelessScrollView::contentsResized): (WebCore::FramelessScrollView::visibleContentsResized): * platform/chromium/FramelessScrollView.h: Added. (WebCore::FramelessScrollView::FramelessScrollView): (WebCore::FramelessScrollView::client): (WebCore::FramelessScrollView::setClient): * platform/chromium/FramelessScrollViewClient.h: Added. * platform/chromium/ScrollbarThemeChromiumWin.cpp: Added. (WebCore::): (WebCore::ScrollbarThemeChromium::scrollbarThickness): (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): (WebCore::ScrollbarThemeChromium::paintTrackPiece): (WebCore::ScrollbarThemeChromium::paintButton): (WebCore::ScrollbarThemeChromium::paintThumb): (WebCore::ScrollbarThemeChromium::getThemeState): (WebCore::ScrollbarThemeChromium::getThemeArrowState): (WebCore::ScrollbarThemeChromium::getClassicThemeState): * platform/chromium/SoundChromiumPosix.cpp: Added. (WebCore::systemBeep): * platform/chromium/SoundChromiumWin.cpp: Added. (WebCore::systemBeep): * platform/chromium/SystemTimeChromium.cpp: Added. (WebCore::currentTime): (WebCore::userIdleTime): * platform/chromium/WidgetChromium.cpp: Added. (WebCore::Widget::Widget): (WebCore::Widget::~Widget): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::setCursor): (WebCore::Widget::paint): (WebCore::Widget::setFocus): (WebCore::Widget::setIsSelected): (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect): * platform/chromium/WindowsVersion.cpp: Added. (WebCore::isVistaOrNewer): * platform/chromium/WindowsVersion.h: Added. 2009-01-13 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Make sure media elements dispatch the 'loaded' event We assume that when Phonon goes into paused state that we have the complete media file. Once we do media loading ourselves we can distinguish between loading the first frame and the complete media. * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::updateStates): 2009-01-13 Tor Arne Vestbø Reviewed by Simon Hausmann. [Qt] Add more verbose error output when loading NPAPI plugins * plugins/qt/PluginPackageQt.cpp: (WebCore::PluginPackage::load): 2009-01-13 Simon Hausmann Reviewed by Tor Arne Vestbø. Fix crash in the Qt port when deleting a popup from within a JavaScript onchange handler. * platform/qt/QWebPopup.cpp: (WebCore::QWebPopup::QWebPopup): Perform the activation of the combobox item (i.e. the call to the JS handler) from a different call stack by using a queued connection. 2009-01-12 Holger Hans Peter Freyther Reviewed by Tor Arne Vestbø. [GIO] Make sure to untef the GFile and the GInputStream on destruction Make sure to call cleanupGioOperation from the ResourceHandleInternal d'tor. Change the signature of cleanupGioOperation so we can do the cleanup of GIO next to the cleanup of SOUP. This is happening with many tests from dom/html/level2/html e.g. LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal): (WebCore::cleanupGioOperation): (WebCore::closeCallback): (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback): 2009-01-12 Holger Hans Peter Freyther Reviewed by Tor Arne Vestbø. [GIO] Attach the ResourceHandle to the GObject and get it from the GObject https://bugs.webkit.org/show_bug.cgi?id=23116 discussed with Benjamin Otte Sometimes it is not possible to cancel a pending GIO operation and the callback might be invoked with a pointer to an already destructed ResourceHandle. To avoid this issue we will attach the ResourceHandle to the GObject* and in the callback attempt to get the ResourceHandle from the GObject*. If no ResourceHandle is attached we silently fail as the cleanup has been already done. This is happening with many tests from dom/html/level2/html e.g. LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::cleanupGioOperation): (WebCore::closeCallback): (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback): (WebCore::ResourceHandle::startGio): 2009-01-12 Holger Hans Peter Freyther Reviewed by Tor Arne Vestbø. [GIO] Invoke cleanupGioOperation before calling didFail to avoid crashes https://bugs.webkit.org/show_bug.cgi?id=23116 The ResourceHandle becomes invalid (e.g. got destructed) from within the invocation of didFail. Avoid this by cleaning up everything before calling didFail and simply return afterwards. This is happening with many tests from dom/html/level2/html e.g. LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::readCallback): (WebCore::openCallback): (WebCore::queryInfoCallback): 2009-01-13 Tor Arne Vestbø Reviewed by Simon Hausmann. Change how themes adjust mediaControls.css to match html4/quicks.css Instead of providing the full style sheet, the themes provide extra overrides to the default style defined in UserAgentStyleSheetsData. https://bugs.webkit.org/show_bug.cgi?id=23210 Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up build time for the Qt port. * Resources/WebKitResources.qrc: Removed. Merged into WebCore.qrc * WebCore.pro: * WebCore.qrc: Added. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): * css/qt/mediaControls-extras.css: Rename from html4-adjustments-qt.css * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): * platform/qt/RenderThemeQt.h: * platform/qt/WebCoreResources.qrc: Removed. * platform/qt/html4-adjustments-qt.css: Rename to mediaControls-extras.css * rendering/RenderTheme.cpp: * rendering/RenderTheme.h: (WebCore::RenderTheme::extraMediaControlsStyleSheet): 2009-01-12 Gavin Barraclough Reviewed by Oliver Hunt. Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough. * bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql): * bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 2009-01-12 Chris Marrin Reviewed by Dan Bernstein. Fixed https://bugs.webkit.org/show_bug.cgi?id=22919 I added a common getElapsedTime() function to AnimationBase which uses a combination of the techniques from KeyframeAnimation and AnimationBase to compute elapsedTime in all states. * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::progress): (WebCore::AnimationBase::getElapsedTime): * page/animation/AnimationBase.h: * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate): 2009-01-12 Robert Blaut Reviewed by Darin Adler Fix for Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds instead of miliseconds Test: fast/css/webkit-marquee-speed-unit-in-quirksmode.html * css/CSSParser.cpp: (WebCore::CSSParser::validUnit): treat unitless values in quirks mode as miliseconds instead of seconds. 2009-01-12 David Hyatt Apply the same idea as the previous fix but for matched declarations. Reviewed by Dan Bernstein * css/CSSStyleSelector.h: 2009-01-12 Brady Eidson Reviewed by Darin Adler - Track Non-get requests in global history * WebCore.base.exp: * history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): * history/HistoryItem.h: (WebCore::HistoryItem::lastVisitWasHTTPNonGet): (WebCore::HistoryItem::setLastVisitWasHTTPNonGet): 2009-01-12 Kevin Ollivier !ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header so it can be used by all builds. * platform/graphics/Font.h: * platform/graphics/SimpleFontData.cpp: * svg/SVGFontFaceElement.cpp: * svg/SVGFontFaceElement.h: 2009-01-12 Kevin Ollivier wx build typo fix. * platform/graphics/wx/TransformationMatrixWx.cpp: (WebCore::TransformationMatrix::TransformationMatrix): 2009-01-12 David Hyatt Make sure the set of matched rules has a reserved capacity of 32. This prevents remalloc thrash as elements are matched, since the Vector is shrinking and growing over and over. 1% PLT speedup. Reviewed by Oliver Hunt * css/CSSStyleSelector.h: 2009-01-12 David Hyatt Optimize Element::attributeChanged to just check if accessibility is enabled up front before looking at the two accessibility-related attributes. This avoids the rest of the code for all attributes on the PLT. Tiny speedup. Reviewed by Oliver Hunt * dom/Element.cpp: (WebCore::Element::attributeChanged): 2009-01-12 David Hyatt Optimize the retrieval of line height. If the document is not using any first-line rules, just immediately default to the normal case. Tiny speedup on PLT. Reviewed by Oliver Hunt * rendering/RenderFlow.cpp: (WebCore::RenderFlow::lineHeight): 2009-01-12 David Hyatt Fix 0.6% regression in PLT. Make sure not to waste time updating NSScrollView's can blit on scroll state in the ScrollView constructor, since this is always going to be properly updated by FrameView anyway. Reviewed by Oliver Hunt * platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): 2009-01-12 Simon Fraser Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=23273 In RenderBox::repaintLayerRectsForImage(), the repaint rect does not have to be computed in absolute coordintes. Instead, we compute a repaintRect relative to the RenderObject, which can repaint itself. * rendering/RenderBox.cpp: (WebCore::RenderBox::repaintLayerRectsForImage): 2009-01-12 Simon Fraser Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=23220 Merge layoutDelta into LayoutState. This requires that we push even when layoutState is disabled, so that layoutDelta can still be stored. * rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): * rendering/LayoutState.h: (WebCore::LayoutState::LayoutState): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::layoutOnlyPositionedObjects): * rendering/RenderBox.cpp: (WebCore::RenderBox::localToAbsolute): (WebCore::RenderBox::absoluteToLocal): (WebCore::RenderBox::computeAbsoluteRepaintRect): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeAbsoluteRepaintRect): (WebCore::RenderTableCell::localToAbsolute): * rendering/RenderView.cpp: (WebCore::RenderView::pushLayoutState): * rendering/RenderView.h: (WebCore::RenderView::layoutDelta): (WebCore::RenderView::addLayoutDelta): (WebCore::RenderView::doingFullRepaint): (WebCore::RenderView::pushLayoutState): (WebCore::RenderView::popLayoutState): (WebCore::RenderView::layoutStateEnabled): (WebCore::RenderView::layoutState): (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): (WebCore::LayoutStateMaintainer::push): (WebCore::LayoutStateMaintainer::pop): * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): 2009-01-12 Julien Chaffraix Reviewed by Holger Freyther. [Qt] Build fix after turning the fontCache to a singleton https://bugs.webkit.org/show_bug.cgi?id=23253 Add a stub implementation for WebCore::fontCache() and FontCache::FontCache(). * platform/graphics/qt/FontCacheQt.cpp: (WebCore::fontCache): (WebCore::FontCache::FontCache): 2009-01-12 Eric Roman Reviewed by Darin Adler. Fix some bugs with Selection::appendTrailingWhitespace(). https://bugs.webkit.org/show_bug.cgi?id=23232 Test: editing/selection/doubleclick-whitespace-crash.html * editing/Selection.cpp: (WebCore::makeSearchRange): (WebCore::Selection::appendTrailingWhitespace): 2009-01-12 Dimitri Glazkov Reviewed by Eric Seidel. Add the first pieces of platform/graphics/chromium https://bugs.webkit.org/show_bug.cgi?id=23257 * platform/graphics/chromium/ColorChromium.cpp: Added. (WebCore::focusRingColor): * platform/graphics/chromium/FontCacheChromiumWin.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::isStringASCII): (WebCore::LookupAltName): (WebCore::FontCodepage::): (WebCore::FontCodepage::if): (WebCore::createFontIndirectAndGetWinName): (WebCore::fontContainsCharacter): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::alternateFamilyName): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::toGDIFontWeight): (WebCore::FontCache::getGenericFontForScript): (WebCore::FillLogFont): (WebCore::FontCache::fontExists): (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): (WebCore::traitsInFamilyEnumProc): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData): * platform/graphics/chromium/FontCacheLinux.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::alternateFamilyName): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData): (WebCore::FontCache::getGenericFontForScript): * platform/graphics/chromium/FontChromiumWin.cpp: Added. (WebCore::windowsCanHandleTextDrawing): (WebCore::skiaDrawText): (WebCore::PaintSkiaText): (WebCore::Font::drawGlyphs): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::offsetForPositionForComplexText): 2009-01-12 Darin Fisher Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23254 Upstream page/chromium/ * page/chromium/AXObjectCacheChromium.cpp: Added. (WebCore::AXObjectCache::detachWrapper): (WebCore::AXObjectCache::attachWrapper): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement): (WebCore::AXObjectCache::handleFocusedUIElementChanged): * page/chromium/AccessibilityObjectChromium.cpp: * page/chromium/AccessibilityObjectWrapper.h: * page/chromium/ChromeClientChromium.h: Added. * page/chromium/DragControllerChromium.cpp: Added. (WebCore::DragController::dragOperation): (WebCore::DragController::isCopyKeyDown): (WebCore::DragController::maxDragImageSize): (WebCore::DragController::cleanupAfterSystemDrag): * page/chromium/EventHandlerChromium.cpp: Added. (WebCore::EventHandler::passMousePressEventToSubframe): (WebCore::EventHandler::passMouseMoveEventToSubframe): (WebCore::EventHandler::passMouseReleaseEventToSubframe): (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::passWidgetMouseDownEventToWidget): (WebCore::EventHandler::passMouseDownEventToWidget): (WebCore::EventHandler::tabsToAllControls): (WebCore::EventHandler::eventActivatedView): (WebCore::EventHandler::createDraggingClipboard): (WebCore::EventHandler::focusDocumentView): (WebCore::EventHandler::accessKeyModifiers): * page/chromium/FrameChromium.cpp: Added. (WebCore::computePageRectsForFrame): (WebCore::Frame::dragImageForSelection): * page/chromium/FrameChromium.h: Added. 2009-01-12 Dimitri Glazkov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=22936 Fix uninitialized memory read error, reported by Purify. * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): Added initializer for m_unitsPerEm using cDefaultUnitsPerEm constant. * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with the constant. * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant. 2009-01-12 Adam Treat Reviewed by George Staikos. Do not set fixedLayoutSize for anything other than the mainframe during the transition as this is a page level state like the viewportSize. * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 2009-01-12 Julien Chaffraix Reviewed by Darin Adler. Bug 22861: Turn the FontCache into a singleton https://bugs.webkit.org/show_bug.cgi?id=22861 - Added fontCache() to get the global FontCache. - Made all the methods in FontCache instance method. - Changed FontCache:: to fontCache()-> in WebCore. * WebCore.base.exp: Now export fontCache(). * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::CSSFontSelector): (WebCore::CSSFontSelector::~CSSFontSelector): (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::fontDataForGenericFamily): * platform/graphics/Font.cpp: (WebCore::Font::glyphDataForCharacter): * platform/graphics/FontCache.cpp: (WebCore::fontCache): (WebCore::FontCache::FontCache): * platform/graphics/FontCache.h: * platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont): * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::~SimpleFontData): * platform/graphics/mac/FontCacheMac.mm: (WebCore::fontCacheATSNotificationCallback): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/win/FontCacheWin.cpp: (WebCore::getCJKCodePageMasks): * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::containsCharacters): 2009-01-11 Darin Adler Reviewed by Dan Bernstein. Bug 23247: createSVGPathSegCurvetoCubicSmoothAbs doesn't set y2 correctly https://bugs.webkit.org/show_bug.cgi?id=23247 Also fix problems where partially parsed paths will still have an effect rather than failing parsing and being ignored. Test: dom/path-segments.html * platform/graphics/Path.h: (WebCore::Path::swap): Added. * svg/SVGParserUtilities.cpp: (WebCore::SVGPathParser::parseSVG): Removed unneeded special case for empty string. (WebCore::PathBuilder::build): Changed to not modify the path if parsing fails. (WebCore::SVGPathSegListBuilder::build): Changed to not modify the segment list if parsing fails. (WebCore::SVGPathSegListBuilder::svgMoveTo): Put the path element into the vector, not directly into the segment list. (WebCore::SVGPathSegListBuilder::svgLineTo): Ditto. (WebCore::SVGPathSegListBuilder::svgLineToHorizontal): Ditto. (WebCore::SVGPathSegListBuilder::svgLineToVertical): Ditto. (WebCore::SVGPathSegListBuilder::svgCurveToCubic): Ditto. (WebCore::SVGPathSegListBuilder::svgCurveToCubicSmooth): Ditto. (WebCore::SVGPathSegListBuilder::svgCurveToQuadratic): Ditto. (WebCore::SVGPathSegListBuilder::svgCurveToQuadraticSmooth): Ditto. (WebCore::SVGPathSegListBuilder::svgArcTo): Ditto. (WebCore::SVGPathSegListBuilder::svgClosePath): Ditto. * svg/SVGPathSegCurvetoCubicSmooth.h: (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth): Set y2 to y2, not to y. 2009-01-11 Darin Adler Reviewed by Oliver Hunt. Bug 23102: turn on unused parameter warnings in WebCore https://bugs.webkit.org/show_bug.cgi?id=23102 Fourth step: Remove arguments entirely in the many cases where they are not needed at all. This step is a little less mechanical than the earlier ones. * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::isXMLMIMEType): Pass TextCaseSensitive when creating the regular expression, since we already specify a-zA-Z in our expression. * dom/Document.cpp: (WebCore::Document::databaseThread): Don't pass in the document when creating a DatabaseThread. * dom/Element.cpp: (WebCore::Element::createRareData): Don't pass the element when creating an ElementRareData. (WebCore::Element::detach): Don't pass the element when calling resetComputedStyle. (WebCore::Element::recalcStyle): Ditto. * dom/ElementRareData.h: Remove the unused Element* from the constructor and the resetComputedStyle function. * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchEvent): Don't pass ec to dispatchGenericEvent. (WebCore::EventTargetNode::dispatchGenericEvent): Remove the unused ec argument. (WebCore::EventTargetNode::dispatchWindowEvent): Don't pass ec to dispatchGenericEvent. * dom/EventTargetNode.h: Remove the ExceptionCode& argument form disaptchGenericEvent. * editing/ApplyStyleCommand.cpp: Remove the empty removeBlockStyle function. (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Remove the unused start and end arguments. (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Don't pass start and end to pushDownTextDecorationStyleAroundNode. * editing/ApplyStyleCommand.h: Remove the empty removeBlockStyle function. Removed the unused start and end arguments from pushDownTextDecorationStyleAroundNode. * editing/htmlediting.cpp: Removed include of unused RegularExpression.h header. * html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Removed unused Document* argument. (WebCore::HTMLTokenizer::parseTag): Don't pass document to addAttribute. * html/HTMLTokenizer.h: Removed unused Document* argument to to addAttribute. * page/DOMWindow.cpp: (WebCore::DOMWindow::localStorage): Don't pass the frame to storageArea. * page/DragController.cpp: (WebCore::DragController::dragIsMove): Removed unused DragData argument. (WebCore::DragController::performDrag): Call concludeEditDrag rather than concludeDrag. (WebCore::DragController::tryDocumentDrag): Don't pass dragData to dragIsMove. (WebCore::DragController::concludeEditDrag): Renamed to make it clear this should only be called for edit drags. Removed the action mask argument. Also changed dragIsMove call sites to not pass dragData. * page/DragController.h: Updated for above changes and tweaked comment format. * page/Frame.cpp: (WebCore::createRegExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive when creating regular expressions for clarity. Call match instead of search, since both do the same thing except for with negative start offsets, and none used here are negative. (WebCore::Frame::matchLabelsAgainstElement): Ditto. * page/Page.h: Moved TextCaseSensitivity from here to StringImpl.h in platform. * page/mac/AccessibilityObjectWrapper.mm: (AXAttributeStringSetHeadingLevel): Removed unused object argument. (AXAttributedStringAppendText): Ditto. (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Ditto. * page/mac/FrameMac.mm: (WebCore::regExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive when creating regular expressions for clarity. Call match instead of search, since both do the same thing except for with negative start offsets, and none used here are negative. (WebCore::Frame::matchLabelsAgainstElement): Ditto. * platform/graphics/SegmentedFontData.cpp: (WebCore::SegmentedFontData::containsCharacter): Added. (WebCore::SegmentedFontData::containsCharacters): Updated to check all characters instead of just the first one, using containsCharacter. * platform/graphics/SegmentedFontData.h: Made more members private. Added containsCharacter function member. * platform/mac/DragImageMac.mm: (WebCore::dragImageSize): Changed to use RetainPtr directly instead of DragImageRef for clarity, since this is platform-specific code. (WebCore::deleteDragImage): Ditto. Also remove argument name to get rid of unused variable warning. (WebCore::scaleDragImage): Ditto. (WebCore::dissolveDragImageToFraction): Ditto. (WebCore::createDragImageFromImage): Ditto. (WebCore::createDragImageIconForCachedImage): Ditto. * platform/mac/WebFontCache.mm: (acceptableChoice): Removed the unused weight-related arguments. (betterChoice): Ditto. (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Ditto. * platform/posix/FileSystemPOSIX.cpp: Removed the implementation of listDirectory because we'd rather get a link error rather than a runtime error if we use it for anything, and right now it's not used. * platform/text/RegularExpression.cpp: Removed unused private data, including pattern, lastMatchString, lastMatchOffsets, lastMatchCount, and lastMatchPos. Made the RegularExpression::Private::regex be private and use an accessor function to get at it. (WebCore::RegularExpression::RegularExpression): Removed the const char* version of the constructor because it's not any more efficient. Changed the boolean constructor argument to use TextCaseSensitivity instead to make it less likely we'll use it wrong. (WebCore::RegularExpression::operator=): Since the only member is a single RefPtr, just use plain old assignment on it. The only reason we do this instead of using the compiler generated assignment operator is that we want the Private structure to be internal to the .cpp file. (WebCore::RegularExpression::match): Added a null check so we won't crash if we fail to compile the regular expression. Removed the code to handle multiple match strings, since that was unused. * platform/text/RegularExpression.h: Changed the case sensitivity argument to use TextCaseSensitivity and not have a default value. Removed the default constructor, and the pattern, match, and pos functions. * platform/text/StringImpl.h: Moved the TextCaseSensitivity enum here from Page.h, because we should eventually use it in all the places where we have an argument to control case sensitivity, starting with the functions in this class. * platform/text/mac/ShapeArabic.c: (shapeUnicode): Removed the unused options and pErrorCode arguments. Even though this is code borrowed from ICU, this seems like a simple safe change to make. (shapeArabic): Don't pass options or pErrorCode in to shapeUnicode. * rendering/RenderPath.cpp: (WebCore::RenderPath::RenderPath): Removed the unused style argument. Also removed the type check. The argument already has the correct type, so it's not helpful to upcast it and then check its type again, unless we have some reason to believe the type is not reliable. And we don't. * rendering/RenderPath.h: Removed the RenderStyle* argument to the constructor. Also removed the explicit declaration of the destructor. It's not helpful or needed. * rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::localCaretRect): Updated the comment here to make it clear that just returning an empty rect is not a good implementation. Removed the argument names to get rid of the warning. * rendering/RenderTreeAsText.cpp: (WebCore::printBorderStyle): Removed the unused RenderObject argument. (WebCore::operator<<): Updated for the change to printBorderStyle function. * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): Removed the unused document argument. * storage/DatabaseThread.h: Ditto. * storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): Removed the unused Frame* argument. * storage/LocalStorage.h: Ditto. * svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't pass an exception code location to dispatchGenericEvent. * svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::dispatchEvent): Ditto. * svg/SVGStyledTransformableElement.cpp: Removed include of unused RegularExpression.h. (WebCore::SVGStyledTransformableElement::createRenderer): Don't pass style in to the RenderPath constructor. * svg/SVGTransformable.cpp: Removed include of unused RegularExpression.h. * xml/XSLTProcessor.cpp: (WebCore::createFragmentFromSource): Removed unused sourceNode argument. (WebCore::XSLTProcessor::transformToFragment): Don't pass sourceNode to createFragmentFromSource. 2009-01-11 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23165 Disable application cache dynamic entries support. * bindings/js/JSDOMApplicationCacheCustom.cpp: * loader/appcache/DOMApplicationCache.idl: 2009-01-11 Adam Treat Reviewed by Darin Adler. Correct coordinate transformation for deeply nested frames on resizing. This fixes https://bugs.webkit.org/show_bug.cgi?id=20766. Test: fast/frames/frame-deep-nested-resize.html * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): 2009-01-11 Mark Rowe Tiger build fix. The connection parameter is still used on Tiger in this method. * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 2009-01-11 Darin Adler Reviewed by Dan Bernstein. Bug 23102: turn on unused parameter warnings in WebCore https://bugs.webkit.org/show_bug.cgi?id=23102 Third step: Deal with cases of arguments used only in assertions. * dom/MessagePort.cpp: (WebCore::MessagePortCloseEventTask::performTask): Use ASSERT_UNUSED. * dom/Worker.cpp: (WebCore::Worker::notifyFinished): Ditto. * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished): Ditto. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Ditto. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion): Ditto. * loader/icon/IconLoader.cpp: (WebCore::IconLoader::didReceiveData): Since loader and size are only used when logging, use UNUSED_PARAM when logging is disabled. * platform/mac/WidgetMac.mm: (WebCore::Widget::beforeMouseDown): Use ASSERT_UNUSED. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Use the argument since it's probably a tiny bit more efficient and gets rid of the unused argument warning. * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::createInlineBox): Use ASSERT_UNUSED. * rendering/RenderObject.cpp: (WebCore::RenderObject::createInlineBox): Ditto. * rendering/RenderSVGInline.cpp: (WebCore::RenderSVGInline::createInlineBox): Use UNUSED_PARAM. I couldn't use ASSERT_UNUSED because it's a single assertion, but it's the only use for two different arguments. * rendering/RenderText.cpp: (WebCore::RenderText::createInlineBox): Use ASSERT_UNUSED. * rendering/RenderThemeMac.mm: (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]): Ditto. 2009-01-11 Simon Fraser Reviewed by Oliver Hunt https://bugs.webkit.org/show_bug.cgi?id=23242 Fix CanvasRenderingContext2D::transform to do a pre-multiply, rather than a post-multiply into m_transform. This bug did not affect drawing, but did cause m_transform to be incorrect, which impacted willDraw(), and isPointInPath. Test: fast/canvas/canvas-incremental-repaint-2.html * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::transform): 2009-01-11 Darin Adler Reviewed by Dan Bernstein. Bug 23102: turn on unused parameter warnings in WebCore https://bugs.webkit.org/show_bug.cgi?id=23102 Second step: Fix simple Objective-C cases where we need to use UNUSED_PARAM. That's because you can't omit an argument name in Objective-C methods. * bindings/objc/DOMObject.mm: (-[DOMObject copyWithZone:]): Use UNUSED_PARAM. Also rename argument to include the word "unused" so we don't just start using it without removing the macro. * bindings/objc/WebScriptObject.mm: (+[WebUndefined allocWithZone:]): Ditto. (-[WebUndefined initWithCoder:]): Ditto. (-[WebUndefined encodeWithCoder:]): Ditto. (-[WebUndefined copyWithZone:]): Ditto. * page/mac/WebDashboardRegion.m: (-[WebDashboardRegion copyWithZone:]): Ditto. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::mainThreadSetNeedsDisplay): Omit argument name. (-[WebCoreMovieObserver loadStateChanged:]): Use UNUSED_PARAM as above. (-[WebCoreMovieObserver rateChanged:]): Ditto. (-[WebCoreMovieObserver sizeChanged:]): Ditto. (-[WebCoreMovieObserver timeChanged:]): Ditto. (-[WebCoreMovieObserver didEnd:]): Ditto. (-[WebCoreMovieObserver newImageAvailable:]): Ditto. * platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]): Ditto. (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): Ditto. * platform/mac/SharedTimerMac.mm: (-[WebCorePowerNotifier didWake:]): Ditto. * platform/mac/WebCoreKeyGenerator.m: (-[WebCoreKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): Ditto. * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto. (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto. (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto. (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Ditto. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Ditto. (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto. (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto. (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto. (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto. 2009-01-11 Dirk Schulze Reviewed by Darin Adler. Move platform dependent strokeContains back to RenderPath, Path and delete unneeded Code in svg. RenderPath clean-up for strokeContains [https://bugs.webkit.org/show_bug.cgi?id=22957] * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/Path.h: * platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::strokeContains): * platform/graphics/cg/PathCG.cpp: (WebCore::Path::strokeContains): * platform/graphics/qt/PathQt.cpp: (WebCore::Path::strokeContains): * rendering/RenderPath.cpp: (WebCore::RenderPath::strokeContains): * svg/graphics/cairo/RenderPathCairo.cpp: Removed. * svg/graphics/cg/CgSupport.cpp: Removed. * svg/graphics/cg/CgSupport.h: Removed. * svg/graphics/cg/RenderPathCg.cpp: Removed. * svg/graphics/cg/SVGPaintServerPatternCg.cpp: * svg/graphics/cg/SVGResourceMaskerCg.mm: * svg/graphics/qt/RenderPathQt.cpp: Removed. 2009-01-11 Holger Hans Peter Freyther Reviewed by Anders Carlsson. [GTK] make distcheck complains that distclean is not deleting JSWorkerContextBase.lut.h make distcheck pass by adding JSWorkerContextBase.lut.h to the CLEANFILES that will be cleaned on a make distclean. * GNUmakefile.am: 2009-01-11 Zalan Bujtas Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=23235 Build fix for non-VIDEO builds. * rendering/RenderTheme.cpp: * rendering/RenderTheme.h: 2009-01-11 Gabriella Toth Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=19287 return value of malloc() is not checked in npruntime.cpp Checking whether malloc can allocate memory or not. If it can't, CRASH macro is invoked (like in fastMalloc). * bridge/npruntime.cpp: (_NPN_GetStringIdentifier): (_NPN_GetIntIdentifier): (NPN_InitializeVariantWithStringCopy): (_NPN_CreateObject): 2009-01-11 Glenn Wilson Reviewed by Darin Adler. Changes radio buttons so they can be 'checked' even if they don't have the name attribute set. See https://bugs.webkit.org/show_bug.cgi?id=21534 Test: fast/html/select-unnamed-radio.html * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::preDispatchEventHandler): 2009-01-11 Bernhard Rosenkraenzer Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=22205 Fix compatibility with bison 2.4, partially based on older patch by Priit Laes * WebCore/css/CSSGrammar.y: Made compatible with bison 2.4 2009-01-11 Jeremy Moskovich Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=16001 Incorrect assumption that selection is always contiguous LTR. Test: editing/selection/extend-selection-bidi.html * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::fillLineSelectionGap): Make this function not assume a contiguous visual LTR selection range. 2009-01-11 Dmitry Titov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23207 Moved currentTime() to from WebCore to WTF. Most of these files only have a different header file included. Various build files reflect removal of SystemTimeGtk, Wx, Qt and Linux which were removed since they only implemented currentTime(). * ForwardingHeaders/wtf/CurrentTime.h: Added. * GNUmakefile.am: * WebCore.base.exp: * WebCore.pro: * dom/ContainerNode.cpp: * dom/Document.cpp: * dom/Event.cpp: * history/CachedPage.cpp: * history/PageCache.cpp: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::progressEventTimerFired): * html/HTMLTokenizer.cpp: * html/PreloadScanner.cpp: * inspector/InspectorController.cpp: * loader/Cache.cpp: (WebCore::Cache::pruneLiveResources): * loader/CachedImage.cpp: * loader/CachedResource.cpp: * loader/FrameLoader.cpp: * loader/ProgressTracker.cpp: * loader/icon/IconDatabase.cpp: * loader/icon/IconRecord.cpp: * page/DragController.cpp: * page/Frame.cpp: * page/FrameView.cpp: * page/animation/AnimationBase.cpp: * page/animation/AnimationController.cpp: * page/animation/KeyframeAnimation.cpp: * platform/SystemTime.h: * platform/Timer.cpp: * platform/graphics/BitmapImage.cpp: * platform/gtk/MouseEventGtk.cpp: * platform/gtk/SharedTimerGtk.cpp: * platform/gtk/SystemTimeGtk.cpp: Removed. * platform/gtk/SystemTimeLinux.cpp: Removed. * platform/mac/SystemTimeMac.cpp: * platform/qt/PlatformMouseEventQt.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/qt/SharedTimerQt.cpp: * platform/qt/SharedTimerQt.h: * platform/qt/SystemTimeQt.cpp: Removed. * platform/win/SharedTimerWin.cpp: * platform/win/SystemTimeWin.cpp: * platform/wx/MouseEventWx.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent): * platform/wx/SharedTimerWx.cpp: * platform/wx/SystemTimeWx.cpp: Removed. * rendering/RenderImage.cpp: * rendering/RenderMedia.cpp: * svg/animation/SMILTimeContainer.cpp: * webcore-wx.bkl: * xml/XMLHttpRequest.cpp: 2009-01-11 Dmitry Titov Reviewed by Darin Adler. Make ScheduledAction (Timeout callback) able to execute the callback under WorkerContext. Part of 'Timers in Workers' work. https://bugs.webkit.org/show_bug.cgi?id=23223 * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): new method that takes WorkerContext. (WebCore::ScheduledAction::executeFunctionInContext): Executes a JSFunction in proper context with 'this' object. * bindings/js/ScheduledAction.h: 2009-01-10 Eric Carlson Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23210 Make it easier for ports to define custom UI for media controls * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to get the media controller style sheet * rendering/MediaControlElements.cpp: (WebCore::MediaControlInputElement::hitTest): Added * rendering/MediaControlElements.h: Updated * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function so control elements don't necessarily have to be rectangular * rendering/RenderTheme.cpp: (WebCore::RenderTheme::styleSheetForMediaControls): Added (WebCore::RenderTheme::hitTestMediaControlPart): Added * rendering/RenderTheme.h: Updated 2009-01-10 Simon Fraser Reviewed by Dan Bernstein https://bugs.webkit.org/show_bug.cgi?id=23222 We need to disable LayoutState when an object has transforms, because LayoutState is not transform-aware and therefore repaint rects can be computed incorrectly. Test: fast/repaint/transform-disable-layoutstate.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::layoutOnlyPositionedObjects): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): 2009-01-09 Holger Hans Peter Freyther Reviewed by Simon Hausmann. [QT] Make SharedTimer use QBasicTimer Kill the SharedTimerQt.h and the usage of signal and slots by using QBasicTimer. * WebCore.pro: * platform/qt/SharedTimerQt.cpp: (WebCore::SharedTimerQt::SharedTimerQt): (WebCore::SharedTimerQt::inst): (WebCore::SharedTimerQt::start): (WebCore::SharedTimerQt::stop): (WebCore::SharedTimerQt::timerEvent): (WebCore::setSharedTimerFiredFunction): (WebCore::setSharedTimerFireTime): (WebCore::stopSharedTimer): * platform/qt/SharedTimerQt.h: Removed. 2009-01-09 Adam Bergkvist Reviewed by Holger Freyther. [CURL] POST without body becomes GET https://bugs.webkit.org/show_bug.cgi?id=23182 Make sure that method is always set to POST even when the body is empty. Cleaned up httpBody null check. * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST): 2009-01-09 Adam Treat Build fix. * plugins/PluginView.cpp: 2009-01-09 Adele Peterson Reviewed by Darin Adler. Fix infinite recursion in clientPaddingLeft and clientPaddingRight. This changes the code back to how it was before RenderTextControlSingleLine was split out from RenderTextControl. No test added since this code is only exercised when trying to place a search field's recent searches popup menu. * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::clientPaddingLeft): (WebCore::RenderTextControlSingleLine::clientPaddingRight): 2009-01-09 Darin Adler Reviewed by Jon Honeycutt. Bug 22913: REGRESSION: Space bar doesn't scroll on windows https://bugs.webkit.org/show_bug.cgi?id=22913 rdar://problem/6479834 * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Added code to call defaultSpaceEventHandler. (WebCore::EventHandler::defaultSpaceEventHandler): Added. Scrolls down or up based on the shift key. * page/EventHandler.h: Added defaultSpaceEventHandler. * platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformScroll): Return false, because this function does not scroll. In an earlier version of this patch, I used this to prevent the patch from affecting the Mac, but I decided to use #if instead. 2009-01-09 Gavin Barraclough Reviewed by Oliver Hunt. Delete references to JSValue, removing this class. * bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::self): * bindings/js/ScriptCallStack.h: 2009-01-09 Dimitri Glazkov Reviewed by Eric Seidel. Add svg/graphics/skia files. https://bugs.webkit.org/show_bug.cgi?id=23147 * svg/graphics/skia/RenderPathSkia.cpp: Added. (WebCore::RenderPath::strokeContains): * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Added. (WebCore::SVGPaintServerPattern::setup): * svg/graphics/skia/SVGPaintServerSkia.cpp: Added. (WebCore::SVGPaintServer::draw): (WebCore::SVGPaintServer::teardown): (WebCore::SVGPaintServer::renderPath): * svg/graphics/skia/SVGResourceFilterSkia.cpp: Added. (WebCore::SVGResourceFilter::createPlatformData): (WebCore::SVGResourceFilter::prepareFilter): (WebCore::SVGResourceFilter::applyFilter): * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Added. (WebCore::SVGResourceMasker::applyMask): 2009-01-09 Dimitri Glazkov Reviewed by Eric Seidel. Add SkiaFontWin to platform/graphics/chromium https://bugs.webkit.org/show_bug.cgi?id=23215 * platform/graphics/skia/SkiaFontWin.cpp: Added. (WebCore::CachedOutlineKey::CachedOutlineKey): (WebCore::operator==): (WebCore::CachedOutlineKeyHash::hash): (WebCore::CachedOutlineKeyHash::equal): (WebCore::FIXEDToSkScalar): (WebCore::deleteOutline): (WebCore::addPolyCurveToPath): (WebCore::getPathForGlyph): (WebCore::SkiaWinOutlineCache::lookupOrCreatePathForGlyph): (WebCore::SkiaWinOutlineCache::removePathsForFont): * platform/graphics/skia/SkiaFontWin.h: Added. 2009-01-09 Anders Carlsson Fix build. * WebCore.LP64.exp: 2009-01-09 Dimitri Glazkov Reviewed by Eric Seidel. Add PlatformContextSkia and PlatformGraphics.h to platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23215 * platform/graphics/skia/PlatformContextSkia.cpp: Added. (PlatformContextSkia::State::State): (PlatformContextSkia::State::~State): (PlatformContextSkia::State::applyAlpha): (PlatformContextSkia::PlatformContextSkia): (PlatformContextSkia::~PlatformContextSkia): (PlatformContextSkia::setCanvas): (PlatformContextSkia::save): (PlatformContextSkia::restore): (PlatformContextSkia::drawRect): (PlatformContextSkia::setupPaintCommon): (PlatformContextSkia::setupPaintForFilling): (PlatformContextSkia::setupPaintForStroking): (PlatformContextSkia::setDrawLooper): (PlatformContextSkia::setMiterLimit): (PlatformContextSkia::setAlpha): (PlatformContextSkia::setLineCap): (PlatformContextSkia::setLineJoin): (PlatformContextSkia::setPorterDuffMode): (PlatformContextSkia::setFillColor): (PlatformContextSkia::getDrawLooper): (PlatformContextSkia::getStrokeStyle): (PlatformContextSkia::setStrokeStyle): (PlatformContextSkia::setStrokeColor): (PlatformContextSkia::getStrokeThickness): (PlatformContextSkia::setStrokeThickness): (PlatformContextSkia::getTextDrawingMode): (PlatformContextSkia::setTextDrawingMode): (PlatformContextSkia::setUseAntialiasing): (PlatformContextSkia::fillColor): (PlatformContextSkia::beginPath): (PlatformContextSkia::addPath): (PlatformContextSkia::setFillRule): (PlatformContextSkia::setGradient): (PlatformContextSkia::setPattern): (PlatformContextSkia::setDashPathEffect): (PlatformContextSkia::paintSkPaint): (PlatformContextSkia::bitmap): (PlatformContextSkia::isPrinting): * platform/graphics/skia/PlatformContextSkia.h: Added. (PlatformContextSkia::currentPath): (PlatformContextSkia::canvas): (PlatformContextSkia::gdk_skia): * platform/graphics/skia/PlatformGraphics.h: Added. 2009-01-09 Dimitri Glazkov Reviewed by Eric Seidel. Add TransformationMatrixSkia to platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23215 * platform/graphics/skia/TransformationMatrixSkia.cpp: Added. (WebCore::TransformationMatrix::TransformationMatrix): (WebCore::TransformationMatrix::setMatrix): (WebCore::TransformationMatrix::map): (WebCore::TransformationMatrix::mapRect): (WebCore::TransformationMatrix::isIdentity): (WebCore::TransformationMatrix::reset): (WebCore::TransformationMatrix::scale): (WebCore::TransformationMatrix::rotate): (WebCore::TransformationMatrix::translate): (WebCore::TransformationMatrix::shear): (WebCore::TransformationMatrix::det): (WebCore::TransformationMatrix::inverse): (WebCore::TransformationMatrix::operator SkMatrix): (WebCore::TransformationMatrix::operator==): (WebCore::TransformationMatrix::operator*=): (WebCore::TransformationMatrix::operator*): (WebCore::TransformationMatrix::a): (WebCore::TransformationMatrix::setA): (WebCore::TransformationMatrix::b): (WebCore::TransformationMatrix::setB): (WebCore::TransformationMatrix::c): (WebCore::TransformationMatrix::setC): (WebCore::TransformationMatrix::d): (WebCore::TransformationMatrix::setD): (WebCore::TransformationMatrix::e): (WebCore::TransformationMatrix::setE): (WebCore::TransformationMatrix::f): (WebCore::TransformationMatrix::setF): 2009-01-09 Alexey Proskuryakov Reviewed by Darin Adler. Repro crash reloading page using HTML5 AppCache on Windows Test: http/tests/appcache/reload.html On Windows, reloading resulted in the following sequence of events: 1) A new main resource loader was created and associated with the cache. Its document loader was not associated with the cache yet. 2) The old document loader was destroyed, and since it was the last one, ApplicationCacheGroup teardown started, with newestCache being zeroed out. 3) The new document loader was associated with the cache group, and cache update started. 4) Since newestCache was null, this caused many problems. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Improve comments and assertions, no functional changes. (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the cache group if its newest cache pointer is already saved for teardown. Note that the cache pointer validity is ensured by MainResourceLoader that holds a reference to it. 2009-01-09 Darin Fisher Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23214 Upstream platform/network/chromium/ * platform/network/chromium/AuthenticationChallenge.h: Added. (WebCore::AuthenticationChallenge::AuthenticationChallenge): (WebCore::AuthenticationChallenge::sourceHandle): * platform/network/chromium/AuthenticationChallengeChromium.cpp: Added. (WebCore::AuthenticationChallenge::platformCompare): * platform/network/chromium/CookieJarChromium.cpp: Added. (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled): * platform/network/chromium/DNSChromium.cpp: Added. (WebCore::prefetchDNS): * platform/network/chromium/NetworkStateNotifierChromium.cpp: Added. (WebCore::NetworkStateNotifier::updateState): (WebCore::NetworkStateNotifier::NetworkStateNotifier): * platform/network/chromium/NetworkStateNotifierPrivate.h: Added. * platform/network/chromium/ResourceError.h: Added. (WebCore::ResourceError::ResourceError): * platform/network/chromium/ResourceRequest.h: Added. (WebCore::ResourceRequest::): (WebCore::ResourceRequest::ResourceRequest): (WebCore::ResourceRequest::frame): (WebCore::ResourceRequest::setFrame): (WebCore::ResourceRequest::setTargetType): (WebCore::ResourceRequest::targetType): (WebCore::ResourceRequest::originPid): (WebCore::ResourceRequest::setOriginPid): (WebCore::ResourceRequest::securityInfo): (WebCore::ResourceRequest::setSecurityInfo): (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest): * platform/network/chromium/ResourceResponse.h: (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::getSecurityInfo): (WebCore::ResourceResponse::setSecurityInfo): (WebCore::ResourceResponse::isContentFiltered): (WebCore::ResourceResponse::setIsContentFiltered): (WebCore::ResourceResponse::doUpdateResourceResponse): 2009-01-09 Peter Kasting Reviewed by David Hyatt. https://bugs.webkit.org/show_bug.cgi?id=22995 Fix flaky image animation by resetting the metadata for a frame when we get new data for that frame. This fixes animations that halted when the next frame of the animation wasn't complete by the time the current frame's duration expired. * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::dataChanged): * platform/graphics/BitmapImage.h: (WebCore::FrameData::~FrameData): * platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear): * platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear): * platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear): * platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear): 2009-01-09 Simon Hausmann Rubber-stamped by Tor Arne Vestbø. Swap the .h and the .cpp output in the Qt build for the UserAgentStyleSheetData files, to put the definition in the .cpp file and the declaration in the header file. * WebCore.pro: 2009-01-09 David Levin Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=23175 Added forwarding header. * ForwardingHeaders/wtf/PtrAndFlags.h: Added. 2009-01-09 Tor Arne Vestbø Reviewed by Simon Hausmann. Prevent qmake from generating duplicate rules for embedded stylesheets The STYLESHEETS_EMBED variable used to contain only one file name, but now that it is a list of files we need to change it to be a dependency for the stylesheet generator instead of the input. * WebCore.pro: 2009-01-09 Simon Hausmann Reviewed by Tor Arne Vestbø. Fix qmake warning about missing test function, a contains() call was missing. * WebCore.pro: 2009-01-09 Simon Hausmann Rubber-stamped by Tor Arne Vestbø. Add the Qt API headers to HEADERS, too, for improved completion in IDEs. * WebCore.pro: 2009-01-09 David Levin Reviewed by Alexey Proskuryakov. https://bugs.webkit.org/show_bug.cgi?id=23199 Fix deref's of string happening on two different threads. No observable change in behavior, so no test. However, there are asserts being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which will detect this issue while running the normal worker tests. * dom/WorkerThread.cpp: (WebCore::WorkerThreadStartupData::create): (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::workerThread): * dom/WorkerThread.h: 2009-01-08 Dan Bernstein Reviewed by Adam Roben. - use native glyph support in Core Graphics when available * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if native glyph support is not available or stroking is required. Changed to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to request the use of native glyphs. * platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to wkSetFontPlatformInfo to attach the LOGFONT to the CGFont. * platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Ditto. 2009-01-08 Peter Kasting Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=22929 Fix memory regression when decoding large animated GIFs. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear): 2009-01-08 Scott Violet Reviewed by Eric Seidel (and Adam Barth). Fix Images to return their file extension http://code.google.com/p/chromium/issues/detail?id=5827 * platform/graphics/skia/ImageSourceSkia.cpp: (WebCore::ImageSource::filenameExtension): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add PathSkia and PatternSkia implementations to WebCore https://bugs.webkit.org/show_bug.cgi?id=23200 * platform/graphics/skia/PathSkia.cpp: Added. (WebCore::Path::Path): (WebCore::Path::~Path): (WebCore::Path::operator=): (WebCore::Path::isEmpty): (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): (WebCore::convertPathPoints): (WebCore::Path::apply): (WebCore::Path::transform): (WebCore::Path::debugString): (WebCore::boundingBoxForCurrentStroke): (WebCore::Path::strokeBoundingRect): * platform/graphics/skia/PatternSkia.cpp: Added. (WebCore::shaderRule): (WebCore::Pattern::createPlatformPattern): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add ImageSourceSkia to platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23200 ImageSourceSkia is mostly a hack to support our ICO decoder model. See ImageSourceSkia.h for more explanation. Eventually we'd like to make our ICO decoder lazy. * platform/graphics/ImageSource.h: mark m_decoder as protected * platform/graphics/skia/ImageSourceSkia.cpp: Added. (WebCore::createDecoder): (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear): (WebCore::ImageSource::initialized): (WebCore::ImageSource::setData): (WebCore::ImageSource::isSizeAvailable): (WebCore::ImageSource::size): (WebCore::ImageSource::frameSizeAtIndex): (WebCore::ImageSource::repetitionCount): (WebCore::ImageSource::frameCount): (WebCore::ImageSource::createFrameAtIndex): (WebCore::ImageSource::frameIsCompleteAtIndex): (WebCore::ImageSource::frameDurationAtIndex): (WebCore::ImageSource::frameHasAlphaAtIndex): (WebCore::ImageSourceSkia::setData): (WebCore::ImageSource::filenameExtension): * platform/graphics/skia/ImageSourceSkia.h: Added. 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23200 * platform/graphics/skia/NativeImageSkia.cpp: Added. (NativeImageSkia::NativeImageSkia): (NativeImageSkia::decodedSize): (NativeImageSkia::hasResizedBitmap): (NativeImageSkia::resizedBitmap): (NativeImageSkia::shouldCacheResampling): * platform/graphics/skia/NativeImageSkia.h: Added. (NativeImageSkia::setDataComplete): (NativeImageSkia::isDataComplete): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add ImageBufferSkia and ImageSkia files. https://bugs.webkit.org/show_bug.cgi?id=23200 For now we've left BitmapImage and BitmapImageSingleFrameSkia implementations in the ImageSkia file (like ImageCG has), but we intend to break them out into their own files. * platform/graphics/skia/ImageBufferSkia.cpp: Added. (WebCore::ImageBufferData::ImageBufferData): (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::~ImageBuffer): (WebCore::ImageBuffer::context): (WebCore::ImageBuffer::image): (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData): (WebCore::ImageBuffer::toDataURL): * platform/graphics/skia/ImageSkia.cpp: Added. (WebCore::): (WebCore::FrameData::clear): (WebCore::Image::loadPlatformResource): (WebCore::Image::drawPattern): (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData): (WebCore::BitmapImage::checkForSolidColor): (WebCore::BitmapImage::draw): (WebCore::BitmapImageSingleFrameSkia::draw): (WebCore::BitmapImageSingleFrameSkia::create): 2009-01-08 James Robinson Reviewed by Mark Rowe. Landed by Pamela Greene. WebCore::Event::timeStamp() is a simple accessor and should be const https://bugs.webkit.org/show_bug.cgi?id=23176 * dom/Event.h: (WebCore::Event::timeStamp): 2009-01-08 Antti Koivisto Reviewed by Oliver Hunt. Fix Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994) Use CachedResourceHandle in document resource map so resources get updated correctly when using using cache validation conditionals. * loader/Cache.cpp: (WebCore::Cache::evict): * loader/DocLoader.cpp: (WebCore::DocLoader::~DocLoader): (WebCore::DocLoader::requestResource): (WebCore::DocLoader::setAutoLoadImages): (WebCore::DocLoader::removeCachedResource): * loader/DocLoader.h: (WebCore::DocLoader::cachedResource): (WebCore::DocLoader::allCachedResources): * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::getSubresources): * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add a cleaned-up GraphicsContextSkia implementation to WebKit. https://bugs.webkit.org/show_bug.cgi?id=23191 * platform/graphics/skia/GraphicsContextSkia.cpp: Added. (WebCore::): (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::~GraphicsContext): (WebCore::GraphicsContext::platformContext): (WebCore::GraphicsContext::savePlatformState): (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::addPath): (WebCore::GraphicsContext::beginPath): (WebCore::GraphicsContext::clearPlatformShadow): (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): (WebCore::GraphicsContext::clipPath): (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::concatCTM): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawFocusRing): (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::getCTM): (WebCore::GraphicsContext::roundToDevicePixels): (WebCore::GraphicsContext::scale): (WebCore::GraphicsContext::setAlpha): (WebCore::GraphicsContext::setCompositeOperation): (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::setLineCap): (WebCore::GraphicsContext::setLineDash): (WebCore::GraphicsContext::setLineJoin): (WebCore::GraphicsContext::setMiterLimit): (WebCore::GraphicsContext::setPlatformFillColor): (WebCore::GraphicsContext::setPlatformShadow): (WebCore::GraphicsContext::setPlatformStrokeColor): (WebCore::GraphicsContext::setPlatformStrokeStyle): (WebCore::GraphicsContext::setPlatformStrokeThickness): (WebCore::GraphicsContext::setPlatformTextDrawingMode): (WebCore::GraphicsContext::setURLForRect): (WebCore::GraphicsContext::setUseAntialiasing): (WebCore::GraphicsContext::strokeArc): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::strokeRect): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::translate): 2009-01-08 David Hyatt Fix for REGRESSION: In Mail, can't force a message to auto scroll. Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for any scrollable views that may contain a WebView. Does nothing on platforms other than the Mac, but might eventually be of interest to other platforms. Reviewed by Oliver Hunt * WebCore.base.exp: * page/Chrome.cpp: (WebCore::Chrome::scrollRectIntoView): * page/Chrome.h: * page/ChromeClient.h: (WebCore::ChromeClient::scrollRectIntoView): * platform/HostWindow.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scrollRectIntoViewRecursively): 2009-01-08 Adam Treat Reviewed by David Hyatt. No need to make this part of HostWindow and moreover HostWindow should not have any reference to non-platform parts of WebCore. * page/Chrome.h: * page/FrameView.cpp: (WebCore::FrameView::setContentsSize): * platform/HostWindow.h: 2009-01-08 Eric Carlson Reviewed by Adele Peterson. Simplify Mac interfaces for drawing media controller elements * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions * platform/mac/WebCoreSystemInterface.h: Ditto * platform/mac/WebCoreSystemInterface.mm: Ditto * rendering/MediaControlElements.h: (WebCore::): Add MediaControlElements enum * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintMediaFullscreenButton): update for changed WebKitSystemInterface media controller functions (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add two more files for platform/graphics/skia. https://bugs.webkit.org/show_bug.cgi?id=23191 * platform/graphics/skia/GradientSkia.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::F2B): (WebCore::makeSkColor): (WebCore::totalStopsNeeded): (WebCore::fillStops): (WebCore::compareStops): (WebCore::Gradient::platformGradient): (WebCore::Gradient::fill): * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContextPlatformPrivate::context): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Commit the right files this time! (Instead of the ugly unfixed ones.) https://bugs.webkit.org/show_bug.cgi?id=23191 * platform/graphics/skia/BitmapImageSingleFrameSkia.h: * platform/graphics/skia/FloatPointSkia.cpp: * platform/graphics/skia/FloatRectSkia.cpp: * platform/graphics/skia/IntPointSkia.cpp: * platform/graphics/skia/IntRectSkia.cpp: (WebCore::IntRect::operator SkRect): * platform/graphics/skia/SkiaUtils.cpp: (WebCore::): (WebCore::WebCoreCompositeToSkiaComposite): (WebCore::SkPMColorToWebCoreColor): (WebCore::IntersectRectAndRegion): (WebCore::ClipRectToCanvas): (WebCore::SkPathContainsPoint): (WebCore::scratchContext): * platform/graphics/skia/SkiaUtils.h: (WebCore::WebCoreFloatToSkScalar): (WebCore::WebCoreDoubleToSkScalar): 2009-01-08 Dimitri Glazkov Reviewed by Eric Seidel. Add the first few files from platform/graphics/skia https://bugs.webkit.org/show_bug.cgi?id=23191 These are all pretty simple. Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header. SkiaUtils needs to die, but that can come later, no need to block up-streaming now. * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added. (WebCore::BitmapImageSingleFrameSkia::isBitmapImage): (WebCore::BitmapImageSingleFrameSkia::size): (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData): (WebCore::BitmapImageSingleFrameSkia::decodedSize): (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame): (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia): * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm. (WebCore::FloatPoint::FloatPoint): (WebCore::FloatPoint::operator SkPoint): * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp. (WebCore::FloatRect::FloatRect): (WebCore::FloatRect::operator SkRect): * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp. (WebCore::IntPoint::IntPoint): (WebCore::IntPoint::operator SkIPoint): (WebCore::IntPoint::operator SkPoint): * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp. (WebCore::IntRect::operator SkIRect): (WebCore::IntRect::operator SkRect): (WebCore::IntRect::IntRect): * platform/graphics/skia/SkiaUtils.cpp: Added. (WebCore::WebCorePointToSkiaPoint): (WebCore::WebCoreRectToSkiaRect): (WebCore::): (WebCore::WebCoreCompositeToSkiaComposite): (WebCore::InvScaleByte): (WebCore::SkPMColorToColor): (WebCore::SkPMColorToWebCoreColor): (WebCore::IntersectRectAndRegion): (WebCore::ClipRectToCanvas): (WebCore::SkPathContainsPoint): (WebCore::scratchContext): * platform/graphics/skia/SkiaUtils.h: Added. (WebCore::WebCoreFloatToSkScalar): (WebCore::WebCoreDoubleToSkScalar): 2009-01-08 Pierre-Olivier Latour Reviewed by Dan Bernstein. Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly. Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations, instead of simply the "running" ones. https://bugs.webkit.org/show_bug.cgi?id=23177 Tests: transitions/zero-duration-with-non-zero-delay-end.html transitions/zero-duration-with-non-zero-delay-start.html * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::fireAnimationEventsIfNeeded): * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::animationTimerFired): * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations): 2009-01-08 Alexey Proskuryakov Reviewed by Oliver Hunt. Repro crash loading HTML5 AppCache manifest directly The crash happened whenever a cached resource was downloaded, as opposed to used directly. No test, as downloading cannot be tested automatically. * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy): Cancel downloads that do not have an associated ResourceHandle, such as downloads from the application cache. Activity window shows "The URL can't be shown", and the frame remains empty. 2009-01-08 Justin McPherson Reviewed by Simon Hausmann. Fix the Qt build on older X11 systems with special X paths. * WebCore.pro: Use the x11 qmake config to pull in extra paths needed for NPAPI. 2009-01-08 Adam Roben Windows build fix after r39699 * DerivedSources.cpp: Added JSDOMStringList.cpp. 2009-01-08 Kent Hansen Reviewed by Simon Hausmann. Fix copy & paste of images in the Qt port. Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool. * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::declareAndWriteDragImage): 2009-01-08 Hiroyuki Ikezoe Reviewed by Holger Freyther. https://bugs.webkit.org/show_bug.cgi?id=23127 Invoke pango_coverage_get with each Unicode character. * platform/graphics/gtk/SimpleFontDataPango.cpp: (WebCore::SimpleFontData::containsCharacters): 2009-01-07 Alexey Proskuryakov Reviewed by Darin Adler. Part one of https://bugs.webkit.org/show_bug.cgi?id=23165 Add support for application cache dynamic entries Test: http/tests/appcache/dynamic-entries-no-cache.html * DerivedSources.make: * GNUmakefile.am: * WebCore.pro: * WebCore.scons: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: Added new files. * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem): Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom to resolve relative URLs correctly. * bindings/js/JSDOMStringListCustom.cpp: Added. * dom/DOMStringList.cpp: Added. * dom/DOMStringList.h: Added. * dom/DOMStringList.idl: Added. Added an implementation of DOM 3 Core DOMStringList interface, which is returned by DOMApplicationCache items attribute. * dom/StaticStringList.cpp: Added. * dom/StaticStringList.h: Added. An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this matches Firefox, as the spec doesn't say whether the returned list should be live or not). * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be used in the near future. * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length attribute and item(), we now have an items attribute that returns a DOMStringList, and a hasItem convenience method. * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::items): (WebCore::DOMApplicationCache::hasItem): * loader/appcache/DOMApplicationCache.h: Added implementations of items attribute and hasItem() (note that underlying ApplicationCache methods are still unimplemented though). * page/DOMWindow.idl: Expose a DOMStringList global constructor. 2009-01-07 Chris Marrin Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=23122 This completes the removal of dependencies on WebKit from the platform code * css/CSSComputedStyleDeclaration.cpp: (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::getTimingFunctionValue): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSHelper.h: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationDelay): (WebCore::CSSStyleSelector::mapAnimationDirection): (WebCore::CSSStyleSelector::mapAnimationDuration): (WebCore::CSSStyleSelector::mapAnimationIterationCount): (WebCore::CSSStyleSelector::mapAnimationName): (WebCore::CSSStyleSelector::mapAnimationPlayState): (WebCore::CSSStyleSelector::mapAnimationProperty): (WebCore::CSSStyleSelector::mapAnimationTimingFunction): * platform/animation/Animation.cpp: (WebCore::Animation::Animation): * platform/animation/Animation.h: (WebCore::Animation::initialAnimationDelay): (WebCore::Animation::initialAnimationDirection): (WebCore::Animation::initialAnimationDuration): (WebCore::Animation::initialAnimationIterationCount): (WebCore::Animation::initialAnimationName): (WebCore::Animation::initialAnimationPlayState): (WebCore::Animation::initialAnimationProperty): (WebCore::Animation::initialAnimationTimingFunction): * rendering/style/RenderStyle.h: 2008-01-07 Peter Kasting Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=22929 Fix errors while decoding GIFs by not calling setData() repeatedly when it's not necessary. Pushes the responsibility for calling setData() after clear() into the ImageSource which presumably knows better than BitmapImage what needs to be done. NOTE: The above bug is mainly about a memory regression, which this patch does not fix. * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): * platform/graphics/ImageSource.h: * platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::clear): * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear): * platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear): * platform/graphics/wx/ImageSourceWx.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear): 2009-01-07 Justin Garcia Reviewed by Darin Adler. Find fails for queries that contain a line break * editing/TextIterator.cpp: (WebCore::findPlainText): Allow find with queries that contain newlines. 2009-01-07 Dean Jackson Reviewed by Dan Bernstein. Allow removal of inline shorthand properties for animation, transition and transform origin. Also add getter for shorthand animation property. https://bugs.webkit.org/show_bug.cgi?id=22605 Test: fast/css/transform-inline-style-remove.html * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Getter for animation property shorthand (WebCore::initShorthandMap): Adds initialisation for transform-origin, animation and transition 2009-01-07 Benjamin Otte Reviewed by Holger Freyther. * platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal): (WebCore::parseDataUrl): (WebCore::ResourceHandle::startData): keep track of the idle handler we add and remove it in the destructor 2009-01-07 Dean Jackson Reviewed by Darin Adler. Finish renaming of AffineTransform to TransformationMatrix, this time ensuring that the platform implementations get the correct name. Also, clean up some whitespace cruft in old content. https://bugs.webkit.org/show_bug.cgi?id=23151 * GNUmakefile.am: * WebCore.pro: * WebCore.scons: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/graphics/cairo/AffineTransformCairo.cpp: Removed. * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp. * platform/graphics/cg/AffineTransformCG.cpp: Removed. * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp. * platform/graphics/qt/AffineTransformQt.cpp: Removed. * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp. * platform/graphics/transforms/TransformationMatrix.cpp: * platform/graphics/transforms/TransformationMatrix.h: * platform/graphics/wx/AffineTransformWx.cpp: Removed. * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp. * webcore-wx.bkl: 2009-01-07 Anders Carlsson Another build fix. * WebCore.LP64.exp: 2008-12-16 David Hyatt Make Safari RSS behave nicely with full page zoom. Need to add a new value to enable resetting of zoom back to the document-level default. Reviewed by Darin Adler * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * css/CSSValueKeywords.in: 2009-01-07 Darin Adler Reviewed by Oliver Hunt. Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed https://bugs.webkit.org/show_bug.cgi?id=23160 * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled. * inspector/InspectorController.cpp: (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource so that there's no extra work the caller has to do when the inspector is disabled. * inspector/InspectorController.h: Ditto. * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification, takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled and if it's false, use recordMemoryCacheLoadForFutureClientNotification. (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added. * loader/FrameLoader.h: Ditto. * page/Page.cpp: (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior. (WebCore::Page::setMemoryCacheClientCallsEnabled): Added. * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled, and m_areMemoryCacheClientCallsEnabled. 2009-01-07 Ariya Hidayat Rubber-stamped by Simon Hausmann. Qt build fix after r39670. * bridge/qt/qt_class.cpp: (JSC::Bindings::QtClass::fallbackObject): * bridge/qt/qt_class.h: * bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::mark): (JSC::Bindings::QtInstance::invokeMethod): (JSC::Bindings::QtInstance::defaultValue): (JSC::Bindings::QtInstance::stringValue): (JSC::Bindings::QtInstance::numberValue): (JSC::Bindings::QtInstance::booleanValue): (JSC::Bindings::QtInstance::valueOf): (JSC::Bindings::QtField::valueFromInstance): (JSC::Bindings::QtField::setValueToInstance): * bridge/qt/qt_instance.h: * bridge/qt/qt_runtime.cpp: (JSC::Bindings::valueRealType): (JSC::Bindings::convertValueToQVariant): (JSC::Bindings::convertQVariantToValue): (JSC::Bindings::findMethodIndex): (JSC::Bindings::QtRuntimeMetaMethod::call): (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): (JSC::Bindings::QtRuntimeConnectionMethod::call): (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): (JSC::Bindings::::setValueAt): (JSC::Bindings::::valueAt): * bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructure): 2009-01-06 Justin Garcia Reviewed by Oliver Hunt. SnowLeopard: Crash doing Copy Image from context menu Can't create an automated test case for specific contextual menu items yet and a normal Copy doesn't cause a crash. * platform/mac/PasteboardMac.mm: (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data. It may, for example, have a purgeable or regular buffer. 2009-01-06 Mark Rowe Reviewed by Geoff Garen. Fix . Bug 23157: Crashes on Acid 3 * dom/Document.cpp: (WebCore::Document::recalcStyle): Null-check the frame. 2009-01-05 Gavin Barraclough Rubber Stamped by Oliver Hunt. Replace all uses of JSValue* with new wrapper class, JSValuePtr. See JavaScriptCore/ChangeLog for more detailed description. * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::nameGetter): (WebCore::JSCSSStyleDeclaration::customPut): * bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS): * bindings/js/JSCanvasPixelArrayCustom.h: (WebCore::JSCanvasPixelArray::getByIndex): (WebCore::JSCanvasPixelArray::indexSetter): * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toJS): (WebCore::toHTMLCanvasStyle): (WebCore::JSCanvasRenderingContext2D::strokeStyle): (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): (WebCore::JSCanvasRenderingContext2D::fillStyle): (WebCore::JSCanvasRenderingContext2D::setFillStyle): (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::strokeRect): (WebCore::JSCanvasRenderingContext2D::drawImage): (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): (WebCore::JSCanvasRenderingContext2D::setShadow): (WebCore::JSCanvasRenderingContext2D::createPattern): (WebCore::JSCanvasRenderingContext2D::putImageData): (WebCore::JSCanvasRenderingContext2D::fillText): (WebCore::JSCanvasRenderingContext2D::strokeText): * bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::types): (WebCore::JSClipboard::clearData): (WebCore::JSClipboard::getData): (WebCore::JSClipboard::setData): (WebCore::JSClipboard::setDragImage): * bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::profiles): * bindings/js/JSCustomPositionCallback.cpp: (WebCore::JSCustomPositionCallback::handleEvent): * bindings/js/JSCustomPositionErrorCallback.cpp: (WebCore::JSCustomPositionErrorCallback::handleEvent): * bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent): * bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): * bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent): * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): * bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent): (WebCore::toVoidCallback): * bindings/js/JSCustomVoidCallback.h: * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::add): (WebCore::JSDOMApplicationCache::remove): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): * bindings/js/JSDOMBinding.cpp: (WebCore::jsStringOrNull): (WebCore::jsOwnedStringOrNull): (WebCore::jsStringOrUndefined): (WebCore::jsStringOrFalse): (WebCore::valueToStringWithNullCheck): (WebCore::valueToStringWithUndefinedOrNullCheck): (WebCore::reportException): (WebCore::reportCurrentException): (WebCore::setDOMException): (WebCore::objectToStringFunctionGetter): * bindings/js/JSDOMBinding.h: (WebCore::getDOMObjectWrapper): (WebCore::getDOMNodeWrapper): (WebCore::toJS): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::findJSEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow): (WebCore::showModalDialog): (jsDOMWindowBaseCrypto): (jsDOMWindowBaseEvent): (jsDOMWindowBaseImage): (jsDOMWindowBaseMessageChannel): (jsDOMWindowBaseOption): (jsDOMWindowBaseXMLHttpRequest): (jsDOMWindowBaseAudio): (jsDOMWindowBaseWorker): (jsDOMWindowBaseXSLTProcessor): (setJSDOMWindowBaseEvent): (setJSDOMWindowBaseAudio): (setJSDOMWindowBaseImage): (setJSDOMWindowBaseMessageChannel): (setJSDOMWindowBaseOption): (setJSDOMWindowBaseWorker): (setJSDOMWindowBaseXMLHttpRequest): (setJSDOMWindowBaseXSLTProcessor): (WebCore::JSDOMWindowBase::childFrameGetter): (WebCore::JSDOMWindowBase::indexGetter): (WebCore::JSDOMWindowBase::namedItemGetter): (WebCore::JSDOMWindowBase::getOwnPropertySlot): (WebCore::JSDOMWindowBase::put): (WebCore::JSDOMWindowBase::clear): (windowProtoFuncOpen): (windowProtoFuncShowModalDialog): (windowProtoFuncNotImplemented): (WebCore::JSDOMWindowBase::setReturnValueSlot): (WebCore::JSDOMWindowBase::installTimeout): (WebCore::toJS): (WebCore::toJSDOMWindow): * bindings/js/JSDOMWindowBase.h: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::lookupGetter): (WebCore::JSDOMWindow::lookupSetter): (WebCore::JSDOMWindow::setLocation): (WebCore::JSDOMWindow::postMessage): (WebCore::setTimeoutOrInterval): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::clearTimeout): (WebCore::JSDOMWindow::setInterval): (WebCore::JSDOMWindow::clearInterval): (WebCore::JSDOMWindow::atob): (WebCore::JSDOMWindow::btoa): (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener): (WebCore::toDOMWindow): (WebCore::nonCachingStaticCloseFunctionGetter): (WebCore::nonCachingStaticBlurFunctionGetter): (WebCore::nonCachingStaticFocusFunctionGetter): (WebCore::nonCachingStaticPostMessageFunctionGetter): * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customPut): * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::put): (WebCore::JSDOMWindowShell::putWithAttributes): (WebCore::JSDOMWindowShell::lookupGetter): (WebCore::JSDOMWindowShell::lookupSetter): (WebCore::toJS): * bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructure): * bindings/js/JSDatabaseCustom.cpp: (WebCore::JSDatabase::changeVersion): (WebCore::JSDatabase::transaction): * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::location): (WebCore::JSDocument::setLocation): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNode): (WebCore::JSElement::setAttributeNS): (WebCore::JSElement::setAttributeNodeNS): (WebCore::toJSNewlyCreated): * bindings/js/JSEventCustom.cpp: (WebCore::JSEvent::clipboardData): (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::eventParameterName): (WebCore::JSLazyEventListener::parseCode): * bindings/js/JSEventTarget.cpp: (WebCore::toJS): * bindings/js/JSEventTarget.h: * bindings/js/JSEventTargetBase.h: * bindings/js/JSEventTargetNodeCustom.cpp: (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): * bindings/js/JSGeolocationCustom.cpp: (WebCore::createPositionOptions): (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition): * bindings/js/JSHTMLAllCollection.h: (WebCore::JSHTMLAllCollection::createStructure): * bindings/js/JSHTMLAppletElementCustom.cpp: (WebCore::JSHTMLAppletElement::customPut): (WebCore::JSHTMLAppletElement::nameGetter): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::getNamedItems): (WebCore::callHTMLCollection): (WebCore::JSHTMLCollection::nameGetter): (WebCore::JSHTMLCollection::item): (WebCore::JSHTMLCollection::namedItem): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::nameGetter): (WebCore::JSHTMLDocument::all): (WebCore::JSHTMLDocument::setAll): (WebCore::JSHTMLDocument::open): (WebCore::JSHTMLDocument::write): (WebCore::JSHTMLDocument::writeln): * bindings/js/JSHTMLEmbedElementCustom.cpp: (WebCore::JSHTMLEmbedElement::customPut): (WebCore::JSHTMLEmbedElement::nameGetter): * bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::nameGetter): * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::JSHTMLFrameElement::setSrc): (WebCore::JSHTMLFrameElement::setLocation): * bindings/js/JSHTMLFrameSetElementCustom.cpp: (WebCore::JSHTMLFrameSetElement::nameGetter): * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc): * bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::selectionStart): (WebCore::JSHTMLInputElement::selectionEnd): * bindings/js/JSHTMLObjectElementCustom.cpp: (WebCore::JSHTMLObjectElement::customPut): (WebCore::JSHTMLObjectElement::nameGetter): * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::length): (WebCore::JSHTMLOptionsCollection::setLength): (WebCore::JSHTMLOptionsCollection::indexSetter): (WebCore::JSHTMLOptionsCollection::add): (WebCore::JSHTMLOptionsCollection::remove): * bindings/js/JSHTMLSelectElementCustom.cpp: (WebCore::JSHTMLSelectElement::remove): (WebCore::selectIndexSetter): (WebCore::JSHTMLSelectElement::indexSetter): * bindings/js/JSHTMLSelectElementCustom.h: * bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): (WebCore::JSHistory::customPut): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJS): * bindings/js/JSInspectedObjectWrapper.cpp: (WebCore::JSInspectedObjectWrapper::wrap): (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): * bindings/js/JSInspectedObjectWrapper.h: (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): * bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): * bindings/js/JSInspectorCallbackWrapper.h: (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): * bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::evaluate): (WebCore::JSJavaScriptCallFrame::thisObject): (WebCore::JSJavaScriptCallFrame::type): (WebCore::JSJavaScriptCallFrame::scopeChain): * bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): (WebCore::JSLocation::customPut): (WebCore::JSLocation::setHref): (WebCore::JSLocation::setProtocol): (WebCore::JSLocation::setHost): (WebCore::JSLocation::setHostname): (WebCore::JSLocation::setPort): (WebCore::JSLocation::setPathname): (WebCore::JSLocation::setSearch): (WebCore::JSLocation::setHash): (WebCore::JSLocation::replace): (WebCore::JSLocation::reload): (WebCore::JSLocation::assign): (WebCore::JSLocation::toString): * bindings/js/JSMessageChannelConstructor.h: * bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::startConversation): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): * bindings/js/JSMimeTypeArrayCustom.cpp: (WebCore::JSMimeTypeArray::nameGetter): * bindings/js/JSNamedNodeMapCustom.cpp: (WebCore::JSNamedNodeMap::nameGetter): * bindings/js/JSNamedNodesCollection.cpp: (WebCore::JSNamedNodesCollection::lengthGetter): (WebCore::JSNamedNodesCollection::indexGetter): * bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createStructure): * bindings/js/JSNavigatorCustom.cpp: (WebCore::needsYouTubeQuirk): (WebCore::JSNavigator::appVersion): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::insertBefore): (WebCore::JSNode::replaceChild): (WebCore::JSNode::removeChild): (WebCore::JSNode::appendChild): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): (WebCore::JSNodeFilterCondition::acceptNode): * bindings/js/JSNodeFilterCondition.h: (WebCore::JSNodeFilterCondition::create): * bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode): (WebCore::toNodeFilter): * bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): (WebCore::JSNodeIterator::previousNode): * bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList): (WebCore::JSNodeList::nameGetter): * bindings/js/JSPluginArrayCustom.cpp: (WebCore::JSPluginArray::nameGetter): * bindings/js/JSPluginCustom.cpp: (WebCore::JSPlugin::nameGetter): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectGetter): (WebCore::runtimeObjectPropertyGetter): (WebCore::runtimeObjectCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::asWrapper): (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): (WebCore::JSQuarantinedObjectWrapper::put): (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::hasInstance): (WebCore::JSQuarantinedObjectWrapper::call): * bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::createStructure): * bindings/js/JSRGBColor.cpp: (WebCore::getJSRGBColor): (jsRGBColorRed): (jsRGBColorGreen): (jsRGBColorBlue): * bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::createStructure): * bindings/js/JSSQLResultSetRowListCustom.cpp: (WebCore::JSSQLResultSetRowList::item): * bindings/js/JSSQLTransactionCustom.cpp: (WebCore::JSSQLTransaction::executeSql): * bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::addEventListener): (WebCore::JSSVGElementInstance::removeEventListener): * bindings/js/JSSVGLengthCustom.cpp: (WebCore::JSSVGLength::value): (WebCore::JSSVGLength::convertToSpecifiedUnits): * bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::multiply): (WebCore::JSSVGMatrix::inverse): (WebCore::JSSVGMatrix::translate): (WebCore::JSSVGMatrix::scale): (WebCore::JSSVGMatrix::scaleNonUniform): (WebCore::JSSVGMatrix::rotate): (WebCore::JSSVGMatrix::rotateFromVector): (WebCore::JSSVGMatrix::flipX): (WebCore::JSSVGMatrix::flipY): (WebCore::JSSVGMatrix::skewX): (WebCore::JSSVGMatrix::skewY): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS): * bindings/js/JSSVGPathSegListCustom.cpp: (WebCore::JSSVGPathSegList::clear): (WebCore::JSSVGPathSegList::initialize): (WebCore::JSSVGPathSegList::getItem): (WebCore::JSSVGPathSegList::insertItemBefore): (WebCore::JSSVGPathSegList::replaceItem): (WebCore::JSSVGPathSegList::removeItem): (WebCore::JSSVGPathSegList::appendItem): * bindings/js/JSSVGPointListCustom.cpp: (WebCore::finishGetter): (WebCore::finishSetter): (WebCore::finishSetterReadOnlyResult): (WebCore::JSSVGPointList::clear): (WebCore::JSSVGPointList::initialize): (WebCore::JSSVGPointList::getItem): (WebCore::JSSVGPointList::insertItemBefore): (WebCore::JSSVGPointList::replaceItem): (WebCore::JSSVGPointList::removeItem): (WebCore::JSSVGPointList::appendItem): * bindings/js/JSSVGTransformListCustom.cpp: (WebCore::finishGetter): (WebCore::finishSetter): (WebCore::finishSetterReadOnlyResult): (WebCore::JSSVGTransformList::clear): (WebCore::JSSVGTransformList::initialize): (WebCore::JSSVGTransformList::getItem): (WebCore::JSSVGTransformList::insertItemBefore): (WebCore::JSSVGTransformList::replaceItem): (WebCore::JSSVGTransformList::removeItem): (WebCore::JSSVGTransformList::appendItem): * bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::nameGetter): (WebCore::JSStorage::deleteProperty): (WebCore::JSStorage::customPut): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS): * bindings/js/JSStyleSheetListCustom.cpp: (WebCore::JSStyleSheetList::nameGetter): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::parentNode): (WebCore::JSTreeWalker::firstChild): (WebCore::JSTreeWalker::lastChild): (WebCore::JSTreeWalker::nextSibling): (WebCore::JSTreeWalker::previousSibling): (WebCore::JSTreeWalker::previousNode): (WebCore::JSTreeWalker::nextNode): * bindings/js/JSWorkerContextBase.cpp: (WebCore::JSWorkerContextBase::put): * bindings/js/JSWorkerContextBase.h: * bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::self): (WebCore::JSWorkerContext::setSelf): (WebCore::JSWorkerContext::addEventListener): (WebCore::JSWorkerContext::removeEventListener): * bindings/js/JSWorkerCustom.cpp: (WebCore::JSWorker::addEventListener): (WebCore::JSWorker::removeEventListener): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::open): (WebCore::JSXMLHttpRequest::setRequestHeader): (WebCore::JSXMLHttpRequest::send): (WebCore::JSXMLHttpRequest::getResponseHeader): (WebCore::JSXMLHttpRequest::overrideMimeType): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener): (WebCore::JSXMLHttpRequest::responseText): * bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener): * bindings/js/JSXSLTProcessorCustom.cpp: (WebCore::JSXSLTProcessor::importStylesheet): (WebCore::JSXSLTProcessor::transformToFragment): (WebCore::JSXSLTProcessor::transformToDocument): (WebCore::JSXSLTProcessor::setParameter): (WebCore::JSXSLTProcessor::getParameter): (WebCore::JSXSLTProcessor::removeParameter): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction): (WebCore::ScheduledAction::execute): * bindings/js/ScheduledAction.h: * bindings/js/ScriptCallStack.cpp: (WebCore::ScriptCallStack::ScriptCallStack): (WebCore::ScriptCallStack::initialize): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::createScriptObjectForPluginElement): * bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::getString): (WebCore::ScriptValue::isNull): (WebCore::ScriptValue::isUndefined): * bindings/js/ScriptValue.h: (WebCore::ScriptValue::ScriptValue): (WebCore::ScriptValue::jsValue): * bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject webScriptValueAtIndex:]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bindings/objc/WebScriptObjectPrivate.h: * bindings/scripts/CodeGeneratorJS.pm: * bridge/NP_jsobject.cpp: (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_HasMethod): (_NPN_Construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue): (JSC::Bindings::CInstance::stringValue): (JSC::Bindings::CInstance::numberValue): (JSC::Bindings::CInstance::booleanValue): (JSC::Bindings::CInstance::valueOf): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance): (JSC::Bindings::CField::setValueToInstance): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): * bridge/c/c_utility.h: * bridge/jni/jni_instance.cpp: (JavaInstance::stringValue): (JavaInstance::numberValue): (JavaInstance::booleanValue): (JavaInstance::invokeMethod): (JavaInstance::defaultValue): (JavaInstance::valueOf): * bridge/jni/jni_instance.h: * bridge/jni/jni_jsobject.h: * bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): (JavaJSObject::getMember): (JavaJSObject::getSlot): (JavaJSObject::convertValueToJObject): (JavaJSObject::convertJObjectToValue): * bridge/jni/jni_objc.mm: (JSC::Bindings::dispatchJNICall): * bridge/jni/jni_runtime.cpp: (JavaArray::convertJObjectToArray): (JavaField::dispatchValueFromInstance): (JavaField::valueFromInstance): (JavaField::dispatchSetValueToInstance): (JavaField::setValueToInstance): (JavaArray::setValueAt): (JavaArray::valueAt): * bridge/jni/jni_runtime.h: * bridge/jni/jni_utility.cpp: (JSC::Bindings::convertArrayInstanceToJavaArray): (JSC::Bindings::convertValueToJValue): * bridge/jni/jni_utility.h: * bridge/objc/WebScriptObject.h: * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField): (ObjcInstance::defaultValue): (ObjcInstance::stringValue): (ObjcInstance::numberValue): (ObjcInstance::booleanValue): (ObjcInstance::valueOf): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructure): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance): (JSC::Bindings::ObjcArray::setValueAt): (JSC::Bindings::ObjcArray::valueAt): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): * bridge/runtime.cpp: (JSC::Bindings::Instance::getValueOfField): (JSC::Bindings::Instance::setValueOfField): * bridge/runtime.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::getValueOfUndefinedField): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::valueOf): * bridge/runtime_array.cpp: (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::indexGetter): (JSC::RuntimeArray::put): * bridge/runtime_array.h: (JSC::RuntimeArray::createStructure): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::callRuntimeMethod): * bridge/runtime_method.h: (JSC::RuntimeMethod::createStructure): * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::fallbackObjectGetter): (JSC::RuntimeObjectImp::fieldGetter): (JSC::RuntimeObjectImp::methodGetter): (JSC::RuntimeObjectImp::put): (JSC::RuntimeObjectImp::defaultValue): (JSC::callRuntimeObject): (JSC::callRuntimeConstructor): * bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructure): * inspector/InspectorController.cpp: * inspector/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::evaluate): * inspector/JavaScriptCallFrame.h: * inspector/JavaScriptProfile.cpp: (WebCore::toJS): * inspector/JavaScriptProfile.h: * inspector/JavaScriptProfileNode.cpp: (WebCore::toJS): * inspector/JavaScriptProfileNode.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): 2009-01-06 Pierre-Olivier Latour Reviewed by Darin Adler. Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT. https://bugs.webkit.org/show_bug.cgi?id=23126 Test: animations/animation-controller-drt-api.html * WebCore.base.exp: * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): (WebCore::AnimationController::numberOfActiveAnimations): * page/animation/AnimationController.h: * page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations): (WebCore::CompositeAnimation::numberOfActiveAnimations): * page/animation/CompositeAnimation.h: 2009-01-06 Eric Seidel Reviewed by Gavin Barraclough. Upstream 3 more files to get the WebCore-Chromium build a bit further. * WebCore.scons: * page/chromium/AccessibilityObjectChromium.cpp: Added. (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): * page/chromium/AccessibilityObjectWrapper.h: Added. (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper): (WebCore::AccessibilityObjectWrapper::attached): (WebCore::AccessibilityObjectWrapper::accessibilityObject): (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): * platform/chromium/PasteboardPrivate.h: Added. (WebCore::PasteboardPrivate::): 2009-01-06 Chris Marrin Reviewed by David Hyatt. Tests: animations/simultaneous-start-left.html animations/simultaneous-start-transform.html Fixed https://bugs.webkit.org/show_bug.cgi?id=22870 I added calls beginAnimationUpdate() and endAnimationUpdate() calls to AnimationController. These are called by Document at the start and end of the recalcStyle cycle. Right now, I'm just using the beginAnimationUpdate() method to reset an animation time value. The first time the animation time is accessed after this reset I set it to the currentTime. So all animations in that cycle get the same start time. The test cases checked in test this, but in the case of the 'left' test it actually doesn't make any difference in most cases. This is because values are clamped to whole pixels, so the start times would have to be pretty far off for the test to fail using the old currentTime() model. Still, under really heavy load, it's possible for the test to fail without these changes. The 'transform' test is another story. It animates to the full resolution of a floating point number, so the test fails miserably without this fix. * dom/Document.cpp: (WebCore::Document::recalcStyle): * page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::fireAnimationEventsIfNeeded): (WebCore::AnimationBase::willNeedService): (WebCore::AnimationBase::progress): (WebCore::AnimationBase::goIntoEndingOrLoopingState): (WebCore::AnimationBase::beginAnimationUpdateTime): * page/animation/AnimationBase.h: * page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime): (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): (WebCore::AnimationController::updateAnimations): (WebCore::AnimationController::beginAnimationUpdateTime): (WebCore::AnimationController::beginAnimationUpdate): (WebCore::AnimationController::endAnimationUpdate): * page/animation/AnimationController.h: * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::animate): 2009-01-06 Julien Chaffraix Reviewed by Nikolas Zimmermann. Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions https://bugs.webkit.org/show_bug.cgi?id=22858 I had introduced an awkward situation using hasCustomJSWrapper and sometimes boolean parameter in order to ensure JS wrapper generated once or header included once. Simplified the code by using a %seenTag hash to detect multiple definitions or inclusions and skipping it. Also cleaned up a bit make_names.pl by using more explicit names and moving code to where it belongs. * dom/make_names.pl: * html/HTMLTagNames.in: Necessary changes that were not detected by the previous syntax but will be required for autogenerating HTMLElementFactory. 2009-01-06 Anders Carlsson Reviewed by Sam Weinig. Add a way for frame loader clients to always create a PluginDocument, regardless of the real document MIME type. * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::shouldUsePlugin): * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldUsePluginDocument): 2009-01-06 Dean Jackson Reviewed by Dave Hyatt. Extend Media Queries to cover transitions, animations, transform-2d and transform-3d http://webkit.org/specs/MediaQueriesExtensions.html Note that the implementation uses -webkit- prefixes even though the spec doesn't have them. https://bugs.webkit.org/show_bug.cgi?id=22494 Tests: fast/media/mq-animation.html fast/media/mq-transform-01.html fast/media/mq-transform-02.html fast/media/mq-transform-03.html fast/media/mq-transform-04.html fast/media/mq-transition.html * css/MediaFeatureNames.h: * css/MediaQueryEvaluator.cpp: (WebCore::animationMediaFeatureEval): (WebCore::transitionMediaFeatureEval): (WebCore::transform_2dMediaFeatureEval): (WebCore::transform_3dMediaFeatureEval): 2009-01-06 Eric Seidel Reviewed by Oliver Hunt. Bring the Chromium-WebCore build closer to building by upstreaming PlatformWidget.h add adding the JSC plugin bridge files to the build. * WebCore.scons: * platform/chromium/PlatformWidget.h: Added. 2009-01-06 Eric Seidel Build fix only, no review. Bring the Chromium-WebCore build back closer to building by adding files from recent commits. * WebCore.scons: 2009-01-06 Alexey Proskuryakov Reviewed by Darin Adler. REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data) I could not reproduce the slowdown on my PowerPC test machine, but the change should bring performance back. * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic. Prior to r39465, it was only used for cached converters, which was necessary because the first access to ICU or TEC one could happen on a secondary thread, but now they are all initialized from ThreadGlobalData constructor. 2009-01-06 David Smith Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23129 Devirtualize Node::childNodes(). 2009-01-06 Simon Hausmann Unreviewed build fix. Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was added in Qt 4.5. * platform/qt/CookieJarQt.cpp: (WebCore::setCookies): (WebCore::cookies): 2009-01-06 Zalan Bujtas Reviewed by David Kilzer. https://bugs.webkit.org/show_bug.cgi?id=23133 Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG) NOTE: Property name fixes landed as part of r39648. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EPointerEvents): * css/CSSPropertyNames.in: * css/SVGCSSPropertyNames.in: 2009-01-06 David Kilzer BUILD FIX (r39634): Fix build for non-SVG builds (Wx) * css/CSSPropertyNames.in: Added 'pointer-events'. * css/SVGCSSPropertyNames.in: Commented out pointer-events since it's now a plain CSS property. 2009-01-06 Simon Hausmann Reviewed by Lars Knoll. Added support for HTTP-only cookies to the Qt build. * platform/qt/CookieJarQt.cpp: (WebCore::setCookies): Don't set HTTP-only cookies through the DOM. (WebCore::cookies): Don't return HTTP-only cookies to the DOM. 2009-01-05 David Smith Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=23084 Avoid redundant AtomicString conversions * dom/Node.cpp: Create an AtomicString early to avoid converting twice (WebCore::Node::getElementsByTagNameNS): * dom/QualifiedName.h: Use the appropriate AtomicString constructor instead of converting from a String 2009-01-05 Simon Fraser Reviewed by Dave Hyatt https://bugs.webkit.org/show_bug.cgi?id=22985 Add an assertion that clip rects are being used when painting with the same rootLayer that they were computed with. Fix two issues detected by the assertion: RenderLayer::updateClipRects() should not unconditionally update the clip rects on its parent, but stop when reaching rootLayer (just like calculateClipRects()). We need to pass the temporaryClipRects flag down through reflection painting to handle the case of nested reflections. Also use temporary clip rects in RenderTreeAsText, since that code does not reset the painting root for transformed layers, so cached clip rects will not match those used for painting. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::clearClipRects): * rendering/RenderLayer.h: * rendering/RenderTreeAsText.cpp: (WebCore::writeLayers): 2009-01-05 Adam Treat Fix the Qt build * platform/graphics/qt/AffineTransformQt.cpp: (WebCore::TransformationMatrix::TransformationMatrix): 2009-01-05 Mark Rowe Fix the build some more. * platform/graphics/cairo/AffineTransformCairo.cpp: (WebCore::TransformationMatrix::TransformationMatrix): 2009-01-05 Oliver Hunt Reviewed by NOBODY (Build fix). Fix Cairo/Gtk build * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::putImageData): 2009-01-05 Dean Jackson Reviewed by Darin Adler. Rename AffineTransform to TransformationMatrix in preparation for future enhancements (non-affine matrices) https://bugs.webkit.org/show_bug.cgi?id=22943 * GNUmakefile.am: * WebCore.pro: * WebCore.scons: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * platform/graphics/transforms/AffineTransform.cpp: Removed. * platform/graphics/transforms/AffineTransform.h: Removed. * platform/graphics/transforms/TransformationMatrix.cpp: Copied from WebCore/platform/graphics/transforms/AffineTransform.cpp. * platform/graphics/transforms/TransformationMatrix.h: Copied from WebCore/platform/graphics/transforms/AffineTransform.h. * lots of other files with s/AffineTransform/TransformationMatrix/g 2008-01-05 Dean Jackson Reviewed by David Hyatt. Implement 'pointer-events' for HTML content. This involved adding a new value 'auto' which behaves as 'visiblePainted' in SVG content. Moved the property out of the SVG CSS code and into the general CSS (both parsing and RenderStyle). Changes to the hit testing functionality of the Render tree, specifically the nodeAtPoint methods. Where they used to test for visibility, they now use a helper function defined on base classes (RenderObject and InlineBox) that checks both visibility and pointer-events. https://bugs.webkit.org/show_bug.cgi?id=11395 Tests: fast/events/pointer-events-2.html fast/events/pointer-events.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EPointerEvents): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): * css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty): * manual-tests/pointer-events.html: Added. * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint): * rendering/InlineBox.h: (WebCore::InlineBox::visibleToHitTesting): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::nodeAtPoint): * rendering/PointerEventsHitRules.cpp: (WebCore::PointerEventsHitRules::PointerEventsHitRules): * rendering/PointerEventsHitRules.h: (WebCore::PointerEventsHitRules::): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): * rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint): * rendering/RenderObject.h: (WebCore::RenderObject::visibleToHitTesting): * rendering/RenderPath.cpp: (WebCore::RenderPath::nodeAtPoint): * rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::nodeAtPoint): * rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::nodeAtPoint): * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::nodeAtPoint): * rendering/TextControlInnerElements.cpp: (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): * rendering/style/RenderStyle.h: (WebCore::): (WebCore::InheritedFlags::setBitDefaults): (WebCore::InheritedFlags::pointerEvents): (WebCore::InheritedFlags::setPointerEvents): (WebCore::InheritedFlags::initialPointerEvents): * rendering/style/RenderStyleConstants.h: (WebCore::): * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * css/CSSValueKeywords.in: * css/SVGCSSValueKeywords.in: 2009-01-05 Oliver Hunt Reviewed by NOBODY (Build fix). Fix Cairo/Gtk build * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::getImageData): 2009-01-05 Oliver Hunt Reviewed by Gavin Barraclough. CanvasPixelArray performance is too slow Remove the WebCore CanvasPixelArray implementation and replace CPA usage with JSC::ByteArray. Replace the JSCanvasPixelArray wrapper with an explicitly instantiated JSByteArray put on the JSImageData object as an ordinary ReadOnly, DontDelete property. * DerivedSources.make: * ForwardingHeaders/runtime/ByteArray.h: Added. * ForwardingHeaders/runtime/JSByteArray.h: Added. * GNUmakefile.am: * WebCore.pro: * WebCore.scons: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCanvasPixelArrayCustom.h: Removed. * bindings/js/JSImageDataCustom.cpp: (WebCore::toJS): * html/CanvasPixelArray.cpp: Removed. * html/CanvasPixelArray.h: Removed. * html/CanvasPixelArray.idl: Removed. * html/CanvasRenderingContext2D.cpp: (WebCore::createEmptyImageData): * html/ImageData.cpp: (WebCore::ImageData::ImageData): * html/ImageData.h: (WebCore::ImageData::data): * html/ImageData.idl: * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData): 2009-01-05 Adam Treat Reviewed by George Staikos. Add notification for contentsSizeChanged which the Qt API will introduce. * loader/EmptyClients.h: (WebCore::EmptyChromeClient::contentsSizeChanged): * page/Chrome.cpp: (WebCore::Chrome::contentsSizeChanged): * page/Chrome.h: * page/ChromeClient.h: * page/FrameView.cpp: (WebCore::FrameView::setContentsSize): * page/FrameView.h: * platform/HostWindow.h: * platform/ScrollView.h: 2009-01-05 Anders Carlsson Build fix. * plugins/PluginView.h: (WebCore::PluginManualLoader::~PluginManualLoader): 2009-01-05 Anders Carlsson Reviewed by Kevin Decker. Add an abstract PluginManualLoader class and make PluginView inherit from it. Add some error checking that currently exists in WebKit (but not for long!) * plugins/PluginView.cpp: (WebCore::PluginView::didReceiveResponse): (WebCore::PluginView::didReceiveData): (WebCore::PluginView::didFinishLoading): (WebCore::PluginView::didFail): * plugins/PluginView.h: 2009-01-05 Adam Treat Reviewed by George Staikos. Fixes FrameView to respect the state of scrollbarmode when it is explicitly set programatically via a webkit API. * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): * loader/FrameLoaderClient.h: * page/FrameView.cpp: (WebCore::FrameView::initScrollbars): (WebCore::FrameView::updateDefaultScrollbarState): * page/FrameView.h: 2009-01-05 Darin Adler Reviewed by Dan Bernstein. Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly https://bugs.webkit.org/show_bug.cgi?id=23109 Test: fast/text/find-backwards.html * editing/TextIterator.cpp: (WebCore::SearchBuffer::append): Fix incorrect size passed to memcpy. (WebCore::SearchBuffer::search): Handle case where we have an empty buffer but we're at a break; must not try to search because ICU will give us an error. Fix incorrect size passed to memcpy and memmove. (WebCore::findPlainText): Fix case where we found a match and need to search again because we want to find the last match. We need to try again without adding any more text or handling the break before moving on. 2009-01-05 Adam Treat Fix the Qt build * bridge/runtime_object.cpp: (JSC::RuntimeObjectImp::put): 2009-01-05 Alexey Proskuryakov Reviewed by Sam Weinig. Fix platforms that don't have Workers enabled. * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Create ThreadGlobalData in two stages, so that EventNames constructor can access the just-created atomic string table. This matches what happens in ThreadSpecific case. 2009-01-05 Alexey Proskuryakov Suggested by Dave Levin. Mac release build fix. * WebCore.base.exp: Remove ThreadGlobalData::eventNames(), which is now inline. 2009-01-05 Darin Adler * dom/Document.cpp: Fix build. Oops again. 2009-01-05 Darin Adler Reviewed by Anders Carlsson. Fix hang whenever following an anchor. * dom/Document.cpp: (WebCore::Document::findAnchor): Oops! 2009-01-05 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23073 Workers crash on Windows Release builds * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData): * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::eventNames): Now that ThreadSpecific sets up the pointer before invoking data constructor, we can initialize EventNames right away. 2009-01-05 Darin Adler Reviewed by Anders Carlsson. Bug 23106: HTMLFormCollection::namedItem ignores caseSensitive argument https://bugs.webkit.org/show_bug.cgi?id=23106 This led me to a bunch of dead code. It turns out that HTML collections were carrying the case-insensitive code just so they could be used to find anchors, something we can do more simply and efficiently without creating a DOM HTMLCollection object. No behavior change. Just adding a new function findAnchor function and removing some dead code. * dom/Document.cpp: (WebCore::Document::findAnchor): Added. * dom/Document.h: Ditto. * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::accessKey): Take and return AtomicString references for better efficiency. (WebCore::HTMLAnchorElement::setAccessKey): Ditto. (WebCore::HTMLAnchorElement::charset): Ditto. (WebCore::HTMLAnchorElement::setCharset): Ditto. (WebCore::HTMLAnchorElement::coords): Ditto. (WebCore::HTMLAnchorElement::setCoords): Ditto. (WebCore::HTMLAnchorElement::setHref): Ditto. (WebCore::HTMLAnchorElement::hreflang): Ditto. (WebCore::HTMLAnchorElement::setHreflang): Ditto. (WebCore::HTMLAnchorElement::name): Ditto. (WebCore::HTMLAnchorElement::setName): Ditto. (WebCore::HTMLAnchorElement::rel): Ditto. (WebCore::HTMLAnchorElement::setRel): Ditto. (WebCore::HTMLAnchorElement::rev): Ditto. (WebCore::HTMLAnchorElement::setRev): Ditto. (WebCore::HTMLAnchorElement::shape): Ditto. (WebCore::HTMLAnchorElement::setShape): Ditto. (WebCore::HTMLAnchorElement::setTarget): Ditto. (WebCore::HTMLAnchorElement::type): Ditto. (WebCore::HTMLAnchorElement::setType): Ditto. * html/HTMLAnchorElement.h: Ditto. * html/HTMLCollection.cpp: (WebCore::HTMLCollection::checkForNameMatch): Changed argument to an AtomicString and removed the caseSensitive boolean, since we're now always case sensitive. (WebCore::HTMLCollection::namedItem): Ditto. (WebCore::HTMLCollection::nextNamedItem): Ditto. * html/HTMLCollection.h: Ditto. * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::getNamedItem): Ditto. (WebCore::HTMLFormCollection::getNamedFormItem): Ditto. (WebCore::HTMLFormCollection::nextNamedItemInternal): Ditto. (WebCore::HTMLFormCollection::namedItem): Ditto. (WebCore::HTMLFormCollection::nextNamedItem): Ditto. * html/HTMLFormCollection.h: Ditto. * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::namedItem): Ditto. * html/HTMLSelectElement.h: Ditto. * loader/FrameLoader.cpp: (WebCore::FrameLoader::gotoAnchor): Use the new findAnchor function. * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::internalLinkElement): Ditto. 2009-01-05 Darin Adler Reviewed by Anders Carlsson. Bug 23104: minor mistakes in init functions for animation and transition events https://bugs.webkit.org/show_bug.cgi?id=23104 Test: fast/events/init-events.html Also fixed two StorageEvent problems the test case uncovered: Made document.createEvent("StorageEvent") work. Allow null values for StorageEvent.oldValue and StorageEvent.newValue. * dom/Document.cpp: (WebCore::Document::createEvent): Sorted alphabetically by the name of the event class. Added StorageEvent. * dom/UIEvent.idl: Fixed typo in a comment. * dom/WebKitAnimationEvent.cpp: (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): Use all the arguments. * dom/WebKitTransitionEvent.cpp: (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): Ditto. * storage/StorageEvent.idl: Use the ConvertNullToNullString keyword on the arguments to initStorageEvent so it can create events with null values for the oldValue and newValue, just like the real storage events. Note that the properties already had ConvertNullStringTo=Null, so this is just the other half of that. 2009-01-05 Darin Adler Reviewed by Alexey Proskuryakov. Bug 23102: turn on unused parameter warnings in WebCore https://bugs.webkit.org/show_bug.cgi?id=23102 First step: Fix the simple cases where we can just remove an argument name. Also made a few more things protected and private. * many files 2009-01-05 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23115 Create a version of ASSERT for use with otherwise unused variables * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion): Use the new ASSERT_UNUSED macro. 2009-01-05 Alexey Proskuryakov Non-Mac build fix. * loader/appcache/ApplicationCacheStorage.cpp: Include wtf/StringExtras.h for snprintf. 2009-01-05 Adam Treat Reviewed by George Staikos. Remove unnecessary methods from EmptyFrameLoaderClient * loader/EmptyClients.h: 2009-01-05 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=23077 Make application cache use SQLite built-in user_version * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion): Changed to track versions with PRAGMA user_version. * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::): Used the occasion to get rid of the hole in bitmask that was a leftover from opportunistic cache entries. 2009-01-04 David Smith Reviewed by Oliver Hunt. https://bugs.webkit.org/show_bug.cgi?id=23084 Avoid redundant AtomicString conversions * dom/Node.cpp: (WebCore::Node::getElementsByTagName): Pass starAtom instead of "*" (WebCore::Node::getElementsByTagNameNS): Take an AtomicString for the namespace URI (WebCore::Node::isDefaultNamespace): Ditto (WebCore::Node::lookupPrefix): Ditto (WebCore::Node::lookupNamespacePrefix): Ditto * dom/Node.h: Ditto 2009-01-04 Darin Adler Reviewed by Oliver Hunt. Bug 23105: canvas setFillColor function ignores alpha argument https://bugs.webkit.org/show_bug.cgi?id=23105 Test: fast/canvas/set-colors.html * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead of ignoring it and always passing 1. * html/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments. (WebCore::CanvasStyle::applyFillColor): Ditto. 2009-01-04 Darin Adler Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors https://bugs.webkit.org/show_bug.cgi?id=23086 * editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile in the new search path if it's 0. 2009-01-04 David Kilzer Don't install *.idl and *.in files as resources Reviewed by Oliver Hunt. Don't install these files as resources in the WebCore framework: - WMLAttributeNames.in - WMLTagNames.in - WorkerContext.idl - WorkerLocation.idl - WorkerNavigator.idl * WebCore.xcodeproj/project.pbxproj: Removed resources. 2009-01-04 Simon Fraser Reviewed by Darin Adler https://bugs.webkit.org/show_bug.cgi?id=23090 If an object gets a Layout hint, and the style change will result in the creation of a RenderLayer, then we need to repaint the old position of the object. This was done for transform, but we have to test opacity too. Test: fast/repaint/create-layer-repaint.html * rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange): 2009-01-04 Darin Adler Reviewed by Dan Bernstein. Bug 23103: Safari's auto-fill no longer works for