Closed Bug 24684 Opened 25 years ago Closed 21 years ago

Document background color is not inherited down the frames hierarchy

Categories

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

defect

Tracking

()

RESOLVED WORKSFORME
Future

People

(Reporter: bht237, Assigned: john)

Details

(4 keywords)

Attachments

(4 files)

This collection of HTML files demonstrates a misbehaviour of all Navigator browsers: The document background color is not inherited down a frame hierarchy. This results in very ugly flicker in frame based applications which only gets worse with faster processors/video cards. The flicker problem results from the fact that either a gray or white background is painted over the whole window area before the frameset is built up. The new window area should be painted in the color of the parent document instead. The effect of the test example is mild compared with more complex frame sets: This IS a serious problem for new generation web sites: Some documents loaded into frames contain embedded sound files: Under some conditions, the frame windows remain white/gray until the embedded audio file are loaded. There are various ugly scenarios with even uglier workarounds. Microsoft IE does not perform well in this area, either. I have tried to work around this, especially when opening new windows, by using code like the following before loading framesets into the new window: document.write('<HTML><BODY bgcolor="#330033"></BODY></HTML>'); document.close(); However, these workarounds don't work, they add even more flicker. You can see attempts to detract the user from the problem on various web sites. e.g. www.clickon.com uses a background color fading function before frames are loaded. However, this is only delaying the loading of content pages and not a solution. I have been pressured to come up with something like on www.clickon.com but I can't deliver because our frameset hierarchy has 2 levels and up to 22 frames per page. www.clickon.com demonstrates nicely that the background color of a framesetting document can be manipulated with document.bgColor, but I tried this and it does not remove the flicker.
FRAMESET or FRAME bgColor attribute would help a lot.
bht@actrix.gen.nz, have you tried your example with Mozilla M13? I'd suggest doing so; Navigator 5.0 will be based on the Mozilla codebase. Unless you state that you have seen this problem with Mozilla, this bug will be marked INVALID. If you want to report this bug for 4.x browsers, please see http://help.netscape.com/forms/bug-client.htm Mozilla will follow the HTML 4.0 spec, which probably means no added attributes; it will also support CSS, which *should* let you specify the inheritance you want here, if it isn't automatic, although I wouldn't know any details. Please report back how this works with Mozilla.
Assigning all open "nobody@mozilla.org" bugs to "leger@netscape.com" to weed thru.
Assignee: nobody → leger
No response, marking bug as invalid. reopen if you can confirm this is a problem with current mozilla build. See: ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
Mrking Verified
Status: RESOLVED → VERIFIED
I have tested this with build 2000022308 (different test case) and I am amazed how well the browser performs now. The flicker problem is gone! This is fantastic.
The problem is back, Mozilla flickers even more than all other browsers I know of. Please ignore my positive comments on 2000-02-27 (until fixed of again of course :). In Mozilla build 2000022308, framesets used to inherit bgcolor from the document that was loaded prior to the frameset (probably by accident because I can imagine that nothing was painted over the old content). This created very smooth page transitions not found in any other browsers. An anti-flicker measure such as inheriting bgcolor of the previous document would help immensly to compensate for the slowness of the browser, at tleast give it some advantage in frames applications. I really wonder why frames appear to be totally excluded from any quality control in this area. What would you say if tables would start rendering this way? Tables do inherit colors. In summary, users should not be able to see that the browser window is divided into frames while documents are loading. Please see http://www.avenue.co.nz for typical example of the consequences.
Severity: normal → major
Status: VERIFIED → REOPENED
Resolution: INVALID → ---
Previous document -> frameset -> frame bgcolor inheritance: Even without any additional attributes and corresponding syntax, simple inheritance of the bgcolor attribute from the pre-loaded document would solve 100% of all problems. If this sounds like an exaggerated statement to you please consider the fact that a frame cannot be used by JavaScript before at least a blank document (of any background color) has been loaded into it. Consequently there is not one single case where a frameset cannot inherit a background color from a previously loaded document. Even at browser startup with a blank page, when loading a frameset into the top window, about:blank can be inherited from, resulting in completely flicker free frameset display. The window.open() case where the background color would have to be passed as a parameter is in principle not different from the first window because again, about:blank it the page to inherit from. If this is not desired then a window.open() parameter would be the first and possibly the only thing to ask for. How does this compare with Microsoft's colored scrollbars? Please give it a go.
Fixing QA contact. Doron, I'm setting this to you since this is currently in Browser-General. If your the wrong person please move to correct component.
QA Contact: nobody → doronr
Well, shoot. This bug won't get anywhere assigned to leger@netscape.com, who doesn't exist any more ... -->HTML Frames.
Assignee: leger → pollmann
Status: REOPENED → NEW
Component: Browser-General → HTMLFrames
QA Contact: doronr → petersen
pollmann, I'm nominating for mozilla1.0. Should you own this bug, or is there someone likelier to fix it soon that you know of? /be
Keywords: mozilla1.0
Setting milestone to future.
Target Milestone: --- → Future
pollmann: Is this on the radar for 1.0, or has it been pushed out beyond that? Gerv
QA Contact update
QA Contact: petersen → amar
I'll try, but... there are lots of other bugs on my plate between now and then. This might be solvable by the view system? CC'ing Kevin to see what he thinks...
Status: NEW → ASSIGNED
Keywords: helpwanted, perf, polish
OS: Windows 95 → All
Hardware: PC → All
Target Milestone: Future → mozilla1.0
Good, interesting, exciting. - I hope something will happen soon. Mozilla needs a few COMPELLING features like this. I mean features that everyone will notice. One doesn't need to be a propellerhead to see what a difference this makes. Please consider that improvements will become obvious even without changes in existing web site designs. Apart from the fact that the current state of affairs could easily be described as a design flaw which has been stupidly cloned in other browsers. Who is leading edge this time? I hope Mozilla is.
I think it's fixed now, reporter please verify.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago24 years ago
Resolution: --- → WORKSFORME
I have just installed build 2001092103. For me, the reporter, the problem is still there. It is not as bad as it was initially because overall performance of Mozilla has improved. I am using Win95 on a 300MHz PC and a Matrox PCI graphics card. On this platform, the flicker still exists with the latest testcase. I can clearly see the annoying effect of white about:blank pages being "loaded" intermediately into the sub-frames, which causes the flicker that is the subject of this bug. Maybe someone knows of a clever way to temporarily change the color of about:blank or to eliminate it completely. Real world multi-frame sites sometimes look like fireworks to me because of this. I am really stunned by the awsome rendering power of Mozilla. IMHO, getting _this_ right would lift frames performance up to the same level.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Bulk reassignin HTML FRAME/IFRAME bugs to Eric.
Assignee: pollmann → evaughan
Status: REOPENED → NEW
Possibly of interest: Meanwhile Java Applets are catching up. The previously grey transient background can now be customised, very much like suggested here for frames. Please refer to http://java.sun.com/j2se/1.4/docs/guide/plugin/developer_guide/special_tags.html 'By default the applet window background color is gray. BOXCOLOR can be used to specify a different background color. The format is as follows: BOXCOLOR="<value>"'
Bulk re-assigning all of Eric's HTMLFrame bugs to John.
Assignee: eric → jkeiser
Moving to mozilla1.1. Engineers are overloaded!
Target Milestone: mozilla1.0 → mozilla1.1
Keywords: testcase
retargeting
Target Milestone: mozilla1.1alpha → Future
roc, is this still a problem now that frames defaul to transparent?
The transparent background color has improved things dramatically in those cases where transparency has an effect. However, the problem still remains in other cases where there is nothing for transparency to be based on e.g. when you load a frameset into a new window. In such cases, there would be two options: a) Support a bgcolor attribute in the frame tag b) Support a bgcolor attribute in the window.open() function and have the frameset inherit from that new window color.
The thing to do is to make <FRAME>s transparent and then set a background color on the main document. Actually, I think that works already... I'll attach a testcase.
Attached file testcase
Given that this works, I think we should close this bug.
Interesting code. It certainly covers this bug entirely and I agree that it should be closed. However, on the practical side it cannot eliminate any flicker that is caused by the network delay between opening a window and loading the document. How should a new browser window know what the color of a document is that has not yet been loaded? That is why window.open() should support a bgcolor parameter. Please refer to bug 45363 for this.
Status: NEW → RESOLVED
Closed: 24 years ago21 years ago
Resolution: --- → WORKSFORME
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

Creator:
Created:
Updated:
Size: