Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(436)

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 10035046: Merge 114342 - Auto-sized frames may be taller than expected (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/page/FrameView.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 114572)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,13954 @@
+2012-04-16 Andrei Burago <aburago@chromium.org>
+
+ Auto-sized frames may be taller than expected
+ https://bugs.webkit.org/show_bug.cgi?id=84106
+
+ Reviewed by David Levin.
+
+ No new tests. The repro steps require using Chrome notifications on Win.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::autoSizeIfEnabled):
+
+2012-04-13 James Robinson <jamesr@chromium.org>
+
+ [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
+ https://bugs.webkit.org/show_bug.cgi?id=83963
+
+ Reviewed by Adrienne Walker.
+
+ Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
+ WebCore VideoFrameProvider.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/VideoLayerChromium.cpp:
+ (WebCore::VideoLayerChromium::create):
+ (WebCore::VideoLayerChromium::VideoLayerChromium):
+ * platform/graphics/chromium/VideoLayerChromium.h:
+ (WebKit):
+ (WebCore):
+ (VideoLayerChromium):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (WebCore::CCVideoLayerImpl::create):
+ (CCVideoLayerImpl):
+
+2012-04-16 Takashi Sakamoto <tasak@google.com>
+
+ [Shadow DOM] InsertionPoint should have isActive() member function.
+ https://bugs.webkit.org/show_bug.cgi?id=82010
+
+ Reviewed by Hajime Morita.
+
+ This patch adds isActive public member function to InsertionPoint and
+ makes InsertionPoint elements consider whether active or not.
+ If an InsertionPoint is inactive, the element is not shadow boundary
+ and is needed to be rendered.
+ c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point
+
+ Test: update existing tests, i.e.
+ LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
+ LayoutTests/fast/dom/shadow/shadow-contents-fallback.html
+
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::isActive):
+ A new public method for checking whether an insertion point is active or inactive.
+ If active, returns true. Otherwise, false.
+ (WebCore::InsertionPoint::isShadowBoundary):
+ Make the method consider whether an insertin point is active or inactive.
+ (WebCore::InsertionPoint::rendererIsNeeded):
+ Changed to return true If an insertion point is inactive.
+ (WebCore::InsertionPoint::attach):
+ Changed to call only HTMLElement::attach If an insertion point is inactive.
+ (WebCore::InsertionPoint::detach):
+ Changed to call only HTMLElement::detach If an insertion point is inactive.
+ * html/shadow/InsertionPoint.h:
+ (InsertionPoint):
+ Added isActive public method.
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::NodeRenderingContext):
+ Changed to take into account an insertion point's activeness when parent is an insertion point.
+ (WebCore::NodeRenderingContext::firstRendererOf):
+ (WebCore::NodeRenderingContext::lastRendererOf):
+ Changed to take into account an insertion point's activeness.
+
+2012-04-16 MORITA Hajime <morrita@google.com>
+
+ Type tags in NodeFlags could be compressed
+ https://bugs.webkit.org/show_bug.cgi?id=79299
+
+ Because existing node flags which indicate the class of each node
+ are mutually exclusive, these flags can be represented as a enum.
+ This patch introduces Node::NodeTypeTag to turn these flags into a
+ enum, and embeds it into Node::m_nodeFlags.
+
+ Reviewed by Antti Koivisto.
+
+ No new tests. No bahavior change.
+
+ * dom/Node.cpp:
+ (WebCore):
+ * dom/Node.h:
+ (WebCore):
+ (Node):
+ (WebCore::Node::typeTag):
+ (WebCore::Node::parentNode):
+ (WebCore::Node::parentNodeGuaranteedHostFree):
+ (WebCore::Node::isContainerNode):
+ (WebCore::Node::isElementNode):
+ (WebCore::Node::isStyledElement):
+ (WebCore::Node::isTextNode):
+ (WebCore::Node::isHTMLElement):
+ (WebCore::Node::isSVGElement):
+ (WebCore::Node::isShadowRoot):
+
+2012-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r114285.
+ http://trac.webkit.org/changeset/114285
+ https://bugs.webkit.org/show_bug.cgi?id=84107
+
+ broke fast/media/media-query-list-08.html in Mac (Requested by
+ andersca on #webkit).
+
+ * dom/Document.cpp:
+ (WebCore::Document::styleSelectorChanged):
+ * dom/Document.h:
+ (Document):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+
+2012-04-16 Nate Chapin <japhet@chromium.org>
+
+ Remove unused variable CachedResourceLoader::m_loadFinishing
+ https://bugs.webkit.org/show_bug.cgi?id=84100
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests, removing dead code.
+
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::CachedResourceLoader):
+ (WebCore::CachedResourceLoader::loadDone):
+ (WebCore::CachedResourceLoader::decrementRequestCount):
+ * loader/cache/CachedResourceLoader.h:
+ (CachedResourceLoader):
+ (WebCore::CachedResourceLoader::requestCount):
+
+2012-04-16 Andreas Kling <kling@webkit.org>
+
+ Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
+ <http://webkit.org/b/83988>
+
+ Reviewed by Antti Koivisto.
+
+ Remove the 'context style sheet' argument to <font face> value parsing.
+ It was only ever used to grab at the CSSValuePool back when they were per-Document.
+
+ * css/CSSParser.h:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseFontFaceValue):
+ * css/CSSValuePool.h:
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * html/HTMLFontElement.cpp:
+ (WebCore::HTMLFontElement::collectStyleForAttribute):
+
+2012-04-16 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
+ https://bugs.webkit.org/show_bug.cgi?id=83543
+
+ Reviewed by Adrienne Walker.
+
+ It should not be possible to make a rect in layer space that is clipped
+ by the camera but for which the screen space transform gives a
+ rectilinear output. But use consistent methods for checking that the
+ result remains enclosed within the actual pixels.
+
+ One day when clipped is true, we can find an interior axis-aligned rect
+ within the clipped result, and checking clipped explicitly makes this
+ more clear.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+
+2012-04-16 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Don't delete the per context data until the V8IsolatedContext is deleted
+ https://bugs.webkit.org/show_bug.cgi?id=83831
+
+ Reviewed by Nate Chapin.
+
+ Test: http/tests/security/isolatedWorld/context-destroy.html
+
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::destroy):
+
+2012-04-16 Greg Billock <gbillock@google.com>
+
+ Add V8 code generation support for MessagePortArray attributes.
+ https://bugs.webkit.org/show_bug.cgi?id=83943
+
+ Reviewed by Kentaro Hara.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
+ (WebDOMTestSerializedScriptValueInterface::ports):
+ * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
+ (WebDOMTestSerializedScriptValueInterface):
+ * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
+ (webkit_dom_test_serialized_script_value_interface_get_property):
+ (webkit_dom_test_serialized_script_value_interface_class_init):
+ (webkit_dom_test_serialized_script_value_interface_get_ports):
+ * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ (WebCore::jsTestSerializedScriptValueInterfacePorts):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+ (WebCore):
+ * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
+ * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
+ (-[DOMTestSerializedScriptValueInterface ports]):
+ * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
+ (TestSerializedScriptValueInterfaceInternal):
+ (WebCore):
+
+2012-04-16 Xiaomei Ji <xji@chromium.org>
+
+ platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
+ https://bugs.webkit.org/show_bug.cgi?id=83521
+
+ Reviewed by David Levin.
+
+ No functionality change, so no new tests.
+
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
+ (WebCore::GlyphPage::fill):
+
+2012-04-16 Levi Weintraub <leviw@chromium.org>
+
+ Make borderBoxRect sub-pixel precise and add a pixel snapped version
+ https://bugs.webkit.org/show_bug.cgi?id=84063
+
+ Reviewed by Eric Seidel.
+
+ In an effort to prevent misuse, we previously decided to have borderBoxRect return a
+ pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
+ at (0,0), and therefore won't snap to the same size as the element it's covering.
+
+ There are a couple uses of borderBoxRect that don't pixel snap the values and require
+ sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
+ explicit, and moves uses that would otherwise pixel snap the rect to this version to
+ avoid producing a rect of the incorrect size. For details about pixel snapping with
+ LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit
+
+ No new tests. No change in behavior.
+
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::SpinButtonElement::defaultEventHandler):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addVisualOverflowFromTheme):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::borderBoxRect):
+ (WebCore::RenderBox::pixelSnappedBorderBoxRect):
+ (WebCore::RenderBox::borderBoundingBox):
+ (WebCore::RenderBox::hasVisualOverflow):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollCornerRect):
+ (WebCore::RenderLayer::scrollCornerAndResizerRect):
+ (WebCore::RenderLayer::horizontalScrollbarStart):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::paintResizer):
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ (WebCore::RenderLayerBacking::startAnimation):
+ (WebCore::RenderLayerBacking::startTransition):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addOverflowFromChildren):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paintReplaced):
+ (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
+
+2012-04-16 Anders Carlsson <andersca@apple.com>
+
+ Crash when running some editing related tests
+ https://bugs.webkit.org/show_bug.cgi?id=84091
+
+ Reviewed by Andreas Kling.
+
+ Null check triggeringEvent.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertTextWithoutSendingTextEvent):
+
+2012-04-16 Simon Fraser <simon.fraser@apple.com>
+
+ Rename to updateZOrderListsSlowCase to rebuildZOrderLists
+ https://bugs.webkit.org/show_bug.cgi?id=84071
+
+ Reviewed by Antti Koivisto.
+
+ Use a better name for updateZOrderListsSlowCase().
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::rebuildZOrderLists):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ (WebCore::RenderLayer::updateZOrderLists):
+
+2012-04-16 Terry Anderson <tdanderson@chromium.org>
+
+ [chromium] Allow WebGestureEvent to store four floating point values
+ https://bugs.webkit.org/show_bug.cgi?id=84053
+
+ Reviewed by Darin Fisher.
+
+ See bug description for an explanation of the changes made.
+
+ * platform/PlatformGestureEvent.h:
+ (WebCore::PlatformGestureEvent::PlatformGestureEvent):
+ (PlatformGestureEvent):
+ (WebCore::PlatformGestureEvent::gammaX):
+ (WebCore::PlatformGestureEvent::gammaY):
+
+2012-04-16 Kentaro Hara <haraken@chromium.org>
+
+ [Refactoring][V8] Remove $indent from NativeToJSValue()
+ https://bugs.webkit.org/show_bug.cgi?id=84077
+
+ Reviewed by Nate Chapin.
+
+ $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
+ This patch removes it.
+
+ No new tests. No change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+
+2012-04-16 Luiz Agostini <luiz.agostini@palm.com>
+
+ matchMedia() MediaQueryList not updating
+ https://bugs.webkit.org/show_bug.cgi?id=75903
+
+ Reviewed by Antti Koivisto.
+
+ Test: fast/media/media-query-list-08.html
+
+ Viewport related MediaQueryList listeners were not triggered and the value
+ of matches were not updated if the document's style selector were not
+ affected by viewport changes.
+
+ The new method evaluateMediaQueries() is now called by FrameView instead of
+ styleSelectorChanged() if the style selector is not affected by viewport changes.
+
+ * dom/Document.cpp:
+ (WebCore::Document::evaluateMediaQueries):
+ (WebCore):
+ (WebCore::Document::styleSelectorChanged):
+ * dom/Document.h:
+ (Document):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+
+2012-04-16 James Robinson <jamesr@chromium.org>
+
+ [chromium] Delete uncalled unreserveContentsTextures function
+ https://bugs.webkit.org/show_bug.cgi?id=84005
+
+ Reviewed by Adrienne Walker.
+
+ This is vestigal dead code.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ * platform/graphics/chromium/Canvas2DLayerChromium.h:
+ (Canvas2DLayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (CCLayerImpl):
+
+2012-04-13 Simon Fraser <simon.fraser@apple.com>
+
+ Avoid using backing store for compositing layers that just need to clip
+ https://bugs.webkit.org/show_bug.cgi?id=40547
+
+ Reviewed by Dean Jackson.
+
+ If a layer becomes composited because it needs to clip composited
+ descendants, or if it has perspective, then it doesn't actually
+ needs its own backing store; its contents can be painted by an
+ ancestor, and we can just have an empty layer that does the clipping
+ or applies the perspective transform.
+
+ This saves backing store memory on some pages.
+
+ Tests: compositing/backing/no-backing-for-clip-overlap.html
+ compositing/backing/no-backing-for-clip.html
+ compositing/backing/no-backing-for-perspective.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore):
+ (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
+ (WebCore::RenderLayer::paintLayer):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::RenderLayerBacking):
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ (WebCore::RenderLayerBacking::containsPaintedContent):
+ (WebCore::RenderLayerBacking::setContentsNeedDisplay):
+ (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
+ (WebCore::RenderLayerBacking::paintIntoLayer):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
+ (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::layerWillBeRemoved):
+ (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer):
+ (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
+ (WebCore):
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::containerForRepaint):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations):
+
+2012-04-16 Brady Eidson <beidson@apple.com>
+
+ <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
+ WebKit2 back/forward items in the page cache are never removed when the page is closed
+
+ Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
+
+ * WebCore.exp.in: Export PageCache::remove()
+
+2012-04-16 Philippe Normand <pnormand@igalia.com>
+
+ Unreviewed, GTK build fix after r114269.
+
+ * GNUmakefile.list.am:
+
+2012-04-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: timeline. Range selection works incorrect with right click
+ https://bugs.webkit.org/show_bug.cgi?id=83870
+
+ Reviewed by Pavel Feldman.
+
+ - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
+
+2012-04-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=83946
+
+ Reviewed by Pavel Feldman.
+
+ Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
+ support for moving overview window with horizontal swype over lower timeline pane, thus removing
+ an irritating situation when we try to both change overview window and scroll lower timeline pane
+ upon a single touchpad gesture. Those willing to move timeline window now would need to position
+ mouse over overview.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
+ (WebInspector.TimelineOverviewWindow.prototype._zoom):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+
+2012-04-16 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
+ https://bugs.webkit.org/show_bug.cgi?id=84038
+
+ A bunch of renames "detailed heapshot" -> "heap snapshot".
+
+ Reviewed by Pavel Feldman.
+
+ Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-comparison-show-all.html
+ inspector/profiler/heap-snapshot-comparison-show-next.html
+ inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-comparison-sorting.html
+ inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-containment-show-all.html
+ inspector/profiler/heap-snapshot-containment-show-next.html
+ inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-containment-sorting.html
+ inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-dominators-show-all.html
+ inspector/profiler/heap-snapshot-dominators-show-next.html
+ inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-dominators-sorting.html
+ inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-summary-show-all.html
+ inspector/profiler/heap-snapshot-summary-show-next.html
+ inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
+ inspector/profiler/heap-snapshot-summary-sorting.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
+ (WebInspector.HeapSnapshotGridNode):
+ (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotGridNode.prototype.createCell):
+ (WebInspector.HeapSnapshotGridNode.prototype.dispose):
+ (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
+ (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
+ (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
+ (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
+ (WebInspector.HeapSnapshotGridNode.prototype._populate):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
+ (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
+ (WebInspector.HeapSnapshotGridNode.prototype.sort):
+ (WebInspector.HeapSnapshotLazyGridNode):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
+ (WebInspector.HeapSnapshotGenericObjectNode):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
+ (WebInspector.HeapSnapshotObjectNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
+ (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
+ (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
+ (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
+ (WebInspector.HeapSnapshotInstanceNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
+ (WebInspector.HeapSnapshotConstructorNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
+ (WebInspector.HeapSnapshotIteratorsTuple):
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
+ (WebInspector.HeapSnapshotDiffNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
+ (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
+ (WebInspector.HeapSnapshotDiffNode.prototype.get data):
+ (WebInspector.HeapSnapshotDominatorObjectNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
+ (MixInSnapshotNodeFunctions):
+ * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
+ (WebInspector.HeapSnapshotSortableDataGrid):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
+ (WebInspector.HeapSnapshotContainmentDataGrid):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotRetainmentDataGrid):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
+ (WebInspector.HeapSnapshotConstructorsDataGrid):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
+ (WebInspector.HeapSnapshotDiffDataGrid):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotDominatorsDataGrid):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
+ (WebInspector.HeapSnapshotView.profileCallback):
+ (WebInspector.HeapSnapshotView):
+ (WebInspector.HeapSnapshotView.prototype.dispose):
+ (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
+ (WebInspector.HeapSnapshotView.prototype.get profile):
+ (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
+ (WebInspector.HeapSnapshotView.prototype.get baseProfile):
+ (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
+ (WebInspector.HeapSnapshotView.prototype.wasShown):
+ (WebInspector.HeapSnapshotView.prototype.willHide):
+ (WebInspector.HeapSnapshotView.prototype.onResize):
+ (WebInspector.HeapSnapshotView.prototype.searchCanceled):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
+ (WebInspector.HeapSnapshotView.prototype.performSearch):
+ (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
+ (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
+ (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
+ (WebInspector.HeapSnapshotView.prototype._changeBase):
+ (WebInspector.HeapSnapshotView.prototype._changeFilter):
+ (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
+ (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
+ (WebInspector.HeapSnapshotView.prototype._profiles):
+ (WebInspector.HeapSnapshotView.prototype._loadProfile):
+ (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
+ (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
+ (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
+ (WebInspector.HeapSnapshotView.prototype._selectionChanged):
+ (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
+ (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
+ (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
+ (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
+ (WebInspector.HeapSnapshotView.prototype.changeView):
+ (WebInspector.HeapSnapshotView.prototype._changeView):
+ (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
+ (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
+ (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
+ (WebInspector.HeapSnapshotView.prototype._helpClicked):
+ (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
+ (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
+ (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
+ (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
+ (WebInspector.HeapSnapshotProfileType):
+ (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
+ (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
+ (WebInspector.HeapSnapshotProfileType.prototype.get description):
+ (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
+ (WebInspector.HeapSnapshotProfileType.prototype.createView):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/heapProfiler.css:
+ (.heap-snapshot-view):
+ (.heap-snapshot-view.visible):
+ (.heap-snapshot-view .view):
+ (.heap-snapshot-view .view.visible):
+ (.heap-snapshot-view .data-grid tr:empty):
+ (.heap-snapshot-view .data-grid):
+ (.heap-snapshot-view .data-grid td.count-column):
+ (.heap-snapshot-view .data-grid td.addedCount-column):
+ (.heap-snapshot-view .data-grid td.removedCount-column):
+ (.heap-snapshot-view .data-grid td.countDelta-column):
+ (.heap-snapshot-view .data-grid td.addedSize-column):
+ (.heap-snapshot-view .data-grid td.removedSize-column):
+ (.heap-snapshot-view .data-grid td.sizeDelta-column):
+ (.heap-snapshot-view .data-grid td.shallowSize-column):
+ (.heap-snapshot-view .data-grid td.retainedSize-column):
+ (.heap-snapshot-view .data-grid td.distanceToWindow-column):
+ (.heap-snapshot-view .data-grid span.percent-column):
+ (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
+ (.heap-snapshot-view .console-formatted-string):
+ (.heap-snapshot-view .console-formatted-id):
+ (.heap-snapshot-view .data-grid tr.selected *):
+ (.heap-snapshot-view .data-grid:focus tr.selected *):
+ (.heap-snapshot-view .delimiter):
+ (.heap-snapshot-view .views-container):
+ (.heap-snapshot-view .views-container .view):
+ (.heap-snapshot-view .retaining-paths-view):
+ (.heap-snapshot-view .class-view-grid):
+ (.heap-snapshot-view .class-view-toolbar):
+ (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
+ (.heap-snapshot-view .retainers-view-header):
+ (.heap-snapshot-view .retainers-view-header .title > span):
+ (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
+ (.heap-snapshot-view td.object-column span.grayed):
+ (.heap-snapshot-help-status-bar-item .glyph):
+ (table.heap-snapshot-help):
+ * inspector/front-end/inspector.html:
+
+2012-04-16 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=83946
+
+ Reviewed by Pavel Feldman.
+
+ Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
+ support for moving overview window with horizontal swype over lower timeline pane, thus removing
+ an irritating situation when we try to both change overview window and scroll lower timeline pane
+ upon a single touchpad gesture. Those willing to move timeline window now would need to position
+ mouse over overview.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
+ (WebInspector.TimelineOverviewWindow.prototype._zoom):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+
+2012-04-11 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
+ https://bugs.webkit.org/show_bug.cgi?id=78095
+
+ Reviewed by Martin Robinson.
+
+ Moved the GStreamer initialization logic to a new
+ GStreamerUtilities module, used by the MediaPlayer and the
+ AudioContext. I also removed the static variables as
+ gst_init_check already handles cases where it's called multiple
+ times.
+
+ * GNUmakefile.list.am:
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::constructCommon):
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+ (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::createBus):
+ * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
+ (WTF::adoptGRef):
+ (WTF):
+ (WTF::GstElementFactory):
+ * platform/graphics/gstreamer/GRefPtrGStreamer.h:
+ (WTF):
+ * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
+ (WebCore):
+ (WebCore::initializeGStreamer):
+ * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
+ (WebCore):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::doGstInit):
+
+2012-04-16 ChangSeok Oh <shivamidow@gmail.com>
+
+ Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
+ https://bugs.webkit.org/show_bug.cgi?id=83982
+
+ Reviewed by Martin Robinson.
+
+ GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
+ To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
+ in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
+ And some other issues to build with GLES are gone with this patch.
+
+ No new tests, since no new feature.
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
+ (WebCore):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::readRenderingResults):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
+ (WebCore):
+ (WebCore::GraphicsContext3D::reshapeFBOs):
+ (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
+
+2012-04-16 Xiaomei Ji <xji@chromium.org>
+
+ [chromium] wrong justification for arabic/persian page in cr-win.
+ https://bugs.webkit.org/show_bug.cgi?id=83227
+
+ Reviewed by Kent Tamura.
+
+ Disable kashida justification if using Skia to draw.
+
+ Test: fast/text/international/arabic-justify.html
+
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::justify):
+
+2012-04-16 Jia Pu <jpu@apple.com>
+
+ Build fix.
+
+ Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
+ correct. This patch amends change set 114231.
+
+ * WebCore.exp.in:
+ * editing/DictationAlternative.cpp:
+ (WebCore::DictationAlternative::DictationAlternative):
+ * editing/DictationAlternative.h:
+ (DictationAlternative):
+
+2012-04-16 Antti Koivisto <antti@apple.com>
+
+ REGRESSION (r104445): Style is not recomputed on serenaandlily.com
+ https://bugs.webkit.org/show_bug.cgi?id=83663
+
+ Reviewed by Andreas Kling.
+
+ CSS class and id selectors are case insensitive in non-strict modes. The code
+ that invalidated the scope elements used getElementByID() which is case
+ sensitive in all modes. As a result we would fail to invalidate elements
+ that would match a style rule but used different case in id.
+
+ The new code invalidates by crawling the DOM tree. This often (when there are classes)
+ actually faster than the existing code as we can now handle everything in a single pass.
+ Each class scope required a crawl with the old code.
+
+ The code uses the same functions as the selector matching code to get the same behavior.
+
+ The maximum class limit is lifted as number of classes does not affect complexity anymore.
+
+ Test: fast/css/id-or-class-before-stylesheet-strict.html
+
+ * css/SelectorChecker.h:
+ (WebCore::SelectorChecker::elementMatchesSelectorScopes):
+ (WebCore):
+ * dom/Document.cpp:
+ (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
+ (WebCore):
+
+2012-04-16 Uday Kiran <udaykiran@motorola.com>
+
+ CSS3 Selectors failures on css3test.com
+ https://bugs.webkit.org/show_bug.cgi?id=83885
+
+ Reviewed by Zoltan Herczeg.
+
+ Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
+ with values -n-b and n-b as they are of valid form an+b where a and b are integers.
+ http://www.w3.org/TR/selectors/#structural-pseudos
+
+ Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
+ However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
+ The original code only checked this if the string was n- or -n- but this is not enough.
+ We need to check everything which starts with an n- or -n- prefix.
+
+ Test: css3/parsing-css3-nthchild.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::lex):
+
+2012-04-16 Eric Carlson <eric.carlson@apple.com>
+
+ ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
+ https://bugs.webkit.org/show_bug.cgi?id=83949
+
+ Reviewed by Antti Koivisto.
+
+ No new tests. I was not able to create a reproducible test case, but I have been unable
+ to reproduce the ASSERT that occassionally fired in existing tests since I have been
+ living on these changes.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
+ (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
+ (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
+ media element is not in a Document.
+
+2012-04-16 Eric Carlson <eric.carlson@apple.com>
+
+ Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
+ https://bugs.webkit.org/show_bug.cgi?id=82269
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, already tested by media/track/track-delete-during-setup.html.
+
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
+ the track element is inserted into the document.
+ * html/HTMLTrackElement.h:
+
+2012-04-16 Yael Aharon <yael.aharon@nokia.com>
+
+ [Qt][WK2] Fixed elements position is wrong after zooming.
+ https://bugs.webkit.org/show_bug.cgi?id=83981
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
+ In order to find these elements, RenderView maintains a list of fixed elements.
+ They are added and removed at the same time that they are added and removed from their parent RenderBlock.
+ The idea is taken from the iOS5.1 branch, at opensource.apple.com.
+ Added a manual test that allows removing and adding fixed elements at will.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setFixedVisibleContentRect):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::insertPositionedObject):
+ (WebCore::RenderBlock::removePositionedObject):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
+ (WebCore):
+ (WebCore::RenderView::insertFixedPositionedObject):
+ (WebCore::RenderView::removeFixedPositionedObject):
+ * rendering/RenderView.h:
+ (RenderView):
+
+2012-04-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
+ https://bugs.webkit.org/show_bug.cgi?id=83922
+
+ Reviewed by Yury Semikhatsky.
+
+ We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
+ There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
+ * inspector/front-end/ContentProvider.js: Added.
+ (WebInspector.ContentProvider):
+ (WebInspector.ContentProvider.prototype.contentURL):
+ (WebInspector.ContentProvider.prototype.requestContent):
+ (WebInspector.ContentProvider.prototype.searchInContent):
+ (WebInspector.ContentProvider.SearchMatch):
+ * inspector/front-end/ContentProviders.js:
+ (WebInspector.ScriptContentProvider.prototype.contentURL):
+ (WebInspector.ScriptContentProvider.prototype.requestContent):
+ (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
+ (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
+ (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
+ (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
+ (WebInspector.StaticContentProvider.prototype.contentURL):
+ (WebInspector.StaticContentProvider.prototype.requestContent):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._getResourceContent):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest.prototype.contentURL):
+ (WebInspector.NetworkRequest.prototype.requestContent):
+ (WebInspector.NetworkRequest.prototype.searchInContent):
+ (WebInspector.NetworkRequest.prototype.populateImageSource):
+ (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
+ (WebInspector.NetworkRequest.prototype._innerRequestContent):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode.prototype._createContentProvider):
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
+ (WebInspector.RawSourceCode.prototype._createSourceMapping):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.contentURL):
+ (WebInspector.Resource.prototype.requestContent):
+ (WebInspector.Resource.prototype._innerRequestContent.callback):
+ (WebInspector.Resource.prototype._innerRequestContent):
+ (WebInspector.ResourceRevision.prototype.contentURL):
+ (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
+ (WebInspector.ResourceRevision.prototype.requestContent):
+ (WebInspector.ResourceRevision.prototype.searchInContent):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceSourceFrame.prototype.requestContent):
+ (WebInspector.ResourceSourceFrame.prototype._contentChanged):
+ (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
+ * inspector/front-end/ScriptFormatter.js:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.setContent):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.requestContent):
+ (WebInspector.UISourceCode.prototype._didRequestContent):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-04-16 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
+ https://bugs.webkit.org/show_bug.cgi?id=83866
+
+ Reviewed by George Staikos.
+
+ We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
+ There are no data received because its method is HEAD.
+ This case shouldn't be treated as a failure.
+
+ Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::handleNotifyClose):
+
+2012-04-16 Jon Lee <jonlee@apple.com>
+
+ Build fix.
+
+ * WebCore.exp.in:
+ * editing/DictationAlternative.cpp:
+ (WebCore::DictationAlternative::DictationAlternative):
+ * editing/DictationAlternative.h:
+ (DictationAlternative):
+
+2012-04-16 George Staikos <staikos@webkit.org>
+
+ Fix signed/unsigned mismatch warning for BlackBerry debug builds.
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Rob Buis.
+
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::removeCookieAtIndex):
+
+2012-04-15 Kent Tamura <tkent@chromium.org>
+
+ WebCore::weekDayShortLabels() for ICU always returns the fallback labels
+ https://bugs.webkit.org/show_bug.cgi?id=83991
+
+ Reviewed by Hajime Morita.
+
+ We need to specfiy 1-based index to udat_getSymbols() with
+ UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
+ returns 8.
+
+ No new tests because this behavior depends on locale setting.
+
+ * platform/text/LocalizedCalendarICU.cpp:
+ (WebCore::createLabelVector): Add startIndex argument.
+ (WebCore::createMonthLabels):
+ Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
+ (WebCore::createWeekDayShortLabels):
+ Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
+
+2012-04-15 MORITA Hajime <morrita@google.com>
+
+ Unreviewed attempt to chromium-win build fix.
+
+ * editing/DictationAlternative.h:
+
+2012-04-15 Noel Gordon <noel.gordon@gmail.com>
+
+ Align JSC/V8 bindings canvas.toDataURL() code flows
+ https://bugs.webkit.org/show_bug.cgi?id=84003
+
+ Reviewed by Eric Seidel.
+
+ Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
+ code implementations read alike.
+
+ No new tests. Covered by existing cnavas toDataURL tests.
+
+ * bindings/js/JSHTMLCanvasElementCustom.cpp:
+ (WebCore::JSHTMLCanvasElement::toDataURL):
+
+2012-04-15 Jia Pu <jpu@apple.com>
+
+ Introducing DictationCommand.
+ https://bugs.webkit.org/show_bug.cgi?id=83549
+
+ Reviewed by Hajime Morita.
+
+ No new tests. This patch doesn't introduce any change of new functionality. It prepares for
+ additional changes which will inlude tests.
+
+ On OS X, alternative dictation results need to be stored as document markers. This patch introduces
+ following changes to achieve this:
+ 1. Added DictationMarkDetails to store non-string type maker detail.
+ 2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
+ attached markers.
+ 3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
+ 4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.
+
+ Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
+ introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
+ base class of both TypingCommand and DictationCommand.
+
+ This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
+ object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
+ add document markers to the inserted text.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
+ by AlternativeTextController.
+ (WebCore):
+ * dom/Document.h:
+ (WebCore):
+ * dom/DocumentMarker.cpp:
+ (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
+ (WebCore):
+ * dom/DocumentMarker.h:
+ (WebCore::DocumentMarker::AllMarkers::AllMarkers):
+ (DocumentMarker):
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::addMarker):
+ (WebCore):
+ * dom/DocumentMarkerController.h:
+ (DocumentMarkerController):
+ * dom/TextEvent.cpp:
+ (WebCore::TextEvent::createForDictation):
+ (WebCore):
+ (WebCore::TextEvent::TextEvent):
+ * dom/TextEvent.h: Added member variable for dictation alternatives.
+ (TextEvent):
+ (WebCore::TextEvent::isDictation):
+ (WebCore::TextEvent::dictationAlternatives):
+ * dom/TextEventInputType.h:
+ * editing/AlternativeTextController.cpp:
+ (WebCore::AlternativeTextController::AlternativeTextController):
+ (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
+ (WebCore):
+ * editing/AlternativeTextController.h:
+ (WebCore):
+ (DictationMarkerDetails):
+ (WebCore::DictationMarkerDetails::create):
+ (WebCore::DictationMarkerDetails::originalText):
+ (WebCore::DictationMarkerDetails::dictationContext):
+ (WebCore::DictationMarkerDetails::DictationMarkerDetails):
+ (AlternativeTextController):
+ * editing/CompositeEditCommand.h:
+ (WebCore::CompositeEditCommand::isDictationCommand):
+ * editing/DictationAlternative.cpp: Added.
+ (WebCore):
+ (WebCore::DictationAlternative::DictationAlternative):
+ * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
+ (DictationAlternative):
+ (WebCore):
+ * editing/DictationCommand.cpp: Added.
+ (WebCore):
+ (DictationCommandLineOperation):
+ (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
+ (WebCore::DictationCommandLineOperation::operator()):
+ (DictationMarkerSupplier):
+ (WebCore::DictationMarkerSupplier::create):
+ (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
+ (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
+ (WebCore::DictationCommand::DictationCommand):
+ (WebCore::DictationCommand::insertText):
+ (WebCore::DictationCommand::doApply):
+ (WebCore::DictationCommand::insertTextRunWithoutNewlines):
+ (WebCore::DictationCommand::insertParagraphSeparator):
+ (WebCore::DictationCommand::collectDictationAlternativesInRange):
+ * editing/DictationCommand.h: Added.
+ (WebCore):
+ (DictationCommand):
+ (WebCore::DictationCommand::isDictationCommand):
+ (WebCore::DictationCommand::create):
+ * editing/EditingAllInOne.cpp:
+ * editing/Editor.cpp:
+ (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
+ (WebCore):
+ (WebCore::Editor::insertTextWithoutSendingTextEvent):
+ (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
+ * editing/Editor.h:
+ (Editor):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::InsertTextCommand):
+ (WebCore):
+ (WebCore::InsertTextCommand::doApply):
+ * editing/InsertTextCommand.h:
+ (WebCore):
+ (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
+ (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
+ (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
+ (WebCore::InsertTextCommand::createWithMarkerSupplier):
+ (InsertTextCommand):
+ * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
+ (WebCore):
+ (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
+ (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
+ (WebCore::dispatchBeforeTextInsertedEvent):
+ (WebCore::canAppendNewLineFeedToSelection):
+ * editing/TextInsertionBaseCommand.h: Added.
+ (WebCore):
+ (TextInsertionBaseCommand):
+ (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
+ (WebCore::forEachLineInString):
+ * editing/TypingCommand.cpp:
+ (TypingCommandLineOperation):
+ (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
+ (WebCore::TypingCommandLineOperation::operator()):
+ (WebCore::TypingCommand::TypingCommand):
+ (WebCore::TypingCommand::insertText):
+ (WebCore::TypingCommand::insertLineBreak):
+ (WebCore::TypingCommand::insertParagraphSeparator):
+ * editing/TypingCommand.h:
+ * page/EventHandler.cpp:
+ * rendering/InlineTextBox.cpp:
+ (WebCore::lineStyleForMarkerType):
+ (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
+ (WebCore::InlineTextBox::paintDocumentMarkers):
+ * rendering/InlineTextBox.h:
+ (InlineTextBox):
+ * testing/Internals.cpp:
+ (WebCore::markerTypesFrom):
+
+2012-04-15 James Robinson <jamesr@chromium.org>
+
+ [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
+ https://bugs.webkit.org/show_bug.cgi?id=83415
+
+ Reviewed by Adrienne Walker.
+
+ This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
+ moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
+ First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
+ LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
+ ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
+ to the CCHeadsUpDisplay which takes ownership of the atlas.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::create):
+ (WebCore::LayerRendererChromium::initialize):
+ (WebCore::LayerRendererChromium::~LayerRendererChromium):
+ (WebCore::LayerRendererChromium::beginDrawingFrame):
+ (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
+ (WebCore):
+ (WebCore::LayerRendererChromium::finishDrawingFrame):
+ (WebCore::LayerRendererChromium::swapBuffers):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromiumClient):
+ (LayerRendererChromium):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore::CCHeadsUpDisplay::setFontAtlas):
+ (WebCore):
+ (WebCore::CCHeadsUpDisplay::enabled):
+ (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
+ (WebCore::CCHeadsUpDisplay::draw):
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+ (WebCore):
+ (WebCore::CCHeadsUpDisplay::create):
+ (CCHeadsUpDisplay):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::initialize):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ (WebCore::CCLayerTreeHostImpl::prepareToDraw):
+ (WebCore::CCLayerTreeHostImpl::drawLayers):
+ (WebCore::CCLayerTreeHostImpl::swapBuffers):
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
+ (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
+ (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
+ (WebCore):
+ (WebCore::CCLayerTreeHostImpl::setFontAtlas):
+ (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::rootLayer):
+ * platform/graphics/chromium/cc/CCProxy.h:
+ (WebCore):
+ (CCProxy):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
+ (WebCore::CCSingleThreadProxy::recreateContext):
+ (WebCore::CCSingleThreadProxy::setFontAtlas):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
+ (WebCore::CCThreadProxy::setFontAtlas):
+ (WebCore):
+ (WebCore::CCThreadProxy::setFontAtlasOnImplThread):
+ (WebCore::CCThreadProxy::recreateContextOnImplThread):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-04-15 Antti Koivisto <antti@apple.com>
+
+ Capture CSS parser context
+ https://bugs.webkit.org/show_bug.cgi?id=83998
+
+ Reviewed by Andreas Kling.
+
+ Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc.
+ The required information should be passed in on parser construction instead. The parser should not need to
+ know about the document at all.
+
+ The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the
+ parsing context and reuses it for any further parsing.
+
+ If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will
+ be identical. This will allow sharing parsed stylesheets in the future.
+
+ * css/CSSGrammar.y:
+ * css/CSSImportRule.cpp:
+ (WebCore::StyleRuleImport::setCSSStyleSheet):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::insertRule):
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::setSelectorText):
+ * css/CSSParser.cpp:
+ (WebCore):
+ (WebCore::strictCSSParserContext):
+ (WebCore::CSSParserContext::CSSParserContext):
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::parseKeyframeRule):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseSelector):
+ (WebCore::CSSParser::completeURL):
+ (WebCore::CSSParser::parseContent):
+ (WebCore::CSSParser::parseAttr):
+ (WebCore::CSSParser::parseFillImage):
+ (WebCore::CSSParser::parseFontFaceSrcURI):
+ (WebCore::CSSParser::parseFontFaceSrc):
+ (WebCore::CSSParser::parseBorderImage):
+ (WebCore::CSSParser::parseImageSet):
+ (WebCore::CSSParser::parseCustomFilter):
+ (WebCore::CSSParser::parseFilter):
+ (WebCore::CSSParser::cssRegionsEnabled):
+ (WebCore::CSSParser::parseFlowThread):
+ (WebCore::CSSParser::createMediaRule):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::createFontFaceRule):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createKeyframe):
+ * css/CSSParser.h:
+ (CSSParser):
+ (WebCore::CSSParser::inStrictMode):
+ (WebCore::CSSParser::inQuirksMode):
+ (WebCore::CSSParser::validUnit):
+ * css/CSSParserMode.h:
+ (WebCore):
+ (CSSParserContext):
+ * css/CSSRule.h:
+ (WebCore::CSSRule::parserContext):
+ (CSSRule):
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::setSelectorText):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::StyleSheetInternal::StyleSheetInternal):
+ (WebCore::StyleSheetInternal::parseString):
+ (WebCore::StyleSheetInternal::parseStringAtLine):
+ (WebCore):
+ (WebCore::StyleSheetInternal::updateBaseURL):
+ (WebCore::StyleSheetInternal::completeURL):
+ (WebCore::CSSStyleSheet::insertRule):
+ * css/CSSStyleSheet.h:
+ (StyleSheetInternal):
+ (WebCore::StyleSheetInternal::parserContext):
+ (WebCore::StyleSheetInternal::charset):
+ (WebCore::StyleSheetInternal::setFinalURL):
+ (WebCore::StyleSheetInternal::baseURL):
+ * css/CSSValuePool.cpp:
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::parseDeclaration):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::insertRule):
+ * dom/Document.cpp:
+ (WebCore::Document::webkitGetFlowByName):
+ (WebCore::Document::pageUserSheet):
+ (WebCore::Document::pageGroupUserSheets):
+ * dom/Element.cpp:
+ (WebCore::Element::webkitMatchesSelector):
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::parseStyleSheet):
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::setCSSStyleSheet):
+ * html/shadow/ContentSelectorQuery.cpp:
+ (WebCore::ContentSelectorQuery::ContentSelectorQuery):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::setPropertyText):
+ (WebCore::InspectorStyleSheet::reparseStyleSheet):
+ (WebCore::InspectorStyleSheet::ensureSourceData):
+ (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
+
+2012-04-15 Noel Gordon <noel.gordon@gmail.com>
+
+ [Cairo] Separate image encoding from dataURL construction
+ https://bugs.webkit.org/show_bug.cgi?id=83975
+
+ Reviewed by Martin Robinson.
+
+ Remove the implicit assumption that a dataURL is the only desired output format
+ of the image encoding phase.
+
+ No new tests. Covered by existing canvas toDataURL tests.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::writeFunction): Rename closure to output.
+ (WebCore::encodeImage): Output the encoded image to the provided Vector<char>.
+ PNG format is only supported per the Cairo encoding MIMETypeRegistry.
+ (WebCore):
+ (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage().
+
+2012-04-15 Yuta Kitamura <yutak@chromium.org>
+
+ Leak in WebSocketChannel with workers/worker-reload.html (part 2)
+ https://bugs.webkit.org/show_bug.cgi?id=83749
+
+ Reviewed by David Levin.
+
+ Second attempt to remove leaks around WorkerThreadableWebSocketChannel.
+
+ No new tests, as this patch does not impose any functional change.
+
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation):
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
+ Add a boolean flag indicating whether Bridge::initialize() has exited without receiving
+ a pointer to the peer object.
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask):
+ Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive
+ a pointer to the peer (waitForMethodCompletion() exited due to message queue's
+ termination).
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+ (WorkerThreadableWebSocketChannel):
+ Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel
+ so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()).
+
+2012-04-14 Emil A Eklund <eae@chromium.org>
+
+ Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart
+ https://bugs.webkit.org/show_bug.cgi?id=83929
+
+ Reviewed by Eric Seidel.
+
+ Update CalendarPickerElement and MediaControlElements to use
+ pixelSnappedSize in preparation for turning on subpixel support.
+ Update RenderScrollbarPart to pixel snap rect before painting to ensure
+ that it is painted on device pixel boundaries.
+
+ No new tests, no change in functionality.
+
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::openPopup):
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::RenderMediaVolumeSliderContainer::layout):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+
+2012-04-14 Kent Tamura <tkent@chromium.org>
+
+ Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0
+ https://bugs.webkit.org/show_bug.cgi?id=83990
+
+ Reviewed by Kentaro Hara.
+
+ We passed the "weekStartDay" property value as a
+ string. CalendarPickerElement::writeDocument() created:
+ weekStartDay: "1",
+ and the JavaScript code used it in the following code:
+ dayLabels[(weekStartDay + i) % 7]
+ If weekStartDay was "1", the expression (weekStartDay + i)
+ produced "10", "11", "12", ... We expected "1", "2", "3", ...
+
+ We need to pass the "weekStartDay" property as a number.
+
+ No new tests because we have no ways to test this for now. We'll
+ introduce tests for the calendar picker later.
+
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::addProperty): Add addProperty() function for a number.
+ (WebCore::CalendarPickerElement::writeDocument):
+ Pass a number, not a serialized number.
+
+2012-04-14 Joe Thomas <joethomas@motorola.com>
+
+ Viewport-percentage Length units does not work for Replaced elements size
+ https://bugs.webkit.org/show_bug.cgi?id=83425
+
+ Reviewed by Antti Koivisto.
+
+ Added the support for viewport-percentage length units while calculating the width/height of replaced elements.
+
+ Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html
+
+ * platform/Length.h:
+ (WebCore::Length::isSpecified):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
+
+2012-04-14 Joe Thomas <joethomas@motorola.com>
+
+ CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set
+ https://bugs.webkit.org/show_bug.cgi?id=80736
+
+ Reviewed by Antti Koivisto.
+
+ Added support for fetching the value of 'border-radius' CSS property which was missing.
+
+ Test: fast/css/border-radius-property-value.html
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getPropertyValue):
+
+2012-04-14 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=83826
+
+ Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that
+ needs to be included if rounding hacks are mentioned.
+
+ Reviewed by Dan Bernstein.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintItemForeground):
+ * rendering/break_lines.cpp:
+ (WebCore::nextBreakablePosition):
+
+2012-04-14 Noel Gordon <noel.gordon@gmail.com>
+
+ [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs
+ https://bugs.webkit.org/show_bug.cgi?id=83569
+
+ Reviewed by Eric Seidel.
+
+ No new tests. Covered by exiting fast/canvas/*toDataURL* tests.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::writeFunction): Return write success or failure with the appropriate
+ cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html
+ (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that
+ a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for
+ encoding failure and return "data:," if so.
+
+2012-04-13 David Reveman <reveman@chromium.org>
+
+ [Chromium] Avoid unnecessary full tile updates for checkerboard tiles.
+ https://bugs.webkit.org/show_bug.cgi?id=83804
+
+ Reviewed by James Robinson.
+
+ Cleanup code that determines if we need to use a buffered update and
+ avoid buffering of tiles that are not in use by the impl thread.
+
+ Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
+ TiledLayerChromiumTest.partialUpdates
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (UpdatableTile):
+ (WebCore::UpdatableTile::UpdatableTile):
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
+ (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
+ (WebCore::TiledLayerChromium::updateTiles):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::bufferedUpdates):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+
+2012-04-13 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible
+ https://bugs.webkit.org/show_bug.cgi?id=83899
+
+ Reviewed by Adrienne Walker.
+
+ When a LTH becomes invisible, the texture eviction is spread out across
+ two different functions and is not entirely clear. We move all the logic
+ together into a single place in didBecomeInvisibleOnImplThread() and
+ make the consequences of the current code more clear.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
+ (WebCore::CCLayerTreeHost::setVisible):
+ (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
+
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r114036.
+ http://trac.webkit.org/changeset/114036
+ https://bugs.webkit.org/show_bug.cgi?id=83969
+
+ Breaks gmail.com causing it to never finish loading (Requested
+ by danakj on #webkit).
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::createPrototype):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8BindingPerContextData.cpp:
+ (WebCore::V8BindingPerContextData::init):
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
+ * bindings/v8/V8BindingPerContextData.h:
+ (V8BindingPerContextData):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * dom/NodeList.idl:
+
+2012-04-13 Alexandre Elias <aelias@google.com>
+
+ [chromium] Add null pointer check to animatePageScale
+ https://bugs.webkit.org/show_bug.cgi?id=83940
+
+ Reviewed by James Robinson.
+
+ Add null pointer check to startPageScaleAnimation.
+
+ If the root scroll layer goes away in the middle of a page scale
+ animation, there can be a null pointer access here.
+
+ No new tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::animatePageScale):
+
+2012-04-13 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Replicas should be included in the computed occlusion
+ https://bugs.webkit.org/show_bug.cgi?id=82262
+
+ Reviewed by Adrienne Walker.
+
+ When merging a surface's occlusion up to its target, make a copy of it
+ where the replica will be as well, and make sure that occlusion from a
+ RenderSurface does not leave its clipRect.
+
+ Unit test: CCOcclusionTrackerTestReplicaDoesOcclude
+ CCOcclusionTrackerTestReplicaWithClipping
+ CCOcclusionTrackerTestSurfaceChildOfSurface
+
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp:
+ (WebCore::RenderSurfaceChromium::hasReplica):
+ (WebCore):
+ * platform/graphics/chromium/RenderSurfaceChromium.h:
+ (RenderSurfaceChromium):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::transformSurfaceOpaqueRegion):
+ (WebCore::::leaveToTargetRenderSurface):
+
+2012-04-13 Raymond Liu <raymond.liu@intel.com>
+
+ AudioContext createChannelMerger() method should have optional argument for number of inputs.
+ https://bugs.webkit.org/show_bug.cgi?id=83759
+
+ Reviewed by Chris Rogers.
+
+ Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
+
+ Test: webaudio/audiochannelmerger-basic.html
+
+ * Modules/webaudio/AudioChannelMerger.cpp:
+ (WebCore):
+ (WebCore::AudioChannelMerger::create):
+ (WebCore::AudioChannelMerger::AudioChannelMerger):
+ * Modules/webaudio/AudioChannelMerger.h:
+ (AudioChannelMerger):
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createChannelMerger):
+ (WebCore):
+ * Modules/webaudio/AudioContext.h:
+ (AudioContext):
+ * Modules/webaudio/AudioContext.idl:
+
+2012-04-13 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove viewport memory restrictions
+ https://bugs.webkit.org/show_bug.cgi?id=83316
+
+ Reviewed by Adrienne Walker.
+
+ We remove the memory restriction on web pages based on viewport size
+ on desktop. This is causing pages that have complex use of layers to
+ end up hitting our memory limits, and moreso when the window is small.
+ Page complexity is not really a function of the viewport size.
+
+ We drop the mininum memory limit entirely, and just evict all
+ unprotected textures instead.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/TextureManager.cpp:
+ (WebCore::TextureManager::highLimitBytes):
+ (WebCore::TextureManager::reclaimLimitBytes):
+ * platform/graphics/chromium/TextureManager.h:
+ (TextureManager):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
+ (WebCore::CCLayerTreeHost::setVisible):
+ (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
+ (WebCore::CCLayerTreeHost::updateLayers):
+
+2012-04-13 Ken Buchanan <kenrb@chromium.org>
+
+ Optimize tracking of intruding floats being removed from RenderBlock during layout
+ https://bugs.webkit.org/show_bug.cgi?id=82928
+
+ Reviewed by David Hyatt.
+
+ Performance tweaks in RenderBlock layout as a follow up to r112935.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloats):
+
+2012-04-13 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions]Implement NamedFlow::contentNodes attribute
+ https://bugs.webkit.org/show_bug.cgi?id=80134
+
+ Reviewed by David Hyatt.
+
+ The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
+ In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
+ The list of nodes is returned as a static node list.
+
+ The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded
+ and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached.
+ I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions).
+
+ Test: fast/regions/webkit-named-flow-content-nodes.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitGetFlowByName):
+ * dom/Document.h:
+ * dom/Element.cpp:
+ (WebCore::Element::detach):
+ * dom/Node.h:
+ (WebCore::Node::inNamedFlow):
+ (WebCore::Node::setInNamedFlow):
+ (WebCore::Node::clearInNamedFlow):
+ (Node):
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::contentNodes):
+ (WebCore):
+ * dom/WebKitNamedFlow.h:
+ (WebKitNamedFlow):
+ * dom/WebKitNamedFlow.idl:
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::registerNamedFlowContentNode):
+ (WebCore):
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
+ * rendering/FlowThreadController.h:
+ (FlowThreadController):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore):
+ (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
+ (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
+ * rendering/RenderNamedFlowThread.h:
+ (WebCore):
+ (RenderNamedFlowThread):
+ (WebCore::RenderNamedFlowThread::contentNodes):
+ (WebCore::RenderNamedFlowThread::hasContentNode):
+
+2012-04-13 Jessie Berlin <jberlin@apple.com>
+
+ Remove the calls to CRASH() from ResourceLoader.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=83962
+
+ Reviewed by Alexey Proskuryakov.
+
+ They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130.
+
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::willSendRequest):
+ (WebCore::ResourceLoader::didSendData):
+ (WebCore::ResourceLoader::didReceiveResponse):
+ (WebCore::ResourceLoader::didReceiveData):
+ (WebCore::ResourceLoader::didFinishLoading):
+ (WebCore::ResourceLoader::didFail):
+ (WebCore::ResourceLoader::wasBlocked):
+ (WebCore::ResourceLoader::cannotShowURL):
+ (WebCore::ResourceLoader::shouldUseCredentialStorage):
+ (WebCore::ResourceLoader::willCacheResponse):
+
+2012-04-13 Xiaomei Ji <xji@chromium.org>
+
+ REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong
+ when using certain fonts
+ https://bugs.webkit.org/show_bug.cgi?id=83523
+
+ Reviewed by Kent Tamura.
+
+ Revert r102190.
+ Convert characters being treatAsSpace to white space.
+
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::fillRuns):
+ (WebCore::UniscribeHelper::adjustSpaceAdvances):
+
+2012-04-13 Timothy Hatcher <timothy@apple.com>
+
+ Change how the Web Insector is installed on Mac builds.
+
+ <rdar://problem/10857918>
+
+ Reviewed by Mark Rowe.
+
+ * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources
+ and Streamline Inspector Source build phases.
+
+2012-04-13 Jer Noble <jer.noble@apple.com>
+
+ Video at apple.com gets standard controls in addition to custom controls after returning from full screen
+ https://bugs.webkit.org/show_bug.cgi?id=83939
+
+ Reviewed by Eric Carlson.
+
+ No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs.
+
+ Instead of asking the media element whether it is in full screen or not, rely on when the media root element
+ was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the
+ media element due to animations.
+
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::reset):
+ (WebCore::MediaControlRootElement::playbackStarted):
+ (WebCore::MediaControlRootElement::enteredFullscreen):
+ (WebCore::MediaControlRootElement::exitedFullscreen):
+ (WebCore::MediaControlRootElement::defaultEventHandler):
+ (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
+ (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
+ * html/shadow/MediaControlRootElement.h:
+ (MediaControlRootElement): Added m_isFullscreen;
+
+2012-04-13 Jer Noble <jer.noble@apple.com>
+
+ fullscreen/video-controls-drag.html failing on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=81176
+
+ Reviewed by Eric Carlson.
+
+ No new tests. Fixes fullscreen/video-controls-drag.html.
+
+ Regressed in r110409. When the -webkit-media-controls-panel were changed
+ from position:absolute to position:relative, this broke dragging of the
+ controls in fullscreen, which relies on the panel being absolutely positioned
+ to do its drag positioning. Change the way drag positioning is calculated to
+ accommodate position:relative.
+
+ * css/fullscreenQuickTime.css:
+ (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px,
+ use margin-bottom:50px to push panel up from the bottom of the screen.
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location.
+ (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations
+ only to calculate the new panel position.
+ * html/shadow/MediaControlElements.h:
+
+2012-04-13 Simon Fraser <simon.fraser@apple.com>
+
+ Compositing layers not updated after scroll in WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=83945
+
+ Reviewed by James Robinson.
+
+ Fix the WebKit1 code path to correctly update compositing layers
+ after a scroll, by calling updateFixedElementsAfterScrolling() from
+ scrollPositionChangedViaPlatformWidget().
+
+ Covered by existing tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
+
+2012-04-13 Dean Jackson <dino@apple.com>
+
+ Don't process filters if the input region is exceptionally large.
+ https://bugs.webkit.org/show_bug.cgi?id=83317
+
+ Reviewed by Simon Fraser.
+
+ An extremely large element causes problems with filters, either by
+ taking too long to compute the output or using too much memory. The
+ filter engine already has some constants for maximum expected size.
+ Make sure the render tree checks them before deciding to apply
+ effects.
+
+ Tests: css3/filters/huge-region-composited.html
+ css3/filters/huge-region.html
+
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::apply):
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore):
+ (WebCore::isFilterSizeValid):
+ (WebCore::FilterEffectRenderer::build):
+ (WebCore::FilterEffectRenderer::updateBackingStore):
+ (WebCore::FilterEffectRendererHelper::beginFilterEffect):
+ * rendering/FilterEffectRenderer.h:
+ (FilterEffectRenderer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateOrRemoveFilterEffect):
+
+2012-04-13 Anna Cavender <annacc@chromium.org>
+
+ Queue the cuechange event on HTMLTrackElement for proper sorting.
+ https://bugs.webkit.org/show_bug.cgi?id=83858
+
+ Reviewed by Eric Carlson.
+
+ No new tests. Updates to media/track/track-cues-cuechange.html and
+ media/track/track-mode.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
+ Add HTMLTrackElement's cuechange event to the event queue rather than
+ firing it synchronously.
+ * html/track/LoadableTextTrack.cpp:
+ Remove fireCueChangeEvent() as it is no longer used.
+ * html/track/LoadableTextTrack.h:
+ Ditto.
+ * html/track/TextTrack.h:
+ (TextTrack):
+ Ditto.
+
+2012-04-11 Antonio Gomes <agomes@rim.com>
+
+ Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map
+ https://bugs.webkit.org/show_bug.cgi?id=79611
+
+ Reviewed by James Robinson.
+
+ Source/WebCore:
+
+ As of today, any FrameView attached to the Widget-tree or any
+ RenderLayer whose corresponding RenderBox's style has a 'overflow'
+ property set to 'auto' is cached in its containing scrollable areas set.
+ We could be more restrictive about what we in fact want to
+ cache as scrollable areas, by checking if the element as an overflow
+ (i.e. more content than its viewport).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setFrameRect):
+
+ Whenever the viewport changes, check if we have an scrollable/overflowed
+ content, and update the cache accordingly.
+
+ (WebCore::FrameView::setContentsSize):
+
+ Whenever the contents size changes, check if we have a scrollable/overflowed
+ content, and update the cache accordingly.
+
+ (WebCore::FrameView::calculateScrollbarModesForLayout):
+
+ Introduces a way to query for the scrollbars by only
+ taking into account the "rules" set by the web author.
+ For that, a new enum was added called SrollbarModesCalculationStrategy,
+ which allows callers to discard for example client-side scrollbar policies
+ in order to verify if a given frameview is scrollable or not.
+
+ (WebCore::FrameView::updateScrollableAreaSet):
+
+ Take into account various factors before considering a FrameView as
+ scrollable. If in the end it is, it gets added to its parent FrameView
+ scrollable areas map, otherwise removed.
+
+ (WebCore):
+ (WebCore::FrameView::addScrollableArea):
+
+ Became unneeded, thus removed.
+
+ (WebCore::FrameView::removeScrollableArea):
+
+ Whenever a FrameView is removed from the Widget-tree,
+ remove it from the cache.
+
+ * page/FrameView.h:
+ (FrameView):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollbarsAfterLayout):
+
+ Update scrollable area set after layout.
+
+ (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
+
+ Update scrollable area set after style changes.
+
+ (WebCore::RenderLayer::styleChanged):
+
+ Removed the scrollable areas logic detection from it.
+
+ (WebCore::RenderLayer::updateScrollableAreaSet):
+
+ Updates the containing FrameView scrollable areas cache
+ only when needed (i.e. an overflow exists).
+
+ (WebCore):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * testing/Internals.cpp:
+ (WebCore::Internals::numberOfScrollableAreas):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+ Tests: fast/scrolling/scrollable-area-frame-inherited-visibility-hidden.html
+ fast/scrolling/scrollable-area-frame-overflow-hidden.html
+ fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html
+ fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html
+ fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html
+ fast/scrolling/scrollable-area-frame-scrolling-no.html
+ fast/scrolling/scrollable-area-frame-scrolling-yes-display-none.html
+ fast/scrolling/scrollable-area-frame-scrolling-yes.html
+ fast/scrolling/scrollable-area-frame-visibility-hidden-child.html
+ fast/scrolling/scrollable-area-frame-zero-size-and-border.html
+ fast/scrolling/scrollable-area-frame.html
+ fast/scrolling/scrollable-area-overflow-auto-display-none-in-parent.html
+ fast/scrolling/scrollable-area-overflow-auto-display-none.html
+ fast/scrolling/scrollable-area-overflow-auto-visibility-hidden-in-parent.html
+ fast/scrolling/scrollable-area-overflow-auto-visibility-hidden.html
+ fast/scrolling/scrollable-area-overflow-auto-visibility-override.html
+ fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html
+ fast/scrolling/scrollable-area-overflow-auto.html
+ fast/scrolling/scrollable-area-overflow-not-set.html
+ fast/scrolling/scrollable-area-overflow-visible.html
+
+2012-04-13 Antti Koivisto <antti@apple.com>
+
+ Track rem unit usage in StyleSheetInternal
+ https://bugs.webkit.org/show_bug.cgi?id=83923
+
+ Reviewed by Andreas Kling.
+
+ Currently CSSParser sets usesRemUnits flag directly to Document. It should be set to
+ the stylesheet instead so parser does not need to know about the document. This also
+ avoids setting the flag unnecessarily when the stylesheet is not used.
+
+ * css/CSSGrammar.y:
+ * css/CSSStyleSheet.cpp:
+ (WebCore::StyleSheetInternal::StyleSheetInternal):
+ * css/CSSStyleSheet.h:
+ (WebCore::StyleSheetInternal::parserSetUsesRemUnits):
+ (WebCore::StyleSheetInternal::usesRemUnits):
+ (StyleSheetInternal):
+ * dom/Document.cpp:
+ (WebCore):
+ (WebCore::checkUsesRemUnits):
+ (WebCore::Document::updateActiveStylesheets):
+ * dom/Document.h:
+ (WebCore::Document::usesRemUnits):
+
+2012-04-11 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove unused compositeToTexture / compositeOffscreen setting
+ https://bugs.webkit.org/show_bug.cgi?id=83733
+
+ Reviewed by Adrienne Walker.
+
+ Remove compositeOffscreen setting and implementation. This was an experiment that is no longer needed.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::finishDrawingFrame):
+ (WebCore::LayerRendererChromium::useRenderSurface):
+ (WebCore::LayerRendererChromium::setScissorToRect):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore::CCSettings::CCSettings):
+ (CCSettings):
+
+2012-04-13 Alexey Proskuryakov <ap@apple.com>
+
+ REGRESSION (XHR Caching): Uncacheable responses sent by Rails through Apache are cached
+ https://bugs.webkit.org/show_bug.cgi?id=83925
+ <rdar://problem/11231790>
+
+ Reviewed by Antti Koivisto.
+
+ Added subtests to http/tests/cache/subresource-expiration-2.html.
+
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Honor first max-age
+ instead of the last. New behavior matches both Firefox and IE.
+
+2012-04-13 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
+ https://bugs.webkit.org/show_bug.cgi?id=83851
+
+ Reviewed by Adam Barth.
+
+ Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
+ Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
+ width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
+
+ Covered by existing media/ and compositing/ layout tests.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawYUV):
+ (WebCore::LayerRendererChromium::drawRGBA):
+ (WebCore::LayerRendererChromium::copyFrameToTextures):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/VideoFrameProvider.h:
+ (VideoFrameProvider):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
+ (WebCore::CCVideoDrawQuad::create):
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
+ (WebKit):
+ (CCVideoDrawQuad):
+ (WebCore::CCVideoDrawQuad::frame):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore):
+ (WebCore::convertVFCFormatToGC3DFormat):
+ (WebCore::CCVideoLayerImpl::willDraw):
+ (WebCore::videoFrameDimension):
+ (WebCore::hasPaddingBytes):
+ (WebCore::CCVideoLayerImpl::computeVisibleSize):
+ (WebCore::CCVideoLayerImpl::reserveTextures):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (WebKit):
+
+2012-04-13 Rob Flack <flackr@chromium.org>
+
+ Chromium: Should enable -webkit-image-set
+ https://bugs.webkit.org/show_bug.cgi?id=81859
+
+ Reviewed by Adam Barth.
+
+ Test: fast/css/image-set-parsing.html
+
+ * WebCore.gypi:
+
+2012-04-12 Michael Nordman <michaeln@google.com>
+
+ [chromium] Now that the chromium port is using a different dom_storage backend
+ library in its main browser process, there are a handful of files that should no
+ longer be included in the build, and a few files than should be deleted
+ outright, and the webkit api should be modified to reflect the new (and smaller)
+ contract between the embedder and webkit/webcore.
+ https://bugs.webkit.org/show_bug.cgi?id=83807
+
+ Reviewed by Adam Barth.
+
+ No new tests, existing tests apply.
+
+ * WebCore.gyp/WebCore.gyp: Exclude several files from the WebCore/storage directory.
+ * storage/StorageEventDispatcher.h: Delete a stale comment.
+
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r114140.
+ http://trac.webkit.org/changeset/114140
+ https://bugs.webkit.org/show_bug.cgi?id=83921
+
+ Fails fast/css/image-set-parsing.html test it attempts to
+ introduce. (Requested by scheib on #webkit).
+
+ * WebCore.gypi:
+
+2012-04-13 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution
+ https://bugs.webkit.org/show_bug.cgi?id=83836
+
+ Reviewed by Darin Adler.
+
+ Test: fast/canvas/2d.imageDataHD.html
+
+ Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in
+ <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions
+ are prefixed with “webkit” for now.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls
+ through to getImageData with LogicalCoordinateSystem.
+ (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to
+ getImageData with BackingStoreCoordinateSystem.
+ (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this
+ now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData().
+ (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls
+ through to putImageData with LogicalCoordinateSystem.
+ (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to
+ putImageData with BackingStoreCoordinateSystem.
+ (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this
+ function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to
+ invalidate after the drawing operation.
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and
+ webkitGetImageDataHD().
+ * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values
+ LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter,
+ which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData,
+ getPremultipliedImageData, and putByteArray.
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::ImageBuffer::putByteArray):
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to
+ decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not.
+ (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
+ (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide
+ whether to maintain the resolution scale while drawing or not.
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/gtk/ImageBufferGtk.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::ImageBuffer::putByteArray):
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::ImageBuffer::putByteArray):
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/wince/ImageBufferWinCE.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::ImageBuffer::putByteArray):
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::getUnmultipliedImageData):
+ (WebCore::ImageBuffer::getPremultipliedImageData):
+ (WebCore::ImageBuffer::putByteArray):
+ (WebCore::ImageBuffer::toDataURL):
+
+2012-04-12 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Support CCHeadsUpDisplay in threaded compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=67499
+
+ Reviewed by James Robinson.
+
+ No new tests because this code is debugging code itself.
+
+ The last item that was needed to make the CCHeadsUpDisplay work in
+ threaded compositing mode was to remove the font rendering code
+ used on the impl-side thread. To solve this, this patch adds a
+ CCFontAtlas that is initialized on the main thread (where the font
+ rendering takes place). Then, when the HUD draws text on the impl
+ thread, it uses the font atlas directly.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::create):
+ (WebCore::LayerRendererChromium::initialize):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (WebCore):
+ (LayerRendererChromium):
+ * platform/graphics/chromium/cc/CCFontAtlas.cpp: Added.
+ (WebCore):
+ (WebCore::CCFontAtlas::CCFontAtlas):
+ (WebCore::wrapPositionIfNeeded):
+ (WebCore::CCFontAtlas::generateAtlasForFont):
+ (WebCore::CCFontAtlas::initialize):
+ (WebCore::CCFontAtlas::drawText):
+ (WebCore::CCFontAtlas::drawOneLineOfTextInternal):
+ (WebCore::CCFontAtlas::drawDebugAtlas):
+ * platform/graphics/chromium/cc/CCFontAtlas.h: Added.
+ (WebCore):
+ (CCFontAtlas):
+ (WebCore::CCFontAtlas::create):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore):
+ (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
+ (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+ (WebCore::CCHeadsUpDisplay::create):
+ (CCHeadsUpDisplay):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::initialize):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore):
+ (WebCore::CCLayerTreeHost::headsUpDisplayFontAtlas):
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (WebCore):
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
+ (WebCore::CCSingleThreadProxy::recreateContext):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
+ (WebCore::CCThreadProxy::recreateContextOnImplThread):
+
+2012-04-13 Rob Flack <flackr@chromium.org>
+
+ Chromium: Should enable -webkit-image-set
+ https://bugs.webkit.org/show_bug.cgi?id=81859
+
+ Reviewed by Adam Barth.
+
+ Test: fast/css/image-set-parsing.html
+
+ * WebCore.gypi:
+
+2012-04-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: do not attempt to load content from resource until request finished loading.
+ https://bugs.webkit.org/show_bug.cgi?id=83896
+
+ Reviewed by Yury Semikhatsky.
+
+ When we stop in the inline script on reload, we should only show concatenated script content.
+ When we resume, we should replace UI source code with the actual HTML content. We should not attempt to
+ fetch resource content until request finished loading. I regressed it in the Request extraction
+ and now am bringing it back.
+
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode):
+ (WebInspector.RawSourceCode.prototype._finishedLoading):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+
+2012-04-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: follow up to r114116 - fixing QT test
+ https://bugs.webkit.org/show_bug.cgi?id=83892
+
+ Reviewed by Yury Semikhatsky.
+
+ Requesting content for the scripts exclusively via the page agent now.
+
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get content):
+ (WebInspector.Resource.prototype.get contentEncoded):
+ (WebInspector.Resource.prototype.requestContent):
+ (WebInspector.ResourceRevision.prototype.requestContent):
+
+2012-04-13 Yi Shen <yi.4.shen@nokia.com>
+
+ InsertHTML fails to insert h6 if the insertion point is before some text.
+ https://bugs.webkit.org/show_bug.cgi?id=82689
+
+ Reviewed by Ryosuke Niwa.
+
+ Added the missing h6 tag for the isHeaderElement.
+
+ No new tests: updated existing test (editing/execCommand/4128080-1.html)
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::isHeaderElement):
+
+2012-04-13 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: exception in heap profiler when expanding a class in summary view
+ https://bugs.webkit.org/show_bug.cgi?id=83883
+
+ Moved all DOM-specific inspector utilities into DOMExtension.js
+
+ Merged BinarySearch.js and PartialQuickSort.js into utilities.js, HeapSnapshotWorker.js now
+ imports utilities.js which contains all required routines.
+
+ Reviewed by Pavel Feldman.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/BinarySearch.js: Removed.
+ * inspector/front-end/DOMExtension.js: Copied from Source/WebCore/inspector/front-end/utilities.js.
+ (Node.prototype.rangeOfWord):
+ (Node.prototype.traverseNextTextNode):
+ (Node.prototype.rangeBoundaryForOffset):
+ (Element.prototype.removeStyleClass):
+ (Element.prototype.removeMatchingStyleClasses):
+ (Element.prototype.addStyleClass):
+ (Element.prototype.hasStyleClass):
+ (Element.prototype.positionAt):
+ (Element.prototype.pruneEmptyTextNodes):
+ (Element.prototype.isScrolledToBottom):
+ (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
+ (Node.prototype.enclosingNodeOrSelfWithNodeName):
+ (Node.prototype.enclosingNodeOrSelfWithClass):
+ (Node.prototype.enclosingNodeWithClass):
+ (Element.prototype.query):
+ (Element.prototype.removeChildren):
+ (Element.prototype.isInsertionCaretInside):
+ (Element.prototype.createChild):
+ (Element.prototype.totalOffsetLeft):
+ (Element.prototype.totalOffsetTop):
+ (Element.prototype.totalOffset):
+ (Element.prototype.scrollOffset):
+ (AnchorBox):
+ (Element.prototype.offsetRelativeToWindow):
+ (Element.prototype.boxInWindow):
+ (Element.prototype.setTextAndTitle):
+ (Event.prototype.consume):
+ (Text.prototype.select):
+ (Element.prototype.selectionLeftOffset):
+ (Node.prototype.isAncestor):
+ (Node.prototype.isDescendant):
+ (Node.prototype.isSelfOrAncestor):
+ (Node.prototype.isSelfOrDescendant):
+ (Node.prototype.traverseNextNode):
+ (Node.prototype.traversePreviousNode):
+ (HTMLTextAreaElement.prototype.moveCursorToEnd):
+ (isEnterKey):
+ (consumeEvent):
+ (highlightSearchResult):
+ (highlightSearchResults):
+ (highlightRangesWithStyleClass):
+ (applyDomChanges):
+ (revertDomChanges):
+ * inspector/front-end/HeapSnapshot.js: Fixed a couple of js compiler warnings
+ by describing structure of heap snapshot header in the protocol.
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ * inspector/front-end/HeapSnapshotWorker.js:
+ * inspector/front-end/PartialQuickSort.js: Removed.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/utilities.js:
+ (.):
+
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r114103.
+ http://trac.webkit.org/changeset/114103
+ https://bugs.webkit.org/show_bug.cgi?id=83884
+
+ New breakpoint UI looks bad / needs polish. (Requested by
+ pfeldman_ on #webkit).
+
+ * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
+ * inspector/front-end/Images/breakpointCounterBorder.png:
+ * inspector/front-end/Images/programCounterBorder.png:
+ * inspector/front-end/textViewer.css:
+ (.webkit-execution-line .webkit-line-number-outer):
+ (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
+ (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
+
+2012-04-13 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] Sign in cookie for ESPN.com does not retain login account (for fantasy sports).
+ https://bugs.webkit.org/show_bug.cgi?id=83760
+
+ Reviewed by George Staikos.
+
+ When we update cookies' database, protocol shouldn't be checked since it is not a cookie's key.
+ ESPN.com's https cookies should replace old http cookies if they have the same keys(name, path, domain).
+
+ We must restart the browser to test, so have to write a manual test case.
+
+ Test: ManualTests/blackberry/http-cookie-database-set.php
+
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::invokeOpen):
+
+2012-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
+ https://bugs.webkit.org/show_bug.cgi?id=83770
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Revert the previous way of dealing with things. The problem is that different layers
+ would end up rounding in different directions, and would cause jittering between
+ layers or with the QQuickWebPage's background.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTexture):
+
+2012-04-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=83871
+
+ Reviewed by Yury Semikhatsky.
+
+ There is a number of random properties created on Resource and NetworkRequest that represent various url
+ fragments. Display name is being based on them and sometimes requires fake Resource instance to be created.
+ This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.
+
+ This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up
+ factory methods used to create the objects.
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ * inspector/front-end/Database.js:
+ (WebInspector.Database.prototype.get displayDomain):
+ * inspector/front-end/JavaScriptContextManager.js:
+ (WebInspector.FrameEvaluationContext.prototype.get displayName):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
+ (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
+ (get WebInspector):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
+ (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest):
+ (WebInspector.NetworkRequest.prototype.set url):
+ (WebInspector.NetworkRequest.prototype.get documentURL):
+ (WebInspector.NetworkRequest.prototype.get parsedURL):
+ (WebInspector.NetworkRequest.prototype.get displayName):
+ (WebInspector.NetworkRequest.prototype.get folder):
+ * inspector/front-end/RequestHeadersView.js:
+ (WebInspector.RequestHeadersView.prototype._refreshUrlFragment):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.prototype.set url):
+ (WebInspector.Resource.prototype.get parsedURL):
+ (WebInspector.Resource.prototype.get frameId):
+ (WebInspector.Resource.prototype.get loaderId):
+ (WebInspector.Resource.prototype.get displayName):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
+ (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
+ (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
+ (WebInspector.ResourceTreeFrame.prototype._addRequest):
+ * inspector/front-end/ResourceUtils.js:
+ (WebInspector.ParsedURL):
+ (WebInspector.ParsedURL.prototype.get displayName):
+ (String.prototype.asParsedURL):
+ (WebInspector.displayDomain):
+ (WebInspector.resourceURLForRelatedNode.callback):
+ (WebInspector.resourceURLForRelatedNode):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameTreeElement.prototype.frameNavigated):
+ (WebInspector.ApplicationCacheManifestTreeElement):
+ (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
+ * inspector/front-end/utilities.js:
+
+2012-04-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: extracting NetworkRequest from Resource (step 3)
+ https://bugs.webkit.org/show_bug.cgi?id=83802
+
+ Reviewed by Yury Semikhatsky.
+
+ This change extracts NetworkRequest from the Resource. It is now clear that these two
+ should have super class that would be responsible for parsing URL and would define the
+ requestContent signature. Corresponding patch will follow.
+
+ * inspector/front-end/NetworkManager.js:
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest):
+ (WebInspector.NetworkRequest.prototype.get requestId):
+ (WebInspector.NetworkRequest.prototype.set requestId):
+ (WebInspector.NetworkRequest.prototype.get url):
+ (WebInspector.NetworkRequest.prototype.get frameId):
+ (WebInspector.NetworkRequest.prototype.get loaderId):
+ (WebInspector.NetworkRequest.prototype.get startTime):
+ (WebInspector.NetworkRequest.prototype.set startTime):
+ (WebInspector.NetworkRequest.prototype.get responseReceivedTime):
+ (WebInspector.NetworkRequest.prototype.set responseReceivedTime):
+ (WebInspector.NetworkRequest.prototype.get endTime):
+ (WebInspector.NetworkRequest.prototype.set endTime):
+ (WebInspector.NetworkRequest.prototype.get duration):
+ (WebInspector.NetworkRequest.prototype.get latency):
+ (WebInspector.NetworkRequest.prototype.get receiveDuration):
+ (WebInspector.NetworkRequest.prototype.get resourceSize):
+ (WebInspector.NetworkRequest.prototype.set resourceSize):
+ (WebInspector.NetworkRequest.prototype.get transferSize):
+ (WebInspector.NetworkRequest.prototype.increaseTransferSize):
+ (WebInspector.NetworkRequest.prototype.get finished):
+ (WebInspector.NetworkRequest.prototype.set finished):
+ (WebInspector.NetworkRequest.prototype.get failed):
+ (WebInspector.NetworkRequest.prototype.set failed):
+ (WebInspector.NetworkRequest.prototype.get canceled):
+ (WebInspector.NetworkRequest.prototype.set canceled):
+ (WebInspector.NetworkRequest.prototype.get cached):
+ (WebInspector.NetworkRequest.prototype.set cached):
+ (WebInspector.NetworkRequest.prototype.get timing):
+ (WebInspector.NetworkRequest.prototype.set timing):
+ (WebInspector.NetworkRequest.prototype.get mimeType):
+ (WebInspector.NetworkRequest.prototype.set mimeType):
+ (WebInspector.NetworkRequest.prototype.get displayName):
+ (WebInspector.NetworkRequest.prototype.get folder):
+ (WebInspector.NetworkRequest.prototype.get displayDomain):
+ (WebInspector.NetworkRequest.prototype.get type):
+ (WebInspector.NetworkRequest.prototype.set type):
+ (WebInspector.NetworkRequest.prototype.get redirectSource):
+ (WebInspector.NetworkRequest.prototype.set redirectSource):
+ (WebInspector.NetworkRequest.prototype.get requestHeaders):
+ (WebInspector.NetworkRequest.prototype.set requestHeaders):
+ (WebInspector.NetworkRequest.prototype.get requestHeadersText):
+ (WebInspector.NetworkRequest.prototype.set requestHeadersText):
+ (WebInspector.NetworkRequest.prototype.get requestHeadersSize):
+ (WebInspector.NetworkRequest.prototype.requestHeaderValue):
+ (WebInspector.NetworkRequest.prototype.get requestCookies):
+ (WebInspector.NetworkRequest.prototype.get requestFormData):
+ (WebInspector.NetworkRequest.prototype.set requestFormData):
+ (WebInspector.NetworkRequest.prototype.get requestHttpVersion):
+ (WebInspector.NetworkRequest.prototype.get responseHeaders):
+ (WebInspector.NetworkRequest.prototype.set responseHeaders):
+ (WebInspector.NetworkRequest.prototype.get responseHeadersText):
+ (WebInspector.NetworkRequest.prototype.set responseHeadersText):
+ (WebInspector.NetworkRequest.prototype.get responseHeadersSize):
+ (WebInspector.NetworkRequest.prototype.responseHeaderValue):
+ (WebInspector.NetworkRequest.prototype.get responseCookies):
+ (WebInspector.NetworkRequest.prototype.get queryParameters):
+ (WebInspector.NetworkRequest.prototype.get formParameters):
+ (WebInspector.NetworkRequest.prototype.get responseHttpVersion):
+ (WebInspector.NetworkRequest.prototype._parseParameters):
+ (WebInspector.NetworkRequest.prototype._headerValue):
+ (WebInspector.NetworkRequest.prototype.get content):
+ (WebInspector.NetworkRequest.prototype.get contentEncoded):
+ (WebInspector.NetworkRequest.prototype.requestContent):
+ (WebInspector.NetworkRequest.prototype.isHttpFamily):
+ (WebInspector.NetworkRequest.prototype.requestContentType):
+ (WebInspector.NetworkRequest.prototype.isPingRequest):
+ (WebInspector.NetworkRequest.prototype.hasErrorStatusCode):
+ (WebInspector.NetworkRequest.prototype.populateImageSource):
+ (WebInspector.NetworkRequest.prototype._contentURL):
+ (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
+ (WebInspector.NetworkRequest.prototype._innerRequestContent):
+ (WebInspector.NetworkRequest.prototype.setResource):
+ (WebInspector.NetworkRequest.prototype.resource):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode):
+ (WebInspector.RawSourceCode.prototype._resourceAdded):
+ (WebInspector.RawSourceCode.prototype.forceUpdateSourceMapping):
+ (WebInspector.RawSourceCode.prototype._createContentProvider):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.displayName):
+ (WebInspector.Resource.prototype.get request):
+ (WebInspector.Resource.prototype.set url):
+ (WebInspector.Resource.prototype.get type):
+ (WebInspector.Resource.prototype.get mimeType):
+ (WebInspector.Resource.prototype.set mimeType):
+ (WebInspector.Resource.prototype.get content):
+ (WebInspector.Resource.prototype.get contentEncoded):
+ (WebInspector.Resource.prototype.requestContent):
+ (WebInspector.Resource.prototype._innerRequestContent.callback):
+ (WebInspector.Resource.prototype._innerRequestContent):
+ (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
+ (WebInspector.ResourceRevision.prototype.requestContent):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+
+2012-04-13 Mike Reed <reed@google.com>
+
+ use getClipDeviceBounds, rather than (deprecated) getTotalClip
+ https://bugs.webkit.org/show_bug.cgi?id=83808
+
+ Reviewed by Stephen White.
+
+ Equivalent functionality, existing tests apply.
+
+ * platform/graphics/skia/OpaqueRegionSkia.cpp:
+ (WebCore::OpaqueRegionSkia::didDraw):
+
+2012-04-13 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Add API for color chooser
+ https://bugs.webkit.org/show_bug.cgi?id=83692
+
+ Added new API to enable browsers to display a custom color picker
+ when an input field of type "color" is activated.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * PlatformEfl.cmake:
+ * platform/efl/ColorChooserEfl.cpp: Added.
+ (WebCore):
+ (WebCore::ColorChooserEfl::ColorChooserEfl):
+ (WebCore::ColorChooserEfl::~ColorChooserEfl):
+ (WebCore::ColorChooserEfl::setSelectedColor):
+ (WebCore::ColorChooserEfl::endChooser):
+ * platform/efl/ColorChooserEfl.h: Added.
+ (WebCore):
+ (ColorChooserEfl):
+
+2012-04-13 Zalan Bujtas <zbujtas@gmail.com>
+
+ Enabling/disabling delegates scrolling when page has no composited content asserts on WK1.
+ https://bugs.webkit.org/show_bug.cgi?id=83860
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WK2 has compositing mode on all the time, while Wk1 turns it on only when
+ the page has composited content. This patch ensures that, when delegates scrolling behavior
+ is changed, backing stores are cleared only when there's an actual composition,
+ similarly to what CachedFrame does.
+
+ Test: fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::delegatesScrollingDidChange):
+
+2012-04-13 Vivek Galatage <vivekgalatage@gmail.com>
+
+ Web Inspector: Line number is not displayed while debugging javascript
+ https://bugs.webkit.org/show_bug.cgi?id=83786
+
+ Reviewed by Pavel Feldman.
+
+ Changed the textViewer.css to start displaying the line number with
+ appropriate color property. Added outline property for enhanced view
+
+ No additional test cases required for the above fix.
+
+ * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
+ * inspector/front-end/Images/breakpointCounterBorder.png:
+ * inspector/front-end/Images/programCounterBorder.png:
+ * inspector/front-end/textViewer.css:
+ (.webkit-execution-line .webkit-line-number-outer):
+ (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
+ (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
+
+2012-04-13 Kent Tamura <tkent@chromium.org>
+
+ Add a runtime flag for <input type=date>
+ https://bugs.webkit.org/show_bug.cgi?id=83853
+
+ Reviewed by Adam Barth.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled): Added.
+ (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Added.
+ * html/InputType.cpp:
+ (WebCore::createInputTypeFactoryMap):
+ Don't register type=date if !RuntimeEnabledFeatures::inputTypeDateEnabled()
+
+2012-04-13 Adam Barth <abarth@webkit.org>
+
+ JSDocument::setLocation does too much bare-handed lifting
+ https://bugs.webkit.org/show_bug.cgi?id=83850
+
+ Reviewed by Sam Weinig.
+
+ As part of auditing all the ways of kicking off a navigation, I
+ happened to read JSDocument::setLocation, which uses very old patterns.
+ This patch updates it to do things the "modern" way. There shouldn't
+ be any behavior change.
+
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::setLocation):
+
+2012-04-13 Shinya Kawanaka <shinyak@chromium.org>
+
+ Background width (or height) is wrong if width (or height) * zoom < 1.
+ https://bugs.webkit.org/show_bug.cgi?id=83350
+
+ Reviewed by Nikolas Zimmermann.
+
+ calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
+ 0 is used for expressing unspecfied, so the method returns the box width(height) instead.
+
+ Since CachedImage has already similar code, we moved it to IntSize and shared it.
+
+ Tests: fast/css/zoom-background-repeat-x-expected.html
+ fast/css/zoom-background-repeat-x.html
+ fast/css/zoom-background-repeat-y-expected.html
+ fast/css/zoom-background-repeat-y.html
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::imageSizeForRenderer):
+ * platform/graphics/IntSize.h:
+ (IntSize):
+ (WebCore::IntSize::scale):
+ (WebCore::IntSize::clampToMinimumSize):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
+
+2012-04-13 Adam Barth <abarth@webkit.org>
+
+ Prepare submitForm for seamless navigation
+ https://bugs.webkit.org/show_bug.cgi?id=83838
+
+ Reviewed by Ryosuke Niwa.
+
+ Previously, FrameLoader::submitForm called FrameTree::find and
+ Document::canNavigate separately. This patch refactors this function
+ to call findFrameForNavigation, which does both checks.
+
+ This doesn't change any behavior today, but it prepares us to implement
+ seamless navigation. Once the seamless branch lands, this change will
+ be tested by seamless-form-* in https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
+
+ For context, see:
+ https://github.com/eseidel/webkit/commit/3f27340577ac91b2cc0a834dd2c6fdfcac296c32
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+
+2012-04-13 Kent Tamura <tkent@chromium.org>
+
+ Should clear an invalid string in a date field on blur
+ https://bugs.webkit.org/show_bug.cgi?id=83863
+
+ Reviewed by Kentaro Hara.
+
+ Test: fast/forms/date/input-date-commit-valid-only.html
+
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::handleBlurEvent):
+ Reset the visible value. The code is same as NumberInputType::handleBlurEvent().
+
+2012-04-12 Kent Tamura <tkent@chromium.org>
+
+ Calendar Picker: remove unnecessary code from calendarPicker.{css,js}
+ https://bugs.webkit.org/show_bug.cgi?id=83685
+
+ Reviewed by Kentaro Hara.
+
+ Remove the followings from input files:
+ - multi line comments /*...*/ (.js and .css)
+ - single line comment //... (.js)
+ - repeating whitespace (.js and .css)
+ - leading and trailing whitespace (.js and .css)
+ - empty lines (.js and .css)
+
+ This doesn't work for arbitrary JavaScript or CSS inputs, but
+ works well for expected input files like
+ css/make-css-file-arrays.pl
+
+ * make-file-arrays.py:
+ (strip_whitespace_and_comments):
+ (main):
+
+2012-04-12 Sailesh Agrawal <sail@chromium.org>
+
+ Chromium: Fix scrollbar tickmark drawing on Mountain Lion
+ https://bugs.webkit.org/show_bug.cgi?id=83844
+
+ Reviewed by James Robinson.
+
+ On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
+ Screenshots:
+ broken: http://i.imgur.com/PDKYH.png
+ fixed: http://i.imgur.com/utp0Y.png
+
+ * platform/chromium/ScrollbarThemeChromiumMac.mm:
+ (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
+ * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.
+
+2012-04-12 Kent Tamura <tkent@chromium.org>
+
+ LocalizedDateICU should ignore timezones
+ https://bugs.webkit.org/show_bug.cgi?id=83859
+
+ Reviewed by Hajime Morita.
+
+ udat_parse() and udat_format() shift the input date by the offset of the
+ default timezone. We don't need this behavior for type=date. So we
+ specify "GMT" to udat_open().
+
+ No new tests. This behavior depends on the timezone setting of the local machine.
+
+ * platform/text/LocalizedDateICU.cpp:
+ (WebCore::createShortDateFormatter):
+ Added. Common factory functio for UDateFormat. Use "GMT" instead of the
+ default timezone.
+ (WebCore::parseLocalizedDate): Use createShortDateFormatter().
+ (WebCore::formatLocalizedDate): ditto.
+
+2012-04-12 Adam Barth <abarth@webkit.org>
+
+ Prepare window.location for seamless navigation
+ https://bugs.webkit.org/show_bug.cgi?id=83843
+
+ Reviewed by Eric Seidel.
+
+ This patch refactors window.location to flow through
+ FrameLoader::findFrameForNavigation, which is where we're going to
+ implement the seamless navigation redirect. This patch shouldn't cause
+ any observable changes in behavior today, but it will make all the
+ seamless-window-location* tests in
+ https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
+ pass once we merge the seamlesss branch. See
+ https://github.com/eseidel/webkit/commit/a6e708fa6c643b156397e9a287b40a0868c7959c
+ for context.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::locationAccessorSetter):
+ * page/Location.cpp:
+ (WebCore::Location::setHref):
+ (WebCore::Location::setProtocol):
+ (WebCore::Location::setHost):
+ (WebCore::Location::setHostname):
+ (WebCore::Location::setPort):
+ (WebCore::Location::setPathname):
+ (WebCore::Location::setSearch):
+ (WebCore::Location::setHash):
+ (WebCore::Location::assign):
+ (WebCore::Location::replace):
+ (WebCore::Location::setLocation):
+ (WebCore):
+ * page/Location.h:
+ (Location):
+
+2012-04-12 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Background filters for composited layers
+ https://bugs.webkit.org/show_bug.cgi?id=80046
+
+ Reviewed by Adrienne Walker.
+
+ Adds background filters to LayerChromium/CCLayerImpl. These filters are
+ applied to any pixels in the contents behind the layer and seen through
+ it.
+
+ This is done by adding a backgroundTexture() to the render surface, which
+ holds the read-back contents of the target framebuffer, background filter
+ applied, in the surface's own coordinate space. Then this is drawn back
+ into the frame buffer before the contents of the surface itself is drawn.
+
+ Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html
+ platform/chromium/compositing/filters/background-filter-blur-outsets.html
+ platform/chromium/compositing/filters/background-filter-blur.html
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::setBackgroundFilters):
+ (WebCore):
+ (WebCore::LayerChromium::pushPropertiesTo):
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+ (WebCore::LayerChromium::backgroundFilters):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawBackgroundFilters):
+ (WebCore):
+ (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
+ (WebCore::LayerRendererChromium::getFramebufferTexture):
+ (WebCore::LayerRendererChromium::isCurrentRenderSurface):
+ (WebCore::LayerRendererChromium::useRenderSurface):
+ (WebCore::LayerRendererChromium::useManagedTexture):
+ (WebCore::LayerRendererChromium::bindFramebufferToTexture):
+ (WebCore::LayerRendererChromium::setScissorToRect):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromium):
+ * platform/graphics/chromium/RenderSurfaceChromium.h:
+ (WebCore::RenderSurfaceChromium::setBackgroundFilters):
+ (WebCore::RenderSurfaceChromium::backgroundFilters):
+ (RenderSurfaceChromium):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::setBackgroundFilters):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (CCLayerImpl):
+ (WebCore::CCLayerImpl::backgroundFilters):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::subtreeShouldRenderToSeparateSurface):
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::drawableContentRect):
+ (WebCore::CCRenderSurface::prepareBackgroundTexture):
+ (WebCore):
+ (WebCore::CCRenderSurface::releaseBackgroundTexture):
+ (WebCore::CCRenderSurface::computeDeviceTransform):
+ (WebCore::CCRenderSurface::computeDeviceBoundingBox):
+ (WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox):
+ (WebCore::CCRenderSurface::readbackDeviceContentRect):
+ (WebCore::copyTextureToFramebuffer):
+ (WebCore::CCRenderSurface::copyDeviceToBackgroundTexture):
+ (WebCore::getSkBitmapTextureId):
+ (WebCore::CCRenderSurface::drawContents):
+ (WebCore::CCRenderSurface::drawReplica):
+ (WebCore::CCRenderSurface::drawLayer):
+ (WebCore::CCRenderSurface::drawSurface):
+ (WebCore::CCRenderSurface::applyFilters):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (CCRenderSurface):
+ (WebCore::CCRenderSurface::setBackgroundFilters):
+ (WebCore::CCRenderSurface::backgroundFilters):
+ (WebCore::CCRenderSurface::backgroundTexture):
+ * testing/Internals.cpp:
+ (WebCore):
+ (WebCore::Internals::setBackgroundBlurOnNode):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-04-12 Adam Barth <abarth@webkit.org>
+
+ Remove V8DOMWindowShell::setLocation
+ https://bugs.webkit.org/show_bug.cgi?id=83833
+
+ Reviewed by Eric Seidel.
+
+ V8DOMWindowShell::setLocation is only used by document.location. It's
+ more direct for document.location to call Location::setHref directly.
+ This integrates correctly with the navigation rules for
+ <iframe seamless>.
+
+ (See https://github.com/eseidel/webkit/compare/master...seamless for
+ more context about the connection with seamless.)
+
+ Reviewed on GitHub:
+ https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore):
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::V8Document::locationAccessorSetter):
+
+2012-04-12 Levi Weintraub <leviw@chromium.org>
+
+ Prepare functions in LengthFunctions.h for LayoutUnits
+ https://bugs.webkit.org/show_bug.cgi?id=83726
+
+ Reviewed by Eric Seidel.
+
+ Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails
+ using and returning LayoutUnits instead of integers. There are a number of rendering
+ classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit
+ for details -- so this also adds integer-specific versions of the length functions for
+ explicit use in those classes.
+
+ No new tests. No change in behavior.
+
+ * css/LengthFunctions.h:
+ (WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions
+ of minimumValueForLength and valueForLength that truncate.
+ * css/LengthFunctions.cpp:
+ (WebCore):
+ * dom/Document.cpp:
+ (WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral.
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral.
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values.
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral.
+
+2012-04-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r114075.
+ http://trac.webkit.org/changeset/114075
+ https://bugs.webkit.org/show_bug.cgi?id=83857
+
+ Breaks compile (Requested by jamesr on #webkit).
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawYUV):
+ (WebCore::LayerRendererChromium::drawRGBA):
+ (WebCore::LayerRendererChromium::copyFrameToTextures):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp.
+ (WebCore):
+ (WebCore::VideoFrameChromium::~VideoFrameChromium):
+ * platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h.
+ (WebCore):
+ (VideoFrameChromium):
+ * platform/graphics/chromium/VideoFrameProvider.h:
+ (VideoFrameProvider):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
+ (WebCore::CCVideoDrawQuad::create):
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
+ (CCVideoDrawQuad):
+ (WebCore::CCVideoDrawQuad::frame):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore):
+ (WebCore::convertVFCFormatToGC3DFormat):
+ (WebCore::CCVideoLayerImpl::willDraw):
+ (WebCore::CCVideoLayerImpl::computeVisibleSize):
+ (WebCore::CCVideoLayerImpl::reserveTextures):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+
+2012-04-12 Adam Barth <abarth@webkit.org>
+
+ Use _self to represnet self-navigation, like in the HTML5 spec
+ https://bugs.webkit.org/show_bug.cgi?id=83834
+
+ Reviewed by Eric Seidel.
+
+ This patch aligns the internal state representation of the FrameLoader
+ more closely with the HTML5 spec. Both the null string and "_self"
+ represent self-navigation, but the HTML5 spec distinguishes them when
+ navigating seamless iframes. In that case, "_self" is explicit
+ self-navigation, whereas a null string will get redirected to the
+ "master" frame (the closest enclosing non-seamless frame).
+
+ This patch shouldn't have any observable behavior changes, but it will
+ be useful when we merge in the seamless branch from GitHub.
+ (See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523
+ which contains this change.)
+
+ Once the seamless branch lands, this change will be tested by a number
+ of tests in
+ https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
+ including seamless-hyperlink.html.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadURLIntoChildFrame):
+ (WebCore::FrameLoader::loadURL):
+
+2012-04-12 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
+ https://bugs.webkit.org/show_bug.cgi?id=83851
+
+ Reviewed by Adam Barth.
+
+ Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
+ Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
+ width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
+
+ Covered by existing media/ and compositing/ layout tests.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawYUV):
+ (WebCore::LayerRendererChromium::drawRGBA):
+ (WebCore::LayerRendererChromium::copyFrameToTextures):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/VideoFrameProvider.h:
+ (VideoFrameProvider):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
+ (WebCore::CCVideoDrawQuad::create):
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
+ (WebKit):
+ (CCVideoDrawQuad):
+ (WebCore::CCVideoDrawQuad::frame):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore):
+ (WebCore::convertVFCFormatToGC3DFormat):
+ (WebCore::CCVideoLayerImpl::willDraw):
+ (WebCore::videoFrameDimension):
+ (WebCore::hasPaddingBytes):
+ (WebCore::CCVideoLayerImpl::computeVisibleSize):
+ (WebCore::CCVideoLayerImpl::reserveTextures):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (WebKit):
+
+2012-04-12 Alexey Proskuryakov <ap@apple.com>
+
+ REGRESSION (r113900): Text tests started failing
+ https://bugs.webkit.org/show_bug.cgi?id=83724
+
+ Reviewed by Dan Bernstein.
+
+ * Resources/DefaultFonts.plist.in: Use serif fonts for standard family again,
+ and updated the list with better fonts for Japanese.
+
+2012-04-12 Alexey Proskuryakov <ap@apple.com>
+
+ Preprocessing text files with modern clang treats double slashes in comments
+ https://bugs.webkit.org/show_bug.cgi?id=83827
+
+ Reviewed by Mark Rowe.
+
+ * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
+
+2012-04-12 David Dorwin <ddorwin@chromium.org>
+
+ Add Encrypted Media Extensions events and errors to HTMLMediaElement
+ https://bugs.webkit.org/show_bug.cgi?id=82974
+
+ Reviewed by Adam Barth.
+
+ The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
+ Implementation is based on v0.1 of the draft proposal at
+ http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events.
+
+ Tests: fast/events/constructors/media-key-event-constructor.html
+ media/encrypted-media/encrypted-media-constants.html
+ media/encrypted-media/encrypted-media-events.html
+
+ * WebCore.gypi:
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::get):
+ (WebCore):
+ * bindings/v8/Dictionary.h:
+ (WebCore):
+ (Dictionary):
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/EventNames.in:
+ * html/HTMLAttributeNames.in:
+ * html/HTMLMediaElement.cpp:
+ (WebCore):
+ (WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
+ (WebCore::HTMLMediaElement::mediaPlayerKeyError):
+ (WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
+ (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
+ * html/HTMLMediaElement.h:
+ (HTMLMediaElement):
+ * html/HTMLMediaElement.idl:
+ * html/MediaError.h:
+ * html/MediaError.idl:
+ * html/MediaKeyError.h: Added.
+ (WebCore):
+ (MediaKeyError):
+ (WebCore::MediaKeyError::create):
+ (WebCore::MediaKeyError::code):
+ (WebCore::MediaKeyError::MediaKeyError):
+ * html/MediaKeyError.idl: Added.
+ * html/MediaKeyEvent.cpp: Added.
+ (WebCore):
+ (WebCore::MediaKeyEventInit::MediaKeyEventInit):
+ (WebCore::MediaKeyEvent::MediaKeyEvent):
+ (WebCore::MediaKeyEvent::~MediaKeyEvent):
+ (WebCore::MediaKeyEvent::interfaceName):
+ * html/MediaKeyEvent.h: Added.
+ (WebCore):
+ (MediaKeyEventInit):
+ (MediaKeyEvent):
+ (WebCore::MediaKeyEvent::create):
+ (WebCore::MediaKeyEvent::keySystem):
+ (WebCore::MediaKeyEvent::sessionId):
+ (WebCore::MediaKeyEvent::initData):
+ (WebCore::MediaKeyEvent::message):
+ (WebCore::MediaKeyEvent::defaultURL):
+ (WebCore::MediaKeyEvent::errorCode):
+ (WebCore::MediaKeyEvent::systemCode):
+ * html/MediaKeyEvent.idl: Added.
+ * page/DOMWindow.idl:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore):
+ (WebCore::MediaPlayer::keyAdded):
+ (WebCore::MediaPlayer::keyError):
+ (WebCore::MediaPlayer::keyMessage):
+ (WebCore::MediaPlayer::keyNeeded):
+ * platform/graphics/MediaPlayer.h:
+ (MediaPlayerClient):
+ (WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
+ (WebCore::MediaPlayerClient::mediaPlayerKeyError):
+ (WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
+ (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
+ (MediaPlayer):
+
+2012-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reset the user preferred language overrides in Internals::reset
+ https://bugs.webkit.org/show_bug.cgi?id=83845
+
+ Reviewed by Ryosuke Niwa.
+
+ We don't want setting the language override in one test to affect subsequent tests,
+ so make sure to reset it in Internals::reset.
+
+ * testing/Internals.cpp:
+ (WebCore::Internals::reset):
+
+2012-04-12 Andrey Kosyakov <caseq@chromium.org>
+
+ [chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite()
+ https://bugs.webkit.org/show_bug.cgi?id=83837
+
+ Reviewed by James Robinson.
+
+ - merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite()
+
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated.
+ (WebCore::CCSingleThreadProxy::compositeImmediately): ditto.
+ (WebCore::CCSingleThreadProxy::commitAndComposite):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+
+2012-04-12 Nate Chapin <japhet@chromium.org>
+
+ Remove FrameLoader:m_isLoadingMainResource, since it is always
+ false at the only point it is checked.
+ https://bugs.webkit.org/show_bug.cgi?id=83819
+
+ Reviewed by Adam Barth.
+
+ No new tests, no functionality change intended.
+
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached.
+ * loader/DocumentWriter.h:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource.
+
+2012-04-12 Rob Buis <rbuis@rim.com>
+
+ XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox
+ https://bugs.webkit.org/show_bug.cgi?id=83432
+
+ Reviewed by Ryosuke Niwa.
+
+ Serialize the xml declaration exactly as parsed, if present in the document.
+
+ Test: fast/dom/dom-parse-serialize-xmldecl.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no.
+ * dom/Document.h:
+ (WebCore::Document::xmlStandalone):
+ (WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no.
+ (WebCore::Document::hasXMLDeclaration): test if xml declaration is present.
+ (WebCore::Document::setHasXMLDeclaration):
+ (Document):
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present.
+ (WebCore):
+ (WebCore::MarkupAccumulator::appendStartMarkup):
+ * editing/MarkupAccumulator.h:
+ (MarkupAccumulator):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
+
+2012-04-12 Adam Barth <abarth@webkit.org>
+
+ window.open should prepare for seamless navigation by using findFrameForNavigation
+ https://bugs.webkit.org/show_bug.cgi?id=83835
+
+ Reviewed by Ryosuke Niwa.
+
+ Before this patch, window.open called FrameTree::find and
+ Document::canNavigate separately. This patch refactors the code to
+ call FrameLoader::findFrameForNavigation, which does both. This
+ refactoring prepares window.open to understand seamless navigation,
+ which will happen in findFrameForNavigation.
+
+ This patch should have no behavior change today, but once we merge the
+ seamless branch, this change will be tested by
+ https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html
+
+ See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context.
+
+ * WebCore.exp.in:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::findFrameForNavigation):
+ (WebCore::createWindow):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+
+2012-04-12 Andy Estes <aestes@apple.com>
+
+ REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
+ https://bugs.webkit.org/show_bug.cgi?id=83832
+
+ Reviewed by Alexey Proskuryakov.
+
+ Shipping versions of iAd Producer rely on the pre-r102262 behavior of
+ respecting '!important' when specified in a CSSStyleDeclaration
+ property setter. Restore this quirky behavior for versions of the app
+ that expect it.
+
+ * WebCore.exp.in: Export
+ Settings::setShouldRespectPriorityInCSSAttributeSetters().
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::putDelegate): If
+ setShouldRespectPriorityInCSSAttributeSetters() is true, restore the
+ pre-r102262 behavior wherein we attempt to parse '!important' out of
+ the property value.
+ * page/Settings.cpp:
+ (WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters):
+ (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
+ * page/Settings.h:
+
+2012-04-12 Alexandru Chiculita <achicu@adobe.com>
+
+ REGRESSION(112745) [CSS Filters] Memory use explosion for offscreen filtered elements
+ https://bugs.webkit.org/show_bug.cgi?id=83815
+
+ Reviewed by Simon Fraser.
+
+ The filtered area used to be the dirty rect intersected by the bounding box of the
+ layer. During a previous change that behavior was lost, so adding it back now.
+
+ Also, removing the memory buffers used to compute filters after the filter is computed.
+ They are deleted next time the filter is applied anyway, so there's no need to keep the
+ memory for them.
+
+ Test: css3/filters/offscreen-filters-memory-usage.html
+
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::prepare):
+ (WebCore):
+ (WebCore::FilterEffectRenderer::clearIntermediateResults):
+ (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
+ (WebCore::FilterEffectRendererHelper::applyFilterEffect):
+ * rendering/FilterEffectRenderer.h:
+ (FilterEffectRenderer):
+
+2012-04-12 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Build fix after addition of openTypeTable.
+
+ * platform/graphics/FontPlatformData.h:
+ (FontPlatformData): The openTypeTable declaration is needed
+ for WinCairo as well.
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore):
+ (WebCore::FontPlatformData::openTypeTable): The implementation
+ of openTypeTable is needed for non-CG builds.
+
+2012-04-12 Balazs Kelemen <kbalazs@webkit.org>
+
+ [Qt] Fix WebKit1 build with V8
+ https://bugs.webkit.org/show_bug.cgi?id=83322
+
+ Reviewed by Adam Barth.
+
+ Make it possible to build WebKit1 with v8.
+ WebKit2 is not covered yet so it need to be disabled.
+ To build webkit with --v8 one need a qtjsbackend with
+ an up-to-date copy of v8. Thanks to Peter Varga such
+ a public repository is available on gitorious:
+ https://qt.gitorious.org/~stampho/qt/stamphos-qtjsbackend.
+
+ This patch contains some build fix with !ENABLE(INSPECTOR)
+ from it's previous version. These are not necessary now
+ but I kept them because they makes sense.
+
+ No change in behaviour so no new tests.
+
+ * DerivedSources.pri:
+ * Target.pri:
+ * WebCore.pri:
+ * bindings/v8/ScriptController.cpp:
+ * bindings/v8/ScriptControllerQt.cpp:
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::retainedDOMInfo):
+ (WebCore::ScriptProfiler::initialize):
+ * bindings/v8/ScriptState.cpp:
+ (WebCore::evalEnabled):
+ (WebCore::setEvalEnabled):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore):
+ * bindings/v8/V8Binding.h:
+ (V8BindingPerIsolateData):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initContextIfNeeded):
+ * bindings/v8/V8GCForContextDispose.cpp:
+ (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
+ * bindings/v8/custom/V8InjectedScriptManager.cpp:
+ * config.h:
+ * editing/TextIterator.cpp:
+ * html/MediaFragmentURIParser.cpp:
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ * platform/qt/PlatformSupportQt.cpp:
+ (WebCore::PlatformSupport::popupsAllowed):
+
+2012-04-12 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Refactor cursor iteration to remove duplicate code
+ https://bugs.webkit.org/show_bug.cgi?id=83302
+
+ Reviewed by Ojan Vafai.
+
+ No new tests, no behavior changes.
+
+ * Modules/indexeddb/IDBBackingStore.h:
+ (Cursor):
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore):
+
+2012-04-12 Erik Arvidsson <arv@chromium.org>
+
+ Add support for [ArrayClass] and use that on NodeList
+ https://bugs.webkit.org/show_bug.cgi?id=
+
+ Reviewed by Adam Barth.
+
+ Attempt to reland r113931. Now with more updated test expectations.
+
+ With this patch NodeLists now have Array.prototype on their prototype chain which allows
+ methods such as forEach and map to work on NodeLists.
+
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
+
+ For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
+ does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
+ set when the constructor is created.
+
+ For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
+ a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
+ causes test failures in the tests until that has been fixed.
+
+ Test: fast/dom/NodeList/node-list-array-class.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
+ (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
+ * bindings/scripts/IDLAttributes.txt:: Adds new attribute: ArrayClass.
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::createPrototype):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8BindingPerContextData.cpp:
+ (WebCore::V8BindingPerContextData::init): Get the array prototype too.
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
+ set the `[[Prototype]]`.
+ * bindings/v8/V8BindingPerContextData.h:
+ (V8BindingPerContextData):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * dom/NodeList.idl:
+
+2012-04-12 Konrad Piascik <kpiascik@rim.com>
+
+ [BlackBerry] Web Inspector cookie expiry is showing the wrong date.
+ https://bugs.webkit.org/show_bug.cgi?id=83814
+
+ Reviewed by Rob Buis.
+
+ The internal representation for expiry is seconds, we need to convert it
+ to milliseconds by multiplying by 1000.
+
+ The value from this method doesn't get used anywhere except Web Inspector.
+ Manually tested with Web Inspector by examining the CookieItemView in the Resources Panel.
+
+ * platform/blackberry/ParsedCookie.cpp:
+ (WebCore::ParsedCookie::appendWebCoreCookie):
+
+2012-04-12 Adam Klein <adamk@chromium.org>
+
+ Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
+ https://bugs.webkit.org/show_bug.cgi?id=82256
+
+ Reviewed by Kentaro Hara.
+
+ This is an attempt to reland r112318, which was rolled out due to suspicion of OOM issues.
+
+ I've landed the refactoring bits of r112318 as separate changes,
+ so that this patch contains only the change in which map setter is called.
+
+ Binding tests have been updated with new output.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateToV8Converters): Call appropriate V8DOMWrapper::setJSWrapperFor*
+ to set up wrapper mapping and remove call to leakRef() which is handled
+ in V8DOMWrapper.
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+
+2012-04-12 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=83817
+
+ This patch modifies RenderText so that it scans all of its characters up front to
+ determine whether or not the simple code path can be used for measurement/rendering
+ of the text for the whole run.
+
+ TextRun now has an additional field that indicates that the character scan is not
+ required, since the entire RenderText is known to be simple. This boolean is set
+ when constructing the TextRun from the places that make TextRuns from RenderTexts.
+
+ The character scan has been refactored into a static Font method so that it can be
+ called by RenderText. The scan of individual TextRuns is also done using the same method
+ so that the code is shared.
+
+ Reviewed by Dan Bernstein.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::codePath):
+ (WebCore::Font::characterRangeCodePath):
+ * platform/graphics/Font.h:
+ * platform/graphics/TextRun.h:
+ (WebCore::TextRun::TextRun):
+ (WebCore::TextRun::characterScanForCodePath):
+ (WebCore::TextRun::setCharacterScanForCodePath):
+ (TextRun):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::constructTextRun):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::textWidth):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+ (WebCore::RenderText::widthFromCache):
+ (WebCore::RenderText::setTextInternal):
+ (WebCore::RenderText::width):
+ (WebCore::RenderText::computeCanUseSimpleFontCodePath):
+ (WebCore):
+ * rendering/RenderText.h:
+ (RenderText):
+ (WebCore::RenderText::canUseSimpleFontCodePath):
+
+2012-04-12 Levi Weintraub <leviw@chromium.org>
+
+ Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage
+ https://bugs.webkit.org/show_bug.cgi?id=83803
+
+ Reviewed by Eric Seidel.
+
+ AccessibilityObject::size was virtual with a number of overloads, but all the implementations were
+ redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only
+ implementing it in AccessibilityObject.
+
+ Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform
+ accessibility code.
+
+ No new tests. No change in behavior.
+
+ * accessibility/AccessibilityMenuListOption.h:
+ (WebCore::AccessibilityMenuListOption::canHaveChildren):
+ * accessibility/AccessibilityMenuListPopup.h:
+ (WebCore::AccessibilityMenuListPopup::elementRect):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::size):
+ (WebCore::AccessibilityObject::pixelSnappedSize):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore):
+ * accessibility/AccessibilitySlider.h:
+ (AccessibilitySliderThumb):
+ * accessibility/AccessibilityTableColumn.cpp:
+ (WebCore):
+ * accessibility/AccessibilityTableColumn.h:
+ (AccessibilityTableColumn):
+ * accessibility/AccessibilityTableHeaderContainer.cpp:
+ (WebCore):
+ * accessibility/AccessibilityTableHeaderContainer.h:
+ (AccessibilityTableHeaderContainer):
+ * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
+ (webkitAccessibleComponentGetExtents):
+ * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
+ (webkitAccessibleImageGetImagePosition):
+ (webkitAccessibleImageGetImageSize):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper position]):
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2012-04-12 Anna Cavender <annacc@chromium.org>
+
+ Update HTMLMediaElement's index of cues when TextTrack.mode changes to
+ and from TextTrack::DISABLED.
+ https://bugs.webkit.org/show_bug.cgi?id=83377
+
+ Reviewed by Eric Carlson.
+
+ No new tests. Instead updated media/track/track-mode.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::textTrackModeChanged):
+ Add the track's cues to the index when the mode changes to HIDDEN or SHOWING.
+
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::textTrackRemoveCues):
+ Fix a copy pasta error.
+
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::setMode):
+ Remove the track's cues from the index when the mode changes to DISABLED.
+
+2012-04-12 Cem Kocagil <cem.kocagil@gmail.com>
+
+ Allow certain Char events in fullscreen
+ https://bugs.webkit.org/show_bug.cgi?id=83330
+
+ Reviewed by Alexey Proskuryakov.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::isKeyEventAllowedInFullScreen):
+
+2012-04-12 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Attributes for a cursor "run past the end" should be undefined.
+ https://bugs.webkit.org/show_bug.cgi?id=83492
+
+ Reviewed by Ojan Vafai.
+
+ This brings us up to spec with respect to when it's ok to call
+ cursor.continue() and the various behaviors around it:
+
+ If you call it more than once, continue() throws an exception.
+
+ The values of key/primaryKey/value are consistent, whether or not
+ continue has been called, meaning that if continue() results in
+ data being loaded from the backing store, that data does not
+ affect the cursor until the success callback has completed.
+
+ Calls to update() and delete() can happen before continue(), but
+ not afterwards.
+
+ Test: storage/indexeddb/cursor-continue-validity.html
+
+ * Modules/indexeddb/IDBCursor.cpp:
+ (WebCore::IDBCursor::IDBCursor):
+ (WebCore::IDBCursor::key):
+ (WebCore::IDBCursor::primaryKey):
+ (WebCore::IDBCursor::value):
+ (WebCore::IDBCursor::update):
+ (WebCore::IDBCursor::continueFunction):
+ (WebCore::IDBCursor::deleteFunction):
+ (WebCore::IDBCursor::setGotValue):
+ (WebCore):
+ * Modules/indexeddb/IDBCursor.h:
+ (IDBCursor):
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ (WebCore::IDBRequest::dispatchEvent):
+
+2012-04-12 Eric Carlson <eric.carlson@apple.com>
+
+ Media engine should not be told to prepare for playback if media loading is not allowed
+ https://bugs.webkit.org/show_bug.cgi?id=83620
+
+ Reviewed by Dan Bernstein.
+
+ Test: media/video-load-require-user-gesture.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from
+ Internals to be with the rest of the Internals methods that expose preferences.
+ * testing/InternalSettings.h:
+ * testing/InternalSettings.idl:
+
+ * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings.
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
+2012-04-12 Bear Travis <betravis@adobe.com>
+
+ [CSS Exclusions] Add flag to enable / disable exclusions at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=83313
+
+ Reviewed by Ryosuke Niwa.
+
+ Adding setCSSExclusionsEnabled/cssExclusionsEnabled that is true by default.
+ The CSS parser will not accept values for the exclusions properties when
+ cssExclusionsEnabled is false. However, you will still get the default value
+ in the computed style.
+
+ Test: fast/exclusions/css-exclusions-disabled.html
+
+ * WebCore.exp.in:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
+ (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
+ (RuntimeEnabledFeatures):
+ * css/CSSParser.cpp:
+ (WebCore::isSimpleLengthValue):
+ (WebCore::isValidKeywordPropertyAndValue):
+ (WebCore::CSSParser::parseValue):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::InternalSettings):
+ (WebCore::InternalSettings::restoreTo):
+ (WebCore::InternalSettings::setCSSExclusionsEnabled):
+ (WebCore):
+ * testing/InternalSettings.h:
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-04-12 Nate Chapin <japhet@chromium.org>
+
+ Move Archive processing to DocumentLoader, instead of FrameLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=83055
+
+ Reviewed by Adam Barth.
+
+ No new tests, no functionality change intended.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
+ FrameLoader::finishedLoadingDocument(). Returns true if an archive
+ was created.
+ (WebCore::DocumentLoader::setArchive):
+ (WebCore::DocumentLoader::scheduleArchiveLoad):
+ (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
+ should be returned, so that we don't need special handling in Document and
+ FrameLoader for overriding the document url later.
+ * loader/DocumentLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
+ DocumentLoader::documentURL() will return the right thing for legacy archives
+ and maybeCreateArchive() will override the base url for mhtml.
+ (WebCore::FrameLoader::loadArchive):
+ * loader/FrameLoader.h:
+
+2012-04-12 Dmitry Lomov <dslomov@google.com>
+
+ REGRESSION (r113233): fast/canvas/webgl/array-message-passing.html crashing on Lion and Snow Leopard bots.
+ https://bugs.webkit.org/show_bug.cgi?id=83427.
+ Due to incorrect merge by me when landing r113233, call to find got replaces with call to add in
+ checking for duplicates in ObjectPool when serializing.
+
+ Reviewed by Dean Jackson.
+
+ Covered by existing tests.
+
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::checkForDuplicate):
+
+2012-04-12 David Barton <dbarton@mathscribe.com>
+
+ Don't modify shared style objects in RenderMathMLRoot.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=83736
+
+ Reviewed by Julien Chaffraix.
+
+ To leave room for the radical sign and absolutely positioned "index", we switch to using
+ intrinsic padding. RenderMathMLRoot.cpp is also cleaned up and prepared for merging with
+ RenderMathMLSquareRoot.cpp. The base and index are no longer wrapped in extra renderers,
+ and the child renderers are now in the same order as in the DOM. Some padding/placement
+ terms are unified and debugged.
+
+ Tested by existing tests in roots.xhtml.
+
+ * css/mathml.css:
+ (mroot):
+ (mroot > * + *):
+ (mroot > * + mrow, mroot > * + mfenced):
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore):
+ (WebCore::RenderMathMLRoot::index):
+ (WebCore::RenderMathMLRoot::paint):
+ (WebCore::RenderMathMLRoot::layout):
+ * rendering/mathml/RenderMathMLRoot.h:
+ (RenderMathMLRoot):
+ * rendering/mathml/RenderMathMLSquareRoot.cpp:
+ (WebCore):
+ (WebCore::RenderMathMLSquareRoot::paint):
+
+2012-04-12 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * page/mac/SettingsMac.mm:
+ (WebCore::defaultFontFamilyDictionary):
+
+2012-04-12 Antti Koivisto <antti@apple.com>
+
+ Remove style sheet argument from StyleRuleImport constructor
+ https://bugs.webkit.org/show_bug.cgi?id=83740
+
+ Reviewed by Andreas Kling.
+
+ The style sheet is set when the rule is added to one. The parser does not need to know about it.
+
+ * css/CSSImportRule.cpp:
+ (WebCore::StyleRuleImport::StyleRuleImport):
+ * css/CSSImportRule.h:
+ (StyleRuleImport):
+ (WebCore::StyleRuleImport::setParentStyleSheet):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createImportRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::StyleSheetInternal::parserAppendRule):
+ (WebCore::StyleSheetInternal::wrapperInsertRule):
+
+2012-04-12 Alexey Proskuryakov <ap@apple.com>
+
+ REGRESSION (r113900): In nightly builds, Safari Webpage Preview Fetcher crashes in Settings::initializeDefaultFontFamilies() due to uncaught exception (sandbox preventing access to fonts plist)
+ https://bugs.webkit.org/show_bug.cgi?id=83792
+ <rdar://problem/11234002>
+
+ Reviewed by Dan Bernstein.
+
+ * page/mac/SettingsMac.mm: (WebCore::defaultFontFamilyDictionary): Bail out without setting
+ font preferences if the process doesn't have read access to WebCore.framework.
+
+2012-04-12 Eli Fidler <efidler@rim.com>
+
+ [BlackBerry] Set up default fonts for BlackBerry
+ https://bugs.webkit.org/show_bug.cgi?id=83775
+
+ Reviewed by Antonio Gomes.
+
+ * PlatformBlackBerry.cmake:
+ * page/Settings.cpp:
+ (WebCore):
+ * page/blackberry/SettingsBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::Settings::initializeDefaultFontFamilies):
+
+2012-04-12 Jon Lee <jonlee@apple.com>
+
+ Implement Dictionary.h on mac (83472)
+ https://bugs.webkit.org/show_bug.cgi?id=83472
+ <rdar://problem/11209766>
+
+ Reviewed by Kentaro Hara.
+
+ A difference between Dictionary and JSDictionary makes it difficult to merge the two together and avoid
+ creating a confusing API. The boolean returned by Dictionary::get() represents whether the
+ property was found. The boolean returned by JSDictionary::tryGetProperty() represents whether an
+ exception was thrown.
+
+ * WebCore.xcodeproj/project.pbxproj: Add Dictionary.h and Dictionary.cpp.
+
+ * bindings/js/Dictionary.cpp: Added.
+ (WebCore::Dictionary::Dictionary):
+ (WebCore::Dictionary::get):
+ * bindings/js/Dictionary.h: Leverage JSDictionary's functionality to obtain the data.
+ (WebCore::Dictionary::isObject): Mark an unimplemented.
+ (WebCore::Dictionary::isUndefinedOrNull): Mark an unimplemented.
+ (WebCore::Dictionary::getWithUndefinedOrNullCheck): Mark an unimplemented.
+
+ * bindings/js/JSDictionary.cpp:
+ (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
+ * bindings/js/JSDictionary.h:
+ (WebCore::JSDictionary::isValid):
+ (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
+ (WebCore::JSDictionary::get): Similar to tryGetProperty(), but returns true if the
+ property was found, converting the value succeeded and the out parameter "result" was set.
+ (WebCore::JSDictionary::tryGetPropertyAndResult): Refactor tryGetProperty() to return the enum directly.
+
+ Change bindings scripts to use Dictionary constructor.
+ * bindings/js/IDBBindingUtilities.cpp: Remove createDictionaryFromValue().
+ * bindings/js/IDBBindingUtilities.h: Remove createDictionaryFromValue().
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative): Update to remove IDBBindingUtilities.h dependency, and use Dictionary constructor.
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionOptionsObject): Update expected generated output.
+
+2012-04-12 Sami Kyostila <skyostil@chromium.org>
+
+ [chromium] Fix threaded compositor HUD crash
+ https://bugs.webkit.org/show_bug.cgi?id=83778
+
+ Reviewed by James Robinson.
+
+ Don't try to read font metrics in threaded compositing mode, since we
+ currently can't render HUD text with the threaded compositor.
+
+ HUD is not testable in WebKit.
+
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+
+2012-04-11 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: zoom timeline frame on dblclick on the frame bar
+ https://bugs.webkit.org/show_bug.cgi?id=83741
+
+ Reviewed by Pavel Feldman.
+
+ - put timeline frame bars into a container, so we can have one listener;
+ - upon dblclick, find the frame, get its window coordinates and set overview selection window accordingly.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): Get frame coordinates, set overview window.
+ (WebInspector.TimelineVerticalOverview.prototype.update): Maintain framesPerBar as a member for reuse in getFramePosition()
+ (WebInspector.TimelineVerticalOverview.prototype.framePosition): Map frame to screen positions.
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars): Factored out barNumberToScreenPosition()
+ (WebInspector.TimelineVerticalOverview.prototype._barNumberToScreenPosition):
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): Drive-by style fix.
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateFrames): Put frames into a containing div.
+ (WebInspector.TimelinePanel.prototype._onFrameDoubleClicked): Zoom to frame upon double click.
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-frame-container):
+
+2012-04-11 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: show wall time frame duration on the vertical overview
+ https://bugs.webkit.org/show_bug.cgi?id=83718
+
+ Reviewed by Pavel Feldman.
+
+ - show frame duration as a contour of the frame bar in vertical overview;
+ - when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority;
+ - add Array.prototype.qselect() for the above;
+ - factor our partition algorithm onto Array.prototype for better reuse;
+
+ * inspector/front-end/PartialQuickSort.js: factor out partition()
+ (Object.defineProperty.):
+ (Object.defineProperty):
+ * inspector/front-end/TimelineFrameController.js:
+ (WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration.
+ (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineVerticalOverview):
+ (WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone.
+ (WebInspector.TimelineVerticalOverview.prototype.update): ditto.
+ (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory.
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory.
+ (WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto.
+ * inspector/front-end/externs.js: Added annotations for partition() and qselect()
+ (Array.prototype.partition):
+ (Array.prototype.qselect):
+ * inspector/front-end/utilities.js:
+ (.):
+
+2012-04-12 David Barr <davidbarr@chromium.org>
+
+ Optimize non-rounded double border rendering to avoid transparency layers
+ https://bugs.webkit.org/show_bug.cgi?id=83745
+
+ Reviewed by Simon Fraser.
+
+ No functional change, painting optimization only.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBorder):
+
+2012-04-12 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reduce the use of RenderLayer outside of the rendering code
+ https://bugs.webkit.org/show_bug.cgi?id=83728
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/layers/scrollByLines-overflow-no-layer.html
+
+ This is mostly a layering violation change. This changes reduces the number of
+ RenderLayer use outside rendering/ by a third but there are still numerous uses.
+
+ While auditing the different uses of RenderLayer, I found a potential crasher
+ and fixed it which is why we have a test case.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ (WebCore::Document::handleZeroPadding):
+ (WebCore::nodeFromPoint):
+ (WebCore::Document::prepareMouseEvent):
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::contains):
+ * page/DragController.cpp:
+ (WebCore::elementUnderMouse):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+ (WebCore::EventHandler::eventMayStartDrag):
+ (WebCore::EventHandler::updateSelectionForMouseDrag):
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::handleWheelEvent):
+ (WebCore::EventHandler::hoverTimerFired):
+ (WebCore::EventHandler::handleDrag):
+ Updated these call sites to use RenderView::hitTest.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::contentsInCompositedLayer):
+ (WebCore::FrameView::scrollContentsFastPath):
+ Updated these call sites to use RenderObject::isComposited().
+
+ * dom/Element.cpp:
+ (WebCore::Element::scrollByUnits):
+ Call directly RenderBox::scroll instead of calling the layer.
+ This actually fixes a crasher that slipped through the cracks.
+
+ * editing/visible_units.cpp:
+ * html/shadow/TextControlInnerElements.cpp:
+ * page/ContextMenuController.cpp:
+ * page/FocusController.cpp:
+ * page/Frame.cpp:
+ * page/GestureTapHighlighter.cpp:
+ * page/PrintContext.cpp:
+ * plugins/mac/PluginViewMac.mm:
+ Removed unneeded #include.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/qt/PluginViewQt.cpp:
+ Replaced RenderLayer.h #include with RenderObject.h as
+ we use RenderObject::absoluteToLocal.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::isComposited):
+ * rendering/RenderObject.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::hitTest):
+ * rendering/RenderView.h:
+ Added 2 new functions that pipe through the RenderLayer.
+
+2012-04-12 Pravinin D <pravind.2k4@gmail.com>
+
+ font-size:0 text runs has non zero width in case of Windows Safari.
+ https://bugs.webkit.org/show_bug.cgi?id=83559
+
+ Reviewed by Dan Bernstein.
+
+ Test case already exits.
+ LayoutTest/fast/text/font-size-zero.html
+
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore):
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2012-04-12 Alexei Filippov <alexeif@chromium.org>
+
+ Web Inspector: Move meta node out of nodes in snapshot serialization.
+ https://bugs.webkit.org/show_bug.cgi?id=83701
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ (WebInspector.HeapSnapshot):
+
+2012-04-12 Yael Aharon <yael.aharon@nokia.com>
+
+ [Qt][WK2] Nested fixed elements scroll too fast
+ https://bugs.webkit.org/show_bug.cgi?id=83720
+
+ Reviewed by Noam Rosenthal.
+
+ Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position.
+ If it does, do not set scrollPositionDelta.
+ Added a flag to TextureMapperLayer and GraphicsLayerTextureMapper indicating if it is a fixed position layer.
+
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
+ (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
+ (WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
+ (WebCore::GraphicsLayerTextureMapper::fixedToViewport):
+ (GraphicsLayerTextureMapper):
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::syncCompositingStateSelf):
+ (WebCore::TextureMapperLayer::isAncestorFixedToViewport):
+ (WebCore):
+ (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (TextureMapperLayer):
+ (WebCore::TextureMapperLayer::setFixedToViewport):
+
+2012-04-12 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Revert the patch for 82764
+ https://bugs.webkit.org/show_bug.cgi?id=83767
+
+ Reviewed by Rob Buis.
+
+ Revert the patch for 82764, which is causing misfunction.
+ The internal commit is: 800213f5
+
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::platformGetValue):
+ (WebCore::PluginView::platformDestroy):
+ * plugins/blackberry/PluginViewPrivateBlackBerry.h:
+ (PluginViewPrivate):
+
+2012-04-12 Kent Tamura <tkent@chromium.org>
+
+ [Chromium] Enable INPUT_TYPE_DATE
+ https://bugs.webkit.org/show_bug.cgi?id=83761
+
+ Reviewed by Kentaro Hara.
+
+ * html/DateInputType.cpp:
+ Touch it to avoid build issues. No code changes.
+ * html/DateInputType.h: ditto.
+ * html/InputType.cpp: ditto.
+
+2012-04-12 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: annotate the rest of profiler front-end for closure compiler
+ https://bugs.webkit.org/show_bug.cgi?id=83781
+
+ All remaining Profiler front-end files are annotated for closure compiler.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CSSSelectorProfileView.js:
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotWorkerWrapper):
+ (WebInspector.HeapSnapshotWorkerWrapper.prototype.postMessag):
+ (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
+ (WebInspector.HeapSnapshotWorker):
+ (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
+ (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
+ * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
+ * inspector/front-end/TopDownProfileDataGridTree.js:
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
+ * inspector/front-end/externs.js:
+ (addEventListener):
+
+2012-04-12 Sam D <dsam2912@gmail.com>
+
+ Web Inspector: Node Value should not get corrupt while jump over different matches in search.
+ https://bugs.webkit.org/show_bug.cgi?id=83758
+
+ The order in which updateEntryHide is called for cached
+ highlightResults is changed in "last changed first corrected" order to preserve the semantic of node.
+
+ Reviewed by Pavel Feldman.
+
+ No new tests required.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):
+
+2012-03-05 Pierre Rossi <pierre.rossi@gmail.com>
+
+ [Qt] Use QRawFont when building with Qt 5
+ https://bugs.webkit.org/show_bug.cgi?id=78001
+
+ Up until now, fonts in the Qt port have been handled via
+ the QFont API. QRawFont offers a lower-level API enabling
+ us to be more in line with what other WebKit ports do.
+ This patch proceeds to switching over to QRawFont, and
+ effectively use an earlier change by Andreas Kling
+ that remained guarded up until now.
+
+ Reviewed by Simon Hausmann.
+
+ No new tests since this is refactoring of existing
+ functionality.
+
+ * Target.pri:
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::drawText):
+ * platform/graphics/Font.h:
+ (Font):
+ (WebCore):
+ (WebCore::Font::syntheticFont): Added.
+ * platform/graphics/SimpleFontData.h:
+ (SimpleFontData):
+ (WebCore::SimpleFontData::getQtRawFont):
+ (WebCore):
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::rawFontForCharacters):
+ (WebCore):
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::createFontPlatformData):
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ (FontCustomPlatformData):
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ (WebCore::createFontCustomPlatformData):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
+ (FontPlatformDataPrivate):
+ (FontPlatformData):
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore):
+ (WebCore::FontPlatformData::operator==):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::fillPenForContext):
+ (WebCore::pathForGlyphs):
+ (WebCore::drawQtGlyphRun):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::initFormatForTextLayout):
+ (WebCore):
+ (WebCore::Font::drawGlyphs):
+ (WebCore::Font::syntheticFont):
+ (WebCore::Font::rawFont):
+ * platform/graphics/qt/FontQt4.cpp: Copied from Source/WebCore/platform/graphics/qt/FontQt.cpp.
+ (WebCore):
+ (WebCore::fromRawDataWithoutRef):
+ (WebCore::setupLayout):
+ (WebCore::fillPenForContext):
+ (WebCore::strokePenForContext):
+ (WebCore::drawTextCommon):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::canReturnFallbackFontsForComplexText):
+ (WebCore::Font::drawEmphasisMarksForComplexText):
+ (WebCore::Font::drawSimpleText):
+ (WebCore::Font::offsetForPositionForSimpleText):
+ (WebCore::Font::floatWidthForSimpleText):
+ (WebCore::Font::selectionRectForSimpleText):
+ (WebCore::Font::canExpandAroundIdeographsInComplexText):
+ (WebCore::Font::primaryFontHasGlyphForCharacter):
+ (WebCore::Font::emphasisMarkAscent):
+ (WebCore::Font::emphasisMarkDescent):
+ (WebCore::Font::emphasisMarkHeight):
+ (WebCore::Font::drawEmphasisMarksForSimpleText):
+ (WebCore::Font::font):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::fileListNameForWidth):
+ * platform/qt/RenderThemeQtMobile.cpp:
+ (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
+
+2012-04-12 JungJik Lee <jungjik.lee@samsung.com>
+
+ Calculate the cover rect of tiled backing store with the trajectory vector.
+ https://bugs.webkit.org/show_bug.cgi?id=83462
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When trajectory vector is not zero, it is able to calculate the proper cover area.
+ No new tests - no new functionality.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::computeCoverAndKeepRect):
+
+2012-04-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: extracting NetworkRequest from Resource (step 2)
+ https://bugs.webkit.org/show_bug.cgi?id=83773
+
+ Reviewed by Yury Semikhatsky.
+
+ This step moves request-related views from being resource-based to request-based.
+ See https://bugs.webkit.org/show_bug.cgi?id=61363 for the meta bug.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ContentProviders.js:
+ (WebInspector.ResourceContentProvider):
+ (WebInspector.ResourceContentProvider.prototype.requestContent):
+ (WebInspector.ResourceContentProvider.prototype.searchInContent):
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.NetworkItemView):
+ (WebInspector.RequestContentView):
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._showPopover):
+ * inspector/front-end/NetworkRequest.js:
+ (WebInspector.NetworkRequest.prototype.resource):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode.prototype._createContentProvider):
+ * inspector/front-end/RequestCookiesView.js: Renamed from Source/WebCore/inspector/front-end/ResourceCookiesView.js.
+ (WebInspector.RequestCookiesView):
+ * inspector/front-end/RequestHTMLView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHTMLView.js.
+ (WebInspector.RequestHTMLView):
+ (WebInspector.RequestHTMLView.prototype._createIFrame):
+ * inspector/front-end/RequestHeadersView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHeadersView.js.
+ (WebInspector.RequestHeadersView):
+ * inspector/front-end/RequestJSONView.js: Renamed from Source/WebCore/inspector/front-end/ResourceJSONView.js.
+ (WebInspector.RequestJSONView):
+ (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.parseJSONP):
+ * inspector/front-end/RequestPreviewView.js: Renamed from Source/WebCore/inspector/front-end/ResourcePreviewView.js.
+ (WebInspector.RequestPreviewView):
+ (WebInspector.RequestPreviewView.prototype.contentLoaded):
+ (WebInspector.RequestPreviewView.prototype._createPreviewView):
+ * inspector/front-end/RequestResponseView.js: Renamed from Source/WebCore/inspector/front-end/ResourceResponseView.js.
+ (WebInspector.RequestResponseView):
+ (WebInspector.RequestResponseView.prototype.get sourceView):
+ (WebInspector.RequestResponseView.prototype.contentLoaded):
+ * inspector/front-end/RequestTimingView.js: Renamed from Source/WebCore/inspector/front-end/ResourceTimingView.js.
+ (WebInspector.RequestTimingView):
+ (WebInspector.RequestTimingView.prototype._refresh):
+ * inspector/front-end/RequestView.js: Copied from Source/WebCore/inspector/front-end/NetworkRequest.js.
+ (WebInspector.RequestView):
+ (WebInspector.RequestView.prototype.hasContent):
+ (WebInspector.RequestView.hasTextContent):
+ (WebInspector.RequestView.nonSourceViewForRequest):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceSourceFrame._canonicalMIMEType):
+ (WebInspector.ResourceSourceFrame._mimeTypeForResource):
+ (WebInspector.ResourceSourceFrame.prototype.requestContent):
+ (WebInspector.ResourceSourceFrame.prototype._contentChanged):
+ (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-04-12 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix a couple of compiler annotations after r113963.
+
+ * inspector/front-end/TopDownProfileDataGridTree.js:
+ (WebInspector.TopDownProfileDataGridTree):
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
+
+2012-04-11 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: add closure compiler annotations for profiler code
+ https://bugs.webkit.org/show_bug.cgi?id=83700
+
+ Basic type annotations are added to most of the profiler front-end. Some
+ dead code removed.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/compile-front-end.py:
+ * inspector/front-end/BinarySearch.js:
+ (Object.defineProperty):
+ * inspector/front-end/BottomUpProfileDataGridTree.js:
+ (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
+ (WebInspector.BottomUpProfileDataGridTree):
+ * inspector/front-end/DataGrid.js:
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.DetailedHeapshotView.prototype._changeBase):
+ (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
+ (WebInspector.DetailedHeapshotView.prototype._helpClicked.appendHelp):
+ (WebInspector.DetailedHeapshotView.prototype._helpClicked):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot):
+ (HeapSnapshotMetainfo):
+ (WebInspector.HeapSnapshot.prototype._buildRetainers):
+ (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
+ * inspector/front-end/ProfileDataGridTree.js:
+ (WebInspector.ProfileDataGridNode.prototype.insertChild):
+ (WebInspector.ProfileDataGridNode.prototype.removeChild):
+ (WebInspector.ProfileDataGridNode.prototype.removeChildren):
+ (WebInspector.ProfileDataGridNode.prototype._populate):
+ (WebInspector.ProfileDataGridTree.propertyComparator):
+ * inspector/front-end/ProfileView.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfileHeader):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
+ (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
+ (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
+ (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
+ * inspector/front-end/TopDownProfileDataGridTree.js:
+ (WebInspector.TopDownProfileDataGridTree):
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
+ * inspector/front-end/externs.js:
+ (Array.prototype.binaryIndexOf):
+ (Array.prototype.sortRange):
+ (WebInspector.CSSSelectorProfileType):
+ (WebInspector.HeapSnapshotWorker):
+ (WebInspector.HeapSnapshotWorker.prototype.createObject):
+ (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
+ * inspector/front-end/heapProfiler.css:
+
+2012-04-12 Zalan Bujtas <zbujtas@gmail.com>
+
+ [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
+ https://bugs.webkit.org/show_bug.cgi?id=83428
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
+ coordinates. It is already done at ScrollView base class and this patch copies the logic to the
+ FrameView subclass.
+ Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
+
+ Test: touchadjustment/iframe-with-mainframe-scroll-offset.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::bestClickableNodeForTouchPoint):
+ (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::convertFromRenderer):
+ (WebCore::FrameView::convertToRenderer):
+ * page/GestureTapHighlighter.cpp:
+ * testing/Internals.cpp:
+ (WebCore::Internals::setDelegatesScrolling):
+ (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
+ (WebCore::Internals::bestZoomableAreaForTouchPoint):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-04-12 Zoltan Horvath <zoltan@webkit.org>
+
+ [Qt] Two canvas tests fail with QT_IMAGE_DECODER=0 setup
+ https://bugs.webkit.org/show_bug.cgi?id=83764
+
+ The following tests were failed after r108792:
+ - canvas-toDataURL-case-insensitive-mimetype.html
+ - toDataURL-supportedTypes.html
+ because supportedImageMIMETypesForEncoding wasn't filled
+ with MIME types in case of QT_IMAGE_DECODER=0 build setup.
+
+ Reviewed by Csaba Osztrogonác.
+
+ Fixes existing tests.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedImageMIMETypesForEncoding):
+
+2012-04-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113931.
+ http://trac.webkit.org/changeset/113931
+ https://bugs.webkit.org/show_bug.cgi?id=83766
+
+ broke 4 tests on JSC platforms (Requested by philn-tp on
+ #webkit).
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader):
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::createPrototype):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::npObjectTypeInfo):
+ * bindings/v8/V8BindingPerContextData.cpp:
+ (WebCore::V8BindingPerContextData::init):
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
+ * bindings/v8/V8BindingPerContextData.h:
+ (V8BindingPerContextData):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * dom/NodeList.idl:
+
+2012-04-12 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Upstreaming BlackBerry-specific changes to PluginView -- remove unused functions
+ https://bugs.webkit.org/show_bug.cgi?id=83756
+
+ Reviewed by George Staikos.
+
+ PluginView::halt(), PluginView::restart() have been removed from
+ upstreaming code, should remove them from BlackBerry porting also.
+
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+
+2012-04-12 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] The size of glyphStorage should be passed to substituteWithVerticalGlyphs()
+ https://bugs.webkit.org/show_bug.cgi?id=83751
+
+ Reviewed by Kent Tamura.
+
+ The last argument of substituteWithVerticalGlyphs() should be
+ the size of |glyphStorage|.
+
+ No new tests because we can't test the fix by layout tests.
+ I confirmed the fix with ASAN.
+
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
+ (WebCore::GlyphPage::fill):
+
+2012-04-12 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] We shouldn't set empty Content-Length & Content-Type to a request's headers.
+ https://bugs.webkit.org/show_bug.cgi?id=83349
+
+ When there is a redirection for a POST request, we change POST to GET and set
+ Content-Length/Content-Type to empty strings.
+ We should remove these headers instead of adding empty strings.
+
+ Reviewed by George Staikos.
+
+ No new tests. Refactor.
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::handleRedirect):
+ * platform/network/blackberry/ResourceRequest.h:
+ (ResourceRequest):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::clearHTTPContentLength):
+ (WebCore):
+ (WebCore::ResourceRequest::clearHTTPContentType):
+
+2012-04-12 Noel Gordon <noel.gordon@gmail.com>
+
+ [Qt] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
+ https://bugs.webkit.org/show_bug.cgi?id=83746
+
+ Reviewed by Simon Hausmann.
+
+ Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
+ guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
+ encoding mimeType. There is no need to also test mimeType.startsWith("image/")
+ since that is a given.
+
+ No new tests. Covered by existing fast/canvas/*toDataURL* tests.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+
+2012-04-11 Adam Barth <abarth@webkit.org>
+
+ Implement Location.ancestorOrigins
+ https://bugs.webkit.org/show_bug.cgi?id=83493
+
+ Reviewed by David Levin.
+
+ Test: fast/dom/Window/Location/ancestor-origins.html
+
+ This patch implements Location.ancestorOrigins(), which returns a list
+ of the origins of the enclosing frames. This API has been discussed
+ both on webkit-dev (see discussion following
+ https://lists.webkit.org/pipermail/webkit-dev/2012-March/020090.html)
+ and on the whatwg list (see discussion following
+ http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035188.html).
+
+ * page/Location.cpp:
+ (WebCore::Location::ancestorOrigins):
+ (WebCore):
+ * page/Location.h:
+ (Location):
+ * page/Location.idl:
+
+2012-04-11 Raymond Liu <raymond.liu@intel.com>
+
+ AudioContext createChannelSplitter() method should have optional argument for number of outputs
+ https://bugs.webkit.org/show_bug.cgi?id=83648
+
+ Reviewed by Chris Rogers.
+
+ Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
+
+ Test: webaudio/audiochannelsplitter.html
+
+ * Modules/webaudio/AudioChannelSplitter.cpp:
+ (WebCore::AudioChannelSplitter::create):
+ (WebCore::AudioChannelSplitter::AudioChannelSplitter):
+ (WebCore::AudioChannelSplitter::process):
+ * Modules/webaudio/AudioChannelSplitter.h:
+ (AudioChannelSplitter):
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createChannelSplitter):
+ (WebCore):
+ * Modules/webaudio/AudioContext.h:
+ (AudioContext):
+ * Modules/webaudio/AudioContext.idl:
+
+2012-04-11 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Revert the changes that depend on Event changes, which is reverted already internally.
+ https://bugs.webkit.org/show_bug.cgi?id=83456
+
+ Reviewed by George Staikos.
+
+ No new tests, just to make BlackBerry-porting to build.
+
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+ (WebCore::PluginView::handleWheelEvent):
+ (WebCore::PluginView::handleTouchEvent):
+ (WebCore::PluginView::handleMouseEvent):
+
+2012-04-11 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] There shouldn't be two or more Accept-Language in platformRequest's headerList.
+ https://bugs.webkit.org/show_bug.cgi?id=83670
+
+ FrameLoaderClientBlackBerry::dispatchWillSendRequest and NetworkManager::startJob will call
+ ResourceRequest::initializePlatformRequest. Accept-Language is added two times.
+ We should avoid the second adding to improve performance.
+
+ Reviewed by Rob Buis.
+
+ No new tests. Refactor.
+
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::initializePlatformRequest):
+
+2012-04-11 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
+
+ [BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata
+ https://bugs.webkit.org/show_bug.cgi?id=80978
+
+ Reviewed by Rob Buis.
+
+ RIM PR: 143471
+ Implemented the interface function onWaitMetadataNotified()
+ which starts a timer to wait for the metadata retrieving to
+ finish, and pops up a dialog to notify the user what to do
+ if there still is no metadata when the timer fires.
+
+ This patch also contributed by Max Feil <mfeil@rim.com>.
+ Internally reviewed by Max Feil.
+
+ Test: http/tests/media/video-throttled-load-metadata.html
+
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore):
+ (WebCore::MediaPlayerPrivate::onWaitMetadataNotified):
+ (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
+ (MediaPlayerPrivate):
+
+2012-04-11 Jer Noble <jer.noble@apple.com>
+
+ Layout Test webaudio/* is flaky
+ https://bugs.webkit.org/show_bug.cgi?id=83624
+
+ Reviewed by Chris Rogers.
+
+ No new tests; fixes webaudio/ layout tests.
+
+ A merge error led to an Mutex overunlock situation, which caused all future mutex trylock
+ attempts to fail, but only on Windows. Remove the extraneous mutex unlock().
+
+ * Modules/webaudio/AudioBufferSourceNode.cpp:
+ (WebCore::AudioBufferSourceNode::process):
+
+2012-04-11 Levi Weintraub <leviw@chromium.org>
+
+ Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height
+ https://bugs.webkit.org/show_bug.cgi?id=83621
+
+ Reviewed by Eric Seidel.
+
+ Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel
+ layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location
+ into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders,
+ and don't include the box's sub-pixel location, which is needed to properly snap the width/height.
+
+ No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this
+ is in the subpixellayout branch and will land with the switch.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::pixelSnappedClientWidth):
+ (WebCore::RenderBox::pixelSnappedClientHeight):
+ (WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT.
+
+2012-04-11 Erik Arvidsson <arv@chromium.org>
+
+ Add support for [ArrayClass] and use that on NodeList
+ https://bugs.webkit.org/show_bug.cgi?id=81573
+
+ Reviewed by Adam Barth.
+
+ With this patch NodeLists now have Array.prototype on their prototype chain which allows
+ methods such as forEach and map to work on NodeLists.
+
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
+
+ For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
+ does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
+ set when the constructor is created.
+
+ For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
+ a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
+ causes test failures in the tests until that has been fixed.
+
+ Test: fast/dom/NodeList/node-list-array-class.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
+ (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
+ * bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass.
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::createPrototype):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/v8/V8BindingPerContextData.cpp:
+ (WebCore::V8BindingPerContextData::init): Get the array prototype too.
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
+ set the [[Prototype]].
+ * bindings/v8/V8BindingPerContextData.h:
+ (V8BindingPerContextData):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WrapperTypeInfo):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore):
+ * dom/NodeList.idl:
+
+2012-04-11 Antti Koivisto <antti@apple.com>
+
+ Try to fix build with XSLT disabled.
+
+ Not reviewed.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::parseStyleSheet):
+
+2012-04-11 Erik Arvidsson <arv@chromium.org>
+
+ File API does not support DOM events (like addEventListener)
+ https://bugs.webkit.org/show_bug.cgi?id=83688
+
+ Reviewed by Adam Barth.
+
+ The IDL files where missing addEventListener, removeEventListener and dispatchEvent.
+
+ Tests: fast/filesystem/file-writer-events.html
+ fast/speech/scripted/basics.html
+
+ * Modules/filesystem/FileWriter.idl: Add missing methods.
+ * Modules/mediastream/LocalMediaStream.idl: This one gets its EventTarget from MediaStream.
+ * Modules/speech/SpeechRecognition.idl: Add missing methods.
+
+2012-04-11 Andy Estes <aestes@apple.com>
+
+ LayerFlushScheduler's run loop observer should have an autorelease pool.
+ https://bugs.webkit.org/show_bug.cgi?id=83729
+
+ Reviewed by Dan Bernstein.
+
+ LayerFlushScheduler's run loop observer needs an autorelease pool.
+ NSApplication creates one, but it is only drained after processing user
+ input. In the case where a WebView is displaying composited content but
+ not receiving user input, NSApplication's pool will accumulate a large
+ number of objects autoreleased by the run loop observer. Have
+ LayerFlushScheduler create an autorelease pool that is drained after
+ each run loop observer callback.
+
+ * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
+ (WebCore::LayerFlushScheduler::runLoopObserverCallback):
+
+2012-04-11 Antti Koivisto <antti@apple.com>
+
+ Split CSSStyleSheet into internal and CSSOM type
+ https://bugs.webkit.org/show_bug.cgi?id=83612
+
+ Reviewed by Andreas Kling.
+
+ This will complete the separation of our style sheet data structures from CSSOM.
+
+ The internal parts of CSSStyleSheet move to StyleSheetInternal. CSS parser
+ and style selector will now operate on internal types. Unlike other CSSOM types
+ CSSStyleSheets are still always instantiated to hold the top level author stylesheets
+ (by Nodes).
+
+ * css/CSSFontFaceSrcValue.cpp:
+ (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
+ * css/CSSFontFaceSrcValue.h:
+ (CSSFontFaceSrcValue):
+ * css/CSSImportRule.cpp:
+ (WebCore::StyleRuleImport::create):
+ (WebCore::StyleRuleImport::StyleRuleImport):
+ (WebCore::StyleRuleImport::setCSSStyleSheet):
+ (WebCore::StyleRuleImport::requestStyleSheet):
+ (WebCore::CSSImportRule::~CSSImportRule):
+ (WebCore):
+ (WebCore::CSSImportRule::styleSheet):
+ * css/CSSImportRule.h:
+ (WebCore):
+ (StyleRuleImport):
+ (WebCore::StyleRuleImport::parentStyleSheet):
+ (WebCore::StyleRuleImport::styleSheet):
+ (CSSImportRule):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::insertRule):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseSheet):
+ (WebCore::CSSParser::parseRule):
+ (WebCore::CSSParser::parseKeyframeRule):
+ (WebCore::CSSParser::parseFontFaceValue):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseSelector):
+ (WebCore::CSSParser::parseDeclaration):
+ (WebCore::CSSParser::setStyleSheet):
+ (WebCore::CSSParser::parseFlowThread):
+ * css/CSSParser.h:
+ (WebCore):
+ (CSSParser):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
+ * css/CSSPrimitiveValue.h:
+ (CSSPrimitiveValue):
+ * css/CSSReflectValue.cpp:
+ (WebCore::CSSReflectValue::addSubresourceStyleURLs):
+ * css/CSSReflectValue.h:
+ (CSSReflectValue):
+ * css/CSSRule.h:
+ (CSSRule):
+ * css/CSSStyleSelector.cpp:
+ (RuleSet):
+ (WebCore):
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+ (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
+ (WebCore::CSSStyleSelector::determineScope):
+ (WebCore::CSSStyleSelector::appendAuthorStylesheets):
+ (WebCore::parseUASheet):
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ (CSSStyleSelector):
+
+ Add a set for root CSSStyleSheet objects so that the wrappers created in ensureFullCSSOMWrapperForInspector
+ stay valid.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::StyleSheetInternal::StyleSheetInternal):
+ (WebCore::StyleSheetInternal::~StyleSheetInternal):
+ (WebCore::StyleSheetInternal::parserAppendRule):
+ (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
+ (WebCore::StyleSheetInternal::ruleCount):
+ (WebCore::StyleSheetInternal::clearCharsetRule):
+ (WebCore::StyleSheetInternal::clearRules):
+ (WebCore::StyleSheetInternal::parserSetEncodingFromCharsetRule):
+ (WebCore::StyleSheetInternal::wrapperInsertRule):
+ (WebCore::StyleSheetInternal::wrapperDeleteRule):
+ (WebCore::StyleSheetInternal::addNamespace):
+ (WebCore::StyleSheetInternal::determineNamespace):
+ (WebCore::StyleSheetInternal::parseString):
+ (WebCore::StyleSheetInternal::parseStringAtLine):
+ (WebCore::StyleSheetInternal::isLoading):
+ (WebCore::StyleSheetInternal::checkLoaded):
+ (WebCore::StyleSheetInternal::notifyLoadedSheet):
+ (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
+ (WebCore::StyleSheetInternal::findStyleSheetOwnerNode):
+ (WebCore::StyleSheetInternal::findDocument):
+ (WebCore::StyleSheetInternal::setMediaQueries):
+ (WebCore::StyleSheetInternal::styleSheetChanged):
+ (WebCore):
+ (WebCore::StyleSheetInternal::baseURL):
+ (WebCore::StyleSheetInternal::completeURL):
+ (WebCore::StyleSheetInternal::addSubresourceStyleURLs):
+ (WebCore::StyleSheetInternal::parentStyleSheet):
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ (WebCore::CSSStyleSheet::~CSSStyleSheet):
+ (WebCore::CSSStyleSheet::setDisabled):
+ (WebCore::CSSStyleSheet::length):
+ (WebCore::CSSStyleSheet::item):
+ (WebCore::CSSStyleSheet::rules):
+ (WebCore::CSSStyleSheet::insertRule):
+ (WebCore::CSSStyleSheet::addRule):
+ (WebCore::CSSStyleSheet::cssRules):
+ (WebCore::CSSStyleSheet::deleteRule):
+ (WebCore::CSSStyleSheet::media):
+ (WebCore::CSSStyleSheet::parentStyleSheet):
+ * css/CSSStyleSheet.h:
+ (WebCore):
+ (WebCore::StyleSheetInternal::create):
+ (WebCore::StyleSheetInternal::createInline):
+ (StyleSheetInternal):
+ (WebCore::StyleSheetInternal::ownerNode):
+ (WebCore::StyleSheetInternal::clearOwnerNode):
+ (WebCore::StyleSheetInternal::ownerRule):
+ (WebCore::StyleSheetInternal::originalURL):
+ (WebCore::StyleSheetInternal::title):
+ (WebCore::StyleSheetInternal::setTitle):
+ (WebCore::StyleSheetInternal::setFinalURL):
+ (WebCore::StyleSheetInternal::finalURL):
+ (CSSStyleSheet):
+ (WebCore::CSSStyleSheet::create):
+ (WebCore::CSSStyleSheet::removeRule):
+ (WebCore::CSSStyleSheet::clearOwnerRule):
+ (WebCore::CSSStyleSheet::styleSheetChanged):
+ (WebCore::CSSStyleSheet::findDocument):
+ (WebCore::CSSStyleSheet::internal):
+ (WebCore::CSSStyleSheet::isCSSStyleSheet):
+ (WebCore::CSSStyleSheet::type):
+ * css/CSSValue.cpp:
+ (WebCore::CSSValue::addSubresourceStyleURLs):
+ * css/CSSValue.h:
+ (WebCore):
+ (CSSValue):
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::addSubresourceStyleURLs):
+ * css/CSSValueList.h:
+ (CSSValueList):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * css/CSSValuePool.h:
+ (WebCore):
+ (CSSValuePool):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ * css/PropertySetCSSStyleDeclaration.h:
+ (WebCore):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::setProperty):
+ (WebCore::StylePropertySet::parseDeclaration):
+ (WebCore::StylePropertySet::addSubresourceStyleURLs):
+ * css/StylePropertySet.h:
+ (WebCore):
+ (StylePropertySet):
+ * css/StyleSheet.cpp:
+ (WebCore):
+ * css/StyleSheet.h:
+ (StyleSheet):
+ (WebCore::StyleSheet::media):
+ (WebCore::StyleSheet::ownerRule):
+ (WebCore::StyleSheet::isXSLStyleSheet):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::insertRule):
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createCSSStyleSheet):
+ * dom/Document.cpp:
+ (WebCore::Document::updateBaseURL):
+ (WebCore::Document::pageUserSheet):
+ (WebCore::Document::pageGroupUserSheets):
+ (WebCore::Document::addUserSheet):
+ (WebCore::Document::elementSheet):
+ (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
+ (WebCore::Document::analyzeStylesheetChange):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ (WebCore::Document::documentUserSheets):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::setCSSStyleSheet):
+ (WebCore::ProcessingInstruction::parseStyleSheet):
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::setInlineStyleProperty):
+ (WebCore::StyledElement::addSubresourceAttributeURLs):
+ (WebCore):
+ (WebCore::StyledElement::addPropertyToAttributeStyle):
+ * dom/StyledElement.h:
+ (WebCore):
+ * html/HTMLFontElement.cpp:
+ (WebCore::HTMLFontElement::collectStyleForAttribute):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::parseAttribute):
+ (WebCore::HTMLLinkElement::setCSSStyleSheet):
+ (WebCore::HTMLLinkElement::styleSheetIsLoading):
+ (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::parseAttribute):
+ (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::fillMediaListChain):
+ (WebCore::InspectorStyle::setPropertyText):
+ (WebCore::InspectorStyleSheet::styleSheetURL):
+ (WebCore::InspectorStyleSheet::reparseStyleSheet):
+ (WebCore::InspectorStyleSheet::ensureSourceData):
+ (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::serializeCSSStyleSheet):
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::parseAttribute):
+ * xml/XSLStyleSheet.h:
+ (XSLStyleSheet):
+ (WebCore::XSLStyleSheet::finalURL):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet):
+ (WebCore::XSLStyleSheet::isLoading):
+
+2012-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113912.
+ http://trac.webkit.org/changeset/113912
+ https://bugs.webkit.org/show_bug.cgi?id=83727
+
+ broke atsui-spacing-features.html on windows (Requested by
+ simonjam on #webkit).
+
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::justify):
+
+2012-04-11 Alex Nicolaou <anicolao@chromium.org>
+
+ [chromium] When rendering goes idle, do not count that time against frame rate
+ https://bugs.webkit.org/show_bug.cgi?id=73454
+
+ The FPS counter had a few issues with its reporting. The first
+ 3 swapbuffers are non-blocking and create FPS rates that are
+ unrealistically high, throwing off the moving averages and
+ introducing false spikes into the FPS graph. There was also no
+ way to monitor the smoothness of the animation, or to focus in
+ on a particular animation or transition.
+
+ This patch updates the FPS counter code so that bad data points
+ are trimmed and not graphed; so that the graph itself is taller
+ and more legible; so that there is a clear boundary between 40FPS
+ and better; and to keep statistics on frame rate between
+ pauses in the activity in the UI so that you can trigger a
+ transition and read off the average and standard deviation for
+ that transition to judge it smooth enough or not.
+
+
+ Reviewed by James Robinson.
+
+ HUD is not testable in webkit.
+
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore::CCHeadsUpDisplay::onFrameBegin):
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+
+2012-04-10 Zhenyao Mo <zmo@google.com>
+
+ WebGLRenderingContext should defer caching program info
+ https://bugs.webkit.org/show_bug.cgi?id=83513
+
+ Reviewed by Kenneth Russell.
+
+ * html/canvas/WebGLProgram.cpp:
+ (WebCore::WebGLProgram::WebGLProgram):
+ (WebCore::WebGLProgram::numActiveAttribLocations): call cacheInfoIfNeeded();
+ (WebCore::WebGLProgram::getActiveAttribLocation): Ditto.
+ (WebCore::WebGLProgram::isUsingVertexAttrib0): Ditto.
+ (WebCore::WebGLProgram::getLinkStatus): Ditto.
+ (WebCore):
+ (WebCore::WebGLProgram::cacheActiveAttribLocations):
+ (WebCore::WebGLProgram::cacheInfoIfNeeded): Cache link status, active attire locations, etc if needed.
+ (WebCore::WebGLProgram::increaseLinkCount): also invalidate cached info.
+ * html/canvas/WebGLProgram.h:
+ (WebGLProgram):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::linkProgram): Do not cache program info immediately.
+
+2012-04-11 David Dorwin <ddorwin@chromium.org>
+
+ Add keySystem attribute to canPlayType() for Encrypted Media Extensions
+ https://bugs.webkit.org/show_bug.cgi?id=82973
+
+ Reviewed by Adam Barth.
+
+ The new attribute is behind the ENABLE(ENCRYPTED_MEDIA) feature define.
+ Implementation is based on v0.1 of the draft proposal at
+ http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#extensions.
+
+ Tests: media/encrypted-media/encrypted-media-can-play-type-webm.html
+ media/encrypted-media/encrypted-media-can-play-type.html
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::canPlayType):
+ (WebCore::HTMLMediaElement::selectMediaResource):
+ (WebCore::HTMLMediaElement::loadNextSourceChild):
+ (WebCore::HTMLMediaElement::loadResource):
+ (WebCore::HTMLMediaElement::havePotentialSourceChild):
+ (WebCore::HTMLMediaElement::selectNextSourceChild):
+ (WebCore::HTMLMediaElement::getPluginProxyParams):
+ * html/HTMLMediaElement.h:
+ (HTMLMediaElement):
+ * html/HTMLMediaElement.idl:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore):
+ (WebCore::bestMediaEngineForTypeAndCodecs):
+ (WebCore::MediaPlayer::load):
+ (WebCore::MediaPlayer::loadWithNextMediaEngine):
+ (WebCore::MediaPlayer::supportsType):
+ (WebCore::MediaPlayer::networkStateChanged):
+ * platform/graphics/MediaPlayer.h:
+ (MediaPlayer):
+ (WebCore):
+
+2012-04-11 Xiaomei Ji <xji@chromium.org>
+
+ [chromium] wrong justification for arabic/persian page in cr-win.
+ https://bugs.webkit.org/show_bug.cgi?id=83227
+
+ Reviewed by Kent Tamura.
+
+ GDI used to do Kashida justification.
+ After switch to Skia, we need to use space padding to justify the text
+ (assume Skia can not do Kashida justification -- stretching words).
+
+ Test: fast/text/international/arabic-justify.html
+
+ * platform/graphics/chromium/UniscribeHelper.cpp:
+ (WebCore::UniscribeHelper::justify):
+
+2012-03-15 Martin Robinson <mrobinson@igalia.com>
+
+ [CAIRO] Make GLContextGLX a subclass of GLContext
+ https://bugs.webkit.org/show_bug.cgi?id=81285
+
+ Reviewed by Gustavo Noronha Silva.
+
+ No new tests. This should not change behavior.
+
+ * GNUmakefile.list.am: Add new GLContextGLX files.
+ * platform/graphics/cairo/GLContext.cpp: Added. Composed of the
+ EGL/GLX independent portions of GLContext. Made the current context
+ a static variable so we can keep getting the current context platform-
+ -independent.
+ * platform/graphics/cairo/GLContext.h: Make this class an abstract
+ class. GLContextGLX is a concrete implementation.
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Updated to reflect
+ slightly different calling conventions to create a sharing context.
+ * platform/graphics/glx/GLContextGLX.cpp: Updated to reflect
+ that this code is in a subclass now.
+ * platform/graphics/glx/GLContextGLX.h: Copied from Source/WebCore/platform/graphics/cairo/GLContext.h.
+ * platform/graphics/gtk/GLContextGtk.cpp:
+ (WebCore::GLContext::getContextForWidget): Updated to respect the new
+ USE(GLX) flag.
+
+2012-04-11 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Upstream BlackBerry change to PatternSkia.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=83361
+
+ Reviewed by Antonio Gomes.
+
+ Upstream a cleaned up version.
+
+ * platform/graphics/skia/PatternSkia.cpp:
+ (WebCore::Pattern::platformDestroy):
+ (WebCore::Pattern::platformPattern):
+
+2012-04-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add OVERRIDE annotations for cc layer types
+ https://bugs.webkit.org/show_bug.cgi?id=83658
+
+ Reviewed by Daniel Bates.
+
+ This adds OVERRIDE annotations to overrides of functions on these classes:
+ - CCLayerImpl
+ - LayerChromium
+ - TiledLayerChromium
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.h:
+ (Canvas2DLayerChromium):
+ * platform/graphics/chromium/CanvasLayerChromium.h:
+ (CanvasLayerChromium):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (ContentLayerChromium):
+ * platform/graphics/chromium/ImageLayerChromium.h:
+ (ImageLayerChromium):
+ * platform/graphics/chromium/PluginLayerChromium.h:
+ (PluginLayerChromium):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/VideoLayerChromium.h:
+ (VideoLayerChromium):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebGLLayerChromium):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ (CCScrollbarLayerImpl):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+ (CCSolidColorLayerImpl):
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
+ (CCTextureLayerImpl):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (CCTiledLayerImpl):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (CCVideoLayerImpl):
+
+2012-04-11 Alexey Proskuryakov <ap@apple.com>
+
+ [Mac] lang, xml:lang, content-language ignored when choosing fonts
+ https://bugs.webkit.org/show_bug.cgi?id=10874
+ <rdar://problem/3220202>
+
+ Reviewed by Dan Bernstein.
+
+ Adding a default font table for Mac port. Clients can still override these if they want to,
+ but knowing which fonts to use is more about the platform than about the client.
+
+ Tests: platform/mac/fonts/han-disunification.html
+
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * Resources/DefaultFonts.plist.in: Added.
+ Added SettingsMac.mm. Added preprocessed property list with default fonts.
+
+ * page/Settings.cpp:
+ (WebCore::setGenericFontFamilyMap): Don't notify the page if we don't have one yet.
+ (WebCore::Settings::Settings): Assign to m_page after calling initializeDefaultFontFamilies,
+ so that we won't try to call page->setNeedsRecalcStyleInAllFrames() in a half-initialized
+ Page that's creating settings.
+ (WebCore::Settings::initializeDefaultFontFamilies): Dummy imlplementation for ports that
+ rely on client to set defaults.
+
+ * page/Settings.h: Added initializeDefaultFontFamilies().
+
+ * page/mac/SettingsMac.mm: Added.
+ (WebCore::defaultFontFamilyDictionary):
+ (WebCore::Settings::initializeDefaultFontFamilies):
+ Load defaults from a plist file inside WebCore framework.
+
+2012-04-11 Antti Koivisto <antti@apple.com>
+
+ Crash in CSSStyleSheet::deleteRule
+ https://bugs.webkit.org/show_bug.cgi?id=83708
+
+ Reviewed by Andreas Kling.
+
+ Andreas spotted that the wrapper needs to be null checked before calling setParentStyleSheet(0).
+
+ Test: fast/css/delete-rule-crash.html
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::deleteRule):
+
+2012-04-11 Adam Klein <adamk@chromium.org>
+
+ [MutationObservers] Setting an attributeFilter should filter out all namespaced attribute mutations
+ https://bugs.webkit.org/show_bug.cgi?id=83706
+
+ Reviewed by Ryosuke Niwa.
+
+ The patch amounts to plumbing QualifiedName all the way down to shouldReceiveMutationFrom
+ as it now needs to know about namespaceURI as well as localName.
+
+ This change is coming soon to the DOM4 spec, see
+ https://www.w3.org/Bugs/Public/show_bug.cgi?id=16563 for more discussion.
+
+ * dom/MutationObserverInterestGroup.cpp:
+ (WebCore::MutationObserverInterestGroup::createIfNeeded):
+ * dom/MutationObserverInterestGroup.h:
+ (WebCore::MutationObserverInterestGroup::createForChildListMutation):
+ (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
+ (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
+ (MutationObserverInterestGroup):
+ * dom/MutationObserverRegistration.cpp:
+ (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
+ * dom/MutationObserverRegistration.h:
+ (WebCore):
+ (MutationObserverRegistration):
+ * dom/Node.cpp:
+ (WebCore::Node::collectMatchingObserversForMutation):
+ (WebCore::Node::getRegisteredMutationObserversOfType):
+ * dom/Node.h:
+ (Node):
+
+2012-04-11 Wei James <james.wei@intel.com>
+
+ add stereo source support in EqualPowerPanner
+ https://bugs.webkit.org/show_bug.cgi?id=81092
+
+ Reviewed by Chris Rogers.
+
+ Test: webaudio/panner-equalpower-stereo.html
+
+ * platform/audio/EqualPowerPanner.cpp:
+ (WebCore::EqualPowerPanner::pan):
+
+2012-04-11 Erik Arvidsson <arv@chromium.org>
+
+ StyleElement ownerNode is not cleared correctly
+ https://bugs.webkit.org/show_bug.cgi?id=83696
+
+ Reviewed by Antti Koivisto.
+
+ When the css text changes in such a way that we remove the sheet of a style element or a link[rel=stylesheet]
+ element we need to ensure that the ownerNode of the sheet is cleared. If we don't do this and there is a
+ wrapper for the sheet the sheet is kept alive but the ownerNode of the sheet may point to a deleted node.
+
+ Tests: fast/dom/StyleSheet/detached-sheet-owner-node-link.html
+ fast/dom/StyleSheet/detached-sheet-owner-node.html
+
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::removedFromDocument):
+ (WebCore::StyleElement::clearSheet):
+ (WebCore):
+ (WebCore::StyleElement::createSheet):
+ * dom/StyleElement.h:
+ (StyleElement):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+ (WebCore::HTMLLinkElement::clearSheet):
+ (WebCore):
+ * html/HTMLLinkElement.h:
+ (HTMLLinkElement):
+
+2012-04-11 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=83614
+ <rdar://problem/11177351>
+
+ REGRESSION: Table on wikipedia overlaps float on right hand side.
+
+ Revise how auto margins are resolved so that for objects that avoid floats, the available line
+ width is always used instead of the overall containing block width. computeLogicalWidth now
+ always properly computes inline margins (based off the object's current logicalTop() position)
+ and so the code in computeStartPositionDeltaForChildAvoidingFloats that recomputes inline
+ direction margins can now be removed.
+
+ Reviewed by Dan Bernstein.
+
+ Added new test in fast/block/float.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
+ (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
+ (WebCore):
+ (WebCore::RenderBox::computeLogicalWidthInRegion):
+ (WebCore::RenderBox::renderBoxRegionInfo):
+ (WebCore::RenderBox::shrinkToAvoidFloats):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::computeLogicalWidth):
+
+2012-04-11 Adrienne Walker <enne@google.com>
+
+ Fix regression where a clip style change did not update layer sizes
+ https://bugs.webkit.org/show_bug.cgi?id=82990
+
+ Reviewed by Simon Fraser.
+
+ After r111456, the size of composited layers also used clip, whereas
+ it previously had only used overflow. Because of this, when clip
+ changes on a render layer, it needs to recalculate its layer tree.
+
+ Test: compositing/clip-change.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::styleChanged):
+
+2012-04-11 Antti Koivisto <antti@apple.com>
+
+ V8 bindings are polluting WebCore namespace with overly generic FooInternal namespaces
+ https://bugs.webkit.org/show_bug.cgi?id=83699
+
+ Reviewed by Adam Barth.
+
+ Call them FooV8Internal instead.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GetFunctionTemplateCallbackName):
+ (GenerateSingleBatchedAttribute):
+ (GenerateImplementation):
+
+2012-04-11 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add OVERRIDE annotations for cc animation-related interfaces
+ https://bugs.webkit.org/show_bug.cgi?id=83650
+
+ Reviewed by Daniel Bates.
+
+ This adds OVERRIDE annotations to the implementations of the following interfaces:
+ - CCAnimationCurve
+ - CCFloatAnimationCurve
+ - CCLayerAnimationControllerClient
+ - CCTransformAnimationCurve
+
+ * platform/graphics/chromium/LayerChromium.h:
+ * platform/graphics/chromium/cc/CCTimingFunction.h:
+ * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
+ (CCKeyframedFloatAnimationCurve):
+ (CCKeyframedTransformAnimationCurve):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+
+2012-04-11 Philip Rogers <pdr@google.com>
+
+ Fix bug where stroke's bounding box was clipped
+ https://bugs.webkit.org/show_bug.cgi?id=83651
+
+ Reviewed by Dirk Schulze.
+
+ This change contains two fixes for one bug:
+ 1) FloatRect::contains contained a nasty mistake where
+ maxy() < y() was compared instead of maxy() < point.y().
+ 2) RenderSVGShape::strokeContains was depending on its internal
+ m_strokeAndMarkerBoundingBox instead of calling the virtual
+ method strokeBoundingBox(). This change switches to using
+ strokeBoundingBox().
+
+ Test: svg/hittest/svg-ellipse-rect-stroke.xhtml
+
+ * platform/graphics/FloatRect.cpp:
+ (WebCore::FloatRect::contains):
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::strokeContains):
+
+2012-04-11 Kentaro Hara <haraken@chromium.org>
+
+ Enable the [Supplemental] IDL on BlackBerry
+ https://bugs.webkit.org/show_bug.cgi?id=75413
+
+ Reviewed by Rob Buis.
+
+ This patch enables the [Supplemental] IDL on BlackBerry by changing the build
+ flow of BlackBerry as follows.
+
+ - Previous build flow:
+ foreach $idl (all IDL files) {
+ generate-bindings.pl depends on $idl;
+ generate-bindings.pl reads $idl;
+ generate-bindings.pl generates .h and .cpp files for $idl;
+ }
+
+ - New build flow (See the discussions in bug 72138 for more details):
+ preprocess-idls.pl depends on all IDL files;
+ preprocess-idls.pl reads all IDL files;
+ preprocess-idls.pl resolves the dependency of [Supplemental=XXXX];
+ preprocess-idls.pl outputs supplemental_dependency.tmp;
+ foreach $idl (all IDL files) {
+ generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
+ generate-bindings.pl reads $idl;
+ generate-bindings.pl reads supplemental_dependency.tmp;
+ generate-bindings.pl generates .h and .cpp files for $idl,
+ including all attributes in the IDL files that are implementing $idl;
+ }
+
+ Tests: Confirm that build succeeds.
+ http/tests/websocket/tests/*
+
+ * PlatformBlackBerry.cmake: This change is similar to the change we have done for
+ UseJSC.cmake and UseV8.cmake (bug 75345).
+
+2012-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113872.
+ http://trac.webkit.org/changeset/113872
+ https://bugs.webkit.org/show_bug.cgi?id=83703
+
+ broke chromium win/mac builds (Requested by simonjam on
+ #webkit).
+
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore::CCHeadsUpDisplay::initializeFonts):
+ (WebCore::CCHeadsUpDisplay::onFrameBegin):
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+ (CCHeadsUpDisplay):
+
+2012-04-11 Aaron Colwell <acolwell@chromium.org>
+
+ Remove webkit prefix from Media Source runtime feature name.
+ https://bugs.webkit.org/show_bug.cgi?id=83633
+
+ Reviewed by Adam Barth.
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
+ (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
+ * html/HTMLMediaElement.idl:
+
+2012-04-11 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Single ShareableBitmap revision blacks out WebView on Harmattan
+ https://bugs.webkit.org/show_bug.cgi?id=83631
+
+ When swizzling is not supported in the driver, we need to initialize the texture as RGBA,
+ and make sure that the manual swizzling only modifies the sub-image.
+
+ Rubber stamped by Kenneth Rohde Christiansen.
+
+ Covered by existing tests.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::swizzleBGRAToRGBA):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore):
+ (WebCore::BitmapTextureGL::updateContents):
+
+2012-04-11 Alex Nicolaou <anicolao@chromium.org>
+
+ [chromium] When rendering goes idle, do not count that time against frame rate
+ https://bugs.webkit.org/show_bug.cgi?id=73454
+
+ The FPS counter had a few issues with its reporting. The first
+ 3 swapbuffers are non-blocking and create FPS rates that are
+ unrealistically high, throwing off the moving averages and
+ introducing false spikes into the FPS graph. There was also no
+ way to monitor the smoothness of the animation, or to focus in
+ on a particular animation or transition.
+
+ This patch updates the FPS counter code so that bad data points
+ are trimmed and not graphed; so that the graph itself is taller
+ and more legible; so that there is a clear boundary between 40FPS
+ and better; and to keep statistics on frame rate between
+ pauses in the activity in the UI so that you can trigger a
+ transition and read off the average and standard deviation for
+ that transition to judge it smooth enough or not.
+
+
+ Reviewed by James Robinson.
+
+ HUD is not testable in webkit.
+
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
+ (WebCore::CCHeadsUpDisplay::onFrameBegin):
+ (WebCore::CCHeadsUpDisplay::drawHudContents):
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
+
+2012-04-11 Adrienne Walker <enne@google.com>
+
+ [chromium] Draw missing layer tile checkerboards as checkerboards
+ https://bugs.webkit.org/show_bug.cgi?id=83241
+
+ Reviewed by James Robinson.
+
+ For non-Android platforms, draw missing tile checkerboards as actual
+ checkerboards. Use a shader to do this so that no texture uploads are
+ needed. This only happens on the non-composited content host to avoid
+ having unexpected (or transformed and aliased) checkerboards on other
+ content layers.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::pushPropertiesTo):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::setDrawCheckerboardForMissingTiles):
+ (WebCore::LayerChromium::drawCheckerboardForMissingTiles):
+ (LayerChromium):
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawQuad):
+ (WebCore::LayerRendererChromium::drawCheckerboardQuad):
+ (WebCore):
+ (WebCore::LayerRendererChromium::checkerboardProgram):
+ (WebCore::LayerRendererChromium::cleanupSharedObjects):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ (LayerRendererChromium):
+ * platform/graphics/chromium/ShaderChromium.cpp:
+ (WebCore::FragmentShaderCheckerboard::FragmentShaderCheckerboard):
+ (WebCore):
+ (WebCore::FragmentShaderCheckerboard::init):
+ (WebCore::FragmentShaderCheckerboard::getShaderString):
+ * platform/graphics/chromium/ShaderChromium.h:
+ (FragmentShaderCheckerboard):
+ (WebCore::FragmentShaderCheckerboard::alphaLocation):
+ (WebCore::FragmentShaderCheckerboard::texTransformLocation):
+ (WebCore::FragmentShaderCheckerboard::frequencyLocation):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
+ (WebCore):
+ (WebCore::CCCheckerboardDrawQuad::create):
+ (WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
+ (WebCore):
+ (CCCheckerboardDrawQuad):
+ * platform/graphics/chromium/cc/CCDrawQuad.cpp:
+ (WebCore::CCDrawQuad::toCheckerboardDrawQuad):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCDrawQuad.h:
+ (WebCore):
+ (CCDrawQuad):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::CCLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (CCLayerImpl):
+ (WebCore::CCLayerImpl::setDrawCheckerboardForMissingTiles):
+ (WebCore::CCLayerImpl::drawCheckerboardForMissingTiles):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForLayer):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (CCRenderPass):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ (CCScrollbarLayerImpl):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+ (CCSolidColorLayerImpl):
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
+ (CCTextureLayerImpl):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (CCTiledLayerImpl):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (CCVideoLayerImpl):
+
+2012-04-11 Joe Mason <jmason@rim.com>
+
+ [BlackBerry] Update to the thread-safe GuardedPointer API
+ https://bugs.webkit.org/show_bug.cgi?id=83603
+
+ Reviewed by Rob Buis.
+
+ RIM PR: 134894
+ Make the destructors of all objects inheriting GuardedPointerBase protected or
+ private, and delete them using BlackBerry::Platform::deleteGuardedObject.
+ Access all GuardedPointers through GuardedPointerLocker. Use GuardedPointerDeleter
+ to delete LayerCompositingThread to avoid a deadlock.
+
+ No new tests, refactor.
+
+ Reviewed internally by Yong Li and George Staikos.
+
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::~CookieDatabaseBackingStore):
+ * platform/blackberry/CookieManager.h:
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (LayerCompositingThread):
+ (WTF::::deref):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+
+2012-04-11 Andras Becsi <andras.becsi@nokia.com>
+
+ [Qt] Fix the build on OpenGL ES2 platforms
+
+ Unreviewed build fix.
+
+ No new tests needed.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::updateContents):
+ Fix typo in TEXMAP_OPENGL_ES_2 define.
+
+2012-04-11 Ami Fischman <fischman@chromium.org>
+
+ Remove unused WebVideoFrame::Format values
+ https://bugs.webkit.org/show_bug.cgi?id=83625
+
+ Reviewed by Kenneth Russell.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/VideoFrameChromium.h:
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore::convertVFCFormatToGC3DFormat):
+
+2012-04-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: extracting NetworkRequest from Resource (step 1)
+ https://bugs.webkit.org/show_bug.cgi?id=83684
+
+ Reviewed by Yury Semikhatsky.
+
+ Meta bug: https://bugs.webkit.org/show_bug.cgi?id=61363.
+ In this step, NetworkRequest is introduced. It temporarily inherits from
+ the Resource, but all the call sites are now referring to it as to request.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ApplicationCacheItemsView.js:
+ (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView):
+ (WebInspector.AuditLauncherView.prototype._onRequestStarted):
+ (WebInspector.AuditLauncherView.prototype._onRequestFinished):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.getDomainToResourcesMap):
+ (WebInspector.AuditRules.GzipRule.prototype.doRun):
+ (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
+ (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
+ (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
+ (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
+ (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
+ (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
+ (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
+ (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
+ (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
+ (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
+ (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
+ (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
+ (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
+ (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
+ (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
+ (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
+ (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
+ * inspector/front-end/AuditsPanel.js:
+ (WebInspector.AuditsPanel.prototype._executeAudit):
+ (WebInspector.AuditCategory.prototype.run):
+ (WebInspector.AuditRule.prototype.run):
+ (WebInspector.AuditRule.prototype.doRun):
+ * inspector/front-end/ConsoleMessage.js:
+ * inspector/front-end/ConsoleModel.js:
+ (WebInspector.ConsoleDispatcher.prototype.messageAdded):
+ * inspector/front-end/ContentProviders.js:
+ (WebInspector.ResourceContentProvider):
+ (WebInspector.ResourceContentProvider.prototype.requestContent):
+ (WebInspector.ResourceContentProvider.prototype.searchInContent):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onGetHAR):
+ (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
+ * inspector/front-end/HAREntry.js:
+ (WebInspector.HAREntry):
+ (WebInspector.HAREntry.prototype.build):
+ (WebInspector.HAREntry.prototype._buildRequest):
+ (WebInspector.HAREntry.prototype._buildResponse):
+ (WebInspector.HAREntry.prototype._buildContent):
+ (WebInspector.HAREntry.prototype._buildTimings):
+ (WebInspector.HAREntry.prototype._buildPostData):
+ (WebInspector.HAREntry.prototype._buildCookie):
+ (WebInspector.HAREntry.prototype._interval):
+ (WebInspector.HAREntry.prototype.get requestBodySize):
+ (WebInspector.HAREntry.prototype.get responseBodySize):
+ (WebInspector.HAREntry.prototype.get responseCompression):
+ (WebInspector.HARLog):
+ (WebInspector.HARLog.prototype.build):
+ (WebInspector.HARLog.prototype._buildPages):
+ (WebInspector.HARLog.prototype._convertResource):
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.NetworkItemView):
+ * inspector/front-end/NetworkLog.js:
+ (WebInspector.NetworkLog):
+ (WebInspector.NetworkLog.prototype.get requests):
+ (WebInspector.NetworkLog.prototype.pageLoadForRequest):
+ (WebInspector.NetworkLog.prototype._onMainFrameNavigated):
+ (WebInspector.NetworkLog.prototype._onRequestStarted):
+ (WebInspector.NetworkLog.prototype._onLoad):
+ (WebInspector.PageLoad):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.get this):
+ (WebInspector.NetworkManager.get NetworkAgent):
+ (WebInspector.NetworkManager):
+ (WebInspector.NetworkManager.prototype.inflightRequestForURL):
+ (WebInspector.NetworkDispatcher):
+ (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
+ (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
+ (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
+ (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithCachedResource):
+ (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
+ (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
+ (WebInspector.NetworkDispatcher.prototype.responseReceived):
+ (WebInspector.NetworkDispatcher.prototype.dataReceived):
+ (WebInspector.NetworkDispatcher.prototype.loadingFinished):
+ (WebInspector.NetworkDispatcher.prototype.loadingFailed):
+ (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
+ (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
+ (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
+ (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
+ (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
+ (WebInspector.NetworkDispatcher.prototype._appendRedirect):
+ (WebInspector.NetworkDispatcher.prototype._startNetworkRequest):
+ (WebInspector.NetworkDispatcher.prototype._updateNetworkRequest):
+ (WebInspector.NetworkDispatcher.prototype._finishNetworkRequest):
+ (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
+ (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
+ (get WebInspector):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._initializeView):
+ (WebInspector.NetworkLogView.prototype.get statusBarItems):
+ (WebInspector.NetworkLogView.prototype._createSortingFunctions):
+ (WebInspector.NetworkLogView.prototype._updateSummaryBar):
+ (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
+ (WebInspector.NetworkLogView.prototype._invalidateAllItems):
+ (WebInspector.NetworkLogView.prototype._requestGridNode):
+ (WebInspector.NetworkLogView.prototype._createRequestGridNode):
+ (WebInspector.NetworkLogView.prototype._onLoadEventFired):
+ (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
+ (WebInspector.NetworkLogView.prototype.refresh):
+ (WebInspector.NetworkLogView.prototype._reset):
+ (WebInspector.NetworkLogView.prototype.get requests):
+ (WebInspector.NetworkLogView.prototype.requestById):
+ (WebInspector.NetworkLogView.prototype._onRequestStarted):
+ (WebInspector.NetworkLogView.prototype._appendRequest):
+ (WebInspector.NetworkLogView.prototype._onRequestUpdated):
+ (WebInspector.NetworkLogView.prototype._refreshRequest):
+ (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
+ (WebInspector.NetworkLogView.prototype.get _setLargerRequests):
+ (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
+ (WebInspector.NetworkLogView.prototype._showPopover):
+ (WebInspector.NetworkLogView.prototype._contextMenu):
+ (WebInspector.NetworkLogView.prototype._copyAll):
+ (WebInspector.NetworkLogView.prototype._copyRequest):
+ (WebInspector.NetworkLogView.prototype._copyLocation):
+ (WebInspector.NetworkLogView.prototype._copyRequestHeaders):
+ (WebInspector.NetworkLogView.prototype._copyResponseHeaders):
+ (WebInspector.NetworkLogView.prototype._exportAll):
+ (WebInspector.NetworkLogView.prototype._exportRequest):
+ (WebInspector.NetworkLogView.prototype._matchRequest):
+ (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
+ (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
+ (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
+ (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
+ (WebInspector.NetworkLogView.prototype.performSearch):
+ (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
+ (WebInspector.NetworkLogView.prototype.revealAndHighlightRequest):
+ (WebInspector.NetworkPanel.prototype.handleShortcut):
+ (WebInspector.NetworkPanel.prototype.get requests):
+ (WebInspector.NetworkPanel.prototype.requestById):
+ (WebInspector.NetworkPanel.prototype._requestByAnchor):
+ (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
+ (WebInspector.NetworkPanel.prototype.showAnchorLocation):
+ (WebInspector.NetworkPanel.prototype.revealAndHighlightRequest):
+ (WebInspector.NetworkPanel.prototype._onViewCleared):
+ (WebInspector.NetworkPanel.prototype._onRequestSelected):
+ (WebInspector.NetworkPanel.prototype._showRequest):
+ (WebInspector.NetworkPanel.prototype._closeVisibleRequest):
+ (WebInspector.NetworkPanel.prototype._toggleGridMode):
+ (WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
+ (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
+ (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries):
+ (WebInspector.NetworkTimeCalculator.prototype._lowerBound):
+ (WebInspector.NetworkTimeCalculator.prototype._upperBound):
+ (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
+ (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
+ (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
+ (WebInspector.NetworkDataGridNode):
+ (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
+ (WebInspector.NetworkDataGridNode.prototype.select):
+ (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
+ (WebInspector.NetworkDataGridNode.prototype.get selectable):
+ (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
+ (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
+ (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
+ (WebInspector.NetworkDataGridNode.prototype._fileName):
+ (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
+ (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
+ (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
+ (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
+ (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell):
+ (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
+ (WebInspector.NetworkDataGridNode.NameComparator):
+ (WebInspector.NetworkDataGridNode.SizeComparator):
+ (WebInspector.NetworkDataGridNode.InitiatorComparator):
+ (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
+ * inspector/front-end/NetworkRequest.js: Added.
+ (WebInspector.NetworkRequest):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode):
+ (WebInspector.RawSourceCode.prototype._requestFinished):
+ (WebInspector.RawSourceCode.prototype._createContentProvider):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.displayName):
+ (WebInspector.Resource.prototype.get request):
+ (WebInspector.Resource.prototype.set finished):
+ (WebInspector.Resource.prototype.set timing):
+ (WebInspector.Resource.prototype.set requestHeaders):
+ (WebInspector.Resource.prototype.set requestHeadersText):
+ (WebInspector.Resource.prototype.set responseHeaders):
+ (WebInspector.Resource.prototype.set responseHeadersText):
+ (WebInspector.Resource.prototype.requestContent):
+ * inspector/front-end/ResourceCookiesView.js:
+ (WebInspector.ResourceCookiesView):
+ (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
+ (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
+ * inspector/front-end/ResourceHeadersView.js:
+ (WebInspector.ResourceHeadersView):
+ (WebInspector.ResourceHeadersView.prototype._refreshURL):
+ (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
+ (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
+ (WebInspector.ResourceHeadersView.prototype._refreshFormData):
+ (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
+ (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
+ (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+ * inspector/front-end/ResourceTimingView.js:
+ (WebInspector.ResourceTimingView):
+ (WebInspector.ResourceTimingView.prototype.wasShown):
+ (WebInspector.ResourceTimingView.prototype._refresh):
+ (WebInspector.ResourceTimingView.createTimingTable):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype._frontendReused):
+ (WebInspector.ResourceTreeModel.prototype._onRequestUpdated):
+ (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
+ (WebInspector.ResourceTreeModel.prototype._createResource):
+ (WebInspector.ResourceTreeFrame):
+ (WebInspector.ResourceTreeFrame.prototype._addRequest):
+ * inspector/front-end/ResourceUtils.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/externs.js:
+ (WebInspector.networkRequestById):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.networkRequestById):
+ (WebInspector.openRequestInNetworkPanel):
+
+2012-04-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: fix category -> type refactoring implications.
+ https://bugs.webkit.org/show_bug.cgi?id=83680
+
+ Reviewed by Yury Semikhatsky.
+
+ We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
+ (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
+ (WebInspector.NetworkLogView.prototype._showCategory):
+ (WebInspector.NetworkLogView.prototype._hideCategory):
+ (WebInspector.NetworkLogView.prototype._filter):
+ (WebInspector.NetworkDataGridNode.prototype.refreshResource):
+ (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement):
+ (WebInspector.ResourceRevisionTreeElement):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid .network-type-script .icon):
+ (.network-log-grid.data-grid.small .network-type-script .icon):
+ (.network-log-grid.data-grid .network-type-document .icon):
+ (.network-log-grid.data-grid.small .network-type-document .icon):
+ (.network-log-grid.data-grid .network-type-stylesheet .icon):
+ (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
+ (.network-log-grid.data-grid .network-type-image .icon):
+ (.network-log-grid.data-grid.small .network-type-image .icon):
+ (.network-type-document .network-graph-bar):
+ (.network-type-document.resource-cached .network-graph-bar):
+ (.network-type-stylesheet .network-graph-bar):
+ (.network-type-stylesheet.resource-cached .network-graph-bar):
+ (.network-type-image .network-graph-bar):
+ (.network-type-image.resource-cached .network-graph-bar):
+ (.network-type-font .network-graph-bar):
+ (.network-type-font.resource-cached .network-graph-bar):
+ (.network-type-script .network-graph-bar):
+ (.network-type-script.resource-cached .network-graph-bar):
+ (.network-type-xhr .network-graph-bar):
+ (.network-type-xhr.resource-cached .network-graph-bar):
+ (.network-type-websocket .network-graph-bar):
+ (.network-type-websocket.resource-cached .network-graph-bar):
+ (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
+ * inspector/front-end/resourcesPanel.css:
+ (.resource-sidebar-tree-item.resources-type-image .icon):
+ (.resources-type-image .image-resource-icon-preview):
+ (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
+ (.children.small .resources-type-image .image-resource-icon-preview):
+ (.resource-sidebar-tree-item.resources-type-document .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
+ (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
+ (.resource-sidebar-tree-item.resources-type-font .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
+ (.resource-sidebar-tree-item.resources-type-script .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
+ (.resource-sidebar-tree-item.resources-type-xhr .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):
+
+2012-04-11 Arko Saha <arko@motorola.com>
+
+ Microdata: Implement cache mechanism for HTMLPropertiesCollection.
+ https://bugs.webkit.org/show_bug.cgi?id=80490
+
+ Reviewed by Ryosuke Niwa.
+
+ Implemented caching mechanism for HTMLPropertiesCollection.
+ propertyCache - contains microdata item properties.
+ itemRefElements - contains sorted microdata item and itemref elements.
+ propertyNames - contains microdata property names of the elements in the collection.
+ itemRefElementPosition - store the current position of itemRefElements.
+ hasItemRefElements - set to ture once we have sorted microdata item and itemref elements list i.e, itemRefElements.
+ Cache is invalidated only when dom tree modified. Whenever any query is made on HTMLPropertiesCollection,
+ result is returned from the cache. Earliar we used to calculate properties node list every time a query is made.
+
+ * html/HTMLPropertiesCollection.cpp:
+ (WebCore):
+ (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
+ (WebCore::HTMLPropertiesCollection::invalidateCacheIfNeeded):
+ (WebCore::HTMLPropertiesCollection::updateRefElements): Appends microdata item element and elements which
+ are added through itemref attribute in itemRefElements (in tree order).
+ (WebCore::nextNodeWithProperty):
+ (WebCore::HTMLPropertiesCollection::itemAfter): Takes parent base and previous item property as argument.
+ Finds the next item property in base.
+ (WebCore::HTMLPropertiesCollection::calcLength): Calculates the length of properties collection if length
+ is not available in the cache.
+ (WebCore::HTMLPropertiesCollection::length):
+ (WebCore::HTMLPropertiesCollection::firstProperty): Returns the first property in the collection.
+ (WebCore::HTMLPropertiesCollection::item):
+ (WebCore::HTMLPropertiesCollection::findProperties): Finds microdata item properties in the base element.
+ Appends the properties in propertyCache and property names in propertyNames.
+ (WebCore::HTMLPropertiesCollection::updateNameCache): It updates the propertyCache and propertyNames if hasNameCache is false.
+ (WebCore::HTMLPropertiesCollection::names):
+ (WebCore::HTMLPropertiesCollection::namedItem):
+ (WebCore::HTMLPropertiesCollection::hasNamedItem):
+ * html/HTMLPropertiesCollection.h:
+ (HTMLPropertiesCollection):
+
+2012-04-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ [Qt] Fix issues when using the WebView as ShaderEffectSource
+ https://bugs.webkit.org/show_bug.cgi?id=83587
+
+ Reviewed by Noam Rosenthal.
+
+ - Make sure that the bound frame buffer is preserved instead of binding
+ to the default one
+ - Accept a "mirrored" flag in beginPainting that we're applying on the
+ projection matrix just as with internal FBOs
+
+ The "flip" logic in createProjectionMatrix has been reversed and renamed to
+ mirrored so that FBO rendering is considered the special case and not the
+ other way around just like within Qt.
+
+ * platform/graphics/texmap/TextureMapper.h:
+ (WebCore::TextureMapper::beginPainting):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (TextureMapperGLData):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::createProjectionMatrix):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::TextureMapperGL::bindSurface):
+ * platform/graphics/texmap/TextureMapperGL.h:
+
+2012-04-11 Stephen Chenney <schenney@chromium.org>
+
+ Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
+ https://bugs.webkit.org/show_bug.cgi?id=83484
+
+ Unreviewed attempted build fix.
+
+ * dom/ContainerNodeAlgorithms.h: Adding Document.h include.
+
+2012-04-11 Luke Macpherson <macpherson@chromium.org>
+
+ Remove unnecessary assignments from CSSParser::parseLinearGradient().
+ https://bugs.webkit.org/show_bug.cgi?id=83661
+
+ Reviewed by Kentaro Hara.
+
+ No new tests / code cleanup only.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseLinearGradient):
+
+2012-04-11 Stephen Chenney <schenney@chromium.org>
+
+ Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
+ https://bugs.webkit.org/show_bug.cgi?id=83484
+
+ Reviewed by Hajime Morita.
+
+ The ContainerNode::removeAllChildren method does fast and dirty node removal.
+ As compared to ContainerNode::removeChildren, it does not include the
+ method to adopt the removed child node into the root document's TreeScope.
+ Rather, it leaves the existing TreeScope in place. However, the existing
+ TreeScope may be removed, causing a crash when something prevents the child
+ node from being deleted immediately. The fix is to modify the code in
+ ContainerNodeAlgorithms to do the TreeScope adoption.
+
+ Could not reproduce crash in layout test.
+
+ * dom/ContainerNodeAlgorithms.h:
+ (Private):
+ (WebCore::Private::NodeRemovalDispatcher::dispatch):
+ (WebCore::Private::addChildNodesToDeletionQueue):
+
+2012-04-11 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: showing summary view is very slow on a snapshot with thousands of constructors
+ https://bugs.webkit.org/show_bug.cgi?id=83682
+
+ Node content is created only when the node becomes visible in the corresponding view.
+ This saves a lot of time when openning summary/comparison view of a snapshot
+ with lots of different classes.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/DetailedHeapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotLazyGridNode):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
+ (WebInspector.HeapSnapshotConstructorNode):
+ (WebInspector.HeapSnapshotDiffNode):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotSortableDataGrid):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
+ (WebInspector.HeapSnapshotConstructorsDataGrid):
+ (WebInspector.HeapSnapshotDiffDataGrid):
+ (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
+ * inspector/front-end/heapProfiler.css:
+ (.detailed-heapshot-view .data-grid tr:empty):
+
+2012-04-11 Simon Pena <spena@igalia.com>
+
+ [GTK] media/event-attributes.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=71662
+
+ Reviewed by Philippe Normand.
+
+ In MediaPlayerPrivateGStreamer::didEnd, when EOS is reached, don't
+ synchronize position and duration on regular playback. That is:
+ synchronize it (and fire the durationChange signal) only on reverse
+ playback.
+
+ This change makes media/event-attributes.html pass. It was
+ previously failing because an additional durationChange signal was
+ emitted.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Avoid
+ sending durationChange signal on regular playback.
+
+2012-04-11 Andras Becsi <andras.becsi@nokia.com>
+
+ Fix the build with gcc 4.7.0
+ https://bugs.webkit.org/show_bug.cgi?id=83584
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests needed.
+
+ * Target.pri: Disable Werror on the ANGLE code since it has several recurring issues
+ because older versions of flex (<2.5.35) and bison (<2.5) generate code which
+ triggers warnings. This generated code is committed on each version update of ANGLE,
+ and it is very likely that the code is generated with older versions of the mentioned
+ tools.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::createForJSConstructor): Fails because of -Werror=extra
+ * platform/graphics/TiledBackingStoreClient.h: Fails because -Werror=delete-non-virtual-dtor,
+ gcc requires classes which have virtual methods to have a virtual destructor, if their instances
+ or the instances of their subclasses are deleted.
+ (WebCore::TiledBackingStoreClient::~TiledBackingStoreClient):
+ * platform/graphics/texmap/TextureMapperPlatformLayer.h: Ditto.
+ (WebCore::TextureMapperPlatformLayer::~TextureMapperPlatformLayer):
+
+2012-04-11 Kent Tamura <tkent@chromium.org>
+
+ [V8] Calendar Picker: Add a helper function to expose PagePopupClient::setValueAndClosePopup() to JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=83561
+
+ Reviewed by Adam Barth.
+
+ Add ScriptController::installFunctionsForPagePopup(), which add
+ window.setValueAndClosePopup() for JavaScript code in PagePopup
+ environment, and the function calls
+ WebCore::PagePopupClient::setValueAndClosePopup().
+
+ This patch introduces Supplement<DOMWindow> object to hold a
+ PagePopupClient object. It makes keeping a PagePopupClient easier.
+
+ * WebCore.gypi: Add DOMWindowPagePopup.{cpp,h}
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::setValueAndClosePopupCallback):
+ (WebCore::ScriptController::installFunctionsForPagePopup):
+ * bindings/v8/ScriptController.h:
+ (ScriptController): Add installFunctionsForPagePopup().
+ * page/DOMWindowPagePopup.cpp: Added.
+ (WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
+ (WebCore::DOMWindowPagePopup::supplementName):
+ Returns "DOMWindowPagePopup" as a key of this Supplement<DOMWindow>.
+ (WebCore::DOMWindowPagePopup::setValueAndClosePopup):
+ Gets a DOMWindowPagePopup from the window, then calls PagePopupClient::setValueAndClosePopup().
+ (WebCore::DOMWindowPagePopup::install):
+ On-demand creation of DOMWindowPagePopup doesn't work because it
+ must have a PagePopupClient object. We need to install
+ DOMWindowPagePopup explicitly.
+ * page/DOMWindowPagePopup.h: Added.
+
+2012-04-11 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ [chromium] Add Battery Status API support.
+
+ Add Battery Status API support to chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=83284
+
+ Reviewed by Adam Barth.
+
+ This change is covered by tests in batterystatus/.
+
+ * Modules/battery/BatteryController.cpp:
+ (WebCore::BatteryController::updateBatteryStatus):
+ (WebCore):
+ * Modules/battery/BatteryController.h:
+ (BatteryController):
+ * Modules/battery/BatteryManager.cpp:
+ (WebCore::BatteryManager::charging):
+ (WebCore::BatteryManager::chargingTime):
+ (WebCore::BatteryManager::dischargingTime):
+ (WebCore::BatteryManager::level):
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-04-11 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSS Regions]Add helper class for flow threads info in RenderView
+ https://bugs.webkit.org/show_bug.cgi?id=83464
+
+ Reviewed by David Hyatt.
+
+ This patch creates a new helper class FlowThreadController that will accommodate all the flow thread
+ related info from RenderView and moves all the data structures/methods from RenderView into this new class.
+ There is only one FlowThreadController object per RenderView and it can be retrieved using flowThreadController() method from RenderView.
+ The flow thread controller object is owned by the RenderView and it is created on demand only if there are flowing
+ threads in the page.
+
+ Since there is no change in functionality, there are no new tests added.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::webkitGetFlowByName):
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
+ * rendering/FlowThreadController.cpp: Added.
+ (WebCore):
+ (WebCore::FlowThreadController::create):
+ (WebCore::FlowThreadController::FlowThreadController):
+ (WebCore::FlowThreadController::~FlowThreadController):
+ (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
+ (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
+ * rendering/FlowThreadController.h: Added.
+ (WebCore):
+ (FlowThreadController):
+ (WebCore::FlowThreadController::currentRenderFlowThread):
+ (WebCore::FlowThreadController::setCurrentRenderFlowThread):
+ (WebCore::FlowThreadController::isRenderNamedFlowThreadOrderDirty):
+ (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
+ (WebCore::FlowThreadController::renderNamedFlowThreadList):
+ (WebCore::FlowThreadController::hasRenderNamedFlowThreads):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
+ (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
+ (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
+ (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::nextRendererForNode):
+ (WebCore::RenderNamedFlowThread::previousRendererForNode):
+ (WebCore::RenderNamedFlowThread::removeRegionFromThread):
+ (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
+ (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject):
+ (WebCore::RenderObject::enclosingRenderFlowThread):
+ (WebCore::RenderObject::willBeDestroyed):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderNamedFlowThreads):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::RenderView):
+ (WebCore::RenderView::layout):
+ (WebCore::RenderView::hasRenderNamedFlowThreads):
+ (WebCore::RenderView::flowThreadController):
+ * rendering/RenderView.h:
+ (WebCore):
+ (RenderView):
+
+2012-04-11 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Device Metrics] Implement dimension swapping
+ https://bugs.webkit.org/show_bug.cgi?id=83676
+
+ The change adds a "Swap dimensions" button that swaps the emulated device dimensions to
+ mimic the device rotation (give that the ORIENTATION_EVENTS feature is disabled in Chromium).
+
+ Reviewed by Yury Semikhatsky.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.swapDimensionsClicked):
+ (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
+
+2012-04-11 Kent Tamura <tkent@chromium.org>
+
+ Fix compiler warnings for generated CalendarPicker.cpp with VC++
+ https://bugs.webkit.org/show_bug.cgi?id=83672
+
+ Reviewed by Kentaro Hara.
+
+ * make-file-arrays.py:
+ (main): Do not generate literal integers larger than 127 for
+ members of char arrays. Use '\xHH' instead.
+
+2012-04-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: fix category -> type refactoring implications.
+ https://bugs.webkit.org/show_bug.cgi?id=83680
+
+ Reviewed by Yury Semikhatsky.
+
+ We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
+ (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
+ (WebInspector.NetworkLogView.prototype._showCategory):
+ (WebInspector.NetworkLogView.prototype._hideCategory):
+ (WebInspector.NetworkLogView.prototype._filter):
+ (WebInspector.NetworkDataGridNode.prototype.refreshResource):
+ (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement):
+ (WebInspector.ResourceRevisionTreeElement):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid .network-type-script .icon):
+ (.network-log-grid.data-grid.small .network-type-script .icon):
+ (.network-log-grid.data-grid .network-type-document .icon):
+ (.network-log-grid.data-grid.small .network-type-document .icon):
+ (.network-log-grid.data-grid .network-type-stylesheet .icon):
+ (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
+ (.network-log-grid.data-grid .network-type-image .icon):
+ (.network-log-grid.data-grid.small .network-type-image .icon):
+ (.network-type-document .network-graph-bar):
+ (.network-type-document.resource-cached .network-graph-bar):
+ (.network-type-stylesheet .network-graph-bar):
+ (.network-type-stylesheet.resource-cached .network-graph-bar):
+ (.network-type-image .network-graph-bar):
+ (.network-type-image.resource-cached .network-graph-bar):
+ (.network-type-font .network-graph-bar):
+ (.network-type-font.resource-cached .network-graph-bar):
+ (.network-type-script .network-graph-bar):
+ (.network-type-script.resource-cached .network-graph-bar):
+ (.network-type-xhr .network-graph-bar):
+ (.network-type-xhr.resource-cached .network-graph-bar):
+ (.network-type-websocket .network-graph-bar):
+ (.network-type-websocket.resource-cached .network-graph-bar):
+ (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
+ * inspector/front-end/resourcesPanel.css:
+ (.resource-sidebar-tree-item.resources-type-image .icon):
+ (.resources-type-image .image-resource-icon-preview):
+ (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
+ (.children.small .resources-type-image .image-resource-icon-preview):
+ (.resource-sidebar-tree-item.resources-type-document .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
+ (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
+ (.resource-sidebar-tree-item.resources-type-font .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
+ (.resource-sidebar-tree-item.resources-type-script .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
+ (.resource-sidebar-tree-item.resources-type-xhr .icon):
+ (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):
+
+2012-04-11 Noel Gordon <noel.gordon@gmail.com>
+
+ [GTK] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
+ https://bugs.webkit.org/show_bug.cgi?id=83657
+
+ Reviewed by Martin Robinson.
+
+ Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
+ guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
+ encoding mimeType. There is no need to also test mimeType.startsWith("image/")
+ because that is a given.
+
+ No new tests. Covered by existing fast/canvas/*toDataURL* tests.
+
+ * platform/graphics/gtk/ImageBufferGtk.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+
+2012-04-10 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix make distcheck issues.
+
+ * GNUmakefile.list.am: Add missing header file.
+
+2012-04-10 Adrienne Walker <enne@google.com>
+
+ [chromium] Signedness issue with code informing v8 of PatternSkia memory use
+ https://bugs.webkit.org/show_bug.cgi?id=83642
+
+ Reviewed by James Robinson.
+
+ The unary negation of size_t is still a size_t, so clamp and cast to
+ an int instead when adjusting v8 memory limits.
+
+ * platform/graphics/Pattern.h:
+ (Pattern):
+ * platform/graphics/skia/PatternSkia.cpp:
+ (WebCore::Pattern::platformPattern):
+
+2012-04-10 Noel Gordon <noel.gordon@gmail.com>
+
+ [chromium] ImageBuffer minor style fix: remove compound declaration
+ https://bugs.webkit.org/show_bug.cgi?id=83660
+
+ Reviewed by Kent Tamura.
+
+ No new tests. Covered by existing fast/canvas/*toDataURL* tests.
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+ (WebCore::ImageDataToDataURL):
+
+2012-04-10 Alexandre Elias <aelias@google.com>
+
+ Add gesture event enums for long-press and pinch
+ https://bugs.webkit.org/show_bug.cgi?id=83640
+
+ Reviewed by James Robinson.
+
+ Add new enum values GestureLongPress and GesturePinchBegin/End/Update,
+ along with no-op default handling.
+
+ No new tests. (No-op change.)
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ * platform/PlatformEvent.h:
+
+2012-04-10 Abhishek Arya <inferno@chromium.org>
+
+ Crash due to intruding float not removed from next siblings.
+ https://bugs.webkit.org/show_bug.cgi?id=83301
+
+ Reviewed by Eric Seidel.
+
+ Test: fast/block/float/intruding-float-not-removed-from-next-sibling-crash.html
+
+ markSiblingsWithFloatsForLayout currently only handled overhanging floats and made
+ checks for those by checking if logicalBottomForFloat > our logicalHeight. We need
+ to take care of intruding floats as well, since these can intrude into the neighbouring
+ blocks too. So, generalized the function to check all our next siblings if they contains
+ that float (one getting removed) and if yes, mark it and all its descendants for layout.
+ This fixes the crash.
+
+ For performance, we change the looping condition to iterate over the next sibling
+ blocks first and finding which ones can contain floats and then check it against
+ our floating object list. Currently, it is the other way around and is less
+ performant due to repeated calls to isRenderBlock(), isFloatingOrPositioned()
+ and avoidFloats().
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
+
+2012-04-10 Mike Lawther <mikelawther@chromium.org>
+
+ Prevent fallthrough to keep static analysis tools happy
+ https://bugs.webkit.org/show_bug.cgi?id=83639
+
+ Reviewed by Darin Adler.
+
+ No new tests - no new behaviour.
+
+ * css/LengthFunctions.cpp:
+ (WebCore::valueForLength):
+
+2012-04-10 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Don't expose the intrinsic padding concept to the code outside rendering
+ https://bugs.webkit.org/show_bug.cgi?id=83380
+
+ Reviewed by Eric Seidel.
+
+ No new tests, refactoring only.
+
+ The current code would expose the concept of intrinsic padding to every
+ object holding a renderer through an enum on the padding* functions.
+
+ This was very fragile as only the class using intrinsic padding should know about
+ its very existence, the rest of the code shouldn't have to special case for it.
+ There is one exception: the getComputedStyle logic needs the opposite value
+ rendering needs. To handle that, we make it more explicit what returns the
+ computed values vs the rendering values.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::sizingBox):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Updated those functions to use the new computedCSS* functions below.
+
+ * rendering/RenderBox.h:
+ (RenderBox):
+ (WebCore::RenderBox::computedCSSContentBoxRect):
+ This is the computed content box. It includes the intrinsic padding.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
+ (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
+ Renamed from padding* as they returned the CSS computed values.
+
+ * rendering/RenderBoxModelObject.h:
+ (RenderBoxModelObject):
+ Killed the enum paddingOptions!
+
+ (WebCore::RenderBoxModelObject::paddingTop):
+ (WebCore::RenderBoxModelObject::paddingBottom):
+ (WebCore::RenderBoxModelObject::paddingLeft):
+ (WebCore::RenderBoxModelObject::paddingRight):
+ (WebCore::RenderBoxModelObject::paddingBefore):
+ (WebCore::RenderBoxModelObject::paddingAfter):
+ (WebCore::RenderBoxModelObject::paddingStart):
+ (WebCore::RenderBoxModelObject::paddingEnd):
+ All padding* functions call the computedCSSPadding* ones above.
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paddingTop):
+ (WebCore::RenderTableCell::paddingBottom):
+ (WebCore::RenderTableCell::paddingLeft):
+ (WebCore::RenderTableCell::paddingRight):
+ (WebCore::RenderTableCell::paddingBefore):
+ (WebCore::RenderTableCell::paddingAfter):
+ Updated these functions after the renaming.
+
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ Updated the functions signature and decorated them with OVERRIDE.
+
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::paddingTop):
+ (WebCore::RenderMathMLBlock::paddingBottom):
+ (WebCore::RenderMathMLBlock::paddingLeft):
+ (WebCore::RenderMathMLBlock::paddingRight):
+ (WebCore::RenderMathMLBlock::paddingBefore):
+ (WebCore::RenderMathMLBlock::paddingAfter):
+ (WebCore::RenderMathMLBlock::paddingStart):
+ (WebCore::RenderMathMLBlock::paddingEnd):
+ * rendering/mathml/RenderMathMLBlock.h:
+ (RenderMathMLBlock):
+ Updated these functions after the renaming.
+
+ * rendering/mathml/RenderMathMLSquareRoot.cpp:
+ (WebCore::RenderMathMLSquareRoot::paint):
+ Updated this function to use computeCSSContentBoxRect.location().
+
+2012-04-10 Lauro Neto <lauro.neto@openbossa.org>
+
+ TextureMapperGL.cpp breaks build with OpenGL ES
+ https://bugs.webkit.org/show_bug.cgi?id=83622
+
+ Reviewed by Noam Rosenthal.
+
+ Add !defined(TEXMAP_OPENGL_ES_2) guards as suggested by
+ No'am Rosenthal.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::updateContents):
+
+2012-04-10 Kent Tamura <tkent@chromium.org>
+
+ Calendar Picker: Initialize CalendarPickerElement::m_popup
+ https://bugs.webkit.org/show_bug.cgi?id=83656
+
+ Reviewed by Hajime Morita.
+
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::CalendarPickerElement): Set 0 to m_popup.
+
+2012-04-10 Adam Klein <adamk@chromium.org>
+
+ CodeGeneratorV8 cleanup: eliminate redundant calls to IsRefPtrType
+ https://bugs.webkit.org/show_bug.cgi?id=83623
+
+ Reviewed by Adam Barth.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader): Always emit toV8(PassRefPtr), as all wrapped types are RefCounted.
+ (GenerateImplementation): Always emit code for derefObject, as all wrapped types are RefCounted.
+
+2012-04-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add OVERRIDE annotations for cc tree host and proxy interfaces
+ https://bugs.webkit.org/show_bug.cgi?id=83653
+
+ Reviewed by Adrienne Walker.
+
+ This adds OVERRIDE annotations to the implementations of the following interfaces:
+ - CCLayerTreeHostClient
+ - CCLayerTreeHostImplClient
+ - CCProxy
+ - LayerRendererChromiumClient
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ * platform/graphics/chromium/cc/CCProxy.h:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (CCSingleThreadProxy):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-04-10 David Grogan <dgrogan@chromium.org>
+
+ Notify observers of WorkerRunLoop stopping before the V8 isolate dies.
+ https://bugs.webkit.org/show_bug.cgi?id=83104
+
+ PlatformSupport::didStopWorkerRunLoop ultimately causes
+ ~V8AbstractEventListener to call
+ v8::Local<v8::Object>::New(m_listener) after the V8 isolate has been
+ disposed, which manifests as a crash in V8.
+
+ The current code in trunk runs this at shutdown:
+ 1) removeAllDOMObjects()
+ 2) dispose of V8
+ 3) didStopWorkerRunLoop() <-- problem
+
+ This patch changes the order to be:
+ 1) removeAllDOMObjects()
+ 2) didStopWorkerRunLoop()
+ 3) dispose of V8
+
+ We put didStopWorkerRunLoop after removeAllDOMObjects because we don't
+ want chromium code that runs on a webcore worker to run after it
+ receives the didStopWorkerRunLoop signal. The destructors of some IDB
+ objects are run by removeAllDOMObjects, so putting
+ didStopWorkerRunLoop before removeAllDOMObjects would violate that
+ constraint.
+
+ It's possible that there's a lower layer fix available in V8 or the
+ bindings.
+
+ Reviewed by David Levin.
+
+ Test: storage/indexeddb/pending-version-change-on-exit.html
+
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+ New location of didStopWorkerRunLoop. removeAllDOMObjects and V8
+ disposal are called here, to run something between them it also has
+ to go here.
+
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread): Old location of
+ didStopWorkerRunLoop.
+
+2012-04-10 Adam Klein <adamk@chromium.org>
+
+ Break the association between form controls and their owner when the owner leaves the tree
+ https://bugs.webkit.org/show_bug.cgi?id=81420
+
+ Reviewed by Kent Tamura.
+
+ When parsing malformed markup, it's possible for a form and a
+ form-associated element to not be in an ancestor/descendant relationship.
+ When that form is later removed from the tree, the relationship needs to be updated.
+
+ Test: fast/forms/parser-associated-form-removal.html
+
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::FormAssociatedElement):
+ (WebCore::FormAssociatedElement::formRemovedFromTree): New method called when
+ by the form when it's being removed: handles either resetting the
+ owner or storing a bit to optimize away a second walk up the tree.
+ * html/FormAssociatedElement.h:
+ (FormAssociatedElement):
+ * html/HTMLFormElement.cpp:
+ (WebCore::findRoot): Simple helper method copied from FormAssociatedElement (this should probably live elsewhere).
+ (WebCore::HTMLFormElement::removedFromTree): Override removedFromTree to notify associated elements of the removal.
+ * html/HTMLFormElement.h:
+ (HTMLFormElement):
+
+2012-04-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add OVERRIDE annotations for cc scheduler-related client interfaces
+ https://bugs.webkit.org/show_bug.cgi?id=83646
+
+ Reviewed by Adrienne Walker.
+
+ This adds OVERRIDE annotations to the implementations of the following interfaces:
+ - CCFrameRateControllerClient
+ - CCSchedulerClient
+ - CCTimeSource
+ - CCTimeSourceClient
+ - CCTimerClient
+
+ * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-04-10 Kent Tamura <tkent@chromium.org>
+
+ Add a function to set empty clients to a PageClients
+ https://bugs.webkit.org/show_bug.cgi?id=83555
+
+ Reviewed by Adam Barth.
+
+ No new tests because of no behavior change.
+
+ * CMakeLists.txt: Add EmptyClients.cpp.
+ * GNUmakefile.list.am: ditto.
+ * Target.pri: ditto.
+ * WebCore.gypi: ditto.
+ * WebCore.vcproj/WebCore.vcproj: ditto.
+ * WebCore.xcodeproj/project.pbxproj: ditto.
+
+ * loader/EmptyClients.cpp: Added.
+ (WebCore::fillWithEmptyClients): Some code was moved from SVGImage::dataChanged().
+ * loader/EmptyClients.h: Add the declaration of fillWithEmptyClients().
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged): Moved some code to fillWithEmptyClients().
+
+2012-04-10 James Robinson <jamesr@chromium.org>
+
+ [chromium] Fold LayerChromium::updateCompositorResources into main update
+ https://bugs.webkit.org/show_bug.cgi?id=83530
+
+ Reviewed by Adrienne Walker.
+
+ We used to update layer contents in two phases. The first, called paintContentsIfDirty() /
+ idlePaintContentsIfDirty(), ran on the main WebKit thread and took care of any main-thread work - primarily
+ WebCore painting as the name implies. The second, called updateCompositorResources(), ran on the compositor
+ thread with the main thread blocked and took care of any actions that required direct access to the compositor's
+ context - such as texture uploads into compositor-managed textures. Now that all compositor texture operations
+ are queued on a CCTextureUpdater, the compositor can take care of these operations on the correct thread at the
+ right time without needing layer-specific logic.
+
+ This folds both functions into one function called LayerChromium::update() (and idleUpdate() for idle
+ prepainting) and adds a CCTextureUpdater reference for queuing up texture operations.
+
+ The CCProxy is responsible for the lifetime of the CCTextureUpdater. In the threaded proxy, the updater is
+ tied to the lifetime of the beginFrame operation. Specifically it's constructed on the impl thread when the
+ beginFrame message is generated, is accessed by reference on the main thread during the commit, and then
+ destroyed by the proxy when the commit is complete. CCTextureUpdater::update should only be called on the impl
+ thread by the proxy. In the future, it might be worth exposing a more limited interface to layers.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::update):
+ * platform/graphics/chromium/Canvas2DLayerChromium.h:
+ (Canvas2DLayerChromium):
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::update):
+ (WebCore::ContentLayerChromium::idleUpdate):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (ContentLayerChromium):
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerTextureUpdater::updateLayerRect):
+ (WebCore::ImageLayerChromium::update):
+ * platform/graphics/chromium/ImageLayerChromium.h:
+ (ImageLayerChromium):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::update):
+ (WebCore::LayerChromium::idleUpdate):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::UpdatableTile::isDirty):
+ (WebCore::UpdatableTile::copyAndClearDirty):
+ (WebCore::UpdatableTile::isDirtyForCurrentFrame):
+ (UpdatableTile):
+ (WebCore::UpdatableTile::UpdatableTile):
+ (WebCore::TiledLayerChromium::TiledLayerChromium):
+ (WebCore::TiledLayerChromium::createTile):
+ (WebCore::TiledLayerChromium::invalidateRect):
+ (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
+ (WebCore::TiledLayerChromium::updateTiles):
+ (WebCore::TiledLayerChromium::reserveTextures):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ (WebCore::TiledLayerChromium::updateLayerRect):
+ (WebCore::TiledLayerChromium::idleUpdateLayerRect):
+ (WebCore::TiledLayerChromium::needsIdlePaint):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::update):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebGLLayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::commitComplete):
+ (WebCore::CCLayerTreeHost::updateLayers):
+ (WebCore::CCLayerTreeHost::reserveTextures):
+ (WebCore::CCLayerTreeHost::update):
+ (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
+ (WebCore::CCLayerTreeHost::paintLayerContents):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::doCommit):
+ (WebCore::CCSingleThreadProxy::commitIfNeeded):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (CCSingleThreadProxy):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::scheduledActionBeginFrame):
+ (WebCore::CCThreadProxy::beginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionCommit):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
+ (BeginFrameAndCommitState):
+
+2012-04-10 Adam Klein <adamk@chromium.org>
+
+ Store V8 SVGElementInstance wrappers in the regular DOMObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=83615
+
+ Reviewed by Adam Barth.
+
+ Historically, these wrappers had their own map, but there doesn't seem
+ to be any particular reason for this. The V8GCController doesn't
+ treat them specially (which is the reason you normally need a separate
+ wrapper map).
+
+ No new tests, no expected change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GetDomMapName):
+ * bindings/v8/DOMDataStore.cpp:
+ (WebCore::DOMDataStore::DOMDataStore):
+ (WebCore::DOMDataStore::getDOMWrapperMap):
+ * bindings/v8/DOMDataStore.h:
+ (DOMDataStore):
+ * bindings/v8/ScopedDOMDataStore.cpp:
+ (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
+ (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.cpp:
+ (WebCore::StaticDOMDataStore::StaticDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.h:
+ (StaticDOMDataStore):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::removeAllDOMObjects):
+ * bindings/v8/V8DOMMap.h:
+ (WebCore):
+ * bindings/v8/V8DOMWrapper.cpp:
+
+2012-04-10 Noel Gordon <noel.gordon@gmail.com>
+
+ [Qt] Separate image encoding from dataURL construction
+ https://bugs.webkit.org/show_bug.cgi?id=83132
+
+ Reviewed by Noam Rosenthal.
+
+ Remove the implicit assumption that a dataURL is the only desired output format
+ of the image encoding phase.
+
+ No new tests, refactoring only, covered by existing canvas tests.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::encodeImage): Output the encoded image to the provided QByteArray.
+ (WebCore):
+ (WebCore::ImageBuffer::toDataURL) Format the dataURL encoding of the mimeType
+ encoded image data here. Clarify the comment.
+
+2012-04-10 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for WinCE after r113730.
+
+ * platform/FractionalLayoutUnit.h:
+ (WebCore::FractionalLayoutUnit::isInBounds):
+
+2012-04-10 Greg Billock <gbillock@google.com>
+
+ Add transfer map argument to Intent constructor
+ http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
+ This adds the ability to pass transferables (i.e. MessagePorts)
+ through web intents, and puts the calling convention in line
+ with the Web Messaging spec:
+ http://dev.w3.org/html5/postmsg/
+
+ Implementation in chromium API follows the port-passing method
+ of PlatformMessagePortChannel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=80200
+
+ Reviewed by Adam Barth.
+
+ * Modules/intents/Intent.cpp:
+ (WebCore::Intent::create):
+ * Modules/intents/Intent.idl:
+ * WebCore.gypi:
+ * bindings/v8/custom/V8IntentCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8Intent::constructorCallback):
+
+2012-04-10 Patrick Gansterer <paroga@webkit.org>
+
+ Cleanup wtf/Platform.h and config.h files
+ https://bugs.webkit.org/show_bug.cgi?id=83431
+
+ Reviewed by Eric Seidel.
+
+ The ENABLE() and USE() macros take care about the case when the flag
+ isn't defined. So there is no need to define anything with 0.
+
+ Also move duplicated code from the config.h files to Platform.h and
+ merge a few preprocessor commands to make the file more readable.
+
+ * config.h:
+
+2012-04-10 Adam Barth <abarth@webkit.org>
+
+ Limit -apple- and -khtml- to ENABLE(DASHBOARD_SUPPORT)
+ https://bugs.webkit.org/show_bug.cgi?id=83256
+
+ Reviewed by Eric Seidel.
+
+ As recommended by David Hyatt in
+ <https://lists.webkit.org/pipermail/webkit-dev/2010-July/013536.html>,
+ we should phase out support for -khtml- and -apple- vendor prefixes in
+ CSS (in favor of -webkit-).
+
+ As noted in <https://bugs.webkit.org/show_bug.cgi?id=42093#c29>, Dave's
+ proposal is a bit too agressive. These prefixes appear to be needed
+ for a number of dashboard widgets. For that reason, this patch limits
+ the prefixes to ENABLE(LEGACY_CSS_VENDOR_PREFIXES).
+
+ This patch enables ENABLE(LEGACY_CSS_VENDOR_PREFIXES) on apple-mac and
+ apple-win, which will let us learn whether removing these prefixes
+ causes a compatibility problem on the broader web.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::getCSSPropertyNamePrefix):
+ (WebCore::cssPropertyIDForJSCSSPropertyName):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::cssPropertyInfo):
+ * css/CSSParser.cpp:
+ (WebCore::cssPropertyID):
+
+2012-04-10 Levi Weintraub <leviw@chromium.org>
+
+ Clean up multiple RenderedPosition::absoluteRect definitions and correct LayoutUnit usage
+ https://bugs.webkit.org/show_bug.cgi?id=83604
+
+ Reviewed by Julien Chaffraix.
+
+ Removing unnecessary definitions of absoluteRect and replacing them with a single public
+ version that's more explicit about its contract.
+
+ Also correcting a LayoutUnit misuse, as rects in absolute coordinates should be returned
+ using integers, not LayoutUnits. See https://trac.webkit.org/wiki/LayoutUnit for details.
+
+ No new tests. No change in behavior.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::firstRectForRange):
+ * editing/RenderedPosition.cpp:
+ (WebCore::RenderedPosition::absoluteRect): Pixel snapping the local rect before converting
+ to absolute coordinates.
+ * editing/RenderedPosition.h:
+ (RenderedPosition):
+
+2012-04-10 Yael Aharon <yael.aharon@nokia.com>
+
+ Initial support for fixed position elements in Qt WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=81786
+
+ Reviewed by Noam Rosenthal.
+
+ When the setting acceleratedCompositingForFixedPositionEnabled is true, we update
+ the position of fixed layers, and send updates to the UI process as we scroll.
+ Before painting, TextureMapperLayer receives a delta of the scroll positions between the UI
+ and the web processes, and adjusts its transform position accordingly.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setFixedVisibleContentRect):
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::setScrollPositionDelta):
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (TextureMapperLayer):
+
+2012-04-10 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: do not expose raw methods from generated types
+ https://bugs.webkit.org/show_bug.cgi?id=83390
+
+ Reviewed by Yury Semikhatsky.
+
+ Intermediate classes InspectorObjectBase and InspectorArrayBase are created. They have all raw methos
+ protected. InspectorObject and InspectorArray now inherit the corresponding base classes with exposing
+ all their protected methods.
+
+ "Open types" are left inheriting from InspectorObject, plus field name constants are generated for
+ an easy random access to all properties.
+
+ All the client code is fixed to use type-safe API rather than raw access methods in function parameter
+ and return types and bodies.
+
+ * inspector/CodeGeneratorInspector.py:
+ (RawTypes.Object):
+ (RawTypes.Object.get_setter_name):
+ (RawTypes.Array):
+ (RawTypes.Array.get_setter_name):
+ (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
+ (Array):
+ (Generator):
+ (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
+ (Generator.process_types.GenerateContext):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::querySelectorAll):
+ (WebCore::InspectorDOMAgent::getEventListenersForNode):
+ (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+ * inspector/InspectorDOMAgent.h:
+ (InspectorDOMAgent):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::buildObjectForSearchResult):
+ (WebCore::InspectorPageAgent::searchInResources):
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::InspectorResourceAgent::didReceiveResponse):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::fillMediaListChain):
+ (WebCore::InspectorStyle::styleWithProperties):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorObjectBase::~InspectorObjectBase):
+ (WebCore::InspectorObjectBase::asObject):
+ (WebCore::InspectorObjectBase::openAccessors):
+ (WebCore):
+ (WebCore::InspectorObjectBase::getBoolean):
+ (WebCore::InspectorObjectBase::getString):
+ (WebCore::InspectorObjectBase::getObject):
+ (WebCore::InspectorObjectBase::getArray):
+ (WebCore::InspectorObjectBase::get):
+ (WebCore::InspectorObjectBase::remove):
+ (WebCore::InspectorObjectBase::writeJSON):
+ (WebCore::InspectorObjectBase::InspectorObjectBase):
+ (WebCore::InspectorArrayBase::~InspectorArrayBase):
+ (WebCore::InspectorArrayBase::asArray):
+ (WebCore::InspectorArrayBase::writeJSON):
+ (WebCore::InspectorArrayBase::InspectorArrayBase):
+ (WebCore::InspectorArrayBase::get):
+ * inspector/InspectorValues.h:
+ (InspectorObjectBase):
+ (InspectorObject):
+ (WebCore::InspectorObject::create):
+ (WebCore):
+ (InspectorArrayBase):
+ (WebCore::InspectorArrayBase::length):
+ (InspectorArray):
+ (WebCore::InspectorArray::create):
+ (WebCore::InspectorObjectBase::find):
+ (WebCore::InspectorObjectBase::setBoolean):
+ (WebCore::InspectorObjectBase::setNumber):
+ (WebCore::InspectorObjectBase::setString):
+ (WebCore::InspectorObjectBase::setValue):
+ (WebCore::InspectorObjectBase::setObject):
+ (WebCore::InspectorObjectBase::setArray):
+ (WebCore::InspectorArrayBase::pushBoolean):
+ (WebCore::InspectorArrayBase::pushInt):
+ (WebCore::InspectorArrayBase::pushNumber):
+ (WebCore::InspectorArrayBase::pushString):
+ (WebCore::InspectorArrayBase::pushValue):
+ (WebCore::InspectorArrayBase::pushObject):
+ (WebCore::InspectorArrayBase::pushArray):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+
+2012-04-10 Philip Rogers <pdr@google.com>
+
+ Remove unnecessary calls to RenderSVGShape::createShape()
+ https://bugs.webkit.org/show_bug.cgi?id=83598
+
+ Reviewed by Rob Buis.
+
+ RenderSVGShape::strokeContains contains calls to fall back to path stroke hit detection
+ in several cases (dashed strokes, for example). One of these cases, a check for isStyled,
+ is not needed and is always true for Ellipses, Circles, and Rects (all styled elements).
+ This change removes the check for isStyled.
+
+ No new tests as this only affects performance, not test results.
+
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::strokeContains):
+
+2012-04-10 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10912486> CanvasRenderingContext2D does not expose its backing store resolution
+ https://bugs.webkit.org/show_bug.cgi?id=83619
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/canvas/2d.backingStorePixelRatio.html
+
+ Added a backingStorePixelRatio attribute to CanvasRenderingContext2D, as proposed in
+ <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The attribute
+ is prefixed with “webkit” for now.
+
+ * html/HTMLCanvasElement.h:
+ (WebCore::HTMLCanvasElement::deviceScaleFactor): Added this getter.
+ * html/canvas/CanvasRenderingContext2D.h:
+ (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Added. Returns the canvas
+ element’s device scale factor.
+ (CanvasRenderingContext2D):
+ * html/canvas/CanvasRenderingContext2D.idl: Added webkitBackingStorePixelRatio as a
+ read-only attribute.
+
+2012-04-10 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Segmentation fault in JS drop-down menus in facebook.com
+ https://bugs.webkit.org/show_bug.cgi?id=82896
+
+ Reviewed by Chris Fleizach.
+
+ Make sure changes introduced with r110819 affect to the Mac
+ platform only, since they depend on platform specific behaviour,
+ as not all the platforms treat attachments in the same way.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::updateChildrenIfNecessary):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ (WebCore::AccessibilityObject::detachFromParent):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore):
+ (WebCore::AccessibilityRenderObject::addChildren):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ (WebCore::AccessibilityObject::detachFromParent):
+ (WebCore):
+
+2012-04-10 Andreas Kling <kling@webkit.org>
+
+ REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter.
+ <http://webkit.org/b/83540>
+
+ Reviewed by Antti Koivisto.
+
+ Changed the behavior of getPropertyCSSValueInternal() to actually return the internal
+ value rather than a cloned one. There is an assertion in the CSSValue bindings that
+ will catch anyone trying to expose these values to the web.
+
+ This avoids constructing "safe" CSSValue objects in the bindings layer, for the cases
+ where we only want to extract the cssText or numeric value. These cloned objects are
+ only needed when exposing fully-fledged CSSValues to the web, which must be tied to
+ a single document.
+
+ * css/CSSStyleDeclaration.h:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+
+2012-04-10 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [Qt][WK2] Manage graphics buffers in the web process
+ https://bugs.webkit.org/show_bug.cgi?id=78675
+
+ Added WebCore::GraphicsSurface, a wrapper class to a platform-dependant
+ surface that can be accessed efficiently by both the CPU and the GPU.
+ This will allow fast texture uploads for WebKit2, and in the future
+ fast copies for 2D canvas and WebGL.
+ The first implementation is for Mac using IOSurfaces.
+
+ TextureMapperGL had to be modified to use GL_UNSIGNED_INT_8_8_8_8_REV
+ for textures on Mac, since that's the native pixel format of BGRA
+ IOSurfaces.
+
+ Though this feature is not written in a Qt-specific way, it's currently
+ only enabled for Qt and is protected by USE(GRAPHICS_SURFACE).
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Covered by existing API tests.
+
+ * Target.pri:
+ * WebCore.pri:
+ * platform/graphics/surfaces/GraphicsSurface.cpp: Added.
+ * platform/graphics/surfaces/GraphicsSurface.h: Added.
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: Added.
+ * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp: Added.
+ (WebCore::GraphicsSurface::didReleaseImage):
+ (WebCore):
+ (WebCore::GraphicsSurface::platformBeginPaint):
+ (WebCore::GraphicsSurface::createReadOnlyImage):
+ * platform/graphics/texmap/TextureMapper.h:
+ (WebCore::BitmapTexture::isOpenGLBacked):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::toBitmapTextureGL):
+ (WebCore):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::BitmapTextureGL::isOpenGLBacked):
+ (WebCore):
+
+2012-04-10 Alexei Filippov <alexeif@chromium.org>
+
+ Web Inspector: split nodes and edges array in heap profiler serialization.
+ https://bugs.webkit.org/show_bug.cgi?id=83465
+
+ Frontend is now able to read format when nodes and edges arrive
+ in two separate arrays.
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotLoader.prototype._parseIntArray):
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ (WebInspector.HeapSnapshot):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
+
+2012-04-10 Dave Tharp <dtharp@codeaurora.org>
+
+ CSS box-shadow default color should be something other than transparent
+ https://bugs.webkit.org/show_bug.cgi?id=58511
+
+ Reviewed by Simon Fraser.
+
+ If box-shadow or text-shadow color is not specified, color defaults to
+ the value specified in the 'color' property of the element (as specified in W3C
+ spec).
+
+ Test: fast/text/text-shadow-no-default-color.html. Also existing
+ tests ietestcenter/css3/box-shadow-002 and ietestcenter/css3/box-shadow-003
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-04-10 Chris Rogers <crogers@google.com>
+
+ AudioParam must support connections from audio-rate signals
+ https://bugs.webkit.org/show_bug.cgi?id=83524
+
+ Reviewed by Eric Carlson.
+
+ In the Web Audio API, it's possible to connect one AudioNode to another AudioNode.
+ Similary we should allow an AudioNode to connect to an AudioParam, thus controlling
+ a parameter with an audio-rate signal. This is important in many audio processing
+ applications.
+
+ Test: webaudio/audioparam-connect-audioratesignal.html
+
+ Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
+ * Modules/webaudio/AudioGainNode.cpp:
+ (WebCore::AudioGainNode::process):
+
+ * Modules/webaudio/AudioNode.cpp:
+ (WebCore::AudioNode::connect): Add connect() method from AudioNode -> AudioParam.
+ (WebCore):
+ (WebCore::AudioNode::disconnect):
+ (WebCore::AudioNode::finishDeref):
+ Use AudioNodeOutput::disconnectAll() instead of AudioNodeOutput::disconnectAllInputs().
+ * Modules/webaudio/AudioNode.h: Add connect() method from AudioNode -> AudioParam.
+ (WebCore):
+ (AudioNode):
+ * Modules/webaudio/AudioNode.idl: Add connect() method from AudioNode -> AudioParam.
+
+ Implement support for an AudioNodeOutput to fanout to multiple AudioParams.
+ * Modules/webaudio/AudioNodeOutput.cpp:
+ (WebCore::AudioNodeOutput::AudioNodeOutput):
+ (WebCore::AudioNodeOutput::updateRenderingState): Update rendering state related to AudioParams.
+ (WebCore::AudioNodeOutput::pull): pull() must now take into account fanout to AudioParams for in-place processing.
+ (WebCore::AudioNodeOutput::fanOutCount):
+ (WebCore):
+ (WebCore::AudioNodeOutput::paramFanOutCount): New method keeping track of number of connections to AudioParams.
+ (WebCore::AudioNodeOutput::renderingParamFanOutCount): New method keeping track of number of connections to AudioParams for rendering.
+ (WebCore::AudioNodeOutput::addParam): Add a connection to an AudioParam.
+ (WebCore::AudioNodeOutput::removeParam): Remove a connection to an AudioParam.
+ (WebCore::AudioNodeOutput::disconnectAllParams): Remove all connections to AudioParams.
+ (WebCore::AudioNodeOutput::disconnectAll): New method to disconnect all AudioNodeInputs and AudioParams.
+ * Modules/webaudio/AudioNodeOutput.h:
+ (AudioNodeOutput):
+
+ Allow an AudioParam to accept a connection from an AudioNodeOutput, thus being controlled
+ by an audio-rate signal.
+ * Modules/webaudio/AudioParam.cpp:
+ (WebCore::AudioParam::calculateSampleAccurateValues): Calculates sample-accurate values from timeline or an AudioNode.
+ (WebCore):
+ (WebCore::AudioParam::calculateAudioRateSignalValues): Calculates sample-accurate values from an AudioNode.
+ (WebCore::AudioParam::calculateTimelineValues): Calculates sample-accurate values scheduled on the timeline.
+ (WebCore::AudioParam::connect): Connect from an AudioNodeOutput for control from an audio-rate signal.
+ (WebCore::AudioParam::disconnect): Disconnect from an AudioNodeOutput.
+ * Modules/webaudio/AudioParam.h:
+ (WebCore):
+ (WebCore::AudioParam::AudioParam):
+ (WebCore::AudioParam::hasSampleAccurateValues): Change name from hasTimelineValues() and return true
+ either if we have timeline values or if we've been connected from an AudioNode.
+ (AudioParam):
+
+ Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
+ * Modules/webaudio/Oscillator.cpp:
+ (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
+ (WebCore::Oscillator::process):
+
+2012-04-10 Patrick Gansterer <paroga@webkit.org>
+
+ [CMake] Enable USE_FOLDERS property
+ https://bugs.webkit.org/show_bug.cgi?id=83571
+
+ Reviewed by Daniel Bates.
+
+ Setting the FOLDER property on targets gives more structure
+ to the generated Visual Studio solutions.
+ This does not affect other CMake generators.
+
+ * CMakeLists.txt:
+
+2012-04-10 Dominik Röttsches <dominik.rottsches@linux.intel.com>
+
+ [CMake] CMake SVG Code Generation fails to generate code for extra defines
+ https://bugs.webkit.org/show_bug.cgi?id=83562
+
+ Reviewed by Rob Buis.
+
+ Fixing CMakeLists.txt to generate correct extra defines for SVG code generator.
+
+ * CMakeLists.txt:
+
+2012-04-10 Abhishek Arya <inferno@chromium.org>
+
+ Crash due to captions list not updated after section recalc.
+ https://bugs.webkit.org/show_bug.cgi?id=83552
+
+ Reviewed by Julien Chaffraix.
+
+ Test: fast/table/table-caption-not-removed-crash.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild): no need to set the need for
+ section recalc. It was needed in old code when we had more than
+ one caption and we need to call section recalc to destroy the other
+ captions.
+ (WebCore::RenderTable::recalcSections): need to rebuild captions list.
+ This is how the old code worked before r100177. Basically, children can
+ moved without calling RenderTable::removeChild, so we should depend on
+ recalcSections to update our captions list. Also, fix a style nit of aligning
+ case labels with the switch statement.
+
+2012-04-10 Anders Carlsson <andersca@apple.com>
+
+ Unreviewed, rolling out r113611.
+ http://trac.webkit.org/changeset/113611
+ https://bugs.webkit.org/show_bug.cgi?id=71541
+
+ Broke fast/forms/basic-textareas.html
+
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hasHorizontalOverflow):
+ (WebCore::RenderLayer::hasVerticalOverflow):
+
+2012-04-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113734.
+ http://trac.webkit.org/changeset/113734
+ https://bugs.webkit.org/show_bug.cgi?id=83606
+
+ causing a bunch of unrelated test failures (Requested by
+ simonjam on #webkit).
+
+ * Modules/battery/BatteryController.cpp:
+ * Modules/battery/BatteryController.h:
+ (BatteryController):
+ * Modules/battery/BatteryManager.cpp:
+ (WebCore::BatteryManager::charging):
+ (WebCore::BatteryManager::chargingTime):
+ (WebCore::BatteryManager::dischargingTime):
+ (WebCore::BatteryManager::level):
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-04-10 Adam Klein <adamk@chromium.org>
+
+ Add setJSWrapperForActiveDOMNode and use it for Nodes that are also ActiveDOMObjects
+ https://bugs.webkit.org/show_bug.cgi?id=83528
+
+ Reviewed by Kentaro Hara.
+
+ Instead of using a run-time call to isActiveNode to determine which
+ map to put a Node wrapper in, generate the proper call in the CodeGenerator.
+
+ This was originally part of r112318, which got rolled out due to OOM concerns.
+ I'm splitting it into smaller pieces so that each can be landed and
+ watched for issues seperately.
+
+ No new tests, no change in behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateConstructorCallback): Use new GetDomMapName function to
+ figure out which setJSWrapper to call.
+ (GenerateNamedConstructorCallback): ditto.
+ (GetDomMapFunction): Delegate to GetDomMapName for logic.
+ (GetDomMapName): New helper factored out of GetDomMapFunction.
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Assert !isActiveNode instead of branching on it.
+ (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): New method split ouf of the above.
+ Assert isActiveNode instead of branching on it.
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+
+2012-04-10 Luke Macpherson <macpherson@chromium.org>
+
+ Pass PropertyHandler by reference in CSSStyleApplyProperty.h.
+ https://bugs.webkit.org/show_bug.cgi?id=83551
+
+ Reviewed by Kentaro Hara.
+
+ No new tests / cleanup only.
+
+ * css/CSSStyleApplyProperty.h:
+ (WebCore::CSSStyleApplyProperty::setPropertyHandler):
+
+2012-04-10 Luke Macpherson <macpherson@chromium.org>
+
+ Pass FontDescription as const reference instead of by value in CSSStyleSelector.h.
+ https://bugs.webkit.org/show_bug.cgi?id=83548
+
+ Reviewed by Kentaro Hara.
+
+ FontDescription is relatively large, so pass-by-reference is preferred.
+
+ No new tests / code cleanup only.
+
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::fontDescription):
+ (WebCore::CSSStyleSelector::parentFontDescription):
+ (WebCore::CSSStyleSelector::setFontDescription):
+
+2012-04-10 Adam Klein <adamk@chromium.org>
+
+ Add TestNode.idl to run-binding-tests
+ https://bugs.webkit.org/show_bug.cgi?id=83599
+
+ Reviewed by Adam Barth.
+
+ TestNode.idl is a minimized version of Node.idl with enough attributes
+ to exercise CodeGenerator.pm's handling of Node subtypes.
+
+ * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Added.
+ * bindings/scripts/test/CPP/WebDOMTestNode.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestNode.h: Added.
+ * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h: Added.
+ * bindings/scripts/test/JS/JSTestNode.cpp: Added.
+ * bindings/scripts/test/JS/JSTestNode.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestNode.h: Added.
+ * bindings/scripts/test/ObjC/DOMTestNode.mm: Added.
+ * bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Added.
+ * bindings/scripts/test/TestNode.idl: Added.
+ * bindings/scripts/test/V8/V8TestNode.cpp: Added.
+ * bindings/scripts/test/V8/V8TestNode.h: Added.
+
+2012-04-10 David Barton <dbarton@mathscribe.com>
+
+ msqrt's implied mrow should do operator stretching
+ https://bugs.webkit.org/show_bug.cgi?id=82353
+
+ Reviewed by Julien Chaffraix.
+
+ An <msqrt> with more than one child is supposed to surround them with an implied <mrow>.
+ This patch does this, and thus includes vertical operator stretching. We also fix some
+ problems with the old RenderMathMLSquareRoot.cpp: possibly shared RenderStyles were
+ being modified, and layout() was using heights of children without checking whether they
+ needed layout themselves first.
+
+ To leave room for the radical sign, we use intrinsic padding. This is simpler and more
+ efficient than using anonymous RenderStyles.
+
+ Added tests to mo-stretch.html and style.xhtml. Regression tests are in roots.xhtml.
+
+ * css/mathml.css:
+ (msqrt):
+ * rendering/RenderBoxModelObject.h:
+ (RenderBoxModelObject):
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::RenderMathMLBlock):
+ (WebCore::RenderMathMLBlock::paddingTop):
+ (WebCore::RenderMathMLBlock::paddingBottom):
+ (WebCore::RenderMathMLBlock::paddingLeft):
+ (WebCore::RenderMathMLBlock::paddingRight):
+ (WebCore::RenderMathMLBlock::paddingBefore):
+ (WebCore::RenderMathMLBlock::paddingAfter):
+ (WebCore::RenderMathMLBlock::paddingStart):
+ (WebCore::RenderMathMLBlock::paddingEnd):
+ * rendering/mathml/RenderMathMLBlock.h:
+ (RenderMathMLBlock):
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::RenderMathMLRow):
+ (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
+ * rendering/mathml/RenderMathMLRow.h:
+ (RenderMathMLRow):
+ * rendering/mathml/RenderMathMLSquareRoot.cpp:
+ (WebCore):
+ (WebCore::RenderMathMLSquareRoot::addChild):
+ (WebCore::RenderMathMLSquareRoot::computePreferredLogicalWidths):
+ (WebCore::RenderMathMLSquareRoot::computeLogicalHeight):
+ (WebCore::RenderMathMLSquareRoot::layout):
+ (WebCore::RenderMathMLSquareRoot::paint):
+ * rendering/mathml/RenderMathMLSquareRoot.h:
+ (RenderMathMLSquareRoot):
+
+2012-04-10 Luke Macpherson <macpherson@chromium.org>
+
+ Don't allow fallthrough for CSSPropertyBaselineShift in CSSComputedStyleDeclaration::getSVGPropertyCSSValue().
+ https://bugs.webkit.org/show_bug.cgi?id=83536
+
+ Reviewed by Daniel Bates.
+
+ Add a return statement to the case CSSPropertyBaselineShift so that we don't fall through to the next case statement.
+
+ No new tests / code cleanup from coverity static analysis.
+
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
+
+2012-04-10 Alejandro G. Castro <alex@igalia.com>
+
+ [GTK] Build fix TextureMapper compilation and solve warning.
+
+ Reviewed by Martin Robinson.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::updateContents):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+
+2012-04-10 Noel Gordon <noel.gordon@gmail.com>
+
+ [GTK] Separate image encoding from dataURL construction
+ https://bugs.webkit.org/show_bug.cgi?id=83152
+
+ Reviewed by Martin Robinson.
+
+ Remove the implicit assumption that a dataURL is the only desired output format
+ of the image encoding phase.
+
+ No new tests, refactoring only, covered by existing canvas tests.
+
+ * platform/graphics/gtk/ImageBufferGtk.cpp:
+ (WebCore::encodeImage): Output the encoded image to the provided GOwnPtr<gchar>&
+ buffer. Update GTK document reference to a valid URL. Round the quality argument
+ to an int like the toDataURL() implementations of other ports. Ditch the success
+ variable; instead test the GError* error return to indicate success.
+ (WebCore):
+ (WebCore::ImageBuffer::toDataURL): Format the dataURL encoding of the mimeType
+ encoded image data buffer herein.
+
+2012-04-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] Defer texture id allocation for copies until the actual copy executes
+ https://bugs.webkit.org/show_bug.cgi?id=83514
+
+ Reviewed by Adrienne Walker.
+
+ This allows for queuing a texture copy operation into a ManagedTexture whose texture ID has not yet been
+ allocated. The ManagedTexture* serves as a promise that an ID will be available when the copy is executed.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::doCommit):
+ * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
+ (WebCore::CCTextureUpdater::CCTextureUpdater):
+ (WebCore::CCTextureUpdater::appendManagedCopy):
+ (WebCore):
+ (WebCore::CCTextureUpdater::hasMoreUpdates):
+ (WebCore::CCTextureUpdater::update):
+ (WebCore::CCTextureUpdater::clear):
+ * platform/graphics/chromium/cc/CCTextureUpdater.h:
+ (CCTextureUpdater):
+ (ManagedCopyEntry):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
+
+2012-04-10 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=83595
+ <rdar://problem/10443278> Overlapping text in table cell across column break
+
+ If a cell's height changes such that it is taller than the overall row height because
+ of pagination, then grow the entire row height to enclose the cell instead of shrinking
+ the cell.
+
+ Reviewed by Dan Bernstein.
+
+ Added fast/multicol/cell-shrinkback.html
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+
+2012-04-10 Luke Macpherson <macpherson@chromium.org>
+
+ Remove unnecessary null check in void SimplifyMarkupCommand::doApply().
+ https://bugs.webkit.org/show_bug.cgi?id=83535
+
+ Reviewed by Kentaro Hara.
+
+ No new tests / code cleanup only.
+
+ currentNode cannot be null within the loop body.
+ It is dereferenced before and after the removed line without checking.
+ Additionally I have added an assertion to express this loop invariant.
+
+ * editing/SimplifyMarkupCommand.cpp:
+ (WebCore::SimplifyMarkupCommand::doApply):
+
+2012-04-10 David Dorwin <ddorwin@chromium.org>
+
+ Add Encrypted Media Extensions methods to HTMLMediaElement
+ https://bugs.webkit.org/show_bug.cgi?id=82971
+
+ Reviewed by Adam Barth.
+
+ The extensions are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
+ Implementation is based on v0.1 of the draft proposal at
+ http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html.
+
+ Tests: media/encrypted-media/encrypted-media-not-loaded.html
+ media/encrypted-media/encrypted-media-syntax.html
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ (WebCore::RuntimeEnabledFeatures::webkitEncryptedMediaEnabled):
+ (WebCore::RuntimeEnabledFeatures::setWebkitEncryptedMediaEnabled):
+ * html/HTMLMediaElement.cpp:
+ (WebCore):
+ (WebCore::exceptionCodeForMediaKeyException):
+ (WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
+ (WebCore::HTMLMediaElement::webkitAddKey):
+ (WebCore::HTMLMediaElement::webkitCancelKeyRequest):
+ (WebCore::HTMLMediaElement::setVolume):
+ (WebCore::HTMLMediaElement::togglePlayState):
+ (WebCore::HTMLMediaElement::beginScrubbing):
+ (WebCore::HTMLMediaElement::addTextTrack):
+ (WebCore::HTMLMediaElement::textTracks):
+ (WebCore::HTMLMediaElement::showingTrackWithSameKind):
+ (WebCore::HTMLMediaElement::didAddTrack):
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+ * platform/graphics/MediaPlayer.cpp:
+ (NullMediaPlayerPrivate):
+ (WebCore):
+ (WebCore::MediaPlayer::generateKeyRequest):
+ (WebCore::MediaPlayer::addKey):
+ (WebCore::MediaPlayer::cancelKeyRequest):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (MediaPlayerPrivateInterface):
+ (WebCore::MediaPlayerPrivateInterface::addKey):
+ (WebCore::MediaPlayerPrivateInterface::generateKeyRequest):
+ (WebCore::MediaPlayerPrivateInterface::cancelKeyRequest):
+
+2012-04-10 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ [chromium] Add Battery Status API support.
+
+ Add Battery Status API support to chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=83284
+
+ Reviewed by Adam Barth.
+
+ This change is covered by tests in batterystatus/.
+
+ * Modules/battery/BatteryController.cpp:
+ (WebCore::BatteryController::updateBatteryStatus):
+ (WebCore):
+ * Modules/battery/BatteryController.h:
+ (BatteryController):
+ * Modules/battery/BatteryManager.cpp:
+ (WebCore::BatteryManager::charging):
+ (WebCore::BatteryManager::chargingTime):
+ (WebCore::BatteryManager::dischargingTime):
+ (WebCore::BatteryManager::level):
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-04-09 Zhenyao Mo <zmo@google.com>
+
+ getShaderFormatPrecision should return sensible values
+ https://bugs.webkit.org/show_bug.cgi?id=83520
+
+ Reviewed by Kenneth Russell.
+
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Fix getShaderPrecisionFormat values.
+ (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
+ (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
+
+2012-04-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Add Galaxy Nexus to the list of emulated user agents
+ https://bugs.webkit.org/show_bug.cgi?id=83589
+
+ The new record contains the device display metrics and the User Agent string.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
+
+2012-04-10 Emil A Eklund <eae@chromium.org>
+
+ Add missing methods and operators to FractionalLayoutUnit
+ https://bugs.webkit.org/show_bug.cgi?id=82403
+
+ Reviewed by Eric Seidel.
+
+ Add missing methods and operators and from branch version of
+ FractionalLayoutUnit. Also fix overflow assertion and add const keyword
+ to a couple of methods.
+
+ No new tests.
+
+ * platform/FractionalLayoutUnit.h:
+ (WebCore::FractionalLayoutUnit::abs):
+ (FractionalLayoutUnit):
+ (WebCore::FractionalLayoutUnit::ceil):
+ (WebCore::FractionalLayoutUnit::round):
+ (WebCore::FractionalLayoutUnit::floor):
+ (WebCore::FractionalLayoutUnit::isInBounds):
+ (WebCore::operator<):
+ (WebCore):
+ (WebCore::operator-):
+
+2011-12-14 Jer Noble <jer.noble@apple.com>
+
+ WebAudio: propagate a silence hint through the AudioNode graph.
+ https://bugs.webkit.org/show_bug.cgi?id=74553
+
+ Reviewed by Chris Rogers.
+
+ No new tests; optimization of existing code path, so covered by existing tests.
+
+ Introduce the concept of a "silent" channel:
+ * platform/audio/AudioChannel.h:
+ (WebCore::AudioChannel::AudioChannel):
+ (WebCore::AudioChannel::set): Clear silent bit.
+ (WebCore::AudioChannel::zero): Set silent bit.
+ (WebCore::AudioChannel::clearSilentFlag): Clear silent bit.
+ (WebCore::AudioChannel::isSilent): Accessor.
+
+ Optimize a few channel operations when the source or destination channels are silent.
+ * platform/audio/AudioChannel.cpp:
+ (WebCore::AudioChannel::scale): No-op on a silent channel.
+ (WebCore::AudioChannel::copyFrom): zero() when source is silent.
+ (WebCore::AudioChannel::copyFromRange): possibly zero() when source is silent.
+ (WebCore::AudioChannel::sumFrom): No-op when source is silent.
+ (WebCore::AudioChannel::maxAbsValue): 0 on a silent channel.
+
+ Optimize a few bus operations when the source or destination channels are silent.
+ * platform/audio/AudioBus.cpp:
+ (WebCore::AudioBus::processWithGainFromMonoStereo): No-op if source is silent and either
+ the destination bus is silent, or the output is not summed to the destination.
+ (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom): zero() if the source is silent
+ and the lengths of the gain values, source, and destination match.
+ (WebCore::AudioBus::createBySampleRateConverting): Return an empty bus if the source is silent.
+ (WebCore::AudioBus::createByMixingToMono): Ditto; clear the destination's silent bit otherwise.
+ (WebCore::AudioBus::isSilent): Return whether all channels are silent.
+ (WebCore::AudioBus::clearSilentFlag): Clear silent bit of constituent channels.
+ * platform/audio/AudioBus.h:
+
+ Make sure that classes which generate audio clear their busses' silent bit.
+ * webaudio/AudioBufferSourceNode.cpp:
+ (WebCore::AudioBufferSourceNode::process): Ditto.
+ (WebCore::AudioBufferSourceNode::renderFromBuffer): Ditto.
+ (WebCore::AudioBufferSourceNode::propagatesSilence): Propagate silence only when the source node
+ has nothing left to render.
+ * webaudio/AudioBufferSourceNode.h:
+ (WebCore::AudioBufferSourceNode::playbackState): Made const correct.
+ (WebCore::AudioBufferSourceNode::isPlaying): Added simple accessor.
+ (WebCore::AudioBufferSourceNode::hasFinished): Ditto.
+ * webaudio/AudioDestinationNode.h:
+ (WebCore::AudioDestinationNode::currentSampleFrame): Made const correct.
+ (WebCore::AudioDestinationNode::currentTime): Ditto.
+
+ Audio nodes should not process audio data when the input is silent and the nodes will propagate silences.
+ * webaudio/AudioNode.cpp:
+ (WebCore::AudioNode::processIfNecessary):
+ (WebCore::AudioNode::inputsAreSilent): Convenience function which walk over the node's inputs.
+ (WebCore::AudioNode::silenceOutputs): Ditto.
+ (WebCore::AudioNode::unsilenceOutputs): Ditto.
+ * webaudio/AudioNode.h:
+ (WebCore::AudioNode::propagatesSilence):
+
+ These Nodes can generate audio when given silent input, so return false from propagatesSilence.
+ * Modules/webaudio/Oscillator.h:
+ (WebCore::Oscillator::propagatesSilence): Added.
+
+2012-04-10 Yi Shen <yi.4.shen@nokia.com>
+
+ Pressing enter on blank line after bullet deletes entire bulleted line.
+ https://bugs.webkit.org/show_bug.cgi?id=82690
+
+ Reviewed by Enrica Casucci.
+
+ In CompositeEditCommand::breakOutOfEmptyListItem(), it checks the empty list item's renderer's siblings
+ to decide which empty part of the list should be removed. However, if the empty list item's renderer is
+ wrapped by an anonymous block, e.g. <ul><li>hello</li><br>^</ul>, the check may fail. So, we use isListItem
+ on the empty list node's siblings instead.
+
+ No new tests : added new test case in the existing test (break-out-of-empty-list-item.html)
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
+
+2012-04-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Inspect Element - Edit as HTML - scrolling bug
+ https://bugs.webkit.org/show_bug.cgi?id=83563
+
+ mousedown in the scrollbar focuses the Elements tree outline container DIV element,
+ so the corresponding mousedown event should be consumed in the AT_TARGET phase.
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.consume):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
+
+2012-04-10 Dinu Jacob <dinu.jacob@nokia.com>
+
+ Remove the unused function WebCore::toIconIndex
+ https://bugs.webkit.org/show_bug.cgi?id=83037
+
+ Reviewed by Kentaro Hara.
+
+ * WebCore.order:
+ * dom/IconURL.cpp:
+ * dom/IconURL.h:
+ (WebCore):
+
+2012-04-10 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: make error a string on the front-end side, not an object.
+ https://bugs.webkit.org/show_bug.cgi?id=83570
+
+ Reviewed by Yury Semikhatsky.
+
+ We already expect it to be a string in all the code, we never use the error code in it.
+
+ * inspector/front-end/InspectorBackend.js:
+ (InspectorBackendClass.prototype.dispatch):
+
+2012-04-10 Rob Buis <rbuis@rim.com>
+
+ getElementsByTagName unable to find SVG camelCase elements imported into HTML
+ https://bugs.webkit.org/show_bug.cgi?id=46800
+
+ Reviewed by Nikolas Zimmermann.
+
+ Implement getElementsByTagName according to the algorithm in
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagname.
+ If the owner document of the element is html, the new class HTMLTagNodeList deals with
+ finding the match(es) based on this algorithm. If the owner document is non HTML, the existing
+ TagNodeList is used.
+
+ Implement getElementsByTagNameNS according to the algorithm in
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagnamens.
+ The existing TagNodeList implements this algorithm.
+
+ Cached results may have less hits after this change. Tag names that are equal when case
+ insensitive but different when case sensitive can't share the result due to above algorithms, i.e.
+ they would match differently in the non html part of the document.
+
+ Tests: fast/dom/getElementsByTagName-localName-matching.html
+ fast/dom/getElementsByTagName-localName-matching2.xhtml
+ svg/dom/getElementsByTagName-localName-matching.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::getElementsByTagName): create TagNodeList depending on owner document type.
+ (WebCore::Node::getElementsByTagNameNS): do not lowercase localName for html.
+ * dom/TagNodeList.cpp:
+ (WebCore::HTMLTagNodeList::HTMLTagNodeList): add specialized TagNodeList for html matching rules.
+ (WebCore):
+ (WebCore::HTMLTagNodeList::nodeMatches):
+ * dom/TagNodeList.h:
+ (TagNodeList):
+ (HTMLTagNodeList):
+ (WebCore::HTMLTagNodeList::create):
+
+2012-04-09 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Device Metrics] Introduce the "Fit window" option
+ https://bugs.webkit.org/show_bug.cgi?id=83280
+
+ This change adds the "Fit window" option to the Settings pane of Web Inspector, which lets users
+ resize the FrameView to fit the WebViewImpl size. When the user resizes the browser window
+ in the device metrics override mode with the option enabled, the FrameView follows
+ to match WebViewImpl by at least one dimension.
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/Inspector.json:
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::overrideDeviceMetrics):
+ (WebCore::InspectorClient::autoZoomPageToFitWidth):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverrideImpl):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverrideImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverride):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverride):
+ * inspector/InspectorPageAgent.cpp:
+ (PageAgentState):
+ (WebCore::InspectorPageAgent::restore):
+ (WebCore::InspectorPageAgent::disable):
+ (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
+ (WebCore::InspectorPageAgent::updateViewMetrics):
+ * inspector/InspectorPageAgent.h:
+ * inspector/front-end/Settings.js:
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
+ * inspector/front-end/UserAgentSupport.js:
+ * inspector/front-end/helpScreen.css:
+ (.help-content input[type=checkbox]):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::innerHeight):
+ (WebCore::DOMWindow::innerWidth):
+
+2012-04-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: use maxJSObjectId that is provided by back-end.
+ https://bugs.webkit.org/show_bug.cgi?id=82451
+
+ Summary view can filter objects in snapshot. It uses maxJSObjectId for this.
+ There was no such field in the profile header at the
+ moment but I've landed a patch in downstream.
+
+ Reviewed by Yury Semikhatsky.
+
+ * bindings/js/ScriptHeapSnapshot.h:
+ (WebCore):
+ (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
+ * bindings/v8/ScriptHeapSnapshot.cpp:
+ (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
+ (WebCore):
+ * bindings/v8/ScriptHeapSnapshot.h:
+ (WebCore):
+ (ScriptHeapSnapshot):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::createSnapshotHeader):
+ * inspector/front-end/DetailedHeapshotView.js:
+ (WebInspector.HeapSnapshotConstructorsDataGrid):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
+ (WebInspector.DetailedHeapshotView.prototype._changeFilter):
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype.updateStaticData):
+ * inspector/front-end/HeapSnapshotProxy.js:
+
+2012-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: annotate front-end for newer closure compiler.
+ https://bugs.webkit.org/show_bug.cgi?id=83478
+
+ Reviewed by Yury Semikhatsky.
+
+ This change mostly adds annotations to bound functions and !!bool expressions.
+ As a result, it makes closure compiler v20120305 happy.
+
+ * inspector/Inspector.json:
+ * inspector/front-end/BreakpointManager.js:
+ * inspector/front-end/CSSStyleModel.js:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.removeAttribute):
+ (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
+ * inspector/front-end/DebuggerModel.js:
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
+ * inspector/front-end/ElementsPanel.js:
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ * inspector/front-end/RemoteObject.js:
+ * inspector/front-end/Resource.js:
+ (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
+ * inspector/front-end/ResourceUtils.js:
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ * inspector/front-end/Script.js:
+ (WebInspector.Script.prototype.editSource):
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter.prototype.get _worker):
+ * inspector/front-end/WorkerManager.js:
+
+2012-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: searching document with no documentElement results in 0x0 access.
+ https://bugs.webkit.org/show_bug.cgi?id=83483
+
+ Reviewed by Yury Semikhatsky.
+
+ Added the null check.
+
+ Test: inspector/elements/dom-search-crash.html
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::performSearch):
+
+2012-04-10 Patrick Gansterer <paroga@webkit.org>
+
+ [CMake] Add missing source files to build system
+
+ * CMakeLists.txt:
+
+2012-04-10 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Fixed AppleWin and Chromium-win build failure.
+
+ Renamed 'exceptionNameDescription' to per-file variable name to avoid
+ name conflict.
+
+ * Modules/indexeddb/IDBDatabaseException.cpp:
+ (WebCore::IDBDatabaseException::initializeDescription):
+ * Modules/webdatabase/SQLException.cpp:
+ (WebCore::SQLException::initializeDescription):
+ * dom/EventException.cpp:
+ (WebCore::EventException::initializeDescription):
+ * dom/RangeException.cpp:
+ (WebCore::RangeException::initializeDescription):
+ * fileapi/FileException.cpp:
+ (WebCore::FileException::initializeDescription):
+ * fileapi/OperationNotAllowedException.cpp:
+ (WebCore::OperationNotAllowedException::initializeDescription):
+ * svg/SVGException.cpp:
+ (WebCore::SVGException::initializeDescription):
+ * xml/XPathException.cpp:
+ (WebCore::XPathException::initializeDescription):
+
+2012-04-10 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Fixed AppleWin and Chromium-win build failure.
+
+ Renamed 'exceptions' to 'exceptionNameDescription' to avoid
+ variable name conflict.
+
+ * Modules/indexeddb/IDBDatabaseException.cpp:
+ (WebCore::IDBDatabaseException::initializeDescription):
+ * Modules/webdatabase/SQLException.cpp:
+ (WebCore::SQLException::initializeDescription):
+ * dom/EventException.cpp:
+ (WebCore::EventException::initializeDescription):
+ * dom/RangeException.cpp:
+ (WebCore::RangeException::initializeDescription):
+ * fileapi/FileException.cpp:
+ (WebCore::FileException::initializeDescription):
+ * fileapi/OperationNotAllowedException.cpp:
+ (WebCore::OperationNotAllowedException::initializeDescription):
+ * svg/SVGException.cpp:
+ (WebCore::SVGException::initializeDescription):
+ * xml/XPathException.cpp:
+ (WebCore::XPathException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in XPathException into one
+ https://bugs.webkit.org/show_bug.cgi?id=83442
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * xml/XPathException.cpp:
+ (XPathExceptionNameDescription):
+ (WebCore):
+ (WebCore::XPathException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine exceptionNames and exceptionDescriptions in IDBDatabaseException.cpp into one array
+ https://bugs.webkit.org/show_bug.cgi?id=83433
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * Modules/indexeddb/IDBDatabaseException.cpp:
+ (IDBDatabaseExceptionNameDescription):
+ (WebCore):
+ (WebCore::IDBDatabaseException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in SQLException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83452
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * Modules/webdatabase/SQLException.cpp:
+ (SQLExceptionNameDescription):
+ (WebCore):
+ (WebCore::SQLException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in EventException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83451
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * dom/EventException.cpp:
+ (EventExceptionNameDescription):
+ (WebCore):
+ (WebCore::EventException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in RangeException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83450
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * dom/RangeException.cpp:
+ (RangeExceptionNameDescription):
+ (WebCore):
+ (WebCore::RangeException::initializeDescription):
+
+2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [Texmap] Improve TextureMapperGL readability
+ https://bugs.webkit.org/show_bug.cgi?id=83477
+
+ Change the debugging macros for TextureMapperGL, so that the GL_CMD call can include a semicolon.
+ Modify some if blocks to have an early return.
+
+ Reviewed by Martin Robinson.
+
+ No new functionality.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
+ (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
+ (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
+ (WebCore::TextureMapperGLData::initializeStencil):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ (WebCore::BitmapTextureGL::initializeStencil):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ (WebCore::TextureMapperGL::bindSurface):
+ (WebCore::TextureMapperGL::beginClip):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in FileException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83449
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * fileapi/FileException.cpp:
+ (FileExceptionNameDescription):
+ (WebCore):
+ (WebCore::FileException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in OperationNotAllowedException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83445
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * fileapi/OperationNotAllowedException.cpp:
+ (OperationNotAllowedExceptionNameDescription):
+ (WebCore):
+ (WebCore::OperationNotAllowedException::initializeDescription):
+
+2012-04-09 Shinya Kawanaka <shinyak@chromium.org>
+
+ Assert triggers VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries.
+ https://bugs.webkit.org/show_bug.cgi?id=83118
+
+ Reviewed by Hajime Morita.
+
+ VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries did not work correctly.
+ There was a case that selection crosses shadow boundaries.
+
+ This patch introduces a class TreeScopeAdjuster, which enables us to adjust Node or Position
+ into a specified tree scope.
+
+ Test: fast/dom/shadow/selections-in-shadow.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.ext.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/DOMAllInOne.cpp:
+ * dom/TreeScope.h:
+ (TreeScope):
+ * dom/TreeScopeAdjuster.cpp: Added.
+ (WebCore):
+ (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
+ (WebCore::TreeScopeAdjuster::ancestorInThisScope):
+ Returns the node itself if it's in the same tree scope.
+ Otherwise, this method checks the shadow ancestor of the node recursively.
+ If no corresponding node is found, 0 will be returned.
+ (WebCore::TreeScopeAdjuster::adjustPositionBefore):
+ (WebCore::TreeScopeAdjuster::adjustPositionAfter):
+ * dom/TreeScopeAdjuster.h: Added.
+ (WebCore):
+ (TreeScopeAdjuster):
+ (WebCore::TreeScopeAdjuster::treeScope):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in SVGException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83444
+
+ Reviewed by Kentaro Hara.
+
+ No new tests required.
+
+ * svg/SVGException.cpp:
+ (SVGExceptionNameDescription):
+ (WebCore):
+ (WebCore::SVGException::initializeDescription):
+
+2012-04-09 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays in XMLHttpRequestException.cpp into one
+ https://bugs.webkit.org/show_bug.cgi?id=83443
+
+ Reviewed by Kentaro Hara.
+
+ No new tests requied.
+
+ * xml/XMLHttpRequestException.cpp:
+ (XMLHttpRequestExceptionNameDescription):
+ (WebCore):
+ (WebCore::XMLHttpRequestException::initializeDescription):
+
+2012-04-09 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [WK2] Enable using a single ShareableBitmap for multiple updates
+ https://bugs.webkit.org/show_bug.cgi?id=83424
+
+ Modify BitmapTexture::updateContents to include a source offset.
+ This allows us to update a texture from a sub-image.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Tested by existing API tests.
+
+ * platform/graphics/texmap/TextureMapper.h:
+ (BitmapTexture):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::driverSupportsBGRASwizzling):
+ (WebCore::BitmapTextureGL::updateContents):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::BitmapTextureGL::textureTarget):
+ (BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+ (WebCore::BitmapTextureImageBuffer::updateContents):
+ * platform/graphics/texmap/TextureMapperImageBuffer.h:
+ (BitmapTextureImageBuffer):
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Viewport is not filled when out of texture memory on mac
+ https://bugs.webkit.org/show_bug.cgi?id=83351
+
+ Reviewed by Adrienne Walker.
+
+ Currently we add gutter quads on the NonCompositedContentHost layer,
+ which lies above another visible layer - the rubberband layer on mac.
+ For this reason, on mac, gutter quads were disabled, as well as forcing
+ the NCCH layer to draw, in order to make the rubberband layer appear.
+
+ We move the logic for adding gutter quads into CCRenderPass, and add
+ gutter quads for all pixels that are visible through the viewport.
+ This allows us to stop special-casing the NCCH layer, and allows us
+ to skip drawing the layer equally with other layers. We remove the
+ backgroundCoversViewport() flag entirely.
+
+ In order to do this, we fix a bug in the occlusion tracker, that
+ allowed opaque() layers with skipsDraw to occlude, by making
+ the visibleContentOpaqueRegion() method on the layer classes
+ also return the opaque region for non-tiled layers, always use
+ its value in the occlusion tracker.
+
+ Unit test: CCLayerTreeHostImplTest.viewportCovered
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::pushPropertiesTo):
+ (WebCore::LayerChromium::visibleContentOpaqueRegion):
+ (WebCore):
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::prepareToUpdateTiles):
+ (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::CCLayerImpl):
+ (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore::CCLayerImpl::appendQuads):
+ (CCLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore::CCLayerTreeHost::setBackgroundColor):
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (WebCore::CCLayerTreeHostImpl::backgroundColor):
+ (WebCore::CCLayerTreeHostImpl::setBackgroundColor):
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+ (CCOcclusionTrackerBase):
+ (WebCore::CCOcclusionTrackerBase::computeVisibleRegionInScreen):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsToFillScreen):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (WebCore):
+ (CCRenderPass):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (WebCore::CCTiledLayerImpl::skipsDraw):
+ (CCTiledLayerImpl):
+
+2012-04-09 Luke Macpherson <macpherson@chromium.org>
+
+ Don't let CSSPropertyWebkitPerspective dereference primitiveValue without null check.
+ https://bugs.webkit.org/show_bug.cgi?id=83538
+
+ Reviewed by Daniel Bates.
+
+ No new tests / code cleanup only.
+
+ Coverity pointed out that we potentially dereference primitiveValue here without checking for null.
+ I've added an early out for that case to make sure it can't ever happen. I don't know if it's actually
+ possible to exercise that code path or not - probably the parser prevents it from being hit in practice.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-04-09 Joseph Pecoraro <pecoraro@apple.com>
+
+ <http://webkit.org/b/83539> Web Inspector: ASSERT attempting to unbind null contentDocument
+
+ Avoid calling unbind with a null object. The HTMLFrameOwnerElement's
+ contentDocument can be null.
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::unbind):
+
+2012-04-09 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] Parsed Cookie's m_isMaxAgeSet is not needed.
+ https://bugs.webkit.org/show_bug.cgi?id=83457
+
+ Reviewed by Rob Buis.
+
+ When m_expiry is not -1, it must be set by setExpiry or setMaxAge. setExpiry will return when m_expiry
+ has been set. This ensures Max-Age's precedence.
+ And m_isMaxAgeSet is always false when the cookie is from database. This is not right.
+
+ So we use m_expiry instead of m_isMaxAgeSet.
+
+ No new tests. Refactor.
+
+ * platform/blackberry/ParsedCookie.cpp:
+ (WebCore::ParsedCookie::ParsedCookie):
+ (WebCore::ParsedCookie::setExpiry):
+ (WebCore::ParsedCookie::setMaxAge):
+ * platform/blackberry/ParsedCookie.h:
+ (ParsedCookie):
+
+2012-04-09 Min Qin <qinmin@google.com>
+
+ Fixed ordering of deleting CCInputHandler and CCLayerTreeHostImpl in layerTreeHostClosedOnImplThread
+ https://bugs.webkit.org/show_bug.cgi?id=83488
+
+ Reviewed by James Robinson.
+
+ CCInputHandler(WebCompositorInputHandlerImpl) has a pointer to CCLayerTreeHostImpl.
+ So we should delete CCInputHandler earlier as otherwise that pointer could get misused after LayerTreeHostImpl is deleted.
+ Just fixing a potential NPE error, no behavior change.
+
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
+
+2012-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113656.
+ http://trac.webkit.org/changeset/113656
+ https://bugs.webkit.org/show_bug.cgi?id=83542
+
+ test is broken on chromium-win (Requested by simonjam on
+ #webkit).
+
+ * Modules/intents/Intent.cpp:
+ (WebCore::Intent::Intent):
+ * Modules/intents/Intent.h:
+ (Intent):
+ * Modules/intents/Intent.idl:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheck):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+
+2012-04-09 Abhishek Arya <inferno@chromium.org>
+
+ ASSERTION FAILED: !attached() in Node::attach.
+ https://bugs.webkit.org/show_bug.cgi?id=80726
+
+ Reviewed by Adam Barth.
+
+ While parsing XML document, prevent attaching the leaf text node
+ back to document, if its parent is not attached.
+
+ Test: fast/dom/text-node-attach-crash.xhtml
+
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::exitText):
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Replica layers are not drawn, so should not be painted
+ https://bugs.webkit.org/show_bug.cgi?id=83504
+
+ Reviewed by James Robinson.
+
+ We attempt to paint replica layers when we are painting the mask layers
+ in CCLayerTreeHost.cpp.
+
+ This is useless code, replica layers have drawsContent() == false, and
+ have an empty visibleLayerRect, so the paint functions end up early-
+ outting. But it is a waste of time to try, and confusing to have
+ this attempted in the code at all, since the replica layers are never
+ drawn. They exist only for their transforms.
+
+ Also the dimensions used for the replica mask are different from the
+ surface mask, which is confusing and unnecessary as well. The mask is
+ applied to the same surface contents as the surface mask would be, so
+ only the surface's contentBounds need to be painted in the replica
+ mask.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
+ (WebCore::CCLayerTreeHost::paintLayerContents):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+
+2012-04-09 Shinya Kawanaka <shinyak@chromium.org>
+
+ ShadowRoot should have selection attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=82429
+
+ Reviewed by Hajime Morita.
+
+ This patch makes ShadowRoot have selection attribute. Currently the selection returns
+ the same object as what window.getSelection() returns.
+
+ We will extend DOMSelection to have TreeScope. It will adjust Node into TreeScope.
+ This will be tracked in Bug 82698.
+
+ Test: fast/dom/shadow/selection-in-shadow.html
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::selection):
+ (WebCore):
+ * dom/ShadowRoot.h:
+ (WebCore):
+ (ShadowRoot):
+ * dom/ShadowRoot.idl:
+
+2012-04-09 Emil A Eklund <eae@chromium.org>
+
+ Replace numeric_limits<LayoutUnit>::min/max with constants
+ https://bugs.webkit.org/show_bug.cgi?id=83497
+
+ Reviewed by Eric Seidel.
+
+ Replace all uses of numeric_limits<LayoutUnit>::min/max with
+ MIN_LAYOUT_UNIT and MAX_LAYOUT_UNIT respectively in preparation for the
+ switch to subpixel layout.
+
+ Also rename zeroLayoutUnit to ZERO_LAYOUT_UNIT to be consistent and
+ change it to be a define as to avoid global initializer warnings once we
+ change the definition of LayoutUnit from int to FractionalLayoutUnit.
+
+ No new tests, no change in functionality.
+
+ * dom/ElementRareData.h:
+ (WebCore::defaultMinimumSizeForResizing):
+ * editing/FrameSelection.cpp:
+ (WebCore::NoXPosForVerticalArrowNavigation):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::clampEdgeValue):
+ (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad):
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::computePreferredLogicalWidths):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
+ (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
+ (WebCore::InlineFlowBox::paintFillLayer):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
+ * rendering/LayoutTypes.h:
+ (WebCore):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::MarginInfo::MarginInfo):
+ (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
+ (WebCore::RenderBlock::adjustFloatingBlock):
+ (WebCore::RenderBlock::paintColumnRules):
+ (WebCore::RenderBlock::removeFloatingObject):
+ (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
+ (WebCore::RenderBlock::markLinesDirtyInBlockRange):
+ (WebCore::RenderBlock::clearFloats):
+ (WebCore::RenderBlock::addOverhangingFloats):
+ (WebCore::RenderBlock::getClearDelta):
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
+ (WebCore::getHeightForLineCount):
+ (WebCore::RenderBlock::borderFitAdjust):
+ (WebCore::RenderBlock::adjustForUnsplittableChild):
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::paginationStrut):
+ (WebCore::RenderBlock::pageLogicalOffset):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::LineLayoutState::updateRepaintRangeFromBox):
+ (WebCore::RenderBlock::checkFloatsInCleanLine):
+ (WebCore::RenderBlock::addOverflowFromInlineChildren):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
+ (WebCore::RenderBox::positionForPoint):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::minYVisualOverflow):
+ (WebCore::RenderBox::minXVisualOverflow):
+ (RenderBox):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::offsetLeft):
+ (WebCore::RenderBoxModelObject::offsetTop):
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
+ (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
+ (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations):
+ (WebCore::RenderFieldset::paintMask):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
+ (WebCore::RenderFlexibleBox::lineBreakLength):
+ (WebCore::RenderFlexibleBox::alignChildren):
+ (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::layout):
+ (WebCore::RenderFlowThread::computeLogicalWidth):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::linesVisualOverflowBoundingBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::resize):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::updateMargins):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::computePosition):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::computeReplacedLogicalWidth):
+ (WebCore::RenderReplaced::computePreferredLogicalWidths):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
+ (WebCore::RenderTable::layout):
+ * rendering/RenderTable.h:
+ (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::linesVisualOverflowBoundingBox):
+
+2012-04-09 Levi Weintraub <leviw@chromium.org>
+
+ Clean up LayoutUnit usage in DOMNodeHighlighter
+ https://bugs.webkit.org/show_bug.cgi?id=83507
+
+ Reviewed by Eric Seidel.
+
+ Ensuring DOMNodeHighlighter uses pixel snapping that matches that done in the RenderTree. Changes include:
+ - Reverting drawSubstring to use an IntPoint with pixel snapped values instead of a LayoutPoint.
+ - Reverting borderBox to an IntRect since it's in absolute coordinates. See https://trac.webkit.org/wiki/LayoutUnit.
+ - Frames are still laid out with integers. Cleaning up mainFrameOffset to reflect that.
+
+ No new tests. No change in behavior.
+
+ * inspector/DOMNodeHighlighter.cpp:
+
+2012-04-09 Jeff Rogers <jrogers@rim.com>
+
+ Add missing IndexedDB files to CMake build
+ https://bugs.webkit.org/show_bug.cgi?id=83495
+
+ Reviewed by Rob Buis.
+
+ * CMakeLists.txt:
+ * UseJSC.cmake:
+
+2012-04-09 Alexey Proskuryakov <ap@apple.com>
+
+ [Mac] WebProcess dies due to m_process->checkURLReceivedFromWebProcess(url) dropping a file URL
+ https://bugs.webkit.org/show_bug.cgi?id=83506
+ <rdar://problem/11171264>
+
+ Reviewed by Darin Adler.
+
+ Cannot test, because dragging within a single window never initiates a navigation, and dragging
+ across windows is too much for DRT and WTR.
+
+ * platform/mac/DragDataMac.mm: (WebCore::DragData::asURL): Add the same checks that we had
+ for NSURLPboardType to NSStringPboardType case, preventing dropping of non-HTTP URLs.
+ String types cannot be sanitized when they are modified by JavaScript, and are thus less trusted.
+ String checks should be at least as restrictive as URL ones.
+
+2012-04-09 Greg Billock <gbillock@google.com>
+
+ Add transfer map argument to Intent constructor
+ http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
+ This adds the ability to pass transferables (i.e. MessagePorts)
+ through web intents, and puts the calling convention in line
+ with the Web Messaging spec:
+ http://dev.w3.org/html5/postmsg/
+
+ Implementation in chromium API follows the port-passing method
+ of PlatformMessagePortChannel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=80200
+
+ Reviewed by Adam Barth.
+
+ * Modules/intents/Intent.cpp:
+ (WebCore::Intent::create):
+ * Modules/intents/Intent.idl:
+ * WebCore.gypi:
+ * bindings/v8/custom/V8IntentCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8Intent::constructorCallback):
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Cull occluded surface quads
+ https://bugs.webkit.org/show_bug.cgi?id=81227
+
+ Reviewed by Adrienne Walker.
+
+ Cull render surface and replica quads during draw based on occlusion.
+
+ In order to compute occlusion for the surface or replica, it must not
+ consider occlusion found in the surface's own subtree. To do this, we
+ reorder the calls to the occlusion tracker, and add the surface and
+ replica quads before we "leaveToTargetRenderSurface" which merges
+ occlusion from the surface's subtree up into its parent.
+
+ Unit test: CCOcclusionTrackerTestReplicaOccluded
+ CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded
+ CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently
+ CCOcclusionTrackerTestSurfaceChildOfSurface
+ CCOcclusionTrackerTestSurfaceChildOfClippingSurface
+
+ And added some sanity checks to other CCOcclusionTracker tests that have
+ render surfaces.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::::leaveToTargetRenderSurface):
+ (WebCore::::unoccludedContributingSurfaceContentRect):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+ (CCOcclusionTrackerBase):
+ * platform/graphics/chromium/cc/CCQuadCuller.cpp:
+ (WebCore::CCQuadCuller::CCQuadCuller):
+ (WebCore::appendQuadInternal):
+ (WebCore::CCQuadCuller::append):
+ (WebCore):
+ (WebCore::CCQuadCuller::appendSurface):
+ (WebCore::CCQuadCuller::appendReplica):
+ * platform/graphics/chromium/cc/CCQuadCuller.h:
+ (CCQuadCuller):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (CCRenderPass):
+
+2012-04-09 Andreas Kling <kling@webkit.org>
+
+ Make CSSValuePool share values globally.
+ <http://webkit.org/b/77700>
+
+ Reviewed by Antti Koivisto.
+
+ Remove the per-Document CSSValuePool and have everyone use a global pool
+ accessed via "CSSValuePool& cssValuePool()".
+
+ This reduces memory usage by sharing cached CSSValues between all documents,
+ and relaxes heap churn since the common, persistenly cached values are held
+ by CSSValuePool forever.
+
+ No behavior change thanks to r113588 which introduced a mechanism that makes
+ sure we never expose internal CSSValue objects to bindings, but read-only
+ clones of those values.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForNinePieceImageSlice):
+ (WebCore::valueForNinePieceImageQuad):
+ (WebCore::valueForNinePieceImageRepeat):
+ (WebCore::valueForNinePieceImage):
+ (WebCore::zoomAdjustedPixelValue):
+ (WebCore::zoomAdjustedNumberValue):
+ (WebCore::zoomAdjustedPixelValueForLength):
+ (WebCore::valueForReflection):
+ (WebCore::getPositionOffsetValue):
+ (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
+ (WebCore::getBorderRadiusCornerValues):
+ (WebCore::getBorderRadiusCornerValue):
+ (WebCore::getBorderRadiusShorthandValue):
+ (WebCore::computedTransform):
+ (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
+ (WebCore::CSSComputedStyleDeclaration::valueForFilter):
+ (WebCore::valueForGridTrackBreadth):
+ (WebCore::valueForGridTrackList):
+ (WebCore::valueForGridPosition):
+ (WebCore::getDelayValue):
+ (WebCore::getDurationValue):
+ (WebCore::createLineBoxContainValue):
+ (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
+ (WebCore::CSSComputedStyleDeclaration::valueForShadow):
+ (WebCore::valueForFamily):
+ (WebCore::renderUnicodeBidiFlagsToCSSValue):
+ (WebCore::renderTextDecorationFlagsToCSSValue):
+ (WebCore::fillRepeatToCSSValue):
+ (WebCore::fillSizeToCSSValue):
+ (WebCore::contentToCSSValue):
+ (WebCore::counterToCSSValue):
+ (WebCore::fontFamilyFromStyle):
+ (WebCore::lineHeightFromStyle):
+ (WebCore::fontSizeFromStyle):
+ (WebCore::fontStyleFromStyle):
+ (WebCore::fontVariantFromStyle):
+ (WebCore::fontWeightFromStyle):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSComputedStyleDeclaration.h:
+ (WebCore):
+ * css/CSSParser.cpp:
+ (WebCore::parseColorValue):
+ (WebCore::parseSimpleLengthValue):
+ (WebCore::parseKeywordValue):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseColor):
+ (WebCore::CSSParser::setStyleSheet):
+ (WebCore::CSSParser::createPrimitiveNumericValue):
+ (WebCore::CSSParser::createPrimitiveStringValue):
+ (WebCore::CSSParser::parseValidPrimitive):
+ (WebCore::parseBackgroundClip):
+ (WebCore::CSSParser::parseFillShorthand):
+ (WebCore::CSSParser::parseAnimationShorthand):
+ (WebCore::CSSParser::parseTransitionShorthand):
+ (WebCore::CSSParser::parseShorthand):
+ (WebCore::CSSParser::parsePage):
+ (WebCore::CSSParser::parseSizeParameter):
+ (WebCore::CSSParser::parseContent):
+ (WebCore::CSSParser::parseAttr):
+ (WebCore::CSSParser::parseBackgroundColor):
+ (WebCore::CSSParser::parseFillImage):
+ (WebCore::CSSParser::parseFillPositionX):
+ (WebCore::CSSParser::parseFillPositionY):
+ (WebCore::CSSParser::parseFillPositionComponent):
+ (WebCore::CSSParser::parseFillPosition):
+ (WebCore::CSSParser::parseFillRepeat):
+ (WebCore::CSSParser::parseFillSize):
+ (WebCore::CSSParser::parseFillProperty):
+ (WebCore::CSSParser::parseAnimationDirection):
+ (WebCore::CSSParser::parseAnimationFillMode):
+ (WebCore::CSSParser::parseAnimationIterationCount):
+ (WebCore::CSSParser::parseAnimationName):
+ (WebCore::CSSParser::parseAnimationPlayState):
+ (WebCore::CSSParser::parseAnimationProperty):
+ (WebCore::CSSParser::parseAnimationTimingFunction):
+ (WebCore::CSSParser::parseGridTrackList):
+ (WebCore::CSSParser::parseDashboardRegions):
+ (WebCore::CSSParser::parseCounterContent):
+ (WebCore::CSSParser::parseClipShape):
+ (WebCore::CSSParser::parseExclusionShape):
+ (WebCore::CSSParser::parseFont):
+ (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
+ (WebCore::FontFamilyValueBuilder::commit):
+ (FontFamilyValueBuilder):
+ (WebCore::CSSParser::parseFontFamily):
+ (WebCore::CSSParser::parseFontVariant):
+ (WebCore::CSSParser::parseFontWeight):
+ (WebCore::ShadowParseContext::commitStyle):
+ (WebCore::CSSParser::parseShadow):
+ (WebCore::CSSParser::parseReflect):
+ (WebCore::CSSParser::parseFlex):
+ (WebCore::BorderImageParseContext::commitBorderImageProperty):
+ (WebCore::CSSParser::parseBorderImage):
+ (WebCore::CSSParser::parseBorderImageRepeat):
+ (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
+ (WebCore::BorderImageQuadParseContext::commitNumber):
+ (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
+ (WebCore::CSSParser::parseBorderRadius):
+ (WebCore::CSSParser::parseAspectRatio):
+ (WebCore::CSSParser::parseCounter):
+ (WebCore::parseDeprecatedGradientPoint):
+ (WebCore::parseDeprecatedGradientColorStop):
+ (WebCore::CSSParser::parseDeprecatedGradient):
+ (WebCore::valueFromSideKeyword):
+ (WebCore::parseGradientColorOrKeyword):
+ (WebCore::CSSParser::parseLinearGradient):
+ (WebCore::CSSParser::parseRadialGradient):
+ (WebCore::CSSParser::parseCrossfade):
+ (WebCore::CSSParser::parseImageSet):
+ (WebCore::CSSParser::parseCustomFilter):
+ (WebCore::CSSParser::parseBuiltinFilterArguments):
+ (WebCore::CSSParser::parseFilter):
+ (WebCore::CSSParser::parseFlowThread):
+ (WebCore::CSSParser::parseRegionThread):
+ (WebCore::CSSParser::parseTextEmphasisStyle):
+ (WebCore::CSSParser::parseFontFeatureSettings):
+ (WebCore::CSSParser::parseFontVariantLigatures):
+ * css/CSSParser.h:
+ (WebCore):
+ (CSSParser):
+ * css/CSSValuePool.cpp:
+ (WebCore::cssValuePool):
+ (WebCore):
+ * css/CSSValuePool.h:
+ (CSSValuePool):
+ (WebCore):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::setProperty):
+ * css/StylePropertySet.h:
+ (StylePropertySet):
+ * dom/Document.cpp:
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::setInlineStyleProperty):
+ (WebCore::StyledElement::addPropertyToAttributeStyle):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::addHTMLColorToStyle):
+ * html/HTMLFontElement.cpp:
+ (WebCore::HTMLFontElement::collectStyleForAttribute):
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::collectStyleForAttribute):
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::createSharedCellStyle):
+
+2012-04-09 Levi Weintraub <leviw@chromium.org>
+
+ Prepare html classes for sub-pixel LayoutUnits
+ https://bugs.webkit.org/show_bug.cgi?id=83491
+
+ Reviewed by Eric Seidel.
+
+ This patch brings the entire HTML folder up to the current state of the subpixellayout branch. Adding
+ an intValue flavor of Length that maps to the current value function was also necessary to get us
+ there. See https://trac.webkit.org/wiki/LayoutUnit and the descriptions below for details.
+
+ No new tests. No change in behavior.
+
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::scrollAmount): Fixes a compiler error when length returns a float, as
+ we intend it to do when switching to sub-pixel layout.
+ * html/ImageDocument.cpp:
+ (WebCore::ImageDocumentParser::finish): imageSize is always integral.
+ * platform/Length.h:
+ (WebCore::Length::Length): Added a constructor that takes a FractionalLayoutUnit.
+ (Length):
+ (WebCore::Length::intValue): Currently maps directly to Length::value, but the current logic of value
+ will be migrated here when value is changed to return a float.
+ (WebCore::Length::setValue): Added a variant that takes a FractionalLayoutUnit.
+
+2012-04-09 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] requestAnimationFrame performance choppy & inconsistent
+ https://bugs.webkit.org/show_bug.cgi?id=83499
+
+ Reviewed by Rob Buis.
+
+ Respect m_scheduled & m_previousFrameDone flags like the Mac port of
+ DisplayRefreshMonitor does.
+ Internal PR: 147826
+
+ requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
+
+ * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
+ (WebCore::DisplayRefreshMonitor::displayLinkFired):
+
+2012-04-09 Luke Macpherson <macpherson@chromium.org>
+
+ Make CSSValueID's into an enum instead of a collection of integers.
+ https://bugs.webkit.org/show_bug.cgi?id=83246
+
+ Reviewed by Simon Fraser.
+
+ This patch simply converts the list of integers into an enum.
+ Follow-up patches will then convert existing code that uses integers to use the new enum.
+
+ No new tests / no functionality changed.
+
+ * css/makevalues.pl:
+
+2012-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113609.
+ http://trac.webkit.org/changeset/113609
+ https://bugs.webkit.org/show_bug.cgi?id=83522
+
+ it broke tests (Requested by dethbakin on #webkit).
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ * css/mediaControlsQuickTime.css:
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
+ * html/shadow/MediaControlElements.cpp:
+ (RenderMediaVolumeSliderContainer):
+ (WebCore):
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaVolumeSliderContainer::layout):
+ (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
+ * html/shadow/MediaControlElements.h:
+ (MediaControlVolumeSliderContainerElement):
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::create):
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::create):
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make culling work with clipped rects
+ https://bugs.webkit.org/show_bug.cgi?id=83494
+
+ Reviewed by Adrienne Walker.
+
+ Use new CCMathUtil transformation methods to deal with rects that clip
+ the camera plane. This fixes three things:
+
+ 1. A layer completely behind the camera is not visible and should not
+ occlude.
+ 2. A layer that is clipped by the camera is treated like a
+ non-axis-aligned transform, as the result of a mapClippedRect() is a
+ bounding box and may contain pixels not in the original rect. This guards
+ our use of mapRect() when transforming occluded regions.
+ 3. A layer's occlusion must be clipped by its scissor rect. This scissor
+ rect exists in its target space, so occlusion in screen space is only
+ possible if its target also is axis aligned in the screen, such that
+ the layer's scissor rect remains a rect in screen space.
+
+ Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
+ CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect
+
+ * platform/graphics/chromium/cc/CCMathUtil.cpp:
+ (WebCore::CCMathUtil::mapQuad):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::transformSurfaceOpaqueRegion):
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+ (WebCore::testContentRectOccluded):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113613.
+ http://trac.webkit.org/changeset/113613
+ https://bugs.webkit.org/show_bug.cgi?id=83509
+
+ crashing most chromium bots (Requested by simonjam on
+ #webkit).
+
+ * Modules/battery/BatteryController.cpp:
+ * Modules/battery/BatteryController.h:
+ (BatteryController):
+ * Modules/battery/BatteryManager.cpp:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-04-06 Zhenyao Mo <zmo@google.com>
+
+ bindAttribLocation should check webgl reserved prefix
+ https://bugs.webkit.org/show_bug.cgi?id=83409
+
+ Reviewed by Kenneth Russell.
+
+ * html/canvas/WebGLRenderingContext.cpp: Check for invalid parameters for a few functions.
+ (WebCore):
+ (WebCore::WebGLRenderingContext::bindAttribLocation):
+ (WebCore::WebGLRenderingContext::getAttribLocation):
+ (WebCore::WebGLRenderingContext::getUniformLocation):
+
+2012-04-09 Timothy Hatcher <timothy@apple.com>
+
+ Fix the assertion in PageScriptDebugServer::didPause.
+
+ https://webkit.org/b/82943
+
+ Reviewed by Simon Fraser.
+
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::PageScriptDebugServer): Initialize m_pausedPage
+ to zero so the assert in didPause will not randomly fire the first time.
+
+2012-04-09 Tim Horton <timothy_horton@apple.com>
+
+ FrameData constructor zeroes all fields, causing ImageOrientation to be 0
+ https://bugs.webkit.org/show_bug.cgi?id=83416
+
+ Reviewed by Geoff Garen.
+
+ Reinstate SimpleClassVectorTraits on FrameData (which were removed by http://trac.webkit.org/changeset/113543)
+ with canInitializeWithMemset disabled, since two of the FrameData fields cannot be initialized to zero.
+
+ No new tests.
+
+ * platform/graphics/BitmapImage.h:
+
+2012-04-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] CCLayerTreeHost / WebLayerTreeView should be single ownership, not RefCounted
+ https://bugs.webkit.org/show_bug.cgi?id=83413
+
+ Reviewed by Adrienne Walker.
+
+ CCLayerTreeHost always has a single logical owner, typically a WebLayerTreeView via either WebViewImpl or the
+ public API. It is currently refcounted for historical reasons but this isn't necessary and adds confusion.
+ CCLayerTreeHost instances and pointers are carefully managed currently to avoid leaks. In particular, while
+ LayerChromium instances hold RefPtr<CCLayerTreeHost>s, whenever we want to destroy a CCLayerTreeHost we
+ proactively clear out these references inside setRootLayer() to break the cycle.
+
+ Refactor covered by existing unit and layout tests.
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::setMaskLayer):
+ (WebCore::LayerChromium::setReplicaLayer):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::layerTreeHost):
+ (LayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::create):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+
+2012-04-09 Joshua Bell <jsbell@chromium.org>
+
+ Unreviewed, rolling out r113473.
+ http://trac.webkit.org/changeset/113473
+ https://bugs.webkit.org/show_bug.cgi?id=83074
+
+ Change does not handle cursor retention of LevelDB iterators
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
+ (WebCore::IDBIndexBackendImpl::openCursorInternal):
+ (WebCore::IDBIndexBackendImpl::countInternal):
+ (WebCore::IDBIndexBackendImpl::getInternal):
+ (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
+ * Modules/indexeddb/IDBIndexBackendImpl.h:
+ (WebCore::IDBIndexBackendImpl::create):
+ (IDBIndexBackendImpl):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::getInternal):
+ (WebCore::IDBObjectStoreBackendImpl::putInternal):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ (WebCore::IDBObjectStoreBackendImpl::clearInternal):
+ (WebCore):
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+ (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
+ (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
+ (WebCore::IDBObjectStoreBackendImpl::countInternal):
+ (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
+ (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (WebCore):
+ (WebCore::IDBObjectStoreBackendImpl::create):
+ (WebCore::IDBObjectStoreBackendImpl::databaseId):
+ (IDBObjectStoreBackendImpl):
+
+2012-04-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Texture copies should happen after incremental updates to preserve commit atomicity
+ https://bugs.webkit.org/show_bug.cgi?id=83392
+
+ Reviewed by Adrienne Walker.
+
+ This enqueues texture copy operations in the CCTextureUpdater's list instead of evaluating them immediately so
+ if the update is spread over multiple frames we can properly defer the texture copy until the end. Otherwise,
+ the texture copy for WebGL / Canvas 2D content happens before the commit completes and the compositor might pick
+ up a frame for the canvas that's "ahead" of the content around it.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::updateCompositorResources):
+ * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
+ (WebCore::CCTextureUpdater::appendUpdate):
+ (WebCore::CCTextureUpdater::appendPartialUpdate):
+ (WebCore):
+ (WebCore::CCTextureUpdater::appendCopy):
+ (WebCore::CCTextureUpdater::hasMoreUpdates):
+ (WebCore::CCTextureUpdater::update):
+ (WebCore::CCTextureUpdater::clear):
+ * platform/graphics/chromium/cc/CCTextureUpdater.h:
+ (CCTextureUpdater):
+ (UpdateEntry):
+ (CopyEntry):
+
+2012-04-09 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ [chromium] Add Battery Status API support.
+
+ Add Battery Status API support to chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=83284
+
+ Reviewed by Adam Barth.
+
+ This change is covered by tests in batterystatus/.
+
+ * Modules/battery/BatteryController.cpp:
+ (WebCore::BatteryController::updateBatteryStatus):
+ (WebCore):
+ * Modules/battery/BatteryController.h:
+ (BatteryController):
+ * Modules/battery/BatteryManager.cpp:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-04-09 SravanKumar Sandela <ssandela@innominds.com>
+
+ Unnecessary scroll bar after changing the dimensions of a DIV
+ https://bugs.webkit.org/show_bug.cgi?id=71541
+
+ Reviewed by Julien Chaffraix.
+
+ overflow: auto was being determined based on clientWidth and clientHeight, which during style change
+ scenarii will blindly exclude previous scrollbars while computing overflow. This is valid only for
+ overflow: scroll, but for other cases it wrongly reduces available area. Now it is taken care by
+ determining the overflow based on pixelSnappedPaddingBoxWidth/Height() which are newly added in RenderBox.
+
+ Tests: fast/overflow/overflow-auto-destroy-scroll-after-resizing-expected.html
+ fast/overflow/overflow-auto-destroy-scroll-after-resizing.html
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::paddingBoxWidth):
+ (WebCore::RenderBox::paddingBoxHeight):
+ (WebCore::RenderBox::pixelSnappedPaddingBoxWidth):
+ (WebCore::RenderBox::pixelSnappedPaddingBoxHeight):
+ (RenderBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hasHorizontalOverflow):
+ (WebCore::RenderLayer::hasVerticalOverflow):
+
+2012-04-09 Victor Carbune <vcarbune@adobe.com>
+
+ Simplified volume slider rendering.
+ https://bugs.webkit.org/show_bug.cgi?id=82150
+
+ Reviewed by Eric Carlson.
+
+ Test: media/video-controls-rendering-toggle-display-none.html
+
+ * css/mediaControlsChromium.css: Update controls css for Chromium.
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ * css/mediaControlsQuickTime.css: Update controls css for Safari.
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ * html/shadow/MediaControlElements.cpp: Removed particular renderer.
+ (WebCore):
+ * html/shadow/MediaControlElements.h:
+ (MediaControlVolumeSliderContainerElement): Removed particular renderer.
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra
+ unused mute button.
+ * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div element as a container for
+ the mute button and the volume slider to easily position them relative to each other.
+ (WebCore::MediaControlRootElementChromium::create):
+
+2012-04-09 Levi Weintraub <leviw@chromium.org>
+
+ Correct some LayoutUnit misuse in FilterEffectRenderer, and RenderBlock
+ https://bugs.webkit.org/show_bug.cgi?id=83366
+
+ Reviewed by Eric Seidel.
+
+ Some more preparation of Render classes for FractionalLayoutUnits. See below for details
+ of each change.
+
+ No new tests. No change in behavior.
+
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRendererHelper::applyFilterEffect): Pixel snapping image rect before
+ drawing it.
+ * rendering/RenderBlock.cpp:
+ (WebCore::::string): Pixel snapping outputted values for debug.
+
+2012-04-09 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Fix layer sorting perspective w if w becomes negative
+ https://bugs.webkit.org/show_bug.cgi?id=82997
+
+ Reviewed by Adrienne Walker.
+
+ Unit test added to CCLayerSorterTest.cpp.
+
+ This is a follow-up patch after r113364. That other patch
+ implemented proper clipping so that perspective transforms do not
+ accidentally make geometry disappear. This patch fixes a similar
+ problem in the layer sorter code so that layers do not
+ accidentally get sorted incorrectly.
+
+ * platform/graphics/chromium/cc/CCLayerSorter.cpp:
+ (WebCore::CCLayerSorter::LayerShape::LayerShape):
+ * platform/graphics/chromium/cc/CCMathUtil.cpp:
+ (WebCore::computeEnclosingRect):
+ (WebCore::addVertexToClippedQuad):
+ (WebCore::CCMathUtil::mapClippedQuad):
+ (WebCore):
+ (WebCore::CCMathUtil::computeEnclosingRectOfVertices):
+ * platform/graphics/chromium/cc/CCMathUtil.h:
+ (WebCore):
+ (CCMathUtil):
+
+2012-04-09 Martin Robinson <mrobinson@igalia.com>
+
+ [soup] Crash while loading http://www.jusco.cn
+ https://bugs.webkit.org/show_bug.cgi?id=68238
+
+ Reviewed by Philippe Normand.
+
+ Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
+
+ When running synchronous XMLHttpRequests, push a new inner thread default
+ context, so that other sources from timers and network activity do not run.
+ This will make synchronous requests truly synchronous with the rest of
+ WebCore.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
+ (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
+ context to prevent other sources from running.
+ (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
+ (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
+ (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
+ (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
+ respects the inner thread context.
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Flip transition painting delayed with threaded animations
+ https://bugs.webkit.org/show_bug.cgi?id=82571
+
+ Reviewed by Adrienne Walker.
+
+ This allows for prepainting to see and paint layers that are not facing
+ the camera but have animating transforms. This is needed to prepaint
+ animations that "flip" layers around to make the front visible.
+
+ The changes are to add a backFaceIsVisible() helper function in
+ CCLTHCommon. This is used like before to cull non-double sided
+ layers, but culling is prevented on main thread when the screen
+ space transform is unknown due to animation. We add new
+ helper methods transformToScreenIsKnown() to identify this.
+
+ However the layer is not actually visible, so we set the
+ visibleLayerRect to be empty in this case.
+
+ The calculateVisibleLayerRect needs to use the backFaceIsVisible()
+ helper, so we move it into the .cpp file where it belongs, and make
+ it static to the file since it is not used outide of CCLTHCommon.cpp
+ at all.
+
+ Unit test: CCLayerTreeHostCommonTest.verifyBackFaceCulling
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore):
+ (WebCore::backFaceIsVisible):
+ (WebCore::calculateVisibleLayerRect):
+ (WebCore::layerOpacityIsOpaque):
+ (WebCore::transformToParentIsKnown):
+ (WebCore::transformToScreenIsKnown):
+ (WebCore::layerShouldBeSkipped):
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+ (WebCore::walkLayersAndCalculateVisibleLayerRects):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
+ (WebCore):
+
+2012-04-09 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Toggle buttons do not size appropriately in some themes
+ https://bugs.webkit.org/show_bug.cgi?id=82833
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Test: platform/gtk/fast/forms/large-toggle-elements.html
+
+ Instead of drawing a toggle button across the entire rectangle of
+ the WebCore control, draw a default-sized one cenetered in the rectangle.
+
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::paintToggle): Draw default-sized toggles.
+
+2012-04-09 Raymond Liu <raymond.liu@intel.com>
+
+ When create JavaScriptNode, do not ignore NumberOfOutputChannels parameter.
+ https://bugs.webkit.org/show_bug.cgi?id=83250
+
+ Reviewed by Chris Rogers.
+
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createJavaScriptNode):
+ (WebCore):
+ * Modules/webaudio/AudioContext.h:
+ (AudioContext):
+ * Modules/webaudio/AudioContext.idl:
+ * Modules/webaudio/JavaScriptAudioNode.cpp:
+ (WebCore::JavaScriptAudioNode::create):
+ (WebCore):
+ (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
+ (WebCore::JavaScriptAudioNode::initialize):
+ (WebCore::JavaScriptAudioNode::process):
+ * Modules/webaudio/JavaScriptAudioNode.h:
+ (JavaScriptAudioNode):
+
+2012-04-09 Abhishek Arya <inferno@chromium.org>
+
+ Crash due to floats not cleared before starting SVG <text> layout.
+ https://bugs.webkit.org/show_bug.cgi?id=83021
+
+ Reviewed by Dirk Schulze.
+
+ Manual Test - ManualTests/svg-text-float-not-removed-crash.html.
+ Can't reproduce the failure in DRT.
+
+ forceLayoutInlineChildren is used in SVG <text> layout and overrides
+ RenderBlock::layoutBlock. However, it missed the 'clearFloats' step,
+ which will cause a crash when trying to access removed renderers.
+
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::forceLayoutInlineChildren):
+
+2012-04-09 Jeffrey Pfau <jpfau@apple.com>
+
+ Filter files from dataTransfer.getData on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=38876
+
+ Reviewed by Enrica Casucci.
+
+ The ClipboardMac class now keeps track of whether it was created for copy and paste, dragging and dropping
+ files or dragging and dropping generic data. This enables the class to block calls to set-/getData when the
+ clipboard is not operating on generic data, and vice-versa.
+
+ Test: fast/events/drop-with-file-paths.html
+
+ * editing/mac/EditorMac.mm:
+ (WebCore::Editor::newGeneralClipboard):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::createDraggingClipboard):
+ * platform/mac/ClipboardMac.h:
+ (WebCore::ClipboardMac::create):
+ (ClipboardMac):
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::Clipboard::create):
+ (WebCore::ClipboardMac::ClipboardMac):
+ (WebCore::ClipboardMac::getData):
+ (WebCore::ClipboardMac::setData):
+ (WebCore::ClipboardMac::files):
+
+2012-04-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113561.
+ http://trac.webkit.org/changeset/113561
+ https://bugs.webkit.org/show_bug.cgi?id=83487
+
+ broke webkit_unit_tests (Requested by simonjam on #webkit).
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::transformSurfaceOpaqueRegion):
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+ (WebCore::testContentRectOccluded):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-09 Levi Weintraub <leviw@chromium.org>
+
+ Correct LayoutUnit usage in style functions getRoundedBorderFor
+ https://bugs.webkit.org/show_bug.cgi?id=83154
+
+ Reviewed by Julien Chaffraix.
+
+ Correcting LayoutUnit usage in getRoundedBorderFor and the calcRadiiFor helper function.
+
+ No new tests. No change in behavior.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::calcRadiiFor): This is a static internal function that returns the radii based on a size.
+ It's only called from getRoundedBorderFor, so we're now pixel snapping the size before handing it
+ to this function.
+ (WebCore::RenderStyle::getRoundedBorderFor): Takes a LayoutRect and returns the pixel-snapped
+ resulting RoundedRect. Using a local IntRect to avoid snapping twice.
+
+2012-04-06 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: zoom on vertical mousewheel in Timeline overview
+ https://bugs.webkit.org/show_bug.cgi?id=83379
+
+ Reviewed by Pavel Feldman.
+
+ - added support for zooming around mouse cursor upon mousewheel event;
+ - handle mousewheel event by _onMouseWheel, not scrollWindow, so we only zoom on events internal to overview.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow):
+ (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
+ (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
+ (WebInspector.TimelineOverviewWindow.prototype._zoom):
+
+2012-04-09 Bill Budge <bbudge@chromium.org>
+
+ Cross-origin preflight request should not include credentials.
+ https://bugs.webkit.org/show_bug.cgi?id=37676
+
+ Modifies createAccessControlPreflightRequest so it never allows credentials.
+
+ Reviewed by Adam Barth.
+
+ http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
+ http/tests/xmlhttprequest/access-control-preflight-credential-async.html
+
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::createAccessControlPreflightRequest):
+ * loader/CrossOriginAccessControl.h:
+ (WebCore):
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
+
+2012-04-09 Antti Koivisto <antti@apple.com>
+
+ Don't expose internal CSSValues in API
+ https://bugs.webkit.org/show_bug.cgi?id=83426
+
+ Reviewed by Andreas Kling.
+
+ The CSSValues returned from functions like CSSStyleDeclaration.getPropertyCSSValue() are currently
+ the same instances we use internally. This creates various problems. The values can't be shared between
+ documents as the wrappers would be shared too. Having to maintain per-document CSSValuePools complicate
+ the architecture and increase memory usage. This also blocks sharing style sheet data structures
+ between documents.
+
+ This patch adds a concept of CSSOM-safe CSSValue. Only the safe values can be wrapped for JS access.
+ Values are unsafe by default. The CSSOM functions that return CSSValues create safe instances by
+ cloning the internal values.
+
+ The use of APIs that return CSSValues is very rare (the currect CSSOM draft deprecates them) and
+ cloning is cheap in any case. Future patches will eliminate the per-document value pool in favor
+ of a global one for a memory win.
+
+ In the future we want to replace internally used CSSValues with true internal types (StyleValues) and
+ use CSSValues exclusively as wrappers (similar to how CSSStyleRule wraps internal StyleRule).
+
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
+ * css/CSSImageSetValue.cpp:
+ (WebCore::CSSImageSetValue::CSSImageSetValue):
+ (WebCore):
+ (WebCore::CSSImageSetValue::cloneForCSSOM):
+ * css/CSSImageSetValue.h:
+ (CSSImageSetValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cleanup):
+
+ Opportunistically fix a string leak for CSS_COUNTER_NAME values.
+ Add all cases, remove default.
+
+ (WebCore::CSSPrimitiveValue::cloneForCSSOM):
+ (WebCore):
+ * css/CSSPrimitiveValue.h:
+ (CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::setCSSOMSafe):
+ * css/CSSValue.cpp:
+ (WebCore):
+ (TextCloneCSSValue):
+ (WebCore::TextCloneCSSValue::create):
+ (WebCore::TextCloneCSSValue::cssText):
+ (WebCore::TextCloneCSSValue::TextCloneCSSValue):
+
+ Most non-primitive value types are not exposed in CSSOM. For those we create a dummy value
+ that contains only the data that is accessible though the base CSSValue interface.
+
+ (WebCore::CSSValue::addSubresourceStyleURLs):
+ (WebCore::CSSValue::cssText):
+ (WebCore::CSSValue::destroy):
+ (WebCore::CSSValue::cloneForCSSOM):
+ * css/CSSValue.h:
+ (WebCore):
+ (CSSValue):
+ (WebCore::CSSValue::isCSSOMSafe):
+ (WebCore::CSSValue::isSubtypeExposedToCSSOM):
+ (WebCore::CSSValue::CSSValue):
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::CSSValueList):
+ (WebCore):
+ (WebCore::CSSValueList::cloneForCSSOM):
+ * css/CSSValueList.h:
+ (CSSValueList):
+ * css/Counter.h:
+ (Counter):
+ (WebCore::Counter::cloneForCSSOM):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ (WebCore::PropertySetCSSStyleDeclaration::didMutate):
+ (WebCore):
+ (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+
+ Maintain a map of safe CSSValues so we can maintain object identity.
+
+ * css/PropertySetCSSStyleDeclaration.h:
+ (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
+ (PropertySetCSSStyleDeclaration):
+ * css/RGBColor.cpp:
+ (WebCore::RGBColor::red):
+ (WebCore::RGBColor::green):
+ (WebCore::RGBColor::blue):
+ (WebCore::RGBColor::alpha):
+ * css/Rect.h:
+ (WebCore::RectBase::RectBase):
+ (RectBase):
+ (Rect):
+ (WebCore::Rect::cloneForCSSOM):
+ (WebCore::Rect::Rect):
+ (Quad):
+ (WebCore::Quad::cloneForCSSOM):
+ (WebCore::Quad::Quad):
+ * css/WebKitCSSFilterValue.cpp:
+ (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
+ (WebCore):
+ (WebCore::WebKitCSSFilterValue::cloneForCSSOM):
+ * css/WebKitCSSFilterValue.h:
+ (WebKitCSSFilterValue):
+ * css/WebKitCSSTransformValue.cpp:
+ (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
+ (WebCore):
+ (WebCore::WebKitCSSTransformValue::cloneForCSSOM):
+ * css/WebKitCSSTransformValue.h:
+ (WebKitCSSTransformValue):
+ * svg/SVGColor.cpp:
+ (WebCore::SVGColor::SVGColor):
+ (WebCore):
+ (WebCore::SVGColor::cloneForCSSOM):
+ * svg/SVGColor.h:
+ (SVGColor):
+ * svg/SVGPaint.cpp:
+ (WebCore::SVGPaint::SVGPaint):
+ (WebCore):
+ (WebCore::SVGPaint::cloneForCSSOM):
+ * svg/SVGPaint.h:
+ (SVGPaint):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+
+2012-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: get rid of WebInspector.Resource.category, use WebInspector.Resource.type instead.
+ https://bugs.webkit.org/show_bug.cgi?id=83467
+
+ Reviewed by Yury Semikhatsky.
+
+ WebInspector.Resource.category is derived from the WebInspector.Resource.type and there is no real need it maintaining both.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/AuditLauncherView.js:
+ (WebInspector.AuditLauncherView.prototype._onResourceStarted):
+ (WebInspector.AuditLauncherView.prototype._onResourceFinished):
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
+ (WebInspector.AuditRules.CombineJsResourcesRule):
+ (WebInspector.AuditRules.CombineCssResourcesRule):
+ (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
+ (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModelResourceBinding):
+ (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
+ (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
+ * inspector/front-end/ContentProviders.js:
+ (WebInspector.ResourceContentProvider):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModelResourceBinding):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._makeResource):
+ * inspector/front-end/NetworkManager.js:
+ (WebInspector.NetworkManager.get this):
+ (WebInspector.NetworkManager.get NetworkAgent):
+ (WebInspector.NetworkManager):
+ (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
+ (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
+ (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
+ (WebInspector.NetworkDispatcher.prototype.responseReceived):
+ (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
+ (WebInspector.NetworkLogView.prototype._updateSummaryBar):
+ (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
+ (WebInspector.NetworkDataGridNode.prototype.refreshResource):
+ (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
+ (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource):
+ (WebInspector.Resource.registerDomainModelBinding):
+ (WebInspector.Resource.prototype.set type):
+ (WebInspector.Resource.prototype.isEditable):
+ (WebInspector.Resource.prototype.setContent):
+ (WebInspector.Resource.prototype.requestContent):
+ * inspector/front-end/ResourceCategory.js: Removed.
+ * inspector/front-end/ResourcePreviewView.js:
+ (WebInspector.ResourcePreviewView.prototype._createPreviewView):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
+ (WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
+ (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
+ * inspector/front-end/ResourceType.js: Added.
+ (WebInspector.ResourceType):
+ (WebInspector.ResourceType.prototype.name):
+ (WebInspector.ResourceType.prototype.title):
+ (WebInspector.ResourceType.prototype.categoryTitle):
+ (WebInspector.ResourceType.prototype.color):
+ (WebInspector.ResourceType.prototype.isTextType):
+ (WebInspector.ResourceType.prototype.toString):
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.hasTextContent):
+ (WebInspector.ResourceView.nonSourceViewForResource):
+ (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameTreeElement.prototype.appendResource):
+ (WebInspector.FrameResourceTreeElement):
+ (WebInspector.FrameResourceTreeElement.prototype.onattach):
+ (WebInspector.ResourceRevisionTreeElement):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-04-09 Alexis Menard <alexis.menard@openbossa.org>
+
+ Unreviewed, adding a missing header for the Qt port.
+
+ * Target.pri:
+
+2012-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: [network panel] type column shows "undefined" instead of "(Pending)" upon load.
+ https://bugs.webkit.org/show_bug.cgi?id=83470
+
+ Reviewed by Yury Semikhatsky.
+
+ isPingRequest is tested for as a field, not a function return value.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
+
+2012-03-30 Robert Hogan <robert@webkit.org>
+
+ REGRESSION (r94492): Incorrect initial layout of absolutely positioned <input> inside centering div
+ https://bugs.webkit.org/show_bug.cgi?id=77754
+
+ Reviewed by David Hyatt.
+
+ The correct static position of an center-aligned, inline, absolutely positioned object with a block child can't be known
+ until the width of the child has been computed. This means that setStaticPositions() in RenderBlockLineLayout is setting
+ the position too early, before the width of the child has been finalised. To fix, adjust the static position of the inline
+ positioned object once its child's width has been calculated.
+
+ Test: fast/css/align-positioned-object-on-resize.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutPositionedObjects):
+
+2012-04-09 Eric Carlson <eric.carlson@apple.com>
+
+ WebVTT parser unnecessarily limits the value of a timestamp
+ https://bugs.webkit.org/show_bug.cgi?id=83422
+
+ Reviewed by Dan Bernstein.
+
+ Test: media/track/track-large-timestamp.html
+
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::collectTimeStamp): Make all constants double instead of int so
+ the maximum number of hours is increased and so we don't need any casts.
+
+2012-04-09 Abhishek Arya <inferno@chromium.org>
+
+ Incorrect placement of new child to table when before child parent is not |this|.
+ https://bugs.webkit.org/show_bug.cgi?id=82630
+
+ Reviewed by Julien Chaffraix.
+
+ Tests: fast/table/table-row-split2.html
+ fast/table/table-section-split2.html
+ fast/table/table-split.html
+ fast/table/table-split2.html
+ and tested by layouttests in commits r97180, r108127, and a few others.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addChildToAnonymousColumnBlocks): function rename, block->box.
+ (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): ditto.
+ (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): ditto.
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::moveChildTo): move these functions from RenderBlock, needs to be
+ used in RenderBox::splitAnonymousBoxesAroundChild.
+ (WebCore):
+ (WebCore::RenderBox::moveChildrenTo): ditto.
+ (WebCore::markBoxForRelayoutAfterSplit): helper to mark a block or table part for complete relayout
+ after anonymous boxes are split around child.
+ (WebCore::RenderBox::splitAnonymousBoxesAroundChild): moved from RenderBlock to be able
+ to work with table parts.
+ * rendering/RenderBox.h:
+ (RenderBox):
+ (WebCore::RenderBox::moveChildTo):
+ (WebCore::RenderBox::moveAllChildrenTo):
+ (WebCore::RenderBox::moveChildrenTo):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::addChild): no longer need the hack added in r95461.
+ * rendering/RenderRubyBase.cpp:
+ (WebCore::RenderRubyBase::moveChildren): function rename, block->box.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild): Use splitAnonymousBoxesAroundChild function when |beforeChild| != |this|.
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::addChild): ditto.
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::addChild): ditto.
+
+2012-04-03 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ WebSocketServer: Honour WebSocketFrame::masked in makeFrameData
+ https://bugs.webkit.org/show_bug.cgi?id=83042
+
+ Reviewed by Kent Tamura.
+
+ Frames from the server should not be masked.
+ Currently, the flag is set to false, but the frames were masked anyway.
+ This causes clients with recent builds of WebKit to abort the connection to the
+ inspector server, refusing masked frames from the server as per the spec.
+ This doesn't change the behavior of WebSocket clients, which set the masked flag to true.
+
+ * Modules/websockets/WebSocketFrame.cpp:
+ (WebCore::appendFramePayload):
+ (WebCore::WebSocketFrame::makeFrameData):
+
+2012-04-09 Alexis Menard <alexis.menard@openbossa.org>
+
+ [Part 5] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
+ https://bugs.webkit.org/show_bug.cgi?id=83466
+
+ Reviewed by Kentaro Hara.
+
+ CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
+ as integers, this patch should adress the last remaining occurences of ints rather than CSSPropertyIDs.
+
+ No new tests : There should be no behavior change in this patch.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ (CSSStyleSelector):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::removePropertiesInSet):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::gatherEnclosingShorthandProperties):
+ (WebCore::AnimationBase::animatableShorthandsAffectingProperty):
+ * page/animation/AnimationBase.h:
+ (AnimationBase):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::pauseTransitionAtTime):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+ (WebCore::KeyframeAnimation::getAnimatedStyle):
+ (WebCore::KeyframeAnimation::overrideAnimations):
+ (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
+ (WebCore::KeyframeAnimation::timeToNextService):
+ * rendering/style/KeyframeList.cpp:
+ (WebCore::KeyframeList::insert):
+ * rendering/style/KeyframeList.h:
+ (WebCore::KeyframeValue::addProperty):
+ (WebCore::KeyframeValue::containsProperty):
+ (WebCore::KeyframeValue::properties):
+ (KeyframeValue):
+ (WebCore::KeyframeList::addProperty):
+ (WebCore::KeyframeList::containsProperty):
+ (WebCore::KeyframeList::beginProperties):
+ (WebCore::KeyframeList::endProperties):
+ (KeyframeList):
+
+2012-04-09 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rebaselined run-bindings-tests results.
+
+ * bindings/scripts/test/JS/JSFloat64Array.cpp:
+ (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
+ (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
+ (WebCore::jsFloat64ArrayConstructor):
+ (WebCore::JSFloat64Array::getConstructor):
+ (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
+ (WebCore::toFloat64Array):
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertySlot):
+ (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertyDescriptor):
+ (WebCore::jsTestActiveDOMObjectExcitingAttr):
+ (WebCore::jsTestActiveDOMObjectConstructor):
+ (WebCore::JSTestActiveDOMObject::getConstructor):
+ (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
+ (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
+ (WebCore::JSTestActiveDOMObjectOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestActiveDOMObjectOwner::finalize):
+ (WebCore::toTestActiveDOMObject):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
+ (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
+ (WebCore::jsTestCustomNamedGetterConstructor):
+ (WebCore::JSTestCustomNamedGetter::getConstructor):
+ (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
+ (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestCustomNamedGetterOwner::finalize):
+ (WebCore::toTestCustomNamedGetter):
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
+ (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
+ (WebCore::jsTestEventConstructorAttr1):
+ (WebCore::jsTestEventConstructorAttr2):
+ (WebCore::jsTestEventConstructorConstructor):
+ (WebCore::JSTestEventConstructor::getConstructor):
+ (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestEventConstructorOwner::finalize):
+ (WebCore::toTestEventConstructor):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::JSTestEventTargetConstructor::getOwnPropertySlot):
+ (WebCore::JSTestEventTargetConstructor::getOwnPropertyDescriptor):
+ (WebCore::jsTestEventTargetConstructor):
+ (WebCore::JSTestEventTarget::getConstructor):
+ (WebCore::jsTestEventTargetPrototypeFunctionItem):
+ (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
+ (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
+ (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
+ (WebCore::JSTestEventTarget::indexGetter):
+ (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestEventTargetOwner::finalize):
+ (WebCore::toTestEventTarget):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
+ (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
+ (WebCore::jsTestInterfaceSupplementalStr1):
+ (WebCore::jsTestInterfaceSupplementalStr2):
+ (WebCore::jsTestInterfaceSupplementalStr3):
+ (WebCore::jsTestInterfaceSupplementalNode):
+ (WebCore::jsTestInterfaceConstructor):
+ (WebCore::setJSTestInterfaceSupplementalStr2):
+ (WebCore::setJSTestInterfaceSupplementalStr3):
+ (WebCore::setJSTestInterfaceSupplementalNode):
+ (WebCore::JSTestInterface::getConstructor):
+ (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
+ (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
+ (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
+ (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestInterfaceOwner::finalize):
+ (WebCore::toTestInterface):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
+ (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
+ (WebCore::jsTestMediaQueryListListenerConstructor):
+ (WebCore::JSTestMediaQueryListListener::getConstructor):
+ (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
+ (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestMediaQueryListListenerOwner::finalize):
+ (WebCore::toTestMediaQueryListListener):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
+ (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
+ (WebCore::jsTestNamedConstructorConstructor):
+ (WebCore::JSTestNamedConstructor::getConstructor):
+ (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestNamedConstructorOwner::finalize):
+ (WebCore::toTestNamedConstructor):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObjConstructor::getOwnPropertySlot):
+ (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestObjConstructor::constructJSTestObj):
+ (WebCore::jsTestObjReadOnlyIntAttr):
+ (WebCore::jsTestObjReadOnlyStringAttr):
+ (WebCore::jsTestObjReadOnlyTestObjAttr):
+ (WebCore::jsTestObjShortAttr):
+ (WebCore::jsTestObjUnsignedShortAttr):
+ (WebCore::jsTestObjIntAttr):
+ (WebCore::jsTestObjLongLongAttr):
+ (WebCore::jsTestObjUnsignedLongLongAttr):
+ (WebCore::jsTestObjStringAttr):
+ (WebCore::jsTestObjTestObjAttr):
+ (WebCore::jsTestObjSequenceAttr):
+ (WebCore::jsTestObjXMLObjAttr):
+ (WebCore::jsTestObjCreate):
+ (WebCore::jsTestObjReflectedStringAttr):
+ (WebCore::jsTestObjReflectedIntegralAttr):
+ (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
+ (WebCore::jsTestObjReflectedBooleanAttr):
+ (WebCore::jsTestObjReflectedURLAttr):
+ (WebCore::jsTestObjReflectedCustomIntegralAttr):
+ (WebCore::jsTestObjReflectedCustomBooleanAttr):
+ (WebCore::jsTestObjReflectedCustomURLAttr):
+ (WebCore::jsTestObjAttrWithGetterException):
+ (WebCore::jsTestObjAttrWithSetterException):
+ (WebCore::jsTestObjStringAttrWithGetterException):
+ (WebCore::jsTestObjStringAttrWithSetterException):
+ (WebCore::jsTestObjCustomAttr):
+ (WebCore::jsTestObjWithScriptStateAttribute):
+ (WebCore::jsTestObjWithScriptExecutionContextAttribute):
+ (WebCore::jsTestObjWithScriptStateAttributeRaises):
+ (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
+ (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
+ (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
+ (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
+ (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
+ (WebCore::jsTestObjConditionalAttr1):
+ (WebCore::jsTestObjConditionalAttr2):
+ (WebCore::jsTestObjConditionalAttr3):
+ (WebCore::jsTestObjConditionalAttr4Constructor):
+ (WebCore::jsTestObjConditionalAttr5Constructor):
+ (WebCore::jsTestObjConditionalAttr6Constructor):
+ (WebCore::jsTestObjCachedAttribute1):
+ (WebCore::jsTestObjCachedAttribute2):
+ (WebCore::jsTestObjContentDocument):
+ (WebCore::jsTestObjMutablePoint):
+ (WebCore::jsTestObjImmutablePoint):
+ (WebCore::jsTestObjStrawberry):
+ (WebCore::jsTestObjStrictFloat):
+ (WebCore::jsTestObjDescription):
+ (WebCore::jsTestObjId):
+ (WebCore::jsTestObjHash):
+ (WebCore::jsTestObjConstructor):
+ (WebCore::setJSTestObjShortAttr):
+ (WebCore::setJSTestObjUnsignedShortAttr):
+ (WebCore::setJSTestObjIntAttr):
+ (WebCore::setJSTestObjLongLongAttr):
+ (WebCore::setJSTestObjUnsignedLongLongAttr):
+ (WebCore::setJSTestObjStringAttr):
+ (WebCore::setJSTestObjTestObjAttr):
+ (WebCore::setJSTestObjSequenceAttr):
+ (WebCore::setJSTestObjXMLObjAttr):
+ (WebCore::setJSTestObjCreate):
+ (WebCore::setJSTestObjReflectedStringAttr):
+ (WebCore::setJSTestObjReflectedIntegralAttr):
+ (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
+ (WebCore::setJSTestObjReflectedBooleanAttr):
+ (WebCore::setJSTestObjReflectedURLAttr):
+ (WebCore::setJSTestObjReflectedCustomIntegralAttr):
+ (WebCore::setJSTestObjReflectedCustomBooleanAttr):
+ (WebCore::setJSTestObjReflectedCustomURLAttr):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjStringAttrWithGetterException):
+ (WebCore::setJSTestObjStringAttrWithSetterException):
+ (WebCore::setJSTestObjCustomAttr):
+ (WebCore::setJSTestObjWithScriptStateAttribute):
+ (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
+ (WebCore::setJSTestObjWithScriptStateAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
+ (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
+ (WebCore::setJSTestObjConditionalAttr1):
+ (WebCore::setJSTestObjConditionalAttr2):
+ (WebCore::setJSTestObjConditionalAttr3):
+ (WebCore::setJSTestObjConditionalAttr4Constructor):
+ (WebCore::setJSTestObjConditionalAttr5Constructor):
+ (WebCore::setJSTestObjConditionalAttr6Constructor):
+ (WebCore::setJSTestObjMutablePoint):
+ (WebCore::setJSTestObjImmutablePoint):
+ (WebCore::setJSTestObjStrawberry):
+ (WebCore::setJSTestObjStrictFloat):
+ (WebCore::setJSTestObjId):
+ (WebCore::JSTestObj::getConstructor):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethod):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionIntMethod):
+ (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionObjMethod):
+ (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
+ (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
+ (WebCore::jsTestObjPrototypeFunctionSerializedValue):
+ (WebCore::jsTestObjPrototypeFunctionIdbKey):
+ (WebCore::jsTestObjPrototypeFunctionOptionsObject):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithException):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethod):
+ (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionAddEventListener):
+ (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
+ (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
+ (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
+ (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
+ (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
+ (WebCore::jsTestObjPrototypeFunctionConvert1):
+ (WebCore::jsTestObjPrototypeFunctionConvert2):
+ (WebCore::jsTestObjPrototypeFunctionConvert3):
+ (WebCore::jsTestObjPrototypeFunctionConvert4):
+ (WebCore::jsTestObjPrototypeFunctionConvert5):
+ (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
+ (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
+ (WebCore::jsTestObjPrototypeFunctionOrange):
+ (WebCore::jsTestObjPrototypeFunctionStrictFunction):
+ (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestObjOwner::finalize):
+ (WebCore::toTestObj):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
+ (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
+ (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
+ (WebCore::jsTestSerializedScriptValueInterfaceValue):
+ (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
+ (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
+ (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
+ (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
+ (WebCore::setJSTestSerializedScriptValueInterfaceValue):
+ (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
+ (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
+ (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
+ (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
+ (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
+ (WebCore::toTestSerializedScriptValueInterface):
+
+2012-04-09 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Upstream BlackBerry change to WebCore::TouchEvent
+ https://bugs.webkit.org/show_bug.cgi?id=83454
+
+ Reviewed by Rob Buis.
+
+ BlackBerry-port enhances the TouchEvent by adding member variables
+ to indicate if the event is double-tap or touch-hold.
+
+ * dom/TouchEvent.cpp:
+ (WebCore::TouchEvent::TouchEvent):
+ (WebCore::TouchEvent::initTouchEvent):
+ * dom/TouchEvent.h:
+ (TouchEvent):
+ (WebCore::TouchEvent::setDoubleTap):
+ (WebCore::TouchEvent::isDoubleTap):
+ (WebCore::TouchEvent::setTouchHold):
+ (WebCore::TouchEvent::isTouchHold):
+
+2012-04-09 James Robinson <jamesr@chromium.org>
+
+ Remove partially implemented per-Element visibility checks from requestAnimationFrame logic
+ https://bugs.webkit.org/show_bug.cgi?id=74232
+
+ Reviewed by Dean Jackson.
+
+ The initial requestAnimationFrame implementation had an Element parameter as the second argument to the
+ function. This element was intended to convey the element associated with the animation so that when the element
+ was not visible the animation callback would not be run. The checked in implementation does a very limited check
+ - testing for display:none and being detached from the tree - but does it in a way that does not work correctly
+ if an element's visibility is manipulated by a callback running from a different document. It also adds
+ significant complexity to the code, making it less hackable and easy to introduce subtle security bugs or
+ infinite loops.
+
+ This patch removes the parameter. Since it has always been marked optional, there is no web compat risk.
+
+ If this functionality is added back in the future it needs to be implemented in a way that considers all
+ callbacks within a Page and not only those within a single Document.
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitRequestAnimationFrame):
+ * dom/Document.h:
+ * dom/RequestAnimationFrameCallback.h:
+ * dom/ScriptedAnimationController.cpp:
+ (WebCore::ScriptedAnimationController::registerCallback):
+ (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
+ * dom/ScriptedAnimationController.h:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::webkitRequestAnimationFrame):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2012-04-09 Chris Guan <chris.guan@torchmobile.com.cn>
+
+ [Blackberry] m_isRequestedByPlugin should be copied in ResourceRequest
+ https://bugs.webkit.org/show_bug.cgi?id=83447
+
+ Reviewed by George Staikos.
+
+ It is an obvious error, We should copy m_isRequestedByPlugin in ResourceReuest.
+
+ No new tests, because those existing plugin test cases are enough.
+
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::doPlatformCopyData):
+ (WebCore::ResourceRequest::doPlatformAdopt):
+
+2012-04-09 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: fixing inspector front-end compilation that has been broken by the
+ recent SaveAs and DOMStorage changes.
+
+ * inspector/front-end/DOMStorage.js:
+ * inspector/front-end/externs.js:
+ (WebInspector.isURLSaved):
+
+2012-04-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: remove ComboBoxFileSelector and SingleFileEditorContainer.
+ https://bugs.webkit.org/show_bug.cgi?id=83460
+
+ Reviewed by Yury Semikhatsky.
+
+ We are now using scripts navigator and tabbed editor container, removing the old components.
+ This change removes the corresponding classes and the abstractions used during the
+ transition period.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ScriptsNavigator.js:
+ (WebInspector.ScriptsNavigator.prototype._scriptSelected):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.get this):
+ (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
+ (WebInspector.ScriptsPanel.prototype._reset):
+ (WebInspector.ScriptsPanel.prototype._showFile):
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
+ (WebInspector.ScriptsPanel.prototype._editorClosed):
+ (WebInspector.ScriptsPanel.prototype._scriptSelected):
+ (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
+ (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
+ * inspector/front-end/SettingsScreen.js:
+ (WebInspector.SettingsScreen):
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainerDelegate):
+ (WebInspector.TabbedEditorContainerDelegate.prototype.viewForFile):
+ (get WebInspector):
+ (WebInspector.TabbedEditorContainer.prototype._tabClosed):
+ * inspector/front-end/scriptsPanel.css:
+
+2012-04-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make culling work with clipped rects
+ https://bugs.webkit.org/show_bug.cgi?id=83217
+
+ Reviewed by Adrienne Walker.
+
+ Use new CCMathUtil transformation methods to deal with rects that clip
+ the camera plane. This fixes three things:
+
+ 1. A layer completely behind the camera is not visible and should not
+ occlude.
+ 2. A layer that is clipped by the camera is treated like a
+ non-axis-aligned transform, as the result of a mapClippedRect() is a
+ bounding box and may contain pixels not in the original rect. This guards
+ our use of mapRect() when transforming occluded regions.
+ 3. A layer's occlusion must be clipped by its scissor rect. This scissor
+ rect exists in its target space, so occlusion in screen space is only
+ possible if its target also is axis aligned in the screen, such that
+ the layer's scissor rect remains a rect in screen space.
+
+ Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
+ CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::transformSurfaceOpaqueRegion):
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+ (WebCore::testContentRectOccluded):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-09 Zan Dobersek <zandobersek@gmail.com>
+
+ [Gtk] Web Inspector noinst_DATA images are copied into innacurately named directory
+ https://bugs.webkit.org/show_bug.cgi?id=83423
+
+ Reviewed by Martin Robinson.
+
+ Copy Web Inspector images that are a part of the data not meant
+ for installation into a directory named 'Images' rather than
+ a lower-case version of that. This is required as until now,
+ when using these inspector resources (for example during layout
+ tests or manually pointing WEBKIT_INSPECTOR_PATH env to that
+ location), the images were not displayed as they were not loadable.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am:
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move breakpoints active state from scripts panel to debugger presentation model.
+ https://bugs.webkit.org/show_bug.cgi?id=83374
+
+ Reviewed by Yury Semikhatsky.
+
+ Just moves the state and adds event to propagate it. This is needed to abstract
+ JavaScriptSourceFrame from the ScriptsPanel.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel):
+ (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
+ (WebInspector.DebuggerPresentationModel.prototype.setBreakpointsActive):
+ (WebInspector.DebuggerPresentationModel.prototype.breakpointsActive):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
+ (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
+ (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
+
+2012-04-08 Takashi Sakamoto <tasak@google.com>
+
+ <content> in <meter> is not rendered correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=81311
+
+ This code changes a code location where MeterValueElement's value
+ attribute is initialized. In the old code, HTMLMeterElement's attach
+ did. It is better to initialize the attribute just after creating
+ meter's shadow subtree.
+
+ Reviewed by Hajime Morita.
+
+ No new tests, because an existing test,
+ content-element-in-meter-element.html covers.
+ However test_expectations.txt is changed. Now the test passes.
+
+ * html/HTMLMeterElement.cpp:
+ * html/HTMLMeterElement.h:
+ (HTMLMeterElement):
+ (HTMLMeterElement::attach):
+ Removed attach method, because attach method is just calling
+ LabelableElement::attach after removing didElementStateChange.
+ (HTMLMeterElement::createShadowSubTree):
+ Added setWidthPercentage to initialize MeterValueElement's value
+ attribute.
+ * LayoutTests/platform/chromium/test_expectations.txt:
+ Removed BUGWK81311 fast/dom/shadow/content-element-in-meter.html,
+ because now contentElementInMeterElement passes.
+
+2012-04-08 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for !ENABLE(CSS_FILTERS) && ASSERT_DISABLED after r109953.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+
+2012-04-07 Patrick Gansterer <paroga@webkit.org>
+
+ [CMake] Cleanup WTF include directories
+ https://bugs.webkit.org/show_bug.cgi?id=82716
+
+ Reviewed by Eric Seidel.
+
+ * CMakeLists.txt:
+
+2012-04-07 Rob Buis <rbuis@rim.com>
+
+ Remove dead code in SVGCSSParser
+ https://bugs.webkit.org/show_bug.cgi?id=83404
+
+ Reviewed by Nikolas Zimmermann.
+
+ Remove code that was there to create a SVGColor representation for color, but was never reached. Since
+ SVGColor is deprecated now (also see bug 15012), this code has lost any potential. Should SVGColor come
+ back in SVG2 we can revisit this.
+
+ Add a test to confirm for SVG we follow the CSS3 handling of color="currentColor". This is something the
+ removed code never dealt with, but the existing code in CSSParser.cpp handles, make sure we stick to this
+ behaviour in the future using this test.
+
+ Test: svg/custom/currentColor-on-color.html
+
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+
+2012-04-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ FrameData constructor zeroes all fields, causing ImageOrientation to be 0
+ https://bugs.webkit.org/show_bug.cgi?id=83416
+
+ Inofficially rubber-stamped by Tim Horton.
+
+ Lots of svg/as-image/ crash on debug builds. FrameData is used in a Vector and currently
+ special VectorTraits force it to be initialized with memset(), nulling all members, instead
+ of properly initializing them causing the ImageOrientation bug. To be able to remove the
+ SimpleClassVectorTraits specialization, we have to allow FrameData to be copied.
+
+ * platform/graphics/BitmapImage.h:
+
+2012-04-07 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
+ https://bugs.webkit.org/show_bug.cgi?id=82577
+
+ Reviewed by Filip Pizlo.
+
+ Work-around entity expansion bug that affects several SVG tests on Lion.
+
+ Sample test document which is currently broken:
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+ <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
+ ]>
+
+ <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>
+
+ The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
+ libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
+ still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
+ - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
+ or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
+ - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
+ to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
+ This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
+ - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
+ clear the recorded detph(), and stop executing the workaround.
+
+ It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.
+
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+ (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
+ (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
+ (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
+ (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ (WebCore::hackAroundLibXMLEntityParsingBug):
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ (WebCore::entityDeclarationHandler):
+ (WebCore::getEntityHandler):
+ (WebCore::XMLDocumentParser::initializeParserContext):
+
+2012-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113526.
+ http://trac.webkit.org/changeset/113526
+ https://bugs.webkit.org/show_bug.cgi?id=83417
+
+ speculative rollout for broken chrome browser_test (Requested
+ by simonjam on #webkit).
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ (WebCore):
+ (WebCore::DocumentLoader::setParsedArchiveData):
+ (WebCore::DocumentLoader::scheduleArchiveLoad):
+ (WebCore::DocumentLoader::documentURL):
+ * loader/DocumentLoader.h:
+ (DocumentLoader):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::loadArchive):
+ (WebCore::FrameLoader::stopAllLoaders):
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ (WebCore):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+ (WebCore::FrameLoader::archive):
+
+2012-04-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Avoid deleting impl tree when becoming invisible
+ https://bugs.webkit.org/show_bug.cgi?id=83396
+
+ Reviewed by Adrienne Walker.
+
+ This bit of code in CCLayerTreeHost::didBecomeInvisible..() was an attempt to drop resources when becoming
+ invisible. However, it's fairly confused - we drop textures via TextureManagers when going invisible and
+ CCLayerImpl destructors can't delete non-managed resources since they do not have access to a context - so this
+ code was never actually freeing up GPU resources. Having a sometimes-null CCLayerImpl tree when we still have a
+ valid LayerChromium tree has lead to various tricky bugs.
+
+ No new tests since this code wasn't doing anything useful in the first place.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
+
+2012-04-06 Leo Yang <leo.yang@torchmobile.com.cn>
+
+ LocalFileSystem::initializeLocalFileSystem should be static
+ https://bugs.webkit.org/show_bug.cgi?id=83356
+
+ Reviewed by Rob Buis.
+
+ LocalFileSystem::initializeLocalFileSystem should be static because
+ static LocalFileSystem::localFileSystem() requires initializeLocalFileSystem()
+ is called before it gets called.
+
+ No functionalities changed, no new tests.
+
+ * Modules/filesystem/LocalFileSystem.h:
+ (LocalFileSystem):
+
+2012-04-06 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Accelerated compositing is broken after recent TextureMapper reorganizations
+ https://bugs.webkit.org/show_bug.cgi?id=83393
+
+ Reviewed by Noam Rosenthal.
+
+ No new tests. This will be covered by existing accelerated compositing tests
+ once the implementation is complete.
+
+ The GTK+ implementation doesn't clip currently, so hold off enabling the
+ scissor test until necessary.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::beginPainting): Do not enable the scissor test.
+ (WebCore::TextureMapperGL::beginScissorClip): Enable the scissor test once
+ we know for sure we will be using scissored clipping.
+
+2012-04-06 Keishi Hattori <keishi@webkit.org>
+
+ Remove obsolete parts of <datalist> support code
+ https://bugs.webkit.org/show_bug.cgi?id=83117
+
+ Removing HTMLInputElement::selectedOption because it was removed from the specification.
+ Removing -webkit-appearance:list-button and -webkit-input-list-button pseudo selector
+ related code because we decided not to use it.
+
+ Reviewed by Kent Tamura.
+
+ * WebCore.order:
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * css/CSSValueKeywords.in:
+ * css/html.css:
+ (datalist):
+ * html/HTMLInputElement.cpp:
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+ * html/HTMLInputElement.idl:
+ * inspector/front-end/SourceCSSTokenizer.js:
+ (WebInspector.SourceCSSTokenizer):
+ * inspector/front-end/SourceCSSTokenizer.re2js:
+ * inspector/front-end/StylesSidebarPane.js:
+ * platform/ThemeTypes.h:
+ * platform/chromium/ThemeChromiumMac.mm:
+ (WebCore::setupButtonCell):
+ (WebCore::paintButton):
+ (WebCore::ThemeChromiumMac::controlSize):
+ (WebCore::ThemeChromiumMac::minimumControlSize):
+ (WebCore::ThemeChromiumMac::controlBorder):
+ (WebCore::ThemeChromiumMac::paint):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::setUpButtonCell):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::controlSize):
+ (WebCore::ThemeMac::minimumControlSize):
+ (WebCore::ThemeMac::controlBorder):
+ (WebCore::ThemeMac::paint):
+ * platform/qt/RenderThemeQtMobile.cpp:
+ (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+
+2012-04-06 Oliver Hunt <oliver@apple.com>
+
+ Accessing the returnValue of a modal dialog should be performed directly on the global object.
+ https://bugs.webkit.org/show_bug.cgi?id=83414
+
+ Reviewed by Gavin Barraclough.
+
+ Presumably during the mass-devirtualising of JSObject, this deliberate use of
+ the GlobalObject's property lookup logic directly was replaced with a dynamic
+ call. That results in the DOMWindow filtering out the lookup. This regression
+ was masked by r93567.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::DialogHandler::returnValue):
+
+2012-04-06 Nate Chapin <japhet@chromium.org>
+
+ Move Archive processing to DocumentLoader, instead of FrameLoader.
+ https://bugs.webkit.org/show_bug.cgi?id=83055
+
+ Reviewed by Adam Barth.
+
+ No new tests, no functionality change intended.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType):
+ (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
+ FrameLoader::finishedLoadingDocument(). Returns true if an archive
+ was created.
+ (WebCore::DocumentLoader::setArchive):
+ (WebCore::DocumentLoader::scheduleArchiveLoad):
+ (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
+ should be returned, so that we don't need special handling in Document and
+ FrameLoader for overriding the document url later.
+ * loader/DocumentLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
+ DocumentLoader::documentURL() will return the right thing for legacy archives
+ and maybeCreateArchive() will override the base url for mhtml.
+ (WebCore::FrameLoader::loadArchive):
+ * loader/FrameLoader.h:
+
+2012-04-06 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Build fix to match the latest WebCore change
+ https://bugs.webkit.org/show_bug.cgi?id=83358
+
+ Reviewed by Rob Buis.
+
+ Update the BlackBerry cmake file to reflect the fact that:
+ 1.VDMXParser.cpp moved from graphics/skia to graphics/chromium.
+ 2.geolocation moved to Modules/geolocation
+ 3.websockets moved to Modules/websockets
+
+ * PlatformBlackBerry.cmake:
+
+2012-04-06 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Restore some code which was deleted by accident.
+ https://bugs.webkit.org/show_bug.cgi?id=83357
+
+ Reviewed by Rob Buis.
+
+ No new tests, just BlackBerry build fix.
+
+ * platform/network/blackberry/ResourceRequest.h:
+ (ResourceRequest):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore):
+ (WebCore::mimeTypeRequestTypeMap):
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+
+2012-04-06 Alexandre Elias <aelias@google.com>
+
+ Fix bug in ContainerNode::getRect with scale transforms
+ https://bugs.webkit.org/show_bug.cgi?id=83385
+
+ Reviewed by Simon Fraser.
+
+ The bottom-right corner calculation for non-inline and replaced
+ elements in ContainerNode::getRect was incorrect in the presence of
+ scaling, because the untransformed element size was added after the
+ transformation is applied. The rest of the calculations are careful
+ to always apply the transformation as the last step, but this had been
+ forgotten in this codepath. The fix is just to make sure the size is
+ included in the localToAbsolute call.
+
+ One bug caused by this was that a scaled element would be cut off
+ when scrollIntoView(false) is called to scroll its parent container
+ to make it bottom-visible.
+
+ New layout test case in fast/transforms/scrollIntoView-transformed.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::getLowerRightCorner):
+
+2012-04-06 Tim Horton <timothy_horton@apple.com>
+
+ m_shouldRespectImageOrientation is used uninitialized
+ https://bugs.webkit.org/show_bug.cgi?id=83410
+
+ Reviewed by Simon Fraser.
+
+ Initialize Settings's m_shouldRespectImageOrientation to false.
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+
+2012-04-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clear values in combinedClear path not respected in WebGLRenderingContext::clearIfComposited()
+ https://bugs.webkit.org/show_bug.cgi?id=83407
+
+ Reviewed by Kenneth Russell.
+
+ When doing a combined clear in the drawing buffer path, we have to use the user specified values for the clear
+ color / mask / depth and not all 0s.
+
+ Covered by slight modification to fast/canvas/webgl/canvas-test.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::clearIfComposited):
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::clearFramebuffers):
+ (WebCore::DrawingBuffer::reset):
+ * platform/graphics/gpu/DrawingBuffer.h:
+
+2012-04-06 Tony Chang <tony@chromium.org>
+
+ [chromium] merge redundant conditions in WebCore.gyp
+ https://bugs.webkit.org/show_bug.cgi?id=83319
+
+ Reviewed by Adam Barth.
+
+ There were duplicate conditions in some of the targets (e.g., 2
+ OS=="win" sections) so I merged them and if possible, used an else
+ block of an existing condition.
+
+ No new tests, just refactoring the build file.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-04-06 Simon Fraser <simon.fraser@apple.com>
+
+ Rename paintingGoesToWindow() to paintsIntoWindow()
+ https://bugs.webkit.org/show_bug.cgi?id=83406
+
+ Reviewed by Dirk Schulze.
+
+ Rename paintingGoesToWindow() to paintsIntoWindow() to be consistent
+ with some future refactoring.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::paintsWithTransform):
+ (WebCore::RenderLayer::setBackingNeedsRepaint):
+ (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::containsPaintedContent):
+ (WebCore::RenderLayerBacking::paintsIntoWindow):
+ (WebCore::RenderLayerBacking::paintIntoLayer):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintUsingContainer):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations):
+
+2012-04-06 James Simonsen <simonjam@chromium.org>
+
+ Roll out change to HTMLParserIdioms.cpp from 82857
+ https://bugs.webkit.org/show_bug.cgi?id=83402
+
+ Change 82857 causes a DCHECK on fast/forms/number/ValidityState-typeMismatch-number.html
+
+ Darin suggested we roll out this file here: https://bugs.webkit.org/show_bug.cgi?id=82857#c20
+
+ Unreviewed, rolling out change that broke tests.
+
+ * html/parser/HTMLParserIdioms.cpp:
+ (WebCore::parseToDoubleForNumberType):
+
+2012-04-06 Ilya Sherman <isherman@chromium.org>
+
+ Allow site authors to override autofilled fields' colors.
+ https://bugs.webkit.org/show_bug.cgi?id=66032
+ http://code.google.com/p/chromium/issues/detail?id=46543
+
+ Reviewed by Simon Fraser.
+
+ * css/html.css:
+ (input:-webkit-autofill): Remove !important declarations.
+
+2012-04-05 Enrica Casucci <enrica@apple.com>
+
+ Provide Obj-C private API to simplify markup.
+ https://bugs.webkit.org/show_bug.cgi?id=83334
+ <rdar://problem/11033861>
+
+ Reviewed by Sam Weinig.
+
+ Added test in TestWebKitAPI
+
+ * WebCore.exp.in:
+ * editing/Editor.cpp:
+ (WebCore::Editor::simplifyMarkup): Exposing the new command through the editor.
+ * editing/Editor.h:
+
+2012-04-06 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
+ https://bugs.webkit.org/show_bug.cgi?id=83325
+
+ Reviewed by Ryosuke Niwa.
+
+ The flag WTF_USE_PREEMPT_GEOLOCATION_PERMISSION was added in r63742 but
+ was never disabled by anyone. Supporting this feature added complexity by
+ introducing two authorization scheme.
+
+ This patch removes WTF_USE_PREEMPT_GEOLOCATION_PERMISSION and the code supporting
+ granting the authorization after startUpdating().
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::GeoNotifier::runSuccessCallback): With the simplified
+ authorization code, we ensure stronger constraint on GeoNotifier::runSuccessCallback().
+ (WebCore::Geolocation::stop):
+ (WebCore::Geolocation::startRequest):
+ (WebCore::Geolocation::clearWatch):
+ (WebCore::Geolocation::setIsAllowed):
+ (WebCore::Geolocation::positionChanged): The case (!isAllowed()) was there
+ to support granting the authorization for WTF_USE_PREEMPT_GEOLOCATION_PERMISSION.
+ (WebCore::Geolocation::handlePendingPermissionNotifiers):
+ * Modules/geolocation/Geolocation.h:
+ (Geolocation):
+
+2012-04-06 Tom Sepez <tsepez@chromium.org>
+
+ Block cross-origin iframe scroll to fragment.
+ https://bugs.webkit.org/show_bug.cgi?id=73083
+
+ Reviewed by Adam Barth.
+
+ Add a restriction similar to what FF has done for all iframes for over a
+ year now. Our change is less disruptive in that it only does this in the
+ cross-orgin case, which is where the fragment scrolling is problematic.
+
+ Test: http/tests/navigation/anchor-frames-cross-origin.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::canBeAccessedByEveryAncestorFrame):
+ (WebCore):
+ * dom/Document.h:
+ (Document):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedParsing):
+ (WebCore::FrameLoader::loadInSameDocument):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::loadWithDocumentLoader):
+ (WebCore::FrameLoader::shouldPerformFragmentNavigation):
+ (WebCore::FrameLoader::scrollToFragmentIfAllowed):
+ (WebCore):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+
+2012-04-03 Jer Noble <jer.noble@apple.com>
+
+ Foreground of apple.com/iphone video page visible during full screen animation.
+ https://bugs.webkit.org/show_bug.cgi?id=83080
+
+ Reviewed by Simon Fraser.
+
+ No new tests; updated fullscreen/full-screen-stacking-context.html
+
+ The apple.com/iphone video page uses a -webkit-mask: CSS style, which creates a stacking
+ context and causes the page to pop in front of the full screen renderer. Add all the
+ styles suggested by the W3C full screen spec to the -webkit-full-screen-ancestor rule
+ to keep these stacking contexts from being created.
+
+ * css/fullscreen.css:
+ (:-webkit-full-screen-ancestor:not(iframe)):
+
+2012-04-06 Abhishek Arya <inferno@chromium.org>
+
+ Virtualize createAnonymousBoxWithSameTypeAs.
+ https://bugs.webkit.org/show_bug.cgi?id=83229
+
+ Reviewed by Julien Chaffraix.
+
+ This helps to use the same function to create anonymous
+ table parts and in the future extend to more classes
+ derived from RenderBox.
+
+ The current switch case situation was going to be messy as
+ we will need to mix cases that were very dependent on the
+ class, so it made sense to add a virtual function.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
+ (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs):
+ (RenderBox):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::splitFlow):
+ * rendering/RenderTable.h:
+ (WebCore::RenderTable::createAnonymousBoxWithSameTypeAs):
+ * rendering/RenderTableCell.h:
+ (WebCore::RenderTableCell::createAnonymousBoxWithSameTypeAs):
+ * rendering/RenderTableRow.h:
+ (WebCore::RenderTableRow::createAnonymousBoxWithSameTypeAs):
+ * rendering/RenderTableSection.h:
+ (WebCore::RenderTableSection::createAnonymousBoxWithSameTypeAs):
+
+2012-04-06 Tim Horton <timothy_horton@apple.com>
+
+ [cg] REGRESSION (r101517): Animating the transform of a <rect> with shape-rendering: crispEdges leaves behind garbage
+ https://bugs.webkit.org/show_bug.cgi?id=82963
+ <rdar://problem/11170476>
+
+ Reviewed by Simon Fraser.
+
+ CoreGraphics can inflate the stroke by 1px when drawing a rectangle
+ with antialiasing disabled at non-integer coordinates, we need to
+ compensate by inflating the RenderSVGRect repaint bounds by 1px.
+
+ No new tests, as this is not reproducible in DRT or WKTR.
+
+ * rendering/svg/RenderSVGRect.cpp:
+ (WebCore::RenderSVGRect::createShape):
+ (WebCore::RenderSVGRect::strokeBoundingBox):
+ * rendering/svg/RenderSVGRect.h:
+ (RenderSVGRect):
+
+2012-04-05 Simon Fraser <simon.fraser@apple.com>
+
+ Avoid trying to set filters on transform layers
+ https://bugs.webkit.org/show_bug.cgi?id=83344
+
+ Reviewed by Dean Jackson.
+
+ Return early from GraphicsLayerCA::setFilters() when the filters
+ haven't changed. This avoids trying to clear filters on CALayers
+ which never had them, which should both help performance, and avoids
+ console spew related to setting shadow properties on transform layers.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::setFilters):
+
+2012-04-06 James Robinson <jamesr@chromium.org>
+
+ WebGL content swapped at wrong time in threaded compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=82275
+
+ Reviewed by Kenneth Russell.
+
+ When using threaded compositing, we need to defer touching the texture ID being used by the compositor until the
+ appropriate point in the synchronization routine and not before. Specifically, there is no time at which it is
+ safe to manipulate the texture the compositor may be using from the main thread. This breaks up the presentation
+ path into a few pieces (depending on the context attributes) in order to maintain these invariants.
+
+ Depending on the context attributes and if we're in threaded mode, there are a few different possible back/front
+ buffer combinations:
+
+ - When the context is antialiased, we have a multisampled renderbuffer and associated framebuffer.
+ - In all cases, we have a color texture back buffer.
+ - When preserveDrawingBuffer is set or threaded compositing is enabled, we have a separate color texture as a
+ front buffer.
+
+ The resource update is in two phases. First, on the main thread, we prepare the back buffer. This resolves from
+ the multisampled FBO into the back color buffer if multisampled and swaps the front / back color buffer textures
+ if preserveDrawingBuffer is false and we're using separate front / back color buffers. Second, on the compositor
+ thread, we do a texture copy from the back to the front color buffer if preserveDrawingBuffer is true. After
+ these steps are complete the main thread is free to manipulate the back buffer color texture without affecting
+ any resources the compositor is using.
+
+ One incidental cleanup this patch also does is remove all state queries from DrawingBuffer::clearFramebuffer().
+
+ Tests: fast/canvas/webgl/webgl-composite-modes-repaint.html
+ fast/canvas/webgl/webgl-composite-modes.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext):
+ (WebCore::WebGLRenderingContext::clearIfComposited):
+ (WebCore::WebGLRenderingContext::restoreStateAfterClear):
+ (WebCore::WebGLRenderingContext::reshape):
+ (WebCore::WebGLRenderingContext::maybeRestoreContext):
+ * html/canvas/WebGLRenderingContext.h:
+ (WebGLRenderingContext):
+ * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+ * platform/graphics/cairo/DrawingBufferCairo.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::generateColorTexture):
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore::DrawingBuffer::initialize):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+ (WebCore::DrawingBuffer::platformLayer):
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::WebGLLayerChromium):
+ (WebCore::WebGLLayerChromium::paintContentsIfDirty):
+ (WebCore::WebGLLayerChromium::updateCompositorResources):
+ (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
+ (WebCore::WebGLLayerChromium::setNeedsDisplayRect):
+ (WebCore::WebGLLayerChromium::setDrawingBuffer):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebGLLayerChromium):
+ * platform/graphics/clutter/DrawingBufferClutter.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::initializeContext):
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::create):
+ (WebCore::DrawingBuffer::clear):
+ (WebCore::DrawingBuffer::clearFramebuffer):
+ (WebCore::DrawingBuffer::reset):
+ (WebCore::DrawingBuffer::discardResources):
+ * platform/graphics/gpu/DrawingBuffer.h:
+ (DrawingBuffer):
+ * platform/graphics/gpu/mac/DrawingBufferMac.mm:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+ * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore::DrawingBuffer::platformLayer):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
+ (WebCore):
+ (WebCore::DrawingBuffer::frontColorBuffer):
+
+2012-04-06 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed build fix after r113486 and r113487.
+
+ * rendering/RenderObject.cpp:
+ Added missing #include.
+
+ * rendering/RenderView.h:
+ Removed bad OVERRIDE.
+
+2012-04-06 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=81939
+ -webkit-image-set should update dynamically when the device scale factor
+ changes
+ -and corresponding-
+ <rdar://problem/11101108>
+
+ Reviewed by Darin Adler.
+
+ New member variable to keep track of the scale factor.
+ * css/CSSImageSetValue.cpp:
+ (WebCore::CSSImageSetValue::CSSImageSetValue):
+ (WebCore::CSSImageSetValue::bestImageForScaleFactor):
+
+ Merge the two cachedImageSet functions. There was no need for two functions here.
+ (WebCore::CSSImageSetValue::cachedImageSet):
+
+ cachedOrPendingImageSet() now takes a Document as a parameter so that it can
+ access the deviceScaleFactor. If there is a cached image already and the
+ Document's deviceScaleFactor doesn't match m_scaleFactor, then m_imageSet is set
+ to a pending image so that the best fit image will be reassessed and then
+ loaded.
+ (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
+ * css/CSSImageSetValue.h:
+ (WebCore):
+ (CSSImageSetValue):
+
+ cachedOrPendingImageSet() now takes a Document.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+ StyleCachedImageSet should inherit from CachedImageClient just like
+ StyleCachedImage. It should add and remove itself as a client upon creation
+ and destruction, respectively.
+ * rendering/style/StyleCachedImageSet.cpp:
+ (WebCore::StyleCachedImageSet::StyleCachedImageSet):
+ (WebCore):
+ (WebCore::StyleCachedImageSet::~StyleCachedImageSet):
+ * rendering/style/StyleCachedImageSet.h:
+ (StyleCachedImageSet):
+
+2012-04-06 Levi Weintraub <leviw@chromium.org>
+
+ Update LayoutUnit usage in RenderView
+ https://bugs.webkit.org/show_bug.cgi?id=83147
+
+ Reviewed by Julien Chaffraix.
+
+ Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
+ affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
+ necessary as we continue to accumulate sub-pixel offsets up to this level.
+
+ No new tests. No change in behavior.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
+ boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
+ (WebCore::RenderView::shouldRepaint):
+ (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
+ that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
+ FrameView.
+ (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
+ the rect up to the Compositor.
+ (WebCore::RenderView::computeRectForRepaint):
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::viewRect):
+ (WebCore::RenderView::unscaledDocumentRect):
+ * rendering/RenderView.h:
+ (RenderView):
+
+2012-04-06 Tim Horton <timothy_horton@apple.com>
+
+ Add autodetection of image orientation from EXIF information
+ https://bugs.webkit.org/show_bug.cgi?id=19688
+ <rdar://problem/4126979> and <rdar://problem/11091578>
+
+ Original patch by David Carson and Eric Seidel.
+
+ Reviewed by Simon Fraser.
+
+ Add support for respecting EXIF image orientation, enabled by default for ImageDocuments.
+ The setting shouldRespectImageOrientation causes orientation to take effect for any image included via <img>.
+
+ Test: fast/images/exif-orientation.html, fast/images/exif-orientation-css.html
+
+ * WebCore.xcodeproj/project.pbxproj: Add ImageOrientation.{cpp, h}
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::imageForRenderer): Plumb setting down from RenderObject into Image.
+ (WebCore::CachedImage::imageSizeForRenderer):
+ * page/Settings.h:
+ (WebCore::Settings::setShouldRespectImageOrientation):
+ (WebCore::Settings::shouldRespectImageOrientation):
+ (Settings):
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::cacheFrame):
+ (WebCore::BitmapImage::size):
+ (WebCore::BitmapImage::sizeRespectingOrientation):
+ (WebCore):
+ (WebCore::BitmapImage::ensureFrameIsCached):
+ (WebCore::BitmapImage::frameAtIndex):
+ (WebCore::BitmapImage::frameIsCompleteAtIndex):
+ (WebCore::BitmapImage::frameDurationAtIndex):
+ (WebCore::BitmapImage::frameHasAlphaAtIndex):
+ (WebCore::BitmapImage::frameOrientationAtIndex):
+ * platform/graphics/BitmapImage.h:
+ (WebCore::FrameData::FrameData):
+ (FrameData):
+ (BitmapImage):
+ * platform/graphics/GraphicsContext.h:
+ (GraphicsContext):
+ * platform/graphics/ImageOrientation.cpp: Added.
+ (WebCore):
+ (WebCore::ImageOrientation::transformFromDefault):
+ * platform/graphics/ImageOrientation.h: Added.
+ (WebCore):
+ (ImageOrientation):
+ (WebCore::ImageOrientation::ImageOrientation):
+ (WebCore::ImageOrientation::usesWidthAsHeight):
+ (WebCore::ImageOrientation::fromEXIFValue):
+ (WebCore::ImageOrientation::operator==):
+ (WebCore::ImageOrientation::operator!=):
+ * platform/graphics/ImageSource.cpp:
+ (WebCore::ImageSource::orientationAtIndex):
+ (WebCore):
+ * platform/graphics/ImageSource.h:
+ (WebCore):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::drawNativeImage): Transform the image while drawing if its orientation requires it.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::draw):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions): Don't use SkipMetaData on Lion/Snow Leopard, as it prevents us from retrieving orientation data.
+ (WebCore::ImageSource::frameSizeAtIndex): Adjust the image's size based on its orientation.
+ (WebCore):
+ (WebCore::ImageSource::orientationAtIndex):
+ (WebCore::ImageSource::size):
+ * platform/graphics/mac/DragImageMac.mm:
+ (createDragImageFromImage): Create scaled copy of image for drag image if we're respecting orientation and it is non-default.
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::shouldRespectImageOrientation):
+
+2012-04-06 Levi Weintraub <leviw@chromium.org>
+
+ Correct LayoutUnit usgae in RenderThemeQt and RenderThemeQStyle
+ https://bugs.webkit.org/show_bug.cgi?id=83376
+
+ Reviewed by Eric Seidel.
+
+ Correcting LayoutUnit usage in QT RenderTheme code.
+
+ No new tests. No change in behavior.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::convertToPaintingRect): Rounding the ancestor offset before
+ applying it to the pixel snapped partRect.
+ (WebCore::RenderThemeQt::paintSearchFieldCancelButton): Also rounding the ancestor
+ offset, and also pixel snapping the content rect before painting.
+
+2012-04-06 Kenneth Russell <kbr@google.com>
+
+ context-lost.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=81325
+
+ Reviewed by James Robinson.
+
+ Ensure that the DrawingBuffer does not attempt to restore the
+ TEXTURE_2D binding to an already-deleted texture.
+
+ Tested with layout test fast/canvas/webgl/context-lost.html as
+ well as WebGL conformance tests.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::loseContextImpl):
+
+2012-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113267.
+ http://trac.webkit.org/changeset/113267
+ https://bugs.webkit.org/show_bug.cgi?id=83384
+
+ causes dhtml perf regression (Requested by simonjam on
+ #webkit).
+
+ * dom/ChildListMutationScope.cpp:
+ (ChildListMutationScope::MutationAccumulator):
+ (WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
+ (WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
+ * dom/ChildListMutationScope.h:
+ (WebCore::ChildListMutationScope::childAdded):
+ (MutationAccumulationRouter):
+ * dom/ContainerNode.cpp:
+ (WebCore):
+ (WebCore::ContainerNode::insertBefore):
+ (WebCore::ContainerNode::replaceChild):
+ (WebCore::ContainerNode::appendChild):
+ (WebCore::dispatchChildInsertionEvents):
+ (WebCore::updateTreeAfterInsertion):
+
+2012-04-06 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
+ https://bugs.webkit.org/show_bug.cgi?id=83074
+
+ We should be able to collect and close the leveldb backing store as soon as the database
+ connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
+ holding RefPtrs, and those objects are kept alive by script references.
+
+ Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
+ IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so
+ a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
+ the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
+ relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
+ objects and their owners are maintained as long as there's a script reference.
+
+ Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.
+
+ Reviewed by Tony Chang.
+
+ Tests: webkit_unit_tests --gtest_filter="IDBDatabaseBackendTest.*"
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
+ (WebCore::IDBIndexBackendImpl::openCursorInternal):
+ (WebCore::IDBIndexBackendImpl::countInternal):
+ (WebCore::IDBIndexBackendImpl::getInternal):
+ (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
+ * Modules/indexeddb/IDBIndexBackendImpl.h:
+ (WebCore::IDBIndexBackendImpl::create):
+ (IDBIndexBackendImpl):
+ (WebCore::IDBIndexBackendImpl::backingStore):
+ (WebCore::IDBIndexBackendImpl::databaseId):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::getInternal):
+ (WebCore::IDBObjectStoreBackendImpl::putInternal):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ (WebCore::IDBObjectStoreBackendImpl::clearInternal):
+ (WebCore):
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+ (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
+ (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
+ (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
+ (WebCore::IDBObjectStoreBackendImpl::countInternal):
+ (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
+ (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (WebCore::IDBObjectStoreBackendImpl::create):
+ (IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::backingStore):
+ (WebCore::IDBObjectStoreBackendImpl::databaseId):
+
+2012-04-06 Jon Lee <jonlee@apple.com>
+
+ Fix build warning on const long long to int implicit conversion.
+
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
+
+2012-04-06 Emil A Eklund <eae@chromium.org>
+
+ Fix LayoutUnit usage and rounding in RenderBlock and RenderEmbeddedObject
+ https://bugs.webkit.org/show_bug.cgi?id=83343
+
+ Reviewed by Eric Seidel.
+
+ Fix usage of LayoutUnits and rounding/pixel snapping in RenderBlock and
+ RenderEmbeddedObject in preparation for turing on subpixel support.
+
+ No new tests, no change in functionality.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::baselinePosition):
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::nodeAtPoint):
+
+2012-04-06 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
+
+ Reviewed by Sam Weinig.
+
+ * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
+
+2012-04-06 Levi Weintraub <leviw@chromium.org>
+
+ Update LayoutUnit usage in Editor and Frame
+ https://bugs.webkit.org/show_bug.cgi?id=83278
+
+ Reviewed by Eric Seidel.
+
+ Frame and Editor both take input from the embedder, which passes along coordinates in screen
+ coordinates, which aren't fractional. Updating a few remaining functions to show this, and correcting
+ some inconsistencies in LayoutUnit usage.
+
+ No new tests. No change in behavior.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::rangeForPoint): windowToContents returns an IntPoint.
+ (WebCore::Editor::countMatchesForText): Using enclosingIntRect since we're (fake) repainting the entire
+ view rect.
+ * editing/Editor.h:
+ (Editor): Correcting mismatched function signature.
+ * page/Frame.cpp:
+ (WebCore::Frame::visiblePositionForPoint): Frame takes points in screen coordinates, usually from the
+ embedder. Changing these functions to be in IntPoints.
+ (WebCore::Frame::documentAtPoint): Ditto.
+ (WebCore::Frame::rangeForPoint): Ditto.
+ * page/Frame.h:
+ (Frame):
+ * platform/graphics/IntRect.h:
+ (enclosingIntRect): Adding an inline no-op copy of the FractionalLayoutRect method enclosingIntRect.
+
+2012-04-06 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Deleting the chromium bridge class MediaStreamCenterInternal
+ https://bugs.webkit.org/show_bug.cgi?id=83167
+
+ Reviewed by Adam Barth.
+
+ The situation before this patch is that we had a MediaStreamCenter.h with #ifdefs for the chromium specific
+ private class MediaStreamCenterInternal. This bridge class only shuffled calls between MediaStreamCenter and
+ WebMediaStreamCenter and was needed before the introduction of Platform.
+ To get rid of this now unnecessary class I had two alternatives:
+ 1) Sprinkle platform/MediaStreamCenter.h with more #ifdefs, including around the class declaration.
+ 2) Create an abstract base class that the chromium and gstreamer implementations overrides.
+ My personal preference is 2) since I strongly dislike #ifdefs. The drawback is that MediaStreamCenter now
+ has a vtable. However since all methods in this class are extremely low-usage it doesn't affect anything
+ in practice.
+
+ No code behaviour changes.
+
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::setEnabled):
+ * Modules/mediastream/UserMediaRequest.cpp:
+ * Modules/mediastream/UserMediaRequest.h:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
+ * platform/mediastream/MediaStreamCenter.cpp:
+ (WebCore::MediaStreamCenter::MediaStreamCenter):
+ (WebCore):
+ (WebCore::MediaStreamCenter::~MediaStreamCenter):
+ * platform/mediastream/MediaStreamCenter.h:
+ (WebCore):
+ (MediaStreamCenter):
+ * platform/mediastream/MediaStreamSourcesQueryClient.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
+ (WebCore):
+ (MediaStreamSourcesQueryClient):
+ (WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
+ (WebCore::MediaStreamCenter::instance):
+ (WebCore::MediaStreamCenterChromium::MediaStreamCenterChromium):
+ (WebCore::MediaStreamCenterChromium::~MediaStreamCenterChromium):
+ (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
+ (WebCore::MediaStreamCenterChromium::didSetMediaStreamTrackEnabled):
+ (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
+ (WebCore::MediaStreamCenterChromium::didConstructMediaStream):
+ (WebCore::MediaStreamCenterChromium::constructSDP):
+ (WebCore):
+ (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.h: Renamed from Source/WebCore/platform/mediastream/chromium/MediaStreamCenterInternal.h.
+ (WebKit):
+ (WebCore):
+ (MediaStreamCenterChromium):
+ * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Removed.
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
+ (WebCore):
+ (WebCore::MediaStreamCenter::instance):
+ (WebCore::MediaStreamCenterGStreamer::MediaStreamCenterGStreamer):
+ (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
+ (WebCore::MediaStreamCenterGStreamer::queryMediaStreamSources):
+ (WebCore::MediaStreamCenterGStreamer::didSetMediaStreamTrackEnabled):
+ (WebCore::MediaStreamCenterGStreamer::didStopLocalMediaStream):
+ (WebCore::MediaStreamCenterGStreamer::didConstructMediaStream):
+ (WebCore::MediaStreamCenterGStreamer::constructSDP):
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
+ (WebCore):
+ (MediaStreamCenterGStreamer):
+
+2012-04-05 Simon Fraser <simon.fraser@apple.com>
+
+ Should disable preserves3D() for things that enforce flattening, like overflow and filters
+ https://bugs.webkit.org/show_bug.cgi?id=83337
+
+ Reviewed by Dean Jackson.
+
+ The CSS3 Transforms spec says that some properties should cause flattening
+ of things with transform-style: preserve-3d. We currently do this as a side
+ effect of the GraphicsLayer structure, but we should really do it at the
+ RenderStyle level, as we do for other things like stacking context creation.
+
+ Test: compositing/overflow-trumps-transform-style.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-04-06 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: MediaStreams stops proper cleanup to take place during a page reload.
+ https://bugs.webkit.org/show_bug.cgi?id=83143
+
+ Reviewed by Adam Barth.
+
+ To fix this I have converted MediaStream and LocalMediaStream to be ActiveDOMObjects.
+
+ Have no idea how to write a test that succesfully verifies this. I have done manual testing
+ to verify that proper tear-down now takes place.
+
+ * Modules/mediastream/LocalMediaStream.cpp:
+ (WebCore::LocalMediaStream::create):
+ (WebCore::LocalMediaStream::stopFunction):
+ (WebCore):
+ * Modules/mediastream/LocalMediaStream.h:
+ (LocalMediaStream):
+ * Modules/mediastream/LocalMediaStream.idl:
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::create):
+ (WebCore::MediaStream::MediaStream):
+ (WebCore::MediaStream::scriptExecutionContext):
+ * Modules/mediastream/MediaStream.h:
+ (MediaStream):
+
+2012-04-06 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10912476> Pixel access canvas APIs do not work transparently with high-DPI backing store
+ https://bugs.webkit.org/show_bug.cgi?id=83072
+
+ Reviewed by Simon Fraser.
+
+ Made getImageData, putImageData, and toDataURL downsample/upsample when pixels in the canvas
+ backing store are not in a 1:1 ratio to CSS pixels. This makes clients of these APIs
+ indifferent to the backing store resolution, up to sampling artifacts.
+
+ In order for this to work, ImageBuffer has to know and respect the resolutionScale
+ parameter. This change makes the Core Graphics-based implementation of ImageBuffer do this,
+ but on other platforms, resolutionScale values other than 1 will not work. Such platforms
+ should not enable the HIGH_DPI_CANVAS feature.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::HTMLCanvasElement): Updated a comment.
+ (WebCore::HTMLCanvasElement::createImageBuffer): Changed to create an ImageBuffer with
+ the desired resolution instead of 1.
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage): Removed code that scaled the source rect,
+ since this is now handled at the ImageBuffer level.
+ (WebCore::CanvasRenderingContext2D::createImageData): Now returns ImageData of the requested
+ size regardless of the backing store resolution.
+ (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create): Removed some code that tried to apply the resolution scale
+ to the buffer after creating it, and changed to pass the resolution scale down to the
+ (platform-specific) constructor, which can apply it correctly.
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::ImageBuffer): Added a resolutionScale parameter, which is used to
+ compute the backing buffer size, and to apply a device scale factor to the context.
+ (WebCore::ImageBuffer::copyImage): Changed to return an image scaled down to the logical
+ size of the buffer.
+ (WebCore::ImageBuffer::getUnmultipliedImageData): Changed to pass the resolution scale to
+ ImageData::getData().
+ (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
+ (WebCore::ImageBuffer::putByteArray): Changed to pass the resolution scale to
+ ImageData::putData(). When drawing the byte array as an image, changed to preserve the base
+ CTM in the destination context (thus mapping from image data pixels to backing store pixels).
+ (WebCore::ImageBuffer::toDataURL): Fixed a CGColorSpace leak. Made the returned image have
+ the buffer’s logical size instead of the backing buffer’s size.
+ (WebCore::ImageDataToDataURL): Fixed a CGColorSpace leak.
+ * platform/graphics/cg/ImageBufferDataCG.cpp:
+ (WebCore::ImageBufferData::getData): Added a resolutionScale parameter. The source
+ coordinates are scaled by the value of that parameter, and a reverse scaling transform
+ is applied when copying from the backing store into the destination (either explicitly
+ using Accelerate or implicitly by drawing as an image). Since after scaling,
+ unpremultiplication and component permutation are done in-place, made the
+ non-Accelerate code that does these things safe in this case.
+ (WebCore::ImageBufferData::putData): Added a resolutionScale parameter. The destination
+ coordinates are scaled by the value of that parameter, and a scaling transform is applied
+ when copying from the source into the backing store (either explicitly using Accelerate or
+ implicitly by drawing as an image). Since after scaling, premultiplication and component
+ permutation are done in-place, made the non-Accelerate code that does these things safe in
+ this case.
+ * platform/graphics/cg/ImageBufferDataCG.h:
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/wince/ImageBufferWinCE.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2012-04-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Draw debug borders for tiles on layers with skipsDraw
+ https://bugs.webkit.org/show_bug.cgi?id=83352
+
+ Reviewed by Adrienne Walker.
+
+ The tiles are given the same color as other missing tiles.
+
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::appendQuads):
+
+2012-04-06 Rob Buis <rbuis@rim.com>
+
+ Fix cast-align warnings in JSC
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by George Staikos.
+
+ * platform/graphics/WOFFFileFormat.cpp:
+ (WebCore::readUInt32):
+ (WebCore::readUInt16):
+ * platform/image-encoders/skia/JPEGImageEncoder.cpp:
+ (WebCore::preMultipliedBGRAtoRGB):
+ * platform/network/MIMESniffing.cpp:
+
+2012-04-06 Darin Adler <darin@apple.com>
+
+ Streamline strtod and fix some related problems
+ https://bugs.webkit.org/show_bug.cgi?id=82857
+
+ Reviewed by Geoffrey Garen.
+
+ Refactoring of code covered by existing tests.
+
+ * dom/ViewportArguments.cpp:
+ (WebCore::numericPrefix): Removed a confusing comment that just said
+ "we tolerate extra characters" in a roundabout way. Made the "ok"
+ argument optional. Changed to call the new version of charactersToFloat
+ that returns the number of characters parsed rather than using the
+ charactersToFloatIgnoringJunk/didReadNumber solution from before.
+ (WebCore::findSizeValue): Since numericPrefix is guaranteed to return 0
+ when it can't parse, removed the "ok" code. Also changed the unusual
+ syntax "float(1.0)" to just "1", which works just as well.
+ (WebCore::findScaleValue): Ditto.
+ (WebCore::findUserScalableValue): Ditto.
+
+ * html/parser/HTMLParserIdioms.cpp:
+ (WebCore::parseToDoubleForNumberType): Removed an unneeded code path
+ and replaced it with an assertion; toDouble no longer will return infinity
+ or not-a-number values.
+
+2012-04-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Surface replica should have a separate quad in the render pass
+ https://bugs.webkit.org/show_bug.cgi?id=83287
+
+ Reviewed by Adrienne Walker.
+
+ Generate separate quads for a RenderSurface and its replica. The replica
+ quad is drawn independently of the surface itself. This allows us to
+ cull each one independently.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
+ (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::setScissorRect):
+ (WebCore):
+ (WebCore::CCRenderSurface::drawContents):
+ (WebCore::CCRenderSurface::drawReplica):
+ (WebCore::CCRenderSurface::hasReplica):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (CCRenderSurface):
+ * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
+ (WebCore::CCRenderSurfaceDrawQuad::create):
+ (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
+ * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
+ (CCRenderSurfaceDrawQuad):
+ (WebCore::CCRenderSurfaceDrawQuad::isReplica):
+
+2012-04-05 Martin Robinson <mrobinson@igalia.com>
+
+ [GObject bindings] Fix the coding style issues in the generated bindings
+ https://bugs.webkit.org/show_bug.cgi?id=82080
+
+ Reviewed by Kentaro Hara.
+
+ No new tests. This is covered by the binding tests.
+
+ * bindings/scripts/CodeGeneratorGObject.pm: Fix most style errors in the generated
+ GObject code.
+ * bindings/scripts/test/GObject: Updated the expected results.
+
+
+2012-04-06 Adam Klein <adamk@chromium.org>
+
+ Remove bogus assert from ChildListMutationScope
+ https://bugs.webkit.org/show_bug.cgi?id=83336
+
+ Reviewed by Ryosuke Niwa.
+
+ This assert can trivially be triggered from script, but luckily the
+ code already behaves correctly without it.
+
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
+
+2012-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113442.
+ http://trac.webkit.org/changeset/113442
+ https://bugs.webkit.org/show_bug.cgi?id=83373
+
+ for breaking JSC bindings compilation (Requested by pfeldman
+ on #webkit).
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSMutationCallbackCustom.cpp: Added.
+ (WebCore):
+ (WebCore::JSMutationCallback::handleEvent):
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (AddIncludesForTypeInImpl):
+ (GenerateCallbackHeader):
+ (GenerateCallbackImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackHeader):
+ (GenerateCallbackImplementation):
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ (WebCore::JSTestCallback::callbackWithBoolean):
+ * bindings/scripts/test/JS/JSTestCallback.h:
+ (JSTestCallback):
+ * bindings/scripts/test/TestCallback.idl:
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithBoolean):
+ * bindings/scripts/test/V8/V8TestCallback.h:
+ (V8TestCallback):
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8MutationCallback::handleEvent):
+ * dom/MutationCallback.idl:
+
+2012-04-06 Zan Dobersek <zandobersek@gmail.com>
+
+ [Gtk] Unskip the video track tests
+ https://bugs.webkit.org/show_bug.cgi?id=82590
+
+ Reviewed by Martin Robinson.
+
+ Enable the video track runtime feature for the Gtk port as well.
+
+ No new tests - existing ones will be unskipped.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+
+2012-04-06 Michael Saboff <msaboff@apple.com>
+
+ Call Heap::discardAllCompiledCode() in low memory situations
+ https://bugs.webkit.org/show_bug.cgi?id=83335
+
+ Reviewed by Geoffrey Garen.
+
+ Added call to discardAllCompiledCode() when under memory pressure.
+ We can re-JIT as needed. This is similar to what we used to do when we did
+ a full GC which also cleaned up JIT code. Doing a full GC typically didn't
+ help our memory situation, in fact it made things worse in the really low
+ memory situation as it caused more paging.
+
+ Added pass through discardAllCompiledCode() method to GCController.
+
+ * bindings/js/GCController.cpp:
+ (WebCore::GCController::discardAllCompiledCode):
+ (WebCore):
+ * bindings/js/GCController.h:
+ (GCController):
+ * platform/mac/MemoryPressureHandlerMac.mm:
+ (WebCore::MemoryPressureHandler::releaseMemory):
+
+2012-04-06 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
+ https://bugs.webkit.org/show_bug.cgi?id=82616
+
+ Reviewed by Pavel Feldman.
+
+ - center minimal selection on mouse cursor if the mouse hasn't moved (i.e. we had a click, not drag)
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
+
+2012-04-06 Vineet Chaudhary <rgf748@motorola.com>
+
+ Add CodeGenerator support for sequence<> in callbacks.
+ https://bugs.webkit.org/show_bug.cgi?id=83233
+
+ Reviewed by Kentaro Hara.
+
+ Tests: TestCallback.idl and fast/mutation/callback-arguments.html should pass even after
+ the changes.
+
+ * GNUmakefile.list.am: Removed unsued custom files V8MutationCallbackCustom.cpp
+ and JSMutationCallbackCustom.cpp from builds.
+ * Target.pri: Ditto.
+ * UseJSC.cmake: Ditto.
+ * UseV8.cmake: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/js/JSMutationCallbackCustom.cpp: Removed.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (AddIncludesForTypeInImpl): Add proper header type.
+ (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
+ (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
+ (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
+ * bindings/scripts/test/JS/JSTestCallback.cpp: Modified test results of run-bindings-tests.
+ (WebCore):
+ (WebCore::JSTestCallback::handleEvent):
+ * bindings/scripts/test/JS/JSTestCallback.h: Modified test results of run-bindings-tests.
+ (JSTestCallback):
+ * bindings/scripts/test/TestCallback.idl: Added test callback with sequence<> argument.
+ * bindings/scripts/test/V8/V8TestCallback.cpp: Modified test results of run-bindings-tests.
+ (WebCore):
+ (WebCore::V8TestCallback::handleEvent):
+ * bindings/scripts/test/V8/V8TestCallback.h: Modified test results of run-bindings-tests.
+ (V8TestCallback):
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp: Removed.
+ * dom/MutationCallback.idl: Removed custom bindings using sequence<T>.
+
+2012-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113431.
+ http://trac.webkit.org/changeset/113431
+ https://bugs.webkit.org/show_bug.cgi?id=83372
+
+ for breaking at least Chromium compilation (Requested by
+ pfeldman on #webkit).
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paint):
+ (WebCore::RenderView::shouldRepaint):
+ (WebCore::RenderView::repaintViewRectangle):
+ (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
+ (WebCore::RenderView::computeRectForRepaint):
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::viewRect):
+ (WebCore::RenderView::unscaledDocumentRect):
+ * rendering/RenderView.h:
+ (RenderView):
+
+2012-04-06 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: completely switch all domains to 'strict' mode
+ https://bugs.webkit.org/show_bug.cgi?id=83332
+
+ Reviewed by Pavel Feldman.
+
+ Hardcoded list of domains is removed from generator. Partial domain sorting is dropped as unneeded.
+ Types with open propery list are introduced: validator allows undocumented properties for them.
+
+ Timeline domain code is patched to do runtimeCast in the last moment because true switching to
+ type-safe interfaces should take significant time and should be done separately.
+
+ * inspector/CodeGeneratorInspector.py:
+ (Generator.go):
+ (Generator.process_event):
+ (Generator.process_command):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willSendResourceRequest):
+ (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
+
+2012-04-06 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
+ https://bugs.webkit.org/show_bug.cgi?id=83327
+
+ Reviewed by Pavel Feldman.
+
+ Generator fixed to have strict types in generated setter methods.
+
+ Client code is switched from InspectorObject's and String's to generated types where
+ needed.
+
+ * inspector/CodeGeneratorInspector.py:
+ (AdHocTypeContext):
+ (format_setter_value_expression):
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::messageSourceValue):
+ (WebCore::messageTypeValue):
+ (WebCore::messageLevelValue):
+ (WebCore::ConsoleMessage::addToFrontend):
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
+ (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
+ * inspector/InspectorApplicationCacheAgent.h:
+ (InspectorApplicationCacheAgent):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::detectOrigin):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForTiming):
+ (WebCore::buildObjectForCachedResource):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::buildObjectForStyle):
+ (WebCore::InspectorStyleSheet::create):
+ (WebCore::InspectorStyleSheet::InspectorStyleSheet):
+ (WebCore::InspectorStyleSheet::buildObjectForRule):
+ (WebCore::InspectorStyleSheet::resourceStyleSheetText):
+ (WebCore::InspectorStyleSheet::buildArrayForRuleList):
+ (WebCore::InspectorStyleSheetForInlineStyle::create):
+ (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
+ * inspector/InspectorStyleSheet.h:
+ (InspectorCSSId):
+ (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
+ (InspectorStyleSheet):
+ (WebCore::InspectorStyleSheet::canBind):
+ (InspectorStyleSheetForInlineStyle):
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: highlight diff in the gutter, not in the line content.
+ https://bugs.webkit.org/show_bug.cgi?id=83371
+
+ Reviewed by Yury Semikhatsky.
+
+ Now that the editing mode is enabled by default, diff highlighting gets annoying.
+ I am moving it to the gutter (same decoration as before, but now coloring gutter only).
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextEditorGutterPanel.prototype.textChanged):
+ * inspector/front-end/textViewer.css:
+ (.diff-container .webkit-added-line.webkit-line-number):
+ (.diff-container .webkit-removed-line.webkit-line-number):
+ (.diff-container .webkit-changed-line.webkit-line-number):
+
+2012-04-06 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
+ https://bugs.webkit.org/show_bug.cgi?id=83327
+
+ Reviewed by Pavel Feldman.
+
+ Generator fixed to have strict types in generated setter methods.
+
+ Client code is switched from InspectorObject's and String's to generated types where
+ needed.
+
+ * inspector/CodeGeneratorInspector.py:
+ (AdHocTypeContext):
+ (format_setter_value_expression):
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::messageSourceValue):
+ (WebCore::messageTypeValue):
+ (WebCore::messageLevelValue):
+ (WebCore::ConsoleMessage::addToFrontend):
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
+ (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
+ * inspector/InspectorApplicationCacheAgent.h:
+ (InspectorApplicationCacheAgent):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::detectOrigin):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForTiming):
+ (WebCore::buildObjectForCachedResource):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::buildObjectForStyle):
+ (WebCore::InspectorStyleSheet::create):
+ (WebCore::InspectorStyleSheet::InspectorStyleSheet):
+ (WebCore::InspectorStyleSheet::buildObjectForRule):
+ (WebCore::InspectorStyleSheet::resourceStyleSheetText):
+ (WebCore::InspectorStyleSheet::buildArrayForRuleList):
+ (WebCore::InspectorStyleSheetForInlineStyle::create):
+ (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
+ * inspector/InspectorStyleSheet.h:
+ (InspectorCSSId):
+ (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
+ (InspectorStyleSheet):
+ (WebCore::InspectorStyleSheet::canBind):
+ (InspectorStyleSheetForInlineStyle):
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: highlight diff in the gutter, not in the line content.
+ https://bugs.webkit.org/show_bug.cgi?id=83371
+
+ Reviewed by Yury Semikhatsky.
+
+ Now that the editing mode is enabled by default, diff highlighting gets annoying.
+ I am moving it to the gutter (same decoration as before, but now coloring gutter only).
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextEditorGutterPanel.prototype.textChanged):
+ * inspector/front-end/textViewer.css:
+ (.diff-container .webkit-added-line.webkit-line-number):
+ (.diff-container .webkit-removed-line.webkit-line-number):
+ (.diff-container .webkit-changed-line.webkit-line-number):
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: highlight diff in the gutter, not in the line content.
+ https://bugs.webkit.org/show_bug.cgi?id=83371
+
+ Reviewed by Yury Semikhatsky.
+
+ Now that the editing mode is enabled by default, diff highlighting gets annoying.
+ I am moving it to the gutter (same decoration as before, but now coloring gutter only).
+
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextEditorGutterPanel.prototype.textChanged):
+ * inspector/front-end/textViewer.css:
+ (.diff-container .webkit-added-line.webkit-line-number):
+ (.diff-container .webkit-removed-line.webkit-line-number):
+ (.diff-container .webkit-changed-line.webkit-line-number):
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: remove url from the saved urls map before the save action.
+ https://bugs.webkit.org/show_bug.cgi?id=83364
+
+ Reviewed by Yury Semikhatsky.
+
+ URL gets added back upon successful save anyways, but if user chooses cancel saving,
+ we stop bugging him with the save-as dialog.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._exportAll):
+ (WebInspector.NetworkLogView.prototype._exportResource):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
+ (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
+ * inspector/front-end/TextViewer.js:
+ (WebInspector.TextViewer.prototype._contextMenu):
+ (WebInspector.TextViewer.prototype._commitEditing):
+ * inspector/front-end/TimelineModel.js:
+ (WebInspector.TimelineModel.prototype.saveToFile):
+ * inspector/front-end/inspector.js:
+
+2012-04-06 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: display frame details in popover on frame strip in Timeline panel
+ https://bugs.webkit.org/show_bug.cgi?id=83365
+
+ Reviewed by Pavel Feldman.
+
+ - added popovers for frame strips;
+ - factored out generateAggregatedInfo for reuse in the above;
+ - made frame event dividers thinner, darker and greyer.
+
+ * English.lproj/localizedStrings.js: Added "FPS" and "Frame"
+ * inspector/front-end/TimelineFrameController.js:
+ (WebInspector.TimelineFrameController.prototype._flushFrame): added startTimeOffset.
+ (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
+ * inspector/front-end/TimelineModel.js:
+ (WebInspector.TimelineModel.prototype._updateBoundaries):
+ (WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateFrames): added link to frame to strip div.
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelinePanel.prototype._getPopoverAnchor): handle frame anchors separately.
+ (WebInspector.TimelinePanel.prototype._mouseMove): ditto.
+ (WebInspector.TimelinePanel.prototype._showPopover):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+ (WebInspector.TimelinePresentationModel._generateAggregatedInfo): factored out for reuse.
+ (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
+ * inspector/front-end/inspectorCommon.css:
+ (.resources-dividers-label-bar):
+ * inspector/front-end/timelinePanel.css:
+ (.timeline .resources-event-divider.timeline-frame-divider): made divider thin and grey.
+ (.timeline-frame-strip): bumped z-index, added pointer-events: auto.
+
+2012-04-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: show "dirty" flag for CSS files edited in the resources panel.
+ https://bugs.webkit.org/show_bug.cgi?id=83363
+
+ Reviewed by Yury Semikhatsky.
+
+ Added TextEdited notification into the editable source frame, listening to it
+ in the resources panel.
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
+ (WebInspector.EditableResourceSourceFrame.prototype.isDirty):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
+ (WebInspector.FrameResourceTreeElement.prototype.sourceView):
+ (WebInspector.FrameResourceTreeElement.prototype._sourceViewTextEdited):
+
+2012-04-06 Levi Weintraub <leviw@chromium.org>
+
+ Update LayoutUnit usage in RenderView
+ https://bugs.webkit.org/show_bug.cgi?id=83147
+
+ Reviewed by Julien Chaffraix.
+
+ Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
+ affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
+ necessary as we continue to accumulate sub-pixel offsets up to this level.
+
+ No new tests. No change in behavior.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
+ boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
+ (WebCore::RenderView::shouldRepaint):
+ (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
+ that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
+ FrameView.
+ (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
+ the rect up to the Compositor.
+ (WebCore::RenderView::computeRectForRepaint):
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::viewRect):
+ (WebCore::RenderView::unscaledDocumentRect):
+ * rendering/RenderView.h:
+ (RenderView):
+
+2012-04-06 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: hide popover on mouseout from anchor
+ https://bugs.webkit.org/show_bug.cgi?id=83362
+
+ Reviewed by Pavel Feldman.
+
+ - start hide popover timer when mouse moves out of popover anchor, as we won't receive mousemove events any more;
+ - factored out starting of popover kill timer to a method.
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper):
+ (WebInspector.PopoverHelper.prototype._mouseMove): Factored out StartHidePopoverTimer()
+ (WebInspector.PopoverHelper.prototype._mouseOut): Just call StartHidePopoverTimer() when mouse moves out of anchor.
+ (WebInspector.PopoverHelper.prototype._startHidePopoverTimer.doHide):
+ (WebInspector.PopoverHelper.prototype._startHidePopoverTimer):
+ (WebInspector.PopoverHelper.prototype._hidePopover): Reset hoverElement (aka anchor) when hiding popover.
+
+2012-04-06 Andrey Kosyakov <caseq@chromium.org>
+
+ [Chromium] Web Inspector: getEventListeners(window) crashes on NTP
+ https://bugs.webkit.org/show_bug.cgi?id=83353
+
+ Reviewed by Pavel Feldman.
+
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::getEventListenersCallback):
+
+2012-04-06 Kent Tamura <tkent@chromium.org>
+
+ Touch ChromeClient.h to fix Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=83258
+
+ * page/ChromeClient.h:
+
+2012-04-06 Kent Tamura <tkent@chromium.org>
+
+ Initial LocalizedDateICU.cpp implementation
+ https://bugs.webkit.org/show_bug.cgi?id=60868
+
+ Reviewed by Hajime Morita.
+
+ Add LocalizedDateICU.cpp, which supports only Date type. It uses a
+ short format because a date field is keyboard-editable.
+ e.g. 5/15/11 in US locale.
+
+ * WebCore.gyp/WebCore.gyp: Exclude LocalizedDateNone.cpp.
+ * WebCore.gypi: Add LocalizedDateICU.cpp.
+ * platform/text/LocalizedDateICU.cpp: Added.
+ (WebCore::parseLocalizedDate):
+ (WebCore::formatLocalizedDate):
+
+2012-04-05 Alexander Pavlov <apavlov@chromium.org>
+
+ [REGRESSION] Refreshed autofill popup renders garbage
+ https://bugs.webkit.org/show_bug.cgi?id=83255
+ http://code.google.com/p/chromium/issues/detail?id=118374
+
+ The code used to update only the PopupContainer coordinates as if they were the coordinates relative
+ to the root view. Instead, a WebWidget positioned relative to the screen origin holds the PopupContainer,
+ so it is the WebWidget that should be positioned in PopupContainer::refresh(), and the PopupContainer's
+ location should be (0, 0) (and their sizes should always be equal).
+
+ Reviewed by Kent Tamura.
+
+ No new tests, as the popup appearance is not testable in WebKit.
+
+ * platform/chromium/PopupContainer.cpp:
+ (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Variable renamed.
+ (WebCore::PopupContainer::showPopup): Use m_originalFrameRect rather than frameRect()
+ for passing into chromeClient.
+ (WebCore::PopupContainer::showInRect): Set up the correct frameRect() for the container.
+ (WebCore::PopupContainer::refresh): Resize the container and position the WebWidget correctly.
+ * platform/chromium/PopupContainer.h:
+ (PopupContainer):
+
+2012-04-06 Kent Tamura <tkent@chromium.org>
+
+ Calendar Picker: Add code to open/close the calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=83258
+
+ Reviewed by Hajime Morita.
+
+ No new tests. This code is not used because of no ENABLE_INPUT_TYPE_DATE.
+
+ * WebCore.gypi: Add existing header files.
+
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::DateInputType):
+ Moved from DateInputType.h because the constructor depends on
+ CalendarPickerElement.
+ (WebCore::DateInputType::createShadowSubtree):
+ Store a CalendarPickerElement object.
+ (WebCore::DateInputType::destroyShadowSubtree):
+ Release the CalendarPickerElement object.
+ (WebCore::DateInputType::handleBlurEvent):
+ Close the calendar picker when the input loses focus.
+ * html/DateInputType.h:
+ (DateInputType):
+ - Move the constructor definition to DateInputType.cpp
+ - Add function declarations
+ - Add m_pickerElement data member.
+
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::hostInput): A helper to get the host <input>.
+ (WebCore::CalendarPickerElement::defaultEventHandler):
+ If the element is clicked, open a calendar picker.
+ (WebCore::CalendarPickerElement::openPopup):
+ Opens a calendar picker by ChromeClient::openPagePopup().
+ (WebCore::CalendarPickerElement::closePopup):
+ Closes a calendar picker by ChromeClient::closePagePopup().
+ (WebCore::CalendarPickerElement::detach):
+ Closes a calendar picker when the element loses a renderer.
+
+ (WebCore::CalendarPickerElement::contentSize):
+ Provides the initial size of a popup.
+ (WebCore::addString): A helper for writeDocument().
+ (WebCore::addJavaScriptString): ditto.
+ (WebCore::addProperty): ditto.
+ (WebCore::CalendarPickerElement::writeDocument):
+ Provides the source of a popup. The function creates a complete HTML with:
+ - WebCore/Resources/calendarPicker.css
+ - WebCore/Resources/calendarPicker.js
+ - An object to pass localization strings and <input> state
+ (WebCore::CalendarPickerElement::setValueAndClosePopup):
+ Sets the value from a calendar picker to the <input>.
+ (WebCore::CalendarPickerElement::didClosePopup):
+ Clear the popup object.
+ * html/shadow/CalendarPickerElement.h:
+ (CalendarPickerElement): Add declarations.
+
+ * platform/text/LocalizedCalendarICU.cpp:
+ (WebCore::getFirstDayOfWeek): Make sure this is 0-base. UCAL_SUNDAY is 1.
+
+2012-04-05 Adele Peterson <adele@apple.com>
+
+ <rdar://problem/11133179> and https://bugs.webkit.org/show_bug.cgi?id=74129
+ REGRESSION (SnowLeopard, 5.1.4): All WK2 horizontal scrollbars look broken
+
+ Patch by Dan Bernstein, Reviewed by Beth Dakin.
+
+ This code assumed that the current CTM wouldn't have extraneous operations built into it,
+ but this bug is evidence that that assumption was wrong. We should just get the base CTM instead
+ and apply the device scale factor to it.
+
+ No tests added since the SnowLeopard-style scrollbars aren't testable in our regression tests right now.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
+ (WebCore::GraphicsContext::applyDeviceScaleFactor):
+ * platform/graphics/GraphicsContext.h: (GraphicsContext):
+ * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
+
+2012-04-05 Yuta Kitamura <yutak@chromium.org>
+
+ Leak in WebSocketChannel with workers/worker-reload.html
+ https://bugs.webkit.org/show_bug.cgi?id=83345
+
+ Reviewed by David Levin.
+
+ A speculative fix of memory leaks caused by worker-reload.html.
+
+ No new tests, as this change imposes no functional change.
+
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
+ Receive the peer as PassOwnPtr<> so the destructor of the task object can
+ delete the peer even if the task didn't run before main thread's cleanup period.
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+ (WorkerThreadableWebSocketChannel):
+
+2012-04-05 Lu Guanqun <guanqun.lu@intel.com>
+
+ combine two arrays (coreExceptionNames and coreExceptionDescriptions) into one array
+ https://bugs.webkit.org/show_bug.cgi?id=83141
+
+ Reviewed by Adam Barth.
+
+ No new tests required.
+
+ * dom/DOMCoreException.cpp:
+ (CoreException):
+ (WebCore):
+ (WebCore::DOMCoreException::initializeDescription):
+
+2012-04-05 David Barton <dbarton@mathscribe.com>
+
+ Remove intrinsic padding from contentBoxRect(), etc.
+ https://bugs.webkit.org/show_bug.cgi?id=83092
+
+ Reviewed by Julien Chaffraix.
+
+ "Intrinsic padding" does not count as CSS padding, but is treated as padding by basic
+ layout and rendering code, e.g. RenderBlock::layout(). A lot of code relies on the
+ equation border-box = content-box + padding + border (+ scrollbars). To keep this valid,
+ change 5 functions in RenderBox.h to not include intrinsic padding in the content box,
+ thus reverting to their behavior before the patch for bug 33593. Instead, have
+ sizingBox(renderer) in CSSComputedStyleDeclaration.cpp explicitly put the intrinsic
+ padding in computed CSS content-box values [for javascript getComputedStyle()], so the
+ above equation still also holds for CSS computed values. This seems more consistent with
+ how the padding...() functions behave since the patch for bug 23487, and will work
+ better for MathML. For instance, a block's contentLogicalWidth() will be the
+ availableLogicalWidth() for use by child elements.
+
+ No new tests. The only real observable changes are illustrated in the bug 83092 attached
+ test case and discussion. These are minor and hard to automate.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::sizingBox):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::removeNode):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::contentBoxRect):
+ (WebCore::RenderBox::contentWidth):
+ (WebCore::RenderBox::contentHeight):
+ (WebCore::RenderBox::contentLogicalWidth):
+ (WebCore::RenderBox::contentLogicalHeight):
+ - Change these 5 functions to omit intrinsic padding from the content box.
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::cellBaselinePosition):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::firstLineBoxBaseline):
+
+2012-04-05 Hironori Bono <hbono@chromium.org>
+
+ [Chromium] moving a cursor on a misspelled word should not remove a misspelled underline
+ https://bugs.webkit.org/show_bug.cgi?id=83214
+
+ Reviewed by Ryosuke Niwa.
+
+ When Chrome enables asynchronous spellchecking, it adds Spelling markers in the
+ background. For this case, moving a cursor should not remove these markers
+ because it requires Chrome to spellcheck text again. This change prevents
+ removing Spelling markers added by spellcheckers asynchronously.
+
+ Test: platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::respondToChangedSelection):
+
+2012-04-05 Hans Muller <hmuller@adobe.com>
+
+ CSS Exclusions polygon shape arguments should be comma separated
+ https://bugs.webkit.org/show_bug.cgi?id=82368
+
+ Reviewed by Ryosuke Niwa.
+
+ Changed the CSS Parser to accept a conventional comma separated argument list for the
+ polygon exclusion shape. The syntax had used spaces to separate x,y coordinates, like:
+ polygon(10px,20px 30px,40px). Now commas separate points: polygon(10px 20px, 30px 40px).
+ This change is per the draft exclusions spec, http://dev.w3.org/csswg/css3-exclusions.
+ Additional relevant information about CSS argument list syntax can be found
+ here: http://dev.w3.org/csswg/css3-values/#component-whitespace.
+
+ Factored comma recognition idiom in CSSParser.cpp into isComma() utility function.
+
+ The existing tests have been updated.
+
+ * css/CSSParser.cpp:
+ (WebCore::isComma)
+ (WebCore::CSSParser::parseFillPosition)
+ (WebCore::CSSParser::parseFillRepeat)
+ (WebCore::CSSParser::parseFillProperty)
+ (WebCore::CSSParser::parseCubicBezierTimingFunctionValue)
+ (WebCore::CSSParser::parseAnimationTimingFunction)
+ (WebCore::CSSParser::parseAnimationProperty)
+ (WebCore::CSSParser::parseExclusionShapePolygon)
+ (WebCore::CSSParser::parseDeprecatedGradient)
+ (WebCore::CSSParser::parseRadialGradient)
+ (WebCore::CSSParser::parseGradientColorStops)
+ (WebCore::CSSParser::parseImageSet)
+ (WebCore::filterInfoForName)
+ (WebCore::CSSParser::parseCustomFilter)
+ (WebCore::CSSParser::parseFontFeatureSettings)
+
+ * css/CSSWrapShapes.cpp:
+ (WebCore::CSSWrapShapePolygon::cssText):
+
+2012-04-05 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Support string.length in keyPaths
+ https://bugs.webkit.org/show_bug.cgi?id=83221
+
+ Special case in the IDB spec - keyPaths can reference the |length| property
+ of string values. Other instrinsic properties (|length| of Array, etc) are
+ handled automagically. Relevant section of the updated spec is:
+ http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-path-construct
+
+ Reviewed by Kentaro Hara.
+
+ Test: storage/indexeddb/keypath-intrinsic-properties.html
+
+ * bindings/v8/IDBBindingUtilities.cpp:
+ (WebCore):
+
+2012-04-05 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia
+ https://bugs.webkit.org/show_bug.cgi?id=83314
+
+ Reviewed by George Staikos.
+
+ RIM PR: 143771
+ One new virtual method was added to the SkCanvas, to draw a nine piece
+ image. Override it and mark output as not being a solid color anymore.
+
+ * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
+ (WebCore::InstrumentedPlatformCanvas::drawBitmapNine):
+ (InstrumentedPlatformCanvas):
+
+2012-04-05 Oliver Hunt <oliver@apple.com>
+
+ Make WebCore use jsCast rather than static_cast for casting JSC objects
+ https://bugs.webkit.org/show_bug.cgi?id=83320
+
+ Reviewed by Stephanie Lewis.
+
+ Mechanically replace static_cast with jsCast where ever we can.
+
+ * WebCore.exp.in:
+ * bindings/js/DOMWrapperWorld.cpp:
+ (WebCore::JSStringOwner::finalize):
+ * bindings/js/DOMWrapperWorld.h:
+ (WebCore::currentWorld):
+ * bindings/js/JSArrayBufferCustom.cpp:
+ (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
+ * bindings/js/JSAudioContextCustom.cpp:
+ (WebCore::JSAudioContextConstructor::constructJSAudioContext):
+ * bindings/js/JSCSSRuleListCustom.cpp:
+ (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
+ (WebCore::cssPropertyGetterCallback):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSCSSValueOwner::finalize):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::deprecatedGlobalObjectForPrototype):
+ (WebCore::getDOMPrototype):
+ * bindings/js/JSDOMFormDataCustom.cpp:
+ (WebCore::toHTMLFormElement):
+ (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
+ * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
+ (WebCore::JSDOMMimeTypeArray::nameGetter):
+ * bindings/js/JSDOMPluginArrayCustom.cpp:
+ (WebCore::JSDOMPluginArray::nameGetter):
+ * bindings/js/JSDOMPluginCustom.cpp:
+ (WebCore::JSDOMPlugin::nameGetter):
+ * bindings/js/JSDOMStringMapCustom.cpp:
+ (WebCore::JSDOMStringMap::nameGetter):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::toJSDOMWindow):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::childFrameGetter):
+ (WebCore::indexGetter):
+ (WebCore::namedItemGetter):
+ (WebCore::toDOMWindow):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::asJSDOMWindow):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::window):
+ * bindings/js/JSDOMWrapper.h:
+ (WebCore::JSDOMWrapper::globalObject):
+ * bindings/js/JSDataViewCustom.cpp:
+ (WebCore::JSDataViewConstructor::constructJSDataView):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore):
+ (WebCore::toEventTarget):
+ * bindings/js/JSFloat32ArrayCustom.cpp:
+ (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
+ * bindings/js/JSFloat64ArrayCustom.cpp:
+ (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::callHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::nameGetter):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::JSHTMLCollection::nameGetter):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::remove):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSInjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::createInjectedScript):
+ (WebCore::InjectedScriptManager::discardInjectedScript):
+ (WebCore::InjectedScriptManager::injectedScriptFor):
+ * bindings/js/JSInt16ArrayCustom.cpp:
+ (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
+ * bindings/js/JSInt32ArrayCustom.cpp:
+ (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
+ * bindings/js/JSInt8ArrayCustom.cpp:
+ (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::initializeJSFunction):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::nameGetter):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSNodeOwner::finalize):
+ * bindings/js/JSNodeCustom.h:
+ (WebCore::toJS):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::toNodeFilter):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
+ (WebCore::JSNodeList::nameGetter):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::runtimeObjectPropertyGetter):
+ (WebCore::callPlugin):
+ * bindings/js/JSPopStateEventCustom.cpp:
+ (WebCore::JSPopStateEvent::state):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+ * bindings/js/JSSharedWorkerCustom.cpp:
+ (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::nameGetter):
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::nameGetter):
+ * bindings/js/JSTextTrackCueCustom.cpp:
+ (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSTextTrackCustom.cpp:
+ (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSTextTrackListCustom.cpp:
+ (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
+ * bindings/js/JSTrackCustom.cpp:
+ (WebCore::toTrack):
+ * bindings/js/JSUint16ArrayCustom.cpp:
+ (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
+ * bindings/js/JSUint32ArrayCustom.cpp:
+ (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
+ * bindings/js/JSUint8ArrayCustom.cpp:
+ (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
+ * bindings/js/JSUint8ClampedArrayCustom.cpp:
+ (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
+ * bindings/js/JSWebKitMutationObserverCustom.cpp:
+ (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
+ * bindings/js/JSWebKitPointCustom.cpp:
+ (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocketConstructor::constructJSWebSocket):
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJSDedicatedWorkerContext):
+ (WebCore::toJSSharedWorkerContext):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorkerConstructor::constructJSWorker):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::importStylesheet):
+ (WebCore::JSXSLTProcessor::transformToFragment):
+ (WebCore::JSXSLTProcessor::transformToDocument):
+ * bindings/js/ScriptCallStackFactory.cpp:
+ (WebCore::createScriptCallStackForInspector):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::updateStyleIfNeededForBindings):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::dispatchDidPause):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/ScriptState.cpp:
+ (WebCore::domWindowFromScriptState):
+ (WebCore::scriptExecutionContextFromScriptState):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::fillTransferMap):
+ (WebCore::CloneSerializer::dumpArrayBufferView):
+ (WebCore::CloneDeserializer::getJSValue):
+ (WebCore::CloneDeserializer::readTerminal):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject _isSafeScript]):
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateGetOwnPropertySlotBody):
+ (GenerateGetOwnPropertyDescriptorBody):
+ (GenerateImplementation):
+ (GenerateCallWith):
+ (NativeToJSValue):
+ (GenerateConstructorDefinition):
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jsc/JavaInstanceJSC.cpp:
+ (JavaInstance::invokeMethod):
+ * bridge/objc/objc_utility.mm:
+ (JSC::Bindings::convertValueToObjcValue):
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::Bindings::callRuntimeConstructor):
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::injectInternalsObject):
+ (WebCoreTestSupport::resetInternalsObject):
+
+2012-04-05 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
+ https://bugs.webkit.org/show_bug.cgi?id=83309
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Test: platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html
+
+ The X11 backing store was not properly trimming the scroll region when it
+ was only a portion of the screen. This was hidden by subsequent repaints.
+
+ * platform/gtk/GtkWidgetBackingStoreX11.cpp:
+ (WebCore::WidgetBackingStore::scroll): Fix the calculation of the scrolling region.
+
+2012-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113299.
+ http://trac.webkit.org/changeset/113299
+ https://bugs.webkit.org/show_bug.cgi?id=83297
+
+ The patch broke 11 tests on Lion. (Requested by jonlee on
+ #webkit).
+
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ (WebCore::getEntityHandler):
+ (WebCore::XMLDocumentParser::initializeParserContext):
+
+2012-04-05 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Correct misleading trace event names in Canvas2DLayerChromium
+ https://bugs.webkit.org/show_bug.cgi?id=83310
+
+ Reviewed by Adrienne Walker.
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
+
+2012-04-05 Dean Jackson <dino@apple.com>
+
+ [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
+ https://bugs.webkit.org/show_bug.cgi?id=76105
+
+ Reviewed by Simon Fraser.
+
+ Fix three issues with requestAnimationFrame:
+ - It's possible for the call to rAF to come to the document before there
+ is a page associated. Added a guard for this.
+ - A page may try to suspend the scripted animations before the
+ ScriptedAnimationController exists, in which case we need to
+ suspend it immediately after it is created. Do this by keeping
+ track of the state in Page. Otherwise rAF would be busy looping
+ on hidden pages until they are brought to the front and hidden again.
+ - A page created in the background (from WebKit1) does not get
+ informed it is not visible. This can mean that resume() is called
+ more times than suspend() and we get into a state where the number
+ of suspensions becomes -1, and thus fails truthiness tests. Clamp it
+ to values >= 0.
+
+ No new tests, since this is not automatically testable. The most reliable test
+ is to open a page with rAF in a background tab within Safari.
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitRequestAnimationFrame):
+ * dom/ScriptedAnimationController.cpp:
+ (WebCore::ScriptedAnimationController::resume):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::suspendScriptedAnimations):
+ (WebCore::Page::resumeScriptedAnimations):
+ * page/Page.h:
+ (WebCore::Page::scriptedAnimationsSuspended):
+ (Page):
+
+2012-04-05 Brady Eidson <beidson@apple.com>
+
+ <rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311
+ Crashes in WebProcess at WebCore::HistoryController::recursiveSetProvisionalItem when restoring previous session
+
+ Reviewed by Sam Weinig.
+
+ It's possible to hit a race condition between the UIProcess and the WebProcess where the UIProcess records for a
+ page have been cleared out but the WebProcess is still trying to perform a history navigation within that page.
+
+ In this situation HistoryController code that expects there to always be a current history item in the back/forward
+ controller is wrong.
+
+ No new tests. (The race conditions involved have proven making a test impractical)
+
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::recursiveSetProvisionalItem): Don't ASSERT the fromItem. We now know there might not be one.
+ (WebCore::HistoryController::recursiveGoToItem): Ditto
+ (WebCore::HistoryController::itemsAreClones): Always return false if either item is null, as a null item and a non-null
+ item cannot possible be clones of each other.
+
+2012-04-05 Adam Klein <adamk@chromium.org>
+
+ Crash in MutationObservers due to an invalid HashSet iterator
+ https://bugs.webkit.org/show_bug.cgi?id=83304
+
+ Reviewed by Ojan Vafai.
+
+ If the observed node has been GCed when we clear transient observers
+ from it, the HashSet iterator in WebKitMutationObserver::deliver would
+ be invalidated. This patch fixes that behavior by copying the relevant
+ registrations into a seperate vector first and operating on the copy.
+
+ This patch also fixes a bug: transient observers should be cleared
+ after every microtask, not just when delivering.
+
+ Tests: fast/mutation/clear-transient-without-delivery.html
+ fast/mutation/transient-gc-crash.html
+
+ * dom/MutationObserverRegistration.cpp:
+ (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
+ Notify the observer that it has a transient registration so it can be properly cleared.
+ * dom/MutationObserverRegistration.h:
+ (WebCore::MutationObserverRegistration::hasTransientRegistrations):
+ Add an accessor for use when deliver() creates its vector of registrations.
+ * dom/WebKitMutationObserver.cpp:
+ (WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
+ to allow transient registrations to be cleared appropriately.
+ (WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
+ Clear registrations before checking for a lack of records to deliver.
+ * dom/WebKitMutationObserver.h:
+
+2012-04-05 Adam Klein <adamk@chromium.org>
+
+ Rebaseline binding tests after r113272.
+
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::constructorCallback):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::constructorCallback):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
+
+2012-04-05 Stephen White <senorblanco@chromium.org>
+
+ [chromium] Drawing an accelerated canvas onto itself is slow.
+ https://bugs.webkit.org/show_bug.cgi?id=83295
+
+ Fixed by using a GPU-side deepCopy() in skia, so we don't trigger a
+ readback and re-upload.
+
+ Reviewed by James Robinson.
+
+ Correctness is covered by existing tests. Performance is covered
+ by the test case attached to the bug.
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::BitmapImageSingleFrameSkia::create):
+
+2012-04-05 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Record the number of tiles paint-culled instead of the incorrect number of pixels
+ https://bugs.webkit.org/show_bug.cgi?id=82423
+
+ Reviewed by Adrienne Walker.
+
+ We currently attempt to record the number of pixels we save from uploading,
+ however the number is wrong in two ways.
+ 1) An early-out if everything is culled results in nothing being reported.
+ 2) With threaded-compositor, the number of pixels uploaded in one tile can be
+ changed by culling in another tile, making the number far too difficult to
+ compute to be worthwhile. If a tile was going to be partial-updated, but is
+ culled, now a new tile gets to be partial-updated instead, which affects the
+ numbers.
+
+ This patch breaks up CCOverdrawMetrics to make the methods/variables less
+ overloaded and more clear. This way they don't have to mirror each other
+ so closely on paint/draw sides.
+
+ Then we record the number of tiles for which we prevented upload via paint
+ culling. This will still over-report (a dirty culled tile stays dirty and
+ will be culled again each commit), but it seems more reasonable as it
+ clearly does not try to mimic a performance metric in the way that a pixel
+ count does, but still gives a rough estimation of the amount of paint
+ culling going on in a page.
+
+ Covered by existing tests, modified where needed.
+
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::prepareToUpdateTiles):
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
+ (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
+ (WebCore::CCOverdrawMetrics::didCullTileForUpload):
+ (WebCore):
+ (WebCore::CCOverdrawMetrics::didUpload):
+ (WebCore::CCOverdrawMetrics::didCullForDrawing):
+ (WebCore::CCOverdrawMetrics::recordMetrics):
+ (WebCore::CCOverdrawMetrics::recordMetricsInternal):
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
+ (CCOverdrawMetrics):
+ (WebCore::CCOverdrawMetrics::pixelsCulledForDrawing):
+ (WebCore::CCOverdrawMetrics::pixelsUploadedOpaque):
+ (WebCore::CCOverdrawMetrics::pixelsUploadedTranslucent):
+ (WebCore::CCOverdrawMetrics::tilesCulledForUpload):
+ * platform/graphics/chromium/cc/CCQuadCuller.cpp:
+ (WebCore::CCQuadCuller::append):
+
+2012-04-05 Enrica Casucci <enrica@apple.com>
+
+ Provide a separate editing command to cleanup of redundant markup.
+ https://bugs.webkit.org/show_bug.cgi?id=83240
+
+ Reviewed by Ryosuke Niwa.
+
+ This patch moves the logic originally performed by the private
+ method removeRedundantMarkup inside ReplaceSelectionCommand into
+ a separate command. This way the markup cleanup can be exposed as
+ a separate command, independent from ReplaceSelectionCommand.
+
+ No new tests. No change in functionality.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added new file to project files.
+ * editing/EditorAllInOne.cpp: Added SimplifyMarkupCommand.
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply): Now uses SimplifyMarkupCommand.
+ * editing/ReplaceSelectionCommand.h:
+ (ReplaceSelectionCommand): Removed removeRedundantMarkup.
+ * editing/SimplifyMarkupCommand.cpp: Added.
+ (WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand):
+ (WebCore::SimplifyMarkupCommand::doApply):
+ * editing/SimplifyMarkupCommand.h: Added.
+ (WebCore::SimplifyMarkupCommand::create):
+
+2012-04-05 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
+ https://bugs.webkit.org/show_bug.cgi?id=80806
+
+ Reviewed by Adrienne Walker.
+
+ Unit tests added to CCLayerTreeHostCommon. This change is also
+ covered by other existing unit tests and layout tests.
+
+ WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
+ not properly handle the case where a surface is oriented partially
+ behind the camera, with a perspective projection. In this case,
+ projected points may appear to be valid in cartesian coordinates,
+ but they are indeed not valid, and this problem can only be
+ detected in homogeneous coordinates after applying the transform,
+ before the divide-by-w step.
+
+ The correct solution is to clip geometry where w < 0. This patch
+ makes this change local to chromium only, to fix rendering bugs
+ that arise from this problem. The primary fix is to correct
+ calculateVisibleLayerRect(), but other ancillary locations are
+ also fixed, in particular, the antialiasing code path is simply
+ skipped when this case arises.
+
+ Eventually this math needs to be merged into TransformationMatrix,
+ to fix hit-testing bugs that occur in both Chromium and Safari.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::findTileProgramUniforms):
+ (WebCore::LayerRendererChromium::drawTileQuad):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
+ (WebCore::isScaleOrTranslation):
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+ * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
+ (WebCore):
+ (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
+ (HomogeneousCoordinate):
+ (WebCore::HomogeneousCoordinate::shouldBeClipped):
+ (WebCore::HomogeneousCoordinate::cartesianPoint2d):
+ (WebCore::projectPoint):
+ (WebCore::mapPoint):
+ (WebCore::computeClippedPointForEdge):
+ (WebCore::expandBoundsToIncludePoint):
+ (WebCore::computeEnclosingRectOfClippedQuad):
+ (WebCore::computeEnclosingRect):
+ (WebCore::CCMathUtil::mapClippedRect):
+ (WebCore::CCMathUtil::projectClippedRect):
+ (WebCore::CCMathUtil::mapQuad):
+ (WebCore::CCMathUtil::projectQuad):
+ * platform/graphics/chromium/cc/CCMathUtil.h: Added.
+ (WebCore):
+ (CCMathUtil):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-05 Patrick Gansterer <paroga@webkit.org>
+
+ [Qt] Correct <wtf/*.h> include paths.
+ https://bugs.webkit.org/show_bug.cgi?id=83270
+
+ Reviewed by Eric Seidel.
+
+ Modify the #include declerations so that the
+ wtf types are included using the full path.
+
+ * platform/graphics/TiledBackingStoreBackend.h:
+
+2012-04-05 Antonio Gomes <agomes@rim.com>
+
+ Unreviewed bit left over from rebasing the origin patch before landing it.
+
+ Complementary to r113329.
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::operator=):
+
+2012-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113241.
+ http://trac.webkit.org/changeset/113241
+ https://bugs.webkit.org/show_bug.cgi?id=83293
+
+ Requested by sievers@chromium.org (Requested by zhenyao on
+ #webkit).
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+ (WebCore::CCLayerTreeHostImpl::prepareToDraw):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
+
+2012-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113341.
+ http://trac.webkit.org/changeset/113341
+ https://bugs.webkit.org/show_bug.cgi?id=83299
+
+ bots caught some build errors (Requested by shawnsingh on
+ #webkit).
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::findTileProgramUniforms):
+ (WebCore::LayerRendererChromium::drawTileQuad):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
+ (WebCore::isScaleOrTranslation):
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+ * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
+ * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::projectQuad):
+ (WebCore):
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-05 Justin Novosad <junov@chromium.org>
+
+ [Chromium] With the skia port, setting LCD text filtering is causing
+ texture cache invalidations of gpu canvas backing store
+ https://bugs.webkit.org/show_bug.cgi?id=74183
+
+ Reviewed by Stephen White.
+
+ Replacing unnecessary usage of SkCanvas::LayerIter with calls to
+ SkCanvas::isDrawingToLayer(). Same results, lower overhead, and no
+ GPU texture invalidation.
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore):
+ (WebCore::TransparencyAwareFontPainter::initializeForGDI):
+ * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
+ (WebCore):
+ (WebCore::adjustTextRenderMode):
+ * platform/graphics/skia/FontSkia.cpp:
+ (WebCore):
+ (WebCore::adjustTextRenderMode):
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore):
+ (WebCore::disableTextLCD):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore):
+
+2012-04-05 Zan Dobersek <zandobersek@gmail.com>
+
+ media/track/track-webvtt-tc004-magic-header.html flakily times out
+ https://bugs.webkit.org/show_bug.cgi?id=72279
+
+ Reviewed by Eric Carlson.
+
+ Move all the checking for the WebVTT file identifier from TextTrackLoader
+ to WebVTTParser, notifying the parser clients of parsing failures through
+ a new method. Remove the WebVTTParser::fileIdentifierMaximumLength method
+ and make WebVTTParser::hasRequiredFileIdentifier private. The latter now
+ operates on a vector holding the identifier data to which data is added
+ until there's enough of it to possibly hold the optional BOM character
+ and the required WEBVTT character sequence.
+
+ No new tests. Fixes an existing test.
+
+ * html/track/WebVTTParser.cpp: Fix a typo throughout the file:
+ fileIdentiferLength -> fileIdentifierLength
+ (WebCore):
+ (WebCore::WebVTTParser::parseBytes): Only continue with searcing for
+ the WEBVTT identifier if there's enough data to possibly contain the
+ identifier. Report that the file failed to parse if the identifier
+ was then not found.
+ (WebCore::WebVTTParser::hasRequiredFileIdentifier): Refactor to operate
+ on the vector containing identifier data and merge with the
+ hasLongWebVTTIdentifier function.
+ * html/track/WebVTTParser.h:
+ (WebVTTParserClient): Add a new method.
+ (WebVTTParser):
+ * loader/TextTrackLoader.cpp:
+ (WebCore::TextTrackLoader::processNewCueData): Parser is now created
+ immediately regardless of the mime type the response holds.
+ (WebCore::TextTrackLoader::fileFailedToParse): Log the error, set the
+ state to failed, start the cue load timer and cancel the load if the file
+ was not parsed successfully.
+ (WebCore):
+ * loader/TextTrackLoader.h:
+ (TextTrackLoader):
+
+2012-04-05 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
+ https://bugs.webkit.org/show_bug.cgi?id=80806
+
+ Reviewed by Adrienne Walker.
+
+ Unit tests added to CCLayerTreeHostCommon. This change is also
+ covered by other existing unit tests and layout tests.
+
+ WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
+ not properly handle the case where a surface is oriented partially
+ behind the camera, with a perspective projection. In this case,
+ projected points may appear to be valid in cartesian coordinates,
+ but they are indeed not valid, and this problem can only be
+ detected in homogeneous coordinates after applying the transform,
+ before the divide-by-w step.
+
+ The correct solution is to clip geometry where w < 0. This patch
+ makes this change local to chromium only, to fix rendering bugs
+ that arise from this problem. The primary fix is to correct
+ calculateVisibleLayerRect(), but other ancillary locations are
+ also fixed, in particular, the antialiasing code path is simply
+ skipped when this case arises.
+
+ Eventually this math needs to be merged into TransformationMatrix,
+ to fix hit-testing bugs that occur in both Chromium and Safari.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::findTileProgramUniforms):
+ (WebCore::LayerRendererChromium::drawTileQuad):
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
+ (WebCore::isScaleOrTranslation):
+ (WebCore::calculateDrawTransformsAndVisibilityInternal):
+ * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
+ (WebCore):
+ (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
+ (HomogeneousCoordinate):
+ (WebCore::HomogeneousCoordinate::shouldBeClipped):
+ (WebCore::HomogeneousCoordinate::cartesianPoint2d):
+ (WebCore::projectPoint):
+ (WebCore::mapPoint):
+ (WebCore::computeClippedPointForEdge):
+ (WebCore::expandBoundsToIncludePoint):
+ (WebCore::computeEnclosingRectOfClippedQuad):
+ (WebCore::computeEnclosingRect):
+ (WebCore::CCMathUtil::mapClippedRect):
+ (WebCore::CCMathUtil::projectClippedRect):
+ (WebCore::CCMathUtil::mapQuad):
+ (WebCore::CCMathUtil::projectQuad):
+ * platform/graphics/chromium/cc/CCMathUtil.h: Added.
+ (WebCore):
+ (CCMathUtil):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::computeUnoccludedContentRect):
+
+2012-04-05 Jia Pu <jpu@apple.com>
+
+ Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
+ https://bugs.webkit.org/show_bug.cgi?id=82970
+
+ Reviewed by Enrica Casucci.
+
+ No new tests, since there's no change of functionality.
+
+ The existing correction panel related functions in EditorClient are currently used only by OS X.
+ We'd like to move them into separate AlternativeTextClient class to avoid using #ifdef's. This
+ new client class will also hold dictation alternative related interface that we will add soon for
+ bug 82503.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/AlternativeTextController.cpp: Changes in this file are all for calling functions in
+ AlternativeTextClient instead of those in EditoClient.
+ (WebCore::AlternativeTextController::show):
+ (WebCore::AlternativeTextController::dismiss):
+ (WebCore::AlternativeTextController::dismissSoon):
+ (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
+ (WebCore::AlternativeTextController::timerFired):
+ (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
+ (WebCore::AlternativeTextController::alternativeTextClient):
+ (WebCore):
+ (WebCore::AlternativeTextController::editorClient):
+ (WebCore::AlternativeTextController::textChecker):
+ (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
+ (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
+ * editing/AlternativeTextController.h:
+ (WebCore):
+ (AlternativeTextController):
+ * editing/TextCheckingHelper.h:
+ (WebCore):
+ * loader/EmptyClients.h:
+ (EmptyEditorClient):
+ * page/AlternativeTextClient.h: Added.
+ (WebCore):
+ (AlternativeTextClient):
+ (WebCore::AlternativeTextClient::~AlternativeTextClient):
+ * page/EditorClient.h:
+ (EditorClient):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::PageClients::PageClients):
+ * page/Page.h:
+ (WebCore):
+ (PageClients):
+ (Page):
+ (WebCore::Page::alternativeTextClient):
+
+2012-04-05 Min Qin <qinmin@google.com>
+
+ Fix fullscreen video button for android
+ https://bugs.webkit.org/show_bug.cgi?id=83087
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=70437 changed css keyword for fullscreen video button.
+ It is changed from media-fullscreen-button to media-enter-fullscreen-button.
+ However, it does not change the value in mediaControlChromiumAndroid.css.
+ No behavior change.
+
+ * css/mediaControlsChromiumAndroid.css:
+ (video::-webkit-media-controls-fullscreen-button):
+
+2012-04-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: CSS file revisions are not restored upon front-end reopen.
+ https://bugs.webkit.org/show_bug.cgi?id=83292
+
+ Reviewed by Yury Semikhatsky.
+
+ Populating suggestions before the panel creation now.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector._doLoadedDoneWithCapabilities.get if):
+
+2012-04-04 Simon Fraser <simon.fraser@apple.com>
+
+ Add assertions to check for mutation of RenderLayer z-order lists during enumeration
+ https://bugs.webkit.org/show_bug.cgi?id=83242
+
+ Reviewed by James Robinson.
+
+ Add debug-only code that detects whether RenderLayer's z-order and
+ normal flow lists are being cleared or otherwise mutated while we're
+ enumerating over them.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::paintList):
+ (WebCore::RenderLayer::calculateLayerBounds):
+ (WebCore::RenderLayer::dirtyZOrderLists):
+ (WebCore::RenderLayer::dirtyNormalFlowList):
+ (WebCore::RenderLayer::updateZOrderListsSlowCase):
+ (WebCore::RenderLayer::updateNormalFlowList):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ (WebCore::RenderLayer::layerListMutationAllowed):
+ (WebCore::RenderLayer::setLayerListMutationAllowed):
+ (WebCore):
+ (LayerListMutationDetector):
+ (WebCore::LayerListMutationDetector::LayerListMutationDetector):
+ (WebCore::LayerListMutationDetector::~LayerListMutationDetector):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
+ (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
+ (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
+ (WebCore::RenderLayerCompositor::layerHas3DContent):
+
+2012-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113254.
+ http://trac.webkit.org/changeset/113254
+ https://bugs.webkit.org/show_bug.cgi?id=83291
+
+ Requested by sievers@chromium.org (Requested by zhenyao on
+ #webkit).
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+
+2012-04-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r113307.
+ http://trac.webkit.org/changeset/113307
+ https://bugs.webkit.org/show_bug.cgi?id=83288
+
+ Requested by sievers@chromium.org (Requested by zhenyao on
+ #webkit).
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+
+2012-03-14 Antonio Gomes <agomes@rim.com>
+
+ Extend HitTestResult to support not "discarding" shadow content in favor of its DOM ancestor
+ https://bugs.webkit.org/show_bug.cgi?id=80847
+
+ Reviewed by David Hyatt.
+
+ In order to improve touch precision on shadow tree content, patch
+ extends the rect-hittest'ing system to allow shadow content
+ to be stored as the rect-hittest result node list.
+
+ Primary use cases are for this extension is making it easier to
+ improve the clickability of default controls of <video> and <audio>
+ elements.
+
+ For the callee site, the use is simple: if shadow content in the rect-hittest
+ result is desired, just add an extra 'AllowShadowContent' parameter at the creation
+ of the HitTestResult object.
+
+ Test: fast/dom/nodesFromRect-shadowContent.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ * dom/Document.h:
+ (Document):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ * rendering/HitTestResult.h:
+ (HitTestResult):
+ (WebCore::HitTestResult::shadowContentFilterPolicy):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::nodeAtPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::hitTestList):
+ * testing/Internals.cpp:
+ (WebCore::Internals::nodesFromRect):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-04-05 Hans Muller <hmuller@adobe.com>
+
+ Rename CSS Exclusions "rect" value to "rectangle"
+ https://bugs.webkit.org/show_bug.cgi?id=82367
+
+ Reviewed by Ryosuke Niwa.
+
+ Changed the CSS exclusion shape called "rect" to "rectangle" to match
+ the current draft spec - http://dev.w3.org/csswg/css3-exclusions.
+
+ The meeting minutes where the decision to rename the exclusion "rect" function
+ to "rectangle" are: http://lists.w3.org/Archives/Public/www-style/2012Feb/0325.html
+
+ No new tests were created; just updated the existing ones.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseWrapShapeRectangle):
+ (WebCore::CSSParser::parseWrapShape):
+ * css/CSSParser.h:
+ * css/CSSWrapShapes.cpp:
+ (WebCore::CSSWrapShapeRectangle::cssText):
+ * css/CSSWrapShapes.h:
+ (WebCore::CSSWrapShapeRectangle::create):
+ (WebCore::CSSWrapShapeRectangle::type):
+ (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
+
+2012-04-05 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Disable paintingGoesToWindow() for the root layer when forced compositing mode is active
+ https://bugs.webkit.org/show_bug.cgi?id=83127
+
+ Reviewed by Rob Buis.
+
+ RIM PR: 136381
+ The BlackBerry port will use accelerated compositing code path to
+ render the root layer in some situations.
+
+ The plan is to do this by activating the "force compositing mode"
+ setting, but that in itself doesn't get us all the way, since painting
+ will still go to window for the root layer.
+
+ Fixed by adding a special clause in
+ RenderLayerBacking::paintingGoesToWindow() for PLATFORM(BLACKBERRY).
+
+ No new tests, this is currently not testable with the BlackBerry WebKit
+ testing infrastructure.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintingGoesToWindow):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+ (WebCore::RenderLayerCompositor::inForcedCompositingMode): Added.
+
+2012-04-05 Stephen Chenney <schenney@chromium.org>
+
+ REGRESSION(99539): Infinite repaint loop with SVGImage and deferred repaint timers
+ https://bugs.webkit.org/show_bug.cgi?id=78315
+
+ Reviewed by Dimitri Glazkov.
+
+ The existing fix for this issue was failing to check if the frameView object
+ was currently _in_ layout, in addition to whether it needs layout. Calling the
+ redraw method while in layout leads to a debug assertion and potential infinite
+ layout loops. Now we check whether we need layout or are in layout. We also add
+ a check when the repaint timer fires to ensure we do not call redraw during layout
+ at that point.
+
+ This patch was tested with tens of thousands of runs on layout test cases that
+ previously crashed at a rate of about 1 in 25. Now we see no crashes and no test
+ failures.
+
+ No new tests, as this exists to fix flaky existing tests.
+
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redrawTimerFired):
+
+2012-04-05 Keishi Hattori <keishi@webkit.org>
+
+ Hide datalist element
+ https://bugs.webkit.org/show_bug.cgi?id=82874
+
+ The datalist element should be hidden when ENABLE_DATALIST is on.
+
+ Reviewed by Kent Tamura.
+
+ Tests: fast/forms/datalist/datalist-fallback-content-expected.html
+ fast/forms/datalist/datalist-fallback-content.html
+
+ * css/html.css:
+ (datalist): Added display:none.
+
+2012-04-05 W. James MacLean <wjmaclean@chromium.org>
+
+ Adjust max bisection search iterations for TouchpadFlingGestureCurve.
+ https://bugs.webkit.org/show_bug.cgi?id=83166
+
+ Reviewed by James Robinson.
+
+ Covered by existing tests.
+
+ * platform/TouchpadFlingPlatformGestureCurve.cpp:
+ (WebCore):
+
+2012-04-05 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: switch FileSystem, Profiler and Worker domains to typed API
+ https://bugs.webkit.org/show_bug.cgi?id=83069
+
+ Reviewed by Yury Semikhatsky.
+
+ Domains are switched to 'strict' mode. However, hardly any changes were needed in C++ code because
+ only basic types are currently used in Inspector.json.
+
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
+ * inspector/InspectorProfilerAgent.h:
+ (InspectorProfilerAgent):
+
+2012-04-05 Levi Weintraub <leviw@chromium.org>
+
+ DOM measurement APIs should operate on pixel snapped values.
+ https://bugs.webkit.org/show_bug.cgi?id=83138
+
+ Reviewed by Julien Chaffraix.
+
+ DOM measurement APIs return unscaled integers. In an effort to return the best possible values (and
+ most consistent with current behavior) when we use sub-pixel values for Layout, we want to adjust
+ the actual on-screen position and size values for scaling, not the sub-pixel values.
+
+ No new tests. No change in behavior.
+
+ * dom/Element.cpp:
+ (WebCore::adjustForLocalZoom): Needs to return an integer, since this is what the DOM API calls for.
+ (WebCore::Element::offsetWidth): Using pixel snapped values for all the following functions.
+ (WebCore::Element::offsetHeight):
+ (WebCore::Element::clientLeft):
+ (WebCore::Element::clientTop):
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::width):
+ (WebCore::HTMLImageElement::height):
+
+2012-04-05 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: add ability to copy resource URL from web inspector's resources page.
+ https://bugs.webkit.org/show_bug.cgi?id=83175
+
+ Reviewed by Yury Semikhatsky.
+
+ Added requested context menu item.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
+
+2012-04-04 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: display frame duration instead of time ruler in Timeline panel's frame mode
+ https://bugs.webkit.org/show_bug.cgi?id=83184
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelineFrameController.js:
+ (WebInspector.TimelineFrameController): Maintain reference to TimelinePresentationModel
+ (WebInspector.TimelineFrameController.prototype._flushFrame): Report frames to TimelinePresentationModel (only real ones)
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.removeDividers): remove time marks/labels from upper time ruler
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane.prototype._updateEventDividers): Updated call site of createEventDivider
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateEventDividers):
+ (WebInspector.TimelinePanel.prototype._shouldShowFrames):
+ (WebInspector.TimelinePanel.prototype._updateFrames): Frame bars rendering logic.
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords): Do not keep frames in the panel any more.
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._refresh): Moved updateDividers() call here...
+ (WebInspector.TimelinePanel.prototype._refreshRecords): ... from here.
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.createEventDivider): Use type & title, not entire record.
+ (WebInspector.TimelinePresentationModel.prototype.frames): Maintain frames in the TimelinePresentationModel.
+ (WebInspector.TimelinePresentationModel.prototype.reset): ditto.
+ (WebInspector.TimelinePresentationModel.prototype.addFrame): ditto.
+ (WebInspector.TimelinePresentationModel.Record): Fix title for timestamp events (drive by).
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-frame-strip):
+
+2012-04-05 MORITA Hajime <morrita@google.com>
+
+ IsCommentNode flags is a waste.
+ https://bugs.webkit.org/show_bug.cgi?id=83251
+
+ Reviewed by Ryosuke Niwa.
+
+ Effectively nobody uses it. To save a precious NodeFlags bit, this
+ change removes NodeFlags::IsCommentFlag and its companion mehtod
+ Node::isCommentNode().
+
+ No new tests. No behaviour change.
+
+ * dom/CharacterData.h:
+ (WebCore::CharacterData::CharacterData):
+ * dom/Comment.cpp:
+ (WebCore::Comment::Comment):
+ * dom/Node.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::getTagName):
+ This was the only client of Node::isCommentNode(). Replaced it with nodeType() call.
+
+2012-04-05 Hans Wennborg <hans@chromium.org>
+
+ webkit_unit_tests build fix.
+ https://bugs.webkit.org/show_bug.cgi?id=83261
+
+ Unreviewed, webkit_unit_tests buildfix.
+
+ The CCLayerTreeHostTestEmptyContentsShouldNotDraw.runMultiThread test
+ stopped working after r113254.
+
+ Disable it for now.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::canDraw):
+
+2012-04-05 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
+
+ [EFL] keycode translation is wrong for function keys
+ https://bugs.webkit.org/show_bug.cgi?id=82738
+
+ This patch fixes keycode translation for function keys.
+
+ Reviewed by Philippe Normand.
+
+ Test: fast/events/keydown-function-keys.html
+
+ * platform/efl/EflKeyboardUtilities.cpp:
+ (WebCore::createWindowsKeyMap):
+
+2012-04-01 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
+ https://bugs.webkit.org/show_bug.cgi?id=82577
+
+ Reviewed by Filip Pizlo.
+
+ Work-around entity expansion bug that affects several SVG tests on Lion.
+
+ Sample test document which is currently broken:
+ <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+ <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
+ ]>
+
+ <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>
+
+ The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
+ libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
+ still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
+ - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
+ or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
+ - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
+ to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
+ This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
+ - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
+ clear the recorded detph(), and stop executing the workaround.
+
+ It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.
+
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+ (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
+ (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
+ (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
+ (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ (WebCore::hackAroundLibXMLEntityParsingBug):
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ (WebCore::entityDeclarationHandler):
+ (WebCore::getEntityHandler):
+ (WebCore::XMLDocumentParser::initializeParserContext):
+
+2012-04-04 Kent Tamura <tkent@chromium.org>
+
+ Add JavaScript and CSS code for the calendar picker implementation
+ https://bugs.webkit.org/show_bug.cgi?id=83011
+
+ Reviewed by Hajime Morita.
+
+ Add calendarPicker.js and calendarPicker.css, and add a build rule to
+ generate a C++ file. This change doesn't make any behavior change
+ because the code is wrapped by ENABLE(CALENDAR_PICKER).
+
+ Tests: ManualTests/forms/calendar-picker.html
+
+ * Resources/calendarPicker.css: Added.
+ * Resources/calendarPicker.js: Added.
+ * WebCore.gyp/WebCore.gyp: Generate CalendarPicker.{cpp,h} from calendarPicker.{css,js}.
+
+2012-04-05 Kinuko Yasuda <kinuko@chromium.org>
+
+ Expose DataTransferItem.getAsEntry() to allow users access dropped files as FileEntry
+ https://bugs.webkit.org/show_bug.cgi?id=82592
+
+ Reviewed by David Levin.
+
+ For now the method is prefixed thus it is to be exposed as 'webkitGetAsEntry'.
+
+ The API is proposed and discussed in the following whatwg thread:
+ http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html
+
+ Add DataTransferItemFilesystem under Modules/filesystem and implemented the bridging part for chromium.
+
+ Test: editing/pasteboard/data-transfer-items-drag-drop-entry.html
+
+ * Modules/filesystem/DataTransferItemFileSystem.h: Added.
+ (DataTransferItemFileSystem):
+ * Modules/filesystem/DataTransferItemFileSystem.idl: Added for DataTransferItem.getAsEntry which is only exposed if filesystem is enabled.
+ * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Added for chromium implementation.
+ * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.h: Added.
+ * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Added.
+ * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Added.
+ * WebCore.gypi:
+ * platform/chromium/ChromiumDataObject.cpp:
+ * platform/chromium/ChromiumDataObject.h:
+ (WebCore::ChromiumDataObject::filesystemId): Added.
+ (WebCore::ChromiumDataObject::setFilesystemId): Added.
+ * platform/chromium/ClipboardChromium.cpp:
+
+2012-04-04 Patrick Gansterer <paroga@webkit.org>
+
+ Add WTF::getCurrentLocalTime()
+ https://bugs.webkit.org/show_bug.cgi?id=83164
+
+ Reviewed by Alexey Proskuryakov.
+
+ Replace the calls to WTF::getLocalTime() with time(0) with the new function.
+ This allows us to use Win32 API on windows to get the same result in a next step.
+
+ * html/FTPDirectoryDocument.cpp:
+ (WebCore::processFileDateString):
+ * loader/archive/mhtml/MHTMLArchive.cpp:
+ (WebCore::MHTMLArchive::generateMHTMLData):
+
+2012-04-04 Hayato Ito <hayato@chromium.org>
+
+ Remove ReifiedTreeTraversal.
+ https://bugs.webkit.org/show_bug.cgi?id=83110
+
+ Reviewed by Dimitri Glazkov.
+
+ We can now remove ReifiedTreeTraversal. All clients have switched to use ComposedShadowTreeWalker.
+
+ No new tests. No change in functionality.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ReifiedTreeTraversal.cpp: Removed.
+ * dom/ReifiedTreeTraversal.h: Removed.
+ * testing/Internals.cpp:
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-04-04 Dmitry Lomov <dslomov@google.com>
+
+ WorkerEventQueue::close might access deleted WorkerEventQueue::EventDispatcherTask.
+ https://bugs.webkit.org/show_bug.cgi?id=83202
+
+ On closing the event queue, WorkerEventQueue cancels all the tasks associated with events.
+ The tasks in their turn delete themselves from the map whenever task gets executed.
+ However if shutdown occurs when task is in queue but before task gets executed, the task will be deleted without execution.
+ This patch makes sure that no deleted tasks stay in WorkerEventQueue, by task removing itself in destructor.
+
+ Reviewed by David Levin.
+
+ Covered by existing tests.
+
+ * workers/WorkerEventQueue.cpp:
+ (WebCore::WorkerEventQueue::EventDispatcherTask::~EventDispatcherTask):
+ (WorkerEventQueue::EventDispatcherTask):
+ (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
+
+2012-04-04 Julien Chaffraix <jchaffraix@webkit.org>
+
+ RenderLayer scrollbars' updates should be split between layout induced and style change induced
+ https://bugs.webkit.org/show_bug.cgi?id=83213
+
+ Reviewed by Simon Fraser.
+
+ Refactoring only, no change in behavior.
+
+ This patches splits up the 2 reasons for modifying the scrollbars:
+ - style updates, handled in updateScrollbarsAfterStyleChange.
+ - layout time, handled in updateScrollbarsAfterLayout.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::contentsSize):
+ Removed now unneeded const-casts.
+
+ (WebCore::RenderLayer::setHasHorizontalScrollbar):
+ (WebCore::RenderLayer::setHasVerticalScrollbar):
+ Updated to use hasHorizontalScrollbar / hasVerticalScrollbar.
+
+ (WebCore::RenderLayer::scrollWidth):
+ (WebCore::RenderLayer::scrollHeight):
+ Made those functions |const|.
+
+ (WebCore::RenderLayer::computeScrollDimensions):
+ Removed the unneeded booleans and move the do-we-have-overflow-logic
+ into hasHorizontalOverflow and hasVerticalOverflow.
+
+ (WebCore::RenderLayer::hasHorizontalOverflow):
+ (WebCore::RenderLayer::hasVerticalOverflow):
+ Added those new helper functions.
+
+ (WebCore::RenderLayer::updateScrollbarsAfterLayout):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ Updated the latter to call the former.
+
+ (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
+ (WebCore::RenderLayer::styleChanged):
+ Ditto.
+
+ (WebCore::overflowCanHaveAScrollbar):
+ Add this helper function for updateScrollbarsAfterStyleChange.
+
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::hasHorizontalScrollbar):
+ (WebCore::RenderLayer::hasVerticalScrollbar):
+ Added those 2 new helper functions.
+
2012-04-04 Andrei Burago <aburago@chromium.org>
Auto-size may not work on first load
« no previous file with comments | « no previous file | Source/WebCore/page/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698