diff options
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r-- | Source/WebCore/ChangeLog | 16523 |
1 files changed, 16483 insertions, 40 deletions
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 <enne@google.com> + + 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 <psolanki@apple.com> + + 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 <rniwa@webkit.org> + + 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 <ggaren@apple.com> + + Try to fix v8 build. + + * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system. + +2011-04-19 Enrica Casucci <enrica@apple.com> + + Reviewed by Ryosuke Niwa. + + REGRESSION(r55762): Highlight color can't be copied in gmail. + https://bugs.webkit.org/show_bug.cgi?id=58925 + <rdar://problem/9253057> + + 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 <ggaren@apple.com> + + 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 <piman@chromium.org> + + 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 <mitz@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/9271848> 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 <bdakin@apple.com> + + 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- + <rdar://problem/9226652> + + 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 <reni@webkit.org> + + 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 <oliver@apple.com> + + 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 <ddkilzer@apple.com> + + <http://webkit.org/b/57867> 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 <simon.fraser@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <senorblanco@chromium.org> + + 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 <simon.fraser@apple.com> + + 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 <rniwa@webkit.org> + + 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 <jshin@chromium.org> + + 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 <bfulgham@webkit.org> + + 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 <vsevik@chromium.org> + + 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 <senorblanco@chromium.org> + + 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 <bsalomon@google.com> + + 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 <ossy@webkit.org> + + [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 <webkit.review.bot@gmail.com> + + 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 <kinuko@chromium.org> + + Not reviewed; windows build fix attempt. + + * storage/StorageInfo.cpp: + (WebCore::StorageInfo::~StorageInfo): + * storage/StorageInfo.h: + +2011-04-19 Kinuko Yasuda <kinuko@chromium.org> + + 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 <johnnyg@google.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <aandrey@google.com> + + 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 <hans@chromium.org> + + 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 <zherczeg@webkit.org> + + 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 <dbates@webkit.org> + + Attempt to fix the Qt Linux Release Minimal build after changeset 84225 + <http://trac.webkit.org/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 <dominicc@chromium.org> + + 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 <develop@tzik.jp> + + 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 <sjl@chromium.org> + + 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 <pascal.massimino@gmail.com> + + 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 <dbates@rim.com> + + 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 <jonlee@apple.com> + + 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 + <rdar://problem/9048012> + + * 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 <jonlee@apple.com> + + 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 + <rdar://problem/9292680> + + * 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 <jbauman@chromium.org> + + 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 <jberlin@apple.com> + + 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 <ggaren@apple.com> + + Build fix. + + Added back missing #include. + + * bindings/js/DOMWrapperWorld.cpp: + +2011-04-18 Enrica Casucci <enrica@apple.com> + + 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 + <rdar://problem/8514409> + + 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 <ggaren@apple.com> + + Discovered and rubber-stamped by Stephanie Lewis. + + Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990> + + * 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 <ggaren@apple.com> + + 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 <jberlin@apple.com> + + 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 <robert@webkit.org> + + 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 <oliver@apple.com> + + 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 <oliver@apple.com> + + 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 <mdelaney@apple.com> + + 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 <jeffm@apple.com> + + 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 <scherkus@chromium.org> + + 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 <mitz@apple.com> + + Reviewed by Eric Seidel. + + <rdar://problem/9282486> 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 <senorblanco@chromium.org> + + 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 <pfeldman@google.com> + + 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 <timothy@apple.com> + + 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 <morrita@google.com> + + Reviewed by Adam Barth. + + REGRESSION: <progress> 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 <morrita@google.com> + + 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 <antti@apple.com> + + Reviewed by Simon Fraser. + + CSSSelector double frees + https://bugs.webkit.org/show_bug.cgi?id=56124 + <rdar://problem/9119036> + + 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 <apavlov@chromium.org> + + 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 <hans@chromium.org> + + 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 <pfeldman@google.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <adam.bergkvist@ericsson.com> + + 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 <webkit.review.bot@gmail.com> + + 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 <apavlov@chromium.org> + + 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 <cgarcia@igalia.com> + + Unreviewed. Fix WebKit2 GTK build after 82465. + + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::localizedString): + +2011-04-18 Andrey Adaikin <aandrey@google.com> + + 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 <apavlov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <yurys@chromium.org> + + 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 <thierry.reding@avionic-design.de> + + 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 <ddkilzer@apple.com> + + <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting + <rdar://problem/9268729> + + 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 <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + REGRESSION (r84096): <br> 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 <paroga@webkit.org> + + Unreviewed. Add missing include to fix build without precompiled header. + + * rendering/RenderMediaControls.cpp: + +2011-04-17 Daniel Bates <dbates@webkit.org> + + Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/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 <paroga@webkit.org> + + 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 <gavinp@chromium.org> + + 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 <mitz@apple.com> + + Reviewed by Joseph Pecoraro. + + <rdar://problem/9296211> 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 <ggaren@apple.com> + + 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 <paroga@webkit.org> + + 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 <joybro@company100.net> + + 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 <kinuko@chromium.org> + + Not reviewed: Fix copyright (I had submitted the file with wrong + copyright line). + + * storage/StorageInfo.idl: + +2011-04-17 Patrick Gansterer <paroga@webkit.org> + + 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 <abarth@webkit.org> + + 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 <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/9190108> 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 <sam@webkit.org> + + 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 <leoyang.webkit@gmail.com> + + Reviewed by Nikolas Zimmermann. + + ASSERT failure when svg <use> 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 <use> 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 <paroga@webkit.org> + + 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 <paroga@webkit.org> + + Unreviewed WinCE build fix for r84033. + + * platform/win/LocalizedStringsWin.cpp: + (WebCore::localizedString): + +2011-04-16 Abhishek Arya <inferno@chromium.org> + + 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 <loislo@chromium.org> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <shishir@chromium.org> + + 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 <fridrich.strba@bluewin.ch> + + 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 <morrita@google.com> + + 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 <crogers@google.com> + + 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 <fridrich.strba@bluewin.ch> + + 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 <vsevik@chromium.org> + + 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 <fridrich.strba@bluewin.ch> + + 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 <luiz.agostini@openbossa.org> + + 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 <eae@chromium.org> + + 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 <kinuko@chromium.org> + + 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 <oliver@apple.com> + + 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 <jberlin@apple.com> + + 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 <rolandsteiner@chromium.org> + + 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 <ggaren@apple.com> + + 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 <kbr@google.com> + + 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 <bfulgham@webkit.org> + + 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 <andersca@apple.com> + + 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 <morrita@google.com> + + 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 <summary>, 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 + <summary>, and the clickable area is now <summary> 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 <sam@webkit.org> + + 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 <ggaren@apple.com> + + 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 <kling@webkit.org> + + Rolling out accidental part of r84010. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::setButtonPadding): + +2011-04-15 Oliver Hunt <oliver@apple.com> + + Forgot windows build fix. + + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): + +2011-04-15 Joseph Pecoraro <joepeck@webkit.org> + + 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 <joepeck@webkit.org> + + 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 <oliver@apple.com> + + 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 <luiz.agostini@openbossa.org> + + 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 <ap@apple.com> + + Chromium build fix. + + * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists. + +2011-04-15 Mike Reed <reed@google.com> + + 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 <simon.fraser@apple.com> + + 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 <ap@apple.com> + + Reviewed by Dan Bernstein. + + WebKit2: Password field input does not switch to ASCII-compatible source + https://bugs.webkit.org/show_bug.cgi?id=58583 + <rdar://problem/9059651> + + * 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 <xji@chromium.org> + + 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 <zmo@google.com> + + 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 <morrita@google.com> + + 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 <ggaren@apple.com> + + 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 <canvas> + doesn't have a direct JS wrapper, other JS references can still keep + the <canvas> alive. So, it's probably best always to report extra cost. + +2011-04-15 Vsevolod Vlasov <vsevik@chromium.org> + + 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 <macpherson@chromium.org> + + 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 <sam@webkit.org> + + 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 <vsevik@chromium.org> + + 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 <aandrey@google.com> + + 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 <sergeyvorobyev@google.com> + + 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 <alexis.menard@openbossa.org> + + 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 <zelidrag@chromium.org> + + 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 <pfeldman@google.com> + + 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 <apavlov@chromium.org> + + 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 <aboxhall@chromium.org> + + Reviewed by Ryosuke Niwa. + + Text selection changes unexpectedly when dragging out of the <input> + 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 <aroben@apple.com> + + Roll out r83954 + + It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple + bots. + + See <http://webkit.org/b/58610>. + + * 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 <pfeldman@google.com> + + 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 <caseq@chromium.org> + + 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 <bentaylor.solx86@gmail.com> + + 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 <abarth@webkit.org> + + 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 <abarth@webkit.org> + + 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 <annacc@chromium.org> + + 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 <aandrey@google.com> + + 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 <vsevik@chromium.org> + + 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 <junov@chromium.org> + + 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 <joone.hur@collabora.co.uk> + + 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 <nduca@chromium.org> + + 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 <bdakin@apple.com> + + 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- + <rdar://problem/9241920> + + Speculative fix: Page could definitely be null here. + * page/FrameView.cpp: + (WebCore::FrameView::scrollbarStyleChanged): + +2011-04-14 Vsevolod Vlasov <vsevik@chromium.org> + + 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 <alokp@chromium.org> + + 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 <eric@webkit.org> + + 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 <fischman@google.com> + + 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 <ggaren@apple.com> + + 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 <reed@google.com> + + 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 <vsevik@chromium.org> + + 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 <joone.hur@collabora.co.uk> + + 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<cairo_surface_t> instead of raw pointer. + (WebCore::purgeScratchBuffer): + (WebCore::getScratchBuffer): + * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer. + (copySurface): + +2011-04-14 Naoki Takano <takano.naoki@gmail.com> + + 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 <macpherson@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <enne@google.com> + + 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 <jamesr@chromium.org> + + 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 <levin@chromium.org> + + 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 <dimich@chromium.org> + + 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 <bdakin@apple.com> + + 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- + <rdar://problem/9112688> + + 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 <antti@apple.com> + + 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 + <rdar://problem/9232183> + + 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 <kbr@google.com> + + 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 <ragner.magalhaes@openbossa.org> + + 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 <enne@google.com> + + 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 <aestes@apple.com> + + 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 <mdelaney@apple.com> + + 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 <jamesr@chromium.org> + + 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 <jianli@chromium.org> + + 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 <abarth@webkit.org> + + 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 <psolanki@apple.com> + + 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 <kbr@google.com> + + 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 <yurys@chromium.org> + + 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 <jianli@chromium.org> + + 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 <kling@webkit.org> + + 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 <kevino@theolliviers.com> + + [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 <andersca@apple.com> + + Fix build. + + RuntimeApplicationChecks.h needs to be a private header so WebKit can find it. + + * WebCore.xcodeproj/project.pbxproj: + +2011-04-14 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, build fix for r83864. + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._childNodeRemoved): + +2011-04-14 Alexander Pavlov <apavlov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <satish@chromium.org> + + 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 <loislo@chromium.org> + + 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 <dglazkov@chromium.org> + + 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 <rectalogic@rectalogic.com> + + 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 <caseq@chromium.org> + + 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 <mnaganov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <apavlov@chromium.org> + + 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 <alexis.menard@openbossa.org> + + 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 <diegohcg@webkit.org> + + 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 <pfeldman@google.com> + + 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 <pfeldman@google.com> + + 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 <loislo@chromium.org> + + 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 <zherczeg@inf.u-szeged.hu> + + 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 <alexis.menard@openbossa.org> + + 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 <andreas.kling@nokia.com> + + 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 <nancy.piedra@nokia.com> + + 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 <zherczeg@webkit.org> + + 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 <jarkko.j.sakkinen@gmail.com> + + 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 <aestes@apple.com> + + 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 <jbates@google.com> + + 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 <reni@webkit.org> + + 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 <jamesr@chromium.org> + + 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 <caryclark@chromium.org> + + 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 <rolandsteiner@chromium.org> + + 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 <jonlee@apple.com> + + 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 + <rdar://problem/9246149> + + * 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 <yael.aharon@nokia.com> + + 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 <caryclark@google.com> + + 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 <alexis.menard@openbossa.org> + + 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 <inferno@chromium.org> + + 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 <tkent@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <ryuan.choi@samsung.com> + + 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 <noel.gordon@gmail.com> + + 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 <luiz.agostini@openbossa.org> + + 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 <rolandsteiner@chromium.org> + + Reviewed by David Hyatt. + + Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> 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 <mdelaney@apple.com> + + 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 <simon.fraser@apple.com> + + 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 <alexis.menard@openbossa.org> + + 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 <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T> + 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 <sam@webkit.org> + + Fix Mac builds. + + * WebCore.exp.in: + +2011-04-13 Sam Weinig <sam@webkit.org> + + Reviewed by Gavin Barraclough. + + WebKit2 doesn't keep overlay scrollers shown while scroll gesture held + <rdar://problem/9260518> + + 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 <eric.carlson@apple.com> + + Reviewed by Maciej Stachowiak. + + MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:] + https://bugs.webkit.org/show_bug.cgi?id=58451 + <rdar://problem/9278468> + + 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 <eric.carlson@apple.com> + + 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 <zmo@google.com> + + 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 <oliver@apple.com> + + 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 <podivilov@chromium.org> + + 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 <msanchez@igalia.com> + + 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 <msanchez@igalia.com> + + 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 <thierry.reding@avionic-design.de> + + 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 <pnormand@igalia.com> + + 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 <loislo@chromium.org> + + 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 <bentaylor.solx86@gmail.com> + + 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 <bsalomon@google.com> + + 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 <caseq@chromium.org> + + 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 <kinuko@chromium.org> + + 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 <gns@gnome.org> + + 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 <aandrey@google.com> + + 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 <pfeldman@chromium.org> + + 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 <pfeldman@chromium.org> + + Not reviewed: revert Inspector.json change for breaking world. + + * inspector/Inspector.json: + +2011-04-13 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed: swap methods in the Inspector.json. + + * inspector/Inspector.json: + +2011-04-13 Csaba Osztrogonác <ossy@webkit.org> + + 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 <podivilov@chromium.org> + + 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 <mnaganov@chromium.org> + + 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 <apavlov@chromium.org> + + 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 <pfeldman@google.com> + + 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 <podivilov@chromium.org> + + 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 <nzimmermann@rim.com> + + 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 <pfeldman@google.com> + + 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 <pfeldman@google.com> + + 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 <macpherson@chromium.org> + + 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 <serg.glazunov@gmail.com> + + 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 <mikelawther@chromium.org> + + 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 <luiz.agostini@openbossa.org> + + 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 <vangelis@chromium.org> + + 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 <luiz.agostini@openbossa.org> + + 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 <bashi@chromium.org> + + 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 <diegohcg@webkit.org> + + 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 <ananta@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <alexis.menard@openbossa.org> + + Unreviewed warning fix. + + MediaControlElements has been moved to html/shadow. + + * WebCore.pro: + +2011-04-12 Yael Aharon <yael.aharon@nokia.com> + + 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 <eric.carlson@apple.com> + + 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 <enne@google.com> + + 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 <ossy@webkit.org> + + 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 <sam@webkit.org> + + Reviewed by Simon Fraser. + + Frames prevent scrolling containing page + <rdar://problem/8990409> + https://bugs.webkit.org/show_bug.cgi?id=58392 + + Also fixes: + Should rubber-band on pages with no scrollbars + <rdar://problem/9034280> + + * 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 <ggaren@apple.com> + + 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 <slewis@apple.com> + + 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 <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Apple movie trailers play only audio + https://bugs.webkit.org/show_bug.cgi?id=58339 + <rdar://problem/9237606> + + 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 <jianli@chromium.org> + + 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 <enrica@apple.com> + + 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 + <rdar://problem/9042197> + + * WebCore.exp.in: Added new exported method. + +2011-04-12 Geoffrey Garen <ggaren@apple.com> + + 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 <luiz.agostini@openbossa.org> + + 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 <jer.noble@apple.com> + + 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 <cmarrin@apple.com> + + 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 <alokp@chromium.org> + + 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 <slewis@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=58280 + <rdar://problem/9252824> 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 <abarth@webkit.org> + + 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 <rniwa@webkit.org> + + 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 <yael.aharon@nokia.com> + + 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 <ggaren@apple.com> + + 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 <dglazkov@chromium.org> + + 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 <luiz.agostini@openbossa.org> + + 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 <hyatt@apple.com> + + 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 <alice.liu@apple.com> + + 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 <rniwa@webkit.org> + + 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 <diegohcg@webkit.org> + + 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 <inferno@chromium.org> + + 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 <cfleizach@apple.com> + + 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 <msanchez@igalia.com> + + Unreviewed. Added missing files to GNUmakefile.list.am. + + * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp]. + +2011-04-12 Cris Neckar <cdn@chromium.org> + + 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 <msanchez@igalia.com> + + 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 <pfeldman@google.com> + + 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 <dglazkov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <pnormand@igalia.com> + + 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 <pnormand@igalia.com> + + 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 <morrita@google.com> + + 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 <ossy@webkit.org> + + 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 <cfleizach@apple.com> + + 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 <svillar@igalia.com> + + 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 <aandrey@google.com> + + 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 <podivilov@chromium.org> + + 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 <pfeldman@google.com> + + 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 <senorblanco@chromium.org> + + 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 <mnaganov@chromium.org> + + 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 <loislo@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <podivilov@chromium.org> + + 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 <pfeldman@google.com> + + 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 <pfeldman@google.com> + + 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 <pnormand@igalia.com> + + 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 <vsevik@chromium.org> + + 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 <steveblock@google.com> + + 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 <pnormand@igalia.com> + + 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 <pnormand@igalia.com> + + 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 <vangelis@chromium.org> + + 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 <simon.fraser@apple.com> + + 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 <jbates@google.com> + + 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 <amarinichev@chromium.org> + + 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 <dbates@rim.com> + + Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/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 <beidson@apple.com> + + Reviewed by Maciej Stachowiak. + + <rdar://problem/9251515> 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 <dglazkov@chromium.org> + + 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 <dino@apple.com> + + 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 <junov@chromium.org> + + 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 <rniwa@webkit.org> + + 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 <beidson@apple.com> + + Reverting, seeing something else still broken. Sorry. + + * html/HTMLTrackElement.cpp: + +2011-04-11 Brady Eidson <beidson@apple.com> + + Fix the build. + + * html/HTMLTrackElement.cpp: Case-sensitive, please. + +2011-04-11 Alexis Menard <alexis.menard@openbossa.org> + + Unreviewed build fix for Mac. + + An idl file was added in the wrong place. + + * WebCore.xcodeproj/project.pbxproj: + +2011-04-11 Chris Marrin <cmarrin@apple.com> + + 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 <annacc@chromium.org> + + 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 <bentaylor.solx86@gmail.com> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=57535 + + Better compile fix for Solaris 10/Sun Studio 12 CC + needing <sys/time.h> + + * loader/icon/IconRecord.h: + * page/Page.h: + * platform/network/ResourceResponseBase.h: + +2011-04-11 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Maciej Stachowiak. + + WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut + https://bugs.webkit.org/show_bug.cgi?id=58265 + <rdar://problem/9221468> + + * 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 <mdelaney@apple.com> + + 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 <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + iframe/compositing propagation should also work for <object> and framesets + https://bugs.webkit.org/show_bug.cgi?id=39037 + + Generalized the code that handles the parenting of composited <iframe> elements + to include <frame> and <object> elements. This includes forcing the parent + element to be composited and constructing the layer tree in the child document + and properly parenting it. Much of the change is giving the function calls more + generic names (from ...IFrame... to ...Frame...) + + Compositing tests that were done in RenderIFrame have been moved to RenderPart + since this is the highest base class common to all 3 elements. + + I also renamed several ...IFrame... functions to + ...Frame... and changed them so they work on a RenderPart for determining + if the renderer is composited. One other detail is that <iframe> and + <object> never share style since they might be composited. I had to add + <frame> to that list. + + Tests: compositing/framesets/composited-frame-alignment.html + compositing/objects/composited-object-alignment.html + + * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited. + (WebCore::CSSStyleSelector::canShareStyleWithElement): + * page/FrameView.cpp: + (WebCore::FrameView::hasCompositedContentIncludingDescendants): + (WebCore::FrameView::setIsOverlapped): + * rendering/RenderIFrame.cpp: Moved methods to RenderPart + * rendering/RenderIFrame.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateAfterWidgetResize): + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + (WebCore::RenderLayerBacking::paintingGoesToWindow): + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateBacking): + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + (WebCore::RenderLayerCompositor::frameContentsCompositor): + (WebCore::RenderLayerCompositor::parentFrameContentLayers): + (WebCore::RenderLayerCompositor::didMoveOnscreen): + (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): + (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): + (WebCore::RenderLayerCompositor::enclosingFrameElement): + (WebCore::RenderLayerCompositor::requiresCompositingLayer): + (WebCore::RenderLayerCompositor::requiresCompositingForFrame): + (WebCore::RenderLayerCompositor::requiresScrollLayer): + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + (WebCore::RenderLayerCompositor::attachRootPlatformLayer): + (WebCore::RenderLayerCompositor::detachRootPlatformLayer): + * rendering/RenderLayerCompositor.h: + * rendering/RenderPart.cpp: Functions moved from RenderIFrame + (WebCore::RenderPart::requiresLayer): + (WebCore::RenderPart::requiresAcceleratedCompositing): + * rendering/RenderPart.h: + +2011-04-11 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Eric Seidel. + + InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed + https://bugs.webkit.org/show_bug.cgi?id=57178 + + Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore. + No new tests needed because this is cleanup only. + + * rendering/InlineBox.cpp: + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + (WebCore::InlineBox::setPrevOnLine): + +2011-04-11 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=58261 + + Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over + to the new overflow model, I messed up the math and passed a bottom value where I should have + passed a height value. This patch fixes the code to be logically equivalent to the way it + was prior to my changes. + + Added fast/overflow/trailing-float-linebox.html. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + +2011-04-11 Adrienne Walker <enne@google.com> + + Unreviewed, rolling out r83500. + http://trac.webkit.org/changeset/83500 + https://bugs.webkit.org/show_bug.cgi?id=57113 + + Regresses huge-layer-rotated test + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::ContentLayerChromium): + (WebCore::ContentLayerChromium::~ContentLayerChromium): + (WebCore::ContentLayerChromium::cleanupResources): + (WebCore::ContentLayerChromium::requiresClippedUpdateRect): + (WebCore::ContentLayerChromium::paintContentsIfDirty): + (WebCore::ContentLayerChromium::resizeUploadBuffer): + (WebCore::ContentLayerChromium::updateTextureIfNeeded): + (WebCore::ContentLayerChromium::updateTexture): + (WebCore::ContentLayerChromium::draw): + (WebCore::ContentLayerChromium::updateCompositorResources): + (WebCore::ContentLayerChromium::unreserveContentsTexture): + (WebCore::ContentLayerChromium::bindContentsTexture): + (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::updateTextureIfNeeded): + * platform/graphics/chromium/ImageLayerChromium.h: + * platform/graphics/chromium/LayerChromium.h: + (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: + (WebCore::LayerRendererChromium::contentLayerProgram): + * platform/graphics/chromium/LayerTilerChromium.cpp: + (WebCore::LayerTilerChromium::invalidateRect): + (WebCore::LayerTilerChromium::update): + (WebCore::LayerTilerChromium::updateFromPixels): + (WebCore::LayerTilerChromium::draw): + * platform/graphics/chromium/LayerTilerChromium.h: + * 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-11 Jon Honeycutt <jhoneycutt@apple.com> + + <rdar://problem/9267042> Assertion failure on launch in + LayerChangesFlusher::setHook(). + + https://bugs.webkit.org/show_bug.cgi?id=58270 + + Reviewed by Adam Roben. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: + (WebCore::LayerChangesFlusher::setHook): + MSDN says that the HINSTANCE passed in must be null if the thread ID + passed is a thread created by this process and the hook procedure is + within this process. + +2011-04-11 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + Changeset 83492 broke Leopard build. + https://bugs.webkit.org/show_bug.cgi?id=58268 + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToWord): + +2011-03-25 Adrienne Walker <enne@google.com> + + 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::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-11 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Simon Fraser. + + Ignore context change callbacks when not on the main thread + https://bugs.webkit.org/show_bug.cgi?id=58256 + <rdar://problem/9266090> + + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: + (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called + on the main thread. This should only happen when no changes have actually + been committed to the context, eg. when a video frame has been added to an image + queue, so return without triggering animations etc. + +2011-04-11 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Dmitry Titov. + + [chromium] Implement image/png support in DataTransferItems + https://bugs.webkit.org/show_bug.cgi?id=58106 + + This patch implements DataTransferItem::getAsFile() using Blobs. In + addition, plumbing for image/png has been added so image paste will be + supported as long as the renderer makes that data available. + + Tests: editing/pasteboard/data-transfer-items-image-png.html + + * dom/DataTransferItem.h: + * dom/DataTransferItem.idl: + * platform/chromium/ClipboardMimeTypes.cpp: + * platform/chromium/ClipboardMimeTypes.h: + * platform/chromium/DataTransferItemChromium.cpp: + (WebCore::DataTransferItemChromium::getAsString): + (WebCore::DataTransferItemChromium::getAsFile): + * platform/chromium/DataTransferItemChromium.h: + * platform/chromium/PlatformBridge.h: + +2011-04-11 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + [Gtk] Implement support for Embedded Objects + https://bugs.webkit.org/show_bug.cgi?id=52148 + + Expose special OBJECT character for replaced elements, implementing + AtkText and AtkHyperlink when required. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::textIteratorBehaviorForTextRange): New helper function, + to return the right behavior, depending on the platform, so it + ensures that object replacement characters get emitted for GTK. + (WebCore::AccessibilityRenderObject::textUnderElement): Use the + new helper function textIteratorBehaviorForTextRange. + (WebCore::AccessibilityRenderObject::stringValue): Ditto. + (WebCore::AccessibilityRenderObject::indexForVisiblePosition): + Consider replaced elements when calculating range length in GTK. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (textForRenderer): Ouput the 'object replacement character' for + replaced objects. + (getSelectionOffsetsForObject): Consider replaced elements when + calculating range length in GTK. + (webkitAccessibleHypertextGetLink): Remove wrong extra check that + were causing only links to be considered. + (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()' + check with the right one, by checking that the right ATK interface + is being implemented by the AtkObject. + (getInterfaceMaskFromObject): Implement the Hyperlink interface + both for links and replaced objects. + (objectAndOffsetUnignored): Consider replaced elements when + calculating range length in GTK. + + * accessibility/gtk/WebKitAccessibleHyperlink.cpp: + (getRangeLengthForObject): Ensure spaces are used for replaced + elements when calling to TextIterator::rangeLength(). + + * editing/TextIterator.h: New value in the TextIteratorBehavior + enumeration (TextIteratorEmitsObjectReplacementCharacters) and new + private variable to consider that new option internally. + * editing/TextIterator.cpp: + (WebCore::TextIterator::TextIterator): Initialize the new private + attribute m_emitsObjectReplacementCharacters in constructors. + (WebCore::TextIterator::handleReplacedElement): Emit the 'object + replacement character' when m_emitsObjectReplacementCharacters. + +2011-04-11 Jia Pu <jpu@apple.com> + + Reviewed by Adele Peterson. + + Shouldn't carry out autocorrection when start typing a new word + https://bugs.webkit.org/show_bug.cgi?id=58241 + <rdar://problem/9264736> + + Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html + platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html + + In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord() + only when the typing command is an insertion command, and preceding word contains at least one non-whitespace + character. + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToWord): + * editing/Editor.h: + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::markMisspellingsAfterTyping): + +2011-04-11 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + PerformanceTiming returns inconsistent values when timing is null. + https://bugs.webkit.org/show_bug.cgi?id=58143 + + Made PerformanceTiming returned values consistent when there is no timing object. + + * page/PerformanceTiming.cpp: + (WebCore::PerformanceTiming::domainLookupStart): + (WebCore::PerformanceTiming::domainLookupEnd): + (WebCore::PerformanceTiming::connectStart): + (WebCore::PerformanceTiming::connectEnd): + (WebCore::PerformanceTiming::requestStart): + (WebCore::PerformanceTiming::responseStart): + (WebCore::PerformanceTiming::domLoading): + +2011-04-05 Stephen White <senorblanco@chromium.org> + + Fix for jittering when animating a rotated image. + https://bugs.webkit.org/show_bug.cgi?id=50775 + + Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): + +2011-04-06 Xiaomei Ji <xji@chromium.org> + + Reviewed by Ryosuke Niwa. + + Continue experiment with moving caret by word in visual order. + https://bugs.webkit.org/show_bug.cgi?id=57806 + + This is the 2nd patch, which adds implementation when caret is inside box + (not at boundaries). If the word break is inside the same box and not at the boundaries + either, the word break will be returned. If need to search the adjacent boxes for word + breaks, then, only the cases implemented in bug 57336 work. + + * editing/visible_units.cpp: + (WebCore::leftmostPositionInRTLBoxInLTRBlock): + (WebCore::rightmostPositionInLTRBoxInRTLBlock): + (WebCore::lastWordBreakInBox): + (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality): + (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): + (WebCore::WordBoundaryEntry::WordBoundaryEntry): + (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality): + (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality): + (WebCore::greatestValueUnder): + (WebCore::smallestOffsetAbove): + (WebCore::positionIsInsideBox): + (WebCore::positionBeforeNextWord): + (WebCore::positionAfterPreviousWord): + (WebCore::leftWordPosition): + (WebCore::rightWordPosition): + +2011-04-11 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html + https://bugs.webkit.org/show_bug.cgi?id=58040 + + Don't expose objects of role SliderThumbRoles in GTK. + + * accessibility/AccessibilitySlider.cpp: + (WebCore::AccessibilitySlider::addChildren): Allow the platform + make a final decision before including children in the hierarchy. + (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): + Implemented by relying on accessibilityPlatformIncludesObject(). + + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + Ignore accessibility objects with role SliderThumbRole. + +2011-04-11 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Divide by zero in calcColumnWidth + https://bugs.webkit.org/show_bug.cgi?id=58230 + + Test: fast/multicol/huge-column-count.html + + Make sure we have at least one column, to avoid divide by zero. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::calcColumnWidth): + +2011-04-09 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Sam Weinig. + + Bug 58198 - Clean up JSValue implementation for JSVALUE64 + + JSNumberCell.h has been deprecated. + + * ForwardingHeaders/runtime/JSNumberCell.h: Removed. + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/c/c_instance.cpp: + +2011-04-11 Dan Bernstein <mitz@apple.com> + + Build fix. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): + +2011-04-11 Antti Koivisto <antti@apple.com> + + Reviewed by Tony Gentilcore. + + Document source preload scanned repeatedly + https://bugs.webkit.org/show_bug.cgi?id=58123 + + Don't clear the preload scanner after execution resumes. This would lose the current + scanning point and lead to rescanning when the preload scanner would get reconstructed + due to main parser blocking again. + + Instead clear the scanner only in the specific case of receiving new data while the main + parser has already reached the end of the current input. + + Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency. + + The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by + http/tests/loading/preload-slow-loading.php. + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::insert): + (WebCore::HTMLDocumentParser::append): + (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): + +2011-04-11 Dan Bernstein <mitz@apple.com> + + Build fix. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): + +2011-04-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot) + https://bugs.webkit.org/show_bug.cgi?id=58229 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with + the font selector if needed. + (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle + registration with the font selector as needed. + * html/canvas/CanvasRenderingContext2D.h: + +2011-04-11 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] ARIA tables not exposing cells as HTML tables do + https://bugs.webkit.org/show_bug.cgi?id=57463 + + Expose cells for ARIA grids consistently with HTML tables in GTK, + keeping the same behaviour for the other platforms. + + * accessibility/AccessibilityARIAGrid.cpp: + (WebCore::AccessibilityARIAGrid::addChild): Add the row's children + to the accessibility hierarchy when accessibility objects for rows + are ignoring accessibility, otherwise add the row. + (WebCore::AccessibilityARIAGrid::addChildren): Do not check at + this point whether every child of the table ignores or not + accessibility, letting addChild() make the proper decision later. + + * accessibility/AccessibilityARIAGridCell.cpp: + (WebCore::AccessibilityARIAGridCell::parentTable): Consider that + rows could be ignoring accessibility, hence the parent could be + retrieved in the first call to parentObjectUnignored(). + (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto. + (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto.. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL. + +2011-04-11 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fix make distcheck + https://bugs.webkit.org/show_bug.cgi?id=58224 + + Removed a file that is no longer in the source tree. + + * GNUmakefile.list.am: + +2011-04-11 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Martin Robinson. + + REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified + https://bugs.webkit.org/show_bug.cgi?id=58204 + + Covered by existing tests. + + * platform/gtk/RenderThemeGtk.h: + (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle + the the state of media controls. + +2011-04-11 Dimitri Glazkov <dglazkov@chromium.org> + + Remove obsolete comment, which was mistakenly landed in r83397. + + Though potentially a work of art, the comment lost its functional meaning a long time ago. + + * html/shadow/MediaControls.cpp: + (WebCore::MediaControls::create): Removed comment. + +2011-04-05 Hans Wennborg <hans@chromium.org> + + Reviewed by Steve Block. + + IndexedDB: Introduce skeleton for LevelDB backend + https://bugs.webkit.org/show_bug.cgi?id=57827 + + No new tests: no new functionality (yet). + + * WebCore.gyp/WebCore.gyp: + Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines. + * WebCore.gypi: + Add new files. + * storage/IDBBackingStore.h: + (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier): + Introduce abstract type ObjectStoreRecordIdentifier. The SQLite + backend uses integers to refer to a specific row in a table, but + the LevelDB backend will use something else. + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::loadObjectStores): + Change functions to pass along the database id for operations that + concern object stores. We want to be able to group object stores + ids per database. + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::IDBFactoryBackendImpl::open): + Decide which backend to use based on the backingStoreType + parameter. + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): + (WebCore::IDBIndexBackendImpl::openCursorInternal): + (WebCore::IDBIndexBackendImpl::getInternal): + (WebCore::IDBIndexBackendImpl::addingKeyAllowed): + * storage/IDBIndexBackendImpl.h: + (WebCore::IDBIndexBackendImpl::create): + Pass database and object store id to backend functions concerning + indexes. + * storage/IDBLevelDBBackingStore.cpp: Added. + (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore): + (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore): + (WebCore::IDBLevelDBBackingStore::open): + (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData): + (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData): + (WebCore::IDBLevelDBBackingStore::getObjectStores): + (WebCore::IDBLevelDBBackingStore::createObjectStore): + (WebCore::IDBLevelDBBackingStore::deleteObjectStore): + (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::clearObjectStore): + (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): + (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore): + (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): + (WebCore::IDBLevelDBBackingStore::getIndexes): + (WebCore::IDBLevelDBBackingStore::createIndex): + (WebCore::IDBLevelDBBackingStore::deleteIndex): + (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord): + (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord): + (WebCore::IDBLevelDBBackingStore::getObjectViaIndex): + (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): + (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): + (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): + (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): + (WebCore::IDBLevelDBBackingStore::openIndexCursor): + (WebCore::IDBLevelDBBackingStore::createTransaction): + * storage/IDBLevelDBBackingStore.h: Added. + Add an empty implementation of the LevelDB backend. + * storage/IDBObjectStoreBackendImpl.cpp: + Keep track of database id, use the new RecordIdentifier. + (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): + (WebCore::IDBObjectStoreBackendImpl::getInternal): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + (WebCore::IDBObjectStoreBackendImpl::deleteInternal): + (WebCore::IDBObjectStoreBackendImpl::clearInternal): + (WebCore::populateIndex): + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): + (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + (WebCore::IDBObjectStoreBackendImpl::loadIndexes): + (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey): + * storage/IDBObjectStoreBackendImpl.h: + (WebCore::IDBObjectStoreBackendImpl::create): + (WebCore::IDBObjectStoreBackendImpl::databaseId): + * storage/IDBSQLiteBackingStore.cpp: + (WebCore::IDBSQLiteBackingStore::open): + (WebCore::IDBSQLiteBackingStore::createObjectStore): + (WebCore::IDBSQLiteBackingStore::deleteObjectStore): + (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::clearObjectStore): + (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber): + (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore): + (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord): + (WebCore::IDBSQLiteBackingStore::getIndexes): + (WebCore::IDBSQLiteBackingStore::createIndex): + (WebCore::IDBSQLiteBackingStore::deleteIndex): + (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord): + (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord): + (WebCore::IDBSQLiteBackingStore::getObjectViaIndex): + (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex): + (WebCore::IDBSQLiteBackingStore::keyExistsInIndex): + (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor): + (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor): + (WebCore::IDBSQLiteBackingStore::openIndexCursor): + * storage/IDBSQLiteBackingStore.h: + +2011-04-11 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar + https://bugs.webkit.org/show_bug.cgi?id=58226 + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::populateAllProperties): + +2011-04-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: get rid of source frame delegates for resources panel. + https://bugs.webkit.org/show_bug.cgi?id=58041 + + Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel. + + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.createResourceView): + (WebInspector.ResourceView.resourceViewTypeMatchesResource): + (WebInspector.ResourceSourceFrame): + (WebInspector.ResourceSourceFrame.prototype.get resource): + (WebInspector.ResourceSourceFrame.prototype.contentEditable): + (WebInspector.ResourceSourceFrame.prototype._requestContent): + (WebInspector.CSSSourceFrame): + (WebInspector.CSSSourceFrame.prototype.contentEditable): + (WebInspector.CSSSourceFrame.prototype._editContent): + (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos): + (WebInspector.CSSSourceFrame.prototype._saveStyleSheet): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._ensureContentLoaded): + (WebInspector.SourceFrame.prototype._requestContent): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._editContent): + +2011-04-11 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly + https://bugs.webkit.org/show_bug.cgi?id=58076 + + State_Sunken is more generic than pressed. It is used by items such as frames or + line edits because they are "sunken" frames (e.g. QLineEdit). It can be required + by some style like Oxygen. Therefore only in the mobile theme we check if the object + is pressed. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintTextField): + +2011-04-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add support for optional output parameters. + https://bugs.webkit.org/show_bug.cgi?id=58207 + + Output parameters such as "redirectResponse" are optional, but + do not allow specifying them as such. + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.json: + * inspector/InspectorResourceAgent.cpp: + (WebCore::buildObjectForResourceResponse): + (WebCore::buildObjectForCachedResource): + * inspector/front-end/NetworkManager.js: + (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): + * inspector/generate-inspector-idl: + +2011-04-11 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: refactor / document call frames in debugger domain. + https://bugs.webkit.org/show_bug.cgi?id=58187 + + Note that we are not special casing with(element) and with(document) anymore + and do not tell user that it is "Event target" and "Event document". Strictly speaking, + we should not have done it for with(element) not necessarily being related to an event. + + * English.lproj/localizedStrings.js: + * inspector/InjectedScriptSource.js: + * inspector/Inspector.json: + * inspector/front-end/ScopeChainSidebarPane.js: + (WebInspector.ScopeChainSidebarPane.prototype.update): + +2011-04-10 ChangSeok Oh <shivamidow@gmail.com> + + Reviewed by Eric Seidel. + + Make correspondence of file name related with event to other port. + https://bugs.webkit.org/show_bug.cgi?id=57416 + + Some file names are changed to make correspondence naming rule. + Keyboard, mouse and wheel event file names for GTK port have been different from other ports. + This has made user hard to find a specific file related with event for GTK port. + + No test required. This patch just changes some file names. + + * GNUmakefile.list.am: + * platform/gtk/KeyEventGtk.cpp: Removed. + * platform/gtk/MouseEventGtk.cpp: Removed. + * platform/gtk/PlatformKeyboardEventGtk.cpp: Added. + * platform/gtk/PlatformMouseEventGtk.cpp: Added. + * platform/gtk/PlatformWheelEventGtk.cpp: Added. + * platform/gtk/WheelEventGtk.cpp: Removed. + +2011-04-10 Simon Fraser <simon.fraser@apple.com> + + Revert the FloatRect.cpp part of r83422, since + clampToInteger() is broken for some inputs. I filed + https://bugs.webkit.org/show_bug.cgi?id=58216 + + * platform/graphics/FloatRect.cpp: + (WebCore::safeFloatToInt): + (WebCore::enclosingIntRect): + +2011-04-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Maciej Stachowiak. + + Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled + https://bugs.webkit.org/show_bug.cgi?id=56660 + + When overflow on an element changes, we need to inform compositing + layers which create and position an "ancestor clipping" layer based + on that overflow. Do this by triggering a rebuild of compositing layers + when overflow changes on a layer whose stacking context has compositing + descendants. (We can't just check whether the layer itself has compositing + descendants, because overflow follows the render tree, but compositing + follows the z-order tree.) + + Test: compositing/geometry/ancestor-overflow-change.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::styleChanged): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): + +2011-04-10 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Ariya Hidayat. + + Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow + https://bugs.webkit.org/show_bug.cgi?id=58161 + + ShadowBlur already has a singleton scratch buffer that is re-used + between shadows. Enhance use of this scratch buffer to avoid drawing + and blurring the shadow if the results will match what is already + in the buffer. + + Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(), + which ended up with little reusable code after adding the re-use logic. + + * platform/graphics/FloatRect.cpp: + (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing + clampToInteger() from MathExtras.h + + * platform/graphics/FloatSize.h: + (WebCore::expandedIntSize): New method to safely ceil() the size. + + * platform/graphics/RoundedIntRect.h: + Add operator== for Radii and RoundedIntRect. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ScratchBuffer::ScratchBuffer): + (WebCore::ScratchBuffer::setLastShadowValues): + (WebCore::ScratchBuffer::setLastInsetShadowValues): + (WebCore::ScratchBuffer::matchesLastShadow): + (WebCore::ScratchBuffer::matchesLastInsetShadow): + (WebCore::ScratchBuffer::clearScratchBuffer): + Have the scratch buffer remember what shadow parameters were used + to render the buffer contents. + + (WebCore::ShadowBlur::drawShadowBuffer): + Renamed from endShadowLayer(), and only contains the drawing + logic now. + + (WebCore::ShadowBlur::drawRectShadow): + Promote some code from beginShadowLayer(). + + (WebCore::ShadowBlur::drawInsetShadow): + Promote some code from beginShadowLayer(). + + (WebCore::ShadowBlur::drawRectShadowWithoutTiling): + (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): + (WebCore::ShadowBlur::drawInsetShadowWithTiling): + (WebCore::ShadowBlur::drawRectShadowWithTiling): + These methods now check to see if the buffer already matches + their required parameters, and avoid work if it does. + + (WebCore::ShadowBlur::blurShadowBuffer): + Factored some code into this new method. + + (WebCore::ShadowBlur::blurAndColorShadowBuffer): + Minor refactoring. + + * platform/graphics/ShadowBlur.h: + +2011-04-10 Geoffrey Garen <ggaren@apple.com> + + Build fix: Updated for file move. + + * bindings/js/GCController.cpp: + * bindings/js/ScriptGCEvent.cpp: + +2011-04-10 Geoffrey Garen <ggaren@apple.com> + + Rubber-stamped by Beth Dakin. + + Moved Heap.h and Heap.cpp to the heap folder, because anything less + would be uncivilized. + + * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h. + * ForwardingHeaders/runtime/Heap.h: Removed. + +2011-04-10 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Simon Fraser. + + Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue + https://bugs.webkit.org/show_bug.cgi?id=58212 + + No new tests - function renaming only / no functionality changes. + + * css/CSSStyleApplyProperty.cpp: + Rename all instances of inherit, initial and value. + * css/CSSStyleApplyProperty.h: + Rename all instances of inherit, initial and value. + * css/CSSStyleSelector.cpp: + Rename all instances of inherit, initial and value. + +2011-04-10 Mike Lawther <mikelawther@chromium.org> + + Reviewed by Ojan Vafai. + + flex/bison tokens and grammar for CSS calc + https://bugs.webkit.org/show_bug.cgi?id=54412 + + Tests: css3/calc/calc-errors.html + css3/calc/lexer-regression-57581-2.html + css3/calc/lexer-regression-57581-3.html + css3/calc/lexer-regression-57581.html + css3/calc/minmax-errors.html + css3/calc/nested-rounded-corners.html + css3/calc/simple-calcs.html + css3/calc/simple-minmax.html + + * css/CSSGrammar.y: + * css/CSSParserValues.cpp: + (WebCore::CSSParserValueList::insertValueAt): + (WebCore::CSSParserValueList::extend): + * css/CSSParserValues.h: + * css/tokenizer.flex: + +2011-04-10 Alice Boxhall <aboxhall@chromium.org> + + Reviewed by Ryosuke Niwa. + + Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only. + https://bugs.webkit.org/show_bug.cgi?id=57923 + + Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult + rather than a Node* and an IntPoint&, as the selection may actually not + extend into the Node found by the HitTest. + + No new tests. Refactoring only. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseDraggedEvent): + (WebCore::EventHandler::updateSelectionForMouseDrag): + * page/EventHandler.h: + +2011-04-10 Kent Tamura <tkent@chromium.org> + + Unreviewed, rolling out r83353. + http://trac.webkit.org/changeset/83353 + https://bugs.webkit.org/show_bug.cgi?id=58106 + + The new test doesn't pass on all Chromium platforms. + + * dom/DataTransferItem.h: + * dom/DataTransferItem.idl: + * platform/chromium/ClipboardMimeTypes.cpp: + * platform/chromium/ClipboardMimeTypes.h: + * platform/chromium/DataTransferItemChromium.cpp: + (WebCore::DataTransferItemChromium::getAsString): + * platform/chromium/DataTransferItemChromium.h: + * platform/chromium/PlatformBridge.h: + +2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Eric Carlson. + + [EFL] Add seek forward / backward buttons to MediaControl UI. + https://bugs.webkit.org/show_bug.cgi?id=56810 + + Add seek forward / backward buttons to media control. And, change formType name + for media control. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::emitMediaButtonSignal): + (WebCore::RenderThemeEfl::paintMediaMuteButton): + (WebCore::RenderThemeEfl::paintMediaPlayButton): + (WebCore::RenderThemeEfl::paintMediaSeekBackButton): + (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): + * platform/efl/RenderThemeEfl.h: + +2011-04-10 Chris Guillory <chris.guillory@google.com> + + Reviewed by Eric Seidel. + + Remove unused function declaration in PlatformContextSkia.h. + https://bugs.webkit.org/show_bug.cgi?id=55983 + + * platform/graphics/skia/PlatformContextSkia.h: + +2011-04-10 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for !ENABLE(XSLT) after r82562. + + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::doEnd): + +2011-04-10 Patrick Gansterer <paroga@webkit.org> + + Unreviewed build fix for !ENABLE(XSLT) after r82562. + + * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT). + +2011-04-10 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Anders Carlsson. + + REGRESSION(r83256): Text-decoration bleeds into shadow DOM + https://bugs.webkit.org/show_bug.cgi?id=58205 + + Now that the shadow root is a never-styled element, we need to walk to + parent to find out if we're inside of a shadow DOM subtree. + + Test: media/controls-styling.html + + * css/CSSStyleSelector.cpp: + (WebCore::isAtShadowBoundary): Added helper function. + (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper. + +2011-04-07 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Eric Carlson. + + [Meta] Convert HTMLMediaElement to use the new shadow DOM + https://bugs.webkit.org/show_bug.cgi?id=53020 + + This conversion is non-trivial, for several reasons: + + 1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding + and showing controls does not result in destroying and re-creating the + shadow DOM tree. Instead, the tree is created as needed and shown/hidden + using inline styles. + + 2) Instead of detaching/attaching on each style change, the control parts + are now using a set of higher fidelity callbacks that notify MediaControls + about changes to which it should react. Each reaction results in hiding, + showing, or changing the state of the control parts using inline styles + and DOM APIs. + + 3) Hiding and showing controls is accomplished using inline styles, rather + than wiring rendererIsNeeded, because renderers are now re-created less + frequently. + + 4) Instead of constantly querying RenderTheme about visibility of a particular + control part, we let the theme determine which parts are supported and + which parts are visible in certain conditions. + + 5) Custom hit-testing, event forwarding, and style updates are completely + removed, since they are now unnecessary. + + 6) Fading controls in/out is now done as CSS animation, since shadow DOM + supports it. + + Test: manual-tests/media-controls.html + +2011-04-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + <rdar://problem/9215280> Detached canvas draws with incorrect font + + Test: fast/canvas/font-update.html + + The existing mechanism for updating the font in a canvas 2D context was lacking in at least + two ways: it neglected to update fonts in all but the topmost state in the stack, and since it + was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element + was not attached. + + This change takes the responsibility for font updates away from the canvas element and gives it + to the canvas context and its graphics state. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered + font selector clients. + (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of + registered font selector clients. + (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered + clients and forces a style recalc on the document. + (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks(). + (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto. + * css/CSSFontSelector.h: + * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle(). + * html/HTMLCanvasElement.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector. + (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector + when its fonts need to be updated. Updates the font. + (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector. + * html/canvas/CanvasRenderingContext2D.h: + * platform/graphics/FontSelector.h: + (WebCore::FontSelectorClient::~FontSelectorClient): + +2011-04-09 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try recommitting some things svn left out of my last commit. + + * bridge/qt/qt_runtime.h: + +2011-04-09 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Try recommitting some things svn left out of my last commit. + + * ForwardingHeaders/collector: Removed. + * ForwardingHeaders/collector/handles: Removed. + * ForwardingHeaders/collector/handles/Global.h: Removed. + +2011-04-08 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Ojan Vafai. + + Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries. + https://bugs.webkit.org/show_bug.cgi?id=55515 + + This implements XBL 2.0's specified handling of mouseover/mouseout events: + http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events + + To do this, we: + 1) calculate lowest common ancestor between relatedTarget and target, and + the nearest boundaries around them: the outer (common) boundary, and the + inner (specific to relatedTarget) boundary. Then, we + 2) ensure that events only propagate up to the common boundary (or + all the way if boundary is not found), while + 3) updating relatedTarget be the inner boundary. + + We also detect the most common case when no common boundary could exist + and provide a fast path to short-circuit most of the boundary detection + logic. + + Test: fast/events/shadow-boundary-crossing.html + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest + common ancestor, the boundaries around it, and compute adjustments + to relatedTarget and event target ancestor chain. + (WebCore::ancestorsCrossShadowBoundaries): Added. + (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate + inner/outer shadow DOM boundaries and adjust ancestors chain accordingly. + (WebCore::EventDispatcher::EventDispatcher): Added flag initializer + (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors, + converted to use initialization flag, rather than testing for empty. + * dom/EventDispatcher.h: Adjusted decls. + * dom/MouseEvent.cpp: + (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event + to adjustRelatedTarget. + +2011-04-08 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + A few heap-related renames and file moves. + + WeakGCPtr<T> => Weak<T> + Global<T> => Strong<T> + collector/ => heap/ + collector/* => heap/* + runtime/WeakGCPtr.h => heap/Weak.h + + (Eventually, even more files should move into the heap directory. Like + Heap.h and Heap.cpp, for example.) + + * CMakeLists.txt: + * ForwardingHeaders/collector: Removed. + * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector. + * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h. + * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h. + * ForwardingHeaders/runtime/WeakGCPtr.h: Removed. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/copyForwardingHeaders.cmd: + * bindings/js/JSCallbackData.h: + * bindings/js/JSCustomVoidCallback.h: + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDOMWindowShell.cpp: + (WebCore::JSDOMWindowShell::setWindow): + * bindings/js/JSDataGridDataSource.h: + * bindings/js/JSEventListener.h: + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::ScheduledAction): + * bindings/js/ScheduledAction.h: + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + * bindings/js/ScriptCachedFrameData.h: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::createWindowShell): + * bindings/js/ScriptController.h: + * bindings/js/ScriptObject.h: + * bindings/js/ScriptState.h: + * bindings/js/ScriptValue.cpp: + * bindings/js/ScriptValue.h: + * bindings/js/ScriptWrappable.h: + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): + * bindings/js/WorkerScriptController.h: + * bridge/jsc/BridgeJSC.h: + * bridge/qt/qt_runtime.h: + * bridge/runtime_root.h: + * xml/XMLHttpRequest.cpp: + +2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Don't link against fontconfig or X11 if embedded + https://bugs.webkit.org/show_bug.cgi?id=58104 + + No functional change so no new tests. + + * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform. + +2011-04-09 Csaba Osztrogonác <ossy@webkit.org> + + [Qt] Unreviewed trivial fix after r83344. + + * WebCore.pro: Update HEADERS list. + +2011-04-09 Jon Lee <jonlee@apple.com> + + Reviewed by Beth Dakin. + + Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180) + https://bugs.webkit.org/show_bug.cgi?id=58180 + <rdar://problem/9047984> + + * platform/mac/ScrollAnimatorMac.mm: + (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): + (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): + +2011-04-09 Sreeram Ramachandran <sreeram@google.com> + + Reviewed by Ryosuke Niwa. + + Gather data on modal dialogs shown during unload events + https://bugs.webkit.org/show_bug.cgi?id=58115 + + Add a new method to the ChromeClient API to allow clients to receive + notifications of modal dialogs dispatched during page dismissal events. + The new method has a default empty definition; only chromium overrides + it to keep track of histograms. + + No tests because this is a no-op for all ports except chromium (and it's + not clear how to test chromium histograms from webkit). + + * page/Chrome.cpp: + (WebCore::isDuringPageDismissal): + (WebCore::willRunModalDialog): + (WebCore::Chrome::runJavaScriptAlert): + (WebCore::Chrome::runJavaScriptConfirm): + (WebCore::Chrome::runJavaScriptPrompt): + (WebCore::Chrome::willRunModalHTMLDialog): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::showModalDialog): + +2011-04-08 David Humphrey <david.humphrey@senecac.on.ca> + + Reviewed by Eric Carlson. + + Fix call order of media element muted and play(), such that setting muted before play() works. + https://bugs.webkit.org/show_bug.cgi?id=57673 + https://code.google.com/p/chromium/issues/detail?id=70777 + + Manual test added: manual-tests/media-muted.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updatePlayState): + * manual-tests/media-muted.html: Added. + +2011-04-08 Nat Duca <nduca@chromium.org> + + Reviewed by David Levin. + + [chromium] Fix windows assertion on ~CCThread + https://bugs.webkit.org/show_bug.cgi?id=58153 + + Because ~CCThread uses waitForThreadCompletion, + calling detachThread is not necessary. + + * platform/graphics/chromium/cc/CCThread.cpp: + (WebCore::CCThread::runLoop): + +2011-04-08 Jian Li <jianli@chromium.org> + + Unreviewed, rolling out r83348. + http://trac.webkit.org/changeset/83348 + https://bugs.webkit.org/show_bug.cgi?id=49508 + + Breaks layout tests in QT, Win7 and Chromium. + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-04-08 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + Negative spread should not make a sharp corner rounded + https://bugs.webkit.org/show_bug.cgi?id=58162 + + Handled inset shadow path for rounded and non-rounded rect + differently as normal shadow path is doing. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2011-04-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Martin Robinson. + + REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC + https://bugs.webkit.org/show_bug.cgi?id=55180 + + The endianness #ifdef in ShadowBlur was unnecessary and harmful. The + data we get back from ImageBuffer::getImageData() do not vary in + endianness. + + * platform/graphics/ShadowBlur.cpp: + (WebCore::ShadowBlur::blurLayerImage): + +2011-04-08 Erik Arvidsson <arv@chromium.org> + + Reviewed by Dimitri Glazkov. + + IFrame is getting the focus even though it is hidden + https://bugs.webkit.org/show_bug.cgi?id=55861 + + Test: fast/dom/hidden-iframe-no-focus.html + + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): + * html/HTMLFrameOwnerElement.h: + +2011-04-08 Jeff Timanus <twiz@chromium.org> + + Reviewed by Kenneth Russell. + + Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment. + https://bugs.webkit.org/show_bug.cgi?id=57768 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): + (WebCore::CanvasRenderingContext2D::reset): + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + +2011-04-08 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Dmitry Titov. + + [chromium] Implement image/png support in DataTransferItems + https://bugs.webkit.org/show_bug.cgi?id=58106 + + This patch implements DataTransferItem::getAsFile() using Blobs. In + addition, plumbing for image/png has been added so image paste will be + supported as long as the renderer makes that data available. + + Tests: editing/pasteboard/data-transfer-items-image-png.html + + * dom/DataTransferItem.h: + * dom/DataTransferItem.idl: + * platform/chromium/ClipboardMimeTypes.cpp: + * platform/chromium/ClipboardMimeTypes.h: + * platform/chromium/DataTransferItemChromium.cpp: + (WebCore::DataTransferItemChromium::getAsString): + (WebCore::DataTransferItemChromium::getAsFile): + * platform/chromium/DataTransferItemChromium.h: + * platform/chromium/PlatformBridge.h: + +2011-04-08 MORITA Hajime <morrita@google.com> + + Unreviewed windows build fix. + + * editing/SpellingCorrectionController.h: + (WebCore::SpellingCorrectionController::UNLESS_ENABLED): + +2011-04-08 Enrica Casucci <enrica@apple.com> + + Reviewed by Maciej Stachowiak. + + Improve lifetime management of nodes in ReplaceNodeWithSpanCommand. + https://bugs.webkit.org/show_bug.cgi?id=57595 + <rdar://problem/9222122> + + Test: editing/style/bold-with-dom-changes.html + + * editing/ReplaceNodeWithSpanCommand.cpp: + (WebCore::swapInNodePreservingAttributesAndChildren): + +2011-04-07 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData + https://bugs.webkit.org/show_bug.cgi?id=58060 + + Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope. + However, in case the containing scope is the document, this is not set, and the + document pointer within Node is used instead. + + In an object derived from TreeScope (currently Document), the tree scope pointer + points to itself. Such objects also contain a parent tree scope pointer that + points to the containing scope. For Document, this is 0. + + Add new functions setTreeScope[Recursively] that replace setDocument[Recursively] + in public usage. setDocument[Recursively] are now only used internally and are + thererfore protected. + + No new tests. (no new functionality) + + * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + * dom/Document.cpp: + (WebCore::Document::~Document): + (WebCore::Document::setDocType): Ditto + (WebCore::Document::adoptNode): Ditto + * dom/Document.h: + * dom/Node.cpp: + (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set + (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document + (WebCore::Node::setTreeScopeRecursively): + (WebCore::Node::setDocumentRecursively): + * dom/Node.h: + * dom/NodeRareData.h: add scope pointer + (WebCore::NodeRareData::NodeRareData): + (WebCore::NodeRareData::treeScope): + (WebCore::NodeRareData::setTreeScope): + * dom/TreeScope.cpp: add parentTreeScope pointer + (WebCore::TreeScope::TreeScope): + (WebCore::TreeScope::setParentTreeScope): + * dom/TreeScope.h: + (WebCore::TreeScope::parentTreeScope): + +2011-04-08 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Hyatt. + + Local caret rectangle calculation should be relative to its containing block. + https://bugs.webkit.org/show_bug.cgi?id=49508. + + InlineBox and caret rectangle are positioned relative to its containing block. + So its left and right edge value should be relative to its containing block as well. + + Test: fast/forms/cursor-at-editable-content-boundary.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + +2011-04-08 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToWord): + +2011-04-08 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=57971 + + Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose + them when we throw away the visited style. Don't throw away the visited link style for pseudo elements + either, so that the styles are consistent. + + Added fast/history/visited-generated-content-test.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + +2011-04-06 MORITA Hajime <morrita@google.com> + + Reviewed by Darin Adler. + + [Refactoring] Auto correction panel should be handled by its own class. + https://bugs.webkit.org/show_bug.cgi?id=55571 + + Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into + SpellingCorrectionController class. + This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if + code paths inside the never reached without autocorrection support. + Removing guards reduces unintentional build breakage. + + No new tests, no behavior chagne. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * editing/CorrectionPanelInfo.h: Removed. + * editing/EditingAllInOne.cpp: + * editing/Editor.cpp: + (WebCore::Editor::respondToChangedSelection): + (WebCore::Editor::respondToChangedContents): + (WebCore::Editor::appliedEditing): + (WebCore::Editor::Editor): + (WebCore::Editor::~Editor): + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::insertLineBreak): + (WebCore::Editor::insertParagraphSeparator): + (WebCore::Editor::cut): + (WebCore::Editor::paste): + (WebCore::Editor::pasteAsPlainText): + (WebCore::Editor::isAutomaticSpellingCorrectionEnabled): + (WebCore::Editor::markMisspellingsAfterTypingToWord): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::changeBackToReplacedString): + (WebCore::Editor::unappliedSpellCorrection): + (WebCore::Editor::updateMarkersForWordsAffectedByEditing): + (WebCore::Editor::startCorrectionPanelTimer): + (WebCore::Editor::handleCorrectionPanelResult): + (WebCore::Editor::dismissCorrectionPanelAsIgnored): + * editing/Editor.h: + * editing/SpellingCorrectionCommand.cpp: + * editing/SpellingCorrectionController.cpp: Added. + (WebCore::markerTypesForAutocorrection): + (WebCore::markerTypesForReplacement): + (WebCore::markersHaveIdenticalDescription): + (WebCore::SpellingCorrectionController::SpellingCorrectionController): + (WebCore::SpellingCorrectionController::~SpellingCorrectionController): + (WebCore::SpellingCorrectionController::startCorrectionPanelTimer): + (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer): + (WebCore::SpellingCorrectionController::stopPendingCorrection): + (WebCore::SpellingCorrectionController::applyPendingCorrection): + (WebCore::SpellingCorrectionController::hasPendingCorrection): + (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed): + (WebCore::SpellingCorrectionController::show): + (WebCore::SpellingCorrectionController::handleCancelOperation): + (WebCore::SpellingCorrectionController::dismiss): + (WebCore::SpellingCorrectionController::dismissSoon): + (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo): + (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate): + (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection): + (WebCore::SpellingCorrectionController::correctionPanelTimerFired): + (WebCore::SpellingCorrectionController::handleCorrectionPanelResult): + (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled): + (WebCore::SpellingCorrectionController::windowRectForRange): + (WebCore::SpellingCorrectionController::respondToChangedSelection): + (WebCore::SpellingCorrectionController::respondToAppliedEditing): + (WebCore::SpellingCorrectionController::client): + (WebCore::SpellingCorrectionController::textChecker): + (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed): + (WebCore::SpellingCorrectionController::markReversed): + (WebCore::SpellingCorrectionController::markCorrection): + (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection): + * editing/SpellingCorrectionController.h: Added. + (WebCore::SpellingCorrectionController::UNLESS_ENABLED): + (WebCore::SpellingCorrectionController::shouldStartTimeFor): + (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::markMisspellingsAfterTyping): + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + * editing/htmlediting.h: + (WebCore::isAmbiguousBoundaryCharacter): + * page/EditorClient.h: + * page/Frame.cpp: + (WebCore::Frame::setPageAndTextZoomFactors): + +2011-04-08 Alpha Lam <hclam@chromium.org> + + Unreviewed, rolling out r83335. + http://trac.webkit.org/changeset/83335 + https://bugs.webkit.org/show_bug.cgi?id=53556 + + GTK and QT bots are broken + + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * features.pri: + * html/HTMLAttributeNames.in: + * html/HTMLTagNames.in: + * html/HTMLTrackElement.cpp: Removed. + * html/HTMLTrackElement.h: Removed. + * html/HTMLTrackElement.idl: Removed. + +2011-04-08 Brady Eidson <beidson@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767> + BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source. + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to + make sure the frames are properly tallied first. + +2011-04-08 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Dragging and dropping an image in edit mode does not work + https://bugs.webkit.org/show_bug.cgi?id=19385 + + When adding an image to the clipboard, we should also include the HTML code of that image so + it can be used for internal drag and drop. + + This HTML is expected by all clients of drop events so a fragment can be moved from one browser to + another, or inside the same browser. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::declareAndWriteDragImage): + +2011-04-07 Anna Cavender <annacc@chromium.org> + + 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: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.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-07 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Logic error in HTMLMediaElement::exitFullscreen() + https://bugs.webkit.org/show_bug.cgi?id=58085 + + The new full screen API case could fall through to the legacy API case + unintentionally if a script calls exitFullscreen on an element which is + not the current full screen element. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::enterFullscreen): + (WebCore::HTMLMediaElement::exitFullscreen): + +2011-04-08 Mike Reed <reed@google.com> + + Reviewed by Eric Seidel. + + Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work + https://bugs.webkit.org/show_bug.cgi?id=57782 + + No new tests. This change only affects print-preview and build option SKIA_GPU + + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::paintSkiaText): + +2011-04-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang, Darin Adler, and Enrica Casucci. + + REGRESSION(r81887): Crash in SplitElement + https://bugs.webkit.org/show_bug.cgi?id=57743 + + The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition + even when the position was after the last node in it container. Since all we are doing here is to splitting tree + up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode + and highestEnclosingNodeOfType. + + Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor, + which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that + it incorrectly called deprecatedNode instead of containerNode. + + Test: editing/inserting/insert-images-in-pre-x-crash.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::splitTreeToNode): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/htmlediting.cpp: + (WebCore::highestEnclosingNodeOfType): + +2011-04-08 Antti Koivisto <antti@apple.com> + + Reviewed by Tony Gentilcore. + + Incoming source should be preload scanned when the parser is blocked + https://bugs.webkit.org/show_bug.cgi?id=58117 + + Scan the appended source if parser is blocked. + + Test: http/tests/loading/preload-append-scan.php + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::append): + +2011-04-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix the WebKit2 build for older versions of GTK+ + https://bugs.webkit.org/show_bug.cgi?id=58095 + + No new tests. This is just a build fix. + + * platform/gtk/GtkVersioning.c: + (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK. + * platform/gtk/GtkVersioning.h: Add the new method to the header. + +2011-04-08 Misha Tyutyunik <michael.tyutyunik@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Plugin is not scrolled together with page content or jumping + when content is rendered using cache (backing store). + https://bugs.webkit.org/show_bug.cgi?id=56130 + + This is a Symbian portion of the fix. For Linux it looks like + it's enough to call set geometry which should be addressed in + https://bugs.webkit.org/show_bug.cgi?id=57179 + + No new tests required. This can be tested with manual tests from + WebCore/manual-tests/qt and WebCore/manual-tests/plugins + + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::updatePluginWidget): + +2011-04-08 Abhishek Arya <inferno@chromium.org> + + Unreviewed. Remove accidental printf added in r83306. + + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEvent): + +2011-04-08 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Dragging text in a WebKit2 window results in a copy instead of a move. + https://bugs.webkit.org/show_bug.cgi?id=56772 + <rdar://problem/9165140> + + cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since + the call to startDrag is asynchronous. + + * page/mac/DragControllerMac.mm: + (WebCore::DragController::cleanupAfterSystemDrag): + +2011-04-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move WheelEvent-dispatching logic into WheelEventDispatchMediator. + https://bugs.webkit.org/show_bug.cgi?id=57642 + + Covered by existing tests, no functional change. + + * dom/Event.cpp: + * dom/Event.h: + (WebCore::EventDispatchMediator::EventDispatchMediator): Added default + constructor. + (WebCore::EventDispatchMediator::event): Inlined. + (WebCore::EventDispatchMediator::setEvent): Added. + * dom/EventDispatcher.cpp: Removed dispatchWheelEvent. + * dom/EventDispatcher.h: Updated decls. + * dom/Node.cpp: + (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and + return a bool, like other dispatch event functions. + * dom/Node.h: Changed decl. + * dom/WheelEvent.cpp: + (WebCore::granularity): Moved from EventDispatcher. + (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added. + (WebCore::WheelEventDispatchMediator::event): Added. + (WebCore::WheelEventDispatchMediator::dispatchEvent): Added. + * dom/WheelEvent.h: Updated decls. + * page/EventHandler.cpp: + (WebCore::EventHandler::handleWheelEvent): Changed to receive and react + to the return value. + +2011-04-08 Jessie Berlin <jberlin@apple.com> + + Windows build warning fix. + + * WebCore.vcproj/WebCore.vcproj: + Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from + the build. + +2011-04-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: update breakpoints according to source frame decorations after live edit. + https://bugs.webkit.org/show_bug.cgi?id=58029 + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype.set content): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): + (WebInspector.SourceFrame.prototype._handleSave): + +2011-04-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: fix scripts concatenation in scripts panel. + https://bugs.webkit.org/show_bug.cgi?id=58138 + + When there is just one script starting at 0:0 it should not be surrounded by <script> framing. + + * inspector/front-end/SourceFile.js: + (WebInspector.SourceFile.prototype._loadResourceContent): + (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): + +2011-04-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements. + https://bugs.webkit.org/show_bug.cgi?id=58118 + + This change reuses location for call frames in the protocol + structures script + location <-> source lines interaction better. When we need UI columns, we will add + them, but we should distinguish between script and UI terms on the type level, not naming. + + * English.lproj/localizedStrings.js: + * bindings/v8/DebuggerScript.js: + * inspector/InjectedScriptSource.js: + * inspector/Inspector.json: + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine): + (WebInspector.CallStackSidebarPane.prototype.update): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage): + (WebInspector.DebuggerPresentationModel.prototype.continueToLine): + (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.PresenationCallFrame): + (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping): + (WebInspector.PresenationCallFrame.prototype.sourceLine): + * inspector/front-end/ScriptFormatter.js: + (WebInspector.ScriptFormatter.locationToPosition): + (WebInspector.ScriptFormatter.lineToPosition): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): + (WebInspector.ScriptsPanel.prototype._debuggerPaused): + (WebInspector.ScriptsPanel.prototype.showAnchorLocation): + (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation): + (WebInspector.ScriptsPanel.prototype._callFrameSelected): + * inspector/front-end/SourceFile.js: + (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine): + (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation): + (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine): + (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation): + +2011-04-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources. + https://bugs.webkit.org/show_bug.cgi?id=58133 + + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused): + (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript): + (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId): + (WebInspector.DebuggerPresentationModel.prototype._reset): + +2011-04-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: make SourceFrame TextViewer's delegate for editing operations. + https://bugs.webkit.org/show_bug.cgi?id=58026 + + This is the first step of decoupling TextViewer from SourceFrame. + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.show): + (WebInspector.SourceFrame.prototype.hide): + (WebInspector.SourceFrame.prototype._ensureContentLoaded): + (WebInspector.SourceFrame.prototype.contentEditable): + (WebInspector.SourceFrame.prototype.startEditing): + (WebInspector.SourceFrame.prototype.endEditing): + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._handleRevertEditing): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): + (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): + (WebInspector.TextViewer.prototype._syncDecorationsForLine): + (WebInspector.TextViewer.prototype._doubleClick): + (WebInspector.TextViewerDelegate): + (WebInspector.TextViewerDelegate.prototype.contentEditable): + (WebInspector.TextViewerDelegate.prototype.startEditing): + (WebInspector.TextViewerDelegate.prototype.endEditing): + (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): + (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): + * inspector/front-end/inspector.html: + +2011-04-08 Leandro Gracia Gil <leandrogracia@chromium.org> + + Reviewed by Steve Block. + + Media Stream API: add the getUserMedia method and the Javascript bindings. + https://bugs.webkit.org/show_bug.cgi?id=56586 + + Add the getUserMedia method to the navigator and its new Javascript types. + Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication + + Tests: fast/dom/MediaStream/argument-types.html + fast/dom/MediaStream/enabled.html + fast/dom/MediaStream/no-interface-object.html + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.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: + * bindings/js/JSNavigatorCustom.cpp: + (WebCore::JSNavigator::webkitGetUserMedia): + * bindings/v8/custom/V8NavigatorCustom.cpp: Added. + (WebCore::V8Navigator::webkitGetUserMediaCallback): + * page/Navigator.cpp: + (WebCore::Navigator::webkitGetUserMedia): + * page/Navigator.h: + * page/Navigator.idl: + * page/NavigatorUserMediaError.h: Added. + (WebCore::NavigatorUserMediaError::NavigatorUserMediaError): + (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError): + (WebCore::NavigatorUserMediaError::code): + * page/NavigatorUserMediaError.idl: Added. + * page/NavigatorUserMediaErrorCallback.h: Added. + (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback): + * page/NavigatorUserMediaErrorCallback.idl: Added. + * page/NavigatorUserMediaSuccessCallback.h: Added. + (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback): + * page/NavigatorUserMediaSuccessCallback.idl: Added. + +2011-04-08 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI. + https://bugs.webkit.org/show_bug.cgi?id=58010 + https://bugs.webkit.org/show_bug.cgi?id=58011 + + Added tests for "Containment" view. Minor refactorings, bugs fixed. + Split one large tests into smaller ones to avoid timing out in debug mode. + + Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-containment-show-all.html + inspector/profiler/detailed-heapshots-containment-show-next.html + inspector/profiler/detailed-heapshots-containment-sorting.html + inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html + inspector/profiler/detailed-heapshots-summary-show-all.html + inspector/profiler/detailed-heapshots-summary-show-next.html + inspector/profiler/detailed-heapshots-summary-sorting.html + + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode): + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): + (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort): + (WebInspector.HeapSnapshotGridNode.prototype.sort): + (WebInspector.HeapSnapshotGenericObjectNode): + (WebInspector.HeapSnapshotObjectNode): + (WebInspector.HeapSnapshotInstanceNode): + (WebInspector.HeapSnapshotConstructorNode): + (WebInspector.HeapSnapshotDiffNode): + (WebInspector.HeapSnapshotDominatorObjectNode): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotContainmentDataGrid): + (WebInspector.HeapSnapshotDominatorsDataGrid): + +2011-04-08 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Bugs in some corner cases in the text editor + https://bugs.webkit.org/show_bug.cgi?id=58025 + + This solves the following bugs: + 1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor. + 2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow. + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel.prototype._selectionToPosition): + (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf): + (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): + (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): + (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): + +2011-04-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add test for script formatter worker. + https://bugs.webkit.org/show_bug.cgi?id=57447 + + Test: inspector/debugger/script-formatter.html + + * GNUmakefile.am: + * WebCore.xcodeproj/project.pbxproj: + * gyp/streamline-inspector-source.sh: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype._formatter): + * inspector/front-end/ScriptFormatterWorker.js: + +2011-04-08 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Tweak dynamically constants for the async highlighting in text editor + https://bugs.webkit.org/show_bug.cgi?id=58035 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel.prototype._expandChunks): + (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines): + (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): + (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit): + (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue): + +2011-04-08 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: HAR compliance fixes + https://bugs.webkit.org/show_bug.cgi?id=58124 + + - Always provide some values for queryString and cookies, even though arrays may be empty + - Always provide an empty cache object + - Added entire HARLog to test + - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms) + + * inspector/front-end/HAREntry.js: + (WebInspector.HAREntry.prototype.build): + (WebInspector.HAREntry.prototype._buildRequest): + (WebInspector.HAREntry.prototype._buildResponse): + +2011-04-08 Adam Barth <abarth@webkit.org> + + Attempt to fix the Qt build. + + * css/CSSStyleApplyProperty.cpp: + +2011-04-07 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Refactor WebCore/GNUMakefile.am to separate list of files + https://bugs.webkit.org/show_bug.cgi?id=58116 + + This change is similar to the cooresponding to change to + JavaScriptCore. We hope to generate GNUmakefile.list.am automatically + using GYP. + + * GNUmakefile.am: + * GNUmakefile.list.am: Added. + +2011-04-07 Geoffrey Garen <ggaren@apple.com> + + Not reviewed. + + Rolled out some accidentally-committed changes in my last commit. + + * dom/EventTarget.cpp: + (WebCore::EventTarget::addEventListener): + (WebCore::EventTarget::removeEventListener): + * dom/EventTarget.h: + +2011-04-07 Julien Chaffraix <jchaffraix@codeaurora.org> + + Reviewed by Alexey Proskuryakov. + + EventSource should only accept UTF-8 charset + https://bugs.webkit.org/show_bug.cgi?id=56942 + + Following the discussion on bug 45372, this change implements the recommended + way of handling "charset". We only accept UTF-8 but no other encoding. This matches + the encoding of the EventSource and also may fix TomCat that automatically send this + charset. + + * page/EventSource.cpp: + (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is + not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type + is wrong to the console to help debugging (only in the case of an HTTP 200 response though). + +2011-04-07 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej Stachowiak. + + Some Handle<T> cleanup + https://bugs.webkit.org/show_bug.cgi?id=58109 + + * bindings/js/ScriptValue.h: + (WebCore::ScriptValue::ScriptValue): Updated for new null constructor. + (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty(). + +2011-04-07 Dominic Cooney <dominicc@google.com> + + Reviewed by Dimitri Glazkov. + + Let shadow DOM have a list of nodes at the top level of a shadow. + https://bugs.webkit.org/show_bug.cgi?id=57813 + + Adds ShadowRoot, a list of nodes, to be a parent for top-level + shadow children. Forwards rendering through the root and into the + host's renderer. + + Covered by existing tests of elements that use this style of shadow. + + * Android.mk: add ShadowRoot.h/cpp + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host + * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::removeChild): + (WebCore::ContainerNode::appendChild): + * dom/DocumentFragment.cpp: + (WebCore::DocumentFragment::DocumentFragment): + * dom/DocumentFragment.h: + * dom/Element.cpp: + (WebCore::Element::recalcStyle): look through ShadowRoots for host's style + (WebCore::Element::shadowRoot): should be const + (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot + * dom/Element.h: + * dom/ElementRareData.h: + * dom/Node.cpp: + (WebCore::Node::parentNodeForRenderingAndStyle): indirection so + ShadowRoot can forward to the host's renderer + (WebCore::Node::createRendererAndStyle): + (WebCore::Node::createRendererIfNeeded): + * dom/Node.h: + (WebCore::Node::isShadowBoundary): temporary, to differentiate + old- and new-style, until all roots are ShadowRoot instances + * dom/ShadowRoot.cpp: Added. + (WebCore::ShadowRoot::ShadowRoot): + (WebCore::ShadowRoot::recalcStyle): forward recalc to children + * dom/ShadowRoot.h: Added. + (WebCore::ShadowRoot::isShadowBoundary): + (WebCore::ShadowRoot::create): + * html/HTMLKeygenElement.cpp: use ensureShadowRoot + (WebCore::HTMLKeygenElement::HTMLKeygenElement): + (WebCore::HTMLKeygenElement::parseMappedAttribute): + (WebCore::HTMLKeygenElement::appendFormData): + (WebCore::HTMLKeygenElement::reset): + (WebCore::HTMLKeygenElement::shadowSelect): + * html/HTMLKeygenElement.h: + * html/HTMLMeterElement.cpp: use ensureShadowRoot + (WebCore::HTMLMeterElement::createShadowSubtree): + * html/HTMLProgressElement.cpp: use ensureShadowRoot + (WebCore::HTMLProgressElement::createShadowSubtree): + * html/InputType.cpp: use ensureShadowRoot + (WebCore::InputType::destroyShadowSubtree): + * html/RangeInputType.cpp: use ensureShadowRoot + (WebCore::RangeInputType::handleMouseDownEvent): + (WebCore::RangeInputType::createShadowSubtree): + (WebCore::RangeInputType::valueChanged): + (WebCore::RangeInputType::shadowSliderThumb): + * html/RangeInputType.h: + * html/ValidationMessage.cpp: use ensureShadowRoot + (WebCore::ValidationMessage::buildBubbleTree): + (WebCore::ValidationMessage::deleteBubbleTree): + * html/shadow/SliderThumbElement.cpp: + (WebCore::SliderThumbElement::setPositionFromPoint): + (WebCore::SliderThumbElement::hostInput): + * html/shadow/SliderThumbElement.h: + * rendering/MediaControlElements.cpp: use ensureShadowRoot + (WebCore::MediaControlInputElement::attach): + (WebCore::MediaControlInputElement::updateStyle): + * rendering/RenderSlider.cpp: use ensureShadowRoot + (WebCore::RenderSlider::thumbRect): + (WebCore::RenderSlider::layout): + (WebCore::RenderSlider::shadowSliderThumb): + (WebCore::RenderSlider::inDragMode): + * rendering/RenderSlider.h: + +2011-04-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Simon Fraser. + + REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/ + https://bugs.webkit.org/show_bug.cgi?id=56297 + <rdar://problem/9131597> + + Test: fast/css-generated-content/table-row-after-no-crash.html + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after + content, and only do it if the row already has a parent. For construction of + anonymous cells to work correctly, the row needs to already have a parent, so + in that case wait a bit. + (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here. + * rendering/RenderTableRow.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): When adding a row, update its + before/after content, in case it had any. + +2011-04-07 Beth Dakin <bdakin@apple.com> + + Reviewed by Simon Fraser. + + Probable fix for <rdar://problem/9251443> Crashing on exception: - + [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized + selector sent to instance ADDRESS. + + Need to implement new delegate method. + * platform/mac/ScrollAnimatorMac.mm: + (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]): + +2011-04-07 Ian Henderson <ianh@apple.com> + + Reviewed by Simon Fraser. + + Optimize filling rounded rects that are actually ellipses + https://bugs.webkit.org/show_bug.cgi?id=58098 + + In CG, drawing an ellipse directly is faster than constructing and + filling a rounded rect path. Detect when the given rounded rect is + actually an ellipse and draw it directly in this case. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + +2011-04-07 Ned Holbrook <nholbrook@apple.com> + + Reviewed by Dan Bernstein. + + CTLine objects should outlive their CTRuns + https://bugs.webkit.org/show_bug.cgi?id=58063 + + * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns. + * platform/graphics/mac/ComplexTextControllerCoreText.cpp: + (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun. + (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines. + +2011-04-07 Nat Duca <nduca@chromium.org> + + Reviewed by David Levin. + + [chromium] Compositor thread infrastructure + https://bugs.webkit.org/show_bug.cgi?id=56131 + + Introduce chrome compositor thread and related + infrastructure. + + * WebCore.gypi: + * platform/graphics/chromium/cc/CCMainThread.cpp: Added. + (WebCore::CCMainThread::performTask): + (WebCore::CCMainThread::postTask): + * platform/graphics/chromium/cc/CCMainThread.h: Added. + (WebCore::CCMainThread::Task::~Task): + (WebCore::CCMainThread::Task::instance): + (WebCore::CCMainThread::Task::Task): + * platform/graphics/chromium/cc/CCMainThreadTask.h: Added. + (WebCore::MainThreadTask0::create): + (WebCore::MainThreadTask0::MainThreadTask0): + (WebCore::MainThreadTask0::performTask): + (WebCore::MainThreadTask1::create): + (WebCore::MainThreadTask1::MainThreadTask1): + (WebCore::MainThreadTask1::performTask): + (WebCore::MainThreadTask2::create): + (WebCore::MainThreadTask2::MainThreadTask2): + (WebCore::MainThreadTask2::performTask): + (WebCore::MainThreadTask3::create): + (WebCore::MainThreadTask3::MainThreadTask3): + (WebCore::MainThreadTask3::performTask): + (WebCore::createMainThreadTask): + * platform/graphics/chromium/cc/CCThread.cpp: Added. + (WebCore::CCThread::create): + (WebCore::CCThread::CCThread): + (WebCore::CCThread::~CCThread): + (WebCore::CCThread::postTask): + (WebCore::CCThread::compositorThreadStart): + (WebCore::CCThread::runLoop): + * platform/graphics/chromium/cc/CCThread.h: Added. + (WebCore::CCThread::Task::~Task): + (WebCore::CCThread::Task::instance): + (WebCore::CCThread::Task::Task): + (WebCore::CCThread::threadID): + (WebCore::CCCompletionEvent::CCCompletionEvent): + (WebCore::CCCompletionEvent::~CCCompletionEvent): + (WebCore::CCCompletionEvent::wait): + (WebCore::CCCompletionEvent::signal): + * platform/graphics/chromium/cc/CCThreadTask.h: Added. + (WebCore::CCThreadTask0::create): + (WebCore::CCThreadTask0::CCThreadTask0): + (WebCore::CCThreadTask0::performTask): + (WebCore::CCThreadTask1::create): + (WebCore::CCThreadTask1::CCThreadTask1): + (WebCore::CCThreadTask1::performTask): + (WebCore::CCThreadTask2::create): + (WebCore::CCThreadTask2::CCThreadTask2): + (WebCore::CCThreadTask2::performTask): + (WebCore::CCThreadTask3::create): + (WebCore::CCThreadTask3::CCThreadTask3): + (WebCore::CCThreadTask3::performTask): + (WebCore::createCCThreadTask): + +2011-04-07 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words + https://bugs.webkit.org/show_bug.cgi?id=57872 + + r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition + because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition. + + r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without + avoiding the tab span. + + Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy. + Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when + we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block + before moving the nodes. + + Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html + editing/inserting/insert-paragraph-separator-tab-span.html + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span, + no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor. + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph + separator into a paragraph separator. + * editing/htmlediting.cpp: + (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent + node after the tab span if the position was at the end of the tab span. + * editing/htmlediting.h: + +2011-04-07 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + [Mac] Editor::setComposition() should not trigger correction panel timer. + https://bugs.webkit.org/show_bug.cgi?id=58049 + <rdar://problem/9226305> + + On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input) + should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. + When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand(). + m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition(). + + No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing + autocorrection panel timer, which can not be easily done in automated fashion. + + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): + (WebCore::Editor::insertTextWithoutSendingTextEvent): + (WebCore::Editor::confirmComposition): + (WebCore::Editor::setComposition): + * editing/EditorCommand.cpp: + (WebCore::executeDelete): + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::TypingCommand): + (WebCore::TypingCommand::deleteSelection): + (WebCore::TypingCommand::deleteKeyPressed): + (WebCore::TypingCommand::forwardDeleteKeyPressed): + (WebCore::TypingCommand::insertText): + (WebCore::TypingCommand::insertLineBreak): + (WebCore::TypingCommand::insertParagraphSeparator): + (WebCore::TypingCommand::typingAddedToOpenCommand): + * editing/TypingCommand.h: + (WebCore::TypingCommand::create): + (WebCore::TypingCommand::setShouldPreventSpellChecking): + +2011-04-07 John Bauman <jbauman@chromium.org> + + Reviewed by Kenneth Russell. + + clearIfComposited call is really slow + https://bugs.webkit.org/show_bug.cgi?id=57999 + + Move getContextAttributes call after the if, so it isn't called nearly as often. + + No new tests. + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::clearIfComposited): + +2011-04-07 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Dimitri Glazkov. + + Implement Backgroun and Mask properties in CSSStyleApplyProperty + https://bugs.webkit.org/show_bug.cgi?id=57922 + + No tests added as no behavioral changes. + + * css/CSSStyleApplyProperty.cpp: + Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties. + (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): + Added constructor calls to set up: + CSSPropertyBackgroundAttachment + CSSPropertyBackgroundClip + CSSPropertyWebkitBackgroundClip + CSSPropertyWebkitBackgroundComposite + CSSPropertyBackgroundOrigin + CSSPropertyWebkitBackgroundOrigin + CSSPropertyBackgroundSize + CSSPropertyWebkitBackgroundSize + CSSPropertyWebkitMaskAttachment + CSSPropertyWebkitMaskClip + CSSPropertyWebkitMaskComposite + CSSPropertyWebkitMaskOrigin + CSSPropertyWebkitMaskSize + * css/CSSStyleApplyProperty.h: + (WebCore::CSSStyleApplyProperty::setPropertyValue): + Add function to specify an equivalent property value in the lookup table. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Remove sections now implemented by CSSStyleApplyProperty. + * css/CSSStyleSelector.h: + Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible. + +2011-04-04 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Split run storage out from BidiResolver into a new BidiRunList class + https://bugs.webkit.org/show_bug.cgi?id=57764 + + Part of what makes BidiResolver and InlineIterator so difficult to understand + (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine + for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting + BidiRuns from the algorithm. This patch breaks the storage aspect off + into its own class BidiRunList. + + This patch is only a start. It does not actually fix the problematic ownership + relationship, but it does make it possible to fix such in a second patch. + + The run pointers and addRun/prependRun, etc. were already a tightly coupled + logical subset of the BidiResolver class, so moving them into their own class + was both obvious and easy. The only piece of logic I had to move was that + deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver. + + I believe this deleteRuns side-effect was only ever used for one place + (right after findNextLineBreak) and that it's only needed because + findNextLineBreak can sometimes create bidi runs. Run creation appears to be + an unintentional side-effect of how InlineIterator calls through to BidiResolver + as part of bidiNext and not a desired effect of the code. I have added the call + to markCurrentRunEmpty to both places deleteRuns was called (where the resolver + could get re-used) as a safety precaution. We could replace both with ASSERTs + in a later patch. + + I suspect there may be a small performance win from further refactoring so that + findNextLineBreak does not need to create BidiRuns. + + As I commented in the code, callers should own their own BidiRunList which they + pass to BidiResolver::createBidiRunsForLine. I attempted to implement that in + an earlier version of this patch, but it was too complicated with the current + twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver. + raise/lowerExplicitEmbeddingLevel are called unconditionally + from commitExplicitEmbedding (which is called by bidiNext) and expect to have + access to a runs list even in cases where we don't want any runs (findNextLineBreak). + + I also cleaned up some of the callers to pass around BidiRunList objects instead + of InlineBidiResolvers now that they're separate objects. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawBidiText): + * platform/text/BidiResolver.h: + (WebCore::BidiResolver::BidiResolver): + (WebCore::BidiResolver::runs): + (WebCore::BidiResolver::markCurrentRunEmpty): + (WebCore::::appendRun): + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::reorderRunsFromLevels): + (WebCore::::createBidiRunsForLine): + * rendering/InlineIterator.h: + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::createRun): + (WebCore::RenderBlock::appendRunsForObject): + (WebCore::reachedEndOfTextRenderer): + (WebCore::RenderBlock::handleTrailingSpaces): + (WebCore::RenderBlock::layoutInlineChildren): + +2011-04-07 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Adam Barth. + + [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner. + https://bugs.webkit.org/show_bug.cgi?id=57911 + http://code.google.com/p/chromium/issues/detail?id=78073 + + Manual test added: manual-tests/autofill-popup-location.html + + Originally only height is checked so that it introduces the bug. + So I changed it to check both width and height as size. + + * manual-tests/autofill-popup-location.html: Added. + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect(). + +2011-04-07 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement img-src style-src and font-src + https://bugs.webkit.org/show_bug.cgi?id=58018 + + These are pretty straight forward given the rest of the infrastructure + we've built so far. + + Tests: http/tests/security/contentSecurityPolicy/image-allowed.html + http/tests/security/contentSecurityPolicy/image-blocked.html + http/tests/security/contentSecurityPolicy/style-allowed.html + http/tests/security/contentSecurityPolicy/style-blocked.html + http/tests/security/contentSecurityPolicy/xsl-allowed.php + http/tests/security/contentSecurityPolicy/xsl-blocked.php + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::canRequest): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowImageFromSource): + (WebCore::ContentSecurityPolicy::allowStyleFromSource): + (WebCore::ContentSecurityPolicy::allowFontFromSource): + (WebCore::ContentSecurityPolicy::addDirective): + * page/ContentSecurityPolicy.h: + +2011-04-07 David Levin <levin@chromium.org> + + Reviewed by Darin Adler. + + Make IconSnapshot and PageURLRecord member variables private. + https://bugs.webkit.org/show_bug.cgi?id=58080 + + No change in functionality so no new tests. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions. + (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto. + * loader/icon/IconRecord.h: + (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names. + (WebCore::IconSnapshot::iconURL): Expose the property. + (WebCore::IconSnapshot::timestamp): Ditto. + (WebCore::IconSnapshot::data): Ditto. + * loader/icon/PageURLRecord.h: + (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names. + (WebCore::PageURLSnapshot::pageURL): Expose the property. + (WebCore::PageURLSnapshot::iconURL): Ditto. + +2011-04-07 Dan Bernstein <mitz@apple.com> + + Build fix. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): + +2011-04-07 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add stub support for generating Gtk build system from gyp + https://bugs.webkit.org/show_bug.cgi?id=58086 + + This does not produce a buildable WebCore, but it + does allow running gyp/configure --port=gtk and having + it generate a gtk.Makefile which we can use for testing + the rest of the plumbing. + + * gyp/gtk.gyp: Added. + +2011-04-07 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=57736 + + Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout + optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when + layout finished. This would eventually lead to an inability to properly determine the correct layout root and + would cause a deleted root to be used later on. + + Added fast/block/positioning/complex-positioned-movement.html. + + * page/FrameView.cpp: + (WebCore::FrameView::scheduleRelayoutOfSubtree): + Add asserts to catch cases in the future where a layout root is set that has a dirty containing block. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::simplifiedLayout): + Change simplified layout so that the positioned movement optimization no longer clears the other layout + flags. This will ensure that we still lay out our descendants if they need it. + + (WebCore::RenderBlock::layoutPositionedObjects): + Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly + no longer does the clear. + + * rendering/RenderBox.h: + (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): + tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure. On success it no longer + does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at + the other flags in case other kinds of layout are still needed. + + * rendering/RenderObject.h: + (WebCore::RenderObject::setNeedsPositionedMovementLayout): + (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): + Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation. + +2011-04-07 Andrew Scherkus <scherkus@chromium.org> + + Revert ENABLE_TRACK patch due to compile failures. + + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * features.pri: + * html/HTMLAttributeNames.in: + * html/HTMLTagNames.in: + * html/HTMLTrackElement.cpp: Removed. + * html/HTMLTrackElement.h: Removed. + * html/HTMLTrackElement.idl: Removed. + +2011-04-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor + https://bugs.webkit.org/show_bug.cgi?id=58083 + + Test: fast/text/decorations-transformed.html + + * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides + is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel + gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds + the width and the height. In this new mode, translating a rectangle in user space never changes + its dimensions in device pixels. + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions. + (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that + all underlines have the same thickness in device pixels. + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it. + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Ditto. + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Ditto. + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Ditto. + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::roundToDevicePixels): Ditto. + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintDecoration): + +2011-04-06 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Nate Chapin. + + [V8] Remove custom DOMImplementation getter on Document. + https://bugs.webkit.org/show_bug.cgi?id=57991 + + The custom getter is no longer required because DOMImplementation + objects are now created per document. + + Test: fast/dom/DOMImplementation/implementation-identity.html + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/custom/V8DocumentCustom.cpp: + * dom/Document.idl: + +2011-04-07 Sergey Glazunov <serg.glazunov@gmail.com> + + Reviewed by Dimitri Glazkov. + + setHasID() is only called for styled elements + https://bugs.webkit.org/show_bug.cgi?id=57267 + + Test: fast/dom/non-styled-element-id-crash.html + + * dom/Element.cpp: + (WebCore::Element::attributeChanged): + (WebCore::Element::idAttributeChanged): + * dom/Element.h: + * dom/StyledElement.cpp: + (WebCore::StyledElement::parseMappedAttribute): + +2011-04-07 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available. + https://bugs.webkit.org/show_bug.cgi?id=58070 + + Make the HTMLMediaElement full screen functions call into the new Full Screen API when + FULLSCREEN_API is enabled. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::enterFullscreen): + (WebCore::HTMLMediaElement::exitFullscreen): + +2011-04-07 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement CSP's options directive + https://bugs.webkit.org/show_bug.cgi?id=58014 + + This patch contains the full options parser, but we only have enough of + CSP implemented to see the effects of disable-xss-protection. Will + need to do some more work before we can see eval-script in action. + + Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html + http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html + + * page/ContentSecurityPolicy.cpp: + (WebCore::CSPOptions::CSPOptions): + (WebCore::CSPOptions::disableXSSProtection): + (WebCore::CSPOptions::evalScript): + (WebCore::CSPOptions::parse): + (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): + (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): + (WebCore::ContentSecurityPolicy::allowInlineScript): + (WebCore::ContentSecurityPolicy::addDirective): + * page/ContentSecurityPolicy.h: + +2011-04-07 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Anders Carlsson. + + REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri + https://bugs.webkit.org/show_bug.cgi?id=58066 + <rdar://problem/8965302> + + * platform/mac/HTMLConverter.h: + * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]): + Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since + it's now used in WebKit2. + +2011-04-07 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (r64712): Microsoft Outlook 2011: original message contents + not included when replying to an email. + https://bugs.webkit.org/show_bug.cgi?id=57794 + + * WebCore.exp.in: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts() + before checking if the FrameLoader is parsing the initial empty document. + This allows user scripts to be injected at the end of document parsing + (if the setting is enabled). + * page/Frame.cpp: + (WebCore::Frame::injectUserScripts): Do not inject scripts if this + feature is disabled on the initial empty document. + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: Add a setting for injecting user scripts into the + initial empty document (defaults to false). + (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument): + (WebCore::Settings::injectUserScriptsInInitialEmptyDocument): + * platform/mac/RuntimeApplicationChecks.h: + * platform/mac/RuntimeApplicationChecks.mm: + (WebCore::applicationIsMicrosoftOutlook): Check if the embedding + application is Microsoft Outlook. + +2011-04-06 Jer Noble <jer.noble@apple.com> + + Reviewed by Maciej Stachowiak. + + AVF: MediaPlayerPrivateAVFoundation never reaches playable state. + https://bugs.webkit.org/show_bug.cgi?id=57962 + + Add support for a new AVPlayerItem API which will notify clients when their + seek completes. This requires a new Notification type to be passed to the main + thread in MediaPlayerPrivateAVFoundation. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added. + (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new + overloaded functions which take a Notification; and a Notification::Type and boolean. + (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted + Notification type. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor. + (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor. + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API. + (-[WebCoreAVFMovieObserver seekCompleted:]): Added. + +2011-04-07 Nancy Piedra <nancy.piedra@nokia.com> + + Reviewed by Eric Carlson. + + Parse quotes from content type parameters + https://bugs.webkit.org/show_bug.cgi?id=53275 + + This functionality is tested in video-can-play-type.html layout test + where I've added codecs parameter with good and bad formatting. + + * platform/ContentType.cpp: + (WebCore::ContentType::parameter): + +2011-04-07 Pavel Feldman <pfeldman@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove "enabled" from the setBreakpoint protocol. + https://bugs.webkit.org/show_bug.cgi?id=58047 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::hasBreakpoint): + * bindings/v8/DebuggerScript.js: + (): + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::buildObjectForBreakpointCookie): + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::continueToLocation): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/ScriptBreakpoint.h: + (WebCore::ScriptBreakpoint::ScriptBreakpoint): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger): + (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): + (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings): + (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._reset): + (WebInspector.PresentationBreakpoint): + +2011-04-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + Removed a redundant line of code. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as + this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check. + +2011-04-07 Liang Qi <liang.qi@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt][Symbian] Enable webkit build with GCCE on Symbian. + https://bugs.webkit.org/show_bug.cgi?id=57841 + + * WebCore.pri: Thanks for Norbert Leser <norbert.leser@nokia.com> who checked RVCT part. + --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated + to 0x1000000 together. They need to be updated in the future when WebKit grows. + +2011-04-06 Pavel Feldman <pfeldman@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: get rid of Breakpoint.js. + https://bugs.webkit.org/show_bug.cgi?id=57949 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/Breakpoint.js: Removed. + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel): + (WebInspector.DebuggerModel.prototype._debuggerWasDisabled): + (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpoint): + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype.removeBreakpoint): + (WebInspector.DebuggerModel.prototype._breakpointResolved): + (WebInspector.DebuggerModel.prototype.reset): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): + (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): + (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): + (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): + (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint): + (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): + (WebInspector.DebuggerPresentationModel.prototype._reset): + (WebInspector.PresentationBreakpoint): + (WebInspector.PresentationBreakpoint.prototype.get sourceFile): + (WebInspector.PresentationBreakpoint.prototype.get url): + (WebInspector.PresentationBreakpoint.prototype.get resolved): + (WebInspector.PresentationBreakpoint.prototype.loadSnippet): + * inspector/front-end/ResourceTreeModel.js: + (WebInspector.ResourceTreeModel): + (WebInspector.ResourceTreeModel.prototype._onResourceStarted): + (WebInspector.ResourceTreeModel.prototype._addResourceToFrame): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype._breakpointUpdated): + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-04-07 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: console messages names should adhere to the common naming style + https://bugs.webkit.org/show_bug.cgi?id=58042 + + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::addToFrontend): + (WebCore::ConsoleMessage::updateRepeatCountInConsole): + * inspector/Inspector.json: + * inspector/InspectorConsoleAgent.cpp: + (WebCore::InspectorConsoleAgent::clearConsoleMessages): + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared): + (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): + +2011-04-06 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: migrate Inspector protocol messages format to JSON-RPC. + https://bugs.webkit.org/show_bug.cgi?id=57957 + + There is not a significant difference between inspector messages spec and and JSON-RPC 2.0 messages spec. + Also JSON-RPC has a pretty clear specification for error descriptions which we haven't. + It was decided that we will use it. + + the list of renames: + 1) type-> /dev/null + 2) domain + '.' + event => method // for events + 3) domain + '.' + command => method // for requests + 4) requestId => id // for responses + 5) arguments => params // for requests + 6) data => params // for events + 7) body => result // for responses + + protocolErrors and error properties will be converted to JSON-RPC error format. + The order of properties in messages also will be adjusted. + The only thing that looks unnecessary is jsonrpc property. + + * inspector/CodeGeneratorInspector.pm: + +2011-04-07 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Add functions to update left and right offsets to LineOffsets + https://bugs.webkit.org/show_bug.cgi?id=58028 + + Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets, + which are used to update m_left and m_right. Also added m_block and m_isFirstLine + member variables to LineOffsets so that users of LineOffsets don't have to pass them around. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine. + (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets. + (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine. + (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine. + (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine. + (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and + no longer passes firstLine around. + +2011-04-06 Pavel Feldman <pfeldman@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: migrate debugger domain to the unified breakpoint location notion. + https://bugs.webkit.org/show_bug.cgi?id=57928 + + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::buildObjectForBreakpointCookie): + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::resolveBreakpoint): + (WebCore::InspectorDebuggerAgent::didParseSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint): + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): + (WebInspector.DebuggerModel.prototype._breakpointResolved): + +2011-04-07 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Benjamin Poulain. + + [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars. + + When initializing a QStyleOptionSlider from a widget, the State_Horizontal + hint may get set depending on how that widget is laid out in its parent. + If this happens when drawing a vertical scrollbar, the hint is never + cleared and we end up painting a vertical scrollbar with horizontal arrows. + + Covered by pixel tests which should no longer paint silly scrollbars. + + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::styleOptionSlider): + +2011-04-07 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + script-src should block inline script + https://bugs.webkit.org/show_bug.cgi?id=58012 + + Block inline scripts at the ScriptElement layer. This should catch + exactly the scripts we want to catch. + + Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html + + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): + - This patch also adds the ability to supply a CSP policy via a + <meta> tag. We'll update the name of the header once we've + finished implementing the spec. + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::executeScript): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowInlineScript): + * page/ContentSecurityPolicy.h: + +2011-04-07 Alice Boxhall <aboxhall@chromium.org> + + Reviewed by Ryosuke Niwa. + + Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler. + https://bugs.webkit.org/show_bug.cgi?id=57921 + + Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so + that the same logic can be used for a HitTestResult. + + No visible changes, just cleanup, so no tests. + + * page/EventHandler.cpp: + (WebCore::EventHandler::selectClosestWordFromMouseEvent): + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): + (WebCore::EventHandler::handleMousePressEventTripleClick): + (WebCore::EventHandler::handleMousePressEventSingleClick): + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseDraggedEvent): + (WebCore::EventHandler::handleMouseReleaseEvent): + (WebCore::EventHandler::subframeForHitTestResult): + Made public static member, so that it can access targetNode(), and be accessed by + webkitwebview in gtk. + (WebCore::EventHandler::selectCursor): + (WebCore::EventHandler::targetNode): + (WebCore::EventHandler::handleMouseDoubleClickEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::updateDragAndDrop): + (WebCore::EventHandler::sendContextMenuEvent): + * page/EventHandler.h: + * page/MouseEventWithHitTestResults.cpp: + (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): + * page/MouseEventWithHitTestResults.h: + * page/android/EventHandlerAndroid.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/brew/EventHandlerBrew.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::passMousePressEventToSubframe): + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/efl/EventHandlerEfl.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/gtk/EventHandlerGtk.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/haiku/EventHandlerHaiku.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + (WebCore::EventHandler::passSubframeEventToSubframe): + * page/wx/EventHandlerWx.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + +2011-04-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: build mapping for formatted scripts based on keywords positions. + https://bugs.webkit.org/show_bug.cgi?id=57936 + + Mapping based on [\$\.\w]+ was not accurate because string literals representation + may be different in original and formatted scripts. + + * inspector/front-end/ScriptFormatterWorker.js: + (buildMapping.regexp.b): + (buildMapping): + +2011-04-07 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Spinbuttons become unclickable if right padding is large. + https://bugs.webkit.org/show_bug.cgi?id=56298 + + An inner-spin-button is put on the right border and ignores right + padding in RenderTextControlSingleLine::layout(), but forwardEvent() + checks if a point is in an area just right of an internal text block. + This inconsistency caused a bug that an inner-spin-button with large + padding didn't receive mouse events. + + To fix this bug, we render spin buttons as layers, and remove manual + event forwarding code. + + Test: fast/forms/input-number-large-padding.html + + * css/html.css: Add "position:relative" to make a spin-button a layer. + (input::-webkit-inner-spin-button): + (input::-webkit-outer-spin-button): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::forwardEvent): + Remove manual event forwarding code. + +2011-04-06 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + CSP object-src should block plugin loads + https://bugs.webkit.org/show_bug.cgi?id=57283 + + This change is pretty straight-forward. It's slighly unclear to me + whether this patch is correct w.r.t. the code in DocumentWriter. I've + added a FIXME comment, and I'll investigate that case more in the future. + + Test: http/tests/security/contentSecurityPolicy/object-src-none.html + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::requestPlugin): + * page/ContentSecurityPolicy.cpp: + (WebCore::ContentSecurityPolicy::allowObjectFromSource): + (WebCore::ContentSecurityPolicy::addDirective): + * page/ContentSecurityPolicy.h: + +2011-04-06 Beth Dakin <bdakin@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=58009 + Frame::scalePage() results in visual artifacts with scale factors less than 1 + -and corresponding- + <rdar://problem/8683230> + + Fall into the case where we fill with a background base color when there is a page + scale factor that is less than 1. + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2011-04-06 Jer Noble <jer.noble@apple.com> + + Reviewed by Darin Adler. + + AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty] + https://bugs.webkit.org/show_bug.cgi?id=57982 + + Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): + +2011-04-06 Jer Noble <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + MediaPlayerPrivateAVFoundation does not change rate due to setRate(). + https://bugs.webkit.org/show_bug.cgi?id=57919 + + Test: media/video-set-rate-from-pause.html + + The base class of MediaPlayerPrivateAVFoundation does not actually change the rate + of the media; instead a subclass must do that work. So when setRate() is called, + inform a subclass through a new pure virtual updateRate() function that there's + work to be done. + + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: + (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate() + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: + * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: + (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added. Set the requested rate. + +2011-04-06 Dai Mikurube <dmikurube@chromium.org> + + Reviewed by David Levin. + + Add QUOTA build flag for unified quota API + https://bugs.webkit.org/show_bug.cgi?id=57918 + + * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag + * GNUmakefile.am: Added QUOTA build flag + * WebCore.pri: Added QUOTA build flag + +2011-04-06 Stephanie Lewis <slewis@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=57997 + <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs + Navigating away from a Scrolled page which queues a scroll event that is never dispatched. + Cancel all enqueued events when detaching the Document the events cannot keep the Document + alive. + + No change in functionality so no new tests. + + * dom/Document.cpp: + (WebCore::Document::detach): + * dom/EventQueue.cpp: + (WebCore::EventQueue::cancelQueuedEvents): + * dom/EventQueue.h: + +2011-04-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic + https://bugs.webkit.org/show_bug.cgi?id=58002 + + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard + does not require the vertical metrics tweaks that were needed in Leopard. That the + tweaks were being applied went mostly unnoticed until r73993, because until then it + only affected cases where Geeza Pro was specified, not when it occurred as a fallback + font. + +2011-04-06 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 57994 - Move guardRef functionality back to Document + https://bugs.webkit.org/show_bug.cgi?id=57994 + + Move the relevant code parts from TreeScope back into Document. + + No new tests. (no new functionality) + + * dom/Document.cpp: + (WebCore::Document::removedLastRef): + * dom/Document.h: + * dom/TreeScope.cpp: + (WebCore::TreeScope::destroyTreeScopeData): + * dom/TreeScope.h: + +2011-04-06 Ian Henderson <ianh@apple.com> + + Reviewed by Simon Fraser, Antti Koivisto. + + Fast path for parsing simple CSS values + https://bugs.webkit.org/show_bug.cgi?id=57964 + + Add functions to parse simple color or dimension values, skipping the + overhead of full CSS parsing. + + Change parseValue to a static method to avoid unnecessary allocation + of a CSSParser in the fast case. + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::setProperty): + Changed to use the new, static parseValue method. + * css/CSSParser.cpp: + (WebCore::isColorPropertyID): + (WebCore::parseColorValue): + Parses any color accepted by the existing parseColor() static method. + We must handle color identifiers separately, since parseColor() will + change 'red' into 'rgb(255, 0, 0)'. + (WebCore::isSimpleLengthPropertyID): + (WebCore::parseSimpleLengthValue): + Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is + false, or 'NN' is '0'). Returns false to fall back to the slow path. + (WebCore::CSSParser::parseValue): + * css/CSSParser.h: + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::setMatrixValue): + Changed to use the new, static parseValue method. + +2011-04-06 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Darin Adler. + + Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros. + + https://bugs.webkit.org/show_bug.cgi?id=27551 + + * config.h: + +2011-04-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Antti Koivisto. + + Some minor style resolution optimizations + https://bugs.webkit.org/show_bug.cgi?id=57996 + + A couple of minor optimizations to style-related code. + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::isCSSPropertyName): + (WebCore::JSCSSStyleDeclaration::putDelegate): + Avoid calling cssPropertyName() twice when setting style on an element. + + * css/CSSStyleSelector.cpp: + (WebCore::useSVGZoomRules): + (WebCore::CSSStyleSelector::applyProperty): + Avoid calling isSVGElement() for every property, since only a two properties + care about it. + +2011-04-06 Ian Henderson <ianh@apple.com> + + Reviewed by Antti Koivisto. + + Unnecessary string allocation in CSSStyleDeclaration::setProperty + https://bugs.webkit.org/show_bug.cgi?id=57995 + + Pass the bool representing the property's importance directly instead + of constructing a string. + + * css/CSSStyleDeclaration.cpp: + (WebCore::CSSStyleDeclaration::setProperty): + +2011-04-06 Leandro Gracia Gil <leandrogracia@chromium.org> + + Reviewed by Steve Block. + + Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version. + https://bugs.webkit.org/show_bug.cgi?id=57963 + + No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html + + * bindings/v8/V8Utilities.h: + (WebCore::createFunctionOnlyCallback): + * bindings/v8/custom/V8GeolocationCustom.cpp: + (WebCore::V8Geolocation::getCurrentPositionCallback): + (WebCore::V8Geolocation::watchPositionCallback): + +2011-04-06 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + WebKit2: Support Windows 7 Gestures + https://bugs.webkit.org/show_bug.cgi?id=49824 + <rdar://problem/8689728> + + Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2. + + * WebCore.vcproj/WebCore.vcproj: + * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h. + +2011-04-06 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA). + https://bugs.webkit.org/show_bug.cgi?id=57974 + + We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA). + + No new tests needed, just a config flag rename. + + * features.pri: + +2011-04-06 Tyler Close <tjclose@chromium.org> + + Reviewed by Nate Chapin. + + run-bindings-tests reference files out of sync with CodeGenerator*.pm + https://bugs.webkit.org/show_bug.cgi?id=57967 + + * bindings/scripts/test/V8/V8TestCallback.cpp: + +2011-04-06 Asanka Herath <asanka@chromium.org> + + Reviewed by Darin Fisher. + + Add new TargetType: TargetIsFavicon + + https://bugs.webkit.org/show_bug.cgi?id=57659 + + No new functionality added, so no additional tests. + + * platform/network/ResourceRequestBase.h: + +2011-04-06 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=57981 + + Update the column count and width computation algorithm for CSS3 multi-column layout + to match the revised pseudo-algorithm in the latest draft of the spec. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::calcColumnWidth): + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline + https://bugs.webkit.org/show_bug.cgi?id=57965 + + Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd + from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd + instead of marginStartForChild and marginEndForChild respectively. + + Calling these two functions on RenderInline is okay because writing-mode cannot differ + from that of the containing block. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::borderPaddingMarginStart): + (WebCore::borderPaddingMarginEnd): + (WebCore::inlineLogicalWidth): + +2011-04-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r83039. + http://trac.webkit.org/changeset/83039 + https://bugs.webkit.org/show_bug.cgi?id=57978 + + introduced a new regression in conjunction to + ReplaceSelectionCommand (Requested by rniwa on #webkit). + + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::init): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + +2011-04-06 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by David Levin. + + Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects + https://bugs.webkit.org/show_bug.cgi?id=27658 + + Test: fast/events/select-element.html + + * dom/SelectElement.cpp: + (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines. + (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index. + (WebCore::nextSelectableListIndex): Implemented with nextValidIndex. + And converted to a normal static function from a private function of SelectElement. + (WebCore::previousSelectableListIndex): Implemented with nextValidIndex. + And converted to a normal static function from a private function of SelectElement. + (WebCore::firstSelectableListIndex): Returns the first selectable index. + (WebCore::lastSelectableListIndex): Returns the last selectable index. + (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast. + (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection. + + * dom/SelectElement.h: + (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex(). + + * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML. + They can differ due to the minimum size imposed by RenderListBox. + +2011-04-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=57975 + + The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check + to just look at the style, so that it can find the InlineTextBox and not care that it's a child + of the link element and not the line box for the link element itself (since that line box got + culled). + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::applyLineClamp): + +2011-04-06 Brady Eidson <beidson@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973 + WK2 icon database should be able to get a CGImage of a specific size + + * platform/graphics/BitmapImage.h: + * platform/graphics/Image.h: + (WebCore::Image::getFirstCGImageRefOfSize): + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the + first frame of the requested size. + +2011-04-06 Malcolm MacLeod <malcolm.macleod@tshwanedje.com> + + Reviewed by Kevin Ollivier. + + [wx] Fix cursor handling so that we always call the chrome to set it. + + https://bugs.webkit.org/show_bug.cgi?id=57972 + + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::setCursor): + +2011-04-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=41445 + + Visited links painting with black background. Make sure that if the visited style has + the initial background color (transparent) set that we just use the unvisited color. + + Added fast/history/visited-link-background-color.html + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::visitedDependentColor): + +2011-04-06 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed Qt buildfix after r83079. + + * WebCore.pro: + +2011-04-06 Dean Jackson <dino@apple.com> + + Reviewed by Chris Marrin. + + https://bugs.webkit.org/show_bug.cgi?id=56936 + Crash in ImplicitAnimation::~ImplicitAnimation + + Make sure the style and start time waiting lists + are cleared in the CompositeAnimation destructor. This + way, no running transitions can be left in a state + where they are destroyed as the AnimationControllerPrivate + cleans up. + + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::~CompositeAnimation): + +2011-04-06 Robert Sesek <rsesek@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too + https://bugs.webkit.org/show_bug.cgi?id=54969 + + No change in behavior; no new tests. + + * editing/TextIterator.cpp: + (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits + * editing/TextIterator.h: + * page/Frame.cpp: + (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits + +2011-04-06 Leandro Gracia Gil <leandrogracia@chromium.org> + + Reviewed by Steve Block. + + Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore. + https://bugs.webkit.org/show_bug.cgi?id=57770 + + Create a template from an existing functionality in JSGeolocationCustom.cpp + to be used by the custom bindings of both Geolocation and the Media Stream API. + V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760 + + No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html + + * Android.jscbindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/CallbackFunction.cpp: Added. + (WebCore::checkFunctionOnlyCallback): + * bindings/js/CallbackFunction.h: Added. + (WebCore::createFunctionOnlyCallback): + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSGeolocationCustom.cpp: + (WebCore::JSGeolocation::getCurrentPosition): + (WebCore::JSGeolocation::watchPosition): + +2011-04-06 Alexis Menard <alexis.menard@openbossa.org> + + Reviewed by Andreas Kling. + + [Qt] Implement fullscreen playback for the GStreamer backend. + https://bugs.webkit.org/show_bug.cgi?id=56826 + + Implement support for fullscreen playback when building the + Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1). + The implementation is done in FullScreenVideoQt alongside with + the Qt Multimedia support. + + No new tests because layout tests cover it. They are not yet activated + but will be any time soon. + + * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: + * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: + (FullScreenVideoWindow::FullScreenVideoWindow): + (FullScreenVideoWindow::setVideoElement): + (FullScreenVideoWindow::closeEvent): + (FullScreenVideoWindow::keyPressEvent): + (FullScreenVideoWindow::event): + (FullScreenVideoWindow::showFullScreen): + (FullScreenVideoWindow::hideCursor): + (FullScreenVideoWindow::showCursor): + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dimitri Glazkov. + + Bundle lineLeftOffset and lineRightOffset as a class + https://bugs.webkit.org/show_bug.cgi?id=57851 + + Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset. + The patch makes clear that lineLeftOffset and lineRightOffset are never read individually + and only the difference is used to compute the width. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers. + (WebCore::LineOffsets::LineOffsets): Added. + (WebCore::LineOffsets::width): Added. + (WebCore::LineOffsets::setLeft): Added. + (WebCore::LineOffsets::setRight): Added. + (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine. + (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers. + +2011-04-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=57916 + + Implement an optimization to the line box tree to cull out most of the intermediate + line boxes that can occur between the root line box and the leaves of the tree (images + and text). + + RenderInlines now have a boolean member, m_alwaysCreateLineBoxes, + that starts off as false. Only if it gets flipped to true will there be any line boxes + created for that RenderInline. + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionally): + Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout + is up to date. + + * page/SpatialNavigation.cpp: + (WebCore::hasOffscreenRect): + (WebCore::nodeRectInAbsoluteCoordinates): + Add asserts in spatial navigation code to catch any future bad queries that might be made + for rectangles without layout being up to date. + + * platform/graphics/FloatRect.cpp: + (WebCore::FloatRect::uniteIfNonZero): + * platform/graphics/FloatRect.h: + * platform/graphics/IntRect.cpp: + (WebCore::IntRect::uniteIfNonZero): + * platform/graphics/IntRect.h: + Add a new unite function that is useful for the render tree to FloatRect and IntRect. This + version allows rect unites to happen if either width or height is nonzero. + + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::addNodeToRectBasedTestResult): + Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes + if content inside those inlines is hit. + + * rendering/InlineBox.h: + (WebCore::InlineBox::logicalFrameRect): + Fix a bug in this function for obtaining the logical frame rect of an inline box. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + addToLine now also checks line gap in the line box tree optimization checks. + + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + (WebCore::InlineFlowBox::computeOverflow): + * rendering/InlineFlowBox.h: + Rewritten to add the text box overflow to the text box itself. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::destroy): + Destroy has been changed to call a helper function to remove and destroy the line boxes that + is now called from one additional spot. + + (WebCore::InlineTextBox::logicalOverflowRect): + (WebCore::InlineTextBox::setLogicalOverflowRect): + Text boxes now cache their own overflow in a global hash table. + + (WebCore::InlineTextBox::baselinePosition): + (WebCore::InlineTextBox::lineHeight): + Changed to not assume that the parent line box's renderer is the RenderText's immediate + parent, since intermediate line boxes may have been culled. + + (WebCore::InlineTextBox::paint): + Paint now properly checks only the text box overflow instead of the parent line box's overflow. + + * rendering/InlineTextBox.h: + (WebCore::InlineTextBox::logicalTopVisualOverflow): + (WebCore::InlineTextBox::logicalBottomVisualOverflow): + (WebCore::InlineTextBox::logicalLeftVisualOverflow): + (WebCore::InlineTextBox::logicalRightVisualOverflow): + New accessors to obtain overflow for inline text boxes. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those + text boxes may not have anything in between them and the block that contains the inline first letter + container. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::createLineBoxes): + The culling optimization is done here. Only if the RenderInline says that boxes are allowed will they + be created. + + (WebCore::RenderBlock::layoutInlineChildren): + The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed. + This is done before any lines are built. + + * rendering/RenderInline.cpp: + (WebCore::RenderInline::RenderInline): + The new m_alwaysCreateLineBoxes flag has been added to the constructor. + + (WebCore::RenderInline::styleDidChange): + An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately + (like having a layer, borders, padding, margins or backgrounds). Some checks that depend on examining + the RenderInline's parent (including first line styles) happen later in layoutInlineChildren. + + (WebCore::RenderInline::updateAlwaysCreateLineBoxes): + The function called by layoutInlineChildren to check parent and child style differences (e.g., font, + vertical alignment, line height, etc.). + + (WebCore::RenderInline::absoluteRects): + (WebCore::RenderInline::culledInlineAbsoluteRects): + absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::absoluteQuads): + (WebCore::RenderInline::culledInlineAbsoluteQuads): + absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::offsetLeft): + (WebCore::RenderInline::offsetTop): + offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::linesBoundingBox): + (WebCore::RenderInline::culledInlineBoundingBox): + lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::culledInlineFirstLineBox): + (WebCore::RenderInline::culledInlineLastLineBox): + Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and + lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop). + + (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox): + (WebCore::RenderInline::linesVisualOverflowBoundingBox): + linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::clippedOverflowRectForRepaint): + The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox. + + (WebCore::RenderInline::dirtyLineBoxes): + dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when + m_alwaysCreateLineBoxes is false. + + (WebCore::RenderInline::createAndAppendInlineFlowBox): + Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also + when line-box-contain is set to an unusual value. + + (WebCore::RenderInline::addFocusRingRects): + Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false. + + * rendering/RenderInline.h: + (WebCore::RenderInline::firstLineBoxIncludingCulling): + (WebCore::RenderInline::lastLineBoxIncludingCulling): + Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box + is all that needs checking. + + (WebCore::RenderInline::alwaysCreateLineBoxes): + (WebCore::RenderInline::setAlwaysCreateLineBoxes): + Functions for getting and setting the m_alwaysCreateLineBoxes flag. + + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): + Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of + lines get dirtied. + + * rendering/RenderText.cpp: + (WebCore::RenderText::removeAndDestroyTextBoxes): + New helper invoked by destroy and also from updateFirstLetter. + + (WebCore::RenderText::destroy): + Changed to call removeAndDestroyTextBoxes. + + (WebCore::RenderText::absoluteRects): + Fixed to be properly physical instead of logical. + + (WebCore::RenderText::linesVisualOverflowBoundingBox): + New implementation for RenderText that gives the bounding box of the text boxes including overflow from + shadows, glyphs, text-stroke, etc. Used by RenderInline::culledInlineVisualOverflowBoundingBox. + + * rendering/RenderText.h: + * rendering/svg/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::RenderSVGInline): + RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization. + + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): + (WebCore::SVGRootInlineBox::layoutChildBoxes): + Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are + now InlineTextBoxes (the enclosing InlineFlowBoxes got culled). + +2011-04-05 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + REGRESSION: Drag & Drop Gmail Attachments doesn't work. + https://bugs.webkit.org/show_bug.cgi?id=57909 + <rdar://problem/9103220> + + In WebKit2 we cannot rely on the value returned by platformData() that + on Mac returns an NSDraggingInfo object. This is available only in the UI + process. Therefore we should use m_pasteboard instead. + We cannot change what platformData() returns on Mac, since there are + delegate methods that receive a NSDraggingInfo object (only in WebKit). + + * platform/DragData.h: + (WebCore::DragData::pasteboard): Added. + * platform/mac/ClipboardMac.mm: + (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData(). + * platform/mac/DragDataMac.mm: + (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard. + (WebCore::DragData::asURL): Same as above. + +2011-04-06 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Darin Adler. + + ClipboardWin has unused variables "ExceptionCode ec" + https://bugs.webkit.org/show_bug.cgi?id=57952 + + Remove the unused variable. + + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::declareAndWriteDragImage): + (WebCore::ClipboardWin::writePlainText): + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Dimitri Glazkov. + + Split getBorderPaddingMargin into two functions + https://bugs.webkit.org/show_bug.cgi?id=57947 + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin. + (WebCore::borderPaddingMarginEnd): Ditto. + (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd. + (WebCore::RenderBlock::findNextLineBreak): Ditto. + +2011-04-06 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + [Refactoring] <progress> should not have manual layout code. + https://bugs.webkit.org/show_bug.cgi?id=57801 + + - Simplified RenderProgress, removing its custom layout code + - Introducing ProgressValueElement and ProgressBarElement, replacing + ProgressBarValueElement. + + Now the structure is almost identical to <meter>, + other than: + - RenderProgress has animated painting, thus manages its own timer. + - Both ProgressValueElement and ProgressBarElement has pseudo classes + which don't changes during its lifetime. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/html.css: + (progress): + (progress::-webkit-progress-bar): + (progress::-webkit-progress-value): + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::~HTMLProgressElement): + (WebCore::HTMLProgressElement::create): + (WebCore::HTMLProgressElement::attach): + (WebCore::HTMLProgressElement::didElementStateChange): + (WebCore::HTMLProgressElement::createShadowSubtree): + * html/HTMLProgressElement.h: + * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h. + (WebCore::ProgressShadowElement::ProgressShadowElement): + (WebCore::ProgressShadowElement::progressElement): + (WebCore::ProgressShadowElement::rendererIsNeeded): + (WebCore::ProgressBarElement::shadowPseudoId): + (WebCore::ProgressValueElement::shadowPseudoId): + (WebCore::ProgressValueElement::setWidthPercentage): + * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h. + (WebCore::ProgressBarElement::ProgressBarElement): + (WebCore::ProgressBarElement::create): + (WebCore::ProgressValueElement::ProgressValueElement): + (WebCore::ProgressValueElement::create): + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::RenderProgress): + (WebCore::RenderProgress::updateFromElement): + (WebCore::RenderProgress::animationTimerFired): + * rendering/RenderProgress.h: + (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation): + (WebCore::RenderProgress::canHaveChildren): + +2011-04-06 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] Do not reference AccessibilityRenderObject from platform dependent code + https://bugs.webkit.org/show_bug.cgi?id=57955 + + Do not reference AccessibilityRenderObject from platform specific code + + Added new virtual functions to AccessibilityObject.h and removed + explicit references to AccessibilityRenderObject from GTK code. + + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::renderer): New virtual method, + returning 0 by default. Overriden by AccessibilityRenderObject. + (WebCore::AccessibilityObject::correspondingLabelForControlElement): + New virtual method, returning 0 by default. It complements the + already present method correspondingControlForLabelElement(). + + * accessibility/AccessibilityRenderObject.h: + (WebCore::AccessibilityRenderObject::renderer): Made virtual. + + * accessibility/gtk/AXObjectCacheAtk.cpp: + (WebCore::emitTextChanged): Reference AccessibilityObject, + instead of AccessibilityRenderObject. + (WebCore::AXObjectCache::nodeTextChangePlatformNotification): + Ditto. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_name): Do not reference + AccessibilityRenderObject. + (webkit_accessible_get_description): Ditto. + (setAtkRelationSetFromCoreObject): Ditto. + (optionFromList): Ditto. + (optionFromSelection): Ditto. + (webkit_accessible_selection_clear_selection): Ditto. + (webkit_accessible_selection_get_selection_count): Ditto. + (webkit_accessible_selection_select_all_selection): Ditto. + (textForObject): Ditto. + (webkit_accessible_text_get_text): Ditto. + (getPangoLayoutForAtk): Ditto. + (webkit_accessible_text_get_caret_offset): Ditto. + (baselinePositionForRenderObject): Ditto. + (getAttributeSetForAccessibilityObject): Ditto. + (accessibilityObjectLength): Ditto. + (getSelectionOffsetsForObject): Ditto. + (webkit_accessible_text_set_selection): Ditto. + (webkit_accessible_text_set_caret_offset): Ditto. + (webkit_accessible_table_get_caption): Ditto. + (getInterfaceMaskFromObject): Ditto. + + * accessibility/gtk/WebKitAccessibleHyperlink.cpp: + (getRangeLengthForObject): Ditto. + + Removed unused renderer() method from AccessibilityMenuList. + + * accessibility/AccessibilityMenuList.h: Removed unused method. + * accessibility/AccessibilityMenuList.cpp: Removed unused method. + +2011-04-06 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Javascipt warning link expand and overlap with icons in js console + https://bugs.webkit.org/show_bug.cgi?id=57939 + + * inspector/front-end/inspector.js: + (WebInspector.linkifyURLAsNode): + +2011-04-06 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Beautify parameter names in Inspector.json (CSS domain) + https://bugs.webkit.org/show_bug.cgi?id=57931 + + * inspector/Inspector.json: + +2011-04-06 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text. + https://bugs.webkit.org/show_bug.cgi?id=57665 + <rdar://problem/7350477> + + We need to track how user modified an autocorrected word. If he changed it back to original + text, we want to record AutocorrectionReverted response. And if he changed it to something + else, we want to record AutocorrectionEdited response. + + To achieve this, we need to distringuish between text replacement caused by autocorrection + from that due to other causes, such as reversion, text substitution, etc. So we added a new + marker type "Autocorrected". We also need to be able to check for correction, even when we + don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption + value, "CheckForCorrection". + + We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in + specified range, and of specified type. + + * dom/DocumentMarker.h: + * dom/DocumentMarkerController.cpp: + (WebCore::DocumentMarkerController::markersInRange): + (WebCore::DocumentMarkerController::hasMarkers): + * dom/DocumentMarkerController.h: + * editing/Editor.cpp: + (WebCore::markerTypesForAutocorrection): + (WebCore::markersHaveIdenticalDescription): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection): + (WebCore::Editor::changeBackToReplacedString): + (WebCore::Editor::markMisspellingsAndBadGrammar): + (WebCore::Editor::applyCorrectionPanelInfo): + (WebCore::Editor::unappliedSpellCorrection): + (WebCore::Editor::textCheckingTypeMaskFor): + * editing/Editor.h: + * editing/SpellingCorrectionCommand.cpp: + (WebCore::SpellingCorrectionCommand::doApply): + +2011-04-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r83045. + http://trac.webkit.org/changeset/83045 + https://bugs.webkit.org/show_bug.cgi?id=57953 + + Broke win layout tests (Requested by podivilov on #webkit). + + * GNUmakefile.am: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype._addScript): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042. + + * rendering/RenderBlock.h: + +2011-03-27 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled. + https://bugs.webkit.org/show_bug.cgi?id=57007 + + * CodeGenerators.pri: + * css/themeQtMobile.css: Removed. + * platform/qt/QtMobileWebStyle.cpp: + (drawRectangularControlBackground): + (QtMobileWebStyle::drawPrimitive): + (QtMobileWebStyle::drawComplexControl): + * platform/qt/QtMobileWebStyle.h: + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::isControlStyled): + (WebCore::RenderThemeQt::paintTextField): + +2011-04-06 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification. + https://bugs.webkit.org/show_bug.cgi?id=57800 + <rdar://problem/9218223> + + Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges() + now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place. + + * accessibility/AXObjectCache.h: + * accessibility/chromium/AXObjectCacheChromium.cpp: + (WebCore::AXObjectCache::postPlatformNotification): + * accessibility/mac/AXObjectCacheMac.mm: + (WebCore::AXObjectCache::postPlatformNotification): + * editing/Editor.cpp: + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + +2011-04-06 Martin Robinson <mrobinson@igalia.com> + + Build fix for debug Cairo builds. + + * platform/graphics/cairo/PlatformContextCairo.cpp: + (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation. + +2011-04-06 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Antonio Gomes. + + [Qt] Style fix for QtMobileWebStyle.h + https://bugs.webkit.org/show_bug.cgi?id=57708 + + * platform/qt/QtMobileWebStyle.h: + +2011-04-06 Andras Becsi <abecsi@webkit.org> + + Reviewed by Darin Adler. + + Invalid color #{predefined colorName} is accepted by the CSS parser. + https://bugs.webkit.org/show_bug.cgi?id=15360 + + Test: fast/css/invalid-predefined-color.html + + * css/CSSGrammar.y: Remove superfluous hexcolor production. + * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}). + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add test for script formatter worker. + https://bugs.webkit.org/show_bug.cgi?id=57447 + + Test: inspector/debugger/script-formatter.html + + * GNUmakefile.am: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + +2011-04-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Cairo] Hide the details of image masking in PlatformContextCairo + https://bugs.webkit.org/show_bug.cgi?id=57878 + + No new tests. This is just a refactor. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to + do the actual cairo_save. Remove information about image masking. + (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to + do the actual cairo_restore. Remove information about image masking. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + * platform/graphics/cairo/ImageBufferCairo.cpp: + (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now. + * platform/graphics/cairo/PlatformContextCairo.cpp: + (WebCore::PlatformContextCairo::restore): Added. + (WebCore::PlatformContextCairo::save): Added. + (WebCore::PlatformContextCairo::pushImageMask): Added. + * platform/graphics/cairo/PlatformContextCairo.h: + (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h. + (WebCore::ImageMaskInformation::isValid): Ditto. + (WebCore::ImageMaskInformation::maskSurface): Ditto. + (WebCore::ImageMaskInformation::maskRect): Ditto. + +2011-04-02 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Csaba Osztrogonác. + + [Qt] Radio buttons are showing wrong with mobile theme + https://bugs.webkit.org/show_bug.cgi?id=57706 + + * platform/qt/QtMobileWebStyle.cpp: + (QtMobileWebStyle::drawRadio): + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp + https://bugs.webkit.org/show_bug.cgi?id=57943 + + * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine. + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp + +2011-04-05 Diego Gonzalez <diegohcg@webkit.org> + + Buildfix after r82125. + + [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled + https://bugs.webkit.org/show_bug.cgi?id=57087 + + * platform/qt/QtMobileWebStyle.cpp: + (QtMobileWebStyle::findChecker): + (QtMobileWebStyle::findRadio): + (QtMobileWebStyle::findComboButton): + +2011-04-06 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release. + https://bugs.webkit.org/show_bug.cgi?id=57641 + + * WebCore.xcodeproj/project.pbxproj: + * gyp/streamline-inspector-source.sh: + * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources. + * inspector/inline-javascript-imports.py: Added. + +2011-04-06 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words + https://bugs.webkit.org/show_bug.cgi?id=57872 + + r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition + because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition. + + r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without + avoiding the tab span. + + Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy. + + Test: editing/inserting/insert-paragraph-separator-tab-span.html + + * editing/EditingStyle.cpp: + (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph + separator into a paragraph separator. + +2011-04-06 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Add member functions for determining line/paragraph separation to InlineIterator + https://bugs.webkit.org/show_bug.cgi?id=57938 + + Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to + InlineIterator, where it makes far more sense for them to be. Also moving + shouldPreserveNewline to RenderObject and renaming it preservesNewline. + + No new tests as this provides no new functionality. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::atTextParagraphSeparator): + (WebCore::InlineIterator::atParagraphSeparator): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::requiresLineBox): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/RenderObject.h: + (WebCore::RenderObject::preservesNewline): + +2011-04-05 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Range insertNode function does not update content in the inspector + https://bugs.webkit.org/show_bug.cgi?id=57829 + + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): + +2011-04-06 Alejandro G. Castro <alex@igalia.com> + + Fix GTK3 compilation after r82962. + + * platform/gtk/RenderThemeGtk3.cpp: + (WebCore::paintToggle): + (WebCore::renderButton): + (WebCore::RenderThemeGtk::paintMenuList): + (WebCore::RenderThemeGtk::paintTextField): + (WebCore::RenderThemeGtk::paintSliderTrack): + (WebCore::RenderThemeGtk::paintSliderThumb): + (WebCore::RenderThemeGtk::paintProgressBar): + (WebCore::paintSpinArrowButton): + * platform/gtk/ScrollbarThemeGtk3.cpp: + (WebCore::ScrollbarThemeGtk::paintTrackBackground): + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): + (WebCore::ScrollbarThemeGtk::paintThumb): + (WebCore::ScrollbarThemeGtk::paintButton): + +2011-04-06 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Extensions API] remove inspectedPage.* events + https://bugs.webkit.org/show_bug.cgi?id=57763 + + - Removed webInspector.inspectedPage.* events + - moved onNavigated to webInspector.resources + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI): + (WebInspector.injectedExtensionAPI.InspectedWindow): + * inspector/front-end/ExtensionAPISchema.json: + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged): + * inspector/front-end/inspector.js: + (WebInspector.domContentEventFired): + (WebInspector.loadEventFired): + (WebInspector.inspectedURLChanged): + +2011-04-06 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Antti Koivisto. + + Add <head> to the simpleUserAgentStyleSheet + https://bugs.webkit.org/show_bug.cgi?id=57915 + + * css/CSSStyleSelector.cpp: + (WebCore::elementCanUseSimpleDefaultStyle): add head to the + simple stylesheet, display:none. + +2011-04-05 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots. + https://bugs.webkit.org/show_bug.cgi?id=57856 + + Test: inspector/profiler/detailed-heapshots-summary.html + + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid): + * inspector/front-end/DetailedHeapshotGridNodes.js: + (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate): + (WebInspector.HeapSnapshotGridNode.prototype._populate): + (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): + (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort): + (WebInspector.HeapSnapshotGridNode.prototype.sort): + (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): + * inspector/front-end/DetailedHeapshotView.js: + (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): + (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): + +2011-04-06 Anders Bakken <agbakken@gmail.com> + + Reviewed by David Levin. + + [Qt] SmartReplaceQt.cpp has coding-style errors + https://bugs.webkit.org/show_bug.cgi?id=40261 + + This patch does not require new test cases. + + * editing/qt/SmartReplaceQt.cpp: + (WebCore::isCharacterSmartReplaceExempt): + +2011-04-06 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Ryosuke Niwa. + + REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element + https://bugs.webkit.org/show_bug.cgi?id=57755 + + Test: editing/execCommand/insert-line-break-onload.html + + * editing/TypingCommand.cpp: + (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement(). + +2011-04-05 Antti Koivisto <antti@apple.com> + + Reviewed by Cameron Zwarich. + + Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred + https://bugs.webkit.org/show_bug.cgi?id=57914 + + Don't call adjustedDeferredRepaintDelay unnecessarily. + + * page/FrameView.cpp: + (WebCore::FrameView::repaintContentRectangle): + (WebCore::FrameView::adjustedDeferredRepaintDelay): + +2011-04-05 Steve VanDeBogart <vandebo@chromium.org> + + Reviewed by David Levin. + + Update call to SkAdvancedTypefaceMetrics to new API. + https://bugs.webkit.org/show_bug.cgi?id=57887 + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::emSizeInFontUnits): + +2011-04-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Rename event dispatching functions after form event removal + https://bugs.webkit.org/show_bug.cgi?id=57908 + + * dom/InputElement.cpp: + (WebCore::InputElement::setValueFromRenderer): + * dom/Node.cpp: + (WebCore::Node::dispatchChangeEvent): + (WebCore::Node::dispatchInputEvent): + (WebCore::Node::defaultEventHandler): + * dom/Node.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): + (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): + (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent): + Renamed "events" to "event", since there is only one event to dispatch now. + +2011-04-05 Anders Bakken <agbakken@gmail.com> + + Reviewed by David Levin. + + [Qt] DragControllerQt.cpp has coding-style errors + https://bugs.webkit.org/show_bug.cgi?id=40258 + + This patch does not require new test cases. + + * page/qt/DragControllerQt.cpp: + (WebCore::DragController::dragOperation): + +2011-04-05 Steve VanDeBogart <vandebo@chromium.org> + + Reviewed by David Levin. + + Update deprecated include: platform_canvas_win.h to platform_canvas.h. + https://bugs.webkit.org/show_bug.cgi?id=57896 + + * platform/graphics/chromium/FontChromiumWin.cpp: + +2011-04-05 Darin Adler <darin@apple.com> + + Try to fix Leopard bots. + + * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems + to have intended it. + +2011-04-05 Darin Adler <darin@apple.com> + + Try to fix Leopard bots. + + * platform/mac/HTMLConverter.mm: Move declarations of new functions + inside the appropriate #if. + +2011-04-05 Adrienne Walker <enne@google.com> + + Reviewed by Tony Chang. + + Correctly set color when using skia's fillRoundedRect. + https://bugs.webkit.org/show_bug.cgi?id=57907 + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + +2011-04-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Move attributedStringFromRange down to WebCore + https://bugs.webkit.org/show_bug.cgi?id=57905 + + No change in behavior, so no new tests. + + Also tweaked HTMLConverter to not use methods defined in WebKit. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * platform/mac/HTMLConverter.h: + * platform/mac/HTMLConverter.mm: + (-[WebHTMLConverter _newTabForElement:]): + (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]): + (+[WebHTMLConverter editingAttributedStringFromRange:]): + (fileWrapperForURL): + (fileWrapperForElement): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): + * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h. + * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm. + (WebCore::attributedStringByStrippingAttachmentCharacters): + +2011-04-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Rename variables in border drawing code for readability + https://bugs.webkit.org/show_bug.cgi?id=57894 + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::drawLineForBoxSide): + (WebCore::RenderObject::drawBoxSideFromPath): + (WebCore::RenderObject::drawArcForBoxSide): + +2011-04-05 Antti Koivisto <antti@apple.com> + + Reviewed by Darin Adler. + + Defer repaints during style recalc + https://bugs.webkit.org/show_bug.cgi?id=57886 + + This reduces the need to do (often expensive) platform surface invalidation. + We already do this during layout but style recalculation may trigger + invalidation as well. + + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + +2011-04-05 Jer Noble <jer.noble@apple.com> + + Reviewed by Darin Adler. + + HTML5 Player Has no Fullscreen Mode + https://bugs.webkit.org/show_bug.cgi?id=57795 + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API + supportsFullScreenForElement() before the old supportsFullScreenForNode() API. + +2011-04-05 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: fix data url's status and timing the network panel. + https://bugs.webkit.org/show_bug.cgi?id=53066 + + Added data url support for status of network resources. + + * English.lproj/localizedStrings.js: + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.isDataURL): + +2011-04-04 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Adam Barth. + + [V8] Keep dirty primitive CSS values alive. + https://bugs.webkit.org/show_bug.cgi?id=57810 + + * bindings/v8/V8GCController.cpp: + (WebCore::GrouperVisitor::visitDOMWrapper): + +2011-04-05 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + Add a fast path for simple color backgrounds + https://bugs.webkit.org/show_bug.cgi?id=57773 + + Add a fast path for drawing simple color backgrounds. It's + faster to fill a path or rect than it is to set up a clip, + and then paint the rect. + + No visible behavior change so no new tests. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + +2011-04-05 Patrick Gansterer <paroga@webkit.org> + + Unreviewed EFL build fix for r82962. + + * CMakeListsEfl.txt: + +2011-04-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add support for offline audio rendering to AudioContext API + https://bugs.webkit.org/show_bug.cgi?id=57676 + + No new tests since audio API is not yet implemented. + + * DerivedSources.make: + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSAudioContextCustom.cpp: + (WebCore::JSAudioContextConstructor::constructJSAudioContext): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + * bindings/v8/custom/V8AudioContextCustom.cpp: + (WebCore::V8AudioContext::constructorCallback): + * bindings/v8/custom/V8EventCustom.cpp: + (WebCore::toV8): + * dom/Event.cpp: + (WebCore::Event::isOfflineAudioCompletionEvent): + * dom/Event.h: + * dom/EventTarget.cpp: + (WebCore::EventTarget::toAudioContext): + * dom/EventTarget.h: + * platform/audio/HRTFDatabaseLoader.cpp: + (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion): + * platform/audio/HRTFDatabaseLoader.h: + (WebCore::HRTFDatabaseLoader::loader): + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::createOfflineContext): + (WebCore::AudioContext::AudioContext): + (WebCore::AudioContext::constructCommon): + (WebCore::AudioContext::document): + (WebCore::AudioContext::scriptExecutionContext): + (WebCore::AudioContext::toAudioContext): + (WebCore::AudioContext::startRendering): + (WebCore::AudioContext::fireCompletionEvent): + * webaudio/AudioContext.h: + (WebCore::AudioContext::isOfflineContext): + (WebCore::AudioContext::eventTargetData): + (WebCore::AudioContext::ensureEventTargetData): + (WebCore::AudioContext::refEventTarget): + (WebCore::AudioContext::derefEventTarget): + * webaudio/AudioContext.idl: + * webaudio/AudioDestinationNode.cpp: + (WebCore::AudioDestinationNode::AudioDestinationNode): + * webaudio/AudioDestinationNode.h: + (WebCore::AudioDestinationNode::reset): + (WebCore::AudioDestinationNode::numberOfChannels): + * webaudio/ConvolverNode.cpp: + (WebCore::ConvolverNode::setBuffer): + * webaudio/DefaultAudioDestinationNode.cpp: Added. + (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode): + (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode): + (WebCore::DefaultAudioDestinationNode::initialize): + (WebCore::DefaultAudioDestinationNode::uninitialize): + (WebCore::DefaultAudioDestinationNode::startRendering): + * webaudio/DefaultAudioDestinationNode.h: Added. + (WebCore::DefaultAudioDestinationNode::create): + (WebCore::DefaultAudioDestinationNode::sampleRate): + * webaudio/OfflineAudioCompletionEvent.cpp: Added. + (WebCore::OfflineAudioCompletionEvent::create): + (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent): + (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent): + (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent): + * webaudio/OfflineAudioCompletionEvent.h: Added. + (WebCore::OfflineAudioCompletionEvent::renderedBuffer): + * webaudio/OfflineAudioCompletionEvent.idl: Added. + * webaudio/OfflineAudioDestinationNode.cpp: Added. + (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode): + (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode): + (WebCore::OfflineAudioDestinationNode::initialize): + (WebCore::OfflineAudioDestinationNode::uninitialize): + (WebCore::OfflineAudioDestinationNode::startRendering): + (WebCore::OfflineAudioDestinationNode::renderEntry): + (WebCore::OfflineAudioDestinationNode::render): + (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch): + (WebCore::OfflineAudioDestinationNode::notifyComplete): + * webaudio/OfflineAudioDestinationNode.h: Added. + (WebCore::OfflineAudioDestinationNode::create): + (WebCore::OfflineAudioDestinationNode::sampleRate): + +2011-04-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Eric Seidel. + + [Cairo] Better separate the concerns of GraphicsContextCairo + https://bugs.webkit.org/show_bug.cgi?id=55150 + + Add a PlatformContextCairo which right now stores the cairo_t* for a + GraphicsContextCairo. Later patches will move logic for tracking ContextShadow + and image masking layers into this PlatformContextCairo class. + + No new tests. This patch is only a code cleanup. + + * GNUmakefile.am: + * platform/graphics/GraphicsContext.h: The platform context is no longer a + cairo_t, but our new class the PlatformContextCairo. + * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j + * platform/graphics/cairo/FontCairo.cpp: Ditto. + * platform/graphics/cairo/GradientCairo.cpp: Ditto. + * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical + changes which now reference platformContext()->cr() to get the cairo_t. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the + PlatformContextCairo instead of the cairo_t. + * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class. + * platform/graphics/cairo/ImageCairo.cpp: Ditto. + * platform/graphics/cairo/PathCairo.cpp: Ditto. + * platform/graphics/cairo/PlatformContextCairo.cpp: Added. + * platform/graphics/cairo/PlatformContextCairo.h: Added. + * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class. + * platform/graphics/gtk/IconGtk.cpp: Ditto. + * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out + m_data with a private section containing the platform context instead of + just a cairo_t. + * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class. + * platform/gtk/WidgetRenderingContext.cpp: Ditto. + (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto. + * plugins/gtk/PluginViewGtk.cpp: Ditto. + +2011-04-05 David Dorwin <ddorwin@chromium.org> + + Reviewed by David Levin. + + Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING) + https://bugs.webkit.org/show_bug.cgi?id=57400 + + Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid. + Accelerated compositing may be compiled in but disabled at runtime or for some elements. + + Tests: Fullscreen layout tests on Chromium. + + * dom/Document.cpp: + (WebCore::Document::webkitWillEnterFullScreenForElement): + (WebCore::Document::webkitDidEnterFullScreenForElement): + (WebCore::Document::webkitWillExitFullScreenForElement): + +2011-04-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Regression: Invalid write in SVGTextLayoutEngine + https://bugs.webkit.org/show_bug.cgi?id=57721 + + Properly stop layout if all metrics object refer to zero-width/height characters, + which can happen for instance when using <text font-size="0">. + + Test: svg/text/font-size-null-assertion.svg + + * rendering/svg/SVGTextLayoutEngine.cpp: + (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes): + (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): + +2011-04-04 MORITA Hajime <morrita@google.com> + + Reviewed by Ryosuke Niwa. + + [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult + https://bugs.webkit.org/show_bug.cgi?id=56085 + + Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult. + This change also added TextCheckerClient::requestCheckingOfString() should have + TextCheckingTypeMask as a parameter to control text checking type. + + * WebCore.exp.in: + * editing/Editor.cpp: + (WebCore::Editor::replaceSelectionWithFragment): + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): + (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges() + * editing/SpellChecker.cpp: + (WebCore::SpellChecker::requestCheckingFor): Added a parameter. + (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object. + (WebCore::SpellChecker::didCheck): + * editing/SpellChecker.h: + * loader/EmptyClients.h: + (WebCore::EmptyTextCheckerClient::checkTextOfParagraph): + (WebCore::EmptyTextCheckerClient::requestCheckingOfString): + * platform/text/TextCheckerClient.h: + +2011-04-04 Antti Koivisto <antti@apple.com> + + Reviewed by Sam Weinig. + + Print stylesheet on nytimes.com loads too early + https://bugs.webkit.org/show_bug.cgi?id=57814 + + Don't load resources with Very Low priority until there are no other resources to + load for the host (or until document is complete enough that we stop limiting requests). + + No tests, this is difficult to observe reliably with our current testing infrastructure. + Verified working with Wireshark. + + * loader/ResourceLoadScheduler.cpp: + (WebCore::ResourceLoadScheduler::servePendingRequests): + (WebCore::ResourceLoadScheduler::HostInformation::limitRequests): + * loader/ResourceLoadScheduler.h: + +2011-04-04 Steve Block <steveblock@google.com> + + Reviewed by Dimitri Glazkov. + + JavaInstance should be a pure interface + https://bugs.webkit.org/show_bug.cgi?id=55383 + + This patch fixes JavaInstance for V8 only. + + It factors out a JavaInstance interface which does not use JNI + types. This will allow the Java bridge to be used with objects + that don't use JNI directly. The existing jobject-backed + implementation is moved to a new JavaInstanceJobject class which + implements the interface. + + No new tests, refactoring only. + + * Android.v8bindings.mk: + * WebCore.gypi: + * bridge/jni/JobjectWrapper.h: + * bridge/jni/v8/JNIUtilityPrivate.cpp: + (JSC::Bindings::jvalueToJavaValue): + (JSC::Bindings::javaValueToJvalue): + * bridge/jni/v8/JavaInstanceJobjectV8.cpp: + (JavaInstanceJobject::JavaInstanceJobject): + (JavaInstanceJobject::~JavaInstanceJobject): + (JavaInstanceJobject::begin): + (JavaInstanceJobject::end): + (JavaInstanceJobject::getClass): + (JavaInstanceJobject::invokeMethod): + (JavaInstanceJobject::getField): + * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h. + (JSC::Bindings::JavaInstanceJobject::javaInstance): + * bridge/jni/v8/JavaInstanceV8.h: + (JSC::Bindings::JavaInstance::~JavaInstance): + +2011-04-05 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move MouseEvent-dispatching logic into MouseEventDispatchMediator. + https://bugs.webkit.org/show_bug.cgi?id=57639 + + Refactoring, covered by existing tests. + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here + from dispatchMouseEvent. + (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method. + * dom/EventDispatcher.h: Adjusted decls. + (WebCore::EventDispatcher::node): Added. + * dom/MouseEvent.cpp: + (WebCore::MouseEvent::create): Moved useful assertion here from + dispatchMouseEvent. + (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added. + (WebCore::MouseEventDispatchMediator::event): Added. + (WebCore::MouseEventDispatchMediator::dispatchEvent): Added. + * dom/MouseEvent.h: + (WebCore::MouseEvent::setRelatedTarget): Added. + * dom/Node.cpp: + (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator. + +2011-04-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Adam Roben & Dirk Schulze. + + text-tspan-02-b.svg from SVG 1.1 2nd edition fails + https://bugs.webkit.org/show_bug.cgi?id=57831 + + We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering. + While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and + should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler + to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the + required memory. + + Example: + <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text> + + text: A B C D E F G H + rotate="10 20 30 30 30 50 50 50" + + Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg + svg/text/text-midpoint-split-bug.svg + + * rendering/RenderBlockLineLayout.cpp: Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an + (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase. + * rendering/svg/SVGTextLayoutAttributes.cpp: + (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization). + (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder. + (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto. + (WebCore::safeValueAtPosition): Ditto. (Inline helper) + (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto. + * rendering/svg/SVGTextLayoutAttributes.h: Ditto. + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above. + (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): + (WebCore::processRenderSVGInlineText): + (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements): + (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters): + (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): + (WebCore::fillListAtPosition): + (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition): + * rendering/svg/SVGTextLayoutAttributesBuilder.h: + (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition): + +2011-04-05 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + DeleteButtonController is given invalid style + https://bugs.webkit.org/show_bug.cgi?id=57853 + + DeleteButtonController was assigned an invalid style that can lead to assertions + in debug builds. This matches up the code with its intent. + + No new tests as this changes nothing on release builds. + + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::createDeletionUI): + +2011-04-05 Anders Bakken <agbakken@gmail.com> + + Reviewed by Laszlo Gombos. + + [Qt] EditorQt.cpp has coding-style errors + https://bugs.webkit.org/show_bug.cgi?id=40260 + + This patch does not require new test cases. + + * editing/qt/EditorQt.cpp: + +2011-04-05 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: go to line dialog highlights wrong line. + https://bugs.webkit.org/show_bug.cgi?id=57845 + + * inspector/front-end/GoToLineDialog.js: + (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): + +2011-04-05 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Dimitri Glazkov. + + Implement CSSPropertyDirection in CSSStyleApplyProperty + https://bugs.webkit.org/show_bug.cgi?id=57608 + + No new tests required as no new functionality introduced. + + * css/CSSStyleApplyProperty.cpp: + Add implementation class for CSSPropertyDirection + * css/CSSStyleSelector.cpp: + Remove existing implementation for CSSPropertyDirection + * css/CSSStyleSelector.h: + Add getter for element + +2011-04-05 Leandro Gracia Gil <leandrogracia@chromium.org> + + Reviewed by Steve Block. + + Factoring the creation of 'FunctionOnly' callbacks in V8. + https://bugs.webkit.org/show_bug.cgi?id=57760 + + This method creates a template from an existing functionality in V8GeolocationCustom.cpp + to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API. + + No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html + + * bindings/v8/V8Utilities.cpp: + (WebCore::throwTypeMismatchException): + * bindings/v8/V8Utilities.h: + (WebCore::createFunctionOnlyCallback): + * bindings/v8/custom/V8GeolocationCustom.cpp: + (WebCore::V8Geolocation::getCurrentPositionCallback): + (WebCore::V8Geolocation::watchPositionCallback): + +2011-04-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + Switch from Vector<UChar> to StringBuilder in bindings/ + https://bugs.webkit.org/show_bug.cgi?id=57838 + + * bindings/js/JSCSSStyleDeclarationCustom.cpp: + (WebCore::cssPropertyName): + * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: + (WebCore::cssPropertyInfo): + +2011-04-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + Switch from Vector<UChar> to StringBuilder in accessibility/ + https://bugs.webkit.org/show_bug.cgi?id=57837 + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition): + (WebCore::AccessibilityObject::stringForVisiblePositionRange): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements): + +2011-04-05 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: Scripts with syntax errors are cropped in the UI + https://bugs.webkit.org/show_bug.cgi?id=57828 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.addMessageToSource): + +2011-04-05 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Remove onformchange and onforminput events/event handlers + https://bugs.webkit.org/show_bug.cgi?id=55755 + <rdar://problem/9087969> + + Covered by existing tests. + + * dom/Document.h: + * dom/Document.idl: + * dom/Element.h: + * dom/Element.idl: + * dom/Event.cpp: + (WebCore::Event::fromUserGesture): + * dom/EventNames.h: + * html/FormAssociatedElement.h: + * html/HTMLAttributeNames.in: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::parseMappedAttribute): + * html/HTMLElement.h: + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElement::isEnumeratable): + * html/HTMLFormElement.cpp: + * html/HTMLFormElement.h: + * html/HTMLFormElement.idl: + * html/HTMLInputElement.h: + * html/HTMLKeygenElement.h: + * html/HTMLObjectElement.h: + (WebCore::HTMLObjectElement::isEnumeratable): + * html/HTMLOutputElement.h: + (WebCore::HTMLOutputElement::isEnumeratable): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isEnumeratable): + * html/HTMLTextAreaElement.h: + (WebCore::HTMLTextAreaElement::isEnumeratable): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2011-04-05 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82915. + http://trac.webkit.org/changeset/82915 + https://bugs.webkit.org/show_bug.cgi?id=57825 + + Broke 270 chromium tests on win and linux (Requested by + podivilov on #webkit). + + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::defaultGUIFont): + +2011-04-05 James Simonsen <simonjam@chromium.org> + + Reviewed by Adam Barth. + + Stop preload scanning CSS when it's impossible to have another @import. + https://bugs.webkit.org/show_bug.cgi?id=57664 + + @import statements are only allowed at the beginning of a CSS file. + Only comments or @charset can precede them. After seeing anything else, + abort early so that we: + - don't have to parse the rest of the CSS. + - don't preload something that the regular parser won't load. + + * html/parser/CSSPreloadScanner.cpp: + (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports. + (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule. + (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import. + * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state. + +2011-04-05 Takayoshi Kochi <kochi@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Specify 'sans-serif' as a fallback to the default UI font + 'Arial' for non-latin UI scripts (e.g. CJK). + https://bugs.webkit.org/show_bug.cgi?id=55035 + + No new tests, because it may still fail if the system is not configured + properly to resolve 'sans-serif' to existing real font file, thus even + manual test is hard to systematically tell it is working properly. + + * rendering/RenderThemeChromiumSkia.cpp + +2011-04-05 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Setting defaultValue on a textarea with a modified value still clobbers the value + https://bugs.webkit.org/show_bug.cgi?id=57636 + + If the dirty flag is true, we shouldn't update the value when the + defaultValue is updated + + Test: fast/forms/textarea-set-defaultvalue-after-value.html + + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::childrenChanged): + (WebCore::HTMLTextAreaElement::setDefaultValue): + +2011-04-04 Kent Tamura <tkent@chromium.org> + + Add a case label which was unexpectedly removed in r82899. + https://bugs.webkit.org/show_bug.cgi?id=50661 + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + +2011-04-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/7709452> Implement Default Ruby Overhang Behavior + https://bugs.webkit.org/show_bug.cgi?id=49334 + + Tests: fast/ruby/overhang-horizontal.html + fast/ruby/overhang-vertical.html + + This is a first cut at ruby overhang. It allows ruby text to hang over other + text of equal or smaller size. Two notable omissions are that max preferred + width computation was not patched, so it will overshoot, and that overhang + ignores the width of the adjoining text runs. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins + of ruby runs for overhang. + (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to + compensate for overhang. + (WebCore::RenderBlock::findNextLineBreak): When encountering + a ruby run, increase the line width to account for the fact that overhang will be + collapsed. + * rendering/RenderRubyRun.cpp: + (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if + the adjoining renderer is text with equal or smaller font size. + * rendering/RenderRubyRun.h: + (WebCore::toRenderRubyRun): + +2011-04-04 David Kilzer <ddkilzer@apple.com> + + <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match + + Reviewed by Alexey Proskuryakov. + + * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority(). + * platform/mac/WebCoreSystemInterface.h: + (wkSetHTTPPipeliningMaximumPriority): Added function pointer + declaration. + * platform/mac/WebCoreSystemInterface.mm: + (wkSetHTTPPipeliningMaximumPriority): Added function pointer. + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call + wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP + pipelining priority. + * platform/network/cf/ResourceRequestCFNet.h: + (WebCore::toResourceLoadPriority): Renamed from + mapHTTPPipeliningPriorityToResourceLoadPriority(). Updated to + to handle Unresolved case. + (WebCore::toHTTPPipeliningPriority): Renamed from + mapResourceLoadPriorityToHTTPPipeliningPriority(). Updated to + handle Unresolved case. + * platform/network/mac/ResourceRequestMac.mm: + (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to + use toResourceLoadPriority(). + (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to + use toHTTPPipeliningPriority(). Moved + shouldForceHTTPPipeliningPriorityHigh() check into the argument + of toHTTPPipeliningPriority() instead of hard-coding a + now-incorrect value. + +2011-04-04 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + Convert <meter> shadow DOM to a DOM-based shadow. + https://bugs.webkit.org/show_bug.cgi?id=50661 + + Eliminated a large part of <meter> custom layout code, + which is replaced by a shadow tree. + Note that the shadow tree is created on construction time and + will remain during the host HTMLMeterElement lifecycle. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::setProperty): + * css/CSSMutableStyleDeclaration.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter): + (meter::-webkit-meter-bar): + (meter::-webkit-meter-optimum-value): + (meter::-webkit-meter-suboptimum-value): + (meter::-webkit-meter-even-less-good-value): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::~HTMLMeterElement): + (WebCore::HTMLMeterElement::parseMappedAttribute): + (WebCore::HTMLMeterElement::attach): + (WebCore::HTMLMeterElement::valueRatio): + (WebCore::HTMLMeterElement::didElementStateChange): + (WebCore::HTMLMeterElement::createShadowSubtree): + * html/HTMLMeterElement.h: + * html/shadow/MeterShadowElement.cpp: Added. + (WebCore::MeterShadowElement::MeterShadowElement): + (WebCore::MeterShadowElement::meterElement): + (WebCore::MeterShadowElement::rendererIsNeeded): + (WebCore::MeterBarElement::shadowPseudoId): + (WebCore::MeterValueElement::shadowPseudoId): + (WebCore::MeterValueElement::setWidthPercentage): + * html/shadow/MeterShadowElement.h: Added. + (WebCore::MeterBarElement::MeterBarElement): + (WebCore::MeterBarElement::create): + (WebCore::MeterValueElement::MeterValueElement): + (WebCore::MeterValueElement::create): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::RenderMeter): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::valueRatio): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::renderName): + (WebCore::RenderMeter::isMeter): + (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation): + (WebCore::RenderMeter::canHaveChildren): + +2011-04-04 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Barth. + + Introduce EventDispatchMediator abstraction, which encapsulate all + non-trivial logic around firing a specific type of an event. + https://bugs.webkit.org/show_bug.cgi?id=57562 + + Refactoring, covered by existing tests. + + * dom/Event.cpp: + (WebCore::EventDispatchMediator::EventDispatchMediator): Added. + (WebCore::EventDispatchMediator::~EventDispatchMediator): Added. + (WebCore::EventDispatchMediator::dispatchEvent): Added. + (WebCore::EventDispatchMediator::event): Added. + * dom/Event.h: Added decl. + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator. + * dom/EventDispatcher.h: Updated decls. + * dom/KeyboardEvent.cpp: + (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added. + (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added. + * dom/KeyboardEvent.h: Updated decls + * dom/Node.cpp: + (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator. + (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator. + +2011-04-04 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Cairo] Memory leak in RefPtrCairo + https://bugs.webkit.org/show_bug.cgi?id=57758 + + No new tests. This just fixes a memory leak. + + * platform/graphics/cairo/RefPtrCairo.cpp: + (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it. + +2011-04-04 Adrienne Walker <enne@google.com> + + Unreviewed, rolling out r82880. + http://trac.webkit.org/changeset/82880 + https://bugs.webkit.org/show_bug.cgi?id=50661 + + Meter elements not rendered in Chromium Linux layout tests + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSMutableStyleDeclaration.cpp: + * css/CSSMutableStyleDeclaration.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter): + (meter::-webkit-meter): + (meter::-webkit-meter-bar): + (meter::-webkit-meter-optimum-value): + (meter::-webkit-meter-suboptimal-value): + (meter::-webkit-meter-even-less-good-value): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::create): + (WebCore::HTMLMeterElement::parseMappedAttribute): + (WebCore::HTMLMeterElement::attach): + * html/HTMLMeterElement.h: + * html/shadow/MeterShadowElement.cpp: Removed. + * html/shadow/MeterShadowElement.h: Removed. + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::RenderMeter): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): + (WebCore::RenderMeter::updateFromElement): + (WebCore::RenderMeter::layoutParts): + (WebCore::RenderMeter::styleDidChange): + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valueRatio): + (WebCore::RenderMeter::barPartRect): + (WebCore::RenderMeter::valuePartRect): + (WebCore::RenderMeter::valuePseudoId): + (WebCore::RenderMeter::barPseudoId): + (WebCore::RenderMeter::detachShadows): + (WebCore::RenderMeter::updateShadows): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::renderName): + (WebCore::RenderMeter::isMeter): + (WebCore::RenderMeter::shadowAttached): + +2011-04-04 Chang Shu <cshu@webkit.org> + + Reviewed by Ryosuke Niwa. + + setContentEditable with true/false/inherit string is not working properly + https://bugs.webkit.org/show_bug.cgi?id=52058 + + Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for + checking editability: rendererIsEditable and isContentEdiable. The former is a fast path, + which does NOT trigger layout and only checks the render style of usermodify. The latter + updates the layout first to make sure the render style syncs with DOM contenteditable + attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable + are also updated in the patch. But a complete fix will follow up in bug 57244. + + This patch fixes all the failed layout tests related to set contenteditable. + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::isReadOnly): + * dom/Node.cpp: + (WebCore::Node::isContentEditable): + (WebCore::Node::shouldUseInputMethod): + * dom/Node.h: + * html/HTMLElement.cpp: + * html/HTMLElement.h: + +2011-04-04 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by Dimitri Glazkov. + + Bug 57689 - Extract scoping functionality from Document + https://bugs.webkit.org/show_bug.cgi?id=57689 + + Moved selfOnlyRef (renamed to guardRef), element ID, image map + and accesss key functionalities from Document to a new base + class TreeScope. + + TreeShared: made removedLastRef protected + + No new tests. (refactoring) + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::destroyScope): + (WebCore::Document::getElementById): + (WebCore::Document::childrenChanged): + (WebCore::Document::scheduleStyleRecalc): + (WebCore::Document::attach): + (WebCore::Document::detach): + * dom/Document.h: + (WebCore::Node::Node): + * dom/DocumentOrderedMap.cpp: + (WebCore::DocumentOrderedMap::get): + (WebCore::DocumentOrderedMap::getElementById): + (WebCore::DocumentOrderedMap::getElementByMapName): + (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): + * dom/DocumentOrderedMap.h: + * dom/DOMAllInOne.cpp: + * dom/Node.cpp: + (WebCore::Node::~Node): + (WebCore::Node::setDocument): + * dom/Node.h: + * dom/TreeScope.cpp: Added. + * dom/TreeScope.h: Added. + * platform/TreeShared.h: + (WebCore::TreeShared::removedLastRef): made protected + +2011-04-04 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + Convert <meter> shadow DOM to a DOM-based shadow. + https://bugs.webkit.org/show_bug.cgi?id=50661 + + Eliminated a large part of <meter> custom layout code, + which is replaced by a shadow tree. + Note that the shadow tree is created on construction time and + will remain during the host HTMLMeterElement lifecycle. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::setProperty): + * css/CSSMutableStyleDeclaration.h: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter): + (meter::-webkit-meter-bar): + (meter::-webkit-meter-optimum-value): + (meter::-webkit-meter-suboptimum-value): + (meter::-webkit-meter-even-less-good-value): + * html/HTMLMeterElement.cpp: + (WebCore::HTMLMeterElement::~HTMLMeterElement): + (WebCore::HTMLMeterElement::parseMappedAttribute): + (WebCore::HTMLMeterElement::attach): + (WebCore::HTMLMeterElement::valueRatio): + (WebCore::HTMLMeterElement::didElementStateChange): + (WebCore::HTMLMeterElement::createShadowSubtree): + * html/HTMLMeterElement.h: + * html/shadow/MeterShadowElement.cpp: Added. + (WebCore::MeterShadowElement::MeterShadowElement): + (WebCore::MeterShadowElement::meterElement): + (WebCore::MeterShadowElement::rendererIsNeeded): + (WebCore::MeterBarElement::shadowPseudoId): + (WebCore::MeterValueElement::shadowPseudoId): + (WebCore::MeterValueElement::setWidthPercentage): + * html/shadow/MeterShadowElement.h: Added. + (WebCore::MeterBarElement::MeterBarElement): + (WebCore::MeterBarElement::create): + (WebCore::MeterValueElement::MeterValueElement): + (WebCore::MeterValueElement::create): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::RenderMeter): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::valueRatio): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::renderName): + (WebCore::RenderMeter::isMeter): + (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation): + (WebCore::RenderMeter::canHaveChildren): + +2011-04-04 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] WebGL support + https://bugs.webkit.org/show_bug.cgi?id=31517 + + Add WebGL support for the GTK+ bits of WebCore. + + No new tests. This will be covered by the existing WebGL tests once + the bots are capable of running WebGL tests. + + * GNUmakefile.am: Added new files required for WebGL support. + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not + yet support accelerated compositing. + * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as + a framework for GTK+. + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo. + (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto. + * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added. + (WebCore::GraphicsContext3D::getImageData): Added. + (WebCore::GraphicsContext3D::paintToCanvas): Added. + * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension + functions dynamically. They have different names across the different vendors' GL implementations. + (WebCore::lookupOpenGLFunctionAddress): Added + (WebCore::openGLFunctionTable): Added + (WebCore::initializeOpenGLShims): Added + * platform/graphics/cairo/OpenGLShims.h: Added. + * platform/graphics/gtk/DrawingBufferGtk.cpp: Added. + (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo. + (WebCore::DrawingBuffer::~DrawingBuffer): Ditto. + (WebCore::DrawingBuffer::didReset): Ditto. + (WebCore::DrawingBuffer::platformColorBuffer): Ditto. + * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added. + (WebCore::GraphicsContext3D::create): Initial implementation. + (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto. + (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto. + (WebCore::GraphicsContext3D::makeContextCurrent): Ditto. + (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto. + (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto. + * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added. + (sharedDisplay): Added this shared display which is required by some + display drivers. + (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D + contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers. + (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto. + (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto. + (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto. + (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL + context given the current environment. + (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer. + (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer. + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation. + (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto. + (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto. + * platform/graphics/gtk/GraphicsContext3DInternal.h: Added. + * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation. + (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto. + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than + the private bits that are specific to the Apple port. + +2011-04-04 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=51230 + <rdar://problem/8780989> + + <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys + + * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from + WebKits to WebCore, because WebKit shouldn't be smart. + +2011-04-04 Steve Falkenburg <sfalken@apple.com> + + Fix Windows build warning. + + * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build. + +2011-04-04 Adam Roben <aroben@apple.com> + + Attempted Mac build fix, part III + + * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols. + +2011-04-04 Andy Estes <aestes@apple.com> + + Fix the Mac build. + + * WebCore.exp.in: + +2011-04-04 David Dorwin <ddorwin@chromium.org> + + Reviewed by David Levin. + + Chromium Mac crashes when entering fullscreen + https://bugs.webkit.org/show_bug.cgi?id=57483 + + Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac. + + * WebCore.gyp/WebCore.gyp: + * rendering/RenderThemeChromiumMac.h: + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet): + +2011-04-04 Adam Roben <aroben@apple.com> + + Attempted Mac build fix, part II + + * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and + PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively). + +2011-04-04 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Remove unused AnalyzeWithLargeStack code from Windows build files + https://bugs.webkit.org/show_bug.cgi?id=57771 + + This was used for us to build with prefast automatically, + but it is out-of-date and hasn't been used for some time. + Removing completely for now. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCorePreBuild.cmd: + +2011-04-01 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + [CG] Do not accelerate small canvases + https://bugs.webkit.org/show_bug.cgi?id=57596 + + No new tests. No outward behavior changes. + + * platform/graphics/cg/ImageBufferCG.cpp: + +2011-04-04 Adam Roben <aroben@apple.com> + + Attempted Mac build fix + + * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private + so that WebKit can #include them. + +2011-04-04 Malcolm MacLeod <mmacleod@webmail.co.za> + + Reviewed by Kevin Ollivier. + + [wx] Implement support for temporary files. + + https://bugs.webkit.org/show_bug.cgi?id=57772 + + * platform/FileSystem.h: + * platform/wx/FileSystemWx.cpp: + (WebCore::getFileModificationTime): + (WebCore::openTemporaryFile): + (WebCore::closeFile): + (WebCore::writeToFile): + +2011-04-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Make StructureChain GC allocated + https://bugs.webkit.org/show_bug.cgi?id=56695 + + Update for new Structure marking function + + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::markChildren): + +2011-04-04 Pavel Feldman <pfeldman@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add support for the enumerated types in the protocol. + https://bugs.webkit.org/show_bug.cgi?id=57761 + + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setPauseOnExceptions): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::scriptImportedImpl): + * inspector/InspectorResourceAgent.cpp: + (WebCore::cachedResourceTypeString): + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::setInitialScriptContent): + (WebCore::InspectorResourceAgent::setInitialXHRContent): + * inspector/InspectorResourceAgent.h: + * inspector/front-end/ScriptsPanel.js: + * inspector/generate-inspector-idl: + +2011-04-04 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: InspectorRuntimeAgent should not depend on Page + https://bugs.webkit.org/show_bug.cgi?id=57759 + + Descendants of InspectorRuntimeAgent should implement a method providing access to the default + inspected state used for console evaluations. + + * inspector/InspectorAgent.cpp: + (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents. + (WebCore::InspectorAgent::setFrontend): + * inspector/InspectorAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::create): + (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): + (WebCore::InspectorRuntimeAgent::evaluate): + * inspector/InspectorRuntimeAgent.h: + (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider): + +2011-04-04 Yong Li <yoli@rim.com> + + Reviewed by Antonio Gomes. + + https://bugs.webkit.org/show_bug.cgi?id=55969 + Fix the issue that document state is not saved when + going backward and ending up with error page. + + Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html + + (For manual test, load a non-existent html first, then load + fast/history/resources/check-scroll-position.html, then go + back and go forward. If it doesn't show "SUCCESS" at the bottom + of the page, your browser has failed the test) + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::load): + +2011-04-04 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fix make distcheck for 1.4.0 + https://bugs.webkit.org/show_bug.cgi?id=57750 + + Added a missing header file to the Makefile + + * GNUmakefile.am: + +2011-04-04 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] http/tests/plugins/post-url-file.html fails on GTK+ + https://bugs.webkit.org/show_bug.cgi?id=55826 + + Correct the implementation of handlePostReadFile which uses GIO APIs and + actually resizes the buffer to fit the entire size of the file data. This + was likely leading to memory corruption until now. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::handlePostReadFile): Fix this method. + +2011-04-04 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Extensions API] add notifications on panels shown/hidden + https://bugs.webkit.org/show_bug.cgi?id=57752 + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.PanelImpl): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype.notifyPanelShown): + (WebInspector.ExtensionServer.prototype.notifyPanelHidden): + * inspector/front-end/Panel.js: + (WebInspector.Panel.prototype.show): + (WebInspector.Panel.prototype.hide): + +2011-04-04 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: search in resources panel is broken. + https://bugs.webkit.org/show_bug.cgi?id=57631 + + Search in resources panel should trigger source frame content load. + + * inspector/front-end/Panel.js: + (WebInspector.Panel.prototype.jumpToNextSearchResult): + (WebInspector.Panel.prototype.jumpToPreviousSearchResult): + * inspector/front-end/ResourcesPanel.js: + * inspector/front-end/SearchController.js: + (WebInspector.SearchController.prototype.handleShortcut): + (WebInspector.SearchController.prototype.focusSearchField): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.show): + (WebInspector.SourceFrame.prototype._ensureContentLoaded): + (WebInspector.SourceFrame.prototype.performSearch): + +2011-04-03 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Split out UnicodeBidi enum into its own header (to allow use in platform) + https://bugs.webkit.org/show_bug.cgi?id=57722 + + unicode-bidi is a CSS concept. However the same concept is really needed throughout + the bidi code in platform as well. So I'm moving the enum to platform. + The only part of the enum which doesn't make much sense to platform/ is "normal". + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSPrimitiveValueMappings.h: + * platform/text/UnicodeBidi.h: Added. + * rendering/style/RenderStyle.h: + * rendering/style/RenderStyleConstants.h: + +2011-04-04 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer + https://bugs.webkit.org/show_bug.cgi?id=57749 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange): + (WebInspector.TextEditorMainPanel.prototype._paintLine): + +2011-04-04 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s + https://bugs.webkit.org/show_bug.cgi?id=48525 + + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): + +2011-04-01 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function + https://bugs.webkit.org/show_bug.cgi?id=57632 + + Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor". + + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.appropriateSelectorFor): + * inspector/front-end/EventListenersSidebarPane.js: + (): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylesSidebarPane.prototype.addBlankSection): + * inspector/front-end/utilities.js: + +2011-04-04 Andrey Kosyakov <caseq@chromium.org> + + Unreviewed. Followup to an incomplete commit in r82806. + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane): + (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl): + (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight): + (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression): + (WebInspector.injectedExtensionAPI): + * inspector/front-end/ExtensionPanel.js: + (WebInspector.ExtensionSidebarPane): + (WebInspector.ExtensionSidebarPane.prototype.setPage): + (WebInspector.ExtensionSidebarPane.prototype._setObject): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated): + (WebInspector.ExtensionServer.prototype._onCreatePanel): + (WebInspector.ExtensionServer.prototype._onCreateSidebarPane): + (WebInspector.ExtensionServer.prototype.createClientIframe): + (WebInspector.ExtensionServer.prototype._onSetSidebarContent): + +2011-04-04 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Qt minimal build. + + * inspector/InspectorFrontendChannel.h: + +2011-04-01 Sergey Vorobyev <sergeyvorobyev@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Separate sendMessageToFrontend function + from InspectorClient to individual interface. + https://bugs.webkit.org/show_bug.cgi?id=57548 + + Refactoring - covered with existing inspector tests. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorClient.h: + * inspector/InspectorFrontendChannel.h: Added. + (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel): + +2011-04-04 Nico Weber <thakis@chromium.org> + + Reviewed by Eric Seidel. + + Prefer a using directive over qualified names in LocalizedNumberICU.cpp + https://bugs.webkit.org/show_bug.cgi?id=57742 + + Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715 + + * platform/text/LocalizedNumberICU.cpp: + (WebCore::createFormatterForCurrentLocale): + (WebCore::numberFormatter): + (WebCore::parseLocalizedNumber): + (WebCore::formatLocalizedNumber): + +2011-04-04 Andrey Adaikin <aandrey@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Breakpoints in the gutter stay static while editing the text + https://bugs.webkit.org/show_bug.cgi?id=57616 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype._saveViewerState): + (WebInspector.SourceFrame.prototype._restoreViewerState): + (WebInspector.SourceFrame.prototype._endEditing): + (WebInspector.SourceFrame.prototype._lineNumberAfterEditing): + (WebInspector.SourceFrame.prototype.addBreakpoint): + (WebInspector.SourceFrame.prototype.removeBreakpoint): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._syncDecorationsForLine): + (WebInspector): + (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): + (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): + (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine): + (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine): + +2011-04-04 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove obsolete doc generating code from CodeGenerator. + https://bugs.webkit.org/show_bug.cgi?id=57748 + + * inspector/CodeGeneratorInspector.pm: + +2011-04-04 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane + https://bugs.webkit.org/show_bug.cgi?id=57622 + + Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url). + Fixed wrong getter in schema (scripts -> elements) + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject): + (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage): + * inspector/front-end/ExtensionAPISchema.json: + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onSetSidebarPage): + +2011-04-04 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: introduce support of 'optional' flag for command arguments. + https://bugs.webkit.org/show_bug.cgi?id=57698 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): + (WebCore::InspectorDebuggerAgent::setBreakpoint): + (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorPageAgent.cpp: + (WebCore::InspectorPageAgent::reloadPage): + * inspector/InspectorPageAgent.h: + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::getResourceContent): + * inspector/InspectorResourceAgent.h: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::evaluate): + * inspector/InspectorRuntimeAgent.h: + * inspector/generate-inspector-idl: + +2011-04-04 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers + https://bugs.webkit.org/show_bug.cgi?id=57637 + + * bindings/js/JSInjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptFor): + * bindings/v8/custom/V8InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::injectedScriptFor): + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::InjectedScript): + (WebCore::InjectedScript::canAccessInspectedWindow): + * inspector/InjectedScript.h: + * inspector/InjectedScriptManager.cpp: + (WebCore::InjectedScriptManager::createForPage): + (WebCore::InjectedScriptManager::createForWorker): + (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor + and it depends on which type of context we're inspecting(worker or page). + (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext): + * inspector/InjectedScriptManager.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + +2011-04-04 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Eric Seidel. + + V8StringCallback.cpp requires V8Binding.h + https://bugs.webkit.org/show_bug.cgi?id=57699 + + No new tests required because of just adding header file. + + * bindings/scripts/CodeGeneratorV8.pm: + +2011-04-03 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Eric Seidel. + + [CMAKE] Clean duplicated files in WebCore_Sources + https://bugs.webkit.org/show_bug.cgi?id=57741 + + No new tests, Only duplicated files were removed. + + * CMakeLists.txt: + +2011-04-03 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Darin Adler. + + Fix 2-space indentation introduced in bug 54706. + https://bugs.webkit.org/show_bug.cgi?id=57740 + + No new tests - whitespace changes only. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + Convert 2-space indentation to 4-space indentation. + +2011-04-03 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Dimitri Glazkov. + + Make CSSStyleApplyProperty non-copyable + https://bugs.webkit.org/show_bug.cgi?id=57738 + + No new functionality added so no new tests required. + + * css/CSSStyleApplyProperty.h: + Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single. + +2011-04-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + fast/images/extra-image-in-image-document.html crashes when run after embed-image.html + https://bugs.webkit.org/show_bug.cgi?id=57733 + + The crash happens because resetting the page scale as part of preparing the WebView for the + next test triggered layout, which in turn caused a plug-in to make a resource request, and + DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between + tests, and it references the layout test controller, which is null. + + * page/Frame.cpp: + (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This + is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although + DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale. + I think there are currently no such tests, so I am not fixing DumpRenderTree. + +2011-04-03 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Teach InlineIterator how to work from any root, not just a RenderBlock + https://bugs.webkit.org/show_bug.cgi?id=57726 + + For implementing bidi-unicode: isolate, we need to be able to run the + bidi algorithm over a subtree of inlines, not just from a block root. + This is the first step in making this possible. + + * rendering/InlineIterator.h: + (WebCore::InlineIterator::InlineIterator): + (WebCore::InlineIterator::root): + (WebCore::bidiNext): + (WebCore::bidiFirst): + (WebCore::InlineIterator::increment): + (WebCore::InlineBidiResolver::appendRun): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2011-04-03 Eric Seidel <eric@webkit.org> + + Reviewed by Dan Bernstein. + + Split out handling of trailing spaces from layoutInlineChildren + https://bugs.webkit.org/show_bug.cgi?id=57432 + + There is much more we could split out from this function, but this is a start. + + I suspect this is very hot code. Hopefully the compiler will do the right thing. + If it doesn't the Chromium PLT bots will tell us. + + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::handleTrailingSpaces): + (WebCore::RenderBlock::layoutInlineChildren): + +2011-03-21 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + editing commands shouldn't run when there's no body + https://bugs.webkit.org/show_bug.cgi?id=56771 + + The bug was caused by WebKit's not checking the existence of root editable element + in enabled* functions. Although isContentEditable returns true whenever we're in design mode, + we should not run editing commands in a document without a body element editable because + doing so results in appending a non-body element to the document node. + + Fixed the bug by modifying various enabled* functions to ensure we have a root editable element. + New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore + when there are no body element. Since StyleWithCSS is a document's state or property, we allow + execCommand('StyleWithCSS') even in a document without a body element. + + WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html. + Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies + the selection when document.write("x") is ran and successfully inserts image. + + Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox + while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail. + + Since Internet Explorer does not allow execCommand to run under design mode properly, we could + not test its behavior. + + Tests: editing/editability/empty-document-delete.html + editing/editability/empty-document-justify-right.html + editing/editability/empty-document-stylewithcss.html + editing/execCommand/insert-image-with-selecting-document.html + + * editing/Editor.cpp: + (WebCore::Editor::canEdit): Verify that the root editable element exists + instead of just checking that selection endpoints are editable because + selection endpoints could be document node without a body element in design mode + and we don't want to consider such a document editable. + (WebCore::Editor::canDelete): Ditto. + * editing/EditorCommand.cpp: + (WebCore::enabledInEditableText): Ditto. + (WebCore::enabledInRichlyEditableText): Ditto. + (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead + of duplicating the code in order to fix the same bug. + +2011-04-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + REGRESSION (r82786): Media controls render incorrectly on GTK and Qt + https://bugs.webkit.org/show_bug.cgi?id=57719 + + r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout() + that the timeline container is the parent of the time display. This is not true + with the GTK media style, where the current time display is an inline box, and + thus wrapped in an anonymous flexible box. The code was incorrectly considering + the width of the anonymous box and deciding to hide the time display. Prior to + r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout. + + * rendering/MediaControlElements.cpp: + (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors. + +2011-04-02 Nico Weber <thakis@chromium.org> + + Reviewed by Adam Barth. + + Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0 + + By default, ICU includes |using namespace icu;| in its header files + for backwards compatibility. Clients can define + U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU + classes with |icu::| makes this file compile no matter what + U_USING_ICU_NAMESPACE is set to. + + https://bugs.webkit.org/show_bug.cgi?id=57715 + + * platform/text/LocalizedNumberICU.cpp: + (WebCore::createFormatterForCurrentLocale): + (WebCore::numberFormatter): + (WebCore::parseLocalizedNumber): + (WebCore::formatLocalizedNumber): + +2011-04-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Remove an unnecessary extra computeLogicalWidth() from line layout + https://bugs.webkit.org/show_bug.cgi?id=57711 + + Changes in behavior (MathML progression) covered by existing layout tests. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a + call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this + actually prevents MathML rows from reverting to an incorrect width. + +2011-04-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + <details> marker loses its margin + https://bugs.webkit.org/show_bug.cgi?id=57713 + + * rendering/RenderDetails.cpp: + (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update + the marker location. + * rendering/RenderDetails.h: + (WebCore::RenderDetails::renderName): Made private. + (WebCore::RenderDetails::isDetails): Ditto. + * rendering/RenderDetailsMarker.cpp: + (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins + in the style, like RenderListMarker does. + (WebCore::RenderDetailsMarker::layout): Set the margins from the style. + +2011-04-02 Andy Estes <aestes@apple.com> + + Reviewed by Oliver Hunt. + + REGRESSION (r69237): Black border around map elements while using an image map on Mac platform + https://bugs.webkit.org/show_bug.cgi?id=52518 + + Test: fast/images/imagemap-focus-ring-zero-outline-width.html + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0. + +2011-04-02 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=57605 + Frame::pageScaleFactor() should not affect getBoundingClientRect() or + getClientRects() + -and corresponding- + <rdar://problem/9194541> + + New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom(). + * dom/Element.cpp: + (WebCore::Element::getClientRects): + (WebCore::Element::getBoundingClientRect): + * dom/Range.cpp: + (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): + (WebCore::Range::getBorderAndTextQuads): + * rendering/RenderObject.h: + (WebCore::adjustFloatPointForPageScale): + (WebCore::adjustFloatQuadForPageScale): + (WebCore::adjustFloatRectForPageScale): + +2011-04-02 Dan Bernstein <mitz@apple.com> + + Reverted r82775 due to changes in <details> test results, which are + likely progressions. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a + +2011-04-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Remove an unnecessary extra computeLogicalWidth() from line layout + https://bugs.webkit.org/show_bug.cgi?id=57711 + + Changes in behavior (MathML progression) covered by existing layout tests. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a + call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this + actually prevents MathML rows from reverting to an incorrect width. + +2011-04-02 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Martin Robinson. + + [GTK] Fix leaked pointer in FontGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=57307 + + Fix a memory leak. + + No new functionality, so no new tests. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation. + (WebCore::convertUniCharToUTF8): + +2011-04-02 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: we should be able to have in and out arguments of a command with same name. + https://bugs.webkit.org/show_bug.cgi?id=57701 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.json: + +2011-04-01 Ilya Tikhonovsky <loislo@chromium.org> + + Not reviewed trivial change. + + Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off. + Followup change for r82281. + https://bugs.webkit.org/show_bug.cgi?id=57327 + + * inspector/InspectorPageAgent.cpp: + * inspector/InspectorPageAgent.h: + +2011-04-01 Michael Saboff <msaboff@apple.com> + + Reviewed by Darin Adler. + + Cached Resource Overhead Space Usage and Accounting Inaccurate + https://bugs.webkit.org/show_bug.cgi?id=57488 + + Fixed windows test failures. + Changed the fixed overhead value for ResourceResponse to 3800 bytes. + Modified ResourceResponse::platformLazyInit() to handle "base" level + attributes or all attributes. The base attributes, like URL, status + code, mime type and a few header fields (mostly cache related) are + suitable for most resources. This reduces the per resource memory + needs by over 1K bytes per resource thus saving memory in the cache. + Collectively, these two changes bring the overhead memory calculation + in line with reality. + + No new tests added due to existing tests cover areas of change and + there is no functional change. The change is limited to reducing + memory usage along existing paths. + + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::canUseCacheValidator): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::adopt): + (WebCore::ResourceResponseBase::isHTTP): + (WebCore::ResourceResponseBase::url): + (WebCore::ResourceResponseBase::setURL): + (WebCore::ResourceResponseBase::mimeType): + (WebCore::ResourceResponseBase::setMimeType): + (WebCore::ResourceResponseBase::expectedContentLength): + (WebCore::ResourceResponseBase::setExpectedContentLength): + (WebCore::ResourceResponseBase::textEncodingName): + (WebCore::ResourceResponseBase::setTextEncodingName): + (WebCore::ResourceResponseBase::suggestedFilename): + (WebCore::ResourceResponseBase::setSuggestedFilename): + (WebCore::ResourceResponseBase::httpStatusCode): + (WebCore::ResourceResponseBase::setHTTPStatusCode): + (WebCore::ResourceResponseBase::httpStatusText): + (WebCore::ResourceResponseBase::setHTTPStatusText): + (WebCore::ResourceResponseBase::httpHeaderField): + (WebCore::ResourceResponseBase::setHTTPHeaderField): + (WebCore::ResourceResponseBase::httpHeaderFields): + (WebCore::ResourceResponseBase::parseCacheControlDirectives): + (WebCore::ResourceResponseBase::hasCacheValidatorFields): + (WebCore::ResourceResponseBase::date): + (WebCore::ResourceResponseBase::age): + (WebCore::ResourceResponseBase::expires): + (WebCore::ResourceResponseBase::lastModified): + (WebCore::ResourceResponseBase::isAttachment): + (WebCore::ResourceResponseBase::setLastModifiedDate): + (WebCore::ResourceResponseBase::lastModifiedDate): + (WebCore::ResourceResponseBase::wasCached): + (WebCore::ResourceResponseBase::connectionReused): + (WebCore::ResourceResponseBase::setConnectionReused): + (WebCore::ResourceResponseBase::connectionID): + (WebCore::ResourceResponseBase::setConnectionID): + (WebCore::ResourceResponseBase::resourceLoadTiming): + (WebCore::ResourceResponseBase::setResourceLoadTiming): + (WebCore::ResourceResponseBase::resourceLoadInfo): + (WebCore::ResourceResponseBase::setResourceLoadInfo): + (WebCore::ResourceResponseBase::lazyInit): + * platform/network/ResourceResponseBase.h: + (WebCore::ResourceResponseBase::platformLazyInit): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::memoryUsage): + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::platformLazyInit): + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): + +2011-04-01 Anantanarayanan G Iyengar <ananta@chromium.org> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=45855 + Windowless plugins added dynamically to the DOM should receive paint events. + This is done by ensuring that the plugin widget is marked for painting when + it is added. + + Test: plugins/windowless_plugin_paint_test.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): + +2011-04-01 Mike Reed <reed@google.com> + + Reviewed by James Robinson. + + always use native font rendering on skia_gpu + fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice() + https://bugs.webkit.org/show_bug.cgi?id=57663 + + No new tests. existing rendering tests will exercise this + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): + +2011-04-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82712, r82729, and r82746. + http://trac.webkit.org/changeset/82712 + http://trac.webkit.org/changeset/82729 + http://trac.webkit.org/changeset/82746 + https://bugs.webkit.org/show_bug.cgi?id=57682 + + fast/frames/frame-programmatic-noresize.html is failing on + Windows bots. Will look into this offline. (Requested by dydx + on #webkit). + + * html/HTMLFrameElement.cpp: + (WebCore::HTMLFrameElement::HTMLFrameElement): + (WebCore::HTMLFrameElement::attach): + (WebCore::HTMLFrameElement::parseMappedAttribute): + * html/HTMLFrameElement.h: + (WebCore::HTMLFrameElement::noResize): + * rendering/RenderFrame.cpp: + * rendering/RenderFrame.h: + * rendering/RenderFrameSet.cpp: + * rendering/RenderFrameSet.h: + +2011-04-01 Adam Barth <abarth@webkit.org> + + Reviewed by Tony Chang. + + Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE + https://bugs.webkit.org/show_bug.cgi?id=57656 + + We should initialize memory when constructing objects. + + * platform/text/StringWithDirection.h: + (WebCore::StringWithDirection::StringWithDirection): + +2011-04-01 Jer Noble <jer.noble@apple.com> + + Reviewed by Darin Adler. + + WebKit2: Link from PDF opens in a new tab instead of in the same tab + https://bugs.webkit.org/show_bug.cgi?id=57528 + + * WebCore.exp.in: Export MouseEvent::create(). + +2011-04-01 John Bauman <jbauman@chromium.org> + + Reviewed by Kenneth Russell. + + Avoid decoding images twice in texImage2D + https://bugs.webkit.org/show_bug.cgi?id=51498 + + Make sure to redecode the image only if it's not opaque and texImage2D + wouldn't premultiply it anyway. + + * platform/graphics/BitmapImage.h: + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2011-04-01 Alexey Proskuryakov <ap@apple.com> + + 32-bit Mac build fix. + + * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String + to avoid ambiguity. + +2011-04-01 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + Make WebKit2 text input handling more like WebKit1 + https://bugs.webkit.org/show_bug.cgi?id=57649 + + * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions + we used to have. It is dangerous to confuse editor commands and selector names - besides the + presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those. + +2011-04-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82711. + http://trac.webkit.org/changeset/82711 + https://bugs.webkit.org/show_bug.cgi?id=57657 + + Made every test crash on XP and Win7 (Requested by + abarth|gardening on #webkit). + + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::canUseCacheValidator): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::adopt): + (WebCore::ResourceResponseBase::isHTTP): + (WebCore::ResourceResponseBase::url): + (WebCore::ResourceResponseBase::setURL): + (WebCore::ResourceResponseBase::mimeType): + (WebCore::ResourceResponseBase::setMimeType): + (WebCore::ResourceResponseBase::expectedContentLength): + (WebCore::ResourceResponseBase::setExpectedContentLength): + (WebCore::ResourceResponseBase::textEncodingName): + (WebCore::ResourceResponseBase::setTextEncodingName): + (WebCore::ResourceResponseBase::suggestedFilename): + (WebCore::ResourceResponseBase::setSuggestedFilename): + (WebCore::ResourceResponseBase::httpStatusCode): + (WebCore::ResourceResponseBase::setHTTPStatusCode): + (WebCore::ResourceResponseBase::httpStatusText): + (WebCore::ResourceResponseBase::setHTTPStatusText): + (WebCore::ResourceResponseBase::httpHeaderField): + (WebCore::ResourceResponseBase::setHTTPHeaderField): + (WebCore::ResourceResponseBase::httpHeaderFields): + (WebCore::ResourceResponseBase::parseCacheControlDirectives): + (WebCore::ResourceResponseBase::date): + (WebCore::ResourceResponseBase::age): + (WebCore::ResourceResponseBase::expires): + (WebCore::ResourceResponseBase::lastModified): + (WebCore::ResourceResponseBase::isAttachment): + (WebCore::ResourceResponseBase::setLastModifiedDate): + (WebCore::ResourceResponseBase::lastModifiedDate): + (WebCore::ResourceResponseBase::wasCached): + (WebCore::ResourceResponseBase::connectionReused): + (WebCore::ResourceResponseBase::setConnectionReused): + (WebCore::ResourceResponseBase::connectionID): + (WebCore::ResourceResponseBase::setConnectionID): + (WebCore::ResourceResponseBase::resourceLoadTiming): + (WebCore::ResourceResponseBase::setResourceLoadTiming): + (WebCore::ResourceResponseBase::resourceLoadInfo): + (WebCore::ResourceResponseBase::setResourceLoadInfo): + (WebCore::ResourceResponseBase::lazyInit): + * platform/network/ResourceResponseBase.h: + (WebCore::ResourceResponseBase::platformLazyInit): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::memoryUsage): + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::platformLazyInit): + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): + +2011-04-01 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer + https://bugs.webkit.org/show_bug.cgi?id=57651 + + No new tests. This patch does not affect outward behavior. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::isAccelerated): + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::isAccelerated): + +2011-04-01 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + Frame's noResize attribute can not be set by JavaScript + https://bugs.webkit.org/show_bug.cgi?id=14845 + + Tests: fast/frames/frame-inherit-noresize-from-frameset.html + fast/frames/frame-programmatic-noresize.html + fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html + fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html + + Implements support to programmatically allow and disallow frame resizing. + + Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e. + m_noResize = true) when either the noresize DOM attribute is specified (or existed at some + point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow + frame resize depending on the presence of the noresize DOM attribute/the value of the noResize + attribute. + + * html/HTMLFrameElement.cpp: + (WebCore::HTMLFrameElement::HTMLFrameElement): + (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this + code path isn't performance critical. + (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from + parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo(). + (WebCore::HTMLFrameElement::parseMappedAttribute): + * html/HTMLFrameElement.h: + * rendering/RenderFrame.cpp: + (WebCore::RenderFrame::updateFromElement): Added. + * rendering/RenderFrame.h: + * rendering/RenderFrameSet.cpp: + (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added. + * rendering/RenderFrameSet.h: + +2011-04-01 Michael Saboff <msaboff@apple.com> + + Reviewed by Darin Adler. + + Cached Resource Overhead Space Usage and Accounting Inaccurate + https://bugs.webkit.org/show_bug.cgi?id=57488 + + Changed the fixed overhead value for ResourceResponse to 3800 bytes. + Modified ResourceResponse::platformLazyInit() to handle "base" level + attributes or all attributes. The base attributes, like URL, status + code, mime type and a few header fields (mostly cache related) are + suitable for most resources. This reduces the per resource memory + needs by over 1K bytes per resource thus saving memory in the cache. + Collectively, these two changes bring the overhead memory calculation + in line with reality. + + No new tests added due to existing tests cover areas of change and + there is no functional change. The change is limited to reducing + memory usage along existing paths. + + * loader/cache/CachedResource.cpp: + (WebCore::CachedResource::canUseCacheValidator): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::isHTTP): + (WebCore::ResourceResponseBase::url): + (WebCore::ResourceResponseBase::setURL): + (WebCore::ResourceResponseBase::mimeType): + (WebCore::ResourceResponseBase::setMimeType): + (WebCore::ResourceResponseBase::expectedContentLength): + (WebCore::ResourceResponseBase::setExpectedContentLength): + (WebCore::ResourceResponseBase::textEncodingName): + (WebCore::ResourceResponseBase::setTextEncodingName): + (WebCore::ResourceResponseBase::suggestedFilename): + (WebCore::ResourceResponseBase::setSuggestedFilename): + (WebCore::ResourceResponseBase::httpStatusCode): + (WebCore::ResourceResponseBase::setHTTPStatusCode): + (WebCore::ResourceResponseBase::httpHeaderField): + (WebCore::ResourceResponseBase::setHTTPHeaderField): + (WebCore::ResourceResponseBase::parseCacheControlDirectives): + (WebCore::ResourceResponseBase::hasCacheValidatorFields): + (WebCore::ResourceResponseBase::date): + (WebCore::ResourceResponseBase::age): + (WebCore::ResourceResponseBase::expires): + (WebCore::ResourceResponseBase::lastModified): + (WebCore::ResourceResponseBase::lazyInit): + * platform/network/ResourceResponseBase.h: + (WebCore::ResourceResponseBase::platformLazyInit): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::memoryUsage): + * platform/network/cf/ResourceResponseCFNet.cpp: + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::platformLazyInit): + +2011-04-01 Timothy Hatcher <timothy@apple.com> + + Make momentum scroll event latching work in WebKit2 on Mac. + + <rdar://problem/8751861> + + Reviewed by Darin Adler. + + * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase. + * page/EventHandler.cpp: + (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the + event's momentumPhase. + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode. + It is now done in EventHandler::handleWheelEvent. + * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase. + * platform/mac/WebCoreSystemInterface.mm: Ditto. + * platform/mac/WheelEventMac.mm: + (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase. + +2011-04-01 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaClass should be an interface and free of JNI types + https://bugs.webkit.org/show_bug.cgi?id=57533 + + This patch fixes JavaClass for V8 only. + + It factors out a JavaClass interface which does not use JNI types. + This will allow the Java bridge to be used with objects that + don't use JNI directly. The existing jobject-backed + implementation is moved to a new JavaClassJobject class which + implements the interface. + + No new tests, refactoring only. + + * Android.v8bindings.mk: + * WebCore.gypi: + * bridge/jni/v8/JavaClassJobjectV8.cpp: + (JavaClassJobject::JavaClassJobject): + (JavaClassJobject::~JavaClassJobject): + (JavaClassJobject::methodsNamed): + (JavaClassJobject::fieldNamed): + * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h. + * bridge/jni/v8/JavaClassV8.h: + (JSC::Bindings::JavaClass::~JavaClass): + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::getClass): + +2011-04-01 Jaehun Lim <ljaehun.lim@samsung.com> + + Unreviewed build fix. + + Fix build break when font backend is Pango. + Pango is missed in changeset 80589. + + https://bugs.webkit.org/show_bug.cgi?id=57609 + + * platform/graphics/pango/FontPlatformData.h: + (WebCore::FontPlatformData::setOrientation): + +2011-04-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82687. + http://trac.webkit.org/changeset/82687 + https://bugs.webkit.org/show_bug.cgi?id=57643 + + This patch broke accessibility aria-treegrid test in Mac + (Requested by msanchez on #webkit). + + * accessibility/AccessibilityARIAGrid.cpp: + * accessibility/AccessibilityARIAGrid.h: + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): + * accessibility/mac/AccessibilityObjectWrapper.mm: + +2011-03-31 Abhishek Arya <inferno@chromium.org> + + Reviewed by Andreas Kling. + + Whenever a relayout is trigger for SVGPath, make sure + to clear its previous marker layout info. This helps + to prevent removed markers from being used. + https://bugs.webkit.org/show_bug.cgi?id=57492 + + Test: svg/dom/path-marker-removed-crash.svg + + * rendering/svg/RenderSVGPath.cpp: + (WebCore::RenderSVGPath::layout): + * rendering/svg/SVGMarkerLayoutInfo.cpp: + (WebCore::SVGMarkerLayoutInfo::clear): + * rendering/svg/SVGMarkerLayoutInfo.h: + +2011-04-01 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Nikolas Zimmermann. + + https://bugs.webkit.org/show_bug.cgi?id=55750 + SVG <image> referenced by <use> is displayed incorrectly + + Reintroduce old behaviour for valid base URI, for invalid + keep using document base URI. + Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg. + + Test: svg/custom/image-base-uri.svg + + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::sourceURI): + +2011-04-01 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Chris Fleizach. + + ARIA Grid tables should return GridRole in roleValue() method + https://bugs.webkit.org/show_bug.cgi?id=57614 + + This change does not need any test since it doesn't change anything + from the point of view of the consumers (Assistive Technoglogies). + It's just an internal change to simplify identifying HTML and ARIA + tables by calling to the AccessibilityObject::roleValue method. + + * accessibility/AccessibilityARIAGrid.h: + * accessibility/AccessibilityARIAGrid.cpp: + (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (atkRole): Removed unneeded comment. + + * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to + NSAccessibilityTableRole, to keep the same behaviour. + +2011-04-01 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + <meter> can only support horizontal indicator + https://bugs.webkit.org/show_bug.cgi?id=56001 + + - Removed code which deals with the direction and + left the horizontal path. + - Removed "horizontal" from related names which is now + redundant. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter::-webkit-meter-bar): + (meter::-webkit-meter-optimum-value): + (meter::-webkit-meter-suboptimal-value): + (meter::-webkit-meter-even-less-good-value): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): + (WebCore::RenderMeter::updateFromElement): + (WebCore::RenderMeter::layoutParts): + (WebCore::RenderMeter::styleDidChange): + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valuePartRect): + (WebCore::RenderMeter::valuePseudoId): + (WebCore::RenderMeter::barPseudoId): + (WebCore::RenderMeter::detachShadows): + (WebCore::RenderMeter::updateShadows): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::shadowAttached): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::supportsMeter): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMeter): + (WebCore::RenderThemeMac::supportsMeter): + * rendering/style/RenderStyleConstants.h: + +2011-03-23 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: fix reveal line in formatted script. + https://bugs.webkit.org/show_bug.cgi?id=56941 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.JavaScriptBreakpointsSidebarPane): + (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel.prototype.canShowAnchorLocation): + (WebInspector.NetworkPanel.prototype.showAnchorLocation): + * inspector/front-end/Panel.js: + (WebInspector.Panel.prototype.canShowAnchorLocation): + (WebInspector.Panel.prototype.showAnchorLocation): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation): + (WebInspector.ResourcesPanel.prototype.showAnchorLocation): + (WebInspector.ResourcesPanel.prototype.showResource): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation): + (WebInspector.ScriptsPanel.prototype.showAnchorLocation): + (WebInspector.ScriptsPanel.prototype._showSourceLine): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.highlightLine): + (WebInspector.SourceFrame.prototype._createTextViewer): + * inspector/front-end/inspector.js: + (WebInspector.documentClick.followLink): + (WebInspector.documentClick): + (WebInspector._showAnchorLocation): + +2011-04-01 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: make editScriptSource a Script's method. + https://bugs.webkit.org/show_bug.cgi?id=57615 + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.requestSource): + (WebInspector.Script.prototype.editSource): + +2011-04-01 Pavel Feldman <pfeldman@google.com> + + Reviewed by Yury Semikhatsky. + + Web Inspector: event should have "data" attribute, not "body" + https://bugs.webkit.org/show_bug.cgi?id=57628 + + * inspector/CodeGeneratorInspector.pm: + +2011-04-01 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane. + https://bugs.webkit.org/show_bug.cgi?id=57610 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): + +2011-04-01 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: up/down keys are not treating hex numbers properly while editing styles. + https://bugs.webkit.org/show_bug.cgi?id=40522 + + Drive-by: fix inc/dec for numbers like ".5" + + Test: inspector/styles/up-down-numerics-and-colors.html + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove dead code from Script.js. + https://bugs.webkit.org/show_bug.cgi?id=57454 + + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype._parsedScriptSource): + (WebInspector.DebuggerModel.prototype._failedToParseScriptSource): + * inspector/front-end/Script.js: + (WebInspector.Script): + (WebInspector.Script.prototype.requestSource.didGetScriptSource): + (WebInspector.Script.prototype.requestSource): + +2011-04-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82667. + http://trac.webkit.org/changeset/82667 + https://bugs.webkit.org/show_bug.cgi?id=57612 + + Breaks Leopard layout tests (Requested by podivilov on + #webkit). + + * GNUmakefile.am: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove unused SourceFrameContent class. + https://bugs.webkit.org/show_bug.cgi?id=57453 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/ResourceView.js: + (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createTextViewer): + * inspector/front-end/SourceFrameContent.js: Removed. + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: add test for script formatter worker. + https://bugs.webkit.org/show_bug.cgi?id=57447 + + Test: inspector/debugger/script-formatter.html + + * GNUmakefile.am: + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel): + (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated. + https://bugs.webkit.org/show_bug.cgi?id=57446 + + * inspector/front-end/ScriptFormatterWorker.js: + +2011-04-01 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: allow file access from inspector page so inspector can use workers. + https://bugs.webkit.org/show_bug.cgi?id=57339 + + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): + +2011-03-31 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: inspected page crashes on attempt to log object with broken .toString + https://bugs.webkit.org/show_bug.cgi?id=57557 + + If ScriptValue.toString causes a JavaScript exception, the exception is cleared + before returning from the toString method. + + Test: inspector/console/console-log-toString-object.html + + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::toString): + * bindings/js/ScriptValue.h: + * bindings/v8/ScriptValue.cpp: + (WebCore::ScriptValue::toString): + +2011-03-31 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + - removed documentWide parameter to querySelector[All]() (user document node id instead) + - factor out document request logic within DOMAgent into separate method + - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end + - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly + - minor style fixes in Inspector.json + - more error logging + + Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document + https://bugs.webkit.org/show_bug.cgi?id=57466 + + * inspector/Inspector.json: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::querySelector): + (WebCore::InspectorDOMAgent::querySelectorAll): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): + (WebInspector.CSSStyleModel.prototype.setRuleSelector): + (WebInspector.CSSStyleModel.prototype.addRule.callback): + (WebInspector.CSSStyleModel.prototype.addRule): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable): + (WebInspector.DOMAgent.prototype.requestDocument): + (WebInspector.DOMAgent.prototype.pushNodeToFrontend): + (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): + (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable): + (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable): + (WebInspector.DOMAgent.prototype.cancelSearch): + (WebInspector.DOMAgent.prototype.querySelector): + (WebInspector.DOMAgent.prototype.querySelectorAll): + +2011-04-01 Kent Tamura <tkent@chromium.org> + + Apply sort-Xcode-project-file. + + * WebCore.xcodeproj/project.pbxproj: + +2011-03-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82652. + http://trac.webkit.org/changeset/82652 + https://bugs.webkit.org/show_bug.cgi?id=57603 + + Test still fails (Requested by abarth|gardener on #webkit). + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): + +2011-03-31 Naoki Takano <takano.naoki@gmail.com> + + Reviewed by Kent Tamura. + + REGRESSION (r64712): Safari removes the first blank line in a textarea + https://bugs.webkit.org/show_bug.cgi?id=56434 + + Test: fast/forms/textarea-newline.html + + A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue(). + But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice. + And devalutValue() removal is not needed anymore. + + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning. + (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function. + +2011-03-31 Luke Macpherson <macpherson@chromium.org> + + Reviewed by Dimitri Glazkov. + + Remove refcounting of CSSStyleApplyProperty singleton + https://bugs.webkit.org/show_bug.cgi?id=57592 + + No new tests required as no functionality changes. + + * css/CSSStyleApplyProperty.h: + +2011-03-31 Anantanarayanan G Iyengar <ananta@chromium.org> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=45855 + Windowless plugins added dynamically to the DOM should receive paint events. + This is done by ensuring that the plugin widget is marked for painting when + it is added. + + Test: plugins/windowless_plugin_paint_test.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): + +2011-03-31 Adam Roben <aroben@apple.com> + + Add a new AbstractCACFLayerTreeHost base class + + This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on. + CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's + LayerTreeHostCA will also derive from it (on Windows). + + This should cause no change in behavior. + + Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related + code is too high + + Reviewed by Anders Carlsson. + + * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files. + + * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added. + + * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from + AbstractCACFLayerTreeHost, and annotated the overrides of its functions. + AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with + PlatformCALayer. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: + (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): + (WebCore::LayerChangesFlusher::cancelPendingFlush): + (WebCore::LayerChangesFlusher::hookFired): + * platform/graphics/ca/win/LayerChangesFlusher.h: + * platform/graphics/ca/win/PlatformCALayerWin.cpp: + (layerTreeHostForLayer): + (PlatformCALayer::rootLayer): + (PlatformCALayer::setNeedsCommit): + (PlatformCALayer::addAnimationForKey): + (PlatformCALayer::removeAnimationForKey): + Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly. + +2011-03-31 Andy Estes <aestes@apple.com> + + Reviewed by Alexey Proskuryakov. + + REGRESSION: Java applet fails to load when <object> has a classid attribute. + https://bugs.webkit.org/show_bug.cgi?id=52703 + + Java applets embedded with the object element sometimes use classid to + specify their main resource. When this is done, the classid is prefixed + with "java:". Treat these as supported classids in WebKit. + + Test: java/embedding-java-with-object.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a + Java Applet type and the classid starts with "java:", the classid + should be considered valid. + +2011-03-31 Brent Fulgham <bfulgham@webkit.org> + + Reviewed Adam Roben. + + [WinCairo] Implement Missing drawWindowsBitmap method. + https://bugs.webkit.org/show_bug.cgi?id=57409 + + * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files. + * platform/graphics/GraphicsContext.h: + (WebCore::GraphicsContext::WindowsBitmap::buffer): + (WebCore::GraphicsContext::WindowsBitmap::bufferLength): + (WebCore::GraphicsContext::WindowsBitmap::size): + (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow): + (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel): + (WebCore::GraphicsContext::WindowsBitmap::windowsDIB): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::CGContextWithHDC): + (WebCore::GraphicsContext::releaseWindowsContext): Modified to use + new common routines. + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::drawBitmapToContext): New common drawing implementation. + (WebCore::GraphicsContext::releaseWindowsContext): Modified to use + new common routines. + (WebCore::GraphicsContext::drawWindowsBitmap): + * platform/graphics/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified + to use new DIBPixelData data type. + * platform/graphics/win/DIBPixelData.cpp: Added. + (WebCore::DIBPixelData::DIBPixelData): + (WebCore::DIBPixelData::initialize): + * platform/graphics/win/DIBPixelData.h: Added. + (WebCore::DIBPixelData::DIBPixelData): + (WebCore::DIBPixelData::buffer): + (WebCore::DIBPixelData::bufferLength): + (WebCore::DIBPixelData::size): + (WebCore::DIBPixelData::bytesPerRow): + (WebCore::DIBPixelData::bitsPerPixel): + +2011-03-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r81849. + http://trac.webkit.org/changeset/81849 + https://bugs.webkit.org/show_bug.cgi?id=57588 + + CSS Parsing broke with -webkit-calc and introduced crashes + (Requested by inferno-sec on #webkit). + + * css/CSSGrammar.y: + * css/CSSParserValues.cpp: + * css/CSSParserValues.h: + * css/tokenizer.flex: + +2011-03-31 Adam Roben <aroben@apple.com> + + Don't ref CACFLayerTreeHosts when telling them to flush layer changes + + LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would + have protected us if calling out to one CACFLayerTreeHost could cause a different + CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is + associated with its own page, and flushing layer changes doesn't touch any other page. So it + isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer + changes. + + One benefit of this change is that it will make it easier to make LayerChangesFlusher + interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself. + + This should cause no change in behavior. + + Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost + before calling out to it + + Reviewed by Darin Adler. + + * platform/graphics/ca/win/LayerChangesFlusher.cpp: + (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the + CACFLayerTreeHosts. + +2011-03-31 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=57574 + Preload scanner fails to pick up resources from document.write() output + + - Scan script inserted source using a separate preload scanner. + - Make the main preload scanner correctly process the remaining source if script execution blocked the parser. + + Tests: fast/preloader/document-write-2.html + fast/preloader/document-write.html + + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::insert): + (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): + * html/parser/HTMLDocumentParser.h: + (WebCore::HTMLDocumentParser::hasPreloadScanner): + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::execute): + * html/parser/HTMLScriptRunnerHost.h: + +2011-03-31 Tony Gentilcore <tonyg@chromium.org> + + Build fix: Add missing include + https://bugs.webkit.org/show_bug.cgi?id=57587 + + * loader/cache/CachedResourceLoader.cpp: + +2011-03-31 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Antti Koivisto. + + PreloadScanner doesn't find image while executing script in head + https://bugs.webkit.org/show_bug.cgi?id=45072 + + Previously, while parsing the head, no resources in the body would be + preloaded. After this patch, we will preload scripts and styles in the + body, although we continue to hold off on all images until the page is + first rendered. + + To evaluate this change, I've recorded a sampling of 45 of alexa's top + sites and replayed them under simulated bandwidth conditions, loading + each 5-15 times until stddev is small enough. + + Time to the load event improved at the overall average by 3%. + Most sites are unchanged, but sites with certain blocking patterns had + big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms) + nytimes 7% (182ms). + + Time to DOM content loaded event improved by 6% with some even bigger + individual wins. + + First paint time held steady. + + Note that I originally wanted to allow preloading of images while in the + head, but that regressed first paint time (even though it was better for + overall load time). + + Test: fast/preloader/scan-body-from-head.html + + * loader/cache/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::preload): + +2011-03-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82616. + http://trac.webkit.org/changeset/82616 + https://bugs.webkit.org/show_bug.cgi?id=57585 + + New test does not pass on Gtk, chromium-mac, chromium-linux + and possibly elsewhere (Requested by abarth|gardener on + #webkit). + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): + +2011-03-31 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl + https://bugs.webkit.org/show_bug.cgi?id=57577 + + LayerRendererChromium now uses a RefPtr to preserve ownership of all + of the CCLayerImpl layers that it is using during the update/draw + pass. Addtionally, when a LayerChromium is destroyed, the weak + owner pointer from its CCLayerImpl is correctly unset. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::compareLayerZ): + (WebCore::LayerRendererChromium::updateAndDrawLayers): + (WebCore::LayerRendererChromium::updateLayers): + (WebCore::LayerRendererChromium::drawLayers): + (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): + (WebCore::LayerRendererChromium::drawLayer): + * platform/graphics/chromium/LayerRendererChromium.h: + * platform/graphics/chromium/RenderSurfaceChromium.h: + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateCompositorResources): + * platform/graphics/chromium/cc/CCLayerImpl.cpp: + (WebCore::CCLayerImpl::drawsContent): + (WebCore::CCLayerImpl::cleanupResources): + +2011-03-31 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API + https://bugs.webkit.org/show_bug.cgi?id=57582 + + * platform/DefaultLocalizationStrategy.cpp: + * platform/LocalizedStrings.h: + +2011-03-31 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57550 + + * platform/text/BidiResolver.h: + (WebCore::::createBidiRunsForLine): + +2011-03-31 Anantanarayanan G Iyengar <ananta@chromium.org> + + Reviewed by James Robinson. + + https://bugs.webkit.org/show_bug.cgi?id=45855 + Windowless plugins added dynamically to the DOM should receive paint events. + This is done by ensuring that the plugin widget is marked for painting when + it is added. + + Test: plugins/windowless_plugin_paint_test.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): + +2011-03-31 Stephen White <senorblanco@chromium.org> + + Reviewed by Kenneth Russell. + + Speed up accelerated path drawing. + https://bugs.webkit.org/show_bug.cgi?id=57371 + This CL does three things: re-uses the same vertex and index buffer + for all path draws, converts all vertex layouts from vec3 to vec2, and + does a convexity check for polygons before passing them to the + tesselator. + + Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others. + + * platform/graphics/chromium/GLES2Canvas.cpp: + Replace the Vector<double> for interpolated curves with a + Vector<FloatPoint>. + (WebCore::Cubic::evaluate): + Inline the evaluation function (as Quadratic does). + (WebCore::GLES2Canvas::GLES2Canvas): + Initialize the m_pathIndexBuffer. + (WebCore::GLES2Canvas::~GLES2Canvas): + Delete the path vertex and index buffers on destruction. + (WebCore::interpolateQuadratic): + (WebCore::interpolateCubic): + Interpolate directly to a Vector<FloatPoint>, rather than + Vector<double>. + (WebCore::PolygonData::PolygonData): + (WebCore::combineData): + Replace the DoubleVector with a FloatPointVector. + (WebCore::GLES2Canvas::tesselateAndFillPath): + Move curve drawing into this function, and rename it to reflect the + new behaviour. Re-use the common vertex and index buffers. If the + curve consists of a single convex polygon, draw the curve as a single + triangle fan. Otherwise, convert it to doubles and pass it to the + tesselator. + (WebCore::GLES2Canvas::fillPathInternal): + * platform/graphics/chromium/GLES2Canvas.h: + Rename createVertexBufferFromPath() -> tesselateAndFillPath(). + Add a persistent index buffer for all path draws. + * platform/graphics/gpu/BicubicShader.cpp: + (WebCore::BicubicShader::create): + (WebCore::BicubicShader::use): + * platform/graphics/gpu/ConvolutionShader.cpp: + (WebCore::ConvolutionShader::create): + (WebCore::ConvolutionShader::use): + Use vec2s instead of vec3s for all vertex data. + * platform/graphics/gpu/LoopBlinnMathUtils.cpp: + (WebCore::LoopBlinnMathUtils::convexCompare): + (WebCore::LoopBlinnMathUtils::convexCross): + (WebCore::LoopBlinnMathUtils::convexCheckTriple): + (WebCore::LoopBlinnMathUtils::isConvex): + * platform/graphics/gpu/LoopBlinnMathUtils.h: + Implement a convexity check, based on the code in Graphics Gems IV. + * platform/graphics/gpu/Shader.cpp: + (WebCore::Shader::generateVertex): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::useQuadVertices): + * platform/graphics/gpu/SolidFillShader.cpp: + (WebCore::SolidFillShader::use): + * platform/graphics/gpu/TexShader.cpp: + (WebCore::TexShader::use): + Use vec2s instead of vec3s for all vertex data. + +2011-03-31 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=57565 + + Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having + to check the line for overflow in the first place. + + For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend + all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows + replaced objects to be inside spans without triggering overflow allocation. + + The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block + dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the + lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling + back up to the root box to fetch them. + + Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can + possibly be present. When the bit is set, computeOverflow will just immediately return. + + This change speeds up line layout by ~10%. + + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/EllipsisBox.h: + * rendering/InlineBox.cpp: + (WebCore::InlineBox::paint): + (WebCore::InlineBox::nodeAtPoint): + (WebCore::InlineBox::clearKnownToHaveNoOverflow): + * rendering/InlineBox.h: + (WebCore::InlineBox::InlineBox): + (WebCore::InlineBox::logicalFrameRect): + (WebCore::InlineBox::knownToHaveNoOverflow): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + (WebCore::InlineFlowBox::placeBoxesInInlineDirection): + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): + (WebCore::InlineFlowBox::addTextBoxVisualOverflow): + (WebCore::InlineFlowBox::addReplacedChildOverflow): + (WebCore::InlineFlowBox::computeOverflow): + (WebCore::InlineFlowBox::setLayoutOverflow): + (WebCore::InlineFlowBox::setVisualOverflow): + (WebCore::InlineFlowBox::setOverflowFromLogicalRects): + (WebCore::InlineFlowBox::nodeAtPoint): + (WebCore::InlineFlowBox::paint): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::layoutOverflowRect): + (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): + (WebCore::InlineFlowBox::logicalRightLayoutOverflow): + (WebCore::InlineFlowBox::logicalTopLayoutOverflow): + (WebCore::InlineFlowBox::logicalBottomLayoutOverflow): + (WebCore::InlineFlowBox::logicalLayoutOverflowRect): + (WebCore::InlineFlowBox::visualOverflowRect): + (WebCore::InlineFlowBox::logicalLeftVisualOverflow): + (WebCore::InlineFlowBox::logicalRightVisualOverflow): + (WebCore::InlineFlowBox::logicalTopVisualOverflow): + (WebCore::InlineFlowBox::logicalBottomVisualOverflow): + (WebCore::InlineFlowBox::logicalVisualOverflowRect): + (WebCore::InlineFlowBox::frameRectIncludingLineHeight): + (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::nodeAtPoint): + (WebCore::InlineTextBox::paint): + * rendering/InlineTextBox.h: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::simplifiedNormalFlowLayout): + (WebCore::RenderBlock::paintEllipsisBoxes): + (WebCore::RenderBlock::adjustLinePositionForPagination): + * rendering/RenderBlock.h: + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::matchedEndLine): + (WebCore::RenderBlock::addOverflowFromInlineChildren): + * rendering/RenderBox.h: + (WebCore::RenderBox::hasRenderOverflow): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::linesVisualOverflowBoundingBox): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::anyLineIntersectsRect): + (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): + (WebCore::RenderLineBoxList::paint): + (WebCore::RenderLineBoxList::hitTest): + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::positionListMarker): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::paintEllipsisBox): + (WebCore::RootInlineBox::addHighlightOverflow): + (WebCore::RootInlineBox::paint): + (WebCore::RootInlineBox::nodeAtPoint): + (WebCore::RootInlineBox::paddedLayoutOverflowRect): + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::logicalTopVisualOverflow): + (WebCore::RootInlineBox::logicalBottomVisualOverflow): + (WebCore::RootInlineBox::logicalTopLayoutOverflow): + (WebCore::RootInlineBox::logicalBottomLayoutOverflow): + * rendering/svg/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paint): + * rendering/svg/SVGInlineFlowBox.h: + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paint): + * rendering/svg/SVGInlineTextBox.h: + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::paint): + * rendering/svg/SVGRootInlineBox.h: + +2011-03-31 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: disable properties abbreviation. + https://bugs.webkit.org/show_bug.cgi?id=57525 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::getProperties): + * inspector/InjectedScript.h: + * inspector/InjectedScriptSource.js: + (.): + (): + * inspector/Inspector.json: + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::getProperties): + * inspector/InspectorRuntimeAgent.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.prototype.completions.evaluated): + (WebInspector.ConsoleView.prototype._formatarray): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertiesSection.prototype.update.callback): + (WebInspector.ObjectPropertiesSection.prototype.update): + (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): + (WebInspector.ObjectPropertyTreeElement.prototype.update): + (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): + * inspector/front-end/PropertiesSidebarPane.js: + (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady): + * inspector/front-end/RemoteObject.js: + (WebInspector.RemoteObject.prototype.getOwnProperties): + (WebInspector.RemoteObject.prototype.getAllProperties): + (WebInspector.RemoteObject.prototype._getProperties): + (WebInspector.LocalJSONObject.prototype.getOwnProperties): + (WebInspector.LocalJSONObject.prototype.getAllProperties): + * inspector/front-end/inspector.css: + (.console-formatted-string, .console-formatted-regexp): + +2011-03-31 Adam Roben <aroben@apple.com> + + Update WKCACFViewLayerTreeHost for changes to WKCACFView API + + This should not result in any change in behavior. + + Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to + render + + Reviewed by Darin Adler. + + * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations. + (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should + render into the window we give it. + +2011-03-31 Marius Storm-Olsen <marius.storm-olsen@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call + https://bugs.webkit.org/show_bug.cgi?id=57017 + + Build fix. No new tests. + + * WebCore.pri: + +2011-03-31 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + XML viewer is not shown when frame has non-null opener + https://bugs.webkit.org/show_bug.cgi?id=56384 + + Removed opener check in XML viewer + + Test: http/tests/xmlviewer/extensions-api.html + + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::hasNoStyleInformation): + * xml/XMLViewer.js: + +2011-03-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82589. + http://trac.webkit.org/changeset/82589 + https://bugs.webkit.org/show_bug.cgi?id=57564 + + This patch requires many more updated results than it contains + (Requested by abarth|gardener on #webkit). + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter::-webkit-meter-horizontal-bar): + (meter::-webkit-meter-vertical-bar): + (meter::-webkit-meter-horizontal-optimum-value): + (meter::-webkit-meter-horizontal-suboptimal-value): + (meter::-webkit-meter-horizontal-even-less-good-value): + (meter::-webkit-meter-vertical-optimum-value): + (meter::-webkit-meter-vertical-suboptimal-value): + (meter::-webkit-meter-vertical-even-less-good-value): + * rendering/RenderMeter.cpp: + (WebCore::MeterPartElement::MeterPartElement): + (WebCore::MeterPartElement::createForPart): + (WebCore::MeterPartElement::hide): + (WebCore::MeterPartElement::restoreVisibility): + (WebCore::MeterPartElement::updateStyleForPart): + (WebCore::MeterPartElement::saveVisibility): + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): + (WebCore::RenderMeter::updateFromElement): + (WebCore::RenderMeter::layoutParts): + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valuePartRect): + (WebCore::RenderMeter::orientation): + (WebCore::RenderMeter::valuePseudoId): + (WebCore::RenderMeter::barPseudoId): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::shadowAttached): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::supportsMeter): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMeter): + (WebCore::RenderThemeMac::supportsMeter): + * rendering/style/RenderStyleConstants.h: + +2011-03-31 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Link explicitly with XRender on Linux/Unix + https://bugs.webkit.org/show_bug.cgi?id=57558 + + * GNUmakefile.am: add XRender CFLAGS. + +2011-03-31 Eric Seidel <eric@webkit.org> + + Reviewed by Ryosuke Niwa. + + Rename BidiResolver::emptyRun to m_emtpyRun to match modern style + https://bugs.webkit.org/show_bug.cgi?id=57549 + + * platform/text/BidiResolver.h: + (WebCore::BidiResolver::BidiResolver): + (WebCore::::appendRun): + (WebCore::::lowerExplicitEmbeddingLevel): + (WebCore::::raiseExplicitEmbeddingLevel): + (WebCore::::deleteRuns): + (WebCore::::createBidiRunsForLine): + * rendering/InlineIterator.h: + (WebCore::InlineBidiResolver::appendRun): + +2011-03-31 Tom Sepez <tsepez@chromium.org> + + Reviewed by Eric Seidel. + + Make ContainerNode::insertIntoDocument() collect all nodes before + operating on any of them. Add small helper function and use it + througout the file where this action is already taking place. + https://bugs.webkit.org/show_bug.cgi?id=57265 + + Test: svg/dom/range-delete.html + + * dom/ContainerNode.cpp: + (WebCore::collectNodes): + (WebCore::collectTargetNodes): + (WebCore::ContainerNode::takeAllChildrenFrom): + (WebCore::willRemoveChildren): + (WebCore::ContainerNode::insertedIntoDocument): + +2011-03-31 Satish Sampath <satish@chromium.org> + + Reviewed by Steve Block. + + While drawing a speech input button, validate that the node is really a speech input button. + https://bugs.webkit.org/show_bug.cgi?id=57469 + + Test: fast/speech/speech-style-on-non-speech-elements.html + + * dom/Element.h: + (WebCore::Element::isInputFieldSpeechButtonElement): + * html/shadow/TextControlInnerElements.h: + (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement): + (WebCore::toInputFieldSpeechButtonElement): + * rendering/RenderInputSpeech.cpp: + (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): + +2011-03-31 Ryosuke Niwa <rniwa@webkit.org> + + Build fix after r82588. Reverted unintentional change. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyMovingLeft): + +2011-03-31 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk + https://bugs.webkit.org/show_bug.cgi?id=57534 + + Fix compilation warnings. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (getAttributeSetForAccessibilityObject): Add unhandled cases. + +2011-03-30 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method. + https://bugs.webkit.org/show_bug.cgi?id=57444 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::editScriptSource): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::editScriptSource): + * bindings/v8/ScriptDebugServer.h: + * inspector/Inspector.json: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::editScriptSource): + * inspector/InspectorDebuggerAgent.h: + * inspector/front-end/DebuggerModel.js: + (WebInspector.DebuggerModel.prototype.editScriptSource): + (WebInspector.DebuggerModel.prototype._didEditScriptSource): + * inspector/front-end/DebuggerPresentationModel.js: + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): + (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): + (WebInspector.SourceFrame.prototype._handleSave): + +2011-03-30 MORITA Hajime <morrita@google.com> + + Reviewed by Dimitri Glazkov. + + <meter> can only support horizontal indicator + https://bugs.webkit.org/show_bug.cgi?id=56001 + + - Removed code which deals with the direction and + left the horizontal path. + - Removed "horizontal" from related names which is now + redundant. + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::pseudoId): + (WebCore::nameToPseudoTypeMap): + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + * css/html.css: + (meter::-webkit-meter-bar): + (meter::-webkit-meter-optimum-value): + (meter::-webkit-meter-suboptimal-value): + (meter::-webkit-meter-even-less-good-value): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::~RenderMeter): + (WebCore::RenderMeter::createPart): + (WebCore::RenderMeter::updateFromElement): + (WebCore::RenderMeter::layoutParts): + (WebCore::RenderMeter::styleDidChange): + (WebCore::RenderMeter::shouldHaveParts): + (WebCore::RenderMeter::valuePartRect): + (WebCore::RenderMeter::valuePseudoId): + (WebCore::RenderMeter::barPseudoId): + (WebCore::RenderMeter::detachShadows): + (WebCore::RenderMeter::updateShadows): + * rendering/RenderMeter.h: + (WebCore::RenderMeter::shadowAttached): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::supportsMeter): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintMeter): + (WebCore::RenderThemeMac::supportsMeter): + * rendering/style/RenderStyleConstants.h: + +2011-03-30 Xiaomei Ji <xji@chromium.org> + + Reviewed by Ryosuke Niwa. + + Experiment with moving caret by word in visual order. + https://bugs.webkit.org/show_bug.cgi?id=57336 + + Follow Firefox's convention in Windows, + In LTR block, word break visually moves cursor to the left boundary of words, + In RTL block, word break visually moves cursor to the right boundary of words. + + This is the 1st version of implementing "move caret by word in visual order". + It only works in the following situation: + 1. For a LTR box in a LTR block or a RTL box in RTL block, + when caret is at the left boundary of the box and we are looking for + the word boundary in right. + 2. For a LTR or RTL box in a LTR block, when caret is at the left boundary + of the box and we are looking for the word boundary in left and + previous box is a LTR box. + 3. For a LTR or RTL box in a RTL block, when the caret is at the right + boundary of the box and we are looking for the word boundary in right and next box is RTL box. + + An experimental granularity is introduced, as a side effect, functions having switch statements + to handle those granularities have to add more one case to handle this new granularity. + The experimental granularity is exposed though JS by '-webkit-visual-word". + + The overall algorithm is looping through inline boxes visually and looking + for the visually nearest word break position. + + Test: editing/selection/move-by-word-visually.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::modifyExtendingRight): + (WebCore::SelectionController::modifyExtendingForward): + (WebCore::SelectionController::modifyMovingRight): + (WebCore::SelectionController::modifyMovingForward): + (WebCore::SelectionController::modifyExtendingLeft): + (WebCore::SelectionController::modifyExtendingBackward): + (WebCore::SelectionController::modifyMovingLeft): + (WebCore::SelectionController::modifyMovingBackward): + * editing/TextGranularity.h: + * editing/VisibleSelection.cpp: + (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): + * editing/visible_units.cpp: + (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): + (WebCore::wordBoundaryInBox): + (WebCore::wordBoundaryInAdjacentBoxes): + (WebCore::leftWordBoundary): + (WebCore::rightWordBoundary): + (WebCore::leftWordPosition): + (WebCore::rightWordPosition): + * editing/visible_units.h: + * page/DOMSelection.cpp: + (WebCore::DOMSelection::modify): + +2011-03-31 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Adler. + + Move coordinate-computing logic into MouseRelatedEvent. + https://bugs.webkit.org/show_bug.cgi?id=57521 + + Refactoring, covered by existing tests. + + * dom/EventDispatcher.cpp: + (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of + coordinates out. + (WebCore::EventDispatcher::dispatchMouseEvent): Ditto. + * dom/MouseEvent.cpp: + (WebCore::MouseEvent::create): Add coordinate-computing logic. + * dom/MouseEvent.h: Adjust decl to reflect new meaning of params. + * dom/MouseRelatedEvent.cpp: + (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto. + * page/EventHandler.cpp: + (WebCore::EventHandler::dispatchDragEvent): Ditto. + +2011-03-30 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: document CSS agent. + https://bugs.webkit.org/show_bug.cgi?id=57435 + + * inspector/Inspector.json: + +2011-03-31 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: remove periods at the end of error messages + https://bugs.webkit.org/show_bug.cgi?id=57544 + + * inspector/InjectedScript.cpp: + (WebCore::InjectedScript::getProperties): + (WebCore::InjectedScript::makeObjectCall): + * inspector/InspectorCSSAgent.cpp: + (WebCore::InspectorCSSAgent::elementForId): + (WebCore::InspectorCSSAgent::styleSheetForId): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::assertNode): + (WebCore::InspectorDOMAgent::assertElement): + (WebCore::InspectorDOMAgent::assertHTMLElement): + (WebCore::InspectorDOMAgent::querySelector): + (WebCore::InspectorDOMAgent::querySelectorAll): + (WebCore::InspectorDOMAgent::setAttribute): + (WebCore::InspectorDOMAgent::removeAttribute): + (WebCore::InspectorDOMAgent::removeNode): + (WebCore::InspectorDOMAgent::setNodeValue): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceContent): + (WebCore::InspectorResourceAgent::resourceContentBase64): + (WebCore::InspectorResourceAgent::getResourceContent): + * inspector/InspectorRuntimeAgent.cpp: + (WebCore::InspectorRuntimeAgent::setPropertyValue): + +2011-03-31 Evan Martin <evan@chromium.org> + + Reviewed by Eric Seidel. + + <title> should support dir attribute + https://bugs.webkit.org/show_bug.cgi?id=50961 + + Introduce a new StringWithDirection object that carries a String along + with the TextDirection associated with the String. Use this object for + document titles used within WebCore, because in HTML the direction of + a title can be set with the 'dir' attribute. + + Put FIXMEs at the WebKit level to expose the new direction information + to clients. + + No behavioral change intended, so no new tests. A follow-up will expose + the title direction and hopefully can be accompanied by tests that + verify it is correct. + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::updateTitle): + (WebCore::Document::setTitle): + (WebCore::Document::removeTitle): + * dom/Document.h: + (WebCore::Document::title): + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::HTMLTitleElement): + (WebCore::HTMLTitleElement::childrenChanged): + (WebCore::HTMLTitleElement::text): + (WebCore::HTMLTitleElement::textWithDirection): + * html/HTMLTitleElement.h: + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::setTitle): + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::title): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle): + (WebCore::EmptyFrameLoaderClient::setTitle): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::setTitle): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateForBackForwardNavigation): + (WebCore::HistoryController::updateForReload): + (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): + (WebCore::HistoryController::updateForClientRedirect): + (WebCore::HistoryController::updateForCommit): + (WebCore::HistoryController::setCurrentItemTitle): + (WebCore::HistoryController::initializeItem): + * loader/HistoryController.h: + * platform/text/StringWithDirection.h: Added. + (WebCore::StringWithDirection::StringWithDirection): + (WebCore::StringWithDirection::operator==): + (WebCore::StringWithDirection::operator!=): + * svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::insertedIntoDocument): + (WebCore::SVGTitleElement::childrenChanged): + +2011-03-31 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects + https://bugs.webkit.org/show_bug.cgi?id=57538 + + * inspector/InspectorStyleSheet.cpp: + (WebCore::buildSourceRangeObject): + (WebCore::InspectorStyle::buildObjectForStyle): + (WebCore::InspectorStyle::populateObjectWithStyleProperties): + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleDeclaration): + +2011-03-31 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r82565. + http://trac.webkit.org/changeset/82565 + https://bugs.webkit.org/show_bug.cgi?id=57541 + + Caused assertion failures. (Requested by bbandix on #webkit). + + * 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: + * rendering/svg/RenderSVGResourceFilterPrimitive.h: + * rendering/svg/SVGResourcesCache.cpp: + (WebCore::SVGResourcesCache::clientStyleChanged): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): + * svg/SVGFEFloodElement.cpp: + * svg/SVGFEFloodElement.h: + * svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): + +2011-03-31 Renata Hodovan <reni@webkit.org> + + Reviewed by Dirk Schulze. + + 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-03-29 Vsevolod Vlasov <vsevik@chromium.org> + + Reviewed by Pavel Feldman. + + XML Viewer: declared namespaces are not rendered. + https://bugs.webkit.org/show_bug.cgi?id=56262 + + XML viewer rewritten on javascript. + + * CMakeLists.txt: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::doEnd): + * xml/XMLTreeViewer.cpp: + (WebCore::XMLTreeViewer::transformDocumentToTreeView): + * xml/XMLViewer.css: Added. + * xml/XMLViewer.js: Added. + * xml/XMLViewer.xsl: Removed. + * xml/XSLStyleSheet.h: + +2011-03-31 Jaehun Lim <ljaehun.lim@samsung.com> + + Unreviewed build fix. + + Fix build break after rolling out r82496 + https://bugs.webkit.org/show_bug.cgi?id=57536 + + * platform/efl/RenderThemeEfl.cpp: + +2011-03-31 Andrey Adaikin <aandrey@google.com> + + Reviewed by Pavel Feldman. + + Web Inspector: execution line is displayed incorrectly after source editing. + https://bugs.webkit.org/show_bug.cgi?id=57229 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._saveViewerState): + (WebInspector.SourceFrame.prototype._restoreViewerState): + (WebInspector.SourceFrame.prototype._startEditing): + (WebInspector.SourceFrame.prototype._endEditing): + (WebInspector.SourceFrame.prototype._createTextViewer): + (WebInspector.SourceFrame.prototype.setExecutionLine): + (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): + (WebInspector.SourceFrame.prototype._handleSave): + (WebInspector.SourceFrame.prototype._handleRevertEditing): + * inspector/front-end/TextViewer.js: + (WebInspector.TextEditorChunkedPanel.prototype.addDecoration): + (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): + (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk): + (WebInspector.TextEditorMainPanel.prototype._positionToSelection): + +2011-03-30 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Make the CSStyle "shorthandValues" name-value map an array + https://bugs.webkit.org/show_bug.cgi?id=57452 + + No new tests, as this is a refactoring. + + * inspector/InspectorCSSAgent.cpp: + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyle::populateObjectWithStyleProperties): + * inspector/front-end/CSSStyleModel.js: + (WebInspector.CSSStyleDeclaration): + (WebInspector.CSSStyleDeclaration.buildShorthandValueMap): + +2011-03-30 Steve Block <steveblock@google.com> + + Reviewed by Jeremy Orlow. + + JavaField should not expose JavaString in its API + https://bugs.webkit.org/show_bug.cgi?id=55766 + + This patch fixes JavaField for V8 only. + - Factors out a JavaField interface which does not use JNI types. + This will allow the Java bridge to be used with objects that + don't use JNI directly. The existing jobject-backed + implementation is moved to a new JavaFieldJobject class which + implements the interface. + - Use WTF::String in place of JavaString in the API, as JavaString + exposes JNI types in its interface. + + No new tests, refactoring only. + + * Android.v8bindings.mk: + * WebCore.gypi: + * bridge/jni/JavaMethod.h: + (JSC::Bindings::JavaMethod::~JavaMethod): + * bridge/jni/JobjectWrapper.h: + * bridge/jni/v8/JavaClassV8.cpp: + (JavaClass::JavaClass): + * bridge/jni/v8/JavaFieldJobjectV8.cpp: + (JavaFieldJobject::JavaFieldJobject): + * bridge/jni/v8/JavaFieldJobjectV8.h: + (JSC::Bindings::JavaFieldJobject::name): + (JSC::Bindings::JavaFieldJobject::typeClassName): + (JSC::Bindings::JavaFieldJobject::type): + * bridge/jni/v8/JavaFieldV8.h: + (JSC::Bindings::JavaField::~JavaField): + * bridge/jni/v8/JavaInstanceV8.cpp: + (JavaInstance::getField): + +2011-03-31 Levi Weintraub <leviw@chromium.org> + + Reviewed by Ryosuke Niwa. + + Clean up from r82447. + https://bugs.webkit.org/attachment.cgi?bugid=57532 + + No new tests since this doesn't change behavior. + + * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include. + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const. + (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto. + * rendering/RootInlineBox.h: + +2011-03-31 Benjamin Kalman <kalman@chromium.org> + + Reviewed by Ojan Vafai. + + DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions + https://bugs.webkit.org/show_bug.cgi?id=57079 + + Test: editing/execCommand/delete-table-with-empty-contents.html + + This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds + of WebKit. + + * editing/DeleteSelectionCommand.cpp: + (WebCore::firstEditablePositionInNode): + (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode + to find anchor node for the placeholder's position, if any. + +2011-03-30 Ojan Vafai <ojan@chromium.org> + + Reviewed by Adam Roben. + + REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet + https://bugs.webkit.org/show_bug.cgi?id=57478 + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::sinkFloatingSelectorVector): + * css/CSSParser.h: + +2011-03-30 Dominic Cooney <dominicc@google.com> + + Reviewed by Dimitri Glazkov. + + Adds layoutTestController.shadowRoot accessor to Mac DRT. + https://bugs.webkit.org/show_bug.cgi?id=57415 + + * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot + +2011-03-30 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event + https://bugs.webkit.org/show_bug.cgi?id=57424 + + r75555 made 'scroll' event asynchronous. So we don't need to worry about + deleting or moving a target node in scrollIntoViewIfNeeded(). + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code. + +2011-03-30 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION (r74895): Crash if input.type = 'file' twice + https://bugs.webkit.org/show_bug.cgi?id=57343 + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::updateType): + Don't call setAttribute() if the type is not changed. + +2011-03-30 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x. + https://bugs.webkit.org/show_bug.cgi?id=57353 + <rdar://problem/9163983> + + We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction + panel. The latter function compensates for zooming, which we don't need in this case. We also + dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors(). + + * WebCore.exp.in: + * dom/Range.cpp: + (WebCore::Range::textQuads): + * dom/Range.h: + * editing/Editor.cpp: + (WebCore::Editor::windowRectForRange): + * editing/Editor.h: + * page/Frame.cpp: + (WebCore::Frame::setPageAndTextZoomFactors): + +2011-03-30 Chris Guillory <chris.guillory@google.com> + + Reviewed by Dimitri Glazkov. + + Render fonts using skia when requested by platform context. + https://bugs.webkit.org/show_bug.cgi?id=56441 + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): + * platform/graphics/skia/PlatformContextSkia.h: + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::windowsCanHandleTextDrawing): + (WebCore::skiaDrawText): + (WebCore::setupPaintForFont): + (WebCore::paintSkiaText): + +2011-03-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/9199518> Crash when focusing a styled editable element + + Test: editing/deleting/delete-button-background-image-none.html + + * editing/DeleteButtonController.cpp: + (WebCore::isDeletableElement): Check all background layers for background images. + * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly, + in the above function. + 2011-03-30 Martin Robinson <mrobinson@igalia.com> - Try to fix the EFL build. + Try once more to fix the EFL build. * platform/efl/RenderThemeEfl.cpp: - (WebCore::RenderThemeEfl::paintThemePart): Use the new cairo_t accessor on the platform context. + +2011-03-30 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Regression: VO cursor doesn't follow KB focus back into HTML view + https://bugs.webkit.org/show_bug.cgi?id=57509 + + In WK2, because the web area never believes focus leave the area, sending the initial + focus change when moving back into the web area, does not trigger a notification. + + That behavior needs to be overridden by explicitly posting a focused UI element change + at the appropriate time. This is only used in WK2, hence the absence of a layout test for now. + + * page/FocusController.cpp: + (WebCore::FocusController::setInitialFocus): + +2011-03-30 MORITA Hajime <morrita@google.com> + + Reviewed by Simon Fraser. + + box-shadow radii stays the same regardless of any spread set + https://bugs.webkit.org/show_bug.cgi?id=49726 + + - Removed special shadowSpread handling path + - Fixed broken multple inset shadow border computation. + + Test: fast/box-shadow/spread-multiple-inset.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): + +2011-03-29 Matthew Delaney <mdelaney@apple.com> + + Reviewed by Simon Fraser. + + Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG + + https://bugs.webkit.org/show_bug.cgi?id=53134 + + Test: fast/canvas/getPutImageDataPairTest.html + + * platform/graphics/cg/ImageBufferCG.cpp: + +2011-03-30 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Adam Roben. + + Share most vsprops between Release and Production builds in releaseproduction.vsprops + https://bugs.webkit.org/show_bug.cgi?id=57508 + + * WebCore.vcproj/QTMovieWinProduction.vsprops: + * WebCore.vcproj/QTMovieWinRelease.vsprops: + * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: + * WebCore.vcproj/WebCoreProduction.vsprops: + * WebCore.vcproj/WebCoreRelease.vsprops: + * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: + +2011-03-30 Timur Iskhodzhanov <timurrrr@google.com> + + Reviewed by Alexey Proskuryakov. + + Add some dynamic annotations to JavaScriptCore/wtf + https://bugs.webkit.org/show_bug.cgi?id=53747 + + By using these annotations we can improve the precision of finding + WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind. + These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1". + + These files don't add new functionality, so don't need extra tests. + + * ForwardingHeaders/wtf/DynamicAnnotations.h: Added. 2011-03-30 Abhishek Arya <inferno@chromium.org> @@ -98,44 +16579,6 @@ * html/HTMLAnchorElement.idl: * html/HTMLAreaElement.idl: -2011-03-30 Martin Robinson <mrobinson@igalia.com> - - Reviewed by Dirk Schulze. - - [Cairo] Better separate the concerns of GraphicsContextCairo - https://bugs.webkit.org/show_bug.cgi?id=55150 - - Add a PlatformContextCairo which right now stores the cairo_t* for a - GraphicsContextCairo. Later patches will move logic for tracking ContextShadow - and image masking layers into this PlatformContextCairo class. - - No new tests. This patch is only a code cleanup. - - * GNUmakefile.am: - * platform/graphics/GraphicsContext.h: The platform context is no longer a - cairo_t, but our new class the PlatformContextCairo. - * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j - * platform/graphics/cairo/FontCairo.cpp: Ditto. - * platform/graphics/cairo/GradientCairo.cpp: Ditto. - * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical - changes which now reference platformContext()->cr() to get the cairo_t. - * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the - PlatformContextCairo instead of the cairo_t. - * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class. - * platform/graphics/cairo/ImageCairo.cpp: Ditto. - * platform/graphics/cairo/PathCairo.cpp: Ditto. - * platform/graphics/cairo/PlatformContextCairo.cpp: Added. - * platform/graphics/cairo/PlatformContextCairo.h: Added. - * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class. - * platform/graphics/gtk/IconGtk.cpp: Ditto. - * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out - m_data with a private section containing the platform context instead of - just a cairo_t. - * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class. - * platform/gtk/WidgetRenderingContext.cpp: Ditto. - (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto. - * plugins/gtk/PluginViewGtk.cpp: Ditto. - 2011-03-30 Patrick Gansterer <paroga@webkit.org> Unreviewed WinCE build fix for r82465. |