Bug 76067

Summary: [chromium] TiledLayerChromium drops invalidates that occur during LayerTextureUpdater::prepareToUpdate
Product: WebKit Reporter: Scott Violet <sky>
Component: WebCore Misc.Assignee: Scott Violet <sky>
Status: RESOLVED FIXED    
Severity: Normal CC: cc-bugs, enne, jamesr, reveman, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch 1
none
Changes to persist dirty in m_updateRect and updates changelogs
none
Spelling none

Description Scott Violet 2012-01-11 09:18:45 PST
TiledLayerChromium::prepareToUpdateTiles clears out the invalid rects after invoking LayerTextureUpdater::prepareToUpdate. This means if the LayerTextureUpdater invokes invalidate during prepareToUpdate it gets dropped.
Comment 1 Scott Violet 2012-01-11 09:38:01 PST
Created attachment 122040 [details]
Patch 1
Comment 2 WebKit Review Bot 2012-01-11 09:40:28 PST
Attachment 122040 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." 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.
Comment 3 Adrienne Walker 2012-01-11 10:30:52 PST
Comment on attachment 122040 [details]
Patch 1

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

Thanks for this.  The compositor code has never been very robust to paint mutating the layer tree.

> Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp:392
> +            originalDirtyRects[(j - top) * (right - left + 1) + (i - left)] = tile->m_dirtyRect;

This is just a minor quibble, but what do you think about just storing the dirty rect in tile->m_updateRect? We do that anyway in the second loop where we paint.
Comment 4 James Robinson 2012-01-11 11:28:35 PST
Comment on attachment 122040 [details]
Patch 1

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

> Source/WebCore/ChangeLog:4
> +        [chromium] makes it so that
> +        TiledLayerChromium::prepareToUpdateTiles doesn't drop invalidate

as the bot says, there should be a link to the bug here. the normal format for ChangeLogs looks like:

[chromium] TiledLayerChromium drops invalidates that occur during LayerTextureUpdater::prepareToUpdate
https://bugs.webkit.org/show_bug.cgi?id=76067

Reviewed by NOBODY (OOPS!).

// longer description here, if needed
Comment 5 Scott Violet 2012-01-11 15:19:24 PST
Created attachment 122108 [details]
Changes to persist dirty in m_updateRect and updates changelogs
Comment 6 Scott Violet 2012-01-11 15:21:04 PST
Created attachment 122109 [details]
Spelling
Comment 7 James Robinson 2012-01-11 17:55:52 PST
Comment on attachment 122109 [details]
Spelling

Awesome possum. R=me
Comment 8 WebKit Review Bot 2012-01-11 18:26:16 PST
Comment on attachment 122109 [details]
Spelling

Clearing flags on attachment: 122109

Committed r104780: <http://trac.webkit.org/changeset/104780>
Comment 9 WebKit Review Bot 2012-01-11 18:26:21 PST
All reviewed patches have been landed.  Closing bug.