diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 5758 |
1 files changed, 5758 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index e0d5843..79eb390 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,5761 @@ +2010-07-21 Bo Liu <boliu@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Add chromium WebMediaPlayer to PlatformMedia + https://bugs.webkit.org/show_bug.cgi?id=41295 + + * platform/graphics/MediaPlayer.h: + (WebCore::PlatformMedia::): + +2010-07-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Anders Carlsson. + + Composited layers don't scroll in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=42771 + + Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck, + but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets + scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget(). + + * WebCore.exp.in: + * page/FrameView.cpp: + (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): + * page/FrameView.h: + +2010-07-21 Peter Beverloo <peter@lvp-media.com> + + Reviewed by Eric Carlson. + + Removed support for the -khtml CSS vendor prefix and limit the + -apple prefix to two properties (dashboard-region and line-clamp). + + Test: fast/css/limited-vendor-prefix-behavior.html + + * css/CSSParser.cpp: + (WebCore::cssPropertyID): + +2010-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Fix the last tree HTML5 tree builder crashes + https://bugs.webkit.org/show_bug.cgi?id=42773 + + This patch changes the internal representation of a bookmark to handle + the case where one of the adjecent entries in the list of active + formatting elements is actually a marker. + + After this patch, the bookmarking mechanism isn't as general, but it + works for the cases we need in the adoption agency. + + Also, after this patch, there aren't any more known crashers in the + HTML5 tree builder. :) + + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::bookmarkFor): + (WebCore::HTMLFormattingElementList::swapTo): + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::Bookmark::Bookmark): + (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter): + (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved): + (WebCore::HTMLFormattingElementList::Bookmark::mark): + (WebCore::HTMLFormattingElementList::first): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-21 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed build fix. + + Disable overzealous ASSERT + https://bugs.webkit.org/show_bug.cgi?id=42775 + + No new tests because no changed functionality. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + +2010-07-21 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Darin Adler. + + Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired() + https://bugs.webkit.org/show_bug.cgi?id=42534 + + Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page. + Calling it from the destructor of Frame is too late and sometimes causes access violation. + I was not able to reproduce this crash, so did not add new tests. + This patch is based on the error reported in + http://code.google.com/p/chromium/issues/detail?id=49323. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::pageDestroyed): + * page/DOMWindow.h: + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + +2010-07-21 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Don't assert when clicking on a plug-in in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=42762 + + Remove a now invalid assert and return false instead. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMouseDownEventToWidget): + +2010-07-21 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved. + https://bugs.webkit.org/show_bug.cgi?id=42766 + + See http://code.google.com/p/chromium/issues/detail?id=48804 for more details. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::namedItemAdded): + (WebCore::ScriptController::namedItemRemoved): + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::updateDocumentWrapperCache): + * bindings/v8/V8DOMWindowShell.h: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::namedPropertyDeleter): + (WebCore::V8HTMLDocument::namedPropertyGetter): + (WebCore::V8HTMLDocument::indexedPropertyGetter): + (WebCore::V8HTMLDocument::allAccessorSetter): + (WebCore::toV8): + +2010-07-21 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Update plug-in proxy backed <video> and <audio> elements. + https://bugs.webkit.org/show_bug.cgi?id=42770 + <rdar://problem/7963467> + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when + the 'controls' attribute changes. + (WebCore::HTMLMediaElement::createRenderer): + (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's + 'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the + plug-in's view to the global list of plugin views. + (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL + + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method. + (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto. + + * loader/FrameLoader.cpp: + * loader/FrameLoaderClient.h: + * loader/SubframeLoader.cpp: + (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(), + even when we don't have a renderer. + (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin. + (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::NullMediaPlayerPrivate::setControls): + (WebCore::MediaPlayer::setControls): New, pass through to media engine. + (WebCore::MediaPlayer::enterFullscreen): Ditto. + (WebCore::MediaPlayer::exitFullscreen): Ditto. + * platform/graphics/MediaPlayer.h: + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::setControls): + (WebCore::MediaPlayerPrivateInterface::enterFullscreen): + (WebCore::MediaPlayerPrivateInterface::exitFullscreen): + +2010-07-21 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Make more members of CSSStyleSelector private. + https://bugs.webkit.org/show_bug.cgi?id=42757 + + No change in behavior, so no new tests. + + * css/CSSStyleSelector.h: Made a publicly-unused methods private. + +2010-07-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: consider jQuery object to be of array nature. + + https://bugs.webkit.org/show_bug.cgi?id=42758 + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-07-21 Alexey Proskuryakov <ap@apple.com> + + Unreviewed Windows build fix. + + https://bugs.webkit.org/show_bug.cgi?id=42717 + <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore + credential storage, and is sent with subsequent requests + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a + copy/paste, oops! + +2010-07-21 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects + https://bugs.webkit.org/show_bug.cgi?id=42662 + + If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we + need to flip the rects passed to setNeedsDisplayInRect:. + + Avoid writing this code twice by making a bare function to share code + between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext: + class method into a bare function, because the Obj-C calling overhead doesn't buy us anything. + + Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not + correct. + + No new tests because no layers use bottom-up contents at present. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::updateContentsTransform): + * platform/graphics/mac/WebLayer.h: + * platform/graphics/mac/WebLayer.mm: + (drawLayerContents): + (setLayerNeedsDisplayInRect): + (-[WebLayer setNeedsDisplayInRect:]): + (-[WebLayer drawInContext:]): + * platform/graphics/mac/WebTiledLayer.mm: + (-[WebTiledLayer setNeedsDisplayInRect:]): + (-[WebTiledLayer drawInContext:]): + +2010-07-20 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42717 + <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore + credential storage, and is sent with subsequent requests + + Tests: http/tests/security/401-logout/401-logout.php + http/tests/xmlhttprequest/remember-bad-password.html + + * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove): + * platform/network/CredentialStorage.h: + Added a way to remove stored credentials for a given protection space. + + * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): + * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): + Remove stored credentials if they didn't work the first time. + +2010-07-20 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + WebKit on Windows should build optionally with an unversioned ICU DLL + https://bugs.webkit.org/show_bug.cgi?id=42722 + <rdar://problem/8211767> WebKit needs to link against unversioned ICU + + To get the proper value for U_DISABLE_RENAMING into all source files, we force + the include of ICUVersion.h (our generated header) via the compiler options. + + * WebCore.vcproj/WebCore.vcproj: + Add forced include of ICUVersion.h. + * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h. + +2010-07-21 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + WebInspector: Serialization to JSON in InspectorValue works incorrect + if comma is assigned as decimal separator. Windows with Russian locale. + https://bugs.webkit.org/show_bug.cgi?id=42755 + + * inspector/InspectorValues.cpp: + (WebCore::InspectorBasicValue::writeJSON): + +2010-07-20 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + CSS rotation transform can cause elements with certain styles to vanish during rotation. + https://bugs.webkit.org/show_bug.cgi?id=42579 + + Remove some untested, broken code that, as far as I can tell, could never get hit. + Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden + but a border paint correctly. + + Test: compositing/overflow/zero-size-overflow.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintIntoLayer): + +2010-07-21 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Laszlo Gombos. + + [QT] Leak and few more fixes to qt port of geolocation + https://bugs.webkit.org/show_bug.cgi?id=42753 + + Fixes memory leak and default values set to attributes. + + Memory leak fix no new test case added. + + * platform/qt/GeolocationServiceQt.cpp: Added. + (WebCore::GeolocationServiceQt::~GeolocationServiceQt): + (WebCore::GeolocationServiceQt::positionUpdated): + +2010-07-21 Kristian Amlie <kristian.amlie@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Added automatic sqlite extraction for Symbian to QtWebKit. + + Also added sqlite detection in case sqlite is not present in the SDK. + This is possible if WebKit is compiled standalone. + + The inclusion part is a consequence of commit c578c6c1d6d in the Qt + repository. It will not work on Qt versions < 4.7.1, but that is ok, + since the only build system it will affect is marked as experimental + in the whole 4.7 series. + + * WebCore.pro: + +2010-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Associate elements with the active form + https://bugs.webkit.org/show_bug.cgi?id=42728 + + This patch fixes fast/forms/formmove3.html. The test still doesn't + pass due to some render tree differences, but it works as intended now. + + To fix this test, I needed to deviate from the spec slight. Minefield + seems to have the same deviation: + - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216 + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::takeForm): + (WebCore::HTMLConstructionSite::setForm): + (WebCore::HTMLConstructionSite::createHTMLElement): + * html/HTMLConstructionSite.h: + (WebCore::HTMLConstructionSite::form): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInBody): + +2010-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + The adoption agency doesn't properly attach() + https://bugs.webkit.org/show_bug.cgi?id=42727 + + The adoption agency is transliterated rather directly from the spec, + but it misses some of the WebKit-specific machinations, such as + attaching to the render tree. + + The algorithm, as written, is a minor layer violation. I've added to + the problem by calling attach() from HTMLTreeBuilder (even though + that's the job of the HTMLConstructionSite). We'll need to clean up + the layering a bit at some point. + + This patch half fixes fast/forms/formmove3.html. Hopefully I'll finish + fixing it in the next patch. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + <input> elements with no type attribute should be foster parented + https://bugs.webkit.org/show_bug.cgi?id=42725 + + Fix spec transcription error. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + +2010-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Fix fast/css/last-child-style-sharing.html + https://bugs.webkit.org/show_bug.cgi?id=42731 + + Prior to this patch, we weren't calling finishParsingChildren on the + body element. We need a more systematic way of catching these bugs. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::popAll): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-21 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + Runtime feature switch for device orientation + https://bugs.webkit.org/show_bug.cgi?id=42265 + + Add a runtime feature switch that decides whether device orientation + events are available or not. Defaults to true. + + * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path. + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled): + (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled): + (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled): + (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + * page/DOMWindow.idl: + * page/Page.cpp: + (WebCore::Page::Page): + +2010-07-21 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed Nikolas Zimmermann. + + SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change + https://bugs.webkit.org/show_bug.cgi?id=42244 + + The implementation was done by Nikolas Zimmermann before, but + there was no tests for it. The patch also implements the simple + setFilterRes method. + + Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html + svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html + svg/dynamic-updates/SVGFilterElement-dom-height-attr.html + svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html + svg/dynamic-updates/SVGFilterElement-dom-width-attr.html + svg/dynamic-updates/SVGFilterElement-dom-x-attr.html + svg/dynamic-updates/SVGFilterElement-dom-y-attr.html + svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html + svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html + svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html + + * svg/SVGFilterElement.cpp: + (WebCore::SVGFilterElement::setFilterRes): + (WebCore::SVGFilterElement::svgAttributeChanged): + (WebCore::SVGFilterElement::childrenChanged): + * svg/SVGFilterElement.h: + +2010-07-21 Ben Murdoch <benm@google.com> + + Unreviewed, build fix. + + Forgot to update the role of HitTestRequest.h in + the xcode project after landing patch from + https://bugs.webkit.org/show_bug.cgi?id=39493 + + * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h + private so it can be included in WebKit by EventHandler.h + which is already private.. + +2010-07-20 Ben Murdoch <benm@google.com> + + Reviewed by Steve Block. + + Touch events do not affect the :active CSS state + https://bugs.webkit.org/show_bug.cgi?id=39493 + + Test: fast/events/touch/touch-active-state.html + + * WebCore.exp.in: Update exports for new signature of + hitTestResultAtPoint. + * WebCore.order: ditto. + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): + (WebCore::EventHandler::hitTestResultAtPoint): Pass the type + of the hit test to perform as a parameter with a default + value rather than harcoding it in the function body. + (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify + the active element during a mouse move if the user is + touching the screen. + (WebCore::EventHandler::handleTouchEvent): Set the correct + type of hit test to perform depending on the type of the + touch event we are handling. + * page/EventHandler.h: Update the signature of hitTestResultAtPoint. + +2010-07-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + console.assert should include stack trace with line numbers. + https://bugs.webkit.org/show_bug.cgi?id=22556 + + Test: inspector/console-assert.html + + * bindings/v8/ScriptCallStack.cpp: + (WebCore::getTopFrameLocation): + (WebCore::toScriptCallFramesVector): + (WebCore::ScriptCallStack::create): + (WebCore::ScriptCallStack::ScriptCallStack): + * bindings/v8/ScriptCallStack.h: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions): + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::traceCallback): + (WebCore::V8Console::assertCallback): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addMessageToConsole): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._formatMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + * page/Console.cpp: + (WebCore::Console::lastWMLErrorMessage): + * page/Console.idl: + +2010-07-20 Rafael Antognolli <antognolli@profusion.mobi> + + Reviewed by Kent Tamura. + + [EFL] Use log functions instead of fprintf + https://bugs.webkit.org/show_bug.cgi?id=42576 + + Use LOG and LOG_ERROR instead of fprintf. + + No new tests, no new functionality. + + * platform/efl/WidgetEfl.cpp: + (WebCore::Widget::applyFallbackCursor): + +2010-07-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: the bindings generation helper script can be + simplified a bit. Chromium. + https://bugs.webkit.org/show_bug.cgi?id=42523 + + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/scripts/rule_binding.py: + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCPP.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/generate-bindings.pl: + * inspector/CodeGeneratorInspector.pm: + +2010-07-20 Steve Falkenburg <sfalken@apple.com> + + Re-save vsprops file after no-op edit in Visual Studio + to fix manual edit issues. + + * WebCore.vcproj/WebCoreCommon.vsprops: + +2010-07-20 Steve Falkenburg <sfalken@apple.com> + + Re-save vcproj file after no-op edit in Visual Studio + to fix manual edit issues. + + * WebCore.vcproj/WebCore.vcproj: + +2010-07-20 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Include attributes when reconstructing elements in HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=42594 + + Remove FIXME now that we have a test. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord): + +2010-07-20 Sam Weinig <sam@webkit.org> + + Reviewed by Brady Eidson. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42719 + Make Acid2 pass in WebKit2 + + * WebCore.exp.in: Update exported functions. + +2010-07-20 Gavin Peters <gavinp@chromium.org> + + Reviewed by Adam Barth. + + prefetch categorization is exactly wrong + https://bugs.webkit.org/show_bug.cgi?id=42651 + + While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it. + + Test: fast/dom/HTMLLinkElement/onload-completion-test.html + + * loader/CachedCSSStyleSheet.h: + * loader/CachedFont.h: + * loader/CachedImage.h: + * loader/CachedResource.cpp: + * loader/CachedResource.h: + (WebCore::CachedResource::isPrefetch): + * loader/CachedScript.h: + * loader/CachedXBLDocument.h: + * loader/CachedXSLStyleSheet.h: + +2010-07-20 James Hawkins <jhawkins@chromium.org> + + Reviewed by Darin Fisher. + + Expose the form submission trigger on the HTMLFormElement object. This + is used to verify that the user submitted the form instead of JS when + saving form data in Chrome AutoFill. + https://bugs.webkit.org/show_bug.cgi?id=42479 + + No new tests as this is only used by the Chromium WebKit API. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::HTMLFormElement): + (WebCore::HTMLFormElement::submit): + (WebCore::HTMLFormElement::reset): + (WebCore::HTMLFormElement::submissionTrigger): + * html/HTMLFormElement.h: + +2010-07-20 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Fix fast/dom/title-content-write-set.html for HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=42668 + + Address some late-breaking review comments. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::appendDataCommon): + (WebCore::CharacterData::parserAppendData): + (WebCore::CharacterData::appendData): + (WebCore::CharacterData::insertData): + (WebCore::CharacterData::replaceData): + * dom/CharacterData.h: + +2010-07-20 Daniel Erat <derat@chromium.org> + + Reviewed by Ojan Vafai. + + Subpixel rendering always disabled for Chromium Linux + https://bugs.webkit.org/show_bug.cgi?id=42220 + + Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs + flag to false for clarity. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + +2010-07-20 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Fix fast/dom/title-content-write-set.html for HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=42668 + + When I split parserAppendData from appendData, it was tempting to cut + the function at dispatchModifiedEvent, but that's not quite right. We + still need to notify the parent that it's children have changed. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::appendDataCommon): + (WebCore::CharacterData::parserAppendData): + (WebCore::CharacterData::appendData): + * dom/CharacterData.h: + +2010-07-20 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573 + https://bugs.webkit.org/show_bug.cgi?id=42652 + + When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state + which may be out of date, leading to a crash. + By using only get(), it implies that the AXTable must be created before AXTableCells. This should + always be the case when AT clients access a table. + + Test: accessibility/updating-attribute-in-table-causes-crash.html + + * accessibility/AccessibilityTableCell.cpp: + (WebCore::AccessibilityTableCell::parentTable): + +2010-07-20 Abhishek Arya <inferno@chromium.org> + + Reviewed by David Hyatt. + + Check the node is a text node before doing the static cast + for editing commands. + https://bugs.webkit.org/show_bug.cgi?id=42655 + + Test: editing/execCommand/editing-nontext-node-crash.xhtml + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::fixupWhitespace): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + +2010-07-20 Leo Yang <leo.yang@torchmobile.com.cn> + + Reviewed by David Hyatt. + + Don't merge Anonymous block whose first child is inline run-in. + Make run-in recalculate its style after its renderer is destroyed. + https://bugs.webkit.org/show_bug.cgi?id=41375. + + Test: fast/runin/crash-when-reparent-sibling.html + + * rendering/RenderBlock.cpp: + (WebCore::canMergeContiguousAnonymousBlocks): + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::destroyLeftoverChildren): + +2010-07-20 Steve Block <steveblock@google.com> + + Unreviewed Qt test fix. + + Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed. + https://bugs.webkit.org/show_bug.cgi?id=42068 + + No new tests, test fix only. + + * WebCore.pro: + +2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63764. + http://trac.webkit.org/changeset/63764 + https://bugs.webkit.org/show_bug.cgi?id=42658 + + have broken Chromium linux build (Requested by loislo on + #webkit). + + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/scripts/rule_binding.py: + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCPP.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/generate-bindings.pl: + * inspector/CodeGeneratorInspector.pm: + +2010-07-20 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + https://bugs.webkit.org/show_bug.cgi?id=41531 + Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false + + This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense. + + Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results). + + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling + the request, continue without credentials - if the platform has a necessary method on + ResourceHandle. + + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader + client for credentials if subresource loader client already took care of those. + + * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge): + * platform/network/ResourceHandle.h: + Added an accessor to check whether ResourceHandle is currently waiting for credentials. + +2010-07-20 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed build fix. + + Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder. + Add websockets include directory. + + The EFL port doesn't yet support automated tests. + + * CMakeLists.txt: + +2010-07-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: the bindings generation helper script can be + simplified a bit. Chromium. + https://bugs.webkit.org/show_bug.cgi?id=42523 + + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/scripts/rule_binding.py: + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCPP.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/generate-bindings.pl: + * inspector/CodeGeneratorInspector.pm: + +2010-07-20 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Geoffrey Garen. + + WebScriptObject Should Allow Safely Checking For Key Existence + https://bugs.webkit.org/show_bug.cgi?id=42613 + + Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html + + Add private API "hasWebScriptKey" to check for key existence in + a WebScriptObject. Like JavaScript's `in` syntax. This is intended + to be made public eventually. + + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject hasWebScriptKey:]): + * bindings/objc/WebScriptObjectPrivate.h: + +2010-07-20 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 tree builder needs to call dispatchDocumentElementAvailable + https://bugs.webkit.org/show_bug.cgi?id=42654 + + This patch fixes the follout LayoutTests with --html5-treebuilder: + - userscripts/script-not-run-for-fragments.html + - userscripts/script-run-at-start.html + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::HTMLConstructionSite): + (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded): + (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + +2010-07-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Steve Block. + + Need to be able to configure Geolocation policy regarding user permissions + https://bugs.webkit.org/show_bug.cgi?id=42068 + + Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which + acquires user permission first before starting location service + + This change does not introduce any change in behavior for any platform. So there are no new tests + added. + + * WebCore.pro: + * page/Geolocation.cpp: + (WebCore::Geolocation::startRequest): + (WebCore::Geolocation::setIsAllowed): + (WebCore::Geolocation::startUpdating): + * page/Geolocation.h: + +2010-07-20 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + HTML5 tree builder should restore form state + https://bugs.webkit.org/show_bug.cgi?id=42644 + + We need to tell self-closing tags that we're done parsing their + children. This patch fixes the following LayoutTests when run with + --html5-treebuilder: + + fast/forms/button-state-restore.html + fast/forms/state-restore-to-non-autocomplete-form.html + fast/forms/state-restore-to-non-edited-controls.html + fast/history/saves-state-after-fragment-nav.html + http/tests/navigation/restore-form-state-https.html + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): + +2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63750. + http://trac.webkit.org/changeset/63750 + https://bugs.webkit.org/show_bug.cgi?id=42648 + + This revision breaks the windows builds (Requested by + hwennborg on #webkit). + + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + * page/DOMWindow.idl: + * page/Page.cpp: + (WebCore::Page::Page): + +2010-07-20 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + WebInspector: It is possible to show full call stack instead of top frame for Caller + and Call Site properties in Timeline panel. + https://bugs.webkit.org/show_bug.cgi?id=42620 + + * English.lproj/localizedStrings.js: + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.FormattedRecord): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace): + * inspector/front-end/inspector.css: + (.timeline-details): + (.timeline-function-name): + (.timeline-stacktrace-title): + +2010-07-20 Leon Clarke <leonclarke@google.com> + + Reviewed by Pavel Feldman. + + Make things compile again when the inspector is disabled, following + recent inspector improvements. + https://bugs.webkit.org/show_bug.cgi?id=42632 + + No new tests. Fixing a build break. + + + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::stackTrace): + * inspector/InspectorController.h: + (WebCore::InspectorController::didInsertDOMNode): + (WebCore::InspectorController::didRemoveDOMNode): + (WebCore::InspectorController::didModifyDOMAttr): + * inspector/InspectorDOMAgent.h: + * loader/appcache/ApplicationCacheGroup.cpp: + +2010-07-20 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed. + https://bugs.webkit.org/show_bug.cgi?id=42634 + + Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed + when its isolated context gets GCed). However in this case, handles allocated for + such objects would never be disposed as we require presence of mapping from wrapped + WebKit object to handle being collected in the map and now map is gone. That leads to + zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8 + (both handle and V8 wrapper object could not be destroyed). + + See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion. + + * bindings/v8/DOMData.h: + (WebCore::DOMData::handleWeakObject): + * bindings/v8/DOMDataStore.cpp: + (WebCore::DOMDataStore::weakNodeCallback): + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::~WeakReferenceMap): + +2010-07-20 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + Runtime feature switch for device orientation + https://bugs.webkit.org/show_bug.cgi?id=42265 + + Add a runtime feature switch that decides whether device orientation + events are available or not. Defaults to true. + + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled): + (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled): + (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled): + (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + * page/DOMWindow.idl: + * page/Page.cpp: + (WebCore::Page::Page): + +2010-07-20 Hayato Ito <hayato@chromium.org> + + Reviewed by Darin Adler. + + Fixed a crash when deeply nested CSS selector is used. + https://bugs.webkit.org/show_bug.cgi?id=41129 + + This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow. + + Test: fast/css/css-selector-deeply-nested.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelectorBag::~CSSSelectorBag): + (WebCore::CSSSelectorBag::isEmpty): + (WebCore::CSSSelectorBag::append): + (WebCore::CSSSelectorBag::takeAny): + (WebCore::CSSSelector::~CSSSelector): + (WebCore::CSSSelector::specificity): + * css/CSSSelector.h: + +2010-07-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error + https://bugs.webkit.org/show_bug.cgi?id=42642 + + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::handler): + +2010-07-20 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63742. + http://trac.webkit.org/changeset/63742 + https://bugs.webkit.org/show_bug.cgi?id=42641 + + Broke Leopard Intel build. (Requested by bbandix on #webkit). + + * WebCore.pro: + * page/Geolocation.cpp: + (WebCore::Geolocation::startRequest): + (WebCore::Geolocation::setIsAllowed): + (WebCore::Geolocation::startUpdating): + * page/Geolocation.h: + +2010-07-20 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute. + +2010-07-20 Mahesh Kulkarni <mahesh.kulkarni@nokia.com> + + Reviewed by Steve Block. + + Need to be able to configure Geolocation policy regarding user permissions + https://bugs.webkit.org/show_bug.cgi?id=42068 + + Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which + acquires user permission first before starting location service + + This change does not introduce any change in behavior for any platform. So there are no new tests + added. + + * WebCore.pro: + * page/Geolocation.cpp: + (WebCore::Geolocation::startRequest): + (WebCore::Geolocation::setIsAllowed): + (WebCore::Geolocation::startUpdating): + * page/Geolocation.h: + +2010-07-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Inspector: Resources Search Should Search Only Filtered Resources + https://bugs.webkit.org/show_bug.cgi?id=28290 + + * inspector/front-end/AbstractTimelinePanel.js: + (WebInspector.AbstractTimelinePanel.prototype._updateFilter): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.get searchableViews): + * inspector/front-end/inspector.js: + (WebInspector.performSearch): + (WebInspector.doPerformSearch): + +2010-07-20 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline + https://bugs.webkit.org/show_bug.cgi?id=42626 + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._attributeHTML): + +2010-07-20 Shinichiro Hamaji <hamaji@chromium.org> + + Unreviewed comment fix. The comment in IDL should be //, not # . + + Code generator: ensure generated constants match their corresponding enums. + https://bugs.webkit.org/show_bug.cgi?id=42250 + + * dom/OverflowEvent.idl: + +2010-07-20 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files + https://bugs.webkit.org/show_bug.cgi?id=42380 + + RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to + bindings/generic a while a go (in r54593), but need to + be added to the build in order to be used. + + No new functionality so no new tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only. + * websockets/WebSocket.h: Ditto. + +2010-07-20 Tony Chang <tony@chromium.org> + + Reviewed by Kent Tamura. + + clean up style in ClipboardWin and PasteboardWin + https://bugs.webkit.org/show_bug.cgi?id=42609 + + No new tests since this is just a style cleanup. + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::createGlobalData): + (WebCore::markupToCFHTML): + (WebCore::getURL): + (WebCore::getPlainText): + (WebCore::getTextHTML): + (WebCore::fragmentFromFilenames): + (WebCore::containsFilenames): + (WebCore::fragmentFromCFHTML): + (WebCore::fragmentFromHTML): + * platform/win/ClipboardUtilitiesWin.h: + * platform/win/ClipboardWin.cpp: + (WebCore::pathRemoveBadFSCharacters): + (WebCore::createGlobalHDropContent): + (WebCore::createGlobalUrlFileDescriptor): + (WebCore::writeURL): + (WebCore::ClipboardWin::clearData): + (WebCore::ClipboardWin::clearAllData): + (WebCore::ClipboardWin::getData): + (WebCore::ClipboardWin::types): + (WebCore::ClipboardWin::declareAndWriteDragImage): + (WebCore::ClipboardWin::writeRange): + * platform/win/ClipboardWin.h: + (WebCore::ClipboardWin::create): + (WebCore::ClipboardWin::dataObject): + * platform/win/PasteboardWin.cpp: + (WebCore::PasteboardOwnerWndProc): + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writeURL): + (WebCore::Pasteboard::plainText): + (WebCore::Pasteboard::documentFragment): + +2010-07-20 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: jump to source is broken for call frames logged by console.trace + https://bugs.webkit.org/show_bug.cgi?id=42619 + + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): + * inspector/front-end/treeoutline.js: allow passing HTML element as a title. + (TreeElement.prototype.set title): + (TreeElement.prototype.set shouldRefreshChildren): + (TreeElement.prototype._setListItemNodeContent): + (TreeElement.prototype._attach): + +2010-07-20 Tony Chang <tony@chromium.org> + + Reviewed by Dan Bernstein. + + [chromium] crash in Position::getInlineBoxAndOffset + https://bugs.webkit.org/show_bug.cgi?id=42202 + + Test: editing/selection/firstRect-crash.html + Manual test: win/contextmenu-key2.html + + * page/EventHandler.cpp: Code no longer needed + * page/Frame.cpp: + (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because + Positions may be pointing to nodes that have no renderer. If there's no renderer, + getInlineBoxAndOffset will crash. + +2010-07-20 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Foster parenting depends on the current element at insertion time + https://bugs.webkit.org/show_bug.cgi?id=42599 + + We need to consider the current element at insertion-time when deciding + whether to redirect insertion to the foster parent. Previously, we + were considering the current element *both* at insertion-time and at + the time we created the guard. + + * html/HTMLConstructionSite.h: + (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTagForInTable): + (WebCore::HTMLTreeBuilder::processEndTagForInTable): + (WebCore::HTMLTreeBuilder::defaultForInTableText): + +2010-07-20 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Kenneth Rohde Christiansen. + + Failing 2d.path.stroke.prune.curve philip canvas test + https://bugs.webkit.org/show_bug.cgi?id=42190 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path. + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec. + (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec. + * platform/graphics/cg/PathCG.cpp: + (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy. + +2010-07-19 Victoria Kirst <vrk@google.com> + + Reviewed by David Levin. + + Added a simple implementation of VideoLayerChromium. Uses the + LayerChromium::updateTextureRect() to send video frames to the + GPU. + https://bugs.webkit.org/show_bug.cgi?id=42234 + + * WebCore.gypi: Added include for VideoLayerChromium. + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented + setContentsToMedia, though it does not seem to trigger a repaint + correctly. + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/chromium/VideoLayerChromium.cpp: Added. + (WebCore::VideoLayerChromium::create): + (WebCore::VideoLayerChromium::VideoLayerChromium): + (WebCore::VideoLayerChromium::updateTextureContents): + * platform/graphics/chromium/VideoLayerChromium.h: Added. + (WebCore::VideoLayerChromium::drawsContent): + +2010-07-19 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG CleanUp of SVGPathData parsing + https://bugs.webkit.org/show_bug.cgi?id=41410 + + Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp + in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform, + etc. instead of using home-brewn solutions. + The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer. + SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform + Path object or a SVGPathSegList out of the segments. + We're now directly parsing floats instead of truncating precision to float afterwards. + + SVG Path with an arc with radius of 0 does not render + https://bugs.webkit.org/show_bug.cgi?id=40448 + + If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to + the end point according to the spec. Fixed this bug with this patch, because an is zero check and + an DRT check was neccessary with the current clean-up. + Extended svg/dom/path-parser.xhml to check the correct behavior. + + * Android.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FloatPoint.h: + (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function. + (WebCore::FloatPoint::scale): Scale FloatPoint. + (WebCore::operator+=): + (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint. + * svg/SVGAllInOne.cpp: Added new created files. + * svg/SVGAnimateElement.cpp: + (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList. + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path. + * svg/SVGGlyphElement.cpp: + (WebCore::parsePathData): Use new PathParser to create a Path. + * svg/SVGParserUtilities.cpp: + (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now. + * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes. + * svg/SVGPathBuilder.cpp: Added. + (WebCore::SVGPathBuilder::SVGPathBuilder): + (WebCore::SVGPathBuilder::build): Builds a normalized Path. + (WebCore::SVGPathBuilder::moveTo): + (WebCore::SVGPathBuilder::lineTo): + (WebCore::SVGPathBuilder::curveToCubic): + (WebCore::SVGPathBuilder::closePath): + * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached. + (WebCore::SVGPathBuilder::lineToHorizontal): + (WebCore::SVGPathBuilder::lineToVertical): + (WebCore::SVGPathBuilder::curveToCubicSmooth): + (WebCore::SVGPathBuilder::curveToQuadratic): + (WebCore::SVGPathBuilder::curveToQuadraticSmooth): + (WebCore::SVGPathBuilder::arcTo): + * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder. + (WebCore::): + (WebCore::SVGPathConsumer::SVGPathConsumer): + (WebCore::SVGPathConsumer::~SVGPathConsumer): + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList. + * svg/SVGPathParser.cpp: Added. + (WebCore::SVGPathParser::SVGPathParser): + (WebCore::SVGPathParser::~SVGPathParser): + (WebCore::SVGPathParser::parseClosePathSegment): + (WebCore::SVGPathParser::parseMoveToSegment): + (WebCore::SVGPathParser::parseLineToSegment): + (WebCore::SVGPathParser::parseLineToHorizontalSegment): + (WebCore::SVGPathParser::parseLineToVerticalSegment): + (WebCore::SVGPathParser::parseCurveToCubicSegment): + (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment): + (WebCore::SVGPathParser::parseCurveToQuadraticSegment): + (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment): + (WebCore::SVGPathParser::parseArcToSegment): + (WebCore::SVGPathParser::parsePathDataString): + (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves. + * svg/SVGPathParser.h: Added. + * svg/SVGPathSegListBuilder.cpp: Added. + (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder): + (WebCore::SVGPathSegListBuilder::build): + (WebCore::SVGPathSegListBuilder::moveTo): + (WebCore::SVGPathSegListBuilder::lineTo): + (WebCore::SVGPathSegListBuilder::lineToHorizontal): + (WebCore::SVGPathSegListBuilder::lineToVertical): + (WebCore::SVGPathSegListBuilder::curveToCubic): + (WebCore::SVGPathSegListBuilder::curveToCubicSmooth): + (WebCore::SVGPathSegListBuilder::curveToQuadratic): + (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth): + (WebCore::SVGPathSegListBuilder::arcTo): + (WebCore::SVGPathSegListBuilder::closePath): + * svg/SVGPathSegListBuilder.h: Added. + +2010-07-15 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Dan Bernstein. + + Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family + https://bugs.webkit.org/show_bug.cgi?id=42342 + + Test: fast/css/font-face-download-error.html + + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font + face is valid. + (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each + font face. + * css/CSSSegmentedFontFace.h: Make isValid private. + +2010-07-19 Kent Tamura <tkent@chromium.org> + + Reviewed by Shinichiro Hamaji. + + [Chromium] Fix style errors of RenderThemeChromiumWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=42568 + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::): + (WebCore::getNonClientMetrics): + (WebCore::systemFontSize): + (WebCore::pointsToPixels): + (WebCore::querySystemBlinkInterval): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): + +2010-07-19 Steve Falkenburg <sfalken@apple.com> + + (Hopefully the last) Windows build fix. + + Version of CoreServices.h in WebKit Support Libraries uses + pragma once, unlike the version I have locally. Switch based + on __COLORSYNCDEPRECATED__ instead. + + * WebCorePrefix.h: + +2010-07-19 Steve Falkenburg <sfalken@apple.com> + + Windows build fix. + + * WebCorePrefix.h: + +2010-07-19 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCorePrefix.h: + +2010-07-19 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCorePrefix.h: + +2010-07-19 Steve Falkenburg <sfalken@apple.com> + + Windows Build fixes for new ColorSync API. + We support both new and old APIs, since the newer headers aren't in the tree yet. + + * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present. + * platform/graphics/cg/ColorCG.cpp: + (WebCore::createCGColor): Conditionally use new ColorSync API. + * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't. + * platform/graphics/win/GraphicsLayerCACF.cpp: + (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h. + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h. + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h. + +2010-07-19 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Only set unloadEventEnd when the unload event is actually fired + https://bugs.webkit.org/show_bug.cgi?id=42607 + + r63689 introduced this ASSERT and it began failing on Qt and Mac debug. + For some reason, it did not fail on Windows (which is where I was + testing). The ASSERT was disabled in r63699. + + Test: page-cache related layout tests don't crash in debug mode on Mac. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath() + https://bugs.webkit.org/show_bug.cgi?id=42513 + + Avoid making unnecessary deep-copies of QPainterPaths that will + be discarded after use. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + +2010-07-19 Kenneth Russell <kbr@google.com> + + Reviewed by Nate Chapin. + + WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage + https://bugs.webkit.org/show_bug.cgi?id=34719 + + Fixed compiler warning introduced by original patch. No new tests; + covered by existing tests. + + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): + +2010-07-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig. + + Handle NP_ASFILE and NP_ASFILEONLY transfer modes + https://bugs.webkit.org/show_bug.cgi?id=42587 + + * WebCore.exp.in: + Export functions from FileSystem.h + + * platform/mac/FileSystemMac.mm: + (WebCore::openTemporaryFile): + Try to create a temporary file using mkstemp. + +2010-07-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Implement NPN_PostURLNotify + https://bugs.webkit.org/show_bug.cgi?id=42602 + + Export symbols needed by WebKit2. + + * WebCore.exp.in: + +2010-07-19 Tony Gentilcore <tonyg@chromium.org> + + Unreviewed build fix. + + Remove overzealous ASSERT from r63689 + https://bugs.webkit.org/show_bug.cgi?id=42606 + + No new tests because no new functionality. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): + +2010-07-19 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Mark Rowe. + + Web Inspector: Do Not Copy *.re2js Inspector Resources in XCode Build Phase + https://bugs.webkit.org/show_bug.cgi?id=42601 + + Remove *.re2js files after copying them over in the Build Phase. We do + the same to remove the WebKit.qrc file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-17 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + [Web Timing] Move times to DocumentLoader and fix bugs in mark points + https://bugs.webkit.org/show_bug.cgi?id=42512 + + Test: fast/dom/webtiming-navigate-within-document.html + + * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader. + (WebCore::DocumentLoader::documentLoadTiming): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up. + (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document. + (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader. + (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec. + * loader/FrameLoader.h: Get rid of FrameLoadTimeline. + * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files. + (WebCore::DocumentLoadTiming::DocumentLoadTiming): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable. + (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader. + * page/Navigation.cpp: + (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader. + * page/Timing.cpp: + (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks. + (WebCore::Timing::navigationStart): + (WebCore::Timing::unloadEventEnd): + (WebCore::Timing::redirectStart): + (WebCore::Timing::redirectEnd): + (WebCore::Timing::fetchStart): + (WebCore::Timing::domainLookupStart): + (WebCore::Timing::domainLookupEnd): + (WebCore::Timing::connectStart): + (WebCore::Timing::connectEnd): + (WebCore::Timing::requestStart): + (WebCore::Timing::requestEnd): + (WebCore::Timing::responseStart): + (WebCore::Timing::responseEnd): + (WebCore::Timing::loadEventStart): + (WebCore::Timing::loadEventEnd): + (WebCore::Timing::documentLoader): + (WebCore::Timing::documentLoadTiming): + (WebCore::Timing::resourceLoadTiming): + (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd. + * page/Timing.h: + +2010-07-19 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42118 + Disable WebGL on Leopard for now. + + LayoutTests fail on some graphics hardware on Leopard because one of the features we use, + GL_ARB_framebuffer_object, is not universally available in Leopard like it is in + SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a + software OpenGL driver on machines without this support. + + * Configurations/FeatureDefines.xcconfig: + +2010-07-19 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Sam Weinig. + + Remove HTML5 media element 'load' event + https://bugs.webkit.org/show_bug.cgi?id=30464 + <rdar://problem/5650561> + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded. + (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event. + (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false. + (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event. + (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING. + (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state. + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::): + * html/HTMLMediaElement.idl: Remove NETWORK_LOADING. + +2010-07-19 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=40996 + Progress event should not be fired during synchronous XMLHttpRequest + + https://bugs.webkit.org/show_bug.cgi?id=17502 + Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange + + Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html + http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange + event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly + the spec draft says about readystatechange for sync requests, but this seems to be the most + logical and backwards compatible behavior. + (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests. + Note that we already don't dispatch upload progress events for those. + +2010-07-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color + https://bugs.webkit.org/show_bug.cgi?id=34913 + + Tests: fast/repaint/view-background-from-body-1.html + fast/repaint/view-background-from-body-2.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is + null, repaint the view, similarly to how the view is repainted for any repaint-or-higher + style changes. + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer, + repaint the view, in case the body’s background was propagated to the view. + +2010-07-19 Adam Roben <aroben@apple.com> + + Fix an assertion when a plugin returns -1 from NPP_Write + + We were forgetting to call setDefersLoading(false) before destroying + the PluginStream. In the process of destroying the stream, someone + would call setDefersLoading(true), and we would assert because we were + already deferring loads. + + Fixes <http://webkit.org/b/42563> Assertion failure in + ResourceHandle::setDefersLoading when running + plugins/return-negative-one-from-write.html on Windows + + Reviewed by Anders Carlsson. + + * plugins/PluginStream.cpp: + (WebCore::PluginStream::deliverData): Call setDefersLoading(false) + before destroying the stream, to match the setDefersLoading(true) call + earlier in this function. (We already call setDefersLoading(false) in + the non-error case later on.) + +2010-07-19 Rafael Antognolli <antognolli@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Fix some EFL theme issues + https://bugs.webkit.org/show_bug.cgi?id=42569 + + Keep a pointer to theme filename and check for it correctly. + Reduce the scope of some variables. + Don't test for platformWidget() since we are not using it. + + No new tests, no new functionality. + + * platform/efl/WidgetEfl.cpp: + (WebCore::Widget::applyCursor): + (WebCore::Widget::setCursor): + +2010-07-19 Rafael Antognolli <antognolli@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Add ifdef to compile code just on presence of Ecore_X + https://bugs.webkit.org/show_bug.cgi?id=42567 + + No new tests since there's no new functionality. + + * platform/efl/WidgetEfl.cpp: + (WebCore::Widget::setEvasObject): + Add #ifdef HAVE_ECORE_X to it. + +2010-07-19 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names. + https://bugs.webkit.org/show_bug.cgi?id=42485 + + * inspector/front-end/utilities.js: + (Element.prototype.removeStyleClass): + +2010-07-19 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open. + https://bugs.webkit.org/show_bug.cgi?id=42560 + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions): + * bindings/js/ScriptController.h: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions): + * bindings/v8/ScriptController.h: + * bindings/v8/V8ConsoleMessage.cpp: + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::handler): + * bindings/v8/V8ConsoleMessage.h: + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::ConsoleMessage): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + * inspector/InspectorController.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._formatMessage): + (WebInspector.ConsoleMessage.prototype.toMessageElement): + (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): + (WebInspector.ConsoleMessage.prototype._addMessageHeader): + (WebInspector.ConsoleMessage.prototype.toString): + * inspector/front-end/inspector.css: + (.console-message.repeated-message > ol.stack-trace): + (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace): + (ol.stack-trace): + (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace): + * page/Console.cpp: + (WebCore::Console::addMessage): + * page/Console.h: + (WebCore::): + +2010-07-19 Robin Burchell <robin.burchell@collabora.co.uk> + + Reviewed by Antonio Gomes + + [Qt] Use memcpy() instead of qMemCopy() + This is supposed to be more efficient, as the compiler is able to + optimise more. + + Additionally, qMemCopy() is only strictly supposed to be used in + headers (see Qt's src/corelib/qglobal.h for reference) + See: https://bugs.webkit.org/show_bug.cgi?id=42392 + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertQVariantToValue): + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check + https://bugs.webkit.org/show_bug.cgi?id=42284 + + New name is isEquivalentColor(CanvasStyle). + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeStyle): + (WebCore::CanvasRenderingContext2D::setFillStyle): + * html/canvas/CanvasStyle.cpp: + (WebCore::CanvasStyle::isEquivalentColor): + * html/canvas/CanvasStyle.h: + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Canvas: Wrong internal positioning of drawImage() shadows + https://bugs.webkit.org/show_bug.cgi?id=42510 + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Render shadow when drawing one canvas onto another + https://bugs.webkit.org/show_bug.cgi?id=42508 + + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::draw): + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Some composition modes fail when color has alpha zero + https://bugs.webkit.org/show_bug.cgi?id=36973 + + Remove erroneous optimization that ignored painting calls when + the stroke/fill color had an alpha value of zero. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + CSS3 background: Number of layers should be determined by background-image element count + https://bugs.webkit.org/show_bug.cgi?id=41201 + + Manual test: css3-background-layer-count.html + + Spec link: + http://www.w3.org/TR/css3-background/#layering + + * manual-tests/css3-background-layer-count.html: Added. + * rendering/style/FillLayer.cpp: + (WebCore::FillLayer::fillUnsetProperties): Don't repeat + image properties, they determine the total number of layers. + (WebCore::FillLayer::cullEmptyLayers): Change culling logic + to discard all layers after the first one without an image set. + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::adjustBackgroundLayers): Call + fillUnsetProperties() before cullEmptyLayers() + (WebCore::InheritedFlags::adjustMaskLayers): Ditto. + +2010-07-19 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Avoid QImage::pixel() in getImageData() + https://bugs.webkit.org/show_bug.cgi?id=42463 + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::getImageData): Use QImage::scanLine() instead + of fetching data pixel-by-pixel. + +2010-07-19 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: hide "toggle debugger" button when debugger is always enabled + https://bugs.webkit.org/show_bug.cgi?id=42558 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + +2010-07-19 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file + https://bugs.webkit.org/show_bug.cgi?id=42466 + + (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447) + + No new functionality so no new tests. + + * dom/DeviceOrientationEvent.cpp: + (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent): + Move here to avoid needing to have the full declaration of + DeviceOrientation in DeviceOrientationEvent.h. + * dom/DeviceOrientationEvent.h: + +2010-07-18 Anders Carlsson <andersca@apple.com> + + Fix Build. + + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): + +2010-07-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Always set the current NSGraphicsContext before calling drawWithFrame + https://bugs.webkit.org/show_bug.cgi?id=42542 + + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMeter): + (WebCore::RenderThemeMac::paintSearchField): + (WebCore::RenderThemeMac::paintSearchFieldCancelButton): + (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeMac::paintSearchFieldResultsButton): + +2010-07-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Move PluginWidget to WebKit + https://bugs.webkit.org/show_bug.cgi?id=42530 + + Rename the PluginWidget class to PluginViewBase and make it an abstract base class. + + This is a stopgap measure until we have a single PluginView class that we can use everywhere. + + * WebCore.exp.in: + Remove PluginWidget symbols. + + * WebCore.xcodeproj/project.pbxproj: + Update. + + * platform/Widget.h: + (WebCore::Widget::isPluginViewBase): + Return false. + + * plugins/PluginViewBase.h: Added. + (WebCore::PluginViewBase::platformLayer): + Always return 0 here now. + + (WebCore::PluginViewBase::isPluginViewBase): + Return true. + + * plugins/PluginWidget.h: Removed. + * plugins/mac/PluginWidgetMac.mm: Removed. + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): + Cast to PluginWidgetBase instead. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + Cast to PluginWidgetBase instead. + +2010-07-18 Dean Jackson <dino@apple.com> + + Unreviewed. + + Remove the unwanted extra line that Xcode + added in my last commit. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-18 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=41259 + Interacting with a <select> element within a transformed and clipped + container scrolls the container + + The Node::getRect and ContainerNode::getRect functions were not + transform-aware. This fixes both, and has a test to make sure + we're not breaking any existing scrollToView code. This means + that a <select> popup will appear in the correct place if it + is within a transformed and scrolled container. + + Test: fast/transforms/scrollIntoView-transformed.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::getUpperLeftCorner): + (WebCore::ContainerNode::getLowerRightCorner): + - make sure we call localToAbsolute in the right order + (after we've done a local move) and pass in the flags to + indicate it should look for transforms. + * dom/Node.cpp: + (WebCore::Node::getRect): + - make sure localToAbsolute gets told to look for transforms. + +2010-07-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add NPJSObjectMap class + https://bugs.webkit.org/show_bug.cgi?id=42524 + + Export ScriptController functions. + + * WebCore.exp.in: + +2010-07-18 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Implement some NPRuntime related NPN_ functions + https://bugs.webkit.org/show_bug.cgi?id=42518 + + * WebCore.exp.in: + Export IdentifierRep functions. + +2010-07-17 TJ Lee <tjlee0909@gmail.com> + + Reviewed by Timothy Hatcher. + + HTMLLinkElement ignores dnsPrefetchingEnabled setting + https://bugs.webkit.org/show_bug.cgi?id=42500 + + Changed the HTML Link tag to check that the browser + has DNS-prefetching enabled before calling ResourceHandle::prepareForURL. + + There are no test cases for this patch because it was unclear how to test + this using a layout test. A possible test case would be to + clear the DNS cache on the client's machine before loading a page with + <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and + then check the number of DNS cache entries. + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + +2010-07-16 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam Weinig. + + Asynchronous policy checks make FrameLoader think it is done loading prematurely + https://bugs.webkit.org/show_bug.cgi?id=42489 + + This caused many (~100) layout tsts to fail under WebKit2. + + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe, + if m_complete is true, do not consider it done if it has a provisional loader. + This will happen in the case where the policy check is asynchronous. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::subframeIsLoading): For similar reasons, + consider a subframe to be loading if it has a policy decision pending. + +2010-07-15 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html + https://bugs.webkit.org/show_bug.cgi?id=38400 + + FillRect with shadow need take alpha information from fillstyle + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillRect): + +2010-07-17 Nikita Vasilyev <me@elv1s.ru> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect + https://bugs.webkit.org/show_bug.cgi?id=42476 + + * inspector/front-end/inspector.css: + (.editing): + +2010-07-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Sam Weinig. + + Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests + https://bugs.webkit.org/show_bug.cgi?id=42186 + + Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1) + if the current path is empty. + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArcTo): Remove now-redundant code. + +2010-07-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + QtWebkit creates an unnecessary deep copy of images when canvas drawing is done + A https://bugs.webkit.org/show_bug.cgi?id=32530 + + Solve this by adding ImageBuffer::imageForRendering() which returns an image + that can be used for rendering now, but isn't a copy to be kept around. + + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::imageForRendering): + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can + be used for rendering now, but may change in the future. + * platform/graphics/qt/StillImageQt.cpp: + (WebCore::StillImage::StillImage): + (WebCore::StillImage::~StillImage): + (WebCore::StillImage::size): + (WebCore::StillImage::nativeImageForCurrentFrame): + (WebCore::StillImage::draw): + * platform/graphics/qt/StillImageQt.h: + (WebCore::StillImage::createForRendering): Added for use in + ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*. + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering() + +2010-07-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + [Qt] Remove redundant logic in Path::addArcTo() + https://bugs.webkit.org/show_bug.cgi?id=42494 + + Bounds checking for arcTo() is now done in cross-platform code + thanks to <http://trac.webkit.org/changeset/63599> + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArcTo): + +2010-07-16 Zhe Su <suzhe@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms + https://bugs.webkit.org/show_bug.cgi?id=42253 + + This patch just reverts the change to WebCore/page/FocusController.cpp + made in changeset 61484, and add a new method named + willSetInputMethodState in EditorClient interface, which gets called + in FocusController just before changing the focused node. + + No new tests, because no new functionality. + + * loader/EmptyClients.h: + (WebCore::EmptyEditorClient::willSetInputMethodState): + * page/EditorClient.h: + * page/FocusController.cpp: + (WebCore::FocusController::setFocusedNode): + +2010-07-16 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Sam Weinig. + + Failing 2d.path.stroke.prune.arc philip canvas test + https://bugs.webkit.org/show_bug.cgi?id=42188 + + * html/canvas/CanvasRenderingContext2D.cpp: + Note, updated parameter names to match spec. + (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms. + (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec. + * platform/graphics/Path.h: Added in new method to expose the current position. + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case. + * platform/graphics/cg/PathCG.cpp: + (WebCore::Path::currentPoint): Added in support for this call. + * platform/graphics/haiku/PathHaiku.cpp: + (WebCore::Path::currentPoint): Added in stub for this call. + * platform/graphics/openvg/PathOpenVG.cpp: + (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case. + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling. + * platform/graphics/skia/PathSkia.cpp: + (WebCore::Path::currentPoint): Added in stub for this call. + * platform/graphics/wince/PathWince.cpp: + (WebCore::Path::currentPoint): Added in stub for this call. + * platform/graphics/wx/PathWx.cpp: + (WebCore::Path::currentPoint): Added in stub for this call. + +2010-07-16 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63593. + http://trac.webkit.org/changeset/63593 + https://bugs.webkit.org/show_bug.cgi?id=42487 + + Broke a few chromium pixel tests (Requested by tony^work on + #webkit). + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::strokeRect): + +2010-07-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:] + https://bugs.webkit.org/show_bug.cgi?id=29355 + + * WebCore.exp.in: Updated. + * platform/graphics/Font.cpp: + (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor. + Set the font smoothing mode in the font description. + * platform/graphics/Font.h: + +2010-07-16 Satish Sampath <satish@chromium.org> + + Reviewed by Anders Carlsson. + + Add speech attribute to IDL for enabling access from JS. + https://bugs.webkit.org/show_bug.cgi?id=42483 + + No tests added, this change is a pre-requisite for future layout tests. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes. + * html/HTMLInputElement.idl: Added the speech attribute to IDL. + +2010-07-16 Fady Samuel <fsamuel@chromium.org> + + Reviewed by David Levin. + + Avoids adding stroke when stroke-width is zero. + + SVG - stroke-width:0 bug with stroke other than "none" + https://bugs.webkit.org/show_bug.cgi?id=42387 + + Test: svg/stroke/path-zero-strokewidth-test.svg + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::strokeRect): + +2010-07-16 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo. + +2010-07-16 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] <input type=number> UI implementation for Windows + https://bugs.webkit.org/show_bug.cgi?id=42259 + + No additional tests. Existing tests cover this change and we'll + update expectations. + + * platform/chromium/ChromiumBridge.h: Add paintSpinButton(). + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::determineState): + Add ControlSubPart parameter and add support for spin buttons. + (WebCore::RenderThemeChromiumWin::determineClassicState): ditto. + (WebCore::RenderThemeChromiumWin::getThemeData): ditto. + (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added. + (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added. + * rendering/RenderThemeChromiumWin.h: + Declare ControlSubpart, and add it to some functions. + +2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Use function provided by EFL for system beep + https://bugs.webkit.org/show_bug.cgi?id=42481 + + EFL port does not support automated tests, yet. + + * platform/efl/SoundEfl.cpp: + (WebCore::systemBeep): + +2010-07-16 Sarah Strong <sarah.e.strong@gmail.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Clipboard data is lost on exit + https://bugs.webkit.org/show_bug.cgi?id=27411 + + No new tests. To manually test the bug fixed by this patch: + 1) Open an application that uses a webkit webview on a GNOME-based system + 2) Copy some text from that application + 3) Optional: paste it to another application. This should work properly with and without this patch. + 4) Exit the application completely. + 5) Paste: + Without this patch, you cannot because your clipboard is empty. + With this patch, pasting succeeds. + I have not included an automated test because of the difficulty of testing behaviour after application exit. + +2010-07-16 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + Keyboard operations for <input type=number> + https://bugs.webkit.org/show_bug.cgi?id=42076 + + - The up arrow key works as stepUp(). + - The down arrow key works as stepDown(). + - Reject characters other than + - 0-9 . e E + + Test: fast/forms/input-number-keyoperation.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + Add up/down arrow keys support, and call handleBeforeTextInsertedEvent(). + (WebCore::isNumberCharacter): + (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent): + For type=number, remove unacceptable characters. + * html/HTMLInputElement.h: + +2010-07-16 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + Improve hover state handling for spin buttons + https://bugs.webkit.org/show_bug.cgi?id=42260 + + Background: + When we move the mouse cursor to a node from the outside of the node, + the following steps are executed. + 1. setHovered(true) is called. + 2. The node is repainted for the hover state. + 3. 'mousemove' event is dispatched for the node. + For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is + called before the event handler of the spin-button. So we can't + detect which of the up part or the down part is hovered correctly. + + Solution: + The hover state of a spin-button is one of three states; + Indeterminate, Up, and Down. The state is Indeterminate since + setHovered(true) is called and until 'mousemove' event is + dispatched. + + No new tests because there are no implementation of spin-buttons + with hovered state yet. + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isSpinUpButtonPartPressed): + (WebCore::RenderTheme::isHovered): + Return false if the node is a spin-button and the state is Indeterminate. + (WebCore::RenderTheme::isSpinUpButtonPartHovered): + * rendering/TextControlInnerElements.cpp: + (WebCore::SpinButtonElement::SpinButtonElement): + Initialize m_upDownState. + (WebCore::SpinButtonElement::defaultEventHandler): + (WebCore::SpinButtonElement::setHovered): + Set the state to Indeterminate. + * rendering/TextControlInnerElements.h: + (WebCore::SpinButtonElement::upDownState): + +2010-07-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7527532> Crash beneath setSelection() during detach() + https://bugs.webkit.org/show_bug.cgi?id=42020 + + No test because I am unable to reproduce the crash. + + * rendering/RenderView.cpp: + (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is + RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling + localToAbsolute() during detach(). + +2010-07-16 Anders Carlsson <andersca@apple.com> + + Fix release build. + + * storage/Database.cpp: + (WebCore::DerefContextTask::performTask): + +2010-07-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations) + https://bugs.webkit.org/show_bug.cgi?id=41409 + + AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation + or transition was running. This prevented us from falling into compositing layers for animation + on platforms, like Windows, that don't have accelerated animations. + + Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer() + and isRunningAcceleratedAnimationOnRenderer(). + + Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is + now 'm_isAccelerated', for clarity. + + Test: compositing/animation/animation-compositing.html + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated + (WebCore::AnimationBase::blendProperties): Ditto. + (WebCore::AnimationBase::updateStateMachine): Ditto. + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter + which causes the method to only return true if the animation is accelerated. + (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating. + + * page/animation/AnimationController.cpp: + (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer): + (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer): + (WebCore::AnimationController::isRunningAnimationOnRenderer): + (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer): + + * page/animation/CompositeAnimation.h: + * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add + isRunningAcceleratedAnimationOnRenderer(). + * page/animation/AnimationControllerPrivate.h: Ditto. + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated(). + (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down. + + * page/animation/ImplicitAnimation.cpp: + (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated(). + + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated(). + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or + opacity if an accelerated animation is running. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers + if an animation of transform or opacity is running. + +2010-07-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Assertion when turning Accelerated Compositing off on a composited page + https://bugs.webkit.org/show_bug.cgi?id=42408 + + When accelerated compositing is turned off, check m_hasAcceleratedCompositing + before saying that the root layer will be composited. Fixes an assertion. + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::computeCompositingRequirements): + +2010-07-16 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Simon Fraser. + + Spatial navigation: do not consider outline for focusable element boundaries + https://bugs.webkit.org/show_bug.cgi?id=42474 + + Test: fast/events/spatial-navigation/snav-zero-margin-content.html + + Currently in WebCore::renderRectRelativeToRootDocument function, we are calling + RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given + renderer/element. This method deals with outline, which is out of elements boundary. + It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc" + are inaccessible. + + Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect, + which returns only the absolute bounding box rect of the Element. + + * page/SpatialNavigation.cpp: + (WebCore::renderRectRelativeToRootDocument): + (WebCore::checkNegativeCoordsForNode): + +2010-07-15 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Gustavo Noronha. + + [Qt] Remove unnecessary WebKit headers inclusion from WebCore files + https://bugs.webkit.org/show_bug.cgi?id=42416 + + There are some places in WebCore unnecessarily including WebKit headers. + + Cleaning up only, no testing needed. + + * platform/network/qt/ResourceHandleQt.cpp: + * platform/qt/RenderThemeQt.cpp: + * platform/qt/WidgetQt.cpp: + +2010-07-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Refinement of r63556: moved the tab width computation back to Font, but added a + SimpleFontData parameter. + + * platform/graphics/Font.h: + (WebCore::Font::tabWidth): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + +2010-07-16 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Pavel Feldman. + + Fix unit error in calculating timings from ResourceLoadTiming API + https://bugs.webkit.org/show_bug.cgi?id=42473 + + The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime. + + No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL. + + * page/Timing.cpp: + (WebCore::Timing::domainLookupStart): + (WebCore::Timing::domainLookupEnd): + (WebCore::Timing::connectStart): + (WebCore::Timing::connectEnd): + (WebCore::Timing::requestStart): + (WebCore::Timing::requestEnd): + (WebCore::Timing::responseStart): + +2010-07-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + clang++ build fixes for JavaScriptCore and WebCore + https://bugs.webkit.org/show_bug.cgi?id=42478 + + * platform/network/Credential.cpp: + (WebCore::Credential::type): + * platform/network/Credential.h: + Remove const qualifier on Credential::type since it doesn't have an effect on the type. + +2010-07-16 Anders Carlsson <andersca@apple.com> + + Reviewed by David Levin. + + Really add WARN_UNUSED_RESULT to leakRef + https://bugs.webkit.org/show_bug.cgi?id=42464 + + Get rid of a call to releaseRef here by passing the ScriptExecutionContext + reference through to the DerefContextTask. + + * storage/Database.cpp: + (WebCore::DerefContextTask::create): + (WebCore::DerefContextTask::performTask): + (WebCore::DerefContextTask::DerefContextTask): + (WebCore::Database::~Database): + +2010-07-16 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: The current implementation of generator is not ready + for generation Backend part of Inspector interface. The full patch + with Backend is quite big and I've split it. + https://bugs.webkit.org/show_bug.cgi?id=42462 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/InspectorValues.cpp: + (WebCore::InspectorArray::get): + * inspector/InspectorValues.h: + (WebCore::InspectorArray::length): + +2010-07-15 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Darin Adler. + + An empty value for xml:lang isn't considered + https://bugs.webkit.org/show_bug.cgi?id=42042 + + Allow :lang selector to match empty values for xml:lang and + lang attributes. + + Test: fast/css/lang-selector-empty-attribute.xhtml + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + +2010-07-16 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Shift-Enter does not do a reverse search. It searches forward. + https://bugs.webkit.org/show_bug.cgi?id=42459 + + * inspector/front-end/inspector.js: + (WebInspector.performSearch): + +2010-07-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not include SSL time into Waiting time. + + https://bugs.webkit.org/show_bug.cgi?id=42458 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._showPopover): + +2010-07-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph + https://bugs.webkit.org/show_bug.cgi?id=42437 + + No test because none of the fonts available to DumpRenderTree are missing a space glyph. + + Changed the tab width computation to use the width of the space glyph from the font that has + a space glyph, which may be a fallback font if the primary font lacks a space glyph. + + * platform/graphics/Font.h: Removed Font::tabWidth(). + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + +2010-07-16 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Chromium build fix. Add missing include. + + * inspector/ConsoleMessage.h: + +2010-07-16 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect() + https://bugs.webkit.org/show_bug.cgi?id=42456 + + * platform/graphics/qt/PathQt.cpp: + (WebCore::scratchContext): Added, provides a scratch GraphicsContext. + (WebCore::Path::strokeContains): Use the scratch context instead + of creating a new GraphicsContext. + (WebCore::Path::strokeBoundingRect): Ditto. + +2010-07-16 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check + to avoid crashes in inspected page. + https://bugs.webkit.org/show_bug.cgi?id=42065 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::addListener): + +2010-07-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add SSL time label into the resources popover. + + https://bugs.webkit.org/show_bug.cgi?id=42458 + + * English.lproj/localizedStrings.js: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::buildObjectForTiming): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._showPopover): + +2010-07-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: disable AppCache in chromium. + + https://bugs.webkit.org/show_bug.cgi?id=41858 + + * inspector/front-end/Settings.js: + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + (WebInspector.StoragePanel.prototype.reset): + (WebInspector.StoragePanel.prototype.addApplicationCache): + +2010-07-16 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + console.trace should show file and line number for each function in the stack + https://bugs.webkit.org/show_bug.cgi?id=21180 + + Test: inspector/console-trace.html + + * bindings/js/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::initialize): + * bindings/v8/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + * bindings/v8/ScriptCallFrame.h: + * bindings/v8/ScriptCallStack.cpp: + (WebCore::getFrameLocation): + (WebCore::toScriptCallFrame): + (WebCore::ScriptCallStack::create): + (WebCore::ScriptCallStack::ScriptCallStack): + (WebCore::ScriptCallStack::at): + (WebCore::ScriptCallStack::size): + * bindings/v8/ScriptCallStack.h: + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::traceCallback): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::CallFrame::CallFrame): + (WebCore::ConsoleMessage::CallFrame::isEqual): + (WebCore::ConsoleMessage::CallFrame::createFrontendObject): + (WebCore::ConsoleMessage::ConsoleMessage): + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._formatMessage): + (WebInspector.ConsoleMessage.prototype._createStackTraceElement): + (WebInspector.ConsoleMessage.prototype._createSourceUrlLink): + * inspector/front-end/inspector.css: + (.console-message.expandable > .console-message-text::before): + (.console-message.expandable.collapsed > .console-message-text::before): + (.console-message.expandable.collapsed > ol.stack-trace): + (.console-message > ol.stack-trace): + (.console-message.repeated-message > ol.stack-trace): + (.console-message.repeated-message > ol.stack-trace.trace-message): + * page/Console.idl: + +2010-07-16 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] Build with MathML enabled. Fix build when MathML is enabled and + make it the default. + https://bugs.webkit.org/show_bug.cgi?id=42453 + + EFL port does not support automated tests, yet. + + * CMakeLists.txt: add missing source file and sort. + +2010-07-16 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + DeviceOrientationEvent.h should not forward-declare DeviceOrientation + https://bugs.webkit.org/show_bug.cgi?id=42447 + + When destructing m_orientation, DeviceOrientation cannot be an incomplete type. + + * dom/DeviceOrientationEvent.h: + +2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + gradientTransform + objectBoundingBox is wrong + https://bugs.webkit.org/show_bug.cgi?id=42446 + + gradientTransform + gradientUnits="objectBoundingBox" is wrong. Reverse multiplication order of both transforms. + + * rendering/RenderSVGResourceGradient.cpp: s/multiply/multLeft/ + +2010-07-16 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Make JS memory stats available via 'Performance' object (Web Timing). + This statistics is populated only if 'WebKitMemoryInfoEnabled' + preference is set. + + 'console.memory' is kept until Web Timing object becomes visible by + default (currently it is hidden under compile-time flag). These stats + are guarded with the same preference. + + https://bugs.webkit.org/show_bug.cgi?id=41617 + + * bindings/js/JSConsoleCustom.cpp: + * bindings/v8/custom/V8ConsoleCustom.cpp: + * page/Console.cpp: + (WebCore::Console::disconnectFrame): + (WebCore::Console::memory): + * page/Console.h: + * page/Console.idl: + * page/MemoryInfo.cpp: + (WebCore::MemoryInfo::MemoryInfo): + * page/MemoryInfo.h: + (WebCore::MemoryInfo::create): + * page/Performance.cpp: + (WebCore::Performance::disconnectFrame): + (WebCore::Performance::memory): + * page/Performance.h: + * page/Performance.idl: + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setMemoryInfoEnabled): + (WebCore::Settings::memoryInfoEnabled): + +2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Convolution computation causes bad alpha channel values + https://bugs.webkit.org/show_bug.cgi?id=42273 + + Unbreak the convolve matrix filter, fixing svg/W3C-SVG-1.1/filters-conv-01-f.svg. + + 1) Fix clamping the rgb values: + "image->set(pixel++, clampRGBAValue(totals[0], maxAlpha));" totals[0] -> totals[i]. + + 2) Don't apply the divisior divison and bias addition multiple times, accumulated! + + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: + (WebCore::setDestinationPixels): Fix two evil bugs, breaking feConvolveMatrix. + +2010-07-16 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + relative positioning does not work for radialGradient after window resize + https://bugs.webkit.org/show_bug.cgi?id=41249 + + Redesign the way resources are invalidated. No longer utilize the DOM tree, specifically SVGStyledElement::svgAttributeChanged(), to invalidate + all resources in the ancestor chain (including itself) when any attribute changes. rect.setAttribute("foo", "bar") should never invalidate the + resources. Also the old approach didn't work correctly if the root layout changed (eg. window size change) - we failed to invalidate the resources, + thus leading to wrong renderings. + + Instead of calling setNeedsLayout(true) from the SVG*Element classes, call RenderSVGResource::markForLayoutAndParentResourceInvalidation(), which + does the same thing and invalidates all resources in the ancestor chain (removing the cached results from the HashMaps). This only happens from + the various svgAttributeChanged() methods, if we know which attribute changed, and what action has to be taken. + + All SVG renderers now invalidate their own resources on layout() if the layout changed (selfNeedsLayout()=true). The resources will be recreated + and cached during the following paint() call. + + Tests: svg/custom/marker-child-changes-css.svg + svg/custom/relative-sized-content-with-resources.xhtml + + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer(). + * rendering/RenderPath.cpp: + (WebCore::RenderPath::layout): Ditto. + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): Ditto. + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::layout): Ditto. + * rendering/RenderSVGModelObject.cpp: + (WebCore::RenderSVGModelObject::styleDidChange): Added, to invalidate resources on CSS changes, covered by new svg/custom/marker-child-changes-css.svg test. + * rendering/RenderSVGModelObject.h: + * rendering/RenderSVGResource.cpp: + (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation): Add new "needsBoundaries" parameter, calling setNeedsBoundaries() on the target render object, + simplifying all RenderSVGResource* code. + (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): New static method used from DOM tree to invalidate all cached resources in the ancestor chain + for a render object. Also marks the renderer for layout, if needed. + * rendering/RenderSVGResource.h: + * rendering/RenderSVGResourceClipper.cpp: Simplify code, remove no longer needed hacks, as invalidation is now carried out by render tree. + (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper): Add m_invalidationBlocked hack, to avoid invalidations, while we're mutating the render styles (which is a hack!). + (WebCore::RenderSVGResourceClipper::invalidateClients): Don't do anything if m_invalidationBlocked=true. + (WebCore::RenderSVGResourceClipper::invalidateClient): Ditto. + (WebCore::RenderSVGResourceClipper::createClipData): Set m_invalidationBlocked before mutating render styles, as they are restored immediately after creating the clip image. + (WebCore::RenderSVGResourceClipper::resourceBoundingBox): Remove no longer needed hack to initialize ClipperData earlier than applyResource() would do. + * rendering/RenderSVGResourceClipper.h: + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation. + (WebCore::RenderSVGResourceFilter::invalidateClient): Remove wrong assertion. + * rendering/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation. + (WebCore::RenderSVGResourceGradient::invalidateClient): Remove wrong assertion. + * rendering/RenderSVGResourceMarker.cpp: + (WebCore::RenderSVGResourceMarker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation. + (WebCore::RenderSVGResourceMarker::invalidateClient): Remove wrong assertion. + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation. + (WebCore::RenderSVGResourceMasker::invalidateClient): Remove wrong assertion. + (WebCore::RenderSVGResourceMasker::resourceBoundingBox): Remove no longer needed hack to initializer MaskerData earlier than applyResource() would do. + * rendering/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::invalidateClients): Simplify code using markForLayoutAndResourceInvalidation. + (WebCore::RenderSVGResourcePattern::invalidateClient): Remove wrong assertion. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): If our layout changed, invalidate our resources, by calling RenderSVGResource::invalidateAllResourcesOfRenderer(). + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::applyResultsToTarget): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true). + * svg/SVGAnimateTransformElement.cpp: + (WebCore::SVGAnimateTransformElement::applyResultsToTarget): Ditto. + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::svgAttributeChanged): Ditto. + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::svgAttributeChanged): Ditto. + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::notifyFinished): Ditto. + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::svgAttributeChanged): Ditto. + * svg/SVGGElement.cpp: + (WebCore::SVGGElement::svgAttributeChanged): Ditto. + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::svgAttributeChanged): Ditto. + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::svgAttributeChanged): Ditto. + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::svgAttributeChanged): Ditto. + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::svgAttributeChanged): Ditto. + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::svgAttributeChanged): Ditto. + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::setCurrentScale): Ditto. + (WebCore::SVGSVGElement::svgAttributeChanged): Ditto. + (WebCore::SVGSVGElement::inheritViewAttributes): Ditto. + * svg/SVGStopElement.cpp: + (WebCore::SVGStopElement::SVGStopElement): Changed m_offset initialization from 0.0f to 0. + (WebCore::SVGStopElement::svgAttributeChanged): Add missing implementation, calling RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) on offsetAttr changes. + * svg/SVGStopElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::svgAttributeChanged): Don't call invalidateResourceInAncestorChain() on every attribute change, do it in all classes inheriting from us, + for specific attributes. Also stop calling RenderSVGResource::invalidateAllResourcesOfRenderer(), all handled in the render tree now. + (WebCore::SVGStyledElement::invalidateResourceClients): Early exit, if document is still parsing. + * svg/SVGStyledElement.h: + * svg/SVGTRefElement.cpp: + (WebCore::SVGTRefElement::svgAttributeChanged): Call RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer) instead of renderer->setNeedsLayout(true). + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::svgAttributeChanged): Ditto. + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::svgAttributeChanged): Ditto. + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::svgAttributeChanged): Ditto. + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::svgAttributeChanged): Ditto. + (WebCore::SVGUseElement::updateContainerSizes): Ditto. + (WebCore::SVGUseElement::updateContainerOffsets): Ditto. + +2010-07-16 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Eric Seidel. + + Some SVGs with empty <g> elements crash Chromium on Linux + https://bugs.webkit.org/show_bug.cgi?id=41175 + + Avoid painting of zero-sized image buffers. Skia can't handle it. + + Test: svg/filters/filter-empty-g.svg + + * WebCore/platform/graphics/skia/ImageBufferSkia.cpp: + (ImageBuffer::ImageBuffer): + +2010-07-16 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Fisher. + + Regression in r63100: Don't clear m_loadType in + FrameLoader::handledOnloadEvents, as it is used + to make some decisions after the load has actually + completed. + + Tickling this bug requires manipulation + via the API (layout tests don't appear to traverse + the correct codepath), so no layout test. + + https://bugs.webkit.org/show_bug.cgi?id=42298 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::handledOnloadEvents): Don't reset m_loadType. + (WebCore::FrameLoader::addExtraFieldsToRequest): Set subresource cache + policy in one place and don't depend on m_loadType. + +2010-07-15 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Darin Adler. + + Printing test results differ between machines, we should use ImageDiff instead + https://bugs.webkit.org/show_bug.cgi?id=20011 + + Added spoolAllPagesWithBoundaries into PrintContext. + + Test: printing/setPrinting.html + + * WebCore.base.exp: + * page/PrintContext.cpp: + (WebCore::PrintContext::spoolAllPagesWithBoundaries): + * page/PrintContext.h: + +2010-07-15 Kent Tamura <tkent@chromium.org> + + Unreviewed, small style fixes. + + * platform/chromium/ThemeChromiumMac.mm: + (WebCore::ThemeChromiumMac::inflateControlPaintRect): + * platform/mac/ThemeMac.mm: + (WebCore::ThemeMac::inflateControlPaintRect): + +2010-07-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Update LegacyHTMLTreeBuilder to insert whitespace between </head> and <body> + https://bugs.webkit.org/show_bug.cgi?id=42431 + + Insert these whitespace text nodes into the HTML element between <head> + and <body>, as required by HTML5. Previously, we just dropped them on + the floor. + + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::handleError): + +2010-07-15 Victor Wang <victorw@chromium.org> + + Reviewed by David Levin. + + [chromium] update KURLGoogle decodeURLEscapeSequences to + use googleurl public api so it does not access functions in + url_canon_internal. This is for chromium multi-dll build. + + https://bugs.webkit.org/show_bug.cgi?id=42177 + + Test: (unittest) WebKit\chromium\tests\KURLTest.cpp + + * platform/KURLGoogle.cpp: + (WebCore::decodeURLEscapeSequences): + +2010-07-15 Kent Tamura <tkent@chromium.org> + + Reviewed by Eric Seidel. + + [Chromium] Update ThemeChromiumMac.mm for the recent changes of ThemeMac.mm + https://bugs.webkit.org/show_bug.cgi?id=41932 + + Sync with ThemeMac.mm r61760. + This change doesn't contain r54299, r57603, r57734, r57741, and + r58533 because they conflict with Chromium change for + FlippedView(). + + * platform/chromium/ThemeChromiumMac.mm: + (WebCore::sizeFromNSControlSize): + (WebCore::sizeFromFont): + (WebCore::controlSizeFromPixelSize): + (WebCore::setControlSize): + (WebCore::convertControlStatesToThemeDrawState): + (WebCore::stepperSizes): + (WebCore::stepperControlSizeForFont): + (WebCore::paintStepper): + (WebCore::ThemeChromiumMac::controlSize): + (WebCore::ThemeChromiumMac::minimumControlSize): + (WebCore::ThemeChromiumMac::inflateControlPaintRect): + (WebCore::ThemeChromiumMac::paint): + +2010-07-15 MORITA Hajime <morrita@google.com> + + Reviewed by David Levin. + + [Chromium][Win] Crashes with <keygen> with huge padding. + https://bugs.webkit.org/show_bug.cgi?id=41737 + + When we try to draw a large region, TransparencyWin can fail to + allocate a temporal buffer for composition. This change adds a + fallback path to ThemePainter to handle the buffer allocation + failure. + + ThemePainter is no longer a subclass of TransparencyWin. It has + a TransparencyWin as a member. + + Test: fast/forms/large-parts.html + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::ThemePainter): Added a fallback path. + +2010-07-15 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Darin Adler. + + Fix for Bug 42362 - CSSSegmentedFontFace::isLoaded() const is not used anywhere + Remove the method. + https://bugs.webkit.org/show_bug.cgi?id=42362 + + No new tests because of no behavior changes. + + * css/CSSSegmentedFontFace.cpp: + * css/CSSSegmentedFontFace.h: + +2010-07-15 Erik Arvidsson <arv@chromium.org> + + Reviewed by David Levin. + + Add directional property enums to the switch in applyProperty + https://bugs.webkit.org/show_bug.cgi?id=42438 + + Build fix for chromium mac. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2010-07-13 Zhenyao Mo <zmo@google.com> + + Reviewed by Nate Chapin. + + bufferData and bufferSubData generate wrong error when null buffer is bound + https://bugs.webkit.org/show_bug.cgi?id=42125 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::bufferData): Call validateBufferDataParameters(). + (WebCore::WebGLRenderingContext::bufferSubData): Ditto. + (WebCore::WebGLRenderingContext::validateBufferDataParameters): Parameters validation for buffer{Sub}Data(). + * html/canvas/WebGLRenderingContext.h: Declare validateBufferDataParameters(). + +2010-07-15 Jay Civelli <jcivelli@chromium.org> + + Reviewed by David Levin. + + [chromium] Making the popup label color visible when the item is + selected. + https://bugs.webkit.org/show_bug.cgi?id=42271 + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::paintRow): paint the label text with a + different color when it is selected. + +2010-07-13 Zhenyao Mo <zmo@google.com> + + Reviewed by Nate Chapin. + + WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage + https://bugs.webkit.org/show_bug.cgi?id=34719 + + Tests: fast/canvas/webgl/canvas-test.html + fast/canvas/webgl/gl-pixelstorei.html + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::makeRenderingResultsAvailable): Paint the WebGL rendering results to canvas if it's 3d. + (WebCore::HTMLCanvasElement::toDataURL): Paint the WebGL rendering results to canvas if it's 3d. + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): Paint the WebGL rendering results to canvas if it's 3d before drawing. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::markContextChanged): Mark it always for canvas2d.drawImage purpose. + (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): Paint the WebGL rendering results to canvas if it's dirty. + * html/canvas/WebGLRenderingContext.h: Declare paintRenderingResultsToCanvas(). + * platform/graphics/GraphicsContext3D.h: Declare paintRenderingResultsToCanvas() & paintToCanvas(). + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::paintToCanvas): Paint the rendered image pixels to the canvas. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas(). + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::beginPaint): Just call paintRenderingResultsToCanvas(). + (WebCore::GraphicsContext3D::endPaint): + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): Implement paintRenderingResultsToCanvas(). + +2010-07-15 Nico Weber <thakis@chromium.org> + + Reviewed by Ojan Vafai. + + chromium/skia: Fix canvas.toDataURL in the presence of transparency + https://bugs.webkit.org/show_bug.cgi?id=42214 + + The problem was that SkBitmaps contain premultiplied data, but pnglib + doesn't expect premultiplied data. Now, the encoder unpremultiplies + data before sending it to pnglib. + + Patch partially by deanm. + + Covered by fast/canvas/toDataURL-alpha.html. + + * platform/image-encoders/skia/PNGImageEncoder.cpp: + (WebCore::preMultipliedBGRAtoRGBA): + (WebCore::encodeImpl): + (WebCore::PNGImageEncoder::encode): + +2010-07-15 Alex Nicolaou <anicolao@chromium.org> + + Reviewed by Eric Seidel. + + Convolution computation causes bad alpha channel values + https://bugs.webkit.org/show_bug.cgi?id=42273 + + Fixed by clamping colour channel values to the alpha value so that + r <= a, g <= a, and b <= a after the convolution is applied. See + the bug for why I believe the SVG specification needs to be updated. + Test must be drawn to crash. 100x100 green rectangle is used to + indicate pass to minimize the chance of regression. + + Test: svg/custom/convolution-crash.svg + + * platform/graphics/skia/SkiaUtils.cpp: + (WebCore::SkPMColorToColor): + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: + (WebCore::clampRGBAValue): + (WebCore::setDestinationPixels): + (WebCore::FEConvolveMatrix::fastSetInteriorPixels): + (WebCore::FEConvolveMatrix::fastSetOuterPixels): + +2010-07-15 Dumitru Daniliuc <dumi@chromium.org> + + Unreviewed, Chromium-specific changes that I forgot to make in r63278. + + 1. DatabaseTrackerChromium::getMaxSizeForDatabase() is called on + the context thread by sync DBs. + 2. Forgot to change V8SQLTransactionSyncCustom to return the + result set when executeSql() is called. + + * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: + (WebCore::V8SQLTransactionSync::executeSqlCallback): + * storage/chromium/DatabaseTrackerChromium.cpp: + (WebCore::DatabaseTracker::getMaxSizeForDatabase): + +2010-07-15 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Oliver Hunt. + + [GTK] Simplify the distribution step + https://bugs.webkit.org/show_bug.cgi?id=42414 + + No new tests as this is just a build change. + + * GNUmakefile.am: Modify EXTRA_DIST directly and make sure the list + of files is sorted. Also handle distributing the IDL files from the + WebCore source tree. + +2010-07-15 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + LegacyHTMLTreeBuilder should insert an implicit <colgroup> before inserting <col> to match HTML5 + https://bugs.webkit.org/show_bug.cgi?id=42346 + + This turned out to be an easy fix. + + This is covered by lots of layout tests. I believe + all of the changed results to be progressions. + + This change had no measurable effect on the parser benchmark. + + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::colCreateErrorCheck): + (WebCore::LegacyHTMLTreeBuilder::getNode): + * html/LegacyHTMLTreeBuilder.h: + +2010-07-15 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42410 + Many leaking DatasetDOMStringMaps seen on buildbot + + * dom/NodeRareData.h: + (WebCore::NodeRareData::~NodeRareData): Add a virtual destructor so + that the ElementRareData's destructor will be called when this is deleted + from the Node's destructor. + +2010-07-15 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: Crash when table has empty thead tag + https://bugs.webkit.org/show_bug.cgi?id=42391 + + Test: accessibility/table-with-empty-thead-causes-crash.html + + * accessibility/AccessibilityTableColumn.cpp: + (WebCore::AccessibilityTableColumn::headerObjectForSection): + +2010-07-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Start loading plug-in streams + https://bugs.webkit.org/show_bug.cgi?id=42407 + + Export some ResourceRequestBase getters. + + * WebCore.exp.in: + +2010-07-15 Kenneth Russell <kbr@google.com> + + Reviewed by Nate Chapin. + + Query of NUM_COMPRESSED_TEXTURE_FORMATS must be handled by WebGL + https://bugs.webkit.org/show_bug.cgi?id=42401 + + No new tests; covered by gl-get-calls.html. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getParameter): + - Return 0 for getParameter(NUM_COMPRESSED_TEXTURE_FORMATS). + +2010-07-07 John Gregg <johnnyg@google.com> + + Reviewed by Jian Li. + + Experimental directory upload feature. + https://bugs.webkit.org/show_bug.cgi?id=40872 + + This patch adds a new HTML attribute webkitdirectory which applies to + <input type="file"> tags and allows the user to specify a folder + which is recursively enumerated so that all the files in that folder + are added to the file list. + + The files chosen in that way have a .webkitRelativePath attribute which contains + the relative path starting from the chosen folder. The relative path is + also appended to each item in the FormData when uploaded. + + All the code is behind an ENABLE_DIRECTORY_UPLOAD flag. + + Test: fast/forms/input-file-directory-upload.html + + * html/Blob.cpp: + (WebCore::Blob::Blob): + * html/Blob.h: + * html/File.cpp: + (WebCore::File::File): + (WebCore::File::Init): + (WebCore::File::webkitRelativePath): + * html/File.h: + (WebCore::File::create): + * html/File.idl: + * html/HTMLAttributeNames.in: add webkitdirectory attribute + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setFileListFromRenderer): + (WebCore::HTMLInputElement::webkitdirectory): + * html/HTMLInputElement.h: + * html/HTMLInputElement.idl: + * platform/BlobItem.cpp: + (WebCore::FileBlobItem::create): + (WebCore::FileBlobItem::FileBlobItem): + * platform/BlobItem.h: + (WebCore::FileBlobItem::relativePath): + * platform/FileChooser.h: + (WebCore::FileChooser::allowsDirectoryUpload): + * platform/network/FormData.cpp: + (WebCore::FormData::appendKeyValuePairItems): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::allowsMultipleFiles): + (WebCore::RenderFileUploadControl::allowsDirectoryUpload): + * rendering/RenderFileUploadControl.h: + +2010-07-15 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Avoid creating huge compositing layers for elements that project outside the viewport + https://bugs.webkit.org/show_bug.cgi?id=42338 + + The logic that computed the bounds of compositing layers naively used the + union of the bounds of descendant, non-composited RenderLayers, without regard + to what is actually visible. This could result in huge layers for page with + elements are large negative offsets, or with large negative text-indent (both + common). + + For elements without transforms on them or in their ancestor chain, and when + no 3d transforms or hardware-accelerated animations are used, can clip compositing + layers to the size of the document, or based on CSS overflow and clip. + + Tests: compositing/geometry/limit-layer-bounds-clipping-ancestor.html + compositing/geometry/limit-layer-bounds-fixed-positioned.html + compositing/geometry/limit-layer-bounds-overflow-repaint.html + compositing/geometry/limit-layer-bounds-positioned-transition.html + compositing/geometry/limit-layer-bounds-positioned.html + compositing/geometry/limit-layer-bounds-transformed-overflow.html + compositing/geometry/limit-layer-bounds-transformed.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::enclosingOverflowClipAncestor): Walk up the RenderLayer tree + looking for an ancestor that has overflow, or to the root. Along the way, check for + transformed elements. + (WebCore::RenderLayerBacking::updateCompositedBounds): If we're in "consult + overlap" mode, and we don't have transforms, then constrain the bounds + of composited layers by the RenderView's layoutOverflowRect(), or by the + enclosing layer with overflow. + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If the offset from the renderer changes, + we need to repaint the layer. + +2010-07-15 Alex Nicolaou <anicolao@chromium.org> + + Reviewed by Dirk Schulze. + + https://bugs.webkit.org/show_bug.cgi?id=42228 + + SVG Masks were in the wrong colour space for non-CG graphics layers, + because for those cases ImageBuffer needs to be explicitly told to + convert the pixels. This change adds a test that demonstrates the + problem and the conversion call to make the mask LinearRGB. + + Test: svg/custom/mask-colorspace.svg + + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::createMaskImage): + +2010-07-15 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + [Mac] Implement LayoutTestController::markerTextForListItem() + https://bugs.webkit.org/show_bug.cgi?id=37929 + + Export symbols for WebCore::markerTextForListItem() and WebCore::toElement(). + + * WebCore.exp.in: + +2010-07-15 Andreas Kling <andreas.kling@nokia.com> + + Rubber-stamped by Kenneth Rohde Christiansen. + + [Qt] Remove an unused variable in BitmapImage::draw() + + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): Remove selfSize. + +2010-07-15 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: pass all parameters to WebInspector.addConsoleMessage as a single payload object + https://bugs.webkit.org/show_bug.cgi?id=42345 + + This refactoring is covered by existing console tests. + + * bindings/js/ScriptArray.cpp: + (WebCore::ScriptArray::set): + * bindings/js/ScriptArray.h: + (WebCore::ScriptArray::ScriptArray): + (WebCore::ScriptArray::jsArray): + * bindings/v8/ScriptArray.cpp: + (WebCore::ScriptArray::set): + * bindings/v8/ScriptArray.h: + (WebCore::ScriptArray::ScriptArray): + (WebCore::ScriptArray::~ScriptArray): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::addConsoleMessage): + * inspector/InspectorFrontend.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.createTextMessage): + (WebInspector.ConsoleCommandResult): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.generateStylesheet): + * inspector/front-end/InjectedScriptAccess.js: + (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback): + (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): + (InjectedScriptAccess._installHandler): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._checkWarning): + * inspector/front-end/inspector.js: + (WebInspector.updateConsoleMessageExpiredCount): + (WebInspector.addConsoleMessage): + (WebInspector.log.logMessage): + (WebInspector.log): + +2010-07-14 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + Backfill DNS and connect times rather than exposing hard zeros + https://bugs.webkit.org/show_bug.cgi?id=42303 + + There are several cases where domain lookup is not performed and/or a new connection is not established. Previously in these cases, we exposed a "0" to the API. Now, we instead "backfill" with the most recent mark's time. + + Also, previously, I was using the ResourceLoadTiming API incorrectly. Each mark is an integer representing offset in milliseconds from requestTime. So all values need to be added to requestTime. + + No new test because existing test expectations are set to FAIL because disable disabled by default. The expected results of existings tests change as expected when enabled. + + * page/Timing.cpp: + (WebCore::toIntegerMilliseconds): Move to file static instead of class static because it might generate more optimal code. Also, instead of converting negative doubles to zero, ASSERT that they are >= 0. This is because we no longer expose hard zeros for DNS and connect, so we want to be sure that the -1s returned by the API are properly handled. + (WebCore::Timing::domainLookupStart): + (WebCore::Timing::domainLookupEnd): + (WebCore::Timing::connectStart): + (WebCore::Timing::connectEnd): + (WebCore::Timing::requestStart): + (WebCore::Timing::requestEnd): + (WebCore::Timing::responseStart): + * page/Timing.h: + +2010-07-15 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: differentiate between blocking and connecting timers. + + https://bugs.webkit.org/show_bug.cgi?id=42372 + + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::updateResponse): + (WebCore::InspectorResource::updateScriptObject): + (WebCore::InspectorResource::buildObjectForTiming): + * inspector/InspectorResource.h: + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.get cached): + (WebInspector.Resource.prototype.set cached): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._showPopover): + (WebInspector.ResourceGraph): + (WebInspector.ResourceGraph.prototype.refresh): + (WebInspector.ResourceGraph.prototype._cachedChanged): + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadedResourceFromMemoryCache): + * loader/FrameLoader.h: + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::ResourceResponseBase): + (WebCore::ResourceResponseBase::connectionReused): + (WebCore::ResourceResponseBase::setConnectionID): + * platform/network/ResourceResponseBase.h: + +2010-07-15 MORITA Hajime <morrita@google.com> + + Text layout is wrong with a SVG Font that lacks <missing-glyph> element + https://bugs.webkit.org/show_bug.cgi?id=42352 + + floatWidthOfSubStringUsingSVGFont() calculated a wrong value for a + sub-run, and a fallback to system font triggers such a computation. + This change made floatWidthOfSubStringUsingSVGFont() to deal with + sub-runs. + + Test: svg/custom/svg-fonts-without-missing-glyph.xhtml + + * svg/SVGFont.cpp: + (WebCore::floatWidthOfSubStringUsingSVGFont): + +2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Cycle detection needs to include shadow tree + https://bugs.webkit.org/show_bug.cgi?id=42360 + + Search for cycles in shadow tree fragments as well. Extended the svg/custom/recursion-* tests. No more crashes in any of them. + + * rendering/RenderSVGResourceContainer.h: + (WebCore::RenderSVGResourceContainer::containsCyclicReference): + * rendering/RenderSVGShadowTreeRootContainer.cpp: Implemented here, not inline, so that clients don't need to include SVGShadowTreeElements.h + (WebCore::RenderSVGShadowTreeRootContainer::rootElement): Expose helper function, that returns the shadow tree root element as Node*. + * rendering/RenderSVGShadowTreeRootContainer.h: + +2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + clipPath is missing cycle detection + https://bugs.webkit.org/show_bug.cgi?id=42350 + + Detect cyclic clipper resources, and ignore them on rendering. Early exit in applyResource just like the pattern/mask resources do. + + * rendering/RenderSVGResourceClipper.cpp: + (WebCore::RenderSVGResourceClipper::applyResource): + (WebCore::RenderSVGResourceClipper::hitTestClipContent): + (WebCore::RenderSVGResourceClipper::childElementReferencesResource): + * rendering/RenderSVGResourceClipper.h: + +2010-07-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix a leak of Vector instances seen on the build bot. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): Don't unnecessarily heap allocate then leak the DashArray. + +2010-07-15 Mark Rowe <mrowe@apple.com> + + Update the sorting in the Xcode project files. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel. + + SVG patterns and masks should not be able to reference themselves + https://bugs.webkit.org/show_bug.cgi?id=32171 + + Pattern still had an issue, when using constructs like: + <pattern id="pattern1" xlink:href="#pattern2"/> + <pattern id="pattern2"><rect fill="url(#pattern1)"/></pattern> + + Extended test svg/custom/recursive-pattern.svg to cover this situation. + + * rendering/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): Don't perform the cycle check against node()... + (WebCore::RenderSVGResourcePattern::createTileImage): .. but against the "patternContentElement" which respect the xlink:href chaining. + +2010-07-15 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Adam Barth. + + Pixel test failure in moving-shadow-on-path.html and moving-shadow-on-container.html + https://bugs.webkit.org/show_bug.cgi?id=42249 + + Partly revert <http://trac.webkit.org/changeset/63307>. The RenderSVGRoot change caused a pixel test regression in two fast/repaint tests. + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): Include selfNeedsLayout() check in LayoutStateRepainter argument. + +2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63352. + http://trac.webkit.org/changeset/63352 + https://bugs.webkit.org/show_bug.cgi?id=42341 + + Broke plugin-initiate-popup-window.html and plugin-javascript- + access.html on snow leopard (Requested by abarth on #webkit). + + * bindings/v8/NPV8Object.cpp: + (_NPN_EvaluateHelper): + +2010-07-14 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make the LegacyHTMLTreeBuilder coalesce text nodes + https://bugs.webkit.org/show_bug.cgi?id=42314 + + This is slightly tricky as we're side-stepping the old + parsers insertion logic in the cases where we know we can + safely merge text into an existing text node instead of + inserting a new one. + + This affects lots of tests (which will need to change for + the HTML5 TreeBuilder anyway) and causes the LegacyHTMLTreeBuilder + to now pass a bunch more subtests in html5lib/runner.html. + + The parser benchmark thinks that this is a small speedup. + I think I happen to have been lucky enough to get the right + cache alignment, and that this is likely a wash. + + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::parseToken): + +2010-07-14 Evan Stade <estade@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] Linux scrollbar steppers are "clickable" even when disabled + https://bugs.webkit.org/show_bug.cgi?id=42231 + + Not tested by layout tests. + + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + +2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63389. + http://trac.webkit.org/changeset/63389 + https://bugs.webkit.org/show_bug.cgi?id=42311 + + It broke the Chromium Linux build. (Requested by dave_levin on + #webkit). + + * platform/KURLGoogle.cpp: + (WebCore::decodeURLEscapeSequences): + +2010-07-13 Mirko Damiani <mirko@develer.com> + + Reviewed by Simon Hausmann. + + [Qt] CSS border style not cleared for SVG object + https://bugs.webkit.org/show_bug.cgi?id=42150 + + For tests and description see: + https://bugs.webkit.org/show_bug.cgi?id=25738 + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setLineDash): + +2010-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTMLTreeBuilder shouldn't crash during fast/parser/remove-parser-current-node.html + https://bugs.webkit.org/show_bug.cgi?id=42312 + + We were crashing because of an ASSERT I added to the attach logic in + the HTMLConstructionSite. I knew this ASSERT was wrong when I added + it, I just wanted to make sure we had test coverage of those cases. + Turns out we do! :) + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::attachAtSite): + +2010-07-14 Victor Wang <victorw@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] update KURLGoogle decodeURLEscapeSequences to + use googleurl public api so it does not access functions in + url_canon_internal. This is for chromium multi-dll build. + + https://bugs.webkit.org/show_bug.cgi?id=42177 + + Test: (unittest) WebKit\chromium\tests\KURLTest.cpp + + * platform/KURLGoogle.cpp: + (WebCore::decodeURLEscapeSequences): + +2010-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Avoid extra memcpy of character tokens + https://bugs.webkit.org/show_bug.cgi?id=42002 + + Eric tells me this patch makes the new tree builder 1% faster than the + old tree builder on our parser benchmark. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::AtomicHTMLToken): + (WebCore::AtomicHTMLToken::characters): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer): + (WebCore::convertToOldStyle): + (WebCore::HTMLTreeBuilder::processFakeCharacters): + +2010-07-14 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder foster parents when it should not + https://bugs.webkit.org/show_bug.cgi?id=42235 + + Regarding foster parenting of nodes inside tables: + "Process the token using the rules for the "in body" insertion mode, + except that if the current node is a table, tbody, tfoot, thead, or + tr element, then, whenever a node would be inserted into the current + node, it must instead be foster parented." + + We were forgetting the "when the current node is" part of that check + and always foster parenting, even if we had just inserted another + element (which would have just changed the current node). + + This was covered by multiple tests in html5lib/runner.html + but I wrote a reduction (one which I included) as it makes it + easier to see what's going on. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLNames::causesFosterParenting): + (WebCore::HTMLConstructionSite::attach): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertHTMLHeadElement): + (WebCore::HTMLConstructionSite::insertHTMLBodyElement): + (WebCore::HTMLConstructionSite::insertTextNode): + (WebCore::HTMLConstructionSite::shouldFosterParent): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-14 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/8131355> Apps load stale versions of pages when initial load happens via back/forward navigation. + + No test case is added because DumpRenderTree is not able to test the scenario where the initial load in a WebView + occurs via a back/forward navigation. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::navigateToDifferentDocument): When the first load in a page is a back/forward navigation, we + shouldn't try to prefer cached data but should do revalidation by default. + (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto. + +2010-07-14 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + Breaks all dependencies on Page from platform/ and cleans up GLES2Context lifetime + https://bugs.webkit.org/show_bug.cgi?id=42203 + + Rather than constructing a GLES2Context from a Page, pass the LayerRendererChromium + a GLES2Context in from the constructor. This way the platform/ directory can remain + ignorant of Page and friends. Also adds functions on ChromeClientChromium to request + onscreen and offscreen GLES2Contexts for callers in WebCore that need them. + + * page/chromium/ChromeClientChromium.h: + * platform/chromium/GLES2Context.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Add functions to extract individual RGBA32 components + https://bugs.webkit.org/show_bug.cgi?id=42305 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::willDraw): Use alphaChannel() + * platform/graphics/Color.h: + (WebCore::redChannel): + (WebCore::greenChannel): + (WebCore::blueChannel): + (WebCore::alphaChannel): + (WebCore::Color::red): + (WebCore::Color::green): + (WebCore::Color::blue): + (WebCore::Color::alpha): + +2010-07-14 Alexey Proskuryakov <ap@apple.com> + + Not reviewed. + + https://bugs.webkit.org/show_bug.cgi?id=42201 + Use ResourceHandle object for synchronous loading + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::loadResourceSynchronously): Fix an obvious typo. + +2010-07-14 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + https://bugs.webkit.org/show_bug.cgi?id=42201 + Use ResourceHandle object for synchronous loading + + Fix a Tiger test failure. + + Setting NSURLRequest properties has been moved to createNSURLConnection to share code between + sync and async cases, but on Tiger, we don't call this function. + + There is more refactoring needed to make this nice, and we need to figure out if some of + request-tweaking code in createNSURLConnection needs to run on every redirect, as it happens + with CFNetwork version. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::loadResourceSynchronously): Set main document for cookies, which is + the only thing we've been missing. + +2010-07-14 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Dan Bernstein. + + * WebCore.xcodeproj/project.pbxproj: Silence rsync. + +2010-07-14 Darin Adler <darin@apple.com> + + Reviewed by Gavin Barraclough. + + Fix warning seen with newer gcc (on Qt buildbot). + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + Add parentheses around && expression. + +2010-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Avoid extra memcpy of character tokens + https://bugs.webkit.org/show_bug.cgi?id=42002 + + This patch is just some cleanup to make fixing this bug easier. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::~ExternalCharacterTokenBuffer): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingWhitespace): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeadingWhitespace): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo): + (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace): + (WebCore::HTMLTreeBuilder::processDoctypeToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processCharacterBuffer): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::defaultForInitial): + (WebCore::HTMLTreeBuilder::defaultForBeforeHTML): + (WebCore::HTMLTreeBuilder::defaultForBeforeHead): + (WebCore::HTMLTreeBuilder::defaultForInHead): + (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript): + (WebCore::HTMLTreeBuilder::defaultForAfterHead): + (WebCore::HTMLTreeBuilder::defaultForInTableText): + * html/HTMLTreeBuilder.h: + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: Don't add shadow rect to dirty region when shadow alpha is 0 + https://bugs.webkit.org/show_bug.cgi?id=42300 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::willDraw): + +2010-07-14 Kevin Ollivier <kevino@theolliviers.com> + + [CURL] Build fix after request -> firstRequest rename. + + * platform/network/curl/FormDataStreamCurl.cpp: + (WebCore::FormDataStream::read): + (WebCore::FormDataStream::hasMoreElements): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::headerCallback): + (WebCore::ResourceHandleManager::setupPOST): + (WebCore::parseDataUrl): + (WebCore::ResourceHandleManager::dispatchSynchronousJob): + (WebCore::ResourceHandleManager::startJob): + (WebCore::ResourceHandleManager::initializeHandle): + +2010-07-14 Simon Fraser <simon.fraser@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/8186963> Expose information about compositing layers. + + Expose information about the types of compositing layers via RenderLayerBacking::compositingLayerType(). + + * WebCore.exp.in: Export WebCore::SpaceSplitStringData::createVector(). + * WebCore.xcodeproj/project.pbxproj: Make RenderLayerBacking.h a Private header for use by WebKit. + * platform/graphics/GraphicsLayer.h: Add hasContentsLayer() and usingTiledLayer() methods. + (WebCore::GraphicsLayer::hasContentsLayer): + (WebCore::GraphicsLayer::usingTiledLayer): + * platform/graphics/mac/GraphicsLayerCA.h: + (WebCore::GraphicsLayerCA::hasContentsLayer): Return true if we have a contents layer. + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::compositingLayerType): Return information about the type of composited layer. + * rendering/RenderLayerBacking.h: + +2010-07-14 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + TreeWalker::previousSibling calls firstChild instead of lastChild when handling FILTER_SKIP + https://bugs.webkit.org/show_bug.cgi?id=42008 + + TreeWalker::previousNode does not handle FILTER_REJECT when processing lastChild + https://bugs.webkit.org/show_bug.cgi?id=42010 + + Tests: fast/dom/TreeWalker/previousNodeLastChildReject.html + fast/dom/TreeWalker/previousSiblingLastChildSkip.html + + * dom/TreeWalker.cpp: + (WebCore::TreeWalker::previousSibling): Call lastChild instead of firstChild. + (WebCore::TreeWalker::previousNode): Fix handling of FILTER_REJECT by exiting + the lastChild loop when we encounter it. + +2010-07-14 Sam Weinig <sam@webkit.org> + + Reviewed by Brady Eidson. + + Fix crashing layout test on snowleopard. + + * platform/mac/CursorMac.mm: + (WebCore::Cursor::ensurePlatformCursor): Make sure to retain the cursor. + +2010-07-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: aria-checked not recognized on image map radio buttons + https://bugs.webkit.org/show_bug.cgi?id=42055 + + Moves some code from AccessibilityRenderObject to AccessibilityObject so that + elements that do not have render objects, but do have Nodes (like image map links + and list box options) can still make use of certain aria attributes. + + Test: platform/mac/accessibility/image-map-link-used-as-radiobutton.html + + * accessibility/AccessibilityImageMapLink.cpp: + (WebCore::AccessibilityImageMapLink::roleValue): + (WebCore::AccessibilityImageMapLink::accessibilityDescription): + (WebCore::AccessibilityImageMapLink::title): + Make imageMap use standard AccessibilityObject methods for getAttribute() + * accessibility/AccessibilityImageMapLink.h: + (WebCore::AccessibilityImageMapLink::node): + * accessibility/AccessibilityListBoxOption.cpp: + (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored): + (WebCore::AccessibilityListBoxOption::stringValue): + * accessibility/AccessibilityListBoxOption.h: + (WebCore::AccessibilityListBoxOption::node): + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::language): + Language method doesn't need a node() anymore, it can use the node from AccessibilityObject. + (WebCore::renderListItemContainerForNode): + (WebCore::AccessibilityObject::getAttribute): + (WebCore::AccessibilityObject::intValue): + Move intValue into AccessibilityObject. + (WebCore::AccessibilityObject::hasIntValue): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::isCheckbox): + (WebCore::AccessibilityObject::isRadioButton): + (WebCore::AccessibilityObject::isCheckboxOrRadio): + Consolidate what defines a checkbox and radio button into AccessibilityObject. + (WebCore::AccessibilityObject::node): + (WebCore::AccessibilityObject::headingLevel): + (WebCore::AccessibilityObject::isDetached): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isPasswordField): + (WebCore::AccessibilityRenderObject::headingLevel): + (WebCore::AccessibilityRenderObject::selectedTabItem): + (WebCore::AccessibilityRenderObject::hierarchicalLevel): + (WebCore::AccessibilityRenderObject::node): + (WebCore::AccessibilityRenderObject::intValue): + * accessibility/AccessibilityRenderObject.h: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemAccessibilityText): + Stop using AccessibilityObjects getAttribute (no reason to use it really). + +2010-07-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7759909> Certain text runs measure 1 pixel wider when measured as a whole than when measured piecewise + https://bugs.webkit.org/show_bug.cgi?id=42279 + + No test because the issue cannot be reproduced with standard fonts. + + Word- and run-rounding works by advancing ahead to the nearest integral width. As the total + width accumulated becomes large, the float type’s low precision results in accumulated rounding + error, sometimes crossing an integer. Consequently, word-rounding makes different decisions when + measuring a multi-word run than when measuring its words individually. To work around this, + word- and run-rounding are applied only to the width accumulated since the last rounding + character. + + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * platform/graphics/mac/ComplexTextController.cpp: + (WebCore::ComplexTextController::adjustGlyphsAndAdvances): + +2010-07-14 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Adler. + + Fix enum value names for Navigation.{idl|h} + https://bugs.webkit.org/show_bug.cgi?id=42282 + + This is necessary after https://bugs.webkit.org/show_bug.cgi?id=42250. + + No new tests because no new functionality. + + * page/Navigation.cpp: + (WebCore::Navigation::type): + * page/Navigation.h: + (WebCore::Navigation::): + +2010-07-14 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=41292 + Set right UserGestureIndicator to indicate whether the NPN_Evaluate allows popup window or not. + + Test: plugins/plugin-initiate-popup-window.html + + * bindings/v8/NPV8Object.cpp: + (_NPN_EvaluateHelper): + +2010-07-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Bug 42117 - AX: Data table heuristics: consider assuming data table for 'zebra-striped' rows + https://bugs.webkit.org/show_bug.cgi?id=42117 + + Test: platform/mac/accessibility/table-with-zebra-rows.html + + * accessibility/AccessibilityTable.cpp: + (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): + +2010-07-14 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: VoiceOver cannot navigate this page because Safari is taking too long + https://bugs.webkit.org/show_bug.cgi?id=42219 + + No tests. Existing tests cover change. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::boundingBoxRect): + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: Fast-path for assigning the same color string as before to fillStyle or strokeStyle + https://bugs.webkit.org/show_bug.cgi?id=42272 + + Always route assignment of color strings via setFillColor() or setStrokeColor() + where we can check it against the previous value and return early if it's the same. + + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::toHTMLCanvasStyle): + (WebCore::JSCanvasRenderingContext2D::strokeStyle): + (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): + (WebCore::JSCanvasRenderingContext2D::setFillStyle): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeStyle): + (WebCore::CanvasRenderingContext2D::setFillStyle): + (WebCore::CanvasRenderingContext2D::setStrokeColor): + (WebCore::CanvasRenderingContext2D::setFillColor): + * html/canvas/CanvasRenderingContext2D.h: + +2010-07-14 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + Separate line-ending conversion code from BlobItem + https://bugs.webkit.org/show_bug.cgi?id=40932 + + Add common line-ending normalization code under platform/text. + No new tests as it doesn't change any functionality. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/BlobBuilder.cpp: + (WebCore::BlobBuilder::appendString): + * html/FormDataList.cpp: + (WebCore::FormDataList::appendString): + * platform/BlobItem.cpp: + * platform/BlobItem.h: + * platform/text/LineEnding.cpp: Added. + * platform/text/LineEnding.h: Added. + +2010-07-14 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler. + + Implement border-start and border-end properties + https://bugs.webkit.org/show_bug.cgi?id=41782 + + Test: fast/css/border-start-end.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSProperty.cpp: + (WebCore::CSSProperty::resolveDirectionAwareProperty): + * css/CSSPropertyNames.in: + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + +2010-07-14 Alexey Proskuryakov <ap@apple.com> + + Tiger and Gtk build fixes. + + https://bugs.webkit.org/show_bug.cgi?id=42201 + Use ResourceHandle object for synchronous loading + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::createNSURLConnection): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::startHttp): + +2010-07-14 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=42232 + Make changing Cursors work in WebKit2. + + - Converted Mac and Windows Cursor implementations to lazily + create the platform cursor. + - Add HostWindow function to set the cursor and use it from Widget::setCursor. + - Rework Windows cursor code to use fewer global variables. + + * WebCore.exp.in: Updated + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::setCursor): + (WebCore::EmptyChromeClient::setLastSetCursorToCurrentCursor): + Added empty implementations. + + * page/Chrome.cpp: + (WebCore::Chrome::setCursor): + * page/Chrome.h: + * page/ChromeClient.h: + Change existing setCursor() function to take a Cursor instead of a + PlatformCursorHandle. Added setLastSetCursorToCurrentCursor. + + * platform/Cursor.cpp: + * platform/Cursor.h: + Added Cursor Type and the option of lazily creating the native cursor + (used on Mac and Windows for now). + + * platform/HostWindow.h: + Add setCursor. + + * platform/mac/CursorMac.mm: + (WebCore::createCustomCursor): This no longer needs to call determineHotSpot + as that is done when on construction of the cursor now and the hotSpot passed + in is correct. + (WebCore::Cursor::ensurePlatformCursor): + (WebCore::Cursor::Cursor): + (WebCore::Cursor::~Cursor): + (WebCore::Cursor::operator=): + (WebCore::Cursor::platformCursor): + Convert to lazily creating the native cursor on the first request and + storing the type. + + * platform/mac/WidgetMac.mm: + (WebCore::Widget::setCursor): + Use HostWindow::setCursor to set the cursor. This in turn will call the + ChromeClient. + + * platform/win/CursorWin.cpp: + (WebCore::createSharedCursor): + (WebCore::loadSharedCursor): + (WebCore::loadCursorByName): + (WebCore::Cursor::ensurePlatformCursor): + (WebCore::SharedCursor::~SharedCursor): + (WebCore::Cursor::Cursor): + (WebCore::Cursor::~Cursor): + (WebCore::Cursor::operator=): + (WebCore::Cursor::platformCursor): + Convert to lazily creating the native cursor on the first request and + storing the type. + + * platform/win/WidgetWin.cpp: + (WebCore::Widget::setCursor): + Use HostWindow::setCursor to set the cursor. This in turn will call the + ChromeClient. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::handleMouseEvent): + Use the new setLastSetCursorToCurrentCursor client function to ensure + the cursor is properly updated when over a plugin. + + * platform/chromium/CursorChromium.cpp: + * platform/efl/CursorEfl.cpp: + * platform/gtk/CursorGtk.cpp: + * platform/haiku/CursorHaiku.cpp: + * platform/wince/CursorWince.cpp: + * platform/wx/CursorWx.cpp: + * platform/qt/CursorQt.cpp: + Change m_impl -> m_platformCursor. + +2010-07-13 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + reconstructActiveFormElements should reconstruct attributes as well + https://bugs.webkit.org/show_bug.cgi?id=42222 + + The case in question is "<p><b foo='bar'></p>text</b>". + When the "b" is re-opened to wrap the text it should include + any attributes from the original (now closed) tag name. + + There are also similar cases for the Adoption Agency algorithm, but since + the html5lib test suite did not cover those (and it wasn't immediately + obvious to me how to test those) I've saved fixing that bug for a + later patch. For now I've just made the adoption agency use + HTMLConstructionSite::createHTMLElementFromElementRecord so the + FIXME can be in one place instead of two. + + In order to cleanly support createHTMLElementFromSavedElement + I re-factored "attachToCurrent" out from createHTMLElementAndAttachToCurrent + and changed all callers to use attachToCurrent(createHTMLElement(token)). + + This is covered by two existing tests in html5lib/runner.html + and I wrote two more. One to cover the basic case that we now pass + and a second to cover an evil edge case which we do not. + + * html/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::attachToCurrent): + (WebCore::HTMLConstructionSite::insertHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertHTMLHeadElement): + (WebCore::HTMLConstructionSite::insertHTMLBodyElement): + (WebCore::HTMLConstructionSite::insertHTMLElement): + (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement): + (WebCore::HTMLConstructionSite::insertScriptElement): + (WebCore::HTMLConstructionSite::insertForeignElement): + (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord): + (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement): + (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements): + * html/HTMLConstructionSite.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42201 + Use ResourceHandle object for synchronous loading + + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::ResourceHandle): Moved common tasks from create() to constructor. + (WebCore::ResourceHandle::firstRequest): Renamed from request(). This is not changed with + redirect, so the old name was quite confusing. + + * platform/network/ResourceHandle.h: Made createNSURLConnection() a member function, since + it now needs access to both ResourceHandle and ResourceHandleInternal. Added createCFURLConnection(). + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): Renamed m_request to m_firstRequest. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCoreSynchronousLoaderClient): Replaced an Objective C delegate class with a ResourceHandleClient + subclass. This allows for much better code sharing, with common logic is in ResourceHandle. + (WebCore::ResourceHandle::createNSURLConnection): Factored out more code that is common + between sync and async parts. + (WebCore::ResourceHandle::start): Ditto. + (WebCore::ResourceHandle::cancel): Updated for firstRequest() renaming. + (WebCore::ResourceHandle::loadResourceSynchronously): Use ResourceHandle and ResourceHandleClient, + like a good loader. + (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Updated for firstRequest() renaming. + (WebCore::ResourceHandle::receivedCredential): Ditto. + (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto. + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::WebCoreSynchronousLoaderClient::create): + (WebCore::WebCoreSynchronousLoaderClient::setAllowStoredCredentials): + (WebCore::WebCoreSynchronousLoaderClient::isDone): + (WebCore::WebCoreSynchronousLoaderClient::data): + (WebCore::WebCoreSynchronousLoaderClient::WebCoreSynchronousLoaderClient): + (WebCore::willSendRequest): + (WebCore::didReceiveResponse): + (WebCore::didReceiveData): + (WebCore::shouldUseCredentialStorageCallback): + (WebCore::didFinishLoading): + (WebCore::didFail): + (WebCore::didReceiveChallenge): + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + (WebCore::ResourceHandle::~ResourceHandle): + (WebCore::ResourceHandle::createCFURLConnection): + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): + (WebCore::ResourceHandle::receivedCredential): + (WebCore::ResourceHandle::loadResourceSynchronously): + (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): + (WebCore::WebCoreSynchronousLoaderClient::didReceiveResponse): + (WebCore::WebCoreSynchronousLoaderClient::didReceiveData): + (WebCore::WebCoreSynchronousLoaderClient::didFinishLoading): + (WebCore::WebCoreSynchronousLoaderClient::didFail): + (WebCore::WebCoreSynchronousLoaderClient::didReceiveAuthenticationChallenge): + (WebCore::WebCoreSynchronousLoaderClient::shouldUseCredentialStorage): + Same changes for CFNetwork version. Now it's a more direct copy/paste than before, some + day we'll share the code. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::continueAfterContentPolicy): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::createResourceHandle): + (WebCore::ApplicationCacheGroup::didReceiveResponse): + (WebCore::ApplicationCacheGroup::didFinishLoading): + (WebCore::ApplicationCacheGroup::didFail): + (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::didReceiveResponse): + (WebCore::IconLoader::didFail): + (WebCore::IconLoader::didFinishLoading): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::headerCallback): + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::startHttp): + Updated for request() -> firstRequest renaming. + +2010-07-14 Marcus Bulach <bulach@chromium.org> + + Reviewed by Jeremy Orlow. + + Code generator: ensure generated constants match their corresponding enums. + https://bugs.webkit.org/show_bug.cgi?id=42250 + + Specific interfaces can use DontCheckEnums attribute to avoid generating the compile-time check. + + Tests: updated bindings tests. Generated code should compile. + + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestObj.h: + (WebDOMTestObj::): + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + (WebCore::JSTestObjPrototype::getOwnPropertySlot): + (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor): + (WebCore::jsTestObjCONST_VALUE_0): + (WebCore::jsTestObjCONST_VALUE_1): + (WebCore::jsTestObjCONST_VALUE_2): + (WebCore::jsTestObjCONST_VALUE_4): + (WebCore::jsTestObjCONST_VALUE_8): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::): + (WebCore::ConfigureV8TestObjTemplate): + * css/WebKitCSSTransformValue.idl: + * dom/DOMCoreException.idl: + * dom/EventException.idl: + * dom/Node.idl: + * dom/OverflowEvent.idl: + * dom/RangeException.idl: + * html/FileError.idl: + * html/FileReader.idl: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.idl: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.idl: + * html/canvas/WebGLRenderingContext.idl: + * inspector/JavaScriptCallFrame.idl: + * loader/appcache/DOMApplicationCache.idl: + * storage/SQLException.idl: + * svg/SVGComponentTransferFunctionElement.idl: + * svg/SVGException.idl: + * svg/SVGFEBlendElement.idl: + * svg/SVGFEColorMatrixElement.idl: + * svg/SVGFECompositeElement.idl: + * svg/SVGFEConvolveMatrixElement.idl: + * svg/SVGFEDisplacementMapElement.idl: + * svg/SVGFEMorphologyElement.idl: + * svg/SVGFETurbulenceElement.idl: + * svg/SVGGradientElement.idl: + * xml/XMLHttpRequestException.idl: + * xml/XPathException.idl: + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Ojan Vafai. + + Unbreak fast/canvas/gradient-add-second-start-end-stop.html + + Assigning the same CanvasGradient or CanvasPattern to fillStyle + or strokeStyle may not be a no-op since the object could have been + modified since it was last set. + + Regressed with <http://trac.webkit.org/changeset/63327> + + * html/canvas/CanvasStyle.cpp: + (WebCore::operator==): + +2010-07-14 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: Make assigning the same fillStyle or strokeStyle a fast no-op + https://bugs.webkit.org/show_bug.cgi?id=42267 + + Avoid calling into GraphicsContext when setting a style to its current value. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeStyle): Return early if the + new style is the same as the current one. + (WebCore::CanvasRenderingContext2D::setFillStyle): Same. + * html/canvas/CanvasStyle.cpp: + (WebCore::operator==): Added operator==(CanvasStyle, CanvasStyle) + * html/canvas/CanvasStyle.h: + +2010-07-14 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + Implement Web Timing redirectStart, redirectEnd, redirectCount + https://bugs.webkit.org/show_bug.cgi?id=42018 + + Tests: http/tests/misc/webtiming-one-redirect.php + http/tests/misc/webtiming-two-redirects.php + + * loader/FrameLoaderTypes.h: + (WebCore::FrameLoadTimeline::FrameLoadTimeline): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): This method is called for each request (including server redirects). fetchStart is updated to the current time on each invocation so that it represents fetching of the final document and doesn't include redirect time. For each redirect, redirectCount is incremented and redirectStart to redirectEnd measures the cumulative fetch time for all redirects. + * page/Navigation.cpp: + (WebCore::Navigation::redirectCount): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-count + * page/Timing.cpp: + (WebCore::Timing::redirectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-start + (WebCore::Timing::redirectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-redirect-end + * page/Timing.h: + * page/Timing.idl: + +2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Antonio Gomes. + + Generate MathML files with CMake even if MathML is disabled. This + fixes EFL build after r63274. + https://bugs.webkit.org/show_bug.cgi?id=42263 + + No new functionality, so no new tests. + + * CMakeLists.txt: + +2010-07-14 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Get rid of libWebCoreJS + https://bugs.webkit.org/show_bug.cgi?id=42083 + + Remove the need to build libWebCoreJS. + + * GNUmakefile.am: List all auto-generated source files for libWebCoreJS + instead of relying on make to build libWebCoreJS. This is a more autotools- + -friendly approach. + +2010-07-14 Eric Carlson <eric.carlson@apple.com> + + One more unreviewed build fix for r63319. + + * html/TimeRanges.cpp: + (TimeRanges::nearest): + +2010-07-14 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Enable toggling of the "Inspect Element" mode from the browser + https://bugs.webkit.org/show_bug.cgi?id=42169 + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype.handleShortcut): + (WebInspector.ElementsPanel.prototype.toggleSearchingForNode): + * inspector/front-end/inspector.js: + (WebInspector.toggleSearchingForNode): + +2010-07-14 Eric Carlson <eric.carlson@apple.com> + + Unreviewed, build fix for r63319. + + * html/TimeRanges.cpp: + (TimeRanges::nearest): Include math.h and use narrowPrecisionToFloat. + +2010-07-14 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + Update media element's seeking logic + https://bugs.webkit.org/show_bug.cgi?id=42178 + <rdar://problem/8185817> + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::seek): When asked to seek to an unbuffered time, seek to the + nearest time instead of generating an exception. Re-order the logic to match spec text. + + * html/TimeRanges.cpp: + (TimeRanges::nearest): New, return the value closest to the specified time. + * html/TimeRanges.h: + +2010-07-14 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + Rename DeviceOrientationController::onOrientationChange to didChangeDeviceOrientation + https://bugs.webkit.org/show_bug.cgi?id=42257 + + According to convention, we should avoid "on" in favor of "did" in function names. + + * dom/DeviceOrientationController.cpp: + (WebCore::DeviceOrientationController::didChangeDeviceOrientation): + * dom/DeviceOrientationController.h: + +2010-07-14 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Reviewed by Kent Tamura. + + Notify browser about popup being deleted. In EFL and BREW ports, the + WebCore::Popup object was being deleted leaving the popup in browser + alive. Popups can be deleted in two ways: either from browser to webcore or + from webcore to browser. The first path was ok. The problem was when the + user changed the page with a popup still opened. This would trigger the + second path and would cause WebCore::Popup to be deleted without + notifying browser. + https://bugs.webkit.org/show_bug.cgi?id=41877 + + No new functionality so no new tests. + + * platform/brew/PopupMenuBrew.cpp: + (WebCore::PopupMenu::~PopupMenu): call hide() when object is + destroyed. + * platform/efl/PopupMenuEfl.cpp: + (WebCore::PopupMenu::~PopupMenu): ditto. + +2010-07-14 Satish Sampath <satish@chromium.org> + + Reviewed by Kent Tamura. + + Invoke speech recognition when user clicks on the speech button of input elements. + http://bugs.webkit.org/show_bug.cgi?id=42047 + + No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch. + + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement): + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Added click handling. + (WebCore::InputFieldSpeechButtonElement::speechInput): + (WebCore::InputFieldSpeechButtonElement::recordingComplete): Callback to indicate recording progress. + (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Callback to receive recognized text. + (WebCore::InputFieldSpeechButtonElement::detach): + * rendering/TextControlInnerElements.h: + +2010-07-14 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63305. + http://trac.webkit.org/changeset/63305 + https://bugs.webkit.org/show_bug.cgi?id=42256 + + "debugger-breakpoints-not-activated-on-reload.html fails on + GTK" (Requested by yurys on #webkit). + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._addBreakpoint): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): + (WebInspector.ScriptsPanel.prototype._breakpointAdded): + (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._addBreakpoint): + +2010-07-14 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + Provide implementation of DeviceOrientationController and hook into DOMWindow + https://bugs.webkit.org/show_bug.cgi?id=39588 + + Added DeviceOrientationController::addListener() and removeListener() + to start and stop the client and added calls from DomWindow. Implemented + DeviceOrientationController::onDeviceOrientationChange() to fire a + DeviceOrientationEvent on the window object. + + No new tests yet, pending LayoutTestController methods for mock DeviceOrientation. + + * dom/DeviceOrientationClient.h: + * dom/DeviceOrientationController.cpp: + (WebCore::DeviceOrientation::addListener): + (WebCore::DeviceOrientation::removeListener): + (WebCore::DeviceOrientation::removeAllListeners): + (WebCore::DeviceOrientationController::onDeviceOrientationChange): + * dom/DeviceOrientationController.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + +2010-07-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove v8 debugger code that doesn't use ScriptDebugServer + https://bugs.webkit.org/show_bug.cgi?id=42164 + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::retrieveFrame): + (WebCore::ScriptDebugServer::addListener): + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::removeBreakpoint): + (WebCore::ScriptDebugServer::clearBreakpoints): + (WebCore::ScriptDebugServer::setBreakpointsActivated): + (WebCore::ScriptDebugServer::pauseOnExceptionsState): + (WebCore::ScriptDebugServer::setPauseOnExceptionsState): + (WebCore::ScriptDebugServer::continueProgram): + (WebCore::ScriptDebugServer::stepIntoStatement): + (WebCore::ScriptDebugServer::stepOverStatement): + (WebCore::ScriptDebugServer::stepOutOfFunction): + (WebCore::ScriptDebugServer::editScriptSource): + (WebCore::ScriptDebugServer::handleV8DebugEvent): + * bindings/v8/ScriptDebugServer.h: + +2010-07-14 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: Clean-up InspectorBackend code. In the next changes + InspectorBackend content will be generated by scripts. As far as + generator is very simple thing all nontrivial function should be + moved to InspectorController and DOMAgent. + https://bugs.webkit.org/show_bug.cgi?id=42171 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::pause): + * bindings/js/ScriptDebugServer.h: + (WebCore::ScriptDebugServer::activateBreakpoints): + (WebCore::ScriptDebugServer::deactivateBreakpoints): + * bindings/v8/ScriptDebugServer.h: + (WebCore::ScriptDebugServer::activateBreakpoints): + (WebCore::ScriptDebugServer::deactivateBreakpoints): + (WebCore::ScriptDebugServer::pause): + * inspector/Inspector.idl: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::saveApplicationSettings): + (WebCore::InspectorBackend::saveSessionSettings): + (WebCore::InspectorBackend::enableSearchingForNode): + (WebCore::InspectorBackend::disableSearchingForNode): + (WebCore::InspectorBackend::enableMonitoringXHR): + (WebCore::InspectorBackend::disableMonitoringXHR): + (WebCore::InspectorBackend::getResourceContent): + (WebCore::InspectorBackend::reloadPage): + (WebCore::InspectorBackend::activateBreakpoints): + (WebCore::InspectorBackend::deactivateBreakpoints): + (WebCore::InspectorBackend::pause): + (WebCore::InspectorBackend::resume): + (WebCore::InspectorBackend::stepOverStatement): + (WebCore::InspectorBackend::stepIntoStatement): + (WebCore::InspectorBackend::stepOutOfFunction): + (WebCore::InspectorBackend::setPauseOnExceptionsState): + (WebCore::InspectorBackend::copyNode): + (WebCore::InspectorBackend::pushNodeByPathToFrontend): + (WebCore::InspectorBackend::highlightDOMNode): + (WebCore::InspectorBackend::hideDOMNodeHighlight): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::saveApplicationSettings): + (WebCore::InspectorController::saveSessionSettings): + (WebCore::InspectorController::highlightDOMNode): + (WebCore::InspectorController::resume): + (WebCore::InspectorController::setPauseOnExceptionsState): + (WebCore::InspectorController::getResourceContent): + (WebCore::InspectorController::reloadPage): + * inspector/InspectorController.h: + (WebCore::InspectorController::hideDOMNodeHighlight): + (WebCore::InspectorController::startProfiling): + (WebCore::InspectorController::stopProfiling): + (WebCore::InspectorController::enableSearchingForNode): + (WebCore::InspectorController::disableSearchingForNode): + (WebCore::InspectorController::enableMonitoringXHR): + (WebCore::InspectorController::disableMonitoringXHR): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::copyNode): + (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub.prototype.pause): + (.WebInspector.InspectorBackendStub.prototype.resume): + (.WebInspector.InspectorBackendStub.prototype.stepIntoStatement): + (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunction): + (.WebInspector.InspectorBackendStub.prototype.stepOverStatement): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._togglePause): + (WebInspector.ScriptsPanel.prototype._stepOverClicked): + (WebInspector.ScriptsPanel.prototype._stepIntoClicked): + (WebInspector.ScriptsPanel.prototype._stepOutClicked): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): + +2010-07-14 Joone Hur <joone@kldp.org> + + Reviewed by Jian Li. + + [GTK] Enabling File Reader/Writer APIs + https://bugs.webkit.org/show_bug.cgi?id=40209 + + The layout test fast/files will be enabled after eventSender.beginDragWithFiles is implemented for GTK. + + * platform/gtk/FileSystemGtk.cpp: + (WebCore::openFile): Added. + (WebCore::readFromFile): Added. + +2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Inconsistent LayoutRepainter usage in the SVG renderers + https://bugs.webkit.org/show_bug.cgi?id=42245 + + Unify LayoutRepainter usage in the SVG renders, as RenderBlock does it, always use: + LayoutRepainter repainter(*this, m_everHadLayout && checkForRepaintDuringLayout()); + instead of including selfWillPaint / selfNeedsLayout checks. This improves layout test + performance by 8s on my machine with a debug build (from 76.72s -> 68.59s, averaged over 5 runs) + + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::layout): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::layout): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::layout): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): + +2010-07-14 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix for r63300. + + * rendering/RenderSVGResourceContainer.h: + (WebCore::RenderSVGResourceContainer::containsCyclicReference): + +2010-07-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: do not activate all breakpoints on page reload + https://bugs.webkit.org/show_bug.cgi?id=41461 + + Test: inspector/debugger-breakpoints-not-activated-on-reload.html + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._addBreakpoint): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._breakpointAdded): + (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._addBreakpoint): + +2010-07-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: use OwnPtr to manage ConsoleMessages in InspectorController + https://bugs.webkit.org/show_bug.cgi?id=42243 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::addConsoleMessage): + (WebCore::InspectorController::clearConsoleMessages): + * inspector/InspectorController.h: + (WebCore::InspectorController::consoleMessages): + +2010-07-14 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel. + + SVG patterns and masks should not be able to reference themselves + https://bugs.webkit.org/show_bug.cgi?id=32171 + + Don't apply pattern/mask resources, if they contain cyclic references. Gradients/Filters are not affected. + Clippers are already correcly handling this on their own, as well as markers (all which require subtle quirks, covered by existing tests). + + Tests: svg/custom/recursive-filter.svg + svg/custom/recursive-gradient.svg + svg/custom/recursive-mask.svg + svg/custom/recursive-pattern.svg + + * rendering/RenderSVGResourceContainer.h: + (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer): Stop using idForStyleResolution(), but use getIdAttribute(), no functional change though. + (WebCore::RenderSVGResourceContainer::idChanged): Ditto. + (WebCore::RenderSVGResourceContainer::childElementReferencesResource): To be implemented by classes inheriting from us. Defaults to false. + (WebCore::RenderSVGResourceContainer::containsCyclicReference): Check whether this resource contains contains a child which references ourselves. + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::childElementReferencesResource): Check whether the masker child specifies mask=".." with the same URI than ourselves. + (WebCore::RenderSVGResourceMasker::applyResource): Early exit if we contain a cylic reference. + * rendering/RenderSVGResourceMasker.h: + * rendering/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::childElementReferencesResource): Check whether the masker child specifies fill=".." with the same URI than ourselves. + (WebCore::RenderSVGResourcePattern::applyResource): Early exit if we contain a cylic reference. + * rendering/RenderSVGResourcePattern.h: + * svg/SVGPaint.cpp: + (WebCore::SVGPaint::matchesTargetURI): Add new helper function comparing a SVGPaint URI with a given reference id. + * svg/SVGPaint.h: + +2010-07-14 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Selection dumping code should not dump body's offset in the document + https://bugs.webkit.org/show_bug.cgi?id=42238 + + This requires updating the results of many layout tests, + but has no functional change. + + * rendering/RenderTreeAsText.cpp: + (WebCore::nodePosition): + +2010-07-14 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + <input type=number> UI: inner spin button layout + https://bugs.webkit.org/show_bug.cgi?id=41924 + + Add layout/event/style code for the inner spin button, which is + going to be used for Windows implementation. + No new tests because no ports implement the inner spin button yet. + + * rendering/RenderTextControlSingleLine.cpp: + Introduce m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): + Detach m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::layout): + Set position and size of m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::nodeAtPoint): + Handle m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::forwardEvent): + Handle m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::textBlockWidth): + Shorten the text block width by m_innerSpinButton width. + (WebCore::RenderTextControlSingleLine::preferredContentWidth): + Add m_innerSpinButton width. + (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): + Handle m_innerSpinButton. + (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle): + Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class. + * rendering/RenderTextControlSingleLine.h: + +2010-07-14 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + <input type=number> UI: Support disabled/readonly states + https://bugs.webkit.org/show_bug.cgi?id=38568 + + Implement isEnabledFormControl() and isReadOnlyFormControl() of + SpinButtonElement. They returns the states of the parent <input> element. + The existing isEnabledFormControl() had a bug. It didn't have 'const' + modifier. + + Test: fast/forms/input-appearance-spinbutton-disabled-readonly.html + + * rendering/TextControlInnerElements.cpp: + (WebCore::SpinButtonElement::defaultEventHandler): + - If the input element is disabled or read-only, don't process events. + - Protect 'input' object from destruction during focus(). + - Fix a hit-test issue. We don't need to add renderBox()->y() because + 'local' is relative to the RenderBox. + - Some code cleanup + * rendering/TextControlInnerElements.h: + (WebCore::SpinButtonElement::isEnabledFormControl): + (WebCore::SpinButtonElement::isReadOnlyFormControl): + +2010-07-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Page flashes to mostly white towards the end of loading + https://bugs.webkit.org/show_bug.cgi?id=42230 + + We constrain the size of huge composited layers. When doing so, we + need to use the constained size to set the position as well + as the dimensions, to ensure the layer appears in the correct place. + + Test: compositing/tiling/constrained-layer-size.html + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::updateLayerPosition): + +2010-07-13 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Linux implementation of <input type=number> UI + https://bugs.webkit.org/show_bug.cgi?id=41925 + + - Move the code for scrollbar steppers from ScrollbarThemeChromiumLinux + to PlatformThemeChromiumGtk. + - Move the code for scrollbar colors from RenderThemeChromiumLinux + to PlatformThemeChromiumGtk. + + * WebCore.gypi: + * platform/chromium/PlatformThemeChromiumGtk.cpp: Added. + (WebCore::PlatformThemeChromiumGtk::setScrollbarColors): Moved from RenderThemeChromiumLinux. + (WebCore::clamp): Moved from ScrollbarThemeChromiumLinux. + (WebCore::PlatformThemeChromiumGtk::saturateAndBrighten): ditto. + (WebCore::PlatformThemeChromiumGtk::outlineColor): ditto. + (WebCore::PlatformThemeChromiumGtk::paintArrowButton): ditto. + * platform/chromium/PlatformThemeChromiumGtk.h: Added. + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): + (WebCore::ScrollbarThemeChromiumLinux::paintButton): + Move the main part of the code to PlatformThemeChromiumGtk. + (WebCore::ScrollbarThemeChromiumLinux::paintThumb): + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle): Added. + (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton): Added. + * rendering/RenderThemeChromiumLinux.h: + +2010-07-13 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Fisher + + Implementing DatabaseSync::transaction() and DatabaseSync::changeVersion(). + https://bugs.webkit.org/show_bug.cgi?id=40607 + + Tests: fast/workers/storage/change-version-handle-reuse-sync.html + fast/workers/storage/change-version-sync.html + fast/workers/storage/empty-statement-sync.html + fast/workers/storage/execute-sql-args-sync.html + fast/workers/storage/executesql-accepts-only-one-statement-sync.html + fast/workers/storage/multiple-transactions-on-different-handles-sync.html + fast/workers/storage/open-database-creation-callback-sync.html + fast/workers/storage/open-database-empty-version-sync.html + fast/workers/storage/open-database-inputs-sync.html + fast/workers/storage/open-database-set-empty-version-sync.html + fast/workers/storage/open-database-while-transaction-in-progress-sync.html + fast/workers/storage/sql-data-types-sync.html + fast/workers/storage/sql-exception-codes-sync.html + fast/workers/storage/test-authorizer-sync.html + fast/workers/storage/transaction-in-transaction-sync.html + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * storage/AbstractDatabase.cpp: + (WebCore::AbstractDatabase::maximumSize): + (WebCore::AbstractDatabase::incrementalVacuumIfNeeded): + * storage/AbstractDatabase.h: + (WebCore::AbstractDatabase::sqliteDatabase): + * storage/ChangeVersionWrapper.cpp: + (WebCore::ChangeVersionWrapper::performPreflight): + (WebCore::ChangeVersionWrapper::performPostflight): + * storage/Database.cpp: + (WebCore::Database::performGetTableNames): + * storage/Database.h: + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::createVTable): + (WebCore::DatabaseAuthorizer::dropVTable): + * storage/DatabaseCallback.h: + * storage/DatabaseSync.cpp: + (WebCore::ChangeVersionPreflightStep::create): + (WebCore::ChangeVersionPreflightStep::performStep): + (WebCore::ChangeVersionPreflightStep::ChangeVersionPreflightStep): + (WebCore::ChangeVersionPostflightStep::create): + (WebCore::ChangeVersionPostflightStep::performStep): + (WebCore::ChangeVersionPostflightStep::ChangeVersionPostflightStep): + (WebCore::DatabaseSync::changeVersion): + (WebCore::DatabaseSync::transaction): + (WebCore::DatabaseSync::runTransaction): + * storage/DatabaseSync.h: + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::getMaxSizeForDatabase): + * storage/SQLError.h: + * storage/SQLResultSet.cpp: + * storage/SQLResultSet.h: + * storage/SQLStatementCallback.h: + * storage/SQLStatementErrorCallback.h: + * storage/SQLStatementSync.cpp: Copied from WebCore/storage/SQLStatement.cpp. + (WebCore::SQLStatementSync::SQLStatementSync): + (WebCore::SQLStatementSync::execute): + * storage/SQLStatementSync.h: Added. + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::runCurrentStatement): + (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): + (WebCore::SQLTransaction::postflightAndCommit): + * storage/SQLTransaction.h: + * storage/SQLTransactionCallback.h: + * storage/SQLTransactionClient.cpp: + (WebCore::SQLTransactionClient::didCommitWriteTransaction): + (WebCore::SQLTransactionClient::didExecuteStatement): + (WebCore::SQLTransactionClient::didExceedQuota): + * storage/SQLTransactionClient.h: + * storage/SQLTransactionErrorCallback.h: + * storage/SQLTransactionSync.cpp: + (WebCore::transactionClient): + (WebCore::SQLTransactionSync::create): + (WebCore::SQLTransactionSync::SQLTransactionSync): + (WebCore::SQLTransactionSync::~SQLTransactionSync): + (WebCore::SQLTransactionSync::executeSQL): + (WebCore::SQLTransactionSync::begin): + (WebCore::SQLTransactionSync::execute): + (WebCore::SQLTransactionSync::commit): + (WebCore::SQLTransactionSync::rollback): + * storage/SQLTransactionSync.h: + (WebCore::SQLTransactionSync::SQLTransactionSyncOptionalStep::~SQLTransactionSyncOptionalStep): + * storage/SQLTransactionSyncCallback.h: + * storage/chromium/SQLTransactionClientChromium.cpp: + (WebCore::SQLTransactionClient::didCommitWriteTransaction): + (WebCore::SQLTransactionClient::didExecuteStatement): + (WebCore::SQLTransactionClient::didExceedQuota): + +2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63162. + http://trac.webkit.org/changeset/63162 + https://bugs.webkit.org/show_bug.cgi?id=42224 + + This is no longer needed (Requested by olliej_ on #webkit). + + * bindings/v8/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): + +2010-07-13 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix my misreading of "clear to the last marker" in the HTML5 spec + https://bugs.webkit.org/show_bug.cgi?id=42199 + + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::clearToLastMarker): + * html/HTMLFormattingElementList.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-13 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + ES5 requires BOMs to be treated as whitespace + https://bugs.webkit.org/show_bug.cgi?id=42218 + + Remove BOM handling logic from WebCore Script objects. + + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::StringSourceProvider): + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::script): + * loader/CachedScript.h: + +2010-07-13 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: rect(x,y,w,h) should move to (x,y) even if w=0 and h=0 + https://bugs.webkit.org/show_bug.cgi?id=42211 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::rect): + +2010-07-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Show IDs and classnames in layer tree dumps + https://bugs.webkit.org/show_bug.cgi?id=42213 + + When dumping the layer tree via showLayerTree(), include id and class attributes for + ease of debugging. + + No tests, since this is debug-only code. + + * rendering/RenderLayer.cpp: + (showLayerTree): + * rendering/RenderTreeAsText.cpp: + (WebCore::RenderTreeAsText::writeRenderObject): + * rendering/RenderTreeAsText.h: + (WebCore::): + +2010-07-13 Simon Fraser <simon.fraser@apple.com> + + Build fix: fix WebCore exports by editing the .in file, rather than the generated file. + + * WebCore.exp.in: + +2010-07-13 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=42216 + ResourceRequest::doUpdateResourceRequest() crashes if client denied request + + This is covered by many regression tests with patch for bug 42201 applied (because it makes + us also use this code path for sync requests, and those currently have more strict limitations). + + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::ResourceRequest::doUpdateResourceRequest): Added a null check. + +2010-07-13 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make our end tag in-foreign-content mode spec bug workarounds more closely match minefield + https://bugs.webkit.org/show_bug.cgi?id=42187 + + I do not expect these work-arounds to be permanent. Hixie has promised to + addresses the feedback to the parser sections of HTML5 soon. + I added these hacks to make our hacks more-closely match Minefield's hacks + and thus have us "pass" a few more html5lib runner tests. + + We now pass all of the html5lib foreign content tests + (thus we'll likely need to write more). + + Tested by html5lib/runner.html + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::contains): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-07-12 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + Wire network times from ResourceLoadTiming to performance.timing + https://bugs.webkit.org/show_bug.cgi?id=41824 + + * page/Timing.cpp: + (WebCore::Timing::domainLookupStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupstart + (WebCore::Timing::domainLookupEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-domain-lookupend + (WebCore::Timing::connectStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-start + (WebCore::Timing::connectEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-connect-end + (WebCore::Timing::requestStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-start + (WebCore::Timing::requestEnd): http://dev.w3.org/2006/webapi/WebTiming/#nt-request-end + (WebCore::Timing::responseStart): http://dev.w3.org/2006/webapi/WebTiming/#nt-response-start + (WebCore::Timing::resourceLoadTiming): + * page/Timing.h: + * page/Timing.idl: + +2010-07-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add support for loading javascript: URLs + https://bugs.webkit.org/show_bug.cgi?id=42221 + + * WebCore.exp.in: + Export protocolIsJavaScript and ScriptValue::getString. + +2010-07-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add support for URL frame loading using NPN_GetURLNotify + https://bugs.webkit.org/show_bug.cgi?id=42192 + + * WebCore.exp.in: + Export ResourceRequestBase::setHTTPMethod and ResourceRequestBase::setURL. + +2010-07-04 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Fisher. + + Need to track texture completeness + https://bugs.webkit.org/show_bug.cgi?id=41381 + + Test: fast/canvas/webgl/texture-complete.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init max texture level. + (WebCore::WebGLRenderingContext::bindTexture): Pass max texture level to setTarget(). + (WebCore::WebGLRenderingContext::copyTexImage2D): Cache full texture info rather than partial. + (WebCore::WebGLRenderingContext::generateMipmap): Ditto. + (WebCore::WebGLRenderingContext::texImage2DBase): Ditto. + (WebCore::WebGLRenderingContext::validateTexFuncParameters): Also validate level. + * html/canvas/WebGLRenderingContext.h: Add max texture level. + * html/canvas/WebGLTexture.cpp: Update the class to fully cache texture information and track NPOT and COMPLETE states. + (WebCore::WebGLTexture::WebGLTexture): + (WebCore::WebGLTexture::setTarget): Check whether the texture is initialized or has been deleted. + (WebCore::WebGLTexture::setParameteri): Ditto. + (WebCore::WebGLTexture::setParameterf): Ditto. + (WebCore::WebGLTexture::setLevelInfo): Set texture info. + (WebCore::WebGLTexture::generateMipmapLevelInfo): Generate texture info for all levels after generateMipmaps() is called. + (WebCore::WebGLTexture::getInternalFormat): Return internal format on texture face 0 level 0. + (WebCore::WebGLTexture::isNPOT): Check whether the texture is initialized or has been deleted. + (WebCore::WebGLTexture::needToUseBlackTexture): Ditto. + (WebCore::WebGLTexture::_deleteObject): + (WebCore::WebGLTexture::mapTargetToIndex): Map target to index. + (WebCore::WebGLTexture::canGenerateMipmaps): Check whether Mipmaps can be generated. + (WebCore::WebGLTexture::computeLevelCount): Compute texture level count from width/height. + (WebCore::WebGLTexture::update): Update NPOT/COMPLETE states. + * html/canvas/WebGLTexture.h: Ditto. + (WebCore::WebGLTexture::LevelInfo::LevelInfo): Add data structure to fully cache texture info. + (WebCore::WebGLTexture::LevelInfo::setInfo): Set information. + +2010-07-13 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: drawImage() with wrong 'image' argument type should always throw TypeError + https://bugs.webkit.org/show_bug.cgi?id=42160 + + Test: canvas/philip/tests/2d.drawImage.wrongtype.html + + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::JSCanvasRenderingContext2D::drawImage): Throw TypeError instead of + TYPE_MISMATCH_ERR if 'image' argument is not an image, canvas or video element. + +2010-07-13 Aaron Boodman <aa@chromium.org> + + Reviewed by Timothy Hatcher. + + Don't reset per-document user style caches when user styles are updated in + Chromium. + + https://bugs.webkit.org/show_bug.cgi?id=42003 + + * page/PageGroup.cpp: + (WebCore::PageGroup::addUserStyleSheetToWorld): + (WebCore::PageGroup::removeUserStyleSheetFromWorld): + (WebCore::PageGroup::removeUserStyleSheetsFromWorld): + (WebCore::PageGroup::removeAllUserContent): + (WebCore::PageGroup::resetUserStyleCacheInAllFrames): + * page/PageGroup.h: + +2010-07-13 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + On Leopard, media element can't handle audio/mp4 MIME type in source tag + https://bugs.webkit.org/show_bug.cgi?id=29326 + + Test: media/media-can-play-mpeg-audio.html + + * platform/MIMETypeRegistry.cpp: + (WebCore::TypeExtensionPair::): Add "audio/mp4", "m4a" to mappings table. + +2010-07-13 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + Implement performance.timing.fetchStart + https://bugs.webkit.org/show_bug.cgi?id=41816 + + See: http://dev.w3.org/2006/webapi/WebTiming/#nt-fetch-start + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): Record the fetchStart time for each request for the main resource. This means it is called for each server redirect, overwritting the previous value. In https://bugs.webkit.org/show_bug.cgi?id=42018, this will be modified such that if a previous value exists, it is stored as the redirect time. + * loader/FrameLoaderTypes.h: + (WebCore::FrameLoadTimeline::FrameLoadTimeline): + * page/Timing.cpp: + (WebCore::Timing::fetchStart): + * page/Timing.h: + * page/Timing.idl: + +2010-07-13 Satish Sampath <satish@chromium.org> + + Reviewed by Steve Block. + + Speech input plumbing in webcore + https://bugs.webkit.org/show_bug.cgi?id=41518 + + Adds the following: + - a SpeechInput class to be used by the speech enabled HTML elements + - a SpeechInputListener interface to be implemented by the speech enabled HTML elements + - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit. + This is available as a member of WebCore::Page, set by the platforms which support speech input. + - a SpeechInputClientListener interface for WebCore to receive events from WebKit + + No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch. + + * Android.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: Added SpeechInputClient member variable and associated methods. + (WebCore::Page::setSpeechInputClient): + (WebCore::Page::speechInputClient): + * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements. + (WebCore::SpeechInput::SpeechInput): + (WebCore::SpeechInput::recordingComplete): + (WebCore::SpeechInput::setRecognitionResult): + (WebCore::SpeechInput::startRecognition): + * page/SpeechInput.h: Added. + (WebCore::SpeechInput::~SpeechInput): + (WebCore::SpeechInput::client): + * page/SpeechInputListener.h: Added. + (WebCore::SpeechInputListener::~SpeechInputListener): + * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder. + (WebCore::SpeechInputClient::~SpeechInputClient): + * page/SpeechInputClientListener.h: Added. + (WebCore::SpeechInputClientListener::~SpeechInputClientListener): + +2010-07-13 Richard Moore <rich@kde.org>, Robert Hogan <robert@webkit.org> + + Reviewed by Simon Hausmann. + + [Qt] MIME handling in qtwebkit network layer case-sensitivity + + https://bugs.webkit.org/show_bug.cgi?id=28654 + + Like other platforms, Qt needs to convert MIME types to lower case + so they will be handled by WebCore. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2010-07-13 James Robinson <jamesr@chromium.org> + + Reviewed by Simon Fraser. + + REGRESSION(55056) debug builds ASSERT falsely on pages with animations + https://bugs.webkit.org/show_bug.cgi?id=42175 + + Revision 55065 added some repaint box precomputation and some debug ASSERT()ions + to ensure the precomputed values were valid. However, if animations are enabled and + not hardware accelerated, the repaint box dimensions become time-dependent and the + ASSERT()s can trigger. This can make it impossible to interactively debug pages + like google maps. + + https://bugs.webkit.org/show_bug.cgi?id=37048 is another example of an assertion + failing due to time dependent animation values. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): + +2010-07-13 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Fisher. + + Implement bufferData and bufferSubData with ArrayBuffer as input + https://bugs.webkit.org/show_bug.cgi?id=41884 + + Test: fast/canvas/webgl/buffer-data-array-buffer.html + + * html/canvas/WebGLBuffer.cpp: Implement associateBufferData & associateBufferSubData with ArrayBuffer as input. + (WebCore::WebGLBuffer::associateBufferData): + (WebCore::WebGLBuffer::associateBufferSubData): + * html/canvas/WebGLBuffer.h: Ditto. + * html/canvas/WebGLRenderingContext.cpp: Implement bufferData and bufferSubData with ArrayBuffer as input. + (WebCore::WebGLRenderingContext::bufferData): + (WebCore::WebGLRenderingContext::bufferSubData): + * html/canvas/WebGLRenderingContext.h: Ditto. + * html/canvas/WebGLRenderingContext.idl: Ditto. + * platform/graphics/GraphicsContext3D.h: Ditto. + * platform/graphics/mac/GraphicsContext3DMac.mm: Ditto. + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + +2010-07-13 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Fisher. + + Implement performance.timing.responseEnd + https://bugs.webkit.org/show_bug.cgi?id=42006 + + See: http://dev.w3.org/2006/webapi/WebTiming/#nt-response-end + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedLoading): + * loader/FrameLoaderTypes.h: + (WebCore::FrameLoadTimeline::FrameLoadTimeline): + * page/Timing.cpp: + (WebCore::Timing::responseEnd): + * page/Timing.h: + * page/Timing.idl: + +2010-07-13 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by Darin Fisher + + Bug 41962 Limit html canvas element dimensions to 32767 for Skia platform + https://bugs.webkit.org/show_bug.cgi?id=41962 + + Test: fast/canvas/canvas-skia-excessive-size.html + + * WebCore/html/HTMLCanvasElement.cpp + (WebCore::HTMLCanvasElement::convertLogicalToDevice): + +2010-07-10 Zhenyao Mo <zmo@google.com> + + Reviewed by Darin Fisher. + + Need to emulate MAX_VARYING_VECTORS/MAX_FRAGMENT_UNIFORM_VECTORs/MAX_VERTEX_UNIFORM_VECTORS for glGet + https://bugs.webkit.org/show_bug.cgi?id=42032 + + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::getIntegerv): Emulate the enums. + +2010-07-13 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GTK] video playback position query flood when mouse over the video element + https://bugs.webkit.org/show_bug.cgi?id=35333 + + Don't trigger a position query only to know which play/pause + button to display. Instead use the media-control button display + type to select the image to paint. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintMediaPlayButton): + +2010-07-13 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r63192. + http://trac.webkit.org/changeset/63192 + https://bugs.webkit.org/show_bug.cgi?id=42173 + + Broke fast/backgrounds/size/contain-and-cover.html (Requested + by kling on #webkit). + + * manual-tests/css3-background-layer-count.html: Removed. + * rendering/style/FillLayer.cpp: + (WebCore::FillLayer::cullEmptyLayers): + +2010-07-13 Marcus Bulach <bulach@chromium.org> + + Reviewed by Jeremy Orlow. + + Removes cycles caused by "m_this" members in a few IndexedDB classes. + https://bugs.webkit.org/show_bug.cgi?id=42161 + + Adds IDBAny::create for the various types. + No functionality change, just cleaning up. + + * storage/IDBAny.cpp: + (WebCore::createIDBAny): + (WebCore::IDBAny::create): + * storage/IDBAny.h: + * storage/IDBDatabaseRequest.cpp: + (WebCore::IDBDatabaseRequest::IDBDatabaseRequest): + (WebCore::IDBDatabaseRequest::createObjectStore): + (WebCore::IDBDatabaseRequest::removeObjectStore): + * storage/IDBDatabaseRequest.h: + * storage/IDBKeyRange.cpp: + (WebCore::IDBKeyRange::IDBKeyRange): + * storage/IDBKeyRange.h: + (WebCore::IDBKeyRange::left): + (WebCore::IDBKeyRange::right): + * storage/IDBObjectStoreRequest.cpp: + (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest): + (WebCore::IDBObjectStoreRequest::get): + (WebCore::IDBObjectStoreRequest::add): + (WebCore::IDBObjectStoreRequest::put): + (WebCore::IDBObjectStoreRequest::remove): + (WebCore::IDBObjectStoreRequest::createIndex): + (WebCore::IDBObjectStoreRequest::removeIndex): + * storage/IDBObjectStoreRequest.h: + * storage/IndexedDatabaseRequest.cpp: + (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): + (WebCore::IndexedDatabaseRequest::open): + * storage/IndexedDatabaseRequest.h: + +2010-07-13 Antti Koivisto <koivisto@iki.fi> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Land the initial build system for WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=41604 + + The build is enabled by passing --qmakearg="CONFIG+=webkit2" to build-webkit + + * WebCore.pri: + * WebCore.pro: + +2010-07-13 Leon Clarke <leonclarke@google.com> + + Reviewed by Pavel Feldman. + + Don't access objects after deleting them, following + the addition of link prefetching. Also remove a forward declaration + of the now-nonexistent CachedLinkPrefetch class. + https://bugs.webkit.org/show_bug.cgi?id=3652 + + No new tests. Correcting aspects of the prefetch change that shouldn't + have affected functionality. + + * html/HTMLLinkElement.h: + * loader/loader.cpp: + (WebCore::Loader::Host::cancelPendingRequests): + +2010-07-13 Andras Becsi <abecsi@webkit.org> + + Reviewed by Simon Hausmann. + + [Qt] Fix the case of a linker option to lowercase to be able to + cross compile QtWebKit for Windows on Linux. + + No new tests needed. + + * WebCore.pro: + +2010-07-12 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: Next iteration of Inspector code generator. + The InspectorFrontend2 was replaced by slightly modified version of + InspectorBackend file (Inspector.idl). At the end all the interface + between WebInspector and inspected page will be specified by this file + and generated by CodeGeneratorInspector (InspectorFrontend.cpp, + InspectorBackend.cpp and InspectorBackend.js). + https://bugs.webkit.org/show_bug.cgi?id=42104 + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gyp/scripts/rule_binding.py: + * WebCore.gypi: + * WebCore.pri: + * WebCore.xcodeproj/project.pbxproj: + * bindings/scripts/IDLParser.pm: + * bindings/scripts/IDLStructure.pm: + * bindings/scripts/generate-bindings.pl: + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: Added. + * inspector/InspectorCSSStore.cpp: + (WebCore::InspectorCSSStore::inspectorStyleSheet): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::startTimelineProfiler): + * inspector/InspectorController.h: + (WebCore::InspectorController::remoteInspectorFrontend): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + * inspector/InspectorFrontend2.idl: Removed. + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + (WebCore::InspectorTimelineAgent::resetFrontendProxyObject): + * inspector/InspectorTimelineAgent.h: + +2010-07-12 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + DeviceOrientationEvent should use optional properties + https://bugs.webkit.org/show_bug.cgi?id=41607 + + This change adds a new DeviceOrientation class which takes care of which of the + optional properties are present. DeviceOrientationEvent owns an instance of + DeviceOrientation, rather than owning the properties directly. + DeviceOrientationEvent now requires custom bindings. + + Test: fast/dom/DeviceOrientation/optional-event-properties.html + + * Android.mk: + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDeviceOrientationEventCustom.cpp: Added. + (WebCore::JSDeviceOrientationEvent::alpha): + (WebCore::JSDeviceOrientationEvent::beta): + (WebCore::JSDeviceOrientationEvent::gamma): + (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent): + * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp: Added. + (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter): + (WebCore::V8DeviceOrientationEvent::betaAccessorGetter): + (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter): + (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback): + * dom/DeviceOrientation.cpp: Added. + * dom/DeviceOrientation.h: Added. + (WebCore::DeviceOrientation::create): + (WebCore::DeviceOrientation::canProvideAlpha): + (WebCore::DeviceOrientation::alpha): + (WebCore::DeviceOrientation::canProvideBeta): + (WebCore::DeviceOrientation::beta): + (WebCore::DeviceOrientation::canProvideGamma): + (WebCore::DeviceOrientation::gamma): + (WebCore::DeviceOrientation::DeviceOrientation): + * dom/DeviceOrientationEvent.cpp: + (WebCore::DeviceOrientationEvent::DeviceOrientationEvent): + (WebCore::DeviceOrientationEvent::initDeviceOrientationEvent): + * dom/DeviceOrientationEvent.h: + (WebCore::DeviceOrientationEvent::create): + (WebCore::DeviceOrientationEvent::orientation): + * dom/DeviceOrientationEvent.idl: + +2010-07-13 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antti Koivisto. + + CSS3 background: Number of layers should be determined by background-image element count + https://bugs.webkit.org/show_bug.cgi?id=41201 + + Change FillLayer culling logic to discard all layers + after the first one without an image set. + + Manual test: css3-background-layer-count.html + + * manual-tests/css3-background-layer-count.html: Added. + * rendering/style/FillLayer.cpp: + (WebCore::FillLayer::cullEmptyLayers): + +2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Darin Adler. + + Prevent assertion/duplicate loads for non-deferred subtitute-data loads + + https://bugs.webkit.org/show_bug.cgi?id=30879 + + MainResourceLoader uses the member m_initialRequest to store requests for future + deferred loads. When doing the actual load in handleDataLoadNow(), we therefore + have to clear this request so that subsequent entries into the loader will not + start yet another load. + + This can happen as a result of a PageGroupLoadDeferrer going out of scope when + returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false), + but only in the case of using both substitute-data and non-deferred main resource + load together. That's why two new DRT functions were added: + + * queueLoadHTMLString() + * setDeferMainResourceLoad() + + The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac + and Win the hook uses new SPI in WebDataSource. For Qt a new static member was + added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt. + + Test: fast/loader/non-deferred-substitute-load.html + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::handleDataLoadNow): + +2010-07-13 Yoshiki Hayashi <yhayashi@google.com> + + Reviewed by Kent Tamura. + + Make sure correct Nodes are passed to childrenChanged so that + :last-child gets properly applied when fragment is inserted. + https://bugs.webkit.org/show_bug.cgi?id=37944 + + Test: fast/css/last-child-innerhtml.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + +2010-07-13 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Kent Tamura. + + InsertListCommand's modifyRange and doApply should be merged + https://bugs.webkit.org/show_bug.cgi?id=41403 + + Isolated the code in doApply to insert and remove lists for single paragraph into doApplyForSingleParagraph. + Merged the code in modifyRange into doApply and cleaned up. + + No test is added since this is a clean up. + + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::InsertListCommand): m_forceCreateList is no longer initialized + (WebCore::InsertListCommand::doApply): Isolated the code to insert/remove lists in doApplyForSingleParagraph + (WebCore::InsertListCommand::doApplyForSingleParagraph): Insert/remove lists for single paragraph + * editing/InsertListCommand.h: Added doApplyForSingleParagraph and removed m_forceCreateList + +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix typo in "close the cell" which caused assertion + https://bugs.webkit.org/show_bug.cgi?id=42138 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::closeTheCell): + +2010-07-12 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix line number handling in HTMLTreeBuilder to fix a zillion layout tests + https://bugs.webkit.org/show_bug.cgi?id=42143 + + Covered by a zillion layout tests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processScriptStartTag): + +2010-07-12 Jay Civelli <jcivelli@chromium.org> + + Reviewed by Kent Tamura. + + Adding right aligned text called labels to PopupMenus. + https://bugs.webkit.org/show_bug.cgi?id=41964 + + * platform/PopupMenuClient.h: + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::paintRow): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::itemLabel): + * rendering/RenderMenuList.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::itemLabel): + * rendering/RenderTextControlSingleLine.h: + +2010-07-12 Mihnea Ovidenea <mihnea@adobe.com> + + Reviewed by Dirk Schulze. + + [Cairo] Incorrect Test for Text Fill + https://bugs.webkit.org/show_bug.cgi?id=42123 + + Correct test used for text shadow. It currently checks for + equality with cTextFill. However, this test fails if the + text drawing mode is set to 'cTextFill | cTextStroke'. Fix + is to modify the test to be like other Cairo uses of the + text drawing mode, and check for the cTextFill bit being + set, not for equality with the bit. + + * platform/graphics/cairo/FontCairo.cpp: + (WebCore::Font::drawGlyphs): + 2010-07-12 Eric Seidel <eric@webkit.org> Reviewed by Sam Weinig. |