iframes with their CSS set to "display:none" are not included in the frames
array but should be.
* STEPS TO REPRODUCE
1. open testcase
2. Note that it displays "1"
3. Edit testcase to remove 'style="display:none"'.
4. Reload testcase.
5. Note that it now displays "2".
There are two iframes in the HTML, but only one appears in the frames array.
* EXPECTED RESULTS
Both iframes should appear in the frames array, even if one is set to
"display:none". Such is the case in Firefox.
Created attachment 2410 [details]
I see this issue on Safari 2.0 (v412) and TOT WebKit under 10.4.1(8B15). I have attached a screen shot of
what is displayed under Safari 2.0 and Firefox 1.0.4.
Created attachment 2440 [details]
Screen shot of Safari rendering this test case
Created attachment 2441 [details]
Screen shot of Mac Firefox 1.0.4 rendering this test case
This bug may be related to (or the root cause of) Bug 6926 and Bug 7237.
*** Bug 8976 has been marked as a duplicate of this bug. ***
*** Bug 9277 has been marked as a duplicate of this bug. ***
Another manifestation of this caused me several hours of headaches on our site:
<iframe id="iframe" name="iframe" src=""></iframe>
<input type="submit" onclick="document.getElementById('test').style.display='none'"/>
The effect of the above code, is that instead of submitting the form in the iframe, the user is assaulted by a new window! :(
we don't actually create Frame objects for frame nodes that don't have renderers. We probably need to start doing that so frame's with display:none get appended to the FrameTree. Or we could find another way to use the FrameArray in JS without using the FrameTree. I'm not entirely sure how well that would work though.
Created attachment 9210 [details]
Comment on attachment 9210 [details]
This introduces crashes
Created attachment 9215 [details]
Created attachment 9216 [details]
Patch without tabs
Comment on attachment 9216 [details]
Patch without tabs
Committed in r15170
Sweet, thanks for the fix. When should we look for a Safari release with this fix?
(In reply to comment #17)
> Sweet, thanks for the fix. When should we look for a Safari release with this
Apple doesn't comment on unreleased software, but if I had to guess, it would be Mac OS X 10.5 (Leopard). Note that I am not an Apple engineer, nor am I employed by Apple.
Yeah, that was my guess, too. Pity if true.