summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/ChangeLog
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-06-02 12:07:03 +0100
committerBen Murdoch <benm@google.com>2011-06-10 10:47:21 +0100
commit2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch)
treee4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/ChangeLog
parent87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff)
downloadexternal_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/ChangeLog')
-rw-r--r--Source/WebCore/ChangeLog16523
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&apos;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&apos;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.