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 |