Closed Bug 235897 Opened 20 years ago Closed 20 years ago

<iframe src=file:///non-existent> does not refresh its background

Categories

(Core :: Layout: Images, Video, and HTML Frames, defect, P1)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla1.8alpha1

People

(Reporter: MatsPalmgren_bugz, Assigned: roc)

References

Details

(Keywords: testcase)

Attachments

(3 files)

The background of an <iframe> which fails to load does not refresh
its background.

STEPS TO REPRODUCE:
1. Load the testcase (click OK in the error dialog)
2. Click on "File" in the browser menubar
3. Move the mouse over the menubar, opening/closing menus over the <iframe>

ACTUAL RESULTS:
The <iframe> background display random pixel values.

EXPECTED RESULTS:
The <iframe> background should be repainted.

BUILDS & PLATFORMS TESTED:
Bug occurs in Mozilla nightly trunk build 2004-02-26-08 on Linux
Bug occurs in Mozilla 1.6, 1.4.1, 1.2.1 and 1.0.2
Attached file Testcase
Aha, I see now that it only occurs for file: URIs
Keywords: testcase
Summary: <iframe src=404> does not refresh its background → <iframe src=file:///non-existent> does not refresh its background
Attached image Screenshot
I have a feeling this is a dup. but I'll take it.
Assignee: nobody → roc
Priority: -- → P2
Attached patch fixSplinter Review
When the file: URL fails to load, the native widget for the root of the
IFRAME's document stays hidden. The view manager doesn't notice that it's
hidden and when painting the widgets under it, includes the hidden widget's
area as part of the area covered by opaque widgets that should be skipped. So
the views "under" the hidden widget are not painted and the backbuffer is
copied straight to the screen, and it contains garbage.

The solution is to not add the areas of hidden widgets to the "opaque covering"
region.
Comment on attachment 145006 [details] [diff] [review]
fix

another nice simple fix :-)
Attachment #145006 - Flags: superreview?(dbaron)
Attachment #145006 - Flags: review?(dbaron)
Comment on attachment 145006 [details] [diff] [review]
fix

r+sr=dbaron, assuming a |diff -ub| shows that you're just adding the
childWidget->IsVisible check.
Attachment #145006 - Flags: superreview?(dbaron)
Attachment #145006 - Flags: superreview+
Attachment #145006 - Flags: review?(dbaron)
Attachment #145006 - Flags: review+
I'm going to hold this over for 1.8a unless someone (Mats) convinces me otherwise.
Target Milestone: --- → mozilla1.8alpha
Could this be responsible for the flashes of garbage bryner and I have been
noticing recently?  I think it would be good to get this in for 1.7 -- it
certainly doesn't seem risky.
dbaron: yes, it's possible
Comment on attachment 145006 [details] [diff] [review]
fix

a=mkaply

This is a very small fix - a -w diff would make that clearer.
Attachment #145006 - Flags: approval1.7? → approval1.7+
fix checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: