Bug 90087 - [CSS Filters] Blur filter is not repainted correctly when applied on a parent of a fixed element
Summary: [CSS Filters] Blur filter is not repainted correctly when applied on a parent...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alexandru Chiculita
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-27 11:27 PDT by Alexandru Chiculita
Modified: 2012-07-09 12:16 PDT (History)
5 users (show)

See Also:


Attachments
Patch V1 (17.85 KB, patch)
2012-06-27 17:27 PDT, Alexandru Chiculita
simon.fraser: review+
simon.fraser: commit-queue-
Details | Formatted Diff | Diff
Patch for commit (17.84 KB, patch)
2012-06-29 11:53 PDT, Alexandru Chiculita
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ec2-cr-linux-04 (740.36 KB, application/zip)
2012-06-29 15:18 PDT, WebKit Review Bot
no flags Details
Patch for commit (17.81 KB, patch)
2012-07-09 10:59 PDT, Alexandru Chiculita
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandru Chiculita 2012-06-27 11:27:44 PDT
This bug is a follow up of the review on https://bugs.webkit.org/show_bug.cgi?id=89475 . 

That bug fixed the case when the blur is applied on the first parent layer of a fixed element, but we need to check all the ancestors.

The case when that happens is for example when there is a sepia layer applied on the first parent and a blur on the second parent.
Comment 1 Alexandru Chiculita 2012-06-27 11:38:21 PDT
It should also check whether the fixed element itself has a blur filter.
Comment 2 Alexandru Chiculita 2012-06-27 17:27:29 PDT
Created attachment 149831 [details]
Patch V1
Comment 3 Simon Fraser (smfr) 2012-06-29 10:48:53 PDT
Comment on attachment 149831 [details]
Patch V1

View in context: https://bugs.webkit.org/attachment.cgi?id=149831&action=review

> Source/WebCore/page/FrameView.cpp:1466
> +        if (renderBox->layer() && renderBox->layer()->hasParentWithFilterOutsets()) {

This could be a little slow because it has to run up the tree every time. Maybe we should add a 'hasFilteredAncestor' bit somewhere in future.
Comment 4 Simon Fraser (smfr) 2012-06-29 10:49:21 PDT
Comment on attachment 149831 [details]
Patch V1

View in context: https://bugs.webkit.org/attachment.cgi?id=149831&action=review

> Source/WebCore/rendering/RenderLayer.cpp:1092
> +bool RenderLayer::hasParentWithFilterOutsets() const

This name is confusing; it's hasAncestorWithFilterOutsets.
Comment 5 Alexandru Chiculita 2012-06-29 11:53:08 PDT
Created attachment 150231 [details]
Patch for commit

Thanks for the review. I've updated and posted for commit-queue.
Comment 6 WebKit Review Bot 2012-06-29 15:18:30 PDT
Comment on attachment 150231 [details]
Patch for commit

Attachment 150231 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13110510

New failing tests:
fast/repaint/block-selection-gap-in-composited-layer.html
Comment 7 WebKit Review Bot 2012-06-29 15:18:40 PDT
Created attachment 150262 [details]
Archive of layout-test-results from ec2-cr-linux-04

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: ec2-cr-linux-04  Port: <class 'webkitpy.common.config.ports.ChromiumXVFBPort'>  Platform: Linux-2.6.35-28-virtual-x86_64-with-Ubuntu-10.10-maverick
Comment 8 Alexandru Chiculita 2012-07-09 10:59:11 PDT
Created attachment 151280 [details]
Patch for commit
Comment 9 WebKit Review Bot 2012-07-09 12:16:30 PDT
Comment on attachment 151280 [details]
Patch for commit

Clearing flags on attachment: 151280

Committed r122130: <http://trac.webkit.org/changeset/122130>
Comment 10 WebKit Review Bot 2012-07-09 12:16:36 PDT
All reviewed patches have been landed.  Closing bug.