date | project | content | link |
|---|
| 4 min ago | WebKit | Commit by haraken@chromium.org :: r106127 Source/WebCore/ (2 files in 2 dirs): Unreviewed. Rebasedlined run-bindings-tests results.
- bindings/scripts/test/CPP/WebDOMTestInterface.cpp: (WebDOMTestInterface::supplementalMethod1): (WebDOMTestInterface::supplementalMethod2):
| # |
| 5 min ago | WebKit | Commit by commit-queue@webkit.org :: r106126 Tools/ (4 files in 2 dirs): [Gtk] DumpRenderTree lacks --no-timeout command line option https://bugs.webkit.org/show_bug.cgi?id=77196
Patch by Zan Dobersek <zandobersek at gmail dot com> on 2012-01-27 Reviewed by Martin Robinson.
Add the --no-timeout command line option and reorganize watchdog code to make running DumpRenderTree without timeout possible.
- DumpRenderTree/gtk/DumpRenderTree.cpp: (setWaitToDumpWatchdog): (shouldSetWaitToDumpWatchdog): (initializeGlobalsFromCommandLineOptions):
- DumpRenderTree/gtk/DumpRenderTreeGtk.h:
- DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (waitToDumpWatchdogFired): (LayoutTestController::setWaitToDump):
| # |
| 8 min ago | WebKit | Commit by jocelyn.turcotte@nokia.com :: r106125 Source/WebKit2/ (2 files in 2 dirs): Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner. https://bugs.webkit.org/show_bug.cgi?id=77220
Reviewed by Noam Rosenthal.
- WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
| # |
| 20 min ago | WebKit | Commit by commit-queue@webkit.org :: r106124 LayoutTests/ (13 files in 4 dirs): REGRESSION (r106036-r106050): 12 tests failing on GTK Linux 64-bit Debug https://bugs.webkit.org/show_bug.cgi?id=77222
Patch by Zan Dobersek <zandobersek at gmail dot com> on 2012-01-27 Reviewed by Martin Robinson.
Rebaseline tests after changes in r106043.
- platform/gtk/editing/selection/caret-ltr-2-expected.txt:
- platform/gtk/editing/selection/caret-ltr-2-left-expected.txt:
- platform/gtk/editing/selection/caret-ltr-expected.txt:
- platform/gtk/editing/selection/caret-ltr-right-expected.txt:
- platform/gtk/editing/selection/caret-rtl-2-expected.txt:
- platform/gtk/editing/selection/caret-rtl-2-left-expected.txt:
- platform/gtk/editing/selection/caret-rtl-expected.txt:
- platform/gtk/editing/selection/caret-rtl-right-expected.txt:
- platform/gtk/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
- platform/gtk/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt:
- platform/gtk/http/tests/xmlhttprequest/send-array-buffer-expected.txt: Added.
- platform/gtk/http/tests/xmlhttprequest/send-undefined-and-null-expected.txt: Added.
| # |
| 19:16 today | WebKit | Commit by commit-queue@webkit.org :: r106123 LayoutTests/ (2 files in 2 dirs): | # |
| 18:53 today | WebKit | Commit by knorton@google.com :: r106122 LayoutTests/ (2 files in 2 dirs): | # |
| 18:53 today | WebKit | Commit by noam.rosenthal@nokia.com :: r106121 Source/WebCore/ (6 files in 4 dirs): [Qt][WK2] Child layers appear in wrong position when scrolling https://bugs.webkit.org/show_bug.cgi?id=77063
Reviewed by Simon Fraser.
When using the delegatesScrolling mode in FrameView, the compositor doesn't need to control the special clip/scroll layers. Also, when we change that mode, we need to let the compositor reset its backing-stores and rebuild them without scrolling/clipping.
This is tested by compositing tests, when run with Qt in touch mode.
- page/FrameView.cpp: (WebCore::FrameView::delegatesScrollingDidChange): (WebCore):
- page/FrameView.h: (FrameView):
- platform/ScrollView.cpp: (WebCore::ScrollView::setDelegatesScrolling):
- platform/ScrollView.h: (WebCore::ScrollView::delegatesScrollingDidChange):
- rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresScrollLayer):
| # |
| 18:33 today | WebKit | Commit by commit-queue@webkit.org :: r106120 Source/WebCore/ (ChangeLog css/CSSStyleSelector.h): | # |
| 18:10 today | WebKit | Commit by abecsi@webkit.org :: r106119 Tools/ (2 files in 2 dirs): [Qt][WK2] Enable the automatic touch->mouse mocking on the new Qt5 hashes https://bugs.webkit.org/show_bug.cgi?id=77122
Reviewed by Kenneth Rohde Christiansen.
- MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::MiniBrowserApplication):
| # |
| 17:59 today | WebKit | Commit by zeno.albisser@nokia.com :: r106118 /trunk/ (8 files in 6 dirs): [Qt][Mac] Build fails after adding ICU support (r105997). https://bugs.webkit.org/show_bug.cgi?id=77118
Source/JavaScriptCore:
Use Apple code path for unicode date formats on mac.
Reviewed by Tor Arne Vestbø.
- runtime/DatePrototype.cpp: (): Source/WebCore: Use SmareReplaceCF.cpp code path if platform Mac. Reviewed by Tor Arne Vestbø.
- Target.pri: Source/WTF: Link to libicucore if platform Mac. Reviewed by Tor Arne Vestbø.
- WTF.pri: Tools: Define WTF_USE_ICU_UNICODE if we are on mac. Reviewed by Tor Arne Vestbø.
- qmake/mkspecs/features/features.prf:
| # |
| 17:44 today | WebKit | Commit by carlosgc@webkit.org :: r106117 Source/ (6 files in 4 dirs): [GTK] Add a GKeyFile especialization to GOwnPtr https://bugs.webkit.org/show_bug.cgi?id=77191
Reviewed by Martin Robinson.
Source/JavaScriptCore:
- wtf/gobject/GOwnPtr.cpp: (WTF::GKeyFile): Implement freeOwnedGPtr for GKeyFile.
- wtf/gobject/GOwnPtr.h: Add GKeyFile template.
- wtf/gobject/GTypedefs.h: Add forward declaration for GKeyFile. Source/WebKit2:
- Shared/gtk/ArgumentCodersGtk.cpp: (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile. (CoreIPC::encode): Ditto. (CoreIPC::decode): Ditto.
| # |
| 17:38 today | WebKit | Commit by kenneth@webkit.org :: r106116 Source/WebKit2/ (2 files in 2 dirs): [Qt] Fade out tap highlighting when starting to pan https://bugs.webkit.org/show_bug.cgi?id=77202
Reviewed by Simon Hausmann.
Basically we need to fade out the potential tap highlighting when ever the gesture recognition fails or another gesture is recognized. We do that with this change.
- UIProcess/qt/QtTapGestureRecognizer.cpp: (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer): (WebKit::QtTapGestureRecognizer::recognize): (WebKit::QtTapGestureRecognizer::reset): Remove reset as it does nothing but call code before the event handler is installed.
| # |
| 17:26 today | WebKit | Commit by loislo@chromium.org :: r106115 Source/WebCore/ (3 files in 2 dirs): Web Inspector: detailed heap snapshot: Replace (Native objects) root element with '(Detached DOM trees)' and '(Document DOM trees)' https://bugs.webkit.org/show_bug.cgi?id=77201
I think it'd be nice to replace one group containing all native objects with separate groups for different types of native objects.
Reviewed by Yury Semikhatsky.
- bindings/v8/RetainedDOMInfo.cpp: (WebCore::RetainedDOMInfo::GetGroupLabel): (WebCore):
- bindings/v8/RetainedDOMInfo.h: (RetainedDOMInfo):
| # |
| 17:19 today | WebKit | Commit by zoltan@webkit.org :: r106114 Tools/ (2 files in 2 dirs): | # |
| 17:11 today | WebKit | Commit by zimmermann@webkit.org :: r106113 /trunk/ (33 files in 9 dirs): <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox" https://bugs.webkit.org/show_bug.cgi?id=77205
Reviewed by Antti Koivisto.
Source/WebCore:
Consider following testcase: <svg width="1000" height="500"> <defs> <circle id="c" cx="50%" cy="50%" r="10%"/> <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox"> <feImage xlink:href="#c"/> </filter> </defs> <rect width="100" height="100" filter="url(#f)"/> </svg>
The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>, as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside the 100x100 sized image buffer.
So how to resolve this? The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!) to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting. This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the subtree to an image buffer.
The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250 center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to resolve only cx against the new viewport, and not cy.
Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
Adding lots of new testcases, trying all the different feImage modes.
Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-position.svg svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg svg/filters/feImage-subregions-preseveAspectRatio-none.svg svg/filters/feImage-subregions.svg
- rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
- svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
- svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content. (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does. Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
- svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed. LayoutTests: Add new test cases covering all combinations of filterUnits/primitiveUnits and <feImage>.
- platform/chromium/test_expectations.txt:
- platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png: Added.
- platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.txt: Added.
- platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png: Added.
- platform/mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.txt: Added.
- platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png: Added.
- platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.txt: Added.
- platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png: Added.
- platform/mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.txt: Added.
- platform/mac/svg/filters/feImage-position-expected.png: Added.
- platform/mac/svg/filters/feImage-position-expected.txt: Added.
- platform/mac/svg/filters/feImage-subregions-expected.png: Added.
- platform/mac/svg/filters/feImage-subregions-expected.txt: Added.
- platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png: Added.
- platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.txt: Added.
- platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png: Added.
- platform/mac/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.txt: Added.
- svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg: Added.
- svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg: Added.
- svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg: Added.
- svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg: Added.
- svg/filters/feImage-position.svg: Added.
- svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg: Added.
- svg/filters/feImage-subregions-preseveAspectRatio-none.svg: Added.
- svg/filters/feImage-subregions.svg: Added.
- svg/filters/resources/green.png: Added.
| # |
| 17:03 today | WebKit | Commit by vsevik@chromium.org :: r106112 Source/WebCore/ (3 files in 2 dirs): Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer. https://bugs.webkit.org/show_bug.cgi?id=77126
Reviewed by Pavel Feldman.
- inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if): (WebInspector.ScriptsPanel.prototype._reset): (WebInspector.ScriptsPanel.prototype._showSourceLine): (WebInspector.ScriptsPanel.prototype._updateExecutionLine): (WebInspector.ScriptsPanel.prototype._editorClosed): (WebInspector.ScriptsPanel.prototype._editorSelected): (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward): (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
- inspector/front-end/TabbedEditorContainer.js: (WebInspector.TabbedEditorContainer): (WebInspector.TabbedEditorContainer.prototype._tabClosed): (WebInspector.TabbedEditorContainer.prototype._tabSelected): (WebInspector.TabbedEditorContainer.prototype.reset):
| # |
| 16:44 today | WebKit | Commit by vsevik@chromium.org :: r106111 Tools/ (2 files in 2 dirs): Add Vsevolod Vlasov to reviewers list.
Reviewed by Pavel Feldman.
- Scripts/webkitpy/common/config/committers.py:
| # |
| 16:13 today | WebKit | Commit by zimmermann@webkit.org :: r106110 /trunk/ (20 files in 5 dirs): <feImage> DOM mutation problems https://bugs.webkit.org/show_bug.cgi?id=77198
Reviewed by Antti Koivisto.
Source/WebCore:
Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree. Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
Integrate <feImage> properly within the pending resources concept, fixing the bug.
Tests: svg/filters/feImage-target-add-to-document.svg svg/filters/feImage-target-changes-id.svg svg/filters/feImage-target-id-change.svg svg/filters/feImage-target-reappend-to-document.svg svg/filters/feImage-target-remove-from-document.svg
- svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences. (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences. (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used. (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource. (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>. (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute. (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement. (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree. (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree. (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
- svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used. LayoutTests: Add new test cases covering <feImage> + DOM mutations.
- platform/chromium/test_expectations.txt: Updated expectations.
- svg/filters/feImage-target-add-to-document-expected.png: Added.
- svg/filters/feImage-target-add-to-document-expected.txt: Added.
- svg/filters/feImage-target-add-to-document.svg: Added.
- svg/filters/feImage-target-changes-id-expected.png: Added.
- svg/filters/feImage-target-changes-id-expected.txt: Added.
- svg/filters/feImage-target-changes-id.svg: Added.
- svg/filters/feImage-target-id-change-expected.png: Added.
- svg/filters/feImage-target-id-change-expected.txt: Added.
- svg/filters/feImage-target-id-change.svg: Added.
- svg/filters/feImage-target-reappend-to-document-expected.png: Added.
- svg/filters/feImage-target-reappend-to-document-expected.txt: Added.
- svg/filters/feImage-target-reappend-to-document.svg: Added.
- svg/filters/feImage-target-remove-from-document-expected.png: Added.
- svg/filters/feImage-target-remove-from-document-expected.txt: Added.
- svg/filters/feImage-target-remove-from-document.svg: Added.
| # |
| 16:03 today | WebKit | Commit by jocelyn.turcotte@nokia.com :: r106109 /trunk/ (19 files in 10 dirs): [Qt] WKTR: Use a software rendering pipiline when running tests. https://bugs.webkit.org/show_bug.cgi?id=76708
Reviewed by Kenneth Rohde Christiansen.
Source/WebCore:
- platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null. (WebCore::TextureMapperQt::setGraphicsContext):
- platform/graphics/qt/TextureMapperQt.h: (WebCore::TextureMapperQt::initialize): Source/WebKit2: Animation layout tests require the graphics layers tree to be updated to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which prevents the rendering pipeline to run and then in turn blocks the web process from processing further graphics layer updates. This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's message queue and render the layers in software on an offscreen buffer.
- UIProcess/API/qt/qquickwebpage.cpp: (QQuickWebPagePrivate::paint):
- UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::QQuickWebViewPrivate): (QQuickWebViewPrivate::setNeedsDisplay): (QQuickWebViewExperimental::setRenderToOffscreenBuffer): (QQuickWebViewExperimental::renderToOffscreenBuffer):
- UIProcess/API/qt/qquickwebview_p.h:
- UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate::setRenderToOffscreenBuffer): (QQuickWebViewPrivate::renderToOffscreenBuffer):
- UIProcess/qt/LayerTreeHostProxyQt.cpp: (WebKit::LayerTreeHostProxy::paintToGraphicsContext): Tools:
- WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WTR::WrapperWindow::WrapperWindow): (WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn't shown. LayoutTests:
- platform/qt-wk2/Skipped:
| # |
| 15:56 today | WebKit | Commit by zimmermann@webkit.org :: r106108 /trunk/ (113 files in 30 dirs): 2012-01-27 Branimir Lambov <blambov at google dot com>
SVG filters incorrectly move elements
https://bugs.webkit.org/show_bug.cgi?id=73643
Reviewed by Nikolas Zimmermann.
New tests and updated expectations.
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
* platform/chromium-linux/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Removed.
* platform/chromium-linux/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Removed.
* platform/chromium-linux/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
* platform/chromium-linux/svg/batik/filters/feTile-expected.png:
* platform/chromium-linux/svg/clip-path/clipper-placement-issue-expected.png: Added.
* platform/chromium-linux/svg/clip-path/deep-nested-clip-in-mask-different-unitTypes-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
* platform/chromium-linux/svg/filters/big-sized-filter-expected.png: Added.
* platform/chromium-linux/svg/filters/feDropShadow-expected.png:
* platform/chromium-linux/svg/filters/filter-placement-issue-expected.png: Added.
* platform/chromium-linux/svg/filters/filterRes-expected.png:
* platform/chromium-linux/svg/filters/filterRes-expected.txt: Removed.
* platform/chromium-linux/svg/filters/filterRes2-expected.png: Added.
* platform/chromium-linux/svg/wicd/test-scalable-background-image1-expected.png:
* platform/chromium-win/svg/as-background-image/svg-as-background-2-expected.png:
* platform/chromium-win/svg/filters/big-sized-filter-expected.png:
* platform/chromium/test_expectations.txt:
* platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
* platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/mac-snowleopard/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
* platform/mac-snowleopard/svg/custom/absolute-sized-content-with-resources-expected.png:
* platform/mac-snowleopard/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/mac-snowleopard/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/mac-snowleopard/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/mac-snowleopard/svg/custom/feComponentTransfer-Table-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop-expected.png:
* platform/mac-snowleopard/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop-expected.png:
* platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
* platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
* platform/mac/svg/as-background-image/svg-as-background-6-expected.png:
* platform/mac/svg/batik/filters/feTile-expected.png:
* platform/mac/svg/batik/masking/maskRegions-expected.png:
* platform/mac/svg/clip-path/clip-in-clip-expected.png: Added.
* platform/mac/svg/clip-path/clip-in-clip-expected.txt: Added.
* platform/mac/svg/clip-path/clipper-placement-issue-expected.png: Added.
* platform/mac/svg/clip-path/clipper-placement-issue-expected.txt: Added.
* platform/mac/svg/custom/absolute-sized-content-with-resources-expected.png:
* platform/mac/svg/custom/feComponentTransfer-Discrete-expected.png:
* platform/mac/svg/custom/feComponentTransfer-Gamma-expected.png:
* platform/mac/svg/custom/feComponentTransfer-Linear-expected.png:
* platform/mac/svg/custom/feComponentTransfer-Table-expected.png:
* platform/mac/svg/custom/grayscale-gradient-mask-2-expected.png:
* platform/mac/svg/custom/grayscale-gradient-mask-expected.png:
* platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/mac/svg/custom/js-late-gradient-creation-expected.png:
* platform/mac/svg/custom/text-rotated-gradient-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
* platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
* platform/mac/svg/filters/big-sized-filter-expected.png:
* platform/mac/svg/filters/feDropShadow-expected.png:
* platform/mac/svg/filters/filter-placement-issue-expected.png: Added.
* platform/mac/svg/filters/filter-placement-issue-expected.txt: Added.
* platform/mac/svg/filters/filterRes-expected.png:
* platform/mac/svg/filters/filterRes2-expected.png:
* platform/mac/svg/text/selection-background-color-expected.png:
* platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.png:
* platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.png:
* svg/clip-path/clip-in-clip.svg: Added.
* svg/clip-path/clipper-placement-issue.svg: Added.
* svg/filters/filter-placement-issue.svg: Added.
2012-01-27 Branimir Lambov <blambov at google dot com>
SVG filters incorrectly move elements
https://bugs.webkit.org/show_bug.cgi?id=73643
Reviewed by Nikolas Zimmermann.
Fixes SVG image buffer creation to use the enclosing integer rect
instead of unstable rounded coordinates with scaling which was causing
animated images to jump around under filters. The image buffer was not
aligned on a pixel boundary, and thus the positions and sizes of anything
drawn under that filter changed by 1-2 pixels compared to the same
elements drawn without an intermediate buffer, or drawn with a buffer
with a different target rectangle.
The change improves the positioning of clip paths, masks and filters.
Tests: svg/clip-path/clip-in-clip.svg
svg/clip-path/clipper-placement-issue.svg
svg/filters/filter-placement-issue.svg
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
* rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::applyClippingToContext):
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::applyResource):
* rendering/svg/RenderSVGResourceGradient.cpp:
(WebCore::createMaskAndSwapContextForTextGradient):
(WebCore::clipToTextMask):
* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::createTileImage):
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::createImageBuffer):
(WebCore::SVGImageBufferTools::createImageBufferForPattern):
(WebCore::SVGImageBufferTools::clipToImageBuffer):
(WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
(WebCore::SVGImageBufferTools::clampedAbsoluteSize):
* rendering/svg/SVGImageBufferTools.h:
(WebCore::SVGImageBufferTools::calcImageBufferRect): | # |