Created attachment 181509 [details] The bottom-right blurred rect is missing in the pop-up window https://code.google.com/p/chromium/issues/detail?id=168199 1) open the attached file and allow the pop-up 2) scroll or resize the pop-up window to expose the rightmost region 3) notice that the filtered bottom-right rect is missing * while painting SVG content, we are checking for intersection with the repaint rect and skipping elements outside the damage region * for filters (and possibly masks) we're caching the resulting bitmap. * later when the new region is exposed, we're simply re-using the cached bitmap * hence we end up not (re)drawing elements outside the original repaint region I think we need to also store the repaint region with cached bitmap, and invalidate on change.
(In reply to comment #0) > I think we need to also store the repaint region with cached bitmap, and invalidate on change. Or we could adjust the repaint region while painting filtered content to cover the whole filter region, but I'm somewhat worried about extreme cases.
(In reply to comment #1) > (In reply to comment #0) > > I think we need to also store the repaint region with cached bitmap, and invalidate on change. > > Or we could adjust the repaint region while painting filtered content to cover the whole filter region, but I'm somewhat worried about extreme cases. On second thought, we are allocating a bitmap for the full filter region anyway, so at least as far as storage is concerned there's no penalty for the latter approach.
Created attachment 181699 [details] Patch
(In reply to comment #3) > Created an attachment (id=181699) [details] > Patch I was hoping to encapsulate the paint rect save/restore in RenderSVGResourceFilter::applyResource/postApplyResource, but that requires passing down a PaintInfo reference instead of a GraphicsContext*& and updating the signature for these virtuals. Unfortunately, not only does to call graph for these methods fan-out to the point where tens of (virtual) method signatures need to be updated, but it also dead-ends in some places where a PaintInfo is not available at all (like GraphicsContext::drawText).
*** Bug 106748 has been marked as a duplicate of this bug. ***
Comment on attachment 181699 [details] Patch Attachment 181699 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://queues.webkit.org/results/15910930 New failing tests: svg/filters/filter-hidden-content.svg
Created attachment 188405 [details] Patch Updated to use pixel tests (the initial reftest not working on Mac).
Comment on attachment 188405 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=188405&action=review > Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:372 > + FilterData* filterData = m_filter.get(object); > + > + return filterData ? filterData->drawingRegion : FloatRect(); > +} Super nit: remove that blank line :)
(In reply to comment #8) > Super nit: remove that blank line :) Thanks, will do :)
Created attachment 188465 [details] Patch for landing
Comment on attachment 188465 [details] Patch for landing Rejecting attachment 188465 [details] from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=gce-cq-02', 'apply-attachment', '--no-update', '--non-interactive', 188465, '--port=chromium-xvfb']" exit_code: 2 cwd: /mnt/git/webkit-commit-queue Last 500 characters of output: platform/gtk/TestExpectations Hunk #1 FAILED at 77. 1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/gtk/TestExpectations.rej patching file LayoutTests/platform/mac/TestExpectations patching file LayoutTests/platform/qt/TestExpectations Hunk #1 succeeded at 1412 (offset -6 lines). patching file LayoutTests/svg/filters/filter-hidden-content.svg Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', '--force']" exit_code: 1 cwd: /mnt/git/webkit-commit-queue Full output: http://queues.webkit.org/results/16527940
Created attachment 188466 [details] Patch for landing
Comment on attachment 188466 [details] Patch for landing Clearing flags on attachment: 188466 Committed r142955: <http://trac.webkit.org/changeset/142955>
All reviewed patches have been landed. Closing bug.
Mac baseline added in http://trac.webkit.org/changeset/143773.
*** Bug 106041 has been marked as a duplicate of this bug. ***