Last Comment Bug 782980 - Temporary blank boxes on right and bottom while resizing browser window
: Temporary blank boxes on right and bottom while resizing browser window
Status: RESOLVED FIXED
: regression
Product: Core
Classification: Components
Component: Layout: View Rendering (show other bugs)
: Trunk
: All All
: -- normal with 1 vote (vote)
: mozilla17
Assigned To: Matt Woodrow (:mattwoodrow)
:
: Jet Villegas (:jet)
Mentors:
Depends on: 793983 805745
Blocks: 770000 783791 797431
  Show dependency treegraph
 
Reported: 2012-08-15 08:51 PDT by Benoit Girard (:BenWa)
Modified: 2012-12-17 10:20 PST (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Repaint layers when the view size changes (1014 bytes, patch)
2012-08-19 16:11 PDT, Matt Woodrow (:mattwoodrow)
roc: review+
Details | Diff | Splinter Review
Repaint layers when the view size changes v2 (3.38 KB, patch)
2012-08-19 19:47 PDT, Matt Woodrow (:mattwoodrow)
roc: review+
Details | Diff | Splinter Review

Description Benoit Girard (:BenWa) 2012-08-15 08:51:10 PDT
I get a black bar while resizing that is similar to an async resize artifact.
Comment 1 Benoit Girard (:BenWa) 2012-08-15 08:57:10 PDT
Approximate regression range:
hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f89feda9d997&tochange=0678e3e84923
Comment 2 Steven Michaud [:smichaud] (Retired) 2012-08-15 09:12:51 PDT
Here's a more precise description:

Black boxes appear (temporarily) to the right and bottom of a browser window while rapidly resizing it.
Comment 3 Steven Michaud [:smichaud] (Retired) 2012-08-15 09:15:03 PDT
The regression range in mozilla-central nightlies is:

firefox-2012-08-13-03-05-32-mozilla-central
firefox-2012-08-14-03-05-21-mozilla-central

So far both Benoit and I have only tested on OS X 10.7.4.
Comment 4 Steven Michaud [:smichaud] (Retired) 2012-08-15 09:25:11 PDT
I see a similar bug (and regression range) on OS X 10.6.8.  But in this case the boxes (to the right and bottom) are filled with junk/noise (they're not black).
Comment 5 Steven Michaud [:smichaud] (Retired) 2012-08-15 09:30:43 PDT
I see exactly the same symptoms (and regression range) on OS X 10.8 as I do on 10.7.4.
Comment 6 Benoit Girard (:BenWa) 2012-08-15 10:51:16 PDT
Here's the inbound regression range:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=038266727ddc&tochange=3dbfe7ede3d4
Comment 7 Steven Michaud [:smichaud] (Retired) 2012-08-15 12:51:29 PDT
I've found the patch that caused/triggered this bug:

http://hg.mozilla.org/mozilla-central/rev/0ad204385022

 Bug 770000 - Call WillPaint and DidPaint from the refresh driver instead of the widget events. r=roc
author	Matt Woodrow <mwoodrow@mozilla.com>
	Mon Aug 13 22:10:11 2012 +1200 (at Mon Aug 13 22:10:11 2012 +1200)
Comment 8 Matt Woodrow (:mattwoodrow) 2012-08-19 16:11:35 PDT
Created attachment 653213 [details] [diff] [review]
Repaint layers when the view size changes

This happens when we resize the widget/view but don't get a refresh driver tick before we attempt to composite again.

This just forces us to repaint the retained layers synchronously so that this doesn't happen.
Comment 9 Matt Woodrow (:mattwoodrow) 2012-08-19 19:47:01 PDT
Created attachment 653242 [details] [diff] [review]
Repaint layers when the view size changes v2

The previous patch caused painting during reflow with associated assertions.

This delays the forced paint until we attempt to composite.
Comment 10 Robert O'Callahan (:roc) (email my personal email if necessary) 2012-08-19 20:37:31 PDT
Comment on attachment 653242 [details] [diff] [review]
Repaint layers when the view size changes v2

Review of attachment 653242 [details] [diff] [review]:
-----------------------------------------------------------------

::: view/src/nsViewManager.cpp
@@ +338,5 @@
>    }
>  
> +  nsIWidget *widget = aView->GetWidget();
> +  if (!widget) {
> +    return;

I think the new code should be inside "if (widget)" instead of bailing out here whenever there's no widget.
Comment 11 Matt Woodrow (:mattwoodrow) 2012-08-19 21:04:20 PDT
We just crash inside PresShell::Paint if we do that - see bug 770424
Comment 12 Matt Woodrow (:mattwoodrow) 2012-08-20 19:41:33 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/2a39d3361d72
Comment 13 Ed Morley [:emorley] 2012-08-21 06:28:13 PDT
https://hg.mozilla.org/mozilla-central/rev/2a39d3361d72

Note You need to log in before you can comment on or make changes to this bug.