Closed Bug 286955 Opened 19 years ago Closed 19 years ago

Rendering error when scolling an Iframe in overflow:hidden div

Categories

(Core :: Web Painting, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: hannes, Assigned: roc)

References

Details

(Keywords: testcase)

Attachments

(5 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225 Firefox/1.0.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225 Firefox/1.0.1

as you can see in the example attatched, there is a rendering error, if you
scroll a div element that contains IFrames, when the overflow:hidden ist
selected. There is no Problem when using overflow:auto

Reproducible: Always

Steps to Reproduce:
1. load the html file attatched
2. see the bug in the right div. The content of the left and right div are
exactly the same.
Actual Results:  
The Iframes are rendered obove the main page containing the DIV tag with
overflow:hidden

Expected Results:  
all the iframes should be hidden. The same as they are on the eft side.
Seing this with latest trunk build (20050320) as well
Assignee: firefox → nobody
Component: General → Layout
Keywords: testcase
Product: Firefox → Core
QA Contact: general → layout
Version: unspecified → Trunk
I tried to find a workaround for the given problem.
I made the iframe 'visibility:hidden' and expected that this would help. The
result was Quite strange and unexpected.
Assignee: nobody → roc
Severity: major → normal
Status: UNCONFIRMED → NEW
Component: Layout → Layout: View Rendering
Ever confirmed: true
OS: Windows XP → All
QA Contact: layout → ian
Summary: Rendering error when scolling an Iframe in overflow:auto div → Rendering error when scolling an Iframe in overflow:hidden div
Here is somthing more:
Running the testpage over the time consumed memory increases steadely. On a
windows System.
A similar effect occurs when an iframe with "visibility:hidden" is used within a
block with property "display:none" and that property is changed to something
like "display:block" by JavaScript at runtime.
The following HTML page demonstrates that:
I just had a look at the example 178075.
If you switch between tabs, or close another aplication that was liying above
of Firefox showing the Page of attatchment 178075 does not refresh screen in
the area of the iframe. See the Pic.
The testcase 178075 works for me on trunk. So does 181852. I do see a problem
with 178060 (the first one).
Attached patch fixSplinter Review
When the scrolling view doesn't have a widget of its own, after repainting the
content area we move any child widgets as if they were scrolled. When those
widgets stick outside our clip rect, moving them moves some chunk of page
pixels which shouldn't be moved. The scrolling view code tries to compensate
for this in AdjustChildWidgets by invalidating these moved widgets; they should
repaint themselves with the correct page graphics. Unfortunately in this case
it doesn't succeed because each child widget is exactly covered by its own
child, so the repaint is completely hidden by the grandchild, which is not
itself invalidated. The fix I'm using here is to force the widget and all its
children to be invalidated by hiding it and then showing it again. This isn't a
great solution, but recursively invalidating all widget childen (which would be
apparently more straightforward) probably won't work in all cases, because we
don't always hook up native widget children as nsIWidget children.
Attachment #182041 - Flags: superreview?(bzbarsky)
Attachment #182041 - Flags: review?(bzbarsky)
Attachment #182041 - Flags: superreview?(bzbarsky)
Attachment #182041 - Flags: superreview+
Attachment #182041 - Flags: review?(bzbarsky)
Attachment #182041 - Flags: review+
Comment on attachment 182041 [details] [diff] [review]
fix

relatively simple fix for a rendering-garbage problem, but it's not a
regression.
Attachment #182041 - Flags: approval1.8b3?
Comment on attachment 182041 [details] [diff] [review]
fix

a=shaver
Attachment #182041 - Flags: approval1.8b3? → approval1.8b3+
checked in
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
*** Bug 288676 has been marked as a duplicate of this bug. ***
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: