From 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Thu, 2 Jun 2011 12:07:03 +0100 Subject: Merge WebKit at r84325: Initial merge by git. Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b --- Source/WebCore/ChangeLog | 16523 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 16483 insertions(+), 40 deletions(-) (limited to 'Source/WebCore/ChangeLog') diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 204f540..b0b0239 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,9 +1,16490 @@ +2011-04-19 Adrienne Walker + + Reviewed by Kenneth Russell. + + [chromium] Initialize depth mask to known value before getBooleanv call + https://bugs.webkit.org/show_bug.cgi?id=58948 + + This trips an assert in the GPU command buffer client code if the + pointed-to value is not initialized to 0 or -1. + + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clearFramebuffer): + +2011-04-19 Pratik Solanki + + Reviewed by Simon Fraser. + + BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor + https://bugs.webkit.org/show_bug.cgi?id=58926 + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false. + * platform/graphics/BitmapImage.h: + (WebCore::BitmapImage::assertNotSolidColor): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image. + +2011-04-19 Ryosuke Niwa + + Reviewed by Ojan Vafai. + + REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary + https://bugs.webkit.org/show_bug.cgi?id=58910 + + The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that + targetNode always have renderer when there selection has an editable root and the target node + is outside of the editable root. + + Fixed the bug by adding an early exit when the target node is null. + + No new tests are added since we don't have a reduction for this crash. + + * page/EventHandler.cpp: + (WebCore::selectionExtentRespectingEditingBoundary): + +2011-04-19 Geoffrey Garen + + Try to fix v8 build. + + * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system. + +2011-04-19 Enrica Casucci + + Reviewed by Ryosuke Niwa. + + REGRESSION(r55762): Highlight color can't be copied in gmail. + https://bugs.webkit.org/show_bug.cgi?id=58925 + + + Test: editing/pasteboard/copy-text-with-backgroundcolor.html + + The changes of r55762 uncovered the underlying issue here. The markup fragment + placed in the pasteboard does not contain the background color style. + This occurs only if the selection is limited to a single text node, whereas if the + selection spans across multiple nodes, the style is preserved correctly. + The fix consists in changing the logic that decides whether we should include the wrapping + node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies + on isElementPresentational to choose candidates to be the wrapping node. + I've extended it to accept nodes that have non fully transparent background colors. + + * editing/Editor.cpp: + (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class. + * editing/Editor.h: + * editing/markup.cpp: + (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor. + +2011-04-19 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Removed a use of markDOMObjectWrapper: NodeLists + https://bugs.webkit.org/show_bug.cgi?id=58939 + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::markChildren): No need to mark node lists, because + now they use the opaque roots system to decide their lifetimes. + + * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline. + + * bindings/js/JSNodeListCustom.cpp: + (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots): + (WebCore::JSNodeListOwner::finalize): + (WebCore::wrapperOwner): + (WebCore::wrapperContext): + (WebCore::toJS): Use the opaque roots system to avoid relying on + markDOMObjectWrapper. + + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::isDynamicNodeList): + * dom/DynamicNodeList.h: + (WebCore::DynamicNodeList::rootNode): Added the ability to get the node + backing a NodeList, for use in the opaque roots system. + + * dom/Node.cpp: + * dom/Node.h: + * dom/NodeList.h: + (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related + to the old way of marking NodeLists. + + * dom/NodeList.idl: We need a custom toJS so we can specify a custom + WeakHandleOwner at construction time. + +2011-04-19 Antoine Labour + + Reviewed by James Robinson. + + For invisible iframes, propagate compositing to parent instead of setting self + as root. + https://bugs.webkit.org/show_bug.cgi?id=58414 + + Tests: compositing/iframes/invisible-iframe.html + compositing/iframes/invisible-nested-iframe-hide.html + compositing/iframes/invisible-nested-iframe-show.html + compositing/iframes/invisible-nested-iframe.html + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): + Propagate compositing to parent even if frame owner has no renderer. + +2011-04-19 Dan Bernstein + + Reviewed by Beth Dakin. + + Crash when the document element is removed + + Test: fast/events/overflow-viewport-renderer-deleted.html + + * page/FrameView.cpp: + (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this + function takes a code path that doesn’t call applyOverflowToViewport(). + (WebCore::FrameView::layout): Whitespace change. + +2011-04-19 Beth Dakin + + Reviewed by Maciej Stachowiak. + + https://bugs.webkit.org/show_bug.cgi?id=57898 + REGRESSION (r82185): Scroll position not restored on navigation back to a page in + the page cache + -and corresponding- + + + Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll + position to be lost. (The scroll position is computed based on the + visibleContentSize.) This patch provides a mechanism to cache the current scroll + position, and then the HistoryController accesses only the cached position rather + than calling scrollPosition() which does a computation based on the + visibleContentSize. + + * loader/HistoryController.cpp: + (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): + * page/FrameView.cpp: + (WebCore::FrameView::resetScrollbarsAndClearContentsSize): + * platform/ScrollView.h: + (WebCore::ScrollView::cacheCurrentScrollPosition): + (WebCore::ScrollView::cachedScrollPosition): + +2011-04-19 Renata Hodovan + + Reviewed by Eric Seidel. + + Move the alignment related macros in Vector.h to new Alignment.h. + https://bugs.webkit.org/show_bug.cgi?id=56000 + + Adding the new file to the forwarding headers of WebCore. + + * ForwardingHeaders/wtf/Alignment.h: Added. + +2011-04-19 Oliver Hunt + + Reviewed by Andreas Kling. + + [Qt] QtInstance method cache ownership rules are unclear + https://bugs.webkit.org/show_bug.cgi?id=58820 + + Make the QtInstance method cache use WriteBarrier, and handle + ownership properly. + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + (JSC::Bindings::QtClass::fieldNamed): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::~QtInstance): + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::newRuntimeObject): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + +2011-04-19 David Kilzer + + Re-order enum ResourceLoadPriority to make Unresolved value less important + + Reviewed by Antti Koivisto. + + * platform/network/ResourceLoadPriority.h: + (enum ResourceLoadPriority): Moved Unresolved enum to the top of + the list and set to -1 to emphasize the fact that this is an + unresolved priority (rather than one higher than the highest + priority). Removed whitespace from the end of all enum lines. + +2011-04-19 Simon Fraser + + Reviewed by David Hyatt. + + Background radius is wrong for split inline + https://bugs.webkit.org/show_bug.cgi?id=58843 + + When computing the radii for a segment of a split inline, we have to + constrain those radii for the current segment, while still drawing + using the entire logical width. + + Tests: fast/backgrounds/border-radius-split-background-image.html + fast/backgrounds/border-radius-split-background.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintFillLayer): + Pass height and width for this box only to paintFillLayer() + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintFillLayer): + Pass 0 for unused inlineBox height and width. + + * rendering/RenderBoxModelObject.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): + When computing the rounded background rect, we have to take the size of + this segment of the inline box into account for radius constraining. + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + Call getBackgroundRoundedRect() in two places. + +2011-04-19 Simon Fraser + + Build fix. For some reason RenderBoxModelObject.cpp + was missing from my last commit. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::borderWillArcInnerEdge): + (WebCore::edgeFlagForSide): + (WebCore::includesEdge): + (WebCore::BorderEdge::BorderEdge): + (WebCore::BorderEdge::hasVisibleColorAndStyle): + (WebCore::BorderEdge::shouldRender): + (WebCore::BorderEdge::presentButInvisible): + (WebCore::BorderEdge::usedWidth): + (WebCore::BorderEdge::getDoubleBorderStripeWidths): + (WebCore::edgesShareColor): + (WebCore::styleRequiresClipPolygon): + (WebCore::borderStyleFillsBorderArea): + (WebCore::borderStyleHasInnerDetail): + (WebCore::borderStyleIsDottedOrDashed): + (WebCore::borderStyleHasUnmatchedColorsAtCorner): + (WebCore::colorsMatchAtCorner): + (WebCore::willBeOverdrawn): + (WebCore::borderStylesRequireMitre): + (WebCore::joinRequiresMitre): + (WebCore::RenderBoxModelObject::paintOneBorderSide): + (WebCore::RenderBoxModelObject::paintBorderSides): + (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::drawBoxSideFromPath): + (WebCore::findInnerVertex): + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2011-04-19 Stephen White + + Reviewed by Kenneth Russell. + + Refactor GLES2Canvas state application out into its own function. + https://bugs.webkit.org/show_bug.cgi?id=58906 + + Covered by existing tests in fast/canvas and canvas/philip. + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::applyState): + New function to apply compositing and clipping state. + (WebCore::GLES2Canvas::fillPath): + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::beginShadowDraw): + (WebCore::GLES2Canvas::endShadowDraw): + Refactor calls to applyState(). + * platform/graphics/chromium/GLES2Canvas.h: + +2011-04-19 Simon Fraser + + Reviewed by Dave Hyatt. + + Fix multiple border rendering issues + https://bugs.webkit.org/show_bug.cgi?id=58761 + + Fix various border-drawing bugs, and optimize some common cases. + Also refactors a lot of the border-drawing code to be more maintainable. + + Rounded border rendering with different border widths looks strange + https://bugs.webkit.org/show_bug.cgi?id=17468 + + paintBorder in RenderObject paint two times the corners + https://bugs.webkit.org/show_bug.cgi?id=20495 + + Overdraw at box corners when using RGBA colors with alpha + https://bugs.webkit.org/show_bug.cgi?id=21835 + + Enable antialiasing for border drawing, when transformed + https://bugs.webkit.org/show_bug.cgi?id=22746 + + Drawing border-radius from path sometimes fails to round outer border in the double style when it should + https://bugs.webkit.org/show_bug.cgi?id=41301 + + Drawing border-radius from path doesn't appear to always match up border edges correctly + https://bugs.webkit.org/show_bug.cgi?id=41302 + + Also fixes + Should be able to create Path from RoundedIntRect + https://bugs.webkit.org/show_bug.cgi?id=58809 + + Tests: fast/borders/border-radius-different-width-001.html + fast/borders/border-radius-inset-outset.html + fast/borders/table-borders.html + + * platform/graphics/FloatPoint.h: + * platform/graphics/FloatPoint.cpp: + (WebCore::findSlope): + (WebCore::findIntersection): + New geometry helper functions (should eventually move into a new + GeometryUtilities file). + + * platform/graphics/Path.h: + * platform/graphics/Path.cpp: + (WebCore::Path::addRoundedRect): + Add an overload of addRoundedRect() that takes a RoundedIntRect. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + (WebCore::GraphicsContext::fillRectWithRoundedHole): + Can now add a RoundedIntRect to a Path directly. + + * platform/graphics/IntRect.h: + (WebCore::IntRect::minXMinYCorner): + (WebCore::IntRect::maxXMinYCorner): + (WebCore::IntRect::minXMaxYCorner): + (WebCore::IntRect::maxXMaxYCorner): + Convenience functions to get the rect corners, in a writing-mode- + friendly way. + + * platform/graphics/RoundedIntRect.h: + * platform/graphics/RoundedIntRect.cpp: + (WebCore::RoundedIntRect::isRenderable): + We need to know when Path::addRoundedRect() will fail because + the sum of the radii exceed the height or width. This method tells + us that. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRectWithRoundedHole): + Can now add a RoundedIntRect to a Path directly. + + * rendering/RenderBoxModelObject.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::borderWillArcInnerEdge): + This can just to see if there are inner radii now. + + (WebCore::edgeFlagForSide): + (WebCore::includesEdge): + Convenience functions for the BorderEdgeFlags bitmask. + + (WebCore::BorderEdge::BorderEdge): + (WebCore::BorderEdge::hasVisibleColorAndStyle): + (WebCore::BorderEdge::shouldRender): + (WebCore::BorderEdge::presentButInvisible): + (WebCore::BorderEdge::usedWidth): + (WebCore::BorderEdge::getDoubleBorderStripeWidths): + Convenience class to hold data about how a single edge + is drawn, and to contain some commonly used width-related methods. + + (WebCore::edgesShareColor): + (WebCore::styleRequiresClipPolygon): + (WebCore::borderStyleFillsBorderArea): + (WebCore::borderStyleHasInnerDetail): + (WebCore::borderStyleIsDottedOrDashed): + (WebCore::borderStyleHasUnmatchedColorsAtCorner): + (WebCore::colorsMatchAtCorner): + (WebCore::willBeOverdrawn): + (WebCore::borderStylesRequireMitre): + (WebCore::joinRequiresMitre): + Functions used to make the border drawing code more readable, + which are used to determine when corners need a mitre, and + need antialiasing. + + (WebCore::RenderBoxModelObject::paintOneBorderSide): + Code to paint one side of a border, either via the path, or + using rects/polygons, the appropriate mitres and antialiasing + at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need + to be passed all the way down here so that when we recompute the + path for double and ridge/groove borders, we correctly handle split box + borders. + + (WebCore::RenderBoxModelObject::paintBorderSides): + Paints the 4 border sides (if present). + + (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): + Called when one or more of the borders has a non-opaque color, + and uses a transparency layer for each set of same-colored + sides to avoid overdraw at the corners. + + (WebCore::RenderBoxModelObject::paintBorder): + Builds an array of BorderEdge so we can iterate over them to + detect different border compbinations, and optimizations. Has + a fast path for all-solid borders. + + (WebCore::RenderBoxModelObject::drawBoxSideFromPath): + Moved from RenderObject, since all callers are in RenderBoxModelObject. + Has the following changes: + * Don't attempt to draw dashes if there is only space for a few, + since it looks bad. + * Handle double and groove borders on split inlines correctly, + making use of includeLogicalLeftEdge, includeLogicalRightEdge + + (WebCore::findInnerVertex): + For borders with a radiused inner edge, the per-side clip polygon + has to project inside the padding box to avoid clipping the inner edge. + This function computes a reasonable inner corner for the clipping + polygon. + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + Have the corner joins pass through the corners of the inner and outer + border rectangles, ensure we don't clip the inside if necessary, + and handle antialiasing on the two mitres. + + (WebCore::RenderBoxModelObject::paintBoxShadow): + Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect() + etc. + + * rendering/RenderObject.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + Moved to RenderBoxModelObject. + + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getRoundedBorderFor): + (WebCore::RenderStyle::getRoundedInnerBorderFor): + There was some very clumsy code that computed a rounded rect + given the border rect and side widths. Cleaned this up by moving + some code into RenderStyle. The overloaded getRoundedInnerBorderFor() + which takes the border widths is used by the double and groove drawing + code. + +2011-04-19 Ryosuke Niwa + + Reviewed by Dimitri Glazkov. + + REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM + https://bugs.webkit.org/show_bug.cgi?id=57061 + + The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside + a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call + RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in + a significant performance regression. + + Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are + no common ancestors between containerA and containerB. This will force compareNode to also throw an exception + and prevents respondToNodeModification from clearing selection. + + No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM + isn't exposed to JavaScript. + + * dom/Range.cpp: + (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of + start and end nodes are same, we should never get an exception from compareBoundaryPoints. + (WebCore::Range::setEnd): Ditto. + (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints + throws an exception. + (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by + compareBoundaryPoints. + (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor. + (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception. + * dom/Range.h: + * editing/SelectionController.cpp: + (WebCore::SelectionController::respondToNodeModification): + * editing/htmlediting.cpp: + (WebCore::comparePositions): Calls compareBoundaryPoints. + * editing/markup.cpp: + (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document + and neither are in a shadow DOM, it should never throw an exception. + * page/DOMSelection.cpp: + (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception + was thrown. + +2011-04-19 Jungshik Shin + + Reviewed by David Levin + + Make U+FEFF be treated as a zero-width character in both + simple script and complex script code paths. In Chromium + Windows, UniscribeHelper needs a rather extensive changes + summarized below. Other ports need minor changes. + + https://bugs.webkit.org/show_bug.cgi?id=48860 + + Test: fast/text/zero-width-characters-complex-script.html + + * platform/graphics/Font.h: + (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list + (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded. + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path. + * platform/graphics/chromium/FontUtilsChromiumWin.cpp: + (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph. + (WebCore::FontMap::FontData::FontData): spaceGlyph member added. + (WebCore::getDerivedFontData): spaceGlyph is retrieved as well. + * platform/graphics/chromium/FontUtilsChromiumWin.h: + * platform/graphics/chromium/UniscribeHelper.cpp: + (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added. + (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item. + (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph. + (WebCore::UniscribeHelper::applySpacing): + (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph + * platform/graphics/chromium/UniscribeHelper.h: + (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added + * platform/graphics/chromium/UniscribeHelperTextRun.cpp: + (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph. + +2011-04-19 Brent Fulgham + + Reviewed by Adam Roben. + + Extend the DIBPixelData class with the facility for writing the + bitmap representation to disk for debugging purposes. + https://bugs.webkit.org/show_bug.cgi?id=58862. + + * platform/graphics/win/DIBPixelData.cpp: + (WebCore::DIBPixelData::writeToFile): New function. + * platform/graphics/win/DIBPixelData.h: + +2011-04-19 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: Rename lengthReceived to encodedDataLength/dataLength + https://bugs.webkit.org/show_bug.cgi?id=58883 + + * fileapi/FileReaderLoader.cpp: + (WebCore::FileReaderLoader::didReceiveData): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::didReceiveContentLength): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::didReceiveContentLength): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.dataReceived): + * loader/DocumentThreadableLoader.cpp: + (WebCore::DocumentThreadableLoader::didReceiveData): + (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata): + * loader/DocumentThreadableLoader.h: + * loader/FrameLoaderClient.h: + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveData): + * loader/MainResourceLoader.h: + * loader/NetscapePlugInStreamLoader.cpp: + (WebCore::NetscapePlugInStreamLoader::didReceiveData): + * loader/NetscapePlugInStreamLoader.h: + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::didReceiveData): + (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): + (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): + * loader/ResourceLoadNotifier.h: + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didReceiveData): + * loader/ResourceLoader.h: + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::didReceiveData): + * loader/SubresourceLoader.h: + * loader/SubresourceLoaderClient.h: + (WebCore::SubresourceLoaderClient::didReceiveData): + (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata): + * loader/WorkerThreadableLoader.cpp: + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): + (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didReceiveData): + * loader/appcache/ApplicationCacheGroup.h: + * loader/appcache/ApplicationCacheHost.h: + * notifications/Notification.cpp: + (WebCore::Notification::didReceiveData): + * notifications/Notification.h: + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: + (StreamingClient::didReceiveData): + * platform/network/BlobResourceHandle.cpp: + * platform/network/ResourceHandleClient.h: + (WebCore::ResourceHandleClient::didReceiveData): + * platform/network/android/ResourceHandleAndroid.cpp: + (WebCore::SyncLoader::didReceiveData): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::WebCoreSynchronousLoaderClient::didReceiveData): + * platform/network/curl/ResourceHandleCurl.cpp: + * platform/network/mac/ResourceHandleMac.mm: + (WebCoreSynchronousLoaderClient::didReceiveData): + * platform/network/soup/ResourceHandleSoup.cpp: + * platform/network/win/ResourceHandleWin.cpp: + * workers/WorkerScriptLoader.h: + * xml/XMLHttpRequest.h: + +2011-04-19 Stephen White + + Reviewed by Eric Seidel. + + Pull framebuffer clearing out into its own function. + https://bugs.webkit.org/show_bug.cgi?id=58897 + + Covered by fast/canvas and canvas/philip tests. + + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::clearFramebuffer): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + +2011-04-19 Brian Salomon + + Reviewed by Eric Seidel. + + When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set + https://bugs.webkit.org/show_bug.cgi?id=58788 + + Chromium browser test will be added that loads canvas page and then an + acclerated-composited page. Test must trigger ~PlatformContextSkia() + followed by invocation of GL compositor. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::~PlatformContextSkia): + +2011-04-19 Csaba Osztrogonác + + [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails + https://bugs.webkit.org/show_bug.cgi?id=58871 + + Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231. + http://trac.webkit.org/changeset/84176 (original patch) + http://trac.webkit.org/changeset/84178 (original patch - part 2) + http://trac.webkit.org/changeset/84186 (build fix) + http://trac.webkit.org/changeset/84212 + http://trac.webkit.org/changeset/84231 (skip failing test) + + original bugs: + - https://bugs.webkit.org/show_bug.cgi?id=58718 + - https://bugs.webkit.org/show_bug.cgi?id=58853 + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + +2011-04-19 Sheriff Bot + + Unreviewed, rolling out r84050. + http://trac.webkit.org/changeset/84050 + https://bugs.webkit.org/show_bug.cgi?id=58892 + + fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium + (Requested by jknotten on #webkit). + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::takeAllChildrenFrom): + (WebCore::ContainerNode::removeBetween): + (WebCore::ContainerNode::removeChildren): + (WebCore::ContainerNode::parserAddChild): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::setDocType): + * dom/Element.h: + * dom/Node.cpp: + (WebCore::Node::treeScope): + (WebCore::Node::setTreeScope): + (WebCore::Node::setTreeScopeRecursively): + * dom/Node.h: + (WebCore::Node::document): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::ShadowRoot): + * dom/ShadowRoot.h: + * dom/TreeScope.cpp: + (WebCore::TreeScope::TreeScope): + (WebCore::TreeScope::setParentTreeScope): + * dom/TreeScope.h: + * rendering/RenderSlider.cpp: + +2011-04-19 Kinuko Yasuda + + Not reviewed; windows build fix attempt. + + * storage/StorageInfo.cpp: + (WebCore::StorageInfo::~StorageInfo): + * storage/StorageInfo.h: + +2011-04-19 Kinuko Yasuda + + Reviewed by David Levin. + + [Chromium] Enable QUOTA API at runtime if enable-quota flag is given + https://bugs.webkit.org/show_bug.cgi?id=58784 + + No new tests as this does not change any functionality. + + * bindings/generic/RuntimeEnabledFeatures.cpp: + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::quotaEnabled): + (WebCore::RuntimeEnabledFeatures::setQuotaEnabled): + * page/DOMWindow.idl: + +2011-04-19 John Gregg + + Reviewed by Darin Fisher. + + Enable folder drag-n-drop when using a "webkitdirectory" file input + https://bugs.webkit.org/show_bug.cgi?id=58401 + + This uses a new ChromeClient API to enumerate the directory and + return all the files, as if the user had selected that directory + by clicking the control in the normal way. + + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::enumerateChosenDirectory): + * page/Chrome.cpp: + (WebCore::Chrome::enumerateChosenDirectory): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/network/FormData.cpp: + (WebCore::FormData::appendKeyValuePairItems): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): + (WebCore::RenderFileUploadControl::receiveDroppedFiles): + * rendering/RenderFileUploadControl.h: + +2011-04-19 Sheriff Bot + + Unreviewed, rolling out r84150. + http://trac.webkit.org/changeset/84150 + https://bugs.webkit.org/show_bug.cgi?id=58875 + + Broken backspace in Search box of Web Inspector (Requested by + apavlov on #webkit). + + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2011-04-19 Andrey Adaikin + + Reviewed by Pavel Feldman. + + Web Inspector: NPE in TextEditorModel + https://bugs.webkit.org/show_bug.cgi?id=58870 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._frameAdded): + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel.prototype.setText): + +2011-04-19 Hans Wennborg + + Reviewed by Tony Gentilcore. + + IndexedDB: Remove accidental header include directive from LevelDB backend. + https://bugs.webkit.org/show_bug.cgi?id=58872 + + No new functionality, no new tests. + + * storage/IDBLevelDBBackingStore.cpp: + +2011-04-19 Herczeg Zoltan + + Build fix. + + LEFilter change doesn't compile on ARM neon targets + https://bugs.webkit.org/show_bug.cgi?id=58671 + + Thanks for Charlie Lee to fixing this. + + * WebCore.gypi: + +2011-04-19 Daniel Bates + + Attempt to fix the Qt Linux Release Minimal build after changeset 84225 + (https://bugs.webkit.org/show_bug.cgi?id=52788). + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call + to Node::svgShadowHost() since this method is only defined when building with SVG enabled. + +2011-04-18 Dominic Cooney + + Reviewed by Dimitri Glazkov. + + Makes SVG shadow roots and DOM shadow roots distinct. + https://bugs.webkit.org/show_bug.cgi?id=52788 + + Not a functional change. Covered by existing SVG tests. + + * dom/EventDispatcher.cpp: + (WebCore::findElementInstance): + (WebCore::EventDispatcher::adjustToShadowBoundaries): + (WebCore::EventDispatcher::adjustRelatedTarget): + (WebCore::EventDispatcher::ensureEventAncestors): + * dom/Node.cpp: + (WebCore::Node::setShadowHost): + (WebCore::Node::svgShadowHost): + (WebCore::Node::shadowTreeRootNode): + * dom/Node.h: + (WebCore::Node::isSVGShadowRoot): + (WebCore::Node::parentNode): + (WebCore::Node::parentNodeGuaranteedHostFree): + * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: + (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): + (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): + * rendering/svg/SVGShadowTreeElements.cpp: + (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): + (WebCore::SVGShadowTreeRootElement::create): + (WebCore::SVGShadowTreeRootElement::attachElement): + (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost): + * rendering/svg/SVGShadowTreeElements.h: + (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot): + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::title): + +2011-04-18 Taiju TSUIKI + + Reviewed by Darin Fisher. + + Vendor-prefix requestFileSystem in FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=58517 + + Prefix from: + - window.requestFileSystem to window.webkitRequestFileSystem + - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL + - window.Flags to window.WebKitFlags + - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem + - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL + - WorkerContext.Flags to WorkerContext.WebKitFlags + + * CMakeLists.txt: + * CodeGenerators.pri: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDirectoryEntryCustom.cpp: + (WebCore::JSDirectoryEntry::getFile): + (WebCore::JSDirectoryEntry::getDirectory): + * bindings/js/JSDirectoryEntrySyncCustom.cpp: + (WebCore::getFlags): + (WebCore::JSDirectoryEntrySync::getFile): + (WebCore::JSDirectoryEntrySync::getDirectory): + * bindings/v8/custom/V8DirectoryEntryCustom.cpp: + (WebCore::V8DirectoryEntry::getDirectoryCallback): + (WebCore::V8DirectoryEntry::getFileCallback): + * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: + (WebCore::getFlags): + (WebCore::V8DirectoryEntrySync::getDirectoryCallback): + (WebCore::V8DirectoryEntrySync::getFileCallback): + * fileapi/DOMFileSystemBase.cpp: + (WebCore::DOMFileSystemBase::getFile): + (WebCore::DOMFileSystemBase::getDirectory): + * fileapi/DOMFileSystemBase.h: + * fileapi/DirectoryEntry.cpp: + (WebCore::DirectoryEntry::getFile): + (WebCore::DirectoryEntry::getDirectory): + * fileapi/DirectoryEntry.h: + * fileapi/DirectoryEntry.idl: + * fileapi/DirectoryEntrySync.cpp: + (WebCore::DirectoryEntrySync::getFile): + (WebCore::DirectoryEntrySync::getDirectory): + * fileapi/DirectoryEntrySync.h: + * fileapi/DirectoryEntrySync.idl: + * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h. + (WebCore::WebKitFlags::create): + (WebCore::WebKitFlags::isCreate): + (WebCore::WebKitFlags::setCreate): + (WebCore::WebKitFlags::isExclusive): + (WebCore::WebKitFlags::setExclusive): + (WebCore::WebKitFlags::WebKitFlags): + * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitRequestFileSystem): + (WebCore::DOMWindow::webkitResolveLocalFileSystemURL): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::webkitRequestFileSystem): + (WebCore::WorkerContext::webkitRequestFileSystemSync): + (WebCore::WorkerContext::webkitResolveLocalFileSystemURL): + (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL): + * workers/WorkerContext.h: + * workers/WorkerContext.idl: + +2011-04-18 Steve Lacey + + Reviewed by Dimitri Glazkov. + + Decouple media controls usage from implementation. + This allows each port to implement thier own controls in a different + manner to the default webkit implementation. + + Convert media controls hooks to a client interface + https://bugs.webkit.org/show_bug.cgi?id=58346 + + No new tests as there is no functional change. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaControls): + (WebCore::HTMLMediaElement::ensureMediaControls): + (WebCore::HTMLMediaElement::preDispatchEventHandler): + * html/HTMLMediaElement.h: + * html/shadow/MediaControlElements.cpp: + (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): + (WebCore::MediaControlPanelMuteButtonElement::create): + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): + (WebCore::MediaControlTimelineElement::create): + (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): + (WebCore::MediaControlFullscreenButtonElement::create): + * html/shadow/MediaControlElements.h: + * html/shadow/MediaControlRootElement.cpp: + (WebCore::MediaControlRootElement::MediaControlRootElement): + (WebCore::MediaControls::create): + * html/shadow/MediaControlRootElement.h: + * html/shadow/MediaControls.cpp: Added. + (WebCore::MediaControls::MediaControls): + * html/shadow/MediaControls.h: Added. + (WebCore::MediaControls::~MediaControls): + +2011-04-18 Pascal Massimino + + Reviewed by Adam Barth. + + Add incremental decoding to WebP decoder + https://bugs.webkit.org/show_bug.cgi?id=58851 + + No new tests, as it's not possible for the layout test framework to + force the decoders to decode incrementally. + + * platform/image-decoders/webp/WEBPImageDecoder.cpp: + (WebCore::WEBPImageDecoder::WEBPImageDecoder): + (WebCore::WEBPImageDecoder::decode): + * platform/image-decoders/webp/WEBPImageDecoder.h: + +2011-04-18 Daniel Bates + + Reviewed by Adam Roben. + + With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while + pressing-and-holding another mouse button + https://bugs.webkit.org/show_bug.cgi?id=58700 + + Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A + while pressing and holding a mouse button B, where A != B. This issue only affects builds + that enable PAN_SCROLLING. + + On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped + the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we + should only stop the autoscroll timer. + + Test: fast/events/fire-mousedown-while-pressing-mouse-button.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + +2011-04-18 Jon Lee + + Reviewed by Maciej Stachowiak. + + With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable + https://bugs.webkit.org/show_bug.cgi?id=58617 + + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders + +2011-04-18 Jon Lee + + Reviewed by Maciej Stachowiak. + + Selected item background in list box gets rendered on top of overlay scrollbar knob (58824) + https://bugs.webkit.org/show_bug.cgi?id=58824 + + + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars + +2011-04-18 John Bauman + + Reviewed by Kenneth Russell. + + Don't cast BitmapImageSingleFrameSkia to BitmapImage + https://bugs.webkit.org/show_bug.cgi?id=58821 + + BitmapImageSingleFrameSkia has isBitmap return true, but + can't be cast to a BitmapImage. Instead of using BitmapImage, + use isOpaque from SkBitmap to determine if the image has alpha. + + No new tests. + + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-04-18 Jessie Berlin + + Reviewed by Steve Falkenburg. + + If deleting the StorageTracker.db file fails, local storage is left in a strange state. + https://bugs.webkit.org/show_bug.cgi?id=58805 + + * storage/StorageTracker.cpp: + (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): + When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin. + deleteOrigin itself must be called to update the data structures that syncDeleteOrigin + depends on and to prevent clashes between a theoretical web page editing local storage + at the same time this method is called. + (WebCore::StorageTracker::syncDeleteAllOrigins): + If it is not possible to delete the StorageTracker.db file, empty it. + (WebCore::StorageTracker::deleteOriginOnMainThread): + Wrapper for deleteOrigin. + * storage/StorageTracker.h: + +2011-04-18 Geoffrey Garen + + Build fix. + + Added back missing #include. + + * bindings/js/DOMWrapperWorld.cpp: + +2011-04-18 Enrica Casucci + + Reviewed by Maciej Stachowiak. + + Dropping a file in a WKView (WebKit2) doesn't load the file. + https://bugs.webkit.org/show_bug.cgi?id=58842 + + + The URL string for the file contains an extra %00 at the end + that causes the network framework to fail to load the file. + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::getURL): + +2011-04-18 Geoffrey Garen + + Discovered and rubber-stamped by Stephanie Lewis. + + Restored some code I accidentally deleted in + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::~DOMWrapperWorld): + (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our + window shells when clearing / destroying ourselves. r83990 removed this + behavior for documents since there are no per-document maps anymore, + but removing this behavior for window shells too was a typo. + +2011-04-18 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps + https://bugs.webkit.org/show_bug.cgi?id=58828 + + * WebCore.exp.in: Blah. + + * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership + to JSNodeCustom, where other custom JSNode-related code goes. + + (WebCore::JSDOMWrapperOwner::finalize): + (WebCore::DOMWrapperWorld::DOMWrapperWorld): + * bindings/js/DOMWrapperWorld.h: + (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner): + (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner + to JSDOMWrapperOwner, to match the name of JSDOMWrapper. + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::toJSArrayBufferView): + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCanvasRenderingContextCustom.cpp: + (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper- + related functions, since there is no meaningful distinction between the + two anymore -- they both use the same extensible interface. + + * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions. + + * bindings/js/JSDOMBinding.h: + (WebCore::getInlineCachedWrapper): + (WebCore::setInlineCachedWrapper): + (WebCore::clearInlineCachedWrapper): + (WebCore::wrapperOwner): + (WebCore::wrapperContext): + (WebCore::getCachedWrapper): + (WebCore::cacheWrapper): + (WebCore::uncacheWrapper): + (WebCore::createWrapper): + (WebCore::wrap): Created a generic, extensible mechanism for creating, + caching, retrieving, marking, and destroying DOM wrappers. This eliminates + the difference between DOM object wrappers and DOM node wrappers, and + lays the groundwork for getting rid of MarkStack::deprecatedAppend usage + for marking the remainder of our DOM objects. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::history): + (WebCore::JSDOMWindow::location): + * bindings/js/JSDataViewCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::location): + (WebCore::toJS): + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): Updated for renames mentioned above. + + * bindings/js/JSNamedNodeMapCustom.cpp: + (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots): + (WebCore::JSNamedNodeMapOwner::finalize): + (WebCore::wrapperOwner): + (WebCore::wrapperContext): + (WebCore::JSNamedNodeMap::markChildren): + (WebCore::toJS): Updated to use our new interface for customizing wrapper + lifetime management through function overloading without using + MarkStack::deprecatedAppend. + + * bindings/js/JSNodeCustom.cpp: + (WebCore::isObservable): + (WebCore::isReachableFromDOM): + (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): + (WebCore::JSNodeOwner::finalize): + (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding + to here. Removed special case marking code for JSNamedNodeMap because + JSNamedNodeMap now knows how to maintain its own lifetime invariants. + + * bindings/js/JSNodeCustom.h: + (WebCore::wrapperOwner): + (WebCore::wrapperContext): + (WebCore::getInlineCachedWrapper): + (WebCore::setInlineCachedWrapper): + (WebCore::clearInlineCachedWrapper): + (WebCore::toJS): Updated to use our new interface for customizing wrapper + lifetime management through function overloading without using + MarkStack::deprecatedAppend or special-case code for nodes. + + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): Updated for renames mentioned above. + + * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for + renames mentioned above. + + * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now + because it needs to provide a custom WeakHandleOwner at wrapper creation time. + +2011-04-18 Jessie Berlin + + Rubber-stamped by Sam Weinig. + + REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows. + https://bugs.webkit.org/show_bug.cgi?id=58747 + + Copy the WebCore Localizable.strings file into the output directory. + + * WebCore.vcproj/WebCoreGenerated.vcproj: + * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: + * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: + * WebCore.vcproj/copyInspectorFiles.cmd: Removed. + * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd. + +2011-04-18 Robert Hogan + + Reviewed by Andreas Kling. + + [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint + + When scheduling a repaint for the plugin's widget, PluginViewQt + needs to make sure the widget's geometry is up to date. Otherwise + the paint event happens on the widget's old location. + + https://bugs.webkit.org/show_bug.cgi?id=57179 + + Added a manual test. + + * manual-tests/qt/plugin-painting.html: Added. + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::invalidateRect): + +2011-04-18 Oliver Hunt + + Fix Qt build + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::removeCachedMethod): + * bridge/qt/qt_instance.h: + +2011-04-18 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Remove DeprecatedPtr + https://bugs.webkit.org/show_bug.cgi?id=58718 + + Replace use of DeprecatedPtr<> with Global<> as ownership rules + aren't obvious, have filed bug #58820 on seeing if this is safe. + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fallbackObject): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::removeCachedMethod): + (JSC::Bindings::QtInstance::markAggregate): + * bridge/qt/qt_instance.h: + +2011-04-14 Matthew Delaney + + Reviewed by Simon Fraser. + + [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces + https://bugs.webkit.org/show_bug.cgi?id=58088 + + * platform/graphics/cg/ImageBufferDataCG.cpp: + (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA + (WebCore::unpremultitplyScanline): + (WebCore::premultitplyScanline): + (WebCore::ImageBufferData::getData): + (WebCore::ImageBufferData::putData): + +2011-04-18 Jeff Miller + + Reviewed by Dan Bernstein. + + Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable + https://bugs.webkit.org/show_bug.cgi?id=58811 + + * platform/win/LoggingWin.cpp: + (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable. + +2011-04-18 Andrew Scherkus + + Reviewed by Eric Seidel. + + Reset fullscreen element reference when leaving fullscreen mode and some other cleanup. + + https://bugs.webkit.org/show_bug.cgi?id=58719 + + Test: fullscreen/full-screen-cancel.html + + * dom/Document.cpp: + (WebCore::Document::Document): Remove m_isFullscreen. + (WebCore::Document::webkitWillEnterFullScreenForElement): + (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating(). + (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference. + * dom/Document.h: + (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen. + (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto. + +2011-04-18 Dan Bernstein + + Reviewed by Eric Seidel. + + REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse. + https://bugs.webkit.org/show_bug.cgi?id=58500 + + Test: fast/repaint/text-in-relative-positioned-inline.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not + the containing block’s. This matters when the containing block is outside the RenderText’s + enclosing layer, as is the case here. + +2011-04-15 Stephen White + + Reviewed by Kenneth Russell. + + Speed up DrawingBuffer::reset(). + https://bugs.webkit.org/show_bug.cgi?id=58706 + + When DrawingBuffer::reset() is called, it should not reallocate + the FBOs if the size has not changed. It should just do a glClear(). + + Covered by tests in fast/canvas and canvas/philip. + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::DrawingBuffer): + Initialize the size to -1, -1, so the size change check will work on + first reset. + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::reset): + If the size hasn't changed, don't resize the FBOs. Just clear the + relevant buffers. + +2011-04-18 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: group resources by type in the resources panel. + https://bugs.webkit.org/show_bug.cgi?id=58796 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._frameAdded): + (WebInspector.ResourcesPanel.prototype._resourceAdded): + (WebInspector.BaseStorageTreeElement): + (WebInspector.BaseStorageTreeElement.prototype.onattach): + (WebInspector.StorageCategoryTreeElement): + (WebInspector.FrameTreeElement): + (WebInspector.FrameTreeElement.prototype.setTitles): + (WebInspector.FrameTreeElement.prototype.set hovered): + (WebInspector.FrameTreeElement.prototype.appendResource): + (WebInspector.FrameTreeElement.prototype.appendChild): + (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder): + (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare): + +2011-04-18 Timothy Hatcher + + Make update-webkit-localizable-strings put WebKit/win strings in WebCore + now that all localized strings in WebKit/win use WEB_UI_STRING. + + https://webkit.org/b/58747 + + Reviewed by Dan Bernstein. + + * English.lproj/Localizable.strings: Updated with strings from WebKit/win. + +2011-04-15 MORITA Hajime + + Reviewed by Adam Barth. + + REGRESSION: doesn't animate if it doesn't have value + https://bugs.webkit.org/show_bug.cgi?id=58693 + + The initial value of RenderProgress::m_position is accidentally same as + the indeterminate value, that makes update code on updateFromElement() skipped. + This change set unique invalid value for the initial value of m_position. + + No new tests. Testing animated bar is not possible with DRT. + + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::position): + * html/HTMLProgressElement.h: + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::RenderProgress): + (WebCore::RenderProgress::isDeterminate): + +2011-04-18 MORITA Hajime + + Reviewed by Eric Seidel. + + REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039 + https://bugs.webkit.org/show_bug.cgi?id=58791 + + On refreshMainSummary(), findMainSummary() possibly releases oldSummary. + We should guard it again RefPtr. + + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::refreshMainSummary): + +2011-04-18 Antti Koivisto + + Reviewed by Simon Fraser. + + CSSSelector double frees + https://bugs.webkit.org/show_bug.cgi?id=56124 + + + In all stacks this is occuring when the document is kept alive by the guard ref only + and the node holding it is deleted. + + As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie. + This has a pretty good chance of fixing the actual bug. At minimum it will move the + crash to an earlier, more easily traceble point. + + No tests, crash stacks only, no idea how to reproduce. + + * dom/Document.cpp: + (WebCore::Document::removedLastRef): + +2011-04-18 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: Backspace in the Console is broken + https://bugs.webkit.org/show_bug.cgi?id=58764 + + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2011-04-18 Hans Wennborg + + Reviewed by Steve Block. + + LevelDB backend for IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=57372 + + Only available behind a run-time flag. Covered by existing layout + tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * GNUmakefile.list.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * platform/leveldb/LevelDBComparator.h: Added. + (WebCore::LevelDBComparator::~LevelDBComparator): + * platform/leveldb/LevelDBDatabase.cpp: Added. + (WebCore::makeSlice): + (WebCore::makeLevelDBSlice): + (WebCore::makeVector): + (WebCore::LevelDBDatabase::LevelDBDatabase): + (WebCore::LevelDBDatabase::~LevelDBDatabase): + (WebCore::LevelDBDatabase::open): + (WebCore::LevelDBDatabase::put): + (WebCore::LevelDBDatabase::remove): + (WebCore::LevelDBDatabase::get): + (WebCore::LevelDBDatabase::newIterator): + * platform/leveldb/LevelDBDatabase.h: Added. + * platform/leveldb/LevelDBIterator.cpp: Added. + (WebCore::LevelDBIterator::~LevelDBIterator): + (WebCore::LevelDBIterator::LevelDBIterator): + (WebCore::makeSlice): + (WebCore::makeLevelDBSlice): + (WebCore::LevelDBIterator::isValid): + (WebCore::LevelDBIterator::seekToLast): + (WebCore::LevelDBIterator::seek): + (WebCore::LevelDBIterator::next): + (WebCore::LevelDBIterator::prev): + (WebCore::LevelDBIterator::key): + (WebCore::LevelDBIterator::value): + * platform/leveldb/LevelDBIterator.h: Added. + * platform/leveldb/LevelDBSlice.h: Added. + (WebCore::LevelDBSlice::LevelDBSlice): + (WebCore::LevelDBSlice::~LevelDBSlice): + (WebCore::LevelDBSlice::begin): + (WebCore::LevelDBSlice::end): + * storage/IDBLevelDBBackingStore.cpp: + (WebCore::encodeByte): + (WebCore::maxIDBKey): + (WebCore::minIDBKey): + (WebCore::encodeInt): + (WebCore::decodeInt): + (WebCore::encodeVarInt): + (WebCore::decodeVarInt): + (WebCore::encodeString): + (WebCore::decodeString): + (WebCore::encodeStringWithLength): + (WebCore::decodeStringWithLength): + (WebCore::encodeDouble): + (WebCore::decodeDouble): + (WebCore::encodeIDBKey): + (WebCore::decodeIDBKey): + (WebCore::extractEncodedIDBKey): + (WebCore::compareEncodedIDBKeys): + (WebCore::getInt): + (WebCore::putInt): + (WebCore::getString): + (WebCore::putString): + (WebCore::KeyPrefix::SchemaVersionKey::encode): + (WebCore::KeyPrefix::MaxDatabaseIdKey::encode): + (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey): + (WebCore::KeyPrefix::DatabaseFreeListKey::decode): + (WebCore::KeyPrefix::DatabaseFreeListKey::encode): + (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId): + (WebCore::KeyPrefix::DatabaseFreeListKey::compare): + (WebCore::KeyPrefix::DatabaseNameKey::decode): + (WebCore::KeyPrefix::DatabaseNameKey::encode): + (WebCore::KeyPrefix::DatabaseNameKey::origin): + (WebCore::KeyPrefix::DatabaseNameKey::databaseName): + (WebCore::KeyPrefix::DatabaseNameKey::compare): + (WebCore::KeyPrefix::DatabaseMetaDataKey::encode): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType): + (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare): + (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey): + (WebCore::KeyPrefix::IndexMetaDataKey::decode): + (WebCore::KeyPrefix::IndexMetaDataKey::encode): + (WebCore::KeyPrefix::IndexMetaDataKey::compare): + (WebCore::KeyPrefix::IndexMetaDataKey::indexId): + (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType): + (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey): + (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode): + (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode): + (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId): + (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare): + (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey): + (WebCore::KeyPrefix::IndexFreeListKey::decode): + (WebCore::KeyPrefix::IndexFreeListKey::encode): + (WebCore::KeyPrefix::IndexFreeListKey::compare): + (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId): + (WebCore::KeyPrefix::IndexFreeListKey::indexId): + (WebCore::KeyPrefix::ObjectStoreNamesKey::decode): + (WebCore::KeyPrefix::ObjectStoreNamesKey::encode): + (WebCore::KeyPrefix::ObjectStoreNamesKey::compare): + (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName): + (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey): + (WebCore::KeyPrefix::IndexNamesKey::decode): + (WebCore::KeyPrefix::IndexNamesKey::encode): + (WebCore::KeyPrefix::IndexNamesKey::compare): + (WebCore::KeyPrefix::IndexNamesKey::indexName): + (WebCore::KeyPrefix::ObjectStoreDataKey::decode): + (WebCore::KeyPrefix::ObjectStoreDataKey::encode): + (WebCore::KeyPrefix::ObjectStoreDataKey::compare): + (WebCore::KeyPrefix::ObjectStoreDataKey::userKey): + (WebCore::KeyPrefix::ExistsEntryKey::decode): + (WebCore::KeyPrefix::ExistsEntryKey::encode): + (WebCore::KeyPrefix::ExistsEntryKey::compare): + (WebCore::KeyPrefix::ExistsEntryKey::userKey): + (WebCore::KeyPrefix::IndexDataKey::IndexDataKey): + (WebCore::KeyPrefix::IndexDataKey::decode): + (WebCore::KeyPrefix::IndexDataKey::encode): + (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey): + (WebCore::KeyPrefix::IndexDataKey::compare): + (WebCore::KeyPrefix::IndexDataKey::databaseId): + (WebCore::KeyPrefix::IndexDataKey::objectStoreId): + (WebCore::KeyPrefix::IndexDataKey::indexId): + (WebCore::KeyPrefix::IndexDataKey::userKey): + (WebCore::KeyPrefix::realCompare): + (WebCore::KeyPrefix::compareKeys): + (WebCore::KeyPrefix::compareIndexKeys): + (WebCore::KeyPrefix::Comparator::compare): + (WebCore::KeyPrefix::Comparator::name): + (WebCore::setUpMetadata): + (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore): + (WebCore::IDBLevelDBBackingStore::open): + (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData): + (WebCore::getNewDatabaseId): + (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData): + (WebCore::IDBLevelDBBackingStore::getObjectStores): + (WebCore::getNewObjectStoreId): + (WebCore::IDBLevelDBBackingStore::createObjectStore): + (WebCore::deleteRange): + (WebCore::IDBLevelDBBackingStore::deleteObjectStore): + (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord): + (WebCore::getNewVersionNumber): + (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::clearObjectStore): + (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier): + (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): + (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore): + (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::getIndexes): + (WebCore::getNewIndexId): + (WebCore::IDBLevelDBBackingStore::createIndex): + (WebCore::IDBLevelDBBackingStore::deleteIndex): + (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord): + (WebCore::findGreatestKeyLessThan): + (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord): + (WebCore::IDBLevelDBBackingStore::getObjectViaIndex): + (WebCore::versionExists): + (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): + (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): + (WebCore::findLastIndexKeyEqualTo): + (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): + (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): + (WebCore::IDBLevelDBBackingStore::openIndexCursor): + (WebCore::IDBLevelDBBackingStore::createTransaction): + * storage/IDBLevelDBBackingStore.h: + +2011-04-18 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: add test for CSS-resource binding. + https://bugs.webkit.org/show_bug.cgi?id=58786 + + Test: inspector/styles/styles-history.html + + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::setPropertyText): + (WebCore::InspectorStyle::toggleProperty): + (WebCore::InspectorStyleSheet::setPropertyText): + (WebCore::InspectorStyleSheet::toggleProperty): + * inspector/InspectorStyleSheet.h: + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): + (WebInspector.CSSStyleModel.prototype.setStyleSheetText): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText.callback): + (WebInspector.CSSProperty.prototype.setText): + +2011-04-18 Sheriff Bot + + Unreviewed, rolling out r83996. + http://trac.webkit.org/changeset/83996 + https://bugs.webkit.org/show_bug.cgi?id=58790 + + layout test editing/selection/move-by-word-visually.html is + failing (Requested by jknotten on #webkit). + + * editing/visible_units.cpp: + (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): + (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality): + (WebCore::previousWordBreakInBox): + (WebCore::leftWordBoundary): + (WebCore::rightWordBoundary): + (WebCore::leftWordPosition): + (WebCore::rightWordPosition): + +2011-04-18 Adam Bergkvist + + Reviewed by Daniel Bates. + + Modify make_names.pl to not include conditional includes unconditionally + https://bugs.webkit.org/show_bug.cgi?id=53672 + + Fixed conditional includes being unconditionally included. + + No new tests (no change in functionality) + + * dom/make_names.pl: + - Modified printJSElementIncludes() to only print unconditional element includes. + - Modified printElementIncludes() to only print unconditional element includes. + - Added printConditionalElementIncludes() which takes care of printing conditional element includes. + +2011-04-18 Sheriff Bot + + Unreviewed, rolling out r83803. + http://trac.webkit.org/changeset/83803 + https://bugs.webkit.org/show_bug.cgi?id=58782 + + Caused focus rings to appear in youtube videos (Requested by + inferno-sec on #webkit). + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + +2011-04-18 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: Need a workaround for bug 58422 + https://bugs.webkit.org/show_bug.cgi?id=58780 + + Instead of the A:before content, the link text is displayed as the A tag content. + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.linkifyUncopyable): + (WebInspector.StylePropertiesSection): + * inspector/front-end/inspector.css: + +2011-04-18 Carlos Garcia Campos + + Unreviewed. Fix WebKit2 GTK build after 82465. + + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::localizedString): + +2011-04-18 Andrey Adaikin + + Reviewed by Yury Semikhatsky. + + Web Inspector: TAB should not move focus from the text editor while live editing + https://bugs.webkit.org/show_bug.cgi?id=58537 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._registerShortcuts): + (WebInspector.TextViewer.prototype._cancelEditing): + (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo): + (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress): + (WebInspector.TextEditorMainPanel.prototype._setCaretLocation): + (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): + (WebInspector.TextEditorMainPanel.prototype._setText): + +2011-04-18 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box + https://bugs.webkit.org/show_bug.cgi?id=58551 + + Test: inspector/styles/metrics-box-sizing.html + + * inspector/front-end/MetricsSidebarPane.js: + (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx): + (WebInspector.MetricsSidebarPane.prototype._getBox): + (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx): + (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx): + (WebInspector.MetricsSidebarPane.prototype._update): + (WebInspector.MetricsSidebarPane.prototype.startEditing): + (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback): + (WebInspector.MetricsSidebarPane.prototype.editingCommitted): + +2011-04-18 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Web Inspector: Database agent stops to propagate it's events after navigation. + https://bugs.webkit.org/show_bug.cgi?id=58776 + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): + (WebCore::InspectorAgent::restoreInspectorStateFromCookie): + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::disable): + (WebCore::InspectorDatabaseAgent::restore): + * inspector/InspectorDatabaseAgent.h: + (WebCore::InspectorDatabaseAgent::create): + +2011-04-18 Sheriff Bot + + Unreviewed, rolling out r83968. + http://trac.webkit.org/changeset/83968 + https://bugs.webkit.org/show_bug.cgi?id=58769 + + Breaks Backspace in Web Inspector console (Requested by + apavlov on #webkit). + + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2011-04-15 Yury Semikhatsky + + Reviewed by Pavel Feldman. + + Web Inspector: introduce WorkerInspectorController + https://bugs.webkit.org/show_bug.cgi?id=58668 + + WorkerInspectorController will be owned by WorkerContext and will hold all inspector + agents and will also manage connection to the inspector frontend. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptState.cpp: + (WebCore::scriptStateFromWorkerContext): + * bindings/js/ScriptState.h: + * bindings/v8/ScriptState.cpp: + (WebCore::scriptStateFromWorkerContext): + * bindings/v8/ScriptState.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::updateCookie): + * inspector/WorkerInspectorController.cpp: Added. + (WebCore::WorkerInspectorController::WorkerInspectorController): + (WebCore::WorkerInspectorController::~WorkerInspectorController): + (WebCore::WorkerInspectorController::connectFrontend): + (WebCore::WorkerInspectorController::disconnectFrontend): + (WebCore::WorkerInspectorController::dispatchMessageFromFrontend): + * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h. + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::WorkerContext): + * workers/WorkerContext.h: + (WebCore::WorkerContext::workerInspectorController): + +2011-04-17 Thierry Reding + + Reviewed by Adam Barth. + + Fix build with GCC 4.6. + + * dom/make_names.pl: Execute preprocessor without the -P option. The + preprocessor in GCC 4.6 eats empty lines, effectively breaking the + parsing performed by this script. Dropping the -P option when invoking + the preprocessor keeps the empty lines but as a side-effect also adds + additional linemarkers. + + From the cpp manpage: + + -P Inhibit generation of linemarkers in the output from the + preprocessor. This might be useful when running the preprocessor + on something that is not C code, and will be sent to a program + which might be confused by the linemarkers. + + The linemarkers are not problematic, however, because the script + properly handles them by ignoring all lines starting with a #. + +2011-04-17 David Kilzer + + Switch HTTP pipelining from user default to private setting + + + Reviewed by Dan Bernstein. + + This replaces support for the WebKitEnableHTTPPipelining user + default with methods on the WebCore::ResourceRequest class in + WebCore, the WebView class in WebKit1, and the WebContext class + in WebKit2. It also removes support for the + WebKitForceHTTPPipeliningPriorityHigh user default which was not + needed. + + Run these commands if you set the user defaults previously, + replacing "BUNDLE.ID" with your application's bundle ID: + + defaults delete BUNDLE.ID WebKitEnableHTTPPipelining + defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh + + * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled() + and ResourceRequest::setHTTPPipeliningEnabled(). + + * platform/network/ResourceRequestBase.h: + (WebCore::isHTTPPipeliningEnabled): Removed declaration. + (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration. + + * platform/network/cf/ResourceRequest.h: + (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration. + (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration. + (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration. + + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added. + (WebCore::ResourceRequest::httpPipeliningEnabled): Added. + (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added. + (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched + to use ResourceRequest::httpPipeliningEnabled(). + (WebCore::readBooleanPreference): Removed. + (WebCore::isHTTPPipeliningEnabled): Removed. + (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed. + + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to + use ResourceRequest::httpPipeliningEnabled(). Removed check for + shouldForceHTTPPipeliningPriorityHigh(). + (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto. + +2011-04-17 Dan Bernstein + + Reviewed by Maciej Stachowiak. + + REGRESSION (r84096):
moved to the right in fast/block/float/032.html + https://bugs.webkit.org/show_bug.cgi?id=58736 + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so + that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange() + always dirties the line after the last one in the range. + +2011-04-17 Patrick Gansterer + + Unreviewed. Add missing include to fix build without precompiled header. + + * rendering/RenderMediaControls.cpp: + +2011-04-17 Daniel Bates + + Attempt to fix the Chromium build after changeset 84110 + (https://bugs.webkit.org/show_bug.cgi?id=57842). + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource. + +2011-04-17 Patrick Gansterer + + Reviewed by Eric Seidel. + + Remove pthread dependency of GCController + https://bugs.webkit.org/show_bug.cgi?id=54833 + + * bindings/js/GCController.cpp: + (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging): + +2011-04-17 Gavin Peters + + Reviewed by Adam Barth. + + Add support for link rel type "subresource" + https://bugs.webkit.org/show_bug.cgi?id=57842 + + Link rel=prefetch is great for cache warming for resources on + subsequent pages, but it launches requests at too low a priority + to use for subresources of the current page. + + Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940 + is implemented, a rel type that launches requests at an higher + priority is going to be very useful. This rel type is in the + HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions . An + expected use case will be for servers to provide subresource hints + in link headers, which will allow servers to help make the web + faster. + + This feature continues my implementation of the Link header, which + we've talked about in WebKit-dev in + https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html. + + Tests: fast/dom/HTMLLinkElement/subresource.html + http/tests/misc/link-rel-prefetch-and-subresource.html + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::~HTMLLinkElement): + (WebCore::HTMLLinkElement::tokenizeRelAttribute): + (WebCore::HTMLLinkElement::process): + (WebCore::HTMLLinkElement::onloadTimerFired): + (WebCore::HTMLLinkElement::notifyFinished): + * html/HTMLLinkElement.h: + (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): + * loader/cache/CachedResource.cpp: + (WebCore::defaultPriorityForResourceType): + * loader/cache/CachedResource.h: + (WebCore::CachedResource::isLinkResource): + * loader/cache/CachedResourceLoader.cpp: + (WebCore::createResource): + (WebCore::CachedResourceLoader::requestLinkResource): + (WebCore::CachedResourceLoader::canRequest): + (WebCore::CachedResourceLoader::incrementRequestCount): + (WebCore::CachedResourceLoader::decrementRequestCount): + * loader/cache/CachedResourceLoader.h: + * loader/cache/CachedResourceRequest.cpp: + (WebCore::cachedResourceTypeToTargetType): + (WebCore::CachedResourceRequest::load): + +2011-04-17 Dan Bernstein + + Reviewed by Joseph Pecoraro. + + REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html + https://bugs.webkit.org/show_bug.cgi?id=58745 + + This is really a regression from r82611, but it went unnoticed due to a mistake in r73385, + which was fixed in r83514. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the + variable so named, not the top layout overflow. + +2011-04-17 Geoffrey Garen + + Strongly suggested, but not necessarily reviewed, by + Sam Weinig and Maciej Stachowiak. + + Renamed DOMObject* => JSDOMWrapper*. + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::isObservable): + (WebCore::DOMObjectHandleOwner::finalize): + * bindings/js/DOMWrapperWorld.h: + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::toJSArrayBufferView): + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDOMBinding.h: + (WebCore::JSDOMWrapperWithGlobalPointer::globalObject): + (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer): + (WebCore::DOMConstructorObject::DOMConstructorObject): + (WebCore::createDOMObjectWrapper): + (WebCore::getDOMObjectWrapper): + * bindings/js/JSDOMWrapper.cpp: + (WebCore::JSDOMWrapper::~JSDOMWrapper): + * bindings/js/JSDOMWrapper.h: + (WebCore::JSDOMWrapper::JSDOMWrapper): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::location): + (WebCore::toJS): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::wrapper): + (WebCore::ScriptWrappable::setWrapper): + * bindings/scripts/CodeGeneratorJS.pm: + +2011-04-17 Patrick Gansterer + + Reviewed by Adam Barth. + + Rename PLATFORM(CA) to USE(CA) + https://bugs.webkit.org/show_bug.cgi?id=58742 + + * config.h: + * platform/graphics/ca/TransformationMatrixCA.cpp: + * platform/graphics/cg/ImageBufferDataCG.h: + * platform/graphics/transforms/TransformationMatrix.h: + * platform/mac/WebCoreSystemInterface.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::containsPaintedContent): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateBacking): + +2011-04-17 Young Han Lee + + Reviewed by Benjamin Poulain. + + [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0. + https://bugs.webkit.org/show_bug.cgi?id=58739 + + gInVertexAttributeIndex is a constant variable to point the location of + "InVertex" attribute of the vertex shaders. + + * platform/graphics/opengl/TextureMapperGL.cpp: + (WebCore::TextureMapperGL::drawTexture): + (WebCore::TextureMapperGL::paintToTarget): + +2011-04-17 Kinuko Yasuda + + Not reviewed: Fix copyright (I had submitted the file with wrong + copyright line). + + * storage/StorageInfo.idl: + +2011-04-17 Patrick Gansterer + + Reviewed by Adam Barth. + + Rename PLATFORM(CG) to USE(CG) + https://bugs.webkit.org/show_bug.cgi?id=58729 + + * config.h: + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::toDataURL): + * html/HTMLCanvasElement.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setShadow): + (WebCore::CanvasRenderingContext2D::drawTextInternal): + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * loader/cache/CachedFont.cpp: + * loader/cache/CachedImage.cpp: + (WebCore::CachedImage::createImage): + * platform/FloatConversion.h: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypes): + (WebCore::initializeSupportedImageMIMETypesForEncoding): + * platform/graphics/BitmapImage.h: + * platform/graphics/Color.h: + * platform/graphics/DashArray.h: + * platform/graphics/FloatPoint.h: + * platform/graphics/FloatRect.h: + * platform/graphics/FloatSize.h: + * platform/graphics/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hash): + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::advanceAt): + (WebCore::GlyphBuffer::add): + (WebCore::GlyphBuffer::expandLastAdvance): + * platform/graphics/Gradient.h: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setLegacyShadow): + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/Image.cpp: + * platform/graphics/Image.h: + * platform/graphics/ImageBuffer.cpp: + * platform/graphics/ImageBuffer.h: + * platform/graphics/ImageBufferData.h: + * platform/graphics/ImageSource.h: + * platform/graphics/IntPoint.h: + * platform/graphics/IntRect.h: + * platform/graphics/IntSize.h: + * platform/graphics/Path.h: + * platform/graphics/Pattern.h: + * platform/graphics/SimpleFontData.h: + * platform/graphics/cg/ColorCG.cpp: + * platform/graphics/cg/FloatPointCG.cpp: + * platform/graphics/cg/FloatRectCG.cpp: + * platform/graphics/cg/FloatSizeCG.cpp: + * platform/graphics/cg/ImageCG.cpp: + * platform/graphics/cg/ImageSourceCG.cpp: + * platform/graphics/cg/IntPointCG.cpp: + * platform/graphics/cg/IntRectCG.cpp: + * platform/graphics/cg/IntSizeCG.cpp: + * platform/graphics/cg/PDFDocumentImage.cpp: + * platform/graphics/cg/PDFDocumentImage.h: + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/cg/TransformationMatrixCG.cpp: + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/PlatformCanvas.cpp: + (WebCore::PlatformCanvas::resize): + (WebCore::PlatformCanvas::AutoLocker::AutoLocker): + (WebCore::PlatformCanvas::Painter::Painter): + * platform/graphics/chromium/PlatformCanvas.h: + * platform/graphics/chromium/PlatformImage.cpp: + (WebCore::PlatformImage::updateFromImage): + * platform/graphics/opentype/OpenTypeUtilities.cpp: + * platform/graphics/transforms/AffineTransform.h: + * platform/graphics/transforms/TransformationMatrix.h: + * platform/graphics/win/DIBPixelData.h: + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::platformInit): + (WebCore::createGDIFont): + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/win/GraphicsContextWin.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + * platform/graphics/win/SimpleFontDataWin.cpp: + * platform/image-decoders/ImageDecoder.cpp: + * platform/image-decoders/ImageDecoder.h: + * rendering/RenderObject.h: + * rendering/svg/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::postApplyResource): + * rendering/svg/RenderSVGResourceGradient.cpp: + (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/svg/RenderSVGResourceGradient.h: + * rendering/svg/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): + * rendering/svg/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): + +2011-04-16 Adam Barth + + Reviewed by Sam Weinig. + + about:blank documents in new tabs can XHR anywhere + https://bugs.webkit.org/show_bug.cgi?id=58712 + + Empty security origins have supposed to be low-privilege, we should + mark them as having a unique origin. + + * manual-tests/about-blank-xhr.html: Added. + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + * page/SecurityOrigin.h: + +2011-04-16 Dan Bernstein + + Reviewed by Simon Fraser. + + Crash when hiding a float + + Test: fast/block/float/overhanging-tall-block.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop. + Capped the logical bottom so that we get the correct maximum. + * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine(). + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by + extending the float if needed so that it touches the line. + (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine(). + (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right + range of lines as dirty. + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which + allows the creation of the vector to be combined with appending the first float. + +2011-04-16 Sam Weinig + + Reviewed by Simon Fraser. + + Pages in the PageCache don't have the correct visited link coloring after being restored + https://bugs.webkit.org/show_bug.cgi?id=58721 + + * WebCore.exp.in: + Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2. + + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + (WebCore::CachedPage::restore): + (WebCore::CachedPage::clear): + * history/CachedPage.h: + (WebCore::CachedPage::markForVistedLinkStyleRecalc): + Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link + style recalc when being restored. + + * history/PageCache.h: + * history/PageCache.cpp: + (WebCore::PageCache::markPagesForVistedLinkStyleRecalc): + Mark all pages in the page cache as requiring visited link style recalc. + + * page/PageGroup.cpp: + (WebCore::PageGroup::addVisitedLink): + (WebCore::PageGroup::removeVisitedLinks): + (WebCore::PageGroup::removeAllVisitedLinks): + Set dirty bit when changing any visited link information. + + +2011-04-16 Leo Yang + + Reviewed by Nikolas Zimmermann. + + ASSERT failure when svg element changes href + https://bugs.webkit.org/show_bug.cgi?id=58726 + + m_resourceId was not empty after the pending resource + becomes available. This will trigger the assertion at + line 509 of SVGUseElement.cpp when the element's + href becomes empty or invalid. + + This patch makes m_resourceId be empty after the pending + resource becomes available to avoid assertion failure. + + Test: svg/custom/use-crash-when-href-change.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildPendingResource): + +2011-04-16 Patrick Gansterer + + Reviewed by Eric Seidel. + + Rename PLATFORM(CAIRO) to USE(CAIRO) + https://bugs.webkit.org/show_bug.cgi?id=55192 + + * CMakeListsEfl.txt: + * config.h: + * platform/MIMETypeRegistry.cpp: + (WebCore::initializeSupportedImageMIMETypesForEncoding): + * platform/graphics/ContextShadow.h: + * platform/graphics/DashArray.h: + * platform/graphics/FloatRect.h: + * platform/graphics/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::isHashTableDeletedValue): + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::glyphAt): + (WebCore::GlyphBuffer::add): + * platform/graphics/Gradient.cpp: + * platform/graphics/Gradient.h: + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContextState::GraphicsContextState): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/ImageBufferData.h: + * platform/graphics/ImageSource.h: + * platform/graphics/Path.h: + * platform/graphics/Pattern.h: + * platform/graphics/SimpleFontData.h: + * platform/graphics/cairo/DrawErrorUnderline.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/cairo/ImageCairo.cpp: + * platform/graphics/gstreamer/ImageGStreamer.h: + * platform/graphics/transforms/AffineTransform.h: + * platform/graphics/transforms/TransformationMatrix.h: + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::createGDIFont): + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/win/GraphicsContextWin.cpp: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintWindowedPluginIntoContext): + * rendering/RenderObject.h: + +2011-04-16 Patrick Gansterer + + Unreviewed WinCE build fix for r84033. + + * platform/win/LocalizedStringsWin.cpp: + (WebCore::localizedString): + +2011-04-16 Abhishek Arya + + Reviewed by Nikolas Zimmermann. + + Only allow inline child for SVG text since we cannot + handle block childs. + https://bugs.webkit.org/show_bug.cgi?id=58678 + + Test: svg/text/text-block-child-crash.xhtml + + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::isChildAllowed): + * rendering/svg/RenderSVGText.h: + +2011-04-15 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector. + https://bugs.webkit.org/show_bug.cgi?id=57833 + + * inspector/Inspector.json: + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::setFrontend): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::disable): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + * inspector/InspectorDatabaseAgent.h: + * inspector/front-end/inspector.js: + +2011-04-15 Adam Barth + + Reviewed by Eric Seidel. + + CSP media-src is missing + https://bugs.webkit.org/show_bug.cgi?id=58642 + + Yay HTMLMediaElement for having the exact hook we need! + + Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html + http/tests/security/contentSecurityPolicy/media-src-blocked.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::isSafeToLoadURL): + - Although it's tempting to add this branch to the previous + if-block, that results in the wrong error message being logged to + the console (covered by the "blocked" test). + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowMediaFromSource): + (WebCore::ContentSecurityPolicy::addDirective): + * page/ContentSecurityPolicy.h: + - These changes are routine. + +2011-04-15 Adam Barth + + Reviewed by Eric Seidel. + + CSP should block string arguments to setTimeout and setInterval unless options eval-script + https://bugs.webkit.org/show_bug.cgi?id=58610 + + It's somewhat sadness that the JSC and V8 code for setTimeout and + setInterval are so different. I struggled for a while with how to + handle the worker case, but I decided to punt on it for now. + + Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html + http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html + http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html + http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setTimeout): + (WebCore::JSDOMWindow::setInterval): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::setTimeout): + (WebCore::JSWorkerContext::setInterval): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::create): + * bindings/js/ScheduledAction.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::WindowSetTimeoutImpl): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowEval): + * page/ContentSecurityPolicy.h: + +2011-04-15 Shishir Agrawal + + Reviewed by James Robinson. + + Add a flag to guard Page Visibility API changes. + https://bugs.webkit.org/show_bug.cgi?id=58464 + + * Configurations/FeatureDefines.xcconfig: + +2011-04-15 Fridrich Strba + + Reviewed by Martin Robinson. + + Make plugins compile during WebKit GTK Windows build. + Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows. + https://bugs.webkit.org/show_bug.cgi?id=58580 + + * plugins/PluginView.cpp: + (WebCore::PluginView::stop): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::platformGetValue): + (WebCore::PluginView::platformStart): + +2011-04-15 MORITA Hajime + + Reviewed by Simon Fraser. + + Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower + https://bugs.webkit.org/show_bug.cgi?id=58512 + + Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced. + This change keeps an small refactoring on + FrameView::shouldUpdate(), which doesn't affect on the behavior. + + * dom/Document.cpp: + * dom/Document.h: + * page/FrameView.cpp: + (WebCore::FrameView::invalidateRect): + (WebCore::FrameView::shouldUpdate): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintContents): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + +2011-04-15 Chris Rogers + + Reviewed by Kenneth Russell. + + Reduce default kernel size of SincResampler to favor better speed over quality + https://bugs.webkit.org/show_bug.cgi?id=58710 + + No new tests since audio API is not yet implemented. + + * platform/audio/SincResampler.h: + +2011-04-15 Fridrich Strba + + Reviewed by Martin Robinson. + + Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS) + These have to be defined for Windows in general, since win32 API + does not provide them. + https://bugs.webkit.org/show_bug.cgi?id=58582 + + * platform/graphics/WOFFFileFormat.cpp: + +2011-04-15 Vsevolod Vlasov + + Reviewed by Adam Barth. + + Show a console message when X-Frame-Options blocks a load + https://bugs.webkit.org/show_bug.cgi?id=39087 + + Added console message when X-Frame-Options headers block resource loading + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + +2011-04-15 Fridrich Strba + + Reviewed by Martin Robinson. + + Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS) + test. This allows Windows build of WebKit GTK to chose the right + path. + https://bugs.webkit.org/show_bug.cgi?id=58576 + + * platform/FileSystem.h: + +2011-04-08 Luiz Agostini + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] QWebPage MIME type handling inconsistency with other web browsers + https://bugs.webkit.org/show_bug.cgi?id=46968 + + Implementing mime type sniffing based on + http://tools.ietf.org/html/draft-abarth-mime-sniff-06. + + * WebCore.pro: + * platform/network/MIMESniffing.cpp: Added. + (MagicNumbers::dataSizeNeededForImageSniffing): + (MagicNumbers::maskedCompare): + (MagicNumbers::checkSpaceOrBracket): + (MagicNumbers::compare): + (MagicNumbers::findMIMEType): + (MagicNumbers::findSimpleMIMEType): + (MagicNumbers::textOrBinaryTypeSniffingProcedure): + (MagicNumbers::unknownTypeSniffingProcedure): + (MagicNumbers::imageTypeSniffingProcedure): + (MagicNumbers::checkText): + (MagicNumbers::checkRDF): + (MagicNumbers::skipTag): + (MagicNumbers::feedTypeSniffingProcedure): + (MIMESniffer::MIMESniffer): + * platform/network/MIMESniffing.h: Added. + (MIMESniffer::dataSize): + (MIMESniffer::sniff): + (MIMESniffer::isValid): + * platform/network/NetworkingContext.h: + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::release): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType): + (WebCore::QNetworkReplyWrapper::emitMetaDataChanged): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::sendNetworkRequest): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyWrapper::advertisedMIMEType): + (WebCore::QNetworkReplyWrapper::mimeType): + * platform/network/qt/QtMIMETypeSniffer.cpp: Added. + (QtMIMETypeSniffer::QtMIMETypeSniffer): + (QtMIMETypeSniffer::sniff): + (QtMIMETypeSniffer::trySniffing): + * platform/network/qt/QtMIMETypeSniffer.h: Added. + (QtMIMETypeSniffer::mimeType): + (QtMIMETypeSniffer::isFinished): + +2011-04-15 Emil A Eklund + + Reviewed by Dimitri Glazkov. + + input field with focus makes appendChild operation ~42x slower + https://bugs.webkit.org/show_bug.cgi?id=57059 + + Change ContainerNode::cloneChildNodes to only disable the + deleteButtonController if the container itself (or any of its children) + is being edited. Thus avoiding a reflow in cases where it's not. + + Test: perf/clone-with-focus.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::cloneChildNodes): + +2011-04-15 Kinuko Yasuda + + Reviewed by David Levin. + + Expose unified Quota API if QUOTA build flag is enabled + https://bugs.webkit.org/show_bug.cgi?id=58648 + + Test: storage/storageinfo-query-usage.html + + * CMakeLists.txt: Added new file entries. + * DerivedSources.cpp: Added new file entries. + * DerivedSources.make: Added new file entries. + * GNUmakefile.am: Added new file entries. + * WebCore.gypi: Added new file entries. + * WebCore.vcproj/WebCore.vcproj: Added new file entries. + * WebCore.xcodeproj/project.pbxproj: Added new file entries. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitStorageInfo): Added. + * page/DOMWindow.h: + * page/DOMWindow.idl: + * storage/StorageInfo.h: Added storage type enum. + * storage/StorageInfo.idl: Added. + * storage/StorageInfoErrorCallback.idl: Added. + * storage/StorageInfoUsageCallback.idl: Added. + +2011-04-15 Oliver Hunt + + GC allocate Structure + https://bugs.webkit.org/show_bug.cgi?id=58483 + + Rolling r83894 r83827 r83810 r83809 r83808 back in with + a workaround for the gcc bug seen by the gtk bots + + * WebCore.exp.in: + * bindings/js/JSAudioConstructor.h: + (WebCore::JSAudioConstructor::createStructure): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::createStructure): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + (WebCore::DOMConstructorObject::createStructure): + (WebCore::DOMConstructorObject::DOMConstructorObject): + (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): + (WebCore::JSDOMGlobalObject::markChildren): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::createStructure): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): + * bindings/js/JSDOMWindowBase.h: + (WebCore::JSDOMWindowBase::createStructure): + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::JSDOMWindowShell): + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::createStructure): + * bindings/js/JSDOMWrapper.h: + (WebCore::DOMObject::DOMObject): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + * bindings/js/JSImageConstructor.h: + (WebCore::JSImageConstructor::createStructure): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSOptionConstructor.h: + (WebCore::JSOptionConstructor::createStructure): + * bindings/js/JSWorkerContextBase.cpp: + (WebCore::JSWorkerContextBase::JSWorkerContextBase): + * bindings/js/JSWorkerContextBase.h: + (WebCore::JSWorkerContextBase::createStructure): + * bindings/js/ScriptCachedFrameData.h: + * bindings/js/SerializedScriptValue.h: + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::~WorkerScriptController): + (WebCore::WorkerScriptController::initScript): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/c/CRuntimeObject.h: + (JSC::Bindings::CRuntimeObject::createStructure): + * bridge/c/c_instance.cpp: + (JSC::Bindings::CRuntimeMethod::createStructure): + * bridge/jni/jsc/JavaInstanceJSC.cpp: + (JavaRuntimeMethod::createStructure): + * bridge/jni/jsc/JavaRuntimeObject.h: + (JSC::Bindings::JavaRuntimeObject::createStructure): + * bridge/objc/ObjCRuntimeObject.h: + (JSC::Bindings::ObjCRuntimeObject::createStructure): + * bridge/objc/objc_instance.mm: + (ObjCRuntimeMethod::createStructure): + * bridge/objc/objc_runtime.h: + (JSC::Bindings::ObjcFallbackObjectImp::createStructure): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObject::createStructure): + * bridge/qt/qt_pixmapruntime.cpp: + (JSC::Bindings::QtPixmapRuntimeObject::createStructure): + * bridge/qt/qt_runtime.h: + (JSC::Bindings::QtRuntimeMethod::createStructure): + * bridge/runtime_array.cpp: + (JSC::RuntimeArray::RuntimeArray): + * bridge/runtime_array.h: + (JSC::RuntimeArray::createStructure): + * bridge/runtime_method.cpp: + (JSC::RuntimeMethod::RuntimeMethod): + * bridge/runtime_method.h: + (JSC::RuntimeMethod::createStructure): + * bridge/runtime_object.cpp: + (JSC::Bindings::RuntimeObject::RuntimeObject): + * bridge/runtime_object.h: + (JSC::Bindings::RuntimeObject::createStructure): + * history/HistoryItem.h: + +2011-04-15 Jessie Berlin + + Reviewed by Brian Weinstein. + + Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading + http://www.webkit.org/demos/calendar. + https://bugs.webkit.org/show_bug.cgi?id=58698 + + * platform/win/FileSystemWin.cpp: + (WebCore::openFile): + Add breaks to the case statement. + (WebCore::directoryName): + Remove any trailing slash in directoryName. After closer inspection of all callers, it + appears the that callers do not need the trailing slash, and those that use the length do + so only to change the direction of the slashes throughout the length of the path. + +2011-04-15 Roland Steiner + + Reviewed by Dimitri Glazkov. + + Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree + https://bugs.webkit.org/show_bug.cgi?id=52963 + + .) Change base class of ShadowRoot from DocumentFragment to TreeScope. + .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.). + .) Merged setTreeScope() with setTreeScopeRecursively() + .) Call setTreeScopeRecursively in DOM manipulation functions where applicable. + + No new tests. (refactoring) + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::takeAllChildrenFrom): + (WebCore::ContainerNode::removeBetween): + (WebCore::ContainerNode::removeChildren): + (WebCore::ContainerNode::parserAddChild): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::setDocType): + * dom/Element.h: + * dom/Node.cpp: + (WebCore::Node::treeScope): + (WebCore::Node::setTreeScopeRecursively): + * dom/Node.h: + (WebCore::Node::document): + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::ShadowRoot): + (WebCore::ShadowRoot::~ShadowRoot): + (WebCore::ShadowRoot::nodeType): + (WebCore::ShadowRoot::cloneNode): + (WebCore::ShadowRoot::childTypeAllowed): + * dom/ShadowRoot.h: + (WebCore::toShadowRoot): + * dom/TreeScope.cpp: + (WebCore::TreeScope::TreeScope): + (WebCore::TreeScope::setParentTreeScope): + * dom/TreeScope.h: + * rendering/RenderSlider.cpp: + +2011-04-15 Geoffrey Garen + + Reviewed by Oliver Hunt. + + DOM object handles are never removed from cache + https://bugs.webkit.org/show_bug.cgi?id=58707 + + We were trying to remove hash table items by value instead of by key. + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::JSNodeHandleOwner::finalize): Changed to work more like + DOMObjectHandleOwner::finalize because I'm going to merge them. + + (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items + by key, not value. (Oops!) Use a helper function to make sure we get + this right. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak + handle context, so we can use it at destruction time. + + * bindings/js/JSDOMBinding.h: Removed unnecessary include. + + * bindings/js/JSNodeCustom.h: + (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak + handle context, so we can use it at destruction time. + + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to + support the above. + +2011-04-15 Kenneth Russell + + Unreviewed. Chromium Linux Release build fix due to unused variables. + + * platform/audio/mkl/FFTFrameMKL.cpp: + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::cleanup): + +2011-04-15 Brent Fulgham + + Unreviewed build change after r83945. + + New 'PlatformPathCairo.cpp' was not added to the WinCairo build. + + * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo + build. Exclude for standard Apple build. + +2011-04-15 Anders Carlsson + + Reviewed by Dan Bernstein. + + Fade the find page overlay + https://bugs.webkit.org/show_bug.cgi?id=58697 + + Add a symbol that WebKit2 needs. + + * WebCore.exp.in: + +2011-04-15 MORITA Hajime + + Reviewed by Dimitri Glazkov. + + RenderDetailsMarker should belong to shadow element. + https://bugs.webkit.org/show_bug.cgi?id=58591 + + - Introduced DetailsMarkerControl element, which is a shadow element of , creates RenderDetailsMarker. + - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout. + Note that marker size is given via style for -webkit-details-marker pseudo class. + - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement. + Now RenderDetails knows nothing about default summary. + - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of + , and the clickable area is now itself. + + - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/html.css: + (summary::-webkit-details-marker): + * dom/Element.cpp: + (WebCore::Element::attach): + * dom/Node.cpp: + (WebCore::shouldCreateRendererFor): + * dom/Node.h: + (WebCore::Node::canHaveLightChildRendererWithShadow): + * html/HTMLDetailsElement.cpp: + (WebCore::HTMLDetailsElement::findSummaryFor): + (WebCore::HTMLDetailsElement::findMainSummary): + (WebCore::HTMLDetailsElement::refreshMainSummary): + (WebCore::HTMLDetailsElement::createShadowSubtree): + (WebCore::HTMLDetailsElement::childrenChanged): + (WebCore::HTMLDetailsElement::finishParsingChildren): + (WebCore::HTMLDetailsElement::toggleOpen): + * html/HTMLDetailsElement.h: + (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow): + * html/HTMLSummaryElement.cpp: + (WebCore::HTMLSummaryElement::create): + (WebCore::HTMLSummaryElement::createShadowSubtree): + (WebCore::HTMLSummaryElement::detailsElement): + (WebCore::HTMLSummaryElement::isMainSummary): + (WebCore::HTMLSummaryElement::defaultEventHandler): + * html/HTMLSummaryElement.h: + (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow): + * html/shadow/DetailsMarkerControl.cpp: Added. + (WebCore::DetailsMarkerControl::DetailsMarkerControl): + (WebCore::DetailsMarkerControl::createRenderer): + (WebCore::DetailsMarkerControl::rendererIsNeeded): + (WebCore::DetailsMarkerControl::shadowPseudoId): + (WebCore::DetailsMarkerControl::summaryElement): + * html/shadow/DetailsMarkerControl.h: Added. + (WebCore::DetailsMarkerControl::create): + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::RenderDetails): + (WebCore::RenderDetails::styleDidChange): + (WebCore::RenderDetails::moveSummaryToContents): + (WebCore::RenderDetails::checkMainSummary): + (WebCore::RenderDetails::layout): + * rendering/RenderDetails.h: + * rendering/RenderDetailsMarker.cpp: + (WebCore::RenderDetailsMarker::RenderDetailsMarker): + (WebCore::RenderDetailsMarker::isOpen): + (WebCore::RenderDetailsMarker::getPath): + (WebCore::RenderDetailsMarker::paint): + (WebCore::RenderDetailsMarker::details): + * rendering/RenderDetailsMarker.h: + +2011-04-15 Sam Weinig + + Reviewed by Adam Roben. + + Implement localize strings for windows WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=58688 + + * platform/win/LocalizedStringsWin.cpp: + (WebCore::createWebKitBundle): + (WebCore::webKitBundle): + (WebCore::localizedString): + Add implementation of localizedString for Windows. + +2011-04-15 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Some mechanical DOM wrapper cleanup + https://bugs.webkit.org/show_bug.cgi?id=58689 + + * WebCore.exp.in: Export! + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::isReachableFromDOM): Inverted the inDocument test to make the + relationship of the special cases to the normal case clearer. + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::toJSArrayBufferView): + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDOMBinding.cpp: + (WebCore::getCachedDOMObjectWrapper): + (WebCore::cacheDOMObjectWrapper): + * bindings/js/JSDOMBinding.h: + (WebCore::createDOMObjectWrapper): + (WebCore::getDOMObjectWrapper): + (WebCore::createDOMNodeWrapper): + (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate + in terms of DOMWrapperWorlds instead of ExecStates. This is clearer, + and ever-so-slightly faster. + + Removed hasCachedXXX functions, now that they're unused. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::history): + (WebCore::JSDOMWindow::location): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::location): + (WebCore::toJS): + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): + * bindings/js/JSNodeCustom.h: + (WebCore::getCachedDOMNodeWrapper): + (WebCore::cacheDOMNodeWrapper): + (WebCore::toJS): + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): Updated for changes above. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper + because XHR is almost always created and used by JavaScript, so it's + simpler to just always report extra cost. + +2011-04-15 Andreas Kling + + Rolling out accidental part of r84010. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::setButtonPadding): + +2011-04-15 Oliver Hunt + + Forgot windows build fix. + + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): + +2011-04-15 Joseph Pecoraro + + Reviewed by Yury Semikhatsky. + + Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer + https://bugs.webkit.org/show_bug.cgi?id=51364 + + The front end should not use a transparent background when + loaded as a web page (remote debugging) but should when loaded + regularly in a custom window. This adds a "remote" style class + onto the document body when the page is loaded remotely. + + * inspector/front-end/inspector.css: + (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class. + * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely. + +2011-04-15 Joseph Pecoraro + + Reviewed by David Kilzer. + + JSLock ASSERT seen often when using the inspector for long + periods of time. We should take the JSLock whenever we + might allocate memory in the JavaScript Heap. + + JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations + https://bugs.webkit.org/show_bug.cgi?id=58674 + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock. + +2011-04-14 Oliver Hunt + + Reviewed by Geoffrey Garen. + + Make JSNodeFilterCondition handle its lifetime correctly + https://bugs.webkit.org/show_bug.cgi?id=58622 + + Switch over to a WeakHandle and external roots to keep the + condition value live. + + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): + (WebCore::JSNodeFilterCondition::markAggregate): + (WebCore::JSNodeFilterCondition::acceptNode): + (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): + * bindings/js/JSNodeFilterCondition.h: + (WebCore::JSNodeFilterCondition::create): + * bindings/js/JSNodeFilterCustom.cpp: + (WebCore::toNodeFilter): + * bindings/scripts/CodeGeneratorJS.pm: + +2011-04-13 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: some adjustments + https://bugs.webkit.org/show_bug.cgi?id=57092 + + - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead. + - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of + signal metaDataChanged for m_responseContainsData to be consistent. + - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::didReceiveReadyRead): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::release): + (WebCore::shouldIgnoreHttpError): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::redirect): + (WebCore::QNetworkReplyHandler::forwardData): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyWrapper::responseContainsData): + (WebCore::QNetworkReplyWrapper::redirected): + +2011-04-15 Alexey Proskuryakov + + Chromium build fix. + + * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists. + +2011-04-15 Mike Reed + + Reviewed by Darin Fisher. + + hide unused static function when SKIA_GPU is enabled + https://bugs.webkit.org/show_bug.cgi?id=58670 + + No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled + + * platform/graphics/skia/ImageSkia.cpp: + +2011-04-15 Simon Fraser + + Reviewed by Beth Dakin. + + Some borders with border-radius do not have rounded inner edges + https://bugs.webkit.org/show_bug.cgi?id=58457 + + Improve the logic used to compute the inner radii on curved + borders, to maintain borders of even thickness around the curve. + + Tests: fast/borders/mixed-border-styles-radius.html + fast/borders/mixed-border-styles.html + + * rendering/RenderBoxModelObject.h: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::computeBorderOuterRect): + (WebCore::RenderBoxModelObject::computeBorderInnerRect): + Two new utility functions to share some code that was in both paintBorder() + and paintBoxShaadow(). + getRoundedInnerBorderWithBorderWidths() now takes the outer border box + as well as the inner box. + + (WebCore::RenderBoxModelObject::paintBorder): Call new methods. + (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawBoxSideFromPath): + getRoundedInnerBorderWithBorderWidths() now takes the outer border box + as well as the inner box. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): + * rendering/style/RenderStyle.h: + Compute the inner radii by starting with teh radii used for the + outer box, and then shrinking them down based on the border thickness. + +2011-04-14 Alexey Proskuryakov + + Reviewed by Dan Bernstein. + + WebKit2: Password field input does not switch to ASCII-compatible source + https://bugs.webkit.org/show_bug.cgi?id=58583 + + + * platform/SecureTextInput.cpp: + (WebCore::enableSecureTextInput): + (WebCore::disableSecureTextInput): + This is now only used by Chromium. There is no need to change TSMDocument properties in + renderer process (and really, all secure text input logic in WebCore should be eliminated). + +2011-04-13 Xiaomei Ji + + Reviewed by Ryosuke Niwa. + + Continue (3rd) experiment with moving caret by word in visual order. + https://bugs.webkit.org/show_bug.cgi?id=58294 + + This patch along with r82588 and r83483 implements moving caret by + word in visual order. + + The overall algorithm is: + 1. First get the InlineBox and offset of the pass-in VisiblePosition. + 2. Based on the position (left boundary, middle, right boundary) of the offset and the + direction of the movement, look for visually adjacent word breaks. + 2.1 If the offset is the minimum offset of the box, + return the rightmost word boundary in previous boxes if moving left. + return the leftmost word boundary in box and next boxes if moving right. + 2.2 Similar for the case when offset is at the maximum offset of the box. + 2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition + or nextWordPosition based on the directionality of the box. If this word break position + is also inside the same box, return it. Otherwise (the nextWordPosition or + previousWordPosition is not in the same box or is at the box boundary), collect all the + word breaks in the box and search for the one closest to the input "offset" based on + box directionality, block directionality, and movement direction. Continue search in + adjacent boxes if needed. + + Notes: + 1. Word boundaries are collected one box at a time. Only when a boundary that is closest to + the input position (in the moving direction) is not available in current box, word + boundaries in adjacent box will be collected. So, there is no need to save InlineBox in + word boundaries. Instead, the word boundaries are saved as a pair + (VisiblePosition, offset) to avoid recomputing VisiblePosition. + + 2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block + and right boundary of a word in RTL block). And word boundaries are collected using + previousWordPosition() and nextWordPosition(). So when box directionality is the same as + block directionality, word boundaries are collected from right to left visually in a LTR + box, and word boundaries are collected from left to right visually in a RTL box. It is + the other way around when box directionality is different from block directionality. + + 3. To find the right kinds of word boundaries, we must move back and forth between words + in some situations. For example, if we're moving to the right in a LTR box in LTR block, + we cannot simply return nextWordPosition() because it would return the right boundary + of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition(). + + 4. When collecting word breaks inside a box, it first computes a start position, then + collect the right kind of word breaks until it reaches the end of (or beyond) the box. + In the meanwhile, it might need special handling on the rightmost or leftmost position + based on the directionality of the box and block. These computations do not consider the + box's bidi level. + + * editing/visible_units.cpp: + (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): + (WebCore::collectWordBreaksInBox): + (WebCore::previousWordBoundaryInBox): + (WebCore::nextWordBoundaryInBox): + (WebCore::visuallyLastWordBoundaryInBox): + (WebCore::leftWordBoundary): + (WebCore::rightWordBoundary): + (WebCore::leftWordPosition): + (WebCore::rightWordPosition): + +2011-04-14 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash + https://bugs.webkit.org/show_bug.cgi?id=58501 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement(). + (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. + (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready. + * html/canvas/WebGLRenderingContext.h: + +2011-04-07 MORITA Hajime + + Reviewed by Ryosuke Niwa. + + DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType + https://bugs.webkit.org/show_bug.cgi?id=58112 + + - Converted DocumentMarker::MarkerTypes from unsigned int to a class. + - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes. + - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes + which should allow a combination of MarkerType constansts. + - Removed some MarkerType arguments on DocumentMarkerController API + which only received AllMarkers. + + No new tests, no behavior change. + + * WebCore.exp.in: + * dom/DocumentMarker.h: + (WebCore::DocumentMarker::MarkerTypes::MarkerTypes): + (WebCore::DocumentMarker::MarkerTypes::contains): + (WebCore::DocumentMarker::MarkerTypes::intersects): + (WebCore::DocumentMarker::MarkerTypes::operator==): + (WebCore::DocumentMarker::MarkerTypes::add): + (WebCore::DocumentMarker::MarkerTypes::remove): + (WebCore::DocumentMarker::AllMarkers::AllMarkers): + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::possiblyHasMarkers): + (WebCore::DocumentMarkerController::addMarker): + (WebCore::DocumentMarkerController::copyMarkers): + (WebCore::DocumentMarkerController::removeMarkers): + (WebCore::DocumentMarkerController::markerContainingPoint): + (WebCore::DocumentMarkerController::markersInRange): + (WebCore::DocumentMarkerController::renderedRectsForMarkers): + (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): + (WebCore::DocumentMarkerController::repaintMarkers): + (WebCore::DocumentMarkerController::shiftMarkers): + (WebCore::DocumentMarkerController::setMarkersActive): + (WebCore::DocumentMarkerController::hasMarkers): + (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange): + * dom/DocumentMarkerController.h: + +2011-04-14 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Complicated hash table is complicated + https://bugs.webkit.org/show_bug.cgi?id=58631 + + Now that we use the opaque roots system to track node wrapper lifetime, + we can remove a lot of complicated hash-tablery that used to do the same. + + Now normal world node wrappers are just set as direct properties of + ScriptWrappable, while isolated world node wrappers and other DOM object + wrappers are stored in a shared, per-world hash table. + + In addition to reducing complexity, this makes DOM wrapper allocation + 1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory + footprint of normal world wrappers by ~2/3, and isolated world wrappers + by ~1/3. + + * WebCore.exp.in: Paying the patch tithe. + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::~DOMWrapperWorld): + (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables. + + (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function, + so the code to destroy a wrapper can live next to the code to create one. + + * bindings/js/DOMWrapperWorld.h: No more per-document hash tables. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::uncacheDOMObjectWrapper): + * bindings/js/JSDOMBinding.h: + (WebCore::createDOMNodeWrapper): + (WebCore::getDOMNodeWrapper): No more per-document hash tables. + Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper. + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::toJS): + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapperInline): Ditto. + + * bindings/js/JSNodeCustom.h: + (WebCore::getCachedDOMNodeWrapper): + (WebCore::cacheDOMNodeWrapper): + (WebCore::uncacheDOMNodeWrapper): + (WebCore::toJS): Implemented the scheme described above. + + * bindings/js/ScriptWrappable.h: + (WebCore::ScriptWrappable::wrapper): + (WebCore::ScriptWrappable::setWrapper): + (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle + owner now, since we don't have an extra handle living in a hash table + to maintain ownership for us. + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + * dom/Document.h: + * dom/Node.cpp: + (WebCore::Node::setDocument): No more per-document hash tables. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to + hasCachedDOMNodeWrapperUnchecked because that was the old way of doing + things, and I was in the mood for getting rid of the old way. It's + debatable whether the check was ever a good idea. Even when a + doesn't have a direct JS wrapper, other JS references can still keep + the alive. So, it's probably best always to report extra cost. + +2011-04-15 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText + https://bugs.webkit.org/show_bug.cgi?id=58650 + + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForResourceResponse): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.get requestHeadersText): + (WebInspector.Resource.prototype.set requestHeadersText): + (WebInspector.Resource.prototype.get requestHeadersSize): + (WebInspector.Resource.prototype.get responseHeadersText): + (WebInspector.Resource.prototype.set responseHeadersText): + (WebInspector.Resource.prototype.get responseHeadersSize): + (WebInspector.Resource.prototype._headersSize): + * inspector/front-end/ResourceHeadersView.js: + (WebInspector.ResourceHeadersView): + (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders): + (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders): + (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle): + (WebInspector.ResourceHeadersView.prototype._refreshHeadersText): + (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText): + (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText): + (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton): + * inspector/front-end/networkPanel.css: + (.resource-headers-view .outline-disclosure li.headers-text): + * platform/network/ResourceLoadInfo.h: + +2011-04-15 Luke Macpherson + + Reviewed by Dimitri Glazkov. + + Implement css overflow properties in CSSStyleApplyProperty + https://bugs.webkit.org/show_bug.cgi?id=58633 + + No new tests required as no functionality changes. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Delete existing implementations. + +2011-04-15 Sam Weinig + + Reviewed by Maciej Stachowiak. + + Make mac WebKit1 use the default localization strategy + https://bugs.webkit.org/show_bug.cgi?id=58628 + + * English.lproj/Localizable.strings: + Update by running update-webkit-localizable-strings. + + * platform/DefaultLocalizationStrategy.cpp: + (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary): + (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName): + (WebCore::DefaultLocalizationStrategy::imageTitle): + Match the WebKit1 versions of these functions by special casing CF platforms. + +2011-04-15 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load + https://bugs.webkit.org/show_bug.cgi?id=58136 + + Passed response info to inspector when X-Frame-Options header blocks resource loading. + + Test: http/tests/inspector/network/x-frame-options-deny.html + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didReceiveResponse): + +2011-04-15 Andrey Adaikin + + Reviewed by Pavel Feldman. + + Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators + https://bugs.webkit.org/show_bug.cgi?id=58449 + + Test: inspector/editor/text-editor-model.html + + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel): + (WebInspector.TextEditorModel.prototype.get text): + (WebInspector.TextEditorModel.prototype.setText): + (WebInspector.TextEditorModel.prototype._innerSetText): + (WebInspector.TextEditorModel.prototype.copyRange): + +2011-04-15 Sergey Vorobyev + + Reviewed by Yury Semikhatsky. + + Web Inspector: Network events don't preserves, + when inspector frontend closed and open again + https://bugs.webkit.org/show_bug.cgi?id=58064 + + Added InspectorFrontendProxy and EventsCollector. + They allow captured messages from InspectorResourceAgent + to frontend (or mockFrontend if frontend disabled) and + push collected data when frontend reconnect. + This functionality is disabled by default. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/EventsCollector.cpp: Added. + (WebCore::EventsCollector::EventsCollector): + (WebCore::EventsCollector::addEvent): + (WebCore::EventsCollector::sendCollectedEvents): + * inspector/EventsCollector.h: Added. + (WebCore::EventsCollector::~EventsCollector): + * inspector/Inspector.json: + * inspector/InspectorFrontendProxy.cpp: Added. + (WebCore::InspectorFrontendProxy::InspectorFrontendProxy): + (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel): + (WebCore::InspectorFrontendProxy::setEventsCollector): + (WebCore::InspectorFrontendProxy::sendMessageToFrontend): + * inspector/InspectorFrontendProxy.h: Added. + (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy): + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): + (WebCore::InspectorInstrumentation::loadEventFiredImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::willSendRequest): + (WebCore::InspectorInstrumentation::willReceiveResourceResponse): + (WebCore::InspectorInstrumentation::didReceiveContentLength): + (WebCore::InspectorInstrumentation::didFinishLoading): + (WebCore::InspectorInstrumentation::domContentLoadedEventFired): + (WebCore::InspectorInstrumentation::loadEventFired): + (WebCore::InspectorInstrumentation::frameDetachedFromParent): + (WebCore::InspectorInstrumentation::didCreateWebSocket): + (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): + (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorInstrumentation::didCloseWebSocket): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::setFrontend): + (WebCore::InspectorResourceAgent::resourceContent): + (WebCore::InspectorResourceAgent::~InspectorResourceAgent): + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::domContentEventFired): + (WebCore::InspectorResourceAgent::loadEventFired): + (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection): + (WebCore::InspectorResourceAgent::enable): + (WebCore::InspectorResourceAgent::InspectorResourceAgent): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.domContentEventFired): + (WebInspector.NetworkDispatcher.prototype.loadEventFired): + * inspector/front-end/inspector.js: + (WebInspector.domContentEventFired): + (WebInspector.loadEventFired): + +2011-04-15 Alexis Menard + + Reviewed by Dimitri Glazkov. + + REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels. + https://bugs.webkit.org/show_bug.cgi?id=58477 + + Since r83397 the media controls elements are actual DOM elements. + Therefore the global style-sheet applies to them. html.css defines + input[type="button"]:active to be border-style: inset which means + that when the buttons are active they grow by their border size. Therefore + ports which are not using the borders must explicitly disable them in their custom + stylesheet. + + * css/mediaControlsQt.css: + (audio::-webkit-media-controls-mute-button): + (video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button): + (video::-webkit-media-controls-play-button): + (video::-webkit-media-controls-fullscreen-button): + * css/mediaControlsQuickTime.css: + (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): + (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): + (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): + (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): + (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): + (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + +2011-04-15 Zelidrag Hornung + + Reviewed by Darin Fisher. + + Added enums for external file system type. + https://bugs.webkit.org/show_bug.cgi?id=58456 + + * fileapi/DOMFileSystemBase.cpp: + (WebCore::DOMFileSystemBase::crackFileSystemURL): + * fileapi/DOMFileSystemBase.h: + * fileapi/EntryBase.cpp: + (WebCore::EntryBase::toURL): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::requestFileSystem): + * page/DOMWindow.h: + * platform/AsyncFileSystem.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::requestFileSystem): + (WebCore::WorkerContext::requestFileSystemSync): + * workers/WorkerContext.h: + +2011-04-15 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: make resource revisions use dedicated type (not Resource clone). + https://bugs.webkit.org/show_bug.cgi?id=58659 + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.setStyleSheetText): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.addRevision): + (WebInspector.Resource.prototype._innerRequestContent.onResourceContent): + (WebInspector.Resource.prototype._innerRequestContent): + (WebInspector.ResourceRevision): + (WebInspector.ResourceRevision.prototype.get resource): + (WebInspector.ResourceRevision.prototype.get timestamp): + (WebInspector.ResourceRevision.prototype.get content): + (WebInspector.ResourceRevision.prototype.revertToThis): + (WebInspector.ResourceRevision.prototype.requestContent.mycallback): + (WebInspector.ResourceRevision.prototype.requestContent): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.ResourceView.resourceViewForResource): + (WebInspector.ResourceView.recreateResourceView): + (WebInspector.ResourceView.existingResourceViewForResource): + (WebInspector.RevisionSourceFrame): + (WebInspector.RevisionSourceFrame.prototype.get resource): + (WebInspector.RevisionSourceFrame.prototype.isContentEditable): + (WebInspector.RevisionSourceFrame.prototype.requestContent): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._showResourceView): + (WebInspector.ResourcesPanel.prototype._showRevisionView): + (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1): + (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2): + (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup): + (WebInspector.ResourceRevisionTreeElement): + (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL): + (WebInspector.ResourceRevisionTreeElement.prototype.onselect): + (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart): + (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._ensureContentLoaded): + (WebInspector.SourceFrame.prototype.requestContent): + (WebInspector.SourceFrame.prototype.commitEditing.didEditContent): + (WebInspector.SourceFrame.prototype.commitEditing): + +2011-04-15 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: Prevent Backspace keypresses from routing into the inspected page + https://bugs.webkit.org/show_bug.cgi?id=58653 + + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2011-04-15 Alice Boxhall + + Reviewed by Ryosuke Niwa. + + Text selection changes unexpectedly when dragging out of the + https://bugs.webkit.org/show_bug.cgi?id=55552 + + Tests: editing/selection/select-out-of-editable.html + editing/selection/select-out-of-floated-contenteditable.html + editing/selection/select-out-of-floated-input.html + editing/selection/select-out-of-floated-textarea.html + + * page/EventHandler.cpp: + (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that + the endpoint is not outside the element. If it is, translate the point into a local point within + the editable element. + (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to + calculate the selection endpoint. + +2011-04-15 Adam Roben + + Roll out r83954 + + It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple + bots. + + See . + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setTimeout): + (WebCore::JSDOMWindow::setInterval): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::setTimeout): + (WebCore::JSWorkerContext::setInterval): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::create): + * bindings/js/ScheduledAction.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::WindowSetTimeoutImpl): + * page/ContentSecurityPolicy.cpp: + * page/ContentSecurityPolicy.h: + +2011-04-15 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor resource setContent / revisions infrastructure to get + rid of onRevert callback. + https://bugs.webkit.org/show_bug.cgi?id=58649 + + Instead, we will have DomainModel/Resource binding responsible for changing + underlying model upon resource changes and vice versa. + + * inspector/Inspector.json: + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::getStyleSheet): + (WebCore::InspectorCSSAgent::getStyleSheetText): + (WebCore::InspectorCSSAgent::setStyleSheetText): + (WebCore::InspectorCSSAgent::setPropertyText): + (WebCore::InspectorCSSAgent::toggleProperty): + (WebCore::InspectorCSSAgent::setRuleSelector): + (WebCore::InspectorCSSAgent::assertStyleSheetForId): + * inspector/InspectorCSSAgent.h: + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.addRule): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback): + (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): + (WebInspector.CSSStyleModel.prototype.setStyleSheetText): + (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): + (WebInspector.CSSProperty.prototype.setText): + (WebInspector.CSSProperty.prototype.setText.callback): + (WebInspector.CSSProperty.prototype.setDisabled.callback): + (WebInspector.CSSProperty.prototype.setDisabled): + (WebInspector.CSSStyleSheet.prototype.setText): + (WebInspector.CSSStyleModelResourceBinding): + (WebInspector.CSSStyleModelResourceBinding.prototype.setContent): + (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated): + (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent): + (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders): + (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent): + (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): + (WebInspector.DebuggerPresentationModelResourceBinding): + (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent): + (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent): + * inspector/front-end/Object.js: + (WebInspector.Object.prototype.hasEventListeners): + * inspector/front-end/Resource.js: + (WebInspector.Resource): + (WebInspector.Resource.registerDomainModelBinding): + (WebInspector.Resource.prototype.isEditable): + (WebInspector.Resource.prototype.setContent): + (WebInspector.Resource.prototype.addRevision): + (WebInspector.Resource.prototype.revertToThis.callback): + (WebInspector.Resource.prototype.revertToThis): + (WebInspector.ResourceDomainModelBinding): + (WebInspector.ResourceDomainModelBinding.prototype.canSetContent): + (WebInspector.ResourceDomainModelBinding.prototype.setContent): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.ResourceSourceFrame.prototype.isContentEditable): + (WebInspector.ResourceSourceFrame.prototype.editContent): + (WebInspector.ResourceSourceFrame.prototype.endEditing): + (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer): + (WebInspector.ResourceSourceFrame.prototype._requestContent): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._resourceAdded): + (WebInspector.FrameResourceTreeElement): + (WebInspector.FrameResourceTreeElement.prototype._populateRevisions): + (WebInspector.FrameResourceTreeElement.prototype._revisionAdded): + (WebInspector.FrameResourceTreeElement.prototype._appendRevision): + * inspector/front-end/inspector.html: + +2011-04-15 Andrey Kosyakov + + Unreviewed, rolling out r83949. + http://trac.webkit.org/changeset/83949 + https://bugs.webkit.org/show_bug.cgi?id=57960 + + broke 31 tests in chromium win & linux + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::drawTexturedRect): + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/Texture.cpp: + (WebCore::copySubRect): + (WebCore::Texture::load): + (WebCore::Texture::updateSubRect): + * platform/graphics/gpu/Texture.h: + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + (WebCore::putImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + +2011-04-15 Ben Taylor + + Reviewed by Alexey Proskuryakov. + + Fix building with Sun Studio 12: function pointers for extern "C" are treated differently + https://bugs.webkit.org/show_bug.cgi?id=58508 + + Since extern "C" makes a different type (although most compilers ignore that), + we should be more careful when passing NPAPI callback functions. + + * plugins/npapi.cpp: + (NPN_PluginThreadAsyncCall): + +2011-04-15 Adam Barth + + Reviewed by Eric Seidel. + + CSP should block string arguments to setTimeout and setInterval unless options eval-script + https://bugs.webkit.org/show_bug.cgi?id=58610 + + It's somewhat sadness that the JSC and V8 code for setTimeout and + setInterval are so different. I struggled for a while with how to + handle the worker case, but I decided to punt on it for now. + + Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html + http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html + http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html + http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setTimeout): + (WebCore::JSDOMWindow::setInterval): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::setTimeout): + (WebCore::JSWorkerContext::setInterval): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::create): + * bindings/js/ScheduledAction.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::WindowSetTimeoutImpl): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowEval): + * page/ContentSecurityPolicy.h: + +2011-04-15 Adam Barth + + Reviewed by Eric Seidel. + + Add support for CSP's 'self' source + https://bugs.webkit.org/show_bug.cgi?id=58604 + + This change is now trivially easy. + + Test: http/tests/security/contentSecurityPolicy/script-src-self.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPSourceList::addSourceSelf): + +2011-04-15 Anna Cavender + + Reviewed by Eric Carlson. + + Renaming TRACK feature define to VIDEO_TRACK + https://bugs.webkit.org/show_bug.cgi?id=53556 + + No new tests. No new functionality. + + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * features.pri: + * html/HTMLTagNames.in: + * html/HTMLTrackElement.cpp: + * html/HTMLTrackElement.h: + * html/HTMLTrackElement.idl: + +2011-04-14 Andrey Adaikin + + Reviewed by Pavel Feldman. + + Web Inspector: Ctrl+Left/Right switch panels during live editing + https://bugs.webkit.org/show_bug.cgi?id=58521 + + Disable Ctrl+Left/Right keyboard shortcuts while in live edit. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.readOnlyStateChanged): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype.set readOnly): + (WebInspector.TextViewer.prototype.get readOnly): + (WebInspector.TextViewer.prototype._doubleClick): + (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing): + (WebInspector.TextViewer.prototype._commitEditing): + (WebInspector.TextViewer.prototype._cancelEditing): + (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged): + (WebInspector.TextEditorMainPanel.prototype.set readOnly): + * inspector/front-end/inspector.js: + (WebInspector.markBeingEdited): + (WebInspector.isEditingAnyField): + (WebInspector.startEditing.cleanUpAfterEditing): + +2011-04-14 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: Enable raw HTTP headers support + https://bugs.webkit.org/show_bug.cgi?id=58259 + + Added raw headers text support to inspector. + + * English.lproj/localizedStrings.js: + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForResourceResponse): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): + * inspector/front-end/Resource.js: + (WebInspector.Resource): + (WebInspector.Resource.prototype.get transferSize): + (WebInspector.Resource.prototype.set requestHeaders): + (WebInspector.Resource.prototype.get rawRequestHeadersText): + (WebInspector.Resource.prototype.set rawRequestHeadersText): + (WebInspector.Resource.prototype.get requestHeadersSize): + (WebInspector.Resource.prototype.set responseHeaders): + (WebInspector.Resource.prototype.get rawResponseHeadersText): + (WebInspector.Resource.prototype.set rawResponseHeadersText): + (WebInspector.Resource.prototype.get responseHeadersSize): + (WebInspector.Resource.prototype._headersSize): + * inspector/front-end/ResourceHeadersView.js: + (WebInspector.ResourceHeadersView): + (WebInspector.ResourceHeadersView.prototype._refreshParms): + (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders): + (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders): + (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle): + (WebInspector.ResourceHeadersView.prototype._refreshHeaders): + (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText): + (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText): + (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText): + (WebInspector.ResourceHeadersView.prototype._createToggleButton): + (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton): + * inspector/front-end/networkPanel.css: + (.resource-headers-view .outline-disclosure li .header-toggle): + (.resource-headers-view .outline-disclosure li.expanded .header-toggle): + (.resource-headers-view .outline-disclosure li .header-toggle:hover): + (.resource-headers-view .outline-disclosure li.raw-headers-text): + * platform/network/ResourceLoadInfo.h: + +2011-04-14 Justin Novosad + + Reviewed by Kenneth Russell. + + [Chromium] Accelerated 2D Canvas is slow to execute putImageData + https://bugs.webkit.org/show_bug.cgi?id=57960 + + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::drawTexturedRect): + Added an option for using the blend ops for alpha multiplication + instead of compositing. + (WebCore::GLES2Canvas::applyClipping): + (WebCore::GLES2Canvas::putImageData): + New method for drawing raw pixel data from memory to the canvas + (WebCore::GLES2Canvas::putUnmultipliedImageData): + Wrapper for putImageData + (WebCore::GLES2Canvas::putPremultipliedImageData): + Wrapper for putImageData + * platform/graphics/chromium/GLES2Canvas.h: + * platform/graphics/gpu/Texture.cpp: + (WebCore::copySubRect): + (WebCore::Texture::load): + (WebCore::Texture::updateSubRect): + Added an overload of the updateSubRect method that can receive a pixel + of a size that is different from texture size. Improved the performance + of updateSubrect by avoiding the allocation of a temporary buffer when + not required. + * platform/graphics/gpu/Texture.h: + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::getImageData): + In the unmultiplied path, division by alpha now performs proper + rounding in order to avoid generational degradation with putImageData + (WebCore::putImageData): + Alpha multiplication now performs proper rounding in order to be + consistent with the hardware rendering path: OpenGL always rounds when + converting to fixed point representation. + (WebCore::ImageBuffer::putUnmultipliedImageData): + Now supports a hardware rendering path, which eliminates the need + for a readback from the GPU + (WebCore::ImageBuffer::putPremultipliedImageData): + Now supports a hardware rendering path, which eliminates the need + for a readback from the GPU + +2011-04-14 Joone Hur + + Reviewed by Martin Robinson. + + Creating a CairoPath instance is not thread safe + https://bugs.webkit.org/show_bug.cgi?id=58514 + + This patch allows a cairo surface to be created just one time in order to + guarantee thread safety. + In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to + prevent confusing them with PathCairo.cpp + + * CMakeListsEfl.txt: Added PlatformPathCairo.cpp + * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h. + * platform/graphics/cairo/CairoPath.h: Removed. + * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h. + * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto. + * platform/graphics/cairo/PathCairo.cpp: Ditto. + * platform/graphics/cairo/PlatformPathCairo.cpp: Added. + (WebCore::getPathSurface): Getting a static cairo surface. + (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor + into the CPP file. + * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this. + (WebCore::CairoPath::~CairoPath): + (WebCore::CairoPath::context): + +2011-04-14 Nat Duca + + Reviewed by Darin Fisher. + + [chromium] Add lowpass filter and graph to fps indicator + https://bugs.webkit.org/show_bug.cgi?id=58186 + + * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: + (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): + (WebCore::CCHeadsUpDisplay::drawHudContents): + (WebCore::CCHeadsUpDisplay::drawFPSCounter): + (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree): + (WebCore::CCHeadsUpDisplay::onPresent): + * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: + +2011-04-14 Beth Dakin + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=58612 + Crash switching overlay/non-overlay scrollbar preference + (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9) + -and corresponding- + + + Speculative fix: Page could definitely be null here. + * page/FrameView.cpp: + (WebCore::FrameView::scrollbarStyleChanged): + +2011-04-14 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size + https://bugs.webkit.org/show_bug.cgi?id=58447 + + FrameLoader now takes encoded data length for synchronous requests from the field with the same name. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadResourceSynchronously): + * platform/network/ResourceLoadInfo.h: + (WebCore::ResourceLoadInfo::ResourceLoadInfo): + +2011-04-14 Alok Priyadarshi + + Reviewed by James Robinson. + + Remove dependency on chromium skia::PlatformCanvas + https://bugs.webkit.org/show_bug.cgi?id=57563 + + This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/ImageBufferDataSkia.h: + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/PlatformCanvas.cpp: + (WebCore::PlatformCanvas::resize): + * platform/graphics/chromium/PlatformCanvas.h: + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::compositeTextComposite): + (WebCore::TransparencyWin::makeLayerOpaque): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::paintSkBitmap): + (WebCore::Image::drawPattern): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::setCanvas): + (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): + * platform/graphics/skia/PlatformContextSkia.h: + (WebCore::PlatformContextSkia::canvas): + (WebCore::PlatformContextSkia::printing): + (WebCore::PlatformContextSkia::setPrinting): + +2011-04-14 Eric Seidel + + Reviewed by Simon Fraser. + + PumpSession should not call currentTime() in the constructor + https://bugs.webkit.org/show_bug.cgi?id=55211 + + currentTime() is expensive. So we avoid calling it in the constructor + and instead set startTime on the first check for a yield + (which in the synchronous case never happens, and in the yielding + case will happen immediately after the first token due to + processedTokens being set to INT_MAX). + + This ended up being a large win on (my local copy of) + peacekeeper's domDynamicCreationCreateElement: + + Before: + avg 366.3333333333333 + median 366 + stdev 2.712112747574399 + min 362 + max 377 + + After: + avg 345.96666666666664 + median 346 + stdev 1.6829207415152454 + min 343 + max 349 + + * html/parser/HTMLDocumentParser.cpp: + * html/parser/HTMLParserScheduler.h: + (WebCore::PumpSession::PumpSession): + (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): + +2011-04-14 Ami Fischman + + Reviewed by Eric Carlson. + + Remove unnecessary bottom margin of controls in video elements on media documents. + This makes the cases of media documents and non-media documents consistent, + and makes it possible to reason about the height of a rendered media document + (needed e.g. for sizing iframes). + + This change is covered by (the currently Skipped, but soon-to-be-un-Skipped) + media/video-controls-in-media-document.html layouttest (see bug 54634 for + the un-Skipping). + + https://bugs.webkit.org/show_bug.cgi?id=58442 + + * css/mediaControls.css: + (video:-webkit-full-page-media::-webkit-media-controls-panel): + * css/mediaControlsEfl.css: + (video:-webkit-full-page-media::-webkit-media-controls-panel): + * css/mediaControlsQuickTime.css: + (video:-webkit-full-page-media::-webkit-media-controls-panel): + +2011-04-14 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Use opaque roots instead of direct marking for nodes in the DOM + https://bugs.webkit.org/show_bug.cgi?id=58624 + + A node treats the root of its tree (usually the document) as its opaque + root during GC. + + This is needed for correctness in a generational GC world, but it also + happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html). + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::isObservable): + (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding. + We use this function to determine whether a node is observable. + + (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using + our weak handle callback to determine reachability, instead of direct + marking traversal through the DOM. + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism + instead of direct marking. + + * bindings/js/JSDOMBinding.cpp: + * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed + markDOMNodeWrapper because it is now unused. This is a good thing because + markDOMNodeWrapper used deprecatedAppend, which is not compatible + with generational GC. + + * bindings/js/JSDOMImplementationCustom.cpp: + (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots. + + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::markChildren): No need to mark our child nodes directly, + since they will take care of themselves through the opaque roots mechanism. + + * bindings/js/JSNamedNodeMapCustom.cpp: + (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots. + + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::markChildren): No need to mark our tree or our document + directly, since they will take care of themselves through the opaque + roots mechanism. + + * bindings/js/JSNodeCustom.h: + (WebCore::root): Helper function for accessing the root of a node tree. + This is O(1) while you're in the document, O(log(N)) when you're in a + reasonably balanced disconnected tree, and O(N) in the pathological case + of a disconnected tree that's shaped like a linked list. If average case + O(long(N)) turns out to be too slow, we can optimize through use of + rare data or an external hash table, but it is so uncommon that I have + ignored it for now. + + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots. + +2011-04-14 Mike Reed + + Reviewed by Kenneth Russell. + + fix shadows with gradients + https://bugs.webkit.org/show_bug.cgi?id=58376 + + No new tests. Existing tests exercise this + LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::setPlatformShadow): + +2011-04-14 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: No headers information in network panel for downloads. + https://bugs.webkit.org/show_bug.cgi?id=58139 + + Passed resource response to inspector for PolicyDownload and PolicyIgnore requests. + + Test: http/tests/inspector/network/download.html + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): + (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl): + (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::continueWithPolicyDownload): + (WebCore::InspectorInstrumentation::continueWithPolicyIgnore): + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::continueAfterContentPolicy): + +2011-04-14 Joone Hur + + Reviewed by Martin Robinson. + + Convert use of raw pointers to RefPtr in using Cairo + https://bugs.webkit.org/show_bug.cgi?id=57717 + + No new tests added becaue of just replacing raw pointers with smart pointers. + + * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr instead of raw pointer. + (WebCore::purgeScratchBuffer): + (WebCore::getScratchBuffer): + * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr instead of raw pointer. + (copySurface): + +2011-04-14 Naoki Takano + + Reviewed by Eric Seidel. + + [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag. + https://bugs.webkit.org/show_bug.cgi?id=57818 + + Test: fast/forms/select-background-none.html + + This fix is only for Chromium on Linux. Chromium on Mac already works fine. + But Windows has the same problem. This change doesn't include Windows part. + + * rendering/RenderThemeChromiumLinux.cpp: + (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent. + +2011-04-14 Luke Macpherson + + Reviewed by Dimitri Glazkov. + + Implement border style css properties in CSSStyleApplyProperty + https://bugs.webkit.org/show_bug.cgi?id=58506 + + No new functionality added. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + Added new property initializers. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Removed old property handlers. + +2011-04-14 Dimitri Glazkov + + Reviewed by Ojan Vafai. + + Presence of shadow DOM should suppress rendering of ordinary child nodes + https://bugs.webkit.org/show_bug.cgi?id=58073 + + Test: fast/dom/shadow/no-renderers-for-light-children.html + + * dom/Node.cpp: + (WebCore::shadowRoot): Added a helper function. + (WebCore::Node::setDocumentRecursively): Changed to use the helper. + (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function, + added a check for children of an element with a shadow DOM. + (WebCore::Node::createRendererAndStyle): Changed to use the helper. + +2011-04-14 Adrienne Walker + + Reviewed by James Robinson. + + [chromium] Tile content and image layers + https://bugs.webkit.org/show_bug.cgi?id=57113 + + Layers tile by default if any dimension is larger than 512. Smaller + layers are contained within a single texture but still use the tiler + infrastructure so that there's only one code path. + + Remove large layer support from content layers. Content layers no + longer own a platform canvas--they own a tiler. Refactor tiler to + allow for better separation of update/upload/paint. Add rect + parameter to update and draw functions on layers for the layer-space + rect of interest. This is necessary to know which tiles need to be + drawn. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::ContentLayerChromium): + (WebCore::ContentLayerChromium::~ContentLayerChromium): + (WebCore::ContentLayerPainter::ContentLayerPainter): + (WebCore::ContentLayerPainter::paint): + (WebCore::ContentLayerChromium::paintContentsIfDirty): + (WebCore::ContentLayerChromium::setLayerRenderer): + (WebCore::ContentLayerChromium::tilingTransform): + (WebCore::ContentLayerChromium::visibleLayerRect): + (WebCore::ContentLayerChromium::layerBounds): + (WebCore::ContentLayerChromium::updateLayerSize): + (WebCore::ContentLayerChromium::draw): + (WebCore::ContentLayerChromium::createTilerIfNeeded): + (WebCore::ContentLayerChromium::updateCompositorResources): + (WebCore::ContentLayerChromium::setTilingOption): + (WebCore::ContentLayerChromium::bindContentsTexture): + (WebCore::ContentLayerChromium::unreserveContentsTexture): + (WebCore::ContentLayerChromium::setIsMask): + (WebCore::ContentLayerChromium::dumpLayerProperties): + * platform/graphics/chromium/ContentLayerChromium.h: + (WebCore::ContentLayerChromium::drawsContent): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setMaskLayer): + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::paintContentsIfDirty): + (WebCore::ImageLayerChromium::updateCompositorResources): + (WebCore::ImageLayerChromium::layerBounds): + (WebCore::ImageLayerChromium::tilingTransform): + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::invalidateRect): + (WebCore::LayerChromium::paintContentsIfDirty): + (WebCore::LayerChromium::setIsMask): + (WebCore::LayerChromium::draw): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawRootLayer): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::paintContentsRecursive): + (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay): + (WebCore::LayerRendererChromium::drawLayer): + (WebCore::LayerRendererChromium::initializeSharedObjects): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::setTileSize): + (WebCore::LayerTilerChromium::getSingleTexture): + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::uploadCanvas): + (WebCore::LayerTilerChromium::updateFromPixels): + (WebCore::LayerTilerChromium::draw): + (WebCore::LayerTilerChromium::unreserveTextures): + * platform/graphics/chromium/LayerTilerChromium.h: + (WebCore::LayerTilerChromium::setLayerRenderer): + (WebCore::LayerTilerChromium::skipsDraw): + * platform/graphics/chromium/PlatformCanvas.cpp: + (WebCore::PlatformCanvas::AutoLocker::AutoLocker): + (WebCore::PlatformCanvas::Painter::Painter): + * platform/graphics/chromium/PlatformCanvas.h: + * platform/graphics/chromium/RenderSurfaceChromium.cpp: + (WebCore::RenderSurfaceChromium::draw): + * platform/graphics/chromium/RenderSurfaceChromium.h: + * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: + (WebCore::CCCanvasLayerImpl::draw): + * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: + * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: + (WebCore::CCHeadsUpDisplay::draw): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::draw): + * platform/graphics/chromium/cc/CCLayerImpl.h: + * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: + (WebCore::CCPluginLayerImpl::draw): + * platform/graphics/chromium/cc/CCPluginLayerImpl.h: + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore::CCVideoLayerImpl::draw): + * platform/graphics/chromium/cc/CCVideoLayerImpl.h: + +2011-04-14 James Robinson + + Reviewed by Darin Fisher. + + [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame + https://bugs.webkit.org/show_bug.cgi?id=58575 + + Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized() + is called, not contentsResized() so that we always update layers when adding or removing scrollbars. + + Covered by several chromium pixel tests. + + * page/FrameView.cpp: + (WebCore::FrameView::contentsResized): + (WebCore::FrameView::visibleContentsResized): + +2011-04-07 David Levin + + Reviewed by Brady Eidson. + + Fix some threading issues in IconDatabase. + https://bugs.webkit.org/show_bug.cgi?id=57985 + + No functionality change so no new tests. It would be very hard to test this, but + I am working on a change for bug 31639 to detect these (which makes layout tests + fail for at least one of these issues). + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks. + (WebCore::IconDatabase::readFromDatabase): Ditto. + (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data + is used, and this lock seems to be the one which consistently guards it. + +2011-04-14 Dmitry Titov + + Reviewed by David Levin. + + Simplifying Worker termination sequence (removing unnecessary mutex) + https://bugs.webkit.org/show_bug.cgi?id=57090 + + No new tests. Existing Worker tests should pass. + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes + JS might not run significant enough chunk to be terminated by Terminator) and set + the flag to forbid future reentry into JS. + + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + (WebCore::WorkerScriptController::scheduleExecutionTermination): + (WebCore::WorkerScriptController::forbidExecution): + (WebCore::WorkerScriptController::isExecutionForbidden): + * bindings/js/WorkerScriptController.h: + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + (WebCore::WorkerScriptController::scheduleExecutionTermination): + (WebCore::WorkerScriptController::forbidExecution): + (WebCore::WorkerScriptController::isExecutionForbidden): + * bindings/v8/WorkerScriptController.h: + (WebCore::WorkerScriptController::proxy): + Symmetrical changes to JSC and V8 WorkerScriptControllers: + - remove Mutex around operations with executionForbidden flag. + - set/check that flag only on Worker thread. + - some renaming in attempt to better reflect what the methods do. + + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::handleEvent): + (WebCore::V8AbstractEventListener::invokeEventHandler): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::evaluate): + Check for v8::TryCatch::CanContinue() and set forbidExecution flag. + This result indicates that TerminateExecution() was in effect - we should + not reenter V8 anymore after that. + + * dom/Document.h: + (WebCore::Document::isJSExecutionForbidden): + * dom/MessagePort.cpp: + (WebCore::MessagePort::dispatchMessages): + Stop dispatching messages once the worker context started to close. + Per Workers spec, once WorkerGlobalScope.Close() is called, the next + JS execution does not happen, including onmessage events. Before this + change, Close() was setting the forbidExecution flag, indirectly stopping + events from dispatching. + + * dom/ScriptExecutionContext.h: + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::close): + (WebCore::WorkerContext::isJSExecutionForbidden): + * workers/WorkerContext.h: + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::workerThread): + (WebCore::WorkerThread::stop): + +2011-04-14 Beth Dakin + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=56493 + Drag-scrolling overlay scrollbars thumb in overflow regions does not work + -and corresponding- + + + There was an original change to fix this in the normal hit-testing case, but hit + testing of transformed and/or positioned objects was still broken. The transformed + case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to + calculateRects(). Getting positioned objects right is a little trickier. Those need + to opt into using temporary clip rects during hit testing. To avoid doing that when + it is not necessary, I added a new bit to ScrollView to track whether there are + currently overlay scrollbars painted in the view. + * platform/ScrollView.cpp: + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars): + (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::updateClipRects): + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::parentClipRects): + (WebCore::RenderLayer::backgroundClipRect): + (WebCore::RenderLayer::calculateRects): + * rendering/RenderLayer.h: + +2011-04-14 Antti Koivisto + + Reviewed by Oliver Hunt. + + REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load + https://bugs.webkit.org/show_bug.cgi?id=57766 + + + Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way + we can try to interpret the same cached resource in multiple ways. + + Test: fast/css/font-face-repeated-url.html + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::CSSFontFaceSource): + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + (WebCore::CSSFontFaceSource::setHasExternalSVGFont): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * loader/cache/CachedFont.cpp: + (WebCore::CachedFont::CachedFont): + (WebCore::CachedFont::ensureCustomFontData): + (WebCore::CachedFont::ensureSVGFontData): + + Use TextResourceDecoder correctly. + + (WebCore::CachedFont::getSVGFontById): + * loader/cache/CachedFont.h: + * svg/SVGFontFaceUriElement.cpp: + (WebCore::SVGFontFaceUriElement::loadFont): + +2011-04-14 Kenneth Russell + + Reviewed by Dimitri Glazkov. + + Enable building Web Audio with MKL in Chrome-branded builds + https://bugs.webkit.org/show_bug.cgi?id=58561 + + Factored out MKL support into a separate GYP file that is + incorporated in Chrome-branded builds. Changed how the FFTFrame + implementations are pulled in and chosen so that all files can be + unconditionally compiled. + + Tested with both Chrome-branded build (incorporating MKL) and + Chromium build (building just FFTFrameStub.cpp) on Linux. + + * WebCore.gyp/WebCore.gyp: + * platform/audio/fftw/FFTFrameFFTW.cpp: + * platform/audio/mkl/FFTFrameMKL.cpp: + +2011-04-14 Ragner Magalhaes + + Reviewed by Antonio Gomes. + + [Qt] Web Inspector does not highlight elements + https://bugs.webkit.org/show_bug.cgi?id=35125 + + We should call drawNodeHighlight() just if a highlighted node exists + to avoid do save()/restore() on the Graphics Context unnecessarily. + + Added highlightedNode() method to check if we need to call drawNodeHighlight() + and only on this case do save()/restore() on the Graphics Context. + + * inspector/InspectorAgent.h: + (WebCore::InspectorAgent::highlightedNode): + +2011-04-14 Adrienne Walker + + Reviewed by James Robinson. + + [chromium] TilingData should return 1 tile when tile size is texture size. + https://bugs.webkit.org/show_bug.cgi?id=58364 + + * platform/graphics/gpu/TilingData.cpp: + (WebCore::computeNumTiles): + +2011-04-14 Andy Estes + + Reviewed by Dan Bernstein. + + REGRESSION (r72141): Acid3 rendering is not pixel perfect. + https://bugs.webkit.org/show_bug.cgi?id=55734 + + WebCore should render text with a 0px font size at 0px regardless of + minimum font size settings. This is compatible with other browsers that + have a minimum font size preference and ensures pixel-perfect rendering + on Acid3. + + Test: fast/text/zero-font-size.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If + specifiedSize is 0, return specified size regardless of zoom factor or + minimum font size. + +2011-04-14 Matthew Delaney + + Reviewed by Simon Fraser. + + Have canvas drawImageFromRect just redirect to use drawImage + https://bugs.webkit.org/show_bug.cgi?id=58516 + + Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::drawImageFromRect): + * html/canvas/CanvasRenderingContext2D.h: + +2011-04-14 James Robinson + + Reviewed by Simon Fraser. + + REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests) + https://bugs.webkit.org/show_bug.cgi?id=58535 + + Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build. + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer): + (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer): + (WebCore::RenderLayerBacking::requiresScrollCornerLayer): + * rendering/RenderLayerCompositor.cpp: + (WebCore::shouldCompositeOverflowControls): + +2011-04-14 Jian Li + + Reviewed by Darin Fisher. + + BlobBuilder should be vendor-prefixed + https://bugs.webkit.org/show_bug.cgi?id=58518 + + Renamed BlobBuilder to WebKitBlobBuilder. + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * CMakeLists.txt: + * CodeGenerators.pri: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp. + (WebCore::WebKitBlobBuilder::WebKitBlobBuilder): + (WebCore::WebKitBlobBuilder::getBuffer): + (WebCore::WebKitBlobBuilder::append): + (WebCore::WebKitBlobBuilder::getBlob): + * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h. + (WebCore::WebKitBlobBuilder::create): + * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl. + * page/DOMWindow.idl: + * workers/WorkerContext.idl: + +2011-04-14 Adam Barth + + Remove some trailing whitespace. I'm making this change to initialize + the SVN credentials on a new commit-queue machine. I'm sure there's a + better way to do this, but I don't know it. + + * dom/Document.cpp: + (WebCore::Document::Document): + +2011-04-14 Pratik Solanki + + Reviewed by David Kilzer. + + Set minimum priority for fast lane connections + https://bugs.webkit.org/show_bug.cgi?id=58353 + + * WebCore.exp.in: + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call + wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast + lane connections. + +2011-04-14 Kenneth Russell + + Reviewed by Dimitri Glazkov. + + Fix Web Audio build on Linux Debug and with stub FFTFrame + https://bugs.webkit.org/show_bug.cgi?id=58555 + + Built Chromium/Linux in Debug mode to test. + + * platform/audio/FFTFrame.cpp: + * platform/audio/FFTFrameStub.cpp: + (WebCore::FFTFrame::initialize): + * webaudio/AudioContext.cpp: + * webaudio/DefaultAudioDestinationNode.cpp: + +2011-04-14 Yury Semikhatsky + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer + https://bugs.webkit.org/show_bug.cgi?id=58552 + + * bindings/v8/DebuggerScript.js: + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context + now have a debug id (similar to frame contexts). + * bindings/v8/WorkerScriptDebugServer.cpp: + (WebCore::retrieveWorkerContext): + (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): + (WebCore::WorkerScriptDebugServer::addListener): + (WebCore::WorkerScriptDebugServer::removeListener): + (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): + (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until + debugger command is received and execution is resumed. + (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): + * bindings/v8/WorkerScriptDebugServer.h: + * inspector/WorkerDebuggerAgent.cpp: + (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): + (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): + +2011-04-14 Jian Li + + Reviewed by Darin Fisher. + + Add webkit prefix to Blob.slice method and change its semantics to be + like Array.slice + https://bugs.webkit.org/show_bug.cgi?id=58496 + + Renamed Blob.slice to blob.webkitSlice and made it take start and end + parameters that're like Array.slice. + + Test: fast/files/blob-slice-test.html + + * fileapi/Blob.cpp: + (WebCore::Blob::webkitSlice): + * fileapi/Blob.h: + * fileapi/Blob.idl: + +2011-04-14 Andreas Kling + + Reviewed by Benjamin Poulain. + + [Qt] Height of "Ahem" font differs from all other ports. + https://bugs.webkit.org/show_bug.cgi?id=57954 + + QFontMetricsF::descent() returns the actual descent minus 1, + to account for the baseline. Add it back to get correct metrics + for WebKit. + + QFontMetricsF::leading() may return negative values on some + platforms (those using FreeType), this breaks WebKit's assumption + that lineSpacing >= (ascent + descent), so we work around this in + the same fashion as SimpleFontDataFreeType and SimpleFontDataPango. + + This is covered by thousands of layout tests. + + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::platformInit): + +2011-04-14 Kevin Ollivier + + [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1. + + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/wx/FileSystemWx.cpp: + (WebCore::writeToFile): + +2011-04-14 Anders Carlsson + + Fix build. + + RuntimeApplicationChecks.h needs to be a private header so WebKit can find it. + + * WebCore.xcodeproj/project.pbxproj: + +2011-04-14 Pavel Podivilov + + Unreviewed, build fix for r83864. + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._childNodeRemoved): + +2011-04-14 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: Content area highlight does not cover scrollbars + https://bugs.webkit.org/show_bug.cgi?id=58528 + + * inspector/DOMNodeHighlighter.cpp: + (WebCore::DOMNodeHighlighter::DrawNodeHighlight): + +2011-04-14 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: re-implement dom breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=57038 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/BreakpointManager.js: Removed. + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.NativeBreakpointsSidebarPane): + (WebInspector.NativeBreakpointsSidebarPane.prototype._reset): + (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update): + (WebInspector.CallStackSidebarPane.prototype.setStatus): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode): + (WebInspector.DOMAgent.prototype._childNodeRemoved): + * inspector/front-end/DOMBreakpointsSidebarPane.js: Added. + (WebInspector.DOMBreakpointsSidebarPane): + (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL): + (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint): + (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu): + (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend): + (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage): + (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s): + (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append): + (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage): + (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved): + (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode): + (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint): + (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint): + (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): + (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu): + (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked): + (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint): + (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight): + (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId): + (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints): + (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype.show): + (WebInspector.ElementsPanel.prototype.updateModifiedNodes): + (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.show): + (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage): + (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype._clearInterface): + * inspector/front-end/Settings.js: + (WebInspector.Settings): + (WebInspector.Settings.prototype._set): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.inspectedURLChanged): + * inspector/front-end/utilities.js: + (): + +2011-04-14 Satish Sampath + + Reviewed by Kent Tamura. + + Disable speech input for readonly and disabled input fields. + https://bugs.webkit.org/show_bug.cgi?id=58540 + + Test: fast/speech/input-readonly-and-disabled.html + + * html/shadow/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): + (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): + +2011-04-14 Ilya Tikhonovsky + + Unreviewed. Rollout r83849 and r83857. + + * inspector/Inspector.json: + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::setFrontend): + (WebCore::InspectorDatabaseAgent::clearFrontend): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + * inspector/InspectorDatabaseAgent.h: + * inspector/front-end/inspector.js: + +2011-04-14 Dimitri Glazkov + + Unreviewed, rolling out r83847. + http://trac.webkit.org/changeset/83847 + https://bugs.webkit.org/show_bug.cgi?id=58477 + + Chromium media controls do use button borders, so this change + is incorrect. + + * css/mediaControls.css: + (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): + (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): + (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): + (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): + (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): + (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): + (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): + (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + +2011-04-14 Andrew Wason + + Reviewed by Andreas Kling. + + Fix GraphicsContext3DQt.cpp compilation warnings treated as errors + https://bugs.webkit.org/show_bug.cgi?id=58478 + + No new tests. + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::getProcAddress): + Do not use deprecated QString constructor to avoid warning. + (WebCore::GraphicsContext3D::reshape): + Use parenthesis to avoid warning. + +2011-04-14 Andrey Kosyakov + + Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820, + as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner() + with a different signature) + + * platform/ScrollableArea.h: + +2011-04-14 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers. + https://bugs.webkit.org/show_bug.cgi?id=58534 + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent): + (WebInspector.HeapSnapshotDiffNode): + (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated): + (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff): + (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived): + (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotDiffNode.prototype.get data): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): + * inspector/front-end/HeapSnapshot.js: + (WebInspector.HeapSnapshot): + (WebInspector.HeapSnapshot.prototype.dispose): + (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex): + (WebInspector.HeapSnapshot.prototype._numbersComparator): + (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode): + (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds): + (WebInspector.HeapSnapshotsDiff): + (WebInspector.HeapSnapshotsDiff.prototype.set baseIds): + (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes): + (WebInspector.HeapSnapshotsDiff.prototype.calculate): + * inspector/front-end/HeapSnapshotProxy.js: + (WebInspector.HeapSnapshotProxy): + (WebInspector.HeapSnapshotProxy.prototype.createDiff): + (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider): + (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider): + (WebInspector.HeapSnapshotProxy.prototype.dispose): + (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex): + (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds): + (WebInspector.HeapSnapshotsDiffProxy): + (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate): + (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds): + (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes): + +2011-04-14 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector. + https://bugs.webkit.org/show_bug.cgi?id=57833 + + * inspector/Inspector.json: + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): + (WebCore::InspectorDatabaseAgent::setFrontend): + (WebCore::InspectorDatabaseAgent::enable): + (WebCore::InspectorDatabaseAgent::disable): + (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): + (WebCore::InspectorDatabaseAgent::executeSQL): + * inspector/InspectorDatabaseAgent.h: + * inspector/front-end/inspector.js: + +2011-04-14 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane + https://bugs.webkit.org/show_bug.cgi?id=58530 + + * inspector/front-end/ElementsPanel.js: + +2011-04-14 Alexis Menard + + Reviewed by Dimitri Glazkov. + + REGRESSION(r83397) [Qt] When clicking on the media elements they + grow 2 pixels. + https://bugs.webkit.org/show_bug.cgi?id=58477 + + Since r83397 the media controls elements are actual DOM elements. + Therefore the global style-sheet applies to them. html.css defines + input[type="button"]:active to be border-style: inset which means + that when the buttons are active they grow by their border size. + + * css/mediaControls.css: + (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): + (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): + (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): + (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): + (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): + (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): + (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): + (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): + (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): + (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): + (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): + +2011-04-14 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Improve disable style for input elements in mobile theme + https://bugs.webkit.org/show_bug.cgi?id=58480 + + * platform/qt/QtMobileWebStyle.cpp: + (QtMobileWebStyle::drawControl): + (QtMobileWebStyle::drawPrimitive): + (QtMobileWebStyle::drawComplexControl): + +2011-04-14 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: restore previous selection in Resources panel upon front-end reopen. + https://bugs.webkit.org/show_bug.cgi?id=58533 + + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype._processCachedResources): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._initDefaultSelection): + (WebInspector.ResourcesPanel.prototype._populateResourceTree): + (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded): + * inspector/front-end/inspector.css: + (#close-button-left, #close-button-right): + +2011-04-14 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement incremental CSS free flow editing. + https://bugs.webkit.org/show_bug.cgi?id=58529 + + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleSheet.prototype.setText): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.isResourceRevision): + (WebInspector.Resource.prototype.setContent): + * inspector/front-end/ResourceView.js: + (WebInspector.CSSSourceFrame.prototype.isContentEditable): + (WebInspector.CSSSourceFrame.prototype.editContent): + (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit): + (WebInspector.CSSSourceFrame.prototype.endEditing): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.commitEditing): + (WebInspector.SourceFrame.prototype.editContent): + +2011-04-14 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector:Duplicated display of storage db when running Web SQL from an iframe. + https://bugs.webkit.org/show_bug.cgi?id=57830 + + There was created a new InspectorDatabaseResource entry for every didOpenDatabase event. + Moreover there is new WebCore::Database for each didOpenDatabase event. + I decided to change the old instance of the Database to a new one if they both use the same file. + + * inspector/InspectorDatabaseAgent.cpp: + (WebCore::InspectorDatabaseAgent::didOpenDatabase): + (WebCore::InspectorDatabaseAgent::findByFileName): + * inspector/InspectorDatabaseAgent.h: + * inspector/InspectorDatabaseResource.h: + (WebCore::InspectorDatabaseResource::setDatabase): + +2011-04-14 Zoltan Herczeg + + Reviewed by Dirk Schulze. + + svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build + https://bugs.webkit.org/show_bug.cgi?id=58525 + + A renderer is created even for those filter primitives + which parent is not a filter. A rendererIsNeeded() is + added to SVGFilterPrimitiveStandardAttributes. + + Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg + + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): + * svg/SVGFilterPrimitiveStandardAttributes.h: + +2011-04-14 Alexis Menard + + Reviewed by Andreas Kling. + + REGRESSION(r83397) [Qt] When the video is loading and the poster is shown + all the controls are not visible except the play button. + https://bugs.webkit.org/show_bug.cgi?id=58484 + + r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when + the controls should be disabled. Qt port paints its own controls, we don't want + the default implementation to handle the hidden/disable state for us. + + Existing tests covers the visibility of the controls. + + * platform/qt/RenderThemeQt.h: + (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor): + +2011-04-14 Andreas Kling + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Disabled form controls don't actually look disabled. + https://bugs.webkit.org/show_bug.cgi?id=58490 + + Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance + when painting controls. We must also set the QStyleOption's palette's current + color group. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::initializeCommonQStyleOptions): + +2011-04-14 Nancy Piedra + + Reviewed by Benjamin Poulain. + + [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter + https://bugs.webkit.org/show_bug.cgi?id=58188 + + The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into + a QStringList. This change parses and trims the list. + + An additional test was added to video-can-play-type.html to test parsing of codec parameter. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::supportsType): + +2011-04-14 Zoltan Herczeg + + Reviewed by Nikolas Zimmermann. + + Optimizing lightning filter to ARM-NEON SIMD instruction set + https://bugs.webkit.org/show_bug.cgi?id=54456 + + NEON is the SIMD instruction set for ARM. This instruction set + allows to speed-up the lighting filter by 4 times on ARM + (on WebCore/manual-tests/svg-filter-animation.svg). + + * WebCore.pri: + * WebCore.pro: + * platform/graphics/filters/FELighting.cpp: + (WebCore::FELighting::drawLighting): + (WebCore::getPowerCoefficients): + (WebCore::FELighting::drawInteriorPixels): + * platform/graphics/filters/FELighting.h: + * platform/graphics/filters/arm/FELightingNEON.cpp: Added. + (__attribute__): + * platform/graphics/filters/arm/FELightingNEON.h: Added. + +2011-04-14 Jarkko Sakkinen + + Reviewed by Benjamin Poulain. + + [Qt] GraphicsContext3D internal buffers are not freed + https://bugs.webkit.org/show_bug.cgi?id=57530 + + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): + +2011-04-14 Andy Estes + + Reviewed by Maciej Stachowiak. + + REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling + https://bugs.webkit.org/show_bug.cgi?id=52988 + + Safari RSS relies on synchronous dispatch of ScrollEvent to update the + position of its sidebar during scrolling without producing a jiggling + effect. Due to r75555, this event is no longer dispatched synchronously + which results in stale repaints before the onscroll handler gets a + chance to update the position of the sidebar. + + Since it is impractical to resolve this issue in Safari RSS itself, add + a quirk that restores synchronous ScrollEvent dispatch for Safari RSS. + + No tests. This is an app-specific change that doesn't affect web + content. + + * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h] + * CMakeLists.txt: Ditto. + * GNUmakefile.list.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/EventQueue.cpp: + (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent + synchronously if the embedding application is Safari and the document's + URL scheme is "feed" or "feeds". + (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch + ScrollEvent synchronously if shouldDispatchScrollEventSynchronously() + returns true. + * dom/EventQueue.h: + * page/EventHandler.cpp: + (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent(). + * platform/RuntimeApplicationChecks.cpp: Added. + (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms + that checks if the main bundle's identifier is equal to a given string. + This function returns false for non-CF platforms. + (WebCore::applicationIsSafari): Call mainBundleIsEqualTo(). + (WebCore::applicationIsAppleMail): Ditto. + (WebCore::applicationIsMicrosoftMessenger): Ditto. + (WebCore::applicationIsAdobeInstaller): Ditto. + (WebCore::applicationIsAOLInstantMessenger): Ditto. + (WebCore::applicationIsMicrosoftMyDay): Ditto. + (WebCore::applicationIsMicrosoftOutlook): Ditto. + * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to + RuntimeApplicationChecks.cpp. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent(). + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent(). + +2011-04-14 John Bates + + Reviewed by Kenneth Russell. + + Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop. + https://bugs.webkit.org/show_bug.cgi?id=58383 + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::addChildContext): + (WebCore::LayerRendererChromium::removeChildContext): + * platform/graphics/chromium/LayerRendererChromium.h: + +2011-04-14 Renata Hodovan + + Reviewed by Nikolas Zimmermann. + + CSS related SVG*Element changes doesn't require relayout + https://bugs.webkit.org/show_bug.cgi?id=56906 + + The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity + need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange() + we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties + via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes. + + Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html + svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html + svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html + svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html + + * platform/graphics/filters/FEFlood.cpp: + (WebCore::FEFlood::setFloodColor): + (WebCore::FEFlood::setFloodOpacity): + * platform/graphics/filters/FEFlood.h: + * platform/graphics/filters/FESpecularLighting.cpp: + (WebCore::FESpecularLighting::setLightingColor): + * platform/graphics/filters/FESpecularLighting.h: + * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: + (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange): + * rendering/svg/RenderSVGResourceFilterPrimitive.h: + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::clientStyleChanged): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): + * svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::setFilterEffectAttribute): + * svg/SVGFEFloodElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): + +2011-04-13 James Robinson + + Reviewed by Simon Fraser. + + Allow setting composited backing stores for scrollbars and scroll corners + https://bugs.webkit.org/show_bug.cgi?id=57202 + + This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and + scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to + the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and + place them into the correct place in the hierarchy. + + FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls. + that need them. The overflow control layers are siblings of the frame's clip layer. + + RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that + need them. Currently, layers are only created for overflow controls on layers that are already composited + for other reasons and not necessarily for every RenderLayer with overflow. Overflow control layers are siblings + of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal + children. + + Tested by a number of compositing/ tests that have scrollbars and by these new tests: + compositing/iframes/repaint-after-losing-scrollbars.html + compositing/overflow/clip-content-under-overflow-controls.html + compositing/overflow/content-gains-scrollbars.html + compositing/overflow/content-loses-scrollbars.html + compositing/overflow/overflow-scrollbar-layers.html + compositing/overflow/repaint-after-losing-scrollbars.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): + * page/FrameView.cpp: + (WebCore::FrameView::layerForHorizontalScrollbar): + (WebCore::FrameView::layerForVerticalScrollbar): + (WebCore::FrameView::layerForScrollCorner): + (WebCore::FrameView::syncCompositingStateForThisFrame): + (WebCore::FrameView::contentsResized): + (WebCore::FrameView::updateScrollCorner): + * page/FrameView.h: + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + * platform/ScrollableArea.cpp: + (WebCore::ScrollableArea::invalidateScrollbar): + (WebCore::ScrollableArea::invalidateScrollCorner): + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::paintScrollCorner): + (WebCore::ScrollableArea::layerForHorizontalScrollbar): + (WebCore::ScrollableArea::layerForVerticalScrollbar): + (WebCore::ScrollableArea::layerForScrollCorner): + * platform/Scrollbar.cpp: + (WebCore::Scrollbar::invalidateRect): + * platform/Scrollbar.h: + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paint): + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::paintContentsIfDirty): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::invalidateRootLayerRect): + (WebCore::LayerRendererChromium::drawRootLayer): + (WebCore::LayerRendererChromium::setViewport): + (WebCore::LayerRendererChromium::updateAndDrawLayers): + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::setRootLayer): + (WebCore::LayerRendererChromium::cleanupSharedObjects): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollbarPartAnimation setCurrentProgress:]): + * platform/win/PopupMenuWin.h: + (WebCore::PopupMenuWin::invalidateScrollCornerRect): + (WebCore::PopupMenuWin::isScrollCornerVisible): + (WebCore::PopupMenuWin::scrollCornerRect): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollCornerRect): + (WebCore::RenderLayer::scrollCornerAndResizerRect): + (WebCore::RenderLayer::isScrollCornerVisible): + (WebCore::RenderLayer::invalidateScrollbarRect): + (WebCore::RenderLayer::invalidateScrollCornerRect): + (WebCore::RenderLayer::positionOverflowControls): + (WebCore::RenderLayer::paintOverflowControls): + (WebCore::RenderLayer::paintScrollCorner): + (WebCore::RenderLayer::layerForHorizontalScrollbar): + (WebCore::RenderLayer::layerForVerticalScrollbar): + (WebCore::RenderLayer::layerForScrollCorner): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::horizontalScrollbar): + (WebCore::RenderLayer::verticalScrollbar): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::~RenderLayerBacking): + (WebCore::RenderLayerBacking::updateAfterWidgetResize): + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + (WebCore::RenderLayerBacking::updateInternalHierarchy): + (WebCore::RenderLayerBacking::updateClippingLayers): + (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer): + (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer): + (WebCore::RenderLayerBacking::requiresScrollCornerLayer): + (WebCore::RenderLayerBacking::updateOverflowControlsLayers): + (WebCore::paintScrollbar): + (WebCore::RenderLayerBacking::paintContents): + * rendering/RenderLayerBacking.h: + (WebCore::RenderLayerBacking::layerForHorizontalScrollbar): + (WebCore::RenderLayerBacking::layerForVerticalScrollbar): + (WebCore::RenderLayerBacking::layerForScrollCorner): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateCompositingLayers): + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + (WebCore::RenderLayerCompositor::frameViewDidChangeLocation): + (WebCore::RenderLayerCompositor::frameViewDidChangeSize): + (WebCore::RenderLayerCompositor::rootPlatformLayer): + (WebCore::RenderLayerCompositor::updateRootLayerPosition): + (WebCore::paintScrollbar): + (WebCore::RenderLayerCompositor::paintContents): + (WebCore::shouldCompositeOverflowControls): + (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer): + (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer): + (WebCore::RenderLayerCompositor::requiresScrollCornerLayer): + (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): + (WebCore::RenderLayerCompositor::detachRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar): + (WebCore::RenderLayerCompositor::layerForVerticalScrollbar): + (WebCore::RenderLayerCompositor::layerForScrollCorner): + * rendering/RenderListBox.h: + (WebCore::RenderListBox::isScrollCornerVisible): + (WebCore::RenderListBox::scrollCornerRect): + (WebCore::RenderListBox::invalidateScrollCornerRect): + +2011-04-13 Cary Clark + + Reviewed by Eric Seidel. + + [Chromium] allow concurrent Skia and CG datatypes + https://bugs.webkit.org/show_bug.cgi?id=57848 + + The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics + as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to + draw elements like scrollbars and buttons. + + Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at + the same time. This requires only adding to the existing preprocessor commands, and will have no effect + on any existing platform. + + Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no + functional change. + + No new tests as this provides no new functionality. + + * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible + to a Skia-based Chrome Mac build. + * platform/graphics/FloatRect.h: Ditto. + * platform/graphics/FloatSize.h: Ditto. + * platform/graphics/IntPoint.h: Ditto. + * platform/graphics/IntRect.h: Ditto. + * platform/graphics/IntSize.h: Ditto. + * platform/graphics/cg/FloatPointCG.cpp: Ditto. + * platform/graphics/cg/FloatRectCG.cpp: Ditto. + * platform/graphics/cg/FloatSizeCG.cpp: Ditto. + * platform/graphics/cg/IntPointCG.cpp: Ditto. + * platform/graphics/cg/IntRectCG.cpp: Ditto. + * platform/graphics/cg/IntSizeCG.cpp: Ditto. + +2011-04-13 Roland Steiner + + Reviewed by Dimitri Glazkov. + + Bug 58460 - childTypeAllowed() should be const + https://bugs.webkit.org/show_bug.cgi?id=58460 + + Made childTypeAllowed const. + + No new tests. (minor refactoring). + + * dom/Attr.cpp: + (WebCore::Attr::childTypeAllowed): + * dom/Attr.h: + * dom/CDATASection.cpp: + (WebCore::CDATASection::childTypeAllowed): + * dom/CDATASection.h: + * dom/Comment.cpp: + (WebCore::Comment::childTypeAllowed): + * dom/Comment.h: + * dom/Document.cpp: + (WebCore::Document::childTypeAllowed): + * dom/Document.h: + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::childTypeAllowed): + * dom/DocumentFragment.h: + * dom/Element.cpp: + (WebCore::Element::childTypeAllowed): + * dom/Element.h: + * dom/Node.h: + (WebCore::Node::childTypeAllowed): + * dom/Notation.cpp: + (WebCore::Notation::childTypeAllowed): + * dom/Notation.h: + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::childTypeAllowed): + * dom/ProcessingInstruction.h: + * dom/Text.cpp: + (WebCore::Text::childTypeAllowed): + * dom/Text.h: + +2011-04-13 Jon Lee + + Reviewed by Maciej Stachowiak. + + REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc) + https://bugs.webkit.org/show_bug.cgi?id=58284 + + + * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2 + * editing/EditingBehavior.h: + (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking + +2011-04-13 Yael Aharon + + Reviewed by Eric Seidel. + + constructLine should take bidiRuns as a parameter + https://bugs.webkit.org/show_bug.cgi?id=58458 + + Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is + declared before constructLine. + + No new tests as this is refactoring only. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::reachedEndOfTextRenderer): + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::layoutInlineChildren): + +2011-04-13 Cary Clark + + Reviewed by Eric Seidel. + + Allow CG Font support in Chrome Darwin build using Skia + https://bugs.webkit.org/show_bug.cgi?id=58321 + + This allows Chrome to use Skia to do WebKit rendering, while + using CoreGraphics for glyph creation and computing font metrics. + It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME. + + No new tests needed, no functionality change. + + * loader/cache/CachedFont.cpp: Make CGFontRef functions and + CG-specific font code available to Chrome builds on Darwin using Skia. + * platform/graphics/FontPlatformData.h: Ditto. + (WebCore::FontPlatformData::hash): Ditto. + * platform/graphics/GlyphBuffer.h: Ditto. + (WebCore::GlyphBuffer::advanceAt): Ditto. + (WebCore::GlyphBuffer::add): Ditto. + (WebCore::GlyphBuffer::expandLastAdvance): Ditto. + * platform/graphics/SimpleFontData.h: Ditto. + +2011-04-13 Alexis Menard + + Reviewed by Dimitri Glazkov. + + The timeline of the video controls is unusable if the multimedia backend returns a + infinite duration. + https://bugs.webkit.org/show_bug.cgi?id=58452 + + In case the underlaying media element backend returns crazy values, e.g. + an infinite duration for the video we need to bail out and hide the timeline + rather than in a broken state where you can't use it. The previous code was just + checking if the duration was NaN. + + We can't control from JS what the backend will return as a duration for the video + so we can't make an test for it. + + * html/shadow/MediaControlRootElement.cpp: + (WebCore::MediaControlRootElement::reset): + +2011-04-13 Abhishek Arya + + Reviewed by James Robinson. + + Draw outline for render widgets. + https://bugs.webkit.org/show_bug.cgi?id=57439 + + Test: fast/frames/iframe-outline.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): + +2011-04-13 Kent Tamura + + Reviewed by Dimitri Glazkov. + + Change the representation of ShadowRoot nodes in render tree dumps + https://bugs.webkit.org/show_bug.cgi?id=58432 + + Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment" + in DRT results. + + No new tests. This change doesn't affect existing tests yet. + + * dom/DocumentFragment.h: + Make nodeName() protected in order that ShdowRoot can override it. + * dom/ShadowRoot.cpp: + (WebCore::ShadowRoot::nodeName): Returns "#shadow-root". + * dom/ShadowRoot.h: Declare nodeName(). + * rendering/RenderTreeAsText.cpp: + (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary. + We don't use isShadowRoot() here because the legacy shadow root nodes + return true for isShadowRoot() and we don't want to update existing + test results. + +2011-04-13 Ryosuke Niwa + + Reviewed by Eric Seidel. + + Merge LineOffsets and LineWidth + https://bugs.webkit.org/show_bug.cgi?id=58411 + + Merged lineOffsets into LineWidth. + + After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and + shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because + - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine + besides LineOffsets' constructor + - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak + - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset + (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth + because the initial available width was used to be computed from lineOffsets.width(). + (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added. + (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates + m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right. + (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from + LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight. + (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables + of LineOffsets. + (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine. + (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. + (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth. + +2011-04-13 Ryuan Choi + + Reviewed by Kenneth Rohde Christiansen. + + [CMAKE] Separate DerivedSources. + https://bugs.webkit.org/show_bug.cgi?id=58427 + + No new tests since these are refactoring only. + + * CMakeLists.txt: + * UseJSC.cmake: + +2011-04-13 Noel Gordon + + Reviewed by Kenneth Russell. + + [chromium] Fix canvas.toDataURL mimeType assertion + https://bugs.webkit.org/show_bug.cgi?id=58425 + + Following r81213, reassert expected toDataURL() mimeType, remove an unused variable. + + No new tests. Covered by existing tests. + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageToDataURL): + (WebCore::ImageBuffer::toDataURL): + +2011-04-12 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: remove nested event loop. + https://bugs.webkit.org/show_bug.cgi?id=58375 + + As QNAM now makes actual synchronous loads there is no need for a nested event loop + in ResourceHandleQt. + + Moving the call for QNetworkReplyWrapper::synchronousLoad from + ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the + redirections to work in synchronous requests. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-13 Roland Steiner + + Reviewed by David Hyatt. + + Bug 55930 - Incorrect handling of 'display:' property within nested tags + https://bugs.webkit.org/show_bug.cgi?id=55930 + + Non-inline :before/:after generated content is now wrapped with an anonymous inline block. + + Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent() + to verify that the created render object is legal under the parent. + + Tests: fast/ruby/after-block-doesnt-crash.html + fast/ruby/after-table-doesnt-crash.html + fast/ruby/before-block-doesnt-crash.html + fast/ruby/before-table-doesnt-crash.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + * rendering/RenderRuby.cpp: + (WebCore::isAnonymousRubyInlineBlock): + (WebCore::rubyBeforeBlock): + (WebCore::rubyAfterBlock): + (WebCore::createAnonymousRubyInlineBlock): + (WebCore::lastRubyRun): + (WebCore::RenderRubyAsInline::addChild): + (WebCore::RenderRubyAsInline::removeChild): + (WebCore::RenderRubyAsBlock::addChild): + (WebCore::RenderRubyAsBlock::removeChild): + * rendering/RenderRuby.h: + +2011-04-13 Matthew Delaney + + Reviewed by Simon Fraser. + + [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp + https://bugs.webkit.org/show_bug.cgi?id=58084 + + No new tests. Does not affect outward behavior. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/ImageBuffer.h: + * platform/graphics/ImageBufferData.h: Added. + * platform/graphics/cairo/ImageBufferData.h: Removed. + * platform/graphics/cairo/ImageBufferDataCairo.h: Added. + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::getUnmultipliedImageData): + (WebCore::ImageBuffer::getPremultipliedImageData): + (WebCore::ImageBuffer::putUnmultipliedImageData): + (WebCore::ImageBuffer::putPremultipliedImageData): + * platform/graphics/cg/ImageBufferDataCG.cpp: Added. + (WebCore::ImageBufferData::ImageBufferData): + (WebCore::haveVImageRoundingErrorFix): + (WebCore::ImageBufferData::getData): + (WebCore::ImageBufferData::putData): + * platform/graphics/cg/ImageBufferData.h: Removed. + * platform/graphics/cg/ImageBufferDataCG.h: Added. + * platform/graphics/chromium/ImageBufferData.h: Removed. + * platform/graphics/chromium/ImageBufferDataSkia.h: Added. + * platform/graphics/haiku/ImageBufferData.h: Removed. + * platform/graphics/haiku/ImageBufferDataHaiku.h: Added. + * platform/graphics/qt/ImageBufferData.h: Removed. + * platform/graphics/qt/ImageBufferDataQt.h: Added. + * platform/graphics/wince/ImageBufferData.h: Removed. + * platform/graphics/wince/ImageBufferDataWince.h: Added. + * platform/graphics/wx/ImageBufferData.h: Removed. + * platform/graphics/wx/ImageBufferDataWx.h: Added. + +2011-04-13 Simon Fraser + + Reviewed by Dan Bernstein. + + Remove std:: prefix on some min/max calls + https://bugs.webkit.org/show_bug.cgi?id=58493 + + Remove std:: namespacing on min/max in favor of a 'using' clause. + + * platform/graphics/RoundedIntRect.cpp: + (WebCore::RoundedIntRect::Radii::expand): + * rendering/style/RenderStyle.cpp: + (WebCore::calcConstraintScaleFor): + +2011-04-13 Alexis Menard + + Reviewed by Andreas Kling. + + Replace our own RenderThemeQt::getMediaElementFromRenderObject by + MediaControlsElement::toParentMediaElement used by every other port. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintMediaFullscreenButton): + (WebCore::RenderThemeQt::paintMediaMuteButton): + (WebCore::RenderThemeQt::paintMediaPlayButton): + (WebCore::RenderThemeQt::paintMediaSliderTrack): + * platform/qt/RenderThemeQt.h: + +2011-04-13 Geoffrey Garen + + Reviewed by Oliver Hunt. + + Switched DOM wrappers to use HashMap of Weak instead of WeakGCMap + https://bugs.webkit.org/show_bug.cgi?id=58482 + + This will allow wrappers to make individual decisions about their lifetimes. + + * bindings/js/DOMWrapperWorld.cpp: + (WebCore::DOMWrapperWorld::DOMWrapperWorld): + (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): + (WebCore::JSNodeHandleOwner::finalize): + (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots): + (WebCore::DOMObjectHandleOwner::finalize): + * bindings/js/DOMWrapperWorld.h: + (WebCore::JSNodeHandleOwner::JSNodeHandleOwner): + (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner): + (WebCore::DOMWrapperWorld::jsNodeHandleOwner): + (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners + for JSNode and DOMObject, our two hash table values. For now, the owners + just take care to remove their handles from their respective hash tables. + + Changed the hash table type to be a standard HashMap of weak pointers, + instead of a WeakGCMap. + + * bindings/js/JSDOMBinding.cpp: + (WebCore::getCachedDOMObjectWrapper): + (WebCore::cacheDOMObjectWrapper): + (WebCore::cacheDOMNodeWrapper): + (WebCore::isObservableThroughDOM): + (WebCore::markDOMNodesForDocument): + (WebCore::takeWrappers): + (WebCore::updateDOMNodeDocument): + (WebCore::markDOMObjectWrapper): + (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to + accomodate its new data type. + + * bindings/js/JSNodeCustom.h: + (WebCore::getCachedDOMNodeWrapper): Ditto. + + * dom/Document.h: Updated declaration to match the above. + +2011-04-13 Sam Weinig + + Fix Mac builds. + + * WebCore.exp.in: + +2011-04-13 Sam Weinig + + Reviewed by Gavin Barraclough. + + WebKit2 doesn't keep overlay scrollers shown while scroll gesture held + + + Notify the scrollbar painter controller when gesture scrolls begin and end. + + * WebCore.exp.in: + * platform/mac/ScrollAnimatorMac.h: + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::didBeginScrollGesture): + (WebCore::ScrollAnimatorMac::didEndScrollGesture): + (WebCore::ScrollAnimatorMac::beginScrollGesture): + (WebCore::ScrollAnimatorMac::endScrollGesture): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2011-04-13 Eric Carlson + + Reviewed by Maciej Stachowiak. + + MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:] + https://bugs.webkit.org/show_bug.cgi?id=58451 + + + No new tests, supported MIME types haven't changed. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use + [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types. + +2011-04-13 Eric Carlson + + Reviewed by Alexey Proskuryakov. + + Media engine fallback doesn't always work + https://bugs.webkit.org/show_bug.cgi?id=58462 + + No new tests, this was verified manually with the url noted in the bug. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::networkStateChanged): + +2011-04-13 Zhenyao Mo + + Reviewed by Kenneth Russell. + + Extension3D needs to provide a way to check if an extension is enabled + https://bugs.webkit.org/show_bug.cgi?id=58410 + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports(). + * platform/graphics/Extensions3D.h: Add isEnabled(). + * platform/graphics/chromium/Extensions3DChromium.h: Ditto. + * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto. + (WebCore::Extensions3DOpenGL::isEnabled): + * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto. + * platform/graphics/qt/Extensions3DQt.cpp: Ditto. + (WebCore::Extensions3DQt::isEnabled): + * platform/graphics/qt/Extensions3DQt.h: Ditto. + +2011-04-13 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Make PropertyMapEntry use a WriteBarrier for specificValue + https://bugs.webkit.org/show_bug.cgi?id=58407 + + Pass JSGlobalData reference on to APIs that now need them + + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::all): + +2011-04-12 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: fix source mapping for de-obfuscated scripts. + https://bugs.webkit.org/show_bug.cgi?id=58231 + + * inspector/front-end/ScriptFormatterWorker.js: + (buildMapping): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceMapping): + (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation): + (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation): + (WebInspector): + (WebInspector.FormattedSourceMapping): + (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine): + (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation): + +2011-04-13 Mario Sanchez Prada + + Reviewed by Martin Robinson. + + [GTK] Consider editable and non editable nodes when calculating selection offsets + https://bugs.webkit.org/show_bug.cgi?id=58431 + + Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode(). + + This is needed to ensure that getSelectionOffsetsForObject() works + well when non editable nodes are present in the selection, since + firstPositionInNode() and lastPositionInNode() don't work in those + cases (they assume the node is editable). + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (getSelectionOffsetsForObject): Updated calls. + +2011-04-13 Mario Sanchez Prada + + Reviewed by Martin Robinson. + + [GTK] Missing nullchecks in GTK's a11y wrapper + https://bugs.webkit.org/show_bug.cgi?id=58429 + + Add missing nullchecks for coreObject->document(). + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkParentOfRootObject): Add missing nullcheck. + (getPangoLayoutForAtk): Ditto. + (webkit_accessible_text_get_caret_offset): Ditto. + (textExtents): Ditto. + (webkit_accessible_editable_text_insert_text): Ditto. + (webkit_accessible_editable_text_delete_text): Ditto. + +2011-04-13 Thierry Reding + + Gtk+ port fails to build when enabling WebGL + https://bugs.webkit.org/show_bug.cgi?id=58434 + + Fix the GTK+ WebGL build after the introduction of PlatformContextCairo. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/cairo/GraphicsContext3DCairo.cpp: + (WebCore::GraphicsContext3D::paintToCanvas): + +2011-04-12 Philippe Normand + + Reviewed by Martin Robinson. + + REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback + https://bugs.webkit.org/show_bug.cgi?id=58312 + + Make sure to link the videoValve in all cases, fpsdisplaysink + being used or not. + + No new test, this patch fixes an internal feature of the player, + not publicly exposed. Having two video sinks and pausing one while + the other displays the fullscreen video is an implementation + detail of the GStreamer player. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + +2011-04-13 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Web Inspector: there is a problem if an optional param is not at the end of a params list. + https://bugs.webkit.org/show_bug.cgi?id=58440 + + In InspectorBackend.dispatch method we are converting the message's params object into array of arguments + for a callback. But in some cases the optional parameter is declared in the middle of the params list. + That gets us into a problem if this param has been skipped in the message. In that case the tail of the + event params will be shifted. We can slightly modify dispatcher and it will put the params in right places. + + * inspector/CodeGeneratorInspector.pm: + +2011-04-13 Ben Taylor + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=57337 + + Work around a bug in ternary opertions in the Solaris Studio + 12/12.1/12.2 compilers, using an if clause. + + * dom/NodeRenderStyle.h: + (WebCore::Node::renderStyle): + +2011-04-13 Brian Salomon + + Reviewed by Kenneth Russell. + + Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object + https://bugs.webkit.org/show_bug.cgi?id=58363 + + No new tests needed, exercised by all existing canvas2d tests. + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc): + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + +2011-04-13 Andrey Kosyakov + + Unreviewed. Fix chromium clang build problem: + ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method + with a different signature in base class instead of overriding it. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::ApplyPropertyExpandingSuppressValue::applyValue): + +2011-04-13 Kinuko Yasuda + + Reviewed by David Levin. + + Add mock implementation and plumbing code for unified Quota API + https://bugs.webkit.org/show_bug.cgi?id=57927 + + Added mock implementation and some plumbing code for the quota API, + that is based on the discussion on public-webapps: + http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html + + No new tests: tests will be added when we expose the API. + + * CMakeLists.txt: Added new file entries. + * DerivedSources.cpp: Added new file entries. + * DerivedSources.make: Added new file entries. + * GNUmakefile.am: Added new file entries. + * WebCore.gypi: Added new file entries. + * WebCore.pro: Added new file entries. + * WebCore.vcproj/WebCore.vcproj: Added new file entries. + * WebCore.xcodeproj/project.pbxproj: Added new file entries. + * storage/StorageInfo.cpp: Added. + * storage/StorageInfo.h: Added. + * storage/StorageInfoErrorCallback.h: Added. + * storage/StorageInfoQuotaCallback.h: Added. + * storage/StorageInfoUsageCallback.h: Added. + +2011-04-13 Gustavo Noronha Silva + + Reviewed by Martin Robinson. + + [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself + https://bugs.webkit.org/show_bug.cgi?id=58297 + + Make sure we do not load plugins that use symbols of a different + GTK+ major version to avoid bugs and crashes. + + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::moduleMixesGtkSymbols): + (WebCore::PluginPackage::load): + +2011-04-13 Andrey Adaikin + + Reviewed by Pavel Feldman. + + Web Inspector: Implement undo/redo in text editor + https://bugs.webkit.org/show_bug.cgi?id=58426 + + Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.) + Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z). + FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.endEditing): + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel.prototype.setText): + (WebInspector.TextEditorModel.prototype._innerSetText): + (WebInspector.TextEditorModel.prototype._pushUndoableCommand): + (WebInspector.TextEditorModel.prototype.undo): + (WebInspector.TextEditorModel.prototype.redo): + (WebInspector.TextEditorModel.prototype._doUndo): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._textChanged): + (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): + (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): + (WebInspector.TextViewer.prototype._registerShortcuts): + (WebInspector.TextViewer.prototype._cancelEditing): + (WebInspector.TextViewer.prototype._handleUndoRedo): + (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): + (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): + (WebInspector.TextEditorGutterPanel.prototype.textChanged): + (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback): + (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo): + (WebInspector.TextEditorMainPanel.prototype._restoreSelection): + (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): + (WebInspector.TextEditorMainPanel.prototype.textChanged): + (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): + +2011-04-13 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: make optional event parameter last to prevent regressions. + https://bugs.webkit.org/show_bug.cgi?id=58433 + + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::willSendRequest): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): + +2011-04-13 Pavel Feldman + + Not reviewed: revert Inspector.json change for breaking world. + + * inspector/Inspector.json: + +2011-04-13 Pavel Feldman + + Not reviewed: swap methods in the Inspector.json. + + * inspector/Inspector.json: + +2011-04-13 Csaba Osztrogonác + + Unreviewed, rolling out r83695. + http://trac.webkit.org/changeset/83695 + https://bugs.webkit.org/show_bug.cgi?id=58375 + + [Qt][WK2]It broke http tests + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::synchronousLoad): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::resourceResponse): + (WebCore::WebCoreSynchronousLoader::resourceError): + (WebCore::WebCoreSynchronousLoader::data): + (WebCore::WebCoreSynchronousLoader::setReplyFinished): + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::WebCoreSynchronousLoader::waitForCompletion): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-13 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: inactive style sheets should be read only. + https://bugs.webkit.org/show_bug.cgi?id=58423 + + * inspector/front-end/ResourceView.js: + (WebInspector.CSSSourceFrame): + (WebInspector.CSSSourceFrame.prototype.isContentEditable): + (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId): + (WebInspector.CSSSourceFrame.prototype._loadStyleSheet): + +2011-04-13 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers. + https://bugs.webkit.org/show_bug.cgi?id=58320 + + Introduce a proxy object that emulates worker behavior and change UI code to cope with it. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted): + (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate): + (WebInspector.HeapSnapshotGridNode.prototype._populate): + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify): + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): + (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate): + (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort): + (WebInspector.HeapSnapshotGridNode.prototype.sort): + (WebInspector.HeapSnapshotGenericObjectNode): + (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent): + (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren): + (WebInspector.HeapSnapshotObjectNode): + (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode): + (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): + (WebInspector.HeapSnapshotInstanceNode): + (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode): + (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): + (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode): + (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind): + (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff): + (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): + (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity): + (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode): + (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated): + (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated): + (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): + (WebInspector.HeapSnapshotDominatorObjectNode): + (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode): + (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): + (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): + (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource): + (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): + (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): + (WebInspector.HeapSnapshotRetainingPathsList): + (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching): + (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext): + (WebInspector.DetailedHeapshotView.profileCallback): + (WebInspector.DetailedHeapshotView): + (WebInspector.DetailedHeapshotView.prototype.get profileWrapper): + (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper): + (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1): + (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2): + (WebInspector.DetailedHeapshotView.prototype.show): + (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded): + * inspector/front-end/HeapSnapshot.js: + * inspector/front-end/HeapSnapshotProxy.js: Added. + * inspector/front-end/PleaseWaitMessage.js: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._reset): + (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): + (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-04-13 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: Web Page Performance auditing fails + https://bugs.webkit.org/show_bug.cgi?id=58322 + + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable): + (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable): + (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): + +2011-04-13 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: enumerate properties in Inspector.json using array, not object keys. + https://bugs.webkit.org/show_bug.cgi?id=58418 + + * inspector/Inspector.json: + +2011-04-06 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: add "De-obfuscate Source" item to source frame text area context menu. + https://bugs.webkit.org/show_bug.cgi?id=57942 + + * English.lproj/localizedStrings.js: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles): + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu): + (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu): + (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult): + (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles): + (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled): + +2011-04-13 Nikolas Zimmermann + + Reviewed by Dirk Schulze. + + SVGTextContentElements textLength returns 0 + https://bugs.webkit.org/show_bug.cgi?id=52543 + + Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition. + + If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal" + will return the same as "textContentElement.getComputedTextLength()". If it's set the values + aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the + lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes. + This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength() + and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored + in the SVG Text DOM API. + + Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory). + Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes). + + Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization + with getComputedTextLength(). + + Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg + svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html + svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html + svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html + svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html + + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForPoint): + * rendering/svg/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::offsetForPositionInFragment): + (WebCore::SVGInlineTextBox::selectionRect): + (WebCore::SVGInlineTextBox::paintSelectionBackground): + (WebCore::SVGInlineTextBox::paint): + (WebCore::SVGInlineTextBox::calculateBoundaries): + * rendering/svg/SVGTextChunkBuilder.cpp: + (WebCore::SVGTextChunkBuilder::buildTextChunks): + (WebCore::SVGTextChunkBuilder::layoutTextChunks): + (WebCore::SVGTextChunkBuilder::addTextChunk): + (WebCore::SVGTextChunkBuilder::processTextChunk): + (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection): + (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection): + * rendering/svg/SVGTextFragment.h: + (WebCore::SVGTextFragment::SVGTextFragment): + (WebCore::SVGTextFragment::buildFragmentTransform): + (WebCore::SVGTextFragment::transformAroundOrigin): + (WebCore::SVGTextFragment::buildTransformForTextOnPath): + (WebCore::SVGTextFragment::buildTransformForTextOnLine): + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): + (WebCore::SVGTextLayoutEngine::beginTextPathLayout): + (WebCore::dumpTextBoxes): + (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): + (WebCore::SVGTextLayoutEngine::finishLayout): + (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): + * rendering/svg/SVGTextQuery.cpp: + (WebCore::SVGTextQuery::textLengthCallback): + (WebCore::SVGTextQuery::subStringLengthCallback): + (WebCore::SVGTextQuery::startPositionOfCharacterCallback): + (WebCore::SVGTextQuery::endPositionOfCharacterCallback): + (WebCore::SVGTextQuery::rotationOfCharacterCallback): + (WebCore::calculateGlyphBoundaries): + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::SVGTextContentElement): + (WebCore::SVGTextContentElement::synchronizeTextLength): + (WebCore::SVGTextContentElement::textLengthAnimated): + (WebCore::SVGTextContentElement::parseMappedAttribute): + (WebCore::SVGTextContentElement::svgAttributeChanged): + * svg/SVGTextContentElement.h: + (WebCore::SVGTextContentElement::specifiedTextLength): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::svgAttributeChanged): + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::svgAttributeChanged): + +2011-04-13 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: requestDocument can result in race condition in DOMAgent.js + https://bugs.webkit.org/show_bug.cgi?id=58415 + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable): + (WebInspector.DOMAgent.prototype.requestDocument): + +2011-04-12 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: another pass of protocol renames. + https://bugs.webkit.org/show_bug.cgi?id=58340 + + * inspector/Inspector.json: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getDocument): + (WebCore::InspectorDOMAgent::performSearch): + (WebCore::InspectorDOMAgent::setSearchingForNode): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::evaluate): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype._setSearchingForNode): + (WebInspector.ElementsPanel.prototype.setSearchingForNode): + +2011-04-12 Luke Macpherson + + Reviewed by Dimitri Glazkov. + + Implement remaining Background and Mask css properties in CSSStyleApplyProperty + https://bugs.webkit.org/show_bug.cgi?id=58390 + + No new tests required as no functionality changed. + + * css/CSSStyleApplyProperty.cpp: + (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties. + (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue. + + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty. + +2011-04-12 Sergey Glazunov + + Reviewed by Dimitri Glazkov. + + Element::setAttribute should check the namespace of an id attribute + https://bugs.webkit.org/show_bug.cgi?id=58359 + + Test: fast/dom/id-attribute-with-namespace-crash.html + + * dom/Element.cpp: + (WebCore::Element::setAttribute): + +2011-04-12 Mike Lawther + + Reviewed by James Robinson. + + Update boolean operators in RenderStyle to be compatible with check-webkit-style + https://bugs.webkit.org/show_bug.cgi?id=58409 + + No new functionality, so no new tests. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::operator==): + (WebCore::RenderStyle::inheritedNotEqual): + (WebCore::positionedObjectMoved): + (WebCore::RenderStyle::diff): + (WebCore::RenderStyle::applyTransform): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::isOriginalDisplayInlineType): + +2011-04-12 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: remove nested event loop. + https://bugs.webkit.org/show_bug.cgi?id=58375 + + As QNAM now makes actual synchronous loads there is no need for a nested event loop + in ResourceHandleQt. + + Moving the call for QNetworkReplyWrapper::synchronousLoad from + ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the + redirections to work in synchronous requests. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-12 Vangelis Kokkevis + + Reviewed by James Robinson. + + [chromium] Move the calculation of the layer's z coordinate to the + right spot so that it can be picked up by its sublayers. + https://bugs.webkit.org/show_bug.cgi?id=58397 + + Test: platform/chromium/compositing/child-layer-3d-sorting.html + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): + +2011-04-12 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: signal queue + https://bugs.webkit.org/show_bug.cgi?id=57075 + + The idea is to make all signals that come from the QNetworkReply to pass through a queue and to + stop that queue when loading is deferred. This way almost all the deferred logic can be removed + from QNetworkReplyHandler class and encapsulated in its own class. + + To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper + methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods. + This together with empting the queue at wrapper destruction time makes sure that the handler will + not receive calls from a dead wrapper. + + The new class is named QNetworkReplyHandlerCallQueue. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue): + (WebCore::QNetworkReplyHandlerCallQueue::push): + (WebCore::QNetworkReplyHandlerCallQueue::lock): + (WebCore::QNetworkReplyHandlerCallQueue::unlock): + (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals): + (WebCore::QNetworkReplyHandlerCallQueue::flush): + (WebCore::QueueLocker::QueueLocker): + (WebCore::QueueLocker::~QueueLocker): + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::readyRead): + (WebCore::QNetworkReplyWrapper::didReceiveFinished): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::resetState): + (WebCore::QNetworkReplyHandler::release): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::synchronousLoad): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyHandlerCallQueue::deferSignals): + (WebCore::QNetworkReplyHandlerCallQueue::clear): + (WebCore::QNetworkReplyWrapper::synchronousLoad): + (WebCore::QNetworkReplyHandler::setLoadingDeferred): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-12 Kenichi Ishibashi + + Reviewed by Kent Tamura. + + Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex. + https://bugs.webkit.org/show_bug.cgi?id=58247 + + - Increment m_associatedElementsAfterIndex when the form owner and an + inserted form associated element have the same parent chain. + - Always iterate over m_associatedElements to decrease indexes when a + form associated element is removed. This is needed for a case that the + form associated element is removed from the form element due to + deleting the 'form' attribute. No behavioral change expected with this + change. + + Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html + fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): + Incremet m_associatedElementsAfterIndex when compareDocumentPosition() + returns DOCUMENT_POSITION_CONTAINED_BY. + (WebCore::HTMLFormElement::removeFormElement): + Always iterate m_associatedElements to adjust indexes. + +2011-04-12 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Do not show scrollbars when use mobile theme + https://bugs.webkit.org/show_bug.cgi?id=58380 + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::ScrollbarThemeQt::scrollbarThickness): + +2011-04-12 Anantanarayanan G Iyengar + + Reviewed by Alexey Proskuryakov. + + The default backspace event handler should mark the event as handled if navigation succeeds. + https://bugs.webkit.org/show_bug.cgi?id=58379 + + We should mark the event as handled only if we were able to successfully navigate backwards or forwards. + These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame + where history is managed by an external browser like IE. + + No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE) + It is non trivial to simulate this environment. + + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultBackspaceEventHandler): + +2011-04-12 Ryosuke Niwa + + Reviewed by Eric Seidel. + + Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth + https://bugs.webkit.org/show_bug.cgi?id=58400 + + Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::LineWidth::LineWidth): + (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth. + (WebCore::LineWidth::availableWidth): Added. + (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets. + (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates + the available width. + (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock. + (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. + +2011-04-12 Alexis Menard + + Unreviewed warning fix. + + MediaControlElements has been moved to html/shadow. + + * WebCore.pro: + +2011-04-12 Yael Aharon + + Reviewed by Eric Seidel. + + Rename onEndChain and make it a static method. + https://bugs.webkit.org/show_bug.cgi?id=58403 + + No new tests since this is refactoring only. + + * rendering/InlineFlowBox.cpp: + (WebCore::isLastChildForRenderer): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + * rendering/InlineFlowBox.h: + +2011-04-12 Eric Carlson + + Not reviewed, build fix. + + Fix non-accelerated build after r83667. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to + mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING. + +2011-04-12 Adrienne Walker + + Reviewed by James Robinson. + + [chromium] TilingData mishandles very small texture sizes + https://bugs.webkit.org/show_bug.cgi?id=58364 + + Use zero tiles when the texture size is too small for tiling. + + * platform/graphics/gpu/TilingData.cpp: + (WebCore::TilingData::TilingData): + (WebCore::TilingData::setMaxTextureSize): + +2011-04-12 Csaba Osztrogonác + + Unreviewed, rolling out r83634 and r83659. + http://trac.webkit.org/changeset/83634 + http://trac.webkit.org/changeset/83659 + https://bugs.webkit.org/show_bug.cgi?id=57075 + + It made 2 tests time out + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::didReceiveFinished): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::resetState): + (WebCore::QNetworkReplyHandler::setLoadingDeferred): + (WebCore::QNetworkReplyHandler::resumeDeferredLoad): + (WebCore::QNetworkReplyHandler::release): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::resourceResponse): + (WebCore::WebCoreSynchronousLoader::resourceError): + (WebCore::WebCoreSynchronousLoader::data): + (WebCore::WebCoreSynchronousLoader::setReplyFinished): + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::WebCoreSynchronousLoader::waitForCompletion): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-12 Sam Weinig + + Reviewed by Simon Fraser. + + Frames prevent scrolling containing page + + https://bugs.webkit.org/show_bug.cgi?id=58392 + + Also fixes: + Should rubber-band on pages with no scrollbars + + + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): + Make the main frame rubber-band horizontally and vertically always. + + * platform/ScrollTypes.h: + Add ScrollElasticity enum. + + * platform/ScrollableArea.cpp: + Default to no elasticity. + + (WebCore::ScrollableArea::ScrollableArea): + * platform/ScrollableArea.h: + (WebCore::ScrollableArea::setVerticalScrollElasticity): + (WebCore::ScrollableArea::verticalScrollElasticity): + (WebCore::ScrollableArea::setHorizontalScrollElasticity): + (WebCore::ScrollableArea::horizontalScrollElasticity): + Add state for horizontal and vertical elasticity. + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::handleWheelEvent): + Bail out of new scrolling behavior if we can't rubber-band. By bailing before + accepting the wheel event, we allow the wheel event to be forwarded. We will + need to refine this logic to allow subframe scrolling in the future. + + (WebCore::ScrollAnimatorMac::allowsVerticalStretching): + (WebCore::ScrollAnimatorMac::allowsHorizontalStretching): + Switch stretching behavior based on the ScrollableArea's elasticity. + +2011-04-12 Geoffrey Garen + + Not reviewed. + + Try to fix the Chromium build. + + Why have one URL when you can have two at twice the price? + + * platform/KURL.h: + (WebCore::KURL::KURL): + (WebCore::KURL::isHashTableDeletedValue): + * platform/KURLGoogle.cpp: + (WebCore::KURLGooglePrivate::KURLGooglePrivate): + * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash + table deleted value constructor. + +2011-04-12 Stephanie Lewis + + Reviewed by Oliver Hunt. + https://bugs.webkit.org/show_bug.cgi?id=58280 + Fix a layout test by correctly comparing enums, and not adding exceptions. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::create): + (WebCore::SerializedScriptValue::deserialize): + * bindings/js/SerializedScriptValue.h: + +2011-04-12 Eric Carlson + + Reviewed by Simon Fraser. + + Apple movie trailers play only audio + https://bugs.webkit.org/show_bug.cgi?id=58339 + + + No new tests, covered by existing layout and manual tests. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions. + (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster + change the display mode to Video and force a style recalc so the video layer gets hooked + up the the render tree. + * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we + want to stop displaying the poster as soon as the first frame of video is available. + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when + we want to display Video but the media engines doesn't have the first frame yet. + * html/HTMLVideoElement.h: + (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode + is PosterWaitingForVideo. + + * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element. + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable): + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize + m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable. + (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first + frame of video has loaded, or audio will begin to play before we can show video. + (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable. + (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is + available, inform elment and begin playback if it was previousl requested. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging. + (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto. + (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play. + (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause. + +2011-04-12 Jian Li + + Unreviewed, rolling out r83649. + http://trac.webkit.org/changeset/83649 + https://bugs.webkit.org/show_bug.cgi?id=57563 + + This patch causes compiling errors for chromium + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/ImageBufferData.h: + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/PlatformCanvas.cpp: + (WebCore::PlatformCanvas::resize): + * platform/graphics/chromium/PlatformCanvas.h: + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::compositeTextComposite): + (WebCore::TransparencyWin::makeLayerOpaque): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::paintSkBitmap): + (WebCore::Image::drawPattern): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::setCanvas): + (WebCore::PlatformContextSkia::isPrinting): + (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): + * platform/graphics/skia/PlatformContextSkia.h: + (WebCore::PlatformContextSkia::canvas): + +2011-04-12 Enrica Casucci + + Reviewed by Alexey Proskuryakov. + + Implement non-activating clicks to allow dragging out of a background window. + https://bugs.webkit.org/show_bug.cgi?id=55053 + + + * WebCore.exp.in: Added new exported method. + +2011-04-12 Geoffrey Garen + + Reviewed by Geoffrey Garen. + + Cleaned up hash traits, and added hash traits for handles + https://bugs.webkit.org/show_bug.cgi?id=58381 + + * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication. + + * platform/KURL.h: + (WebCore::KURL::KURL): + (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table + deleted value constructor, to be more explicit and enable use of + SimpleClassHashTraits. + + * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication. + + * platform/graphics/FontCache.cpp: Ditto. + * platform/network/ProtectionSpaceHash.h: Ditto. + * svg/properties/SVGAnimatedPropertyDescription.h: Ditto. + +2011-04-12 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: remove nested event loop. + https://bugs.webkit.org/show_bug.cgi?id=58375 + + As QNAM now makes actual synchronous loads there is no need for a nested event loop + in ResourceHandleQt. + + Moving the call for QNetworkReplyWrapper::synchronousLoad from + ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the + redirections to work in synchronous requests. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-11 Jer Noble + + Reviewed by Simon Fraser. + + REGRESSION: Vimeo fullscreen video displays incorrectly + https://bugs.webkit.org/show_bug.cgi?id=58291 + + Set the RenderFullScreen's zIndex to the max. And make sure to override + a video element's specified width and height by making its full screen rules + important. Also, always show the controls when a media element is in full + screen mode. + + Test: fullscreen/video-specified-size.html + Test: fullscreen/full-screen-zIndex.html + + * css/fullscreen.css: + (video:-webkit-full-screen): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode. + (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen + change event and hide or show the controls accordingly. + * html/HTMLMediaElement.h: + * rendering/RenderFullScreen.cpp: + (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a + vertical flexbox instead of a horizontal one. + +2011-04-12 Chris Marrin + + Reviewed by Simon Fraser. + + Page tears and stutters in WebKit2 when page is > 2048 pixels wide + https://bugs.webkit.org/show_bug.cgi?id=58330 + + Added API to GraphicsLayer to disable switching to tiled layers. This is + set in the nonCompositedContentLayer in WK2, causing that layer to never + switch to tiles and avoiding the asynchronous update of the content during + scroll. + + * platform/graphics/ca/GraphicsLayerCA.cpp: + Implement setAllowTiledLayer() to simulate a SizeChanged action to + properly switch between tiled and untiled layer. + * platform/graphics/ca/GraphicsLayerCA.h: + +2011-04-12 Alok Priyadarshi + + Reviewed by James Robinson. + + Remove dependency on chromium skia::PlatformCanvas + https://bugs.webkit.org/show_bug.cgi?id=57563 + + This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. + The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. + We will eventually define an API that every port using skia will define. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): + (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/ImageBufferData.h: + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/PlatformCanvas.cpp: + (WebCore::PlatformCanvas::resize): + * platform/graphics/chromium/PlatformCanvas.h: + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::compositeTextComposite): + (WebCore::TransparencyWin::makeLayerOpaque): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::paintSkBitmap): + (WebCore::Image::drawPattern): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::setCanvas): + (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): + * platform/graphics/skia/PlatformContextSkia.h: + (WebCore::PlatformContextSkia::canvas): + (WebCore::PlatformContextSkia::printing): + (WebCore::PlatformContextSkia::setPrinting): + +2011-04-11 Stephanie Lewis + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=58280 + javascript in an inconsistent state due to serialization returning an un-handled exception + Currently serialization and deserialization can throw javascript exceptions. Since SerializedScriptValue is called in + several places that do not always involve direct calls into javascript have the functions return an error code and the callers + decide whether or not to throw exceptions. + + Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h. Walking that object creates + additional objects which eventually causes serialization to end up throwing a stack overflow error. Instead fail immediately. + + Untangle header includes. SerializedScriptValue was inheriting ScriptValue.h, but not using it. Since ScriptValue depends on + SerializedScriptValue this could lead to a circular header dependency. + + No change in functionality, covered by current tests + + * WebCore.exp.in: + * bindings/js/JSMessageEventCustom.cpp: + (WebCore::JSMessageEvent::initMessageEvent): + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::serialize): + (WebCore::ScriptValue::deserialize): + * bindings/js/ScriptValue.h: + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::serialize): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneDeserializer::deserialize): + (WebCore::SerializedScriptValue::create): + (WebCore::SerializedScriptValue::deserialize): + (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed): + (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully): + * bindings/js/SerializedScriptValue.h: + + * bindings/js/JSWorkerContextBase.cpp: header include fix + * loader/FrameLoader.h: header include fix + * page/Frame.cpp: header include fix + +2011-03-28 Adam Barth + + Reviewed by Kenneth Russell. + + Move libtess from WebCore/thirdparty to ThirdParty + https://bugs.webkit.org/show_bug.cgi?id=57288 + + * WebCore.gyp/WebCore.gyp: + - Add libtess as a legit dependency. + * WebCore.gypi: + - Remove libtess files from the gypi. + * thirdparty/glu: Removed. + +2011-04-12 Ryosuke Niwa + + Reviewed by David Hyatt. + + Bundle w and tmpW in findNextLineBreak together as a class + https://bugs.webkit.org/show_bug.cgi?id=58362 + + Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth, + and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class + named LineWidth. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::LineWidth::LineWidth): Added. + (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width. + (WebCore::LineWidth::uncommittedWidth): Added. + (WebCore::LineWidth::committedWidth): Added. + (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width. + (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width. + (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. + +2011-04-12 Yael Aharon + + Reviewed by Eric Seidel. + + REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html + https://bugs.webkit.org/show_bug.cgi?id=57459 + + Slightly change the way we decide if a InlineFlowBox is the last box for its renderer. + We include the border in that box under these conditions: + (1) The next line was not created, or it is constructed. We check the previous line for rtl. + (2) The logicallyLastRun is not a descendant of this renderer. + (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line. + I added the tests from bug 47210, because now the draw the borders correctly. + + Tests: fast/borders/bidi-002.html + fast/borders/bidi-004.html + fast/borders/bidi-009a.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::onEndChain): + (WebCore::isAnsectorAndWithinBlock): + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + * rendering/InlineFlowBox.h: + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::layoutInlineChildren): + +2011-04-12 Geoffrey Garen + + Reviewed by Sam Weinig. + + Cleaned up some Vector traits, and added missing Vector traits for handles + https://bugs.webkit.org/show_bug.cgi?id=58372 + + * platform/graphics/BitmapImage.h: Added a FIXME because the current + Vector traits for FrameData are logically incorrect, but I couldn't find + a place where this currently results in bad behavior, and it's not + immediately obvious what the right solution is. + +2011-04-12 Dimitri Glazkov + + Reviewed by Eric Seidel. + + Move MediaControlElements to html/shadow. + https://bugs.webkit.org/show_bug.cgi?id=58347 + + Mechanical move of the files. + + * Android.mk: Updated the build file. + * CMakeLists.txt: Ditto. + * GNUmakefile.list.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files. + * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp. + (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): + * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h. + * rendering/MediaControlElements.cpp: Removed. + * rendering/MediaControlElements.h: Removed. + * rendering/RenderingAllInOne.cpp: Removed the files that were moved. + +2011-04-12 Luiz Agostini + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler refactoring: signal queue + https://bugs.webkit.org/show_bug.cgi?id=57075 + + The idea is to make all signals that come from the QNetworkReply to pass through a queue and to + stop that queue when loading is deferred. This way almost all the deferred logic can be removed + from QNetworkReplyHandler class and encapsulated in its own class. + + To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper + methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods. + This together with empting the queue at wrapper destruction time makes sure that the handler will + not receive calls from a dead wrapper. + + The new class is named QNetworkReplyHandlerCallQueue. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue): + (WebCore::QNetworkReplyHandlerCallQueue::push): + (WebCore::QNetworkReplyHandlerCallQueue::lock): + (WebCore::QNetworkReplyHandlerCallQueue::unlock): + (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals): + (WebCore::QueueLocker::QueueLocker): + (WebCore::QueueLocker::~QueueLocker): + (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): + (WebCore::QNetworkReplyWrapper::receiveMetaData): + (WebCore::QNetworkReplyWrapper::readyRead): + (WebCore::QNetworkReplyWrapper::didReceiveFinished): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::resetState): + (WebCore::QNetworkReplyHandler::release): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + (WebCore::QNetworkReplyHandler::synchronousLoad): + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::QNetworkReplyHandlerCallQueue::deferSignals): + (WebCore::QNetworkReplyHandlerCallQueue::clear): + (WebCore::QNetworkReplyWrapper::synchronousLoad): + (WebCore::QNetworkReplyHandler::setLoadingDeferred): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): + +2011-04-12 David Hyatt + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=58176 + + Inline replaced elements following positioned elements on lines are not rendered. Make sure the + logic for skipping run construction in appendRunsForObject matches the new logic that I added + to findNextLineBreak. If they don't match up, you risk confusing the run construction code and + causing it to not make runs for objects that follow the positioned object on the line. + + Added fast/inline/positioned-object-between-replaced-elements.html + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::appendRunsForObject): + +2011-04-12 Alice Liu + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=58292 + Provide new setting to allow site icon loading despite disabling automatic image loading in general. + + Test: http/tests/misc/favicon-loads-with-icon-loading-override.html + + * WebCore.exp.in: Added export symbol + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded. + * page/Settings.cpp: + (WebCore::Settings::Settings): Add initializer for new setting + (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting. + * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting. + (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter. + +2011-04-12 Ryosuke Niwa + + Reviewed by Eric Seidel. + + Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle + https://bugs.webkit.org/show_bug.cgi?id=55974 + + Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand + to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue, + setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles, + diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn. + + Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp + + * editing/ApplyStyleCommand.cpp: + * editing/ApplyStyleCommand.h: + * editing/EditingStyle.cpp: + (WebCore::reconcileTextDecorationProperties): + (WebCore::StyleChange::StyleChange): + (WebCore::setTextDecorationProperty): + (WebCore::getRGBAFontColor): + (WebCore::StyleChange::extractTextStyles): + (WebCore::diffTextDecorations): + (WebCore::fontWeightIsBold): + (WebCore::getTextAlignment): + (WebCore::getPropertiesNotIn): + (WebCore::getIdentifierValue): + (WebCore::isCSSValueLength): + (WebCore::legacyFontSizeFromCSSValue): + * editing/EditingStyle.h: + (WebCore::StyleChange::cssStyle): + (WebCore::StyleChange::applyBold): + (WebCore::StyleChange::applyItalic): + (WebCore::StyleChange::applyUnderline): + (WebCore::StyleChange::applyLineThrough): + (WebCore::StyleChange::applySubscript): + (WebCore::StyleChange::applySuperscript): + (WebCore::StyleChange::applyFontColor): + (WebCore::StyleChange::applyFontFace): + (WebCore::StyleChange::applyFontSize): + (WebCore::StyleChange::fontColor): + (WebCore::StyleChange::fontFace): + (WebCore::StyleChange::fontSize): + (WebCore::StyleChange::operator==): + (WebCore::StyleChange::operator!=): + +2011-04-12 Diego Gonzalez + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Better padding for inputs and comboxes in mobile theme + https://bugs.webkit.org/show_bug.cgi?id=58248 + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::setButtonPadding): + (WebCore::RenderThemeQt::adjustTextFieldStyle): + (WebCore::RenderThemeQt::paintTextField): + (WebCore::RenderThemeQt::adjustMenuListStyle): + +2011-04-11 Abhishek Arya + + Reviewed by Dave Hyatt. + + Replace insertChildNode with addChild in handleRunIn's reparenting + of inlineRunIn to currBlock. + https://bugs.webkit.org/show_bug.cgi?id=58228 + + Use addChild instead of insertChildNode since it handles + correct placement of the children, esp where we cannot insert + anything before the first child. e.g. details tag requires that its + first child be a summary child and won't be able to remove child if + that is not the case. + + Test: fast/runin/runin-reparent-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::handleRunInChild): + +2011-04-12 Chris Fleizach + + Unreviewed. Fixing Leopard build. + + REGRESSION: WK2: misspelled AX attributes no longer returned from text fields + https://bugs.webkit.org/show_bug.cgi?id=58304 + + checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING). + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (AXAttributeStringSetSpelling): + +2011-04-12 Mario Sanchez Prada + + Unreviewed. Added missing files to GNUmakefile.list.am. + + * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp]. + +2011-04-12 Cris Neckar + + Reviewed by Nikolas Zimmermann. + + Add handling for non-svg inline text boxes in text box lists. + https://bugs.webkit.org/show_bug.cgi?id=57933 + + Test: svg/text/svg-rtl-text-crash.html + + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::positionForPoint): + * rendering/svg/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): + * rendering/svg/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGInlineTextBoxes): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::closestLeafChildForPosition): + (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded): + * rendering/svg/SVGTextQuery.cpp: + (WebCore::SVGTextQuery::collectTextBoxesInFlowBox): + +2011-04-12 Mario Sanchez Prada + + Reviewed by Chris Fleizach. + + [GTK] Expose menu items and menus as children of a menu bar + https://bugs.webkit.org/show_bug.cgi?id=56659 + + Ensure menu items get exposed when they're children of menu bars. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): + Consider menu bars as potential parent objects for menu items. + +2011-04-12 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove scriptWorldType from the protocol. + https://bugs.webkit.org/show_bug.cgi?id=58324 + + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/ScriptDebugListener.h: + (WebCore::ScriptDebugListener::~ScriptDebugListener): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._parsedScriptSource): + (WebInspector.DebuggerDispatcher.prototype.scriptParsed): + * inspector/front-end/Script.js: + (WebInspector.Script): + * inspector/front-end/ScriptsPanel.js: + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile): + +2011-04-11 Dimitri Glazkov + + Reviewed by Eric Carlson. + + Should MediaControls::changedNetworkState fiddle with Fullscreen controls? + https://bugs.webkit.org/show_bug.cgi?id=58163 + + Covered by existing tests and manual-tests/media-controls.html. + + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here. + (WebCore::MediaControls::changedNetworkState): ... from here. + +2011-04-12 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend. + https://bugs.webkit.org/show_bug.cgi?id=58335 + + It was the method for Inspector layout tests. + We can use RuntimeAgent.evaluate instead. + + * inspector/Inspector.json: + * inspector/InspectorAgent.cpp: + * inspector/InspectorAgent.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + * inspector/front-end/TestController.js: + (WebInspector.TestController.prototype.notifyDone): + +2011-04-12 Philippe Normand + + Reviewed by Martin Robinson. + + [GStreamer] some public callbacks remain + https://bugs.webkit.org/show_bug.cgi?id=58307 + + Cleanup of the player public/private APIs. Moving the GstMessage + handling code inside of the player allowed some APIs to move to + the private scope of the class. + + No new tests, this patch is a cleanup and should not affect + current tests coverage. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateMessageCallback): + (WebCore::mediaPlayerPrivateSourceChangedCallback): + (WebCore::mediaPlayerPrivateVolumeChangedCallback): + (WebCore::mediaPlayerPrivateMuteChangedCallback): + (WebCore::mediaPlayerPrivateRepaintCallback): + (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): + (WebCore::MediaPlayerPrivateGStreamer::currentTime): + (WebCore::MediaPlayerPrivateGStreamer::seek): + (WebCore::MediaPlayerPrivateGStreamer::setRate): + (WebCore::MediaPlayerPrivateGStreamer::handleMessage): + (WebCore::MediaPlayerPrivateGStreamer::sourceChanged): + (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2011-04-12 Philippe Normand + + Reviewed by Martin Robinson. + + [GStreamer] advertize HTTP Live Streaming mime-type + https://bugs.webkit.org/show_bug.cgi?id=58318 + + Register the hls mime-type in the internal cache if found in the + typefind factories. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): + +2011-04-11 MORITA Hajime + + Reviewed by Ryosuke Niwa. + + RenderIndicator and ShadowBlockElement are no longer used. + https://bugs.webkit.org/show_bug.cgi?id=58277 + + Removed RenderIndicator and ShadowBlockElement. + + No new tests. Just removed unused code. + + * CMakeLists.txt: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderIndicator.cpp: Removed. + * rendering/RenderIndicator.h: Removed. + * rendering/RenderMeter.h: + * rendering/RenderingAllInOne.cpp: + * rendering/ShadowElement.cpp: + * rendering/ShadowElement.h: + +2011-04-12 Csaba Osztrogonác + + Reviewed by Benjamin Poulain. + + fast/css/dashboard-regions-attr-crash.html asserts + https://bugs.webkit.org/show_bug.cgi?id=58233 + + Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri + not to generate incorrect properties into CSSPropertyNames.h. + + * CodeGenerators.pri: + * features.pri: + +2011-04-12 Chris Fleizach + + Reviewed by Dan Bernstein. + + REGRESSION: WK2: misspelled AX attributes no longer returned from text fields + https://bugs.webkit.org/show_bug.cgi?id=58304 + + checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use + checkTextOfParagraph in order to retrieve misspelled ranges. + + Existing tests cover this functionality. + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (AXAttributeStringSetSpelling): + +2011-04-12 Sergio Villar Senin + + Reviewed by Martin Robinson. + + [GTK] Remove m_idleHandler from ResourceHandleSoup + https://bugs.webkit.org/show_bug.cgi?id=58319 + + The m_idleHandler attribute is no longer used in ResourceHandleSoup. + No new tests needed, no functionality change. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + +2011-04-12 Andrey Adaikin + + Reviewed by Yury Semikhatsky. + + Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace + https://bugs.webkit.org/show_bug.cgi?id=58314 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._lineNumberAfterEditing): + +2011-04-11 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: move shortcut handlers from SourceFrame to TextViewer. + https://bugs.webkit.org/show_bug.cgi?id=58238 + + Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.isContentEditable): + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype.commitEditing.didEditContent): + (WebInspector.SourceFrame.prototype.commitEditing): + (WebInspector.SourceFrame.prototype.cancelEditing): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._doubleClick): + (WebInspector.TextViewer.prototype._registerShortcuts): + (WebInspector.TextViewer.prototype._handleKeyDown): + (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing): + (WebInspector.TextViewer.prototype._commitEditing): + (WebInspector.TextViewer.prototype._cancelEditing): + (WebInspector.TextViewerDelegate.prototype.endEditing): + (WebInspector.TextViewerDelegate.prototype.commitEditing): + (WebInspector.TextViewerDelegate.prototype.cancelEditing): + +2011-04-12 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: cookies view is empty even for sites with cookies. + https://bugs.webkit.org/show_bug.cgi?id=58316 + + Test: http/tests/inspector/resource-tree-model.html + + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel.prototype._callForFrameResources): + +2011-04-11 Stephen White + + Reviewed by James Robinson. + + [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect. + https://bugs.webkit.org/show_bug.cgi?id=58258 + + When one accelerated canvas is drawn to another via drawImage(), if the + prior call in the source canvas was non-accelerated, the + hardware canvas is not up-to-date, and the results will be incorrect. + Fixed by calling prepareForHardwareDraw() on the source context. + + Test: fast/canvas/canvas-to-canvas.html + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::draw): + +2011-04-12 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI. + https://bugs.webkit.org/show_bug.cgi?id=58146 + + Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-comparison-show-all.html + inspector/profiler/detailed-heapshots-comparison-show-next.html + inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-comparison-sorting.html + inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-dominators-show-all.html + inspector/profiler/detailed-heapshots-dominators-show-next.html + inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-dominators-sorting.html + inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html + + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotDiffDataGrid): + +2011-04-12 Ilya Tikhonovsky + + Reviewed by Yury Semikhatsky. + + Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests. + https://bugs.webkit.org/show_bug.cgi?id=58305 + + It was 0 if the message is not a json object or it has no id property. But according to spec it must be null. + + * inspector/CodeGeneratorInspector.pm: + +2011-04-11 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1. + https://bugs.webkit.org/show_bug.cgi?id=58232 + + * WebCore.gypi: + +2011-04-12 Pavel Podivilov + + Reviewed by Pavel Feldman. + + Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked. + https://bugs.webkit.org/show_bug.cgi?id=58273 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.get visible): + (WebInspector.SourceFrame.prototype.set visible): + (WebInspector.SourceFrame.prototype.show): + (WebInspector.SourceFrame.prototype.hide): + (WebInspector.SourceFrame.prototype.detach): + (WebInspector.SourceFrame.prototype._ensureContentLoaded): + (WebInspector.SourceFrame.prototype.markDiff): + (WebInspector.SourceFrame.prototype.addMessage): + (WebInspector.SourceFrame.prototype.clearMessages): + (WebInspector.SourceFrame.prototype.get scrollTop): + (WebInspector.SourceFrame.prototype.set scrollTop): + (WebInspector.SourceFrame.prototype.highlightLine): + (WebInspector.SourceFrame.prototype._clearLineHighlight): + (WebInspector.SourceFrame.prototype._initializeTextViewer): + (WebInspector.SourceFrame.prototype.performSearch): + (WebInspector.SourceFrame.prototype.searchCanceled): + (WebInspector.SourceFrame.prototype._jumpToSearchResult): + (WebInspector.SourceFrame.prototype.setExecutionLine): + (WebInspector.SourceFrame.prototype.clearExecutionLine): + (WebInspector.SourceFrame.prototype.resize): + +2011-04-12 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: document runtime agent, share remote object definition between domains. + https://bugs.webkit.org/show_bug.cgi?id=58246 + + * inspector/Inspector.json: + +2011-04-12 Pavel Feldman + + Reviewed by Yury Semikhatsky. + + Web Inspector: document console domain, support cross-domain type references. + https://bugs.webkit.org/show_bug.cgi?id=58240 + + * inspector/ConsoleMessage.cpp: + (WebCore::messageSourceValue): + (WebCore::messageTypeValue): + (WebCore::messageLevelValue): + (WebCore::ConsoleMessage::addToFrontend): + * inspector/Inspector.json: + * inspector/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::buildInspectorObject): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded): + (WebInspector.ConsoleMessage): + (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): + (WebInspector.ConsoleMessage.prototype.isEqual): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): + * inspector/generate-inspector-idl: + * page/Console.h: + +2011-04-06 Philippe Normand + + Reviewed by Martin Robinson. + + [GStreamer] RTSP playback broken + https://bugs.webkit.org/show_bug.cgi?id=56930 + + Rely on {audio,video}-changed playbin2 signals instead of the + -tags-changed signals because some media don't provide tags and + then can trick the media-player to not paint video, for instance. + + Also trigger a video size calculation after the video sink + negotiated its caps. This is useful in the cases where + audio-changed signal is emitted but the video sink takes more time + to negociate caps with its peer. + + This patch also fixes the rtsp manual-test with a new stream url + which seems to be more permanent than the previous WWDC keynote + stream. + + * manual-tests/video-rtsp.html: + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateVideoChangedCallback): + (WebCore::mediaPlayerPrivateAudioChangedCallback): + (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback): + (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback): + (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): + (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): + (WebCore::MediaPlayerPrivateGStreamer::naturalSize): + (WebCore::MediaPlayerPrivateGStreamer::videoChanged): + (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): + (WebCore::MediaPlayerPrivateGStreamer::audioChanged): + (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): + (WebCore::MediaPlayerPrivateGStreamer::paint): + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2011-04-12 Vsevolod Vlasov + + Reviewed by Pavel Feldman. + + Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel. + https://bugs.webkit.org/show_bug.cgi?id=58135 + + Added statuses for failed/canceled resource loading. + + * English.lproj/localizedStrings.js: + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::didFailLoading): + * inspector/front-end/NetworkManager.js: + * inspector/front-end/NetworkPanel.js: + * inspector/front-end/Resource.js: + +2011-04-12 Steve Block + + Reviewed by Oliver Hunt. + + Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks + https://bugs.webkit.org/show_bug.cgi?id=40012 + + Covered by fast/dom/Geolocation/argument-types.html + + * bindings/js/CallbackFunction.cpp: + (WebCore::checkFunctionOnlyCallback): + +2011-04-07 Philippe Normand + + Reviewed by Martin Robinson. + + [GStreamer] report playback statistics + https://bugs.webkit.org/show_bug.cgi?id=58033 + + Provide media playback statistics using fpsdisplaysink and + position queries. + + * manual-tests/video-statistics.html: Added. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount): + (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount): + (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount): + (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount): + (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink): + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2011-04-11 Philippe Normand + + Reviewed by Martin Robinson. + + [GStreamer] warnings in media/video-set-rate-from-pause.html + https://bugs.webkit.org/show_bug.cgi?id=58220 + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the + pipeline if new rate is zero, like advised in the GStreamer + documentation of gst_event_new_seek(). + +2011-04-11 Vangelis Kokkevis + + Reviewed by James Robinson. + + [chromium] Properly invalidate the contents of ImageLayerChromium's + when the actual image contents change. + https://bugs.webkit.org/show_bug.cgi?id=58181 + + Test: compositing/images/content-image-change.html + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateTexture): + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::ImageLayerChromium): + (WebCore::ImageLayerChromium::setContents): + (WebCore::ImageLayerChromium::paintContentsIfDirty): + * platform/graphics/chromium/ImageLayerChromium.h: + +2011-04-11 Simon Fraser + + Reviewed by Dan Bernstein. + + -webkit-box-shadow:inset does not animate transform as an inset shadow + https://bugs.webkit.org/show_bug.cgi?id=45176 + + Two fixes: + 1. Don't run transitions between different shadow styles (normal vs. inset). + 2. When either source or destination is null, use a default shadow with a + matching style so that the transition runs. + + Test: transitions/mismatched-shadow-styles.html + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): + (WebCore::PropertyWrapperShadow::blend): + +2011-04-11 John Bates + + Reviewed by Kenneth Russell. + + chromium support for glSetLatch and glWaitLatch between 3D contexts + https://bugs.webkit.org/show_bug.cgi?id=58003 + + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): + (WebCore::Canvas2DLayerChromium::setDrawingBuffer): + (WebCore::Canvas2DLayerChromium::setLayerRenderer): + * platform/graphics/chromium/Canvas2DLayerChromium.h: + * platform/graphics/chromium/Extensions3DChromium.h: + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::Cubic::Cubic): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::updateAndDrawLayers): + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::addChildContext): + (WebCore::LayerRendererChromium::removeChildContext): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::~WebGLLayerChromium): + (WebCore::WebGLLayerChromium::updateCompositorResources): + (WebCore::WebGLLayerChromium::setContext): + (WebCore::WebGLLayerChromium::setLayerRenderer): + * platform/graphics/chromium/WebGLLayerChromium.h: + +2011-04-11 Alexey Marinichev + + Reviewed by James Robinson. + + LayerChromium/CCLayerImpl ownership fix + https://bugs.webkit.org/show_bug.cgi?id=58283 + + CCLayerImpl's m_owner field lifetime should match the lifetime of the + corresponding LayerChromium. This change moves resetting of m_owner + into LayerChromium's destructor. + + Tested similarly to bug 57577. + + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::~LayerChromium): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::cleanupResources): + * platform/graphics/chromium/cc/CCLayerImpl.h: + (WebCore::CCLayerImpl::resetOwner): + +2011-04-11 Daniel Bates + + Attempt to fix the GTK build after changeset 83527 + (https://bugs.webkit.org/show_bug.cgi?id=53556). + + * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources. + +2011-04-11 Brady Eidson + + Reviewed by Maciej Stachowiak. + + and https://bugs.webkit.org/show_bug.cgi?id=58072 + URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history + + Test: fast/loader/stateobjects/state-url-sets-links-visited.html + + * loader/HistoryController.cpp: + (WebCore::HistoryController::pushState): Notify the history client and add the visited link. + (WebCore::HistoryController::replaceState): Ditto. + +2011-04-11 Dimitri Glazkov + + Reviewed by Eric Carlson. + + Rename MediaControls to MediaControlRootElement. + https://bugs.webkit.org/show_bug.cgi?id=58250 + + Mechanical move using do-webcore-rename. + +2011-04-11 Dean Jackson + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=58285 + CompositeAnimation is cleared while an AnimationBase is waiting for notification + + Occasionally hardware animations would trigger a state where + they would tell the AnimationControllerPrivate that it should notify + any waiting animations that they are ready to start, even though + the RenderObject had gone away and hence the CompositeAnimation + had been destroyed. The fix is to zero the pointer from AnimationBase + when the CompositeAnimation destructor runs (or its animations are + cleared) and test the validity of the CompositeAnimation before it + is used in AnimationBase. + + * page/animation/AnimationBase.cpp: + (WebCore::AnimationBase::updateStateMachine): + (WebCore::AnimationBase::fireAnimationEventsIfNeeded): + (WebCore::AnimationBase::updatePlayState): + (WebCore::AnimationBase::freezeAtTime): + (WebCore::AnimationBase::beginAnimationUpdateTime): + - test that the CompositeAnimation exists + * page/animation/AnimationBase.h: + (WebCore::AnimationBase::clear): + - rename clearRenderer() to clear() as it now also clears the CompositeAnimation + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + - call clear() rather than clearRenderer() + +2011-04-11 Justin Novosad + + Reviewed by Kenneth Russell. + + [Chromium] Text anti-aliasing fails when rendering text with shadow + https://bugs.webkit.org/show_bug.cgi?id=57584 + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::drawGlyphsWin): new static function, code factored-out + from WebCore::Font::drawGlyphs + (WebCore::Font::drawGlyphs): may separate font rendering into two + passes to allow foreground glyphs to be rendered with GDI when Skia + is required for rendering shadows + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleDrawTextShadow): + Modified method so that it does not assume a shadow is present, and + returns true if there is no shadow (GDI can draw 'no shadow') + (WebCore::windowsCanHandleTextDrawing): + Factored out into sub methods so that the the shadow and foregound + glyph properties can be tested separately independently. + (WebCore::windowsCanHandleTextDrawingWithoutShadow): + New method returns true if the foreground glyph only has effect + that can be draw with GDI + (WebCore::paintSkiaText): + * platform/graphics/skia/SkiaFontWin.h: + +2011-04-11 Ryosuke Niwa + + Unreviewed, rolling out r83515. + http://trac.webkit.org/changeset/83515 + https://bugs.webkit.org/show_bug.cgi?id=57178 + + Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp. + + * rendering/InlineBox.cpp: + (WebCore::InlineBox::nextOnLineExists): + (WebCore::InlineBox::prevOnLineExists): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + +2011-04-11 Brady Eidson + + Reverting, seeing something else still broken. Sorry. + + * html/HTMLTrackElement.cpp: + +2011-04-11 Brady Eidson + + Fix the build. + + * html/HTMLTrackElement.cpp: Case-sensitive, please. + +2011-04-11 Alexis Menard + + Unreviewed build fix for Mac. + + An idl file was added in the wrong place. + + * WebCore.xcodeproj/project.pbxproj: + +2011-04-11 Chris Marrin + + Rubberstamped by Dan Bernstein. + + xhr.responseType = 'arraybuffer' works on Mac but not on Windows + https://bugs.webkit.org/show_bug.cgi?id=50334 + + Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends + are always turned on now, so there's not need for the guard. I reenabled the + test that was Skipped on Windows and it works now. + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::markChildren): + (WebCore::JSXMLHttpRequest::send): + (WebCore::JSXMLHttpRequest::response): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::responseArrayBuffer): + (WebCore::XMLHttpRequest::setResponseType): + (WebCore::XMLHttpRequest::send): + (WebCore::XMLHttpRequest::clearResponseBuffers): + (WebCore::XMLHttpRequest::didReceiveData): + * xml/XMLHttpRequest.h: + (WebCore::XMLHttpRequest::optionalResponseArrayBuffer): + +2011-04-11 Anna Cavender + + Reviewed by Eric Carlson. + + Setup ENABLE(TRACK) feature define + initial HTMLTrackElement + https://bugs.webkit.org/show_bug.cgi?id=53556 + + No new tests. No real functionality added just yet. + + * CMakeLists.txt: + * CodeGenerators.pri: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * GNUmakefile.list.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * features.pri: + * html/HTMLAttributeNames.in: + * html/HTMLTagNames.in: + * html/HTMLTrackElement.cpp: Added. + (WebCore::HTMLTrackElement::HTMLTrackElement): + (WebCore::HTMLTrackElement::create): + (WebCore::HTMLTrackElement::insertedIntoTree): + (WebCore::HTMLTrackElement::willRemove): + (WebCore::HTMLTrackElement::src): + (WebCore::HTMLTrackElement::setSrc): + (WebCore::HTMLTrackElement::kind): + (WebCore::HTMLTrackElement::setKind): + (WebCore::HTMLTrackElement::srclang): + (WebCore::HTMLTrackElement::setSrclang): + (WebCore::HTMLTrackElement::label): + (WebCore::HTMLTrackElement::setLabel): + (WebCore::HTMLTrackElement::isDefault): + (WebCore::HTMLTrackElement::setIsDefault): + (WebCore::HTMLTrackElement::isURLAttribute): + * html/HTMLTrackElement.h: Added. + * html/HTMLTrackElement.idl: Added. + +2011-04-11 Ben Taylor + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=57535 + + Better compile fix for Solaris 10/Sun Studio 12 CC + needing + + * loader/icon/IconRecord.h: + * page/Page.h: + * platform/network/ResourceResponseBase.h: + +2011-04-11 Alexey Proskuryakov + + Reviewed by Maciej Stachowiak. + + WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut + https://bugs.webkit.org/show_bug.cgi?id=58265 + + + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace. + (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for + other modifiers - no one wants to scroll on Ctrl+Alt+Space and such. + (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace + goes forward. All browsers do it. + (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called + for a correct event. + (WebCore::EventHandler::defaultTabEventHandler): Ditto. + + * page/EventHandler.h: Added defaultBackspaceEventHandler. + +2011-04-11 Matthew Delaney + + Reviewed by Dan Bernstein. + + [CG] drawImage with a subimage bleeds pixel data at borders + https://bugs.webkit.org/show_bug.cgi?id=58267 + + Test: fast/canvas/DrawImageSinglePixelStretch.html + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now. + +2011-04-11 Chris Marrin + + Reviewed by Simon Fraser. + + iframe/compositing propagation should also work for and framesets + https://bugs.webkit.org/show_bug.cgi?id=39037 + + Generalized the code that handles the parenting of composited