Closed
Bug 374762
Opened 17 years ago
Closed 11 months ago
page is blanked for an instant by resizing the view
Categories
(Core :: Web Painting, defect)
Core
Web Painting
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: hsaito54, Unassigned)
References
Details
(Keywords: testcase)
Attachments
(2 files)
1.08 KB,
patch
|
Details | Diff | Splinter Review | |
445 bytes,
text/html
|
Details |
After the page was loaded using reload button or back button, if the scroll bar is moved to the bottom and the window is resized vertically or moved to the right edge and the window is resized horizontally, the page is blanked first for an instant. This problem is caused by calling |::UpdateWindow(mWnd)| at nsWindow::Scroll(), although mRefreshEnabled is not true on viewmanagers. I think that the following patch can fix this problem. If already fixed, I am sorry this report is spam. diff -p8 -Naur view/src/nsScrollPortView.cpp.org view/src/nsScrollPortView.cpp --- view/src/nsScrollPortView.cpp.org Sat Feb 17 22:10:48 2007 +++ view/src/nsScrollPortView.cpp Wed Mar 21 21:08:39 2007 @@ -579,18 +579,20 @@ void nsScrollPortView::Scroll(nsView *aS AdjustChildWidgets(aScrolledView, GetPosition() - topLeft, aP2A, PR_FALSE); // We should call this after fixing up the widget positions to be // consistent with the view hierarchy. mViewManager->UpdateView(this, 0); } else { // if we can blit and have a scrollwidget then scroll. // Scroll the contents of the widget by the specified amount, and scroll // the child widgets - scrollWidget->Scroll(aPixDelta.x, aPixDelta.y, nsnull); - mViewManager->UpdateViewAfterScroll(this, updateRegion); + if (mViewManager->IsRefreshEnabled()) { + scrollWidget->Scroll(aPixDelta.x, aPixDelta.y, nsnull); + mViewManager->UpdateViewAfterScroll(this, updateRegion); + } } } } NS_IMETHODIMP nsScrollPortView::ScrollToImpl(nscoord aX, nscoord aY, PRUint32 aUpdateFlags) { PRInt32 dxPx = 0, dyPx = 0;
Reporter | ||
Comment 1•17 years ago
|
||
I can also see this problem on own build of trunc-20070324/ppclinux.
OS: Windows XP → All
Hardware: PC → All
Reporter | ||
Comment 2•17 years ago
|
||
Reporter | ||
Updated•17 years ago
|
Summary: page is blanked by resizing the view → page is blanked for an instant by resizing the view
Reporter | ||
Comment 3•17 years ago
|
||
Comment on attachment 261091 [details] [diff] [review] patch roc, could you review this patch? While resize reflow, mViewManager->BeginUpdateViewBatch() is called from PresShell::ResizeReflow(), mRefreshEnabled is then false, meanwhile, I think that the refreshment should be restrained.
Attachment #261091 -
Flags: review?(roc)
We can't not scroll just because mRefreshEnabled is false. We have to scroll the widget at some point. The basic problem here is that scrolling is synchronous and breaks suppression; fixing that requires compositor. I don't think we can fix it for 1.9.
Depends on: compositor
Reporter | ||
Updated•17 years ago
|
Attachment #261091 -
Flags: review?(roc)
Comment 5•17 years ago
|
||
Hmm, I can't reproduce, but would it be sufficient to just set canBitBlt to false when refresh is disabled? I think that would have the right effect, although it would be a perf hit if we're in this situation frequently.
That is a very good idea.
Comment 7•16 years ago
|
||
I can't reproduce. Can you test it with the latest trunk? Anyway, is this bug related to Bug 422659?
Reporter | ||
Comment 8•16 years ago
|
||
(In reply to comment #7) > I can't reproduce. Can you test it with the latest trunk? > > Anyway, is this bug related to Bug 422659? > I can see it yet. I think that Bug 422659 is other bug because this bug is in the scrolling issues.
Comment 9•16 years ago
|
||
Can you post a link where you can see that bug and your build identifier?
Reporter | ||
Comment 10•16 years ago
|
||
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9pre) Gecko/2008061418 Minefield/3.0pre For reproducing, in the any page which has vertical scrollbar, 1. put down the var on the bottom of the window, 2. reload the page and 3. spread the window downward.
Comment 11•16 years ago
|
||
I found why I can't reproduce the bug in past. This bug happens when you have not disabled the option to see the content of the page when resized (In Windows: My Computer -> properties -> Advanced -> Performance settings -> show window content when you move it) (or something similar...) Anyway what I notice is only a little flickering, the page was not blanked. So I don't confirm the bug for now, I wait for a third confirmation.
Updated•15 years ago
|
QA Contact: ian → layout.view-rendering
Assignee: roc → nobody
Assignee | ||
Updated•6 years ago
|
Component: Layout: View Rendering → Layout: Web Painting
Updated•2 years ago
|
Severity: normal → S3
Comment 12•11 months ago
|
||
Unable to reproduce.
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•