Bug 113313

Summary: Background gradient is not correctly redrawn on partial repaint
Product: WebKit Reporter: Stephane Cerveau <scerveau>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: UNCONFIRMED    
Severity: Normal CC: allan.jensen, dglazkov, simon.fraser, webkit.review.bot, zalan
Priority: P2    
Version: 412.x   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Test case
none
screenshot
none
Test if its a generated image to avoid partial redraw
none
Patch to disable partial updates for generated background image
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-06 for chromium-linux-x86_64
none
Archive of layout-test-results from gce-cr-linux-01 for chromium-linux-x86_64 none

Stephane Cerveau
Reported 2013-03-26 09:06:00 PDT
Created attachment 195095 [details] Test case In attachment here is an example. This is a combination with a div containing a gradient background, a left border and a repeat. In this case we move a blue cursor which is creating a partial update on the background. In this case the background is not correctly redrawn.
Attachments
Test case (1.80 KB, text/html)
2013-03-26 09:06 PDT, Stephane Cerveau
no flags
screenshot (13.50 KB, image/png)
2013-03-26 09:07 PDT, Stephane Cerveau
no flags
Test if its a generated image to avoid partial redraw (3.23 KB, patch)
2013-03-26 10:23 PDT, Stephane Cerveau
no flags
Patch to disable partial updates for generated background image (3.28 KB, patch)
2013-03-28 03:36 PDT, Stephane Cerveau
webkit.review.bot: commit-queue-
Archive of layout-test-results from gce-cr-linux-06 for chromium-linux-x86_64 (4.34 MB, application/zip)
2013-03-28 04:59 PDT, WebKit Review Bot
no flags
Archive of layout-test-results from gce-cr-linux-01 for chromium-linux-x86_64 (4.58 MB, application/zip)
2013-03-28 05:58 PDT, WebKit Review Bot
no flags
Stephane Cerveau
Comment 1 2013-03-26 09:07:10 PDT
Created attachment 195096 [details] screenshot This is what happens when pressing a key.
Stephane Cerveau
Comment 2 2013-03-26 10:23:20 PDT
Created attachment 195109 [details] Test if its a generated image to avoid partial redraw
WebKit Review Bot
Comment 3 2013-03-28 03:16:55 PDT
Attachment 195109 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCore/platform/graphics/GeneratedImage.h', u'Source/WebCore/platform/graphics/Image.cpp', u'Source/WebCore/platform/graphics/Image.h']" exit_code: 1 Source/WebCore/ChangeLog:1: ChangeLog entry has no bug number [changelog/bugnumber] [5] Total errors found: 1 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Stephane Cerveau
Comment 4 2013-03-28 03:36:05 PDT
Created attachment 195518 [details] Patch to disable partial updates for generated background image Add bug review number in Changelog
WebKit Review Bot
Comment 5 2013-03-28 04:58:56 PDT
Comment on attachment 195518 [details] Patch to disable partial updates for generated background image Attachment 195518 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17298403 New failing tests: fast/gradients/css3-radial-gradients2.html fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html fast/dom/HTMLMeterElement/meter-appearances-capacity.html fast/gradients/css3-radial-gradients3.html fast/backgrounds/size/contain-and-cover-zoomed.html fast/gradients/css3-linear-angle-gradients.html fast/gradients/css3-repeating-linear-gradients.html fast/dom/HTMLMeterElement/meter-element.html fast/gradients/unprefixed-color-stop-units.html fast/gradients/css3-color-stop-units.html fast/gradients/unprefixed-radial-gradients2.html fast/gradients/unprefixed-radial-gradients.html fast/gradients/css3-repeating-linear-gradients2.html fast/gradients/unprefixed-radial-gradients3.html fast/gradients/unprefixed-linear-right-angle-gradients.html http/tests/misc/last-modified-parsing.html fast/gradients/css3-radial-gradients.html fast/gradients/css3-color-stops.html fast/backgrounds/size/contain-and-cover.html fast/gradients/css3-linear-right-angle-gradients.html css3/images/cross-fade-background-size.html fast/dom/HTMLMeterElement/meter-styles.html fast/gradients/unprefixed-repeating-linear-gradient.html fast/gradients/unprefixed-linear-angle-gradients.html fast/gradients/radial-centered.html fast/dom/HTMLMeterElement/meter-optimums.html fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html fast/gradients/css3-repeating-radial-gradients.html fast/dom/HTMLMeterElement/meter-boundary-values.html fast/gradients/unprefixed-color-stops.html
WebKit Review Bot
Comment 6 2013-03-28 04:59:00 PDT
Created attachment 195533 [details] Archive of layout-test-results from gce-cr-linux-06 for chromium-linux-x86_64 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: gce-cr-linux-06 Port: chromium-linux-x86_64 Platform: Linux-3.3.8-gcg-201212281604-x86_64-with-GCEL-10.04-gcel_10.04
WebKit Review Bot
Comment 7 2013-03-28 05:58:15 PDT
Comment on attachment 195518 [details] Patch to disable partial updates for generated background image Attachment 195518 [details] did not pass chromium-ews (chromium-xvfb): Output: http://webkit-commit-queue.appspot.com/results/17337183 New failing tests: fast/gradients/css3-radial-gradients2.html fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value.html fast/dom/HTMLMeterElement/meter-appearances-capacity.html fast/gradients/css3-radial-gradients3.html fast/backgrounds/size/contain-and-cover-zoomed.html fast/gradients/css3-linear-angle-gradients.html fast/gradients/css3-repeating-linear-gradients.html fast/gradients/unprefixed-repeating-radial-gradients.html fast/dom/HTMLMeterElement/meter-element.html fast/gradients/unprefixed-color-stop-units.html fast/gradients/css3-color-stop-units.html fast/gradients/unprefixed-radial-gradients2.html fast/gradients/unprefixed-radial-gradients.html fast/gradients/css3-repeating-linear-gradients2.html fast/gradients/unprefixed-radial-gradients3.html fast/gradients/unprefixed-linear-right-angle-gradients.html fast/gradients/css3-radial-gradients.html fast/gradients/css3-color-stops.html fast/backgrounds/size/contain-and-cover.html fast/gradients/css3-linear-right-angle-gradients.html css3/images/cross-fade-background-size.html fast/dom/HTMLMeterElement/meter-styles.html fast/gradients/unprefixed-repeating-linear-gradient.html fast/gradients/unprefixed-linear-angle-gradients.html fast/gradients/radial-centered.html fast/dom/HTMLMeterElement/meter-optimums.html fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html fast/gradients/css3-repeating-radial-gradients.html fast/dom/HTMLMeterElement/meter-boundary-values.html fast/gradients/unprefixed-color-stops.html
WebKit Review Bot
Comment 8 2013-03-28 05:58:19 PDT
Created attachment 195545 [details] Archive of layout-test-results from gce-cr-linux-01 for chromium-linux-x86_64 The attached test failures were seen while running run-webkit-tests on the chromium-ews. Bot: gce-cr-linux-01 Port: chromium-linux-x86_64 Platform: Linux-3.3.8-gcg-201212281604-x86_64-with-GCEL-10.04-gcel_10.04
Allan Sandfeld Jensen
Comment 9 2013-03-28 05:59:29 PDT
Note this is not Qt specific. The issue seems to be that GeneratorGeneratedImage::draw can not do paints where the srcRect is not the size of m_size.
Stephane Cerveau
Comment 10 2013-03-28 07:29:01 PDT
According to this patch, https://bugs.webkit.org/show_bug.cgi?id=87094, draw does not use cache which would allow to increase performance. I'm wondering if the use of draw in Image::drawTiled is really necessary ?
Allan Sandfeld Jensen
Comment 11 2013-04-01 03:08:16 PDT
I think it would be worthwhile to check if this problem has been solved after the patch for bug 113644 has landed.
zalan
Comment 12 2013-04-01 03:44:02 PDT
(In reply to comment #11) > I think it would be worthwhile to check if this problem has been solved after the patch for bug 113644 has landed. No, unfortunately it's not fixed by bug 113644
Note You need to log in before you can comment on or make changes to this bug.