Closed Bug 124507 Opened 24 years ago Closed 23 years ago

Border does not display when hidden iframe becomes visible

Categories

(Core :: DOM: Core & HTML, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla1.0.1

People

(Reporter: kirkpp, Assigned: john)

References

Details

(Keywords: topembed+, Whiteboard: [DIGBug] [ADT2 rtm])

Attachments

(4 files, 4 obsolete files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.8) Gecko/20020204 BuildID: 2002020406 A hidden IFrame doesn't display it's border, until after you've done a refresh. Reproducible: Always Steps to Reproduce: 1.Load the attached "ns6 refresh bug 1.htm" page and notice that the border of the iFrame is not visible. 2. Resize the window, and notice the iFrame border becomes visible. Actual Results: 1.Load the attached "ns6 refresh bug 1.htm" page and notice that the border of the iFrame is not visible. 2. Resize the window, and notice the iFrame border becomes visible. Expected Results: 1.Load the attached "ns6 refresh bug 1.htm" page and the iFrame border should be immediately visible.
Attached file Corrected iFrame test exhibiting bug (obsolete) —
Attachment #68653 - Attachment is obsolete: true
Attached file Corrected iFrame test exhibiting bug (obsolete) —
Hopefully I got it right, this time.
Attachment #68655 - Attachment is obsolete: true
Try again :(
Attachment #68657 - Attachment is obsolete: true
The border becomes visible after resizing or selecting the text in the iframe. Setting proirity to P4.
Priority: -- → P4
Not a DOM problem, over to jkeiser since he's working on frame/iframe issues now.
Assignee: jst → jkeiser
OS: Windows 2000 → All
Hardware: PC → All
Whiteboard: [DIGBug]
Summary: Hidden IFrame Doesn't Display Border → Border does not display when hidden iframe becomes visible
Target Milestone: --- → mozilla1.2
I think this should be marked as higher than P4. Any web site/app which alternately hides/shows IFRAMEs will encounter this bug frequently, and with substantial negative effect. It really makes IFRAMEs look down right lousy in Mozilla, if you're doing DHTML apps.
Priority: P4 → P2
Nominating for nsbeta1 and topembed. Changing to major/ADT2 because this causes isseus for DHMTL developers wanting to hide iFrames. Dialogs do not look good without borders, in the context of rendering a fundamental element of the browser. this impacts the way DHTML developers are going to regard MachV.
Severity: normal → major
Keywords: nsbeta1, topembed
Whiteboard: [DIGBug] → [DIGBug] [ADT2]
Looks like an invalidation problem. Dragging another window over the browser window causes the border to be displayed.
nsbeta1+
Keywords: nsbeta1nsbeta1+
Target Milestone: mozilla1.2alpha → mozilla1.0
Keywords: topembedtopembed+
Attached patch Patch (obsolete) — Splinter Review
This patch fixes the bug. The problem is the frame itself is not being invalidated, only the DocShell underneath. If a frame's Reflow method is responsible for invalidating itself, as I have been told, this is the correct fix. However, I am not convinced that this is the case, as I haven't found any reflow methods that *do* invalidate the frame. Also it makes more sense to me that the caller invalidate the frame, as it can generate fewer invalidate calls to invalidate a wider area encompassing all children. But if I can't get an answer on that one soon, this patch should do ya good enough for 1.0 (wallpaper you want, wallpaper you get).
Status: NEW → ASSIGNED
Blocks: 65566
Blocks: 103128
Attached patch Patch v2.0Splinter Review
This patch is better, more surgical. The other one would have caused unnecessary paints. This one pulls the invalidation logic out of nsBlockFrame and puts it in its own function in nsHTMLContainer (the nearest HTML-specific common ancestor), which nsFrameOuterFrame then uses. The logic is unaltered but it looks somewhat different structurally because I had to determine if this was a style change within the function instead of using a PRBool that was being set in the function. nsFieldSetFrame needs to do this as well (it has the same sort of error), but I am saving that for now because having this bug in there causes other fieldset invalidation bugs to be exposed. bug 65566 and bug 103128 are likely candidates to be fixed by it.
Attachment #80913 - Attachment is obsolete: true
InvalidateBorder doesn't need to return an nsresult, don't add COM baloney where it's not needed. :-) Other than that, r=waterson.
Comment on attachment 81214 [details] [diff] [review] Patch v2.0 I noticed this, which you will want to address: \ No newline at end of file Also, should InvalidateBorder be called MaybeInvalidateBorder, or InvalideBorderIfRequired? sr=attinasi
Per email exchange with Marc, calling it CheckInvalidateBorder().
Fix checked in last night.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Keywords: adt1.0.0
Resolution: --- → FIXED
Comment on attachment 81214 [details] [diff] [review] Patch v2.0 a=chofmann for the 1.0 branch
Attachment #81214 - Flags: superreview+
Attachment #81214 - Flags: review+
Attachment #81214 - Flags: approval+
adding adt1.0.0-. Let's get this for rtm.
Keywords: adt1.0.0adt1.0.0-
Whiteboard: [DIGBug] [ADT2] → [DIGBug] [ADT2 rtm]
This may need a refresh a= from Drivers as this was approved by them on 04/28. Renominating for adt1.0.0 for the 1.0 branch.
Blocks: 143047
Keywords: adt1.0.0-adt1.0.0
Let's get this verified on the trunk before considering it for checkin to the branch.
stummala@netscape.com: Can you verify this on the trunk? thanks.
stummala, could you take a look at this on the trunk?
I'm covering DOM area for stummala who is on medical leave. Sorry it took me sometime to get to this bug, since bugs under stummala were under process of assignment. I tested this one 2002-052108-trunk & everything seems working fine. Border does display when hidden iframe becomes visible. Marking this one verified.
Status: RESOLVED → VERIFIED
adding adt1.0.0+. Please get drivers approval again since it's been more than 3 days and then check into the 1.0 branch.
Keywords: adt1.0.0adt1.0.0+
changing to adt1.0.1+ for checkin to the 1.0 branch. Please get drivers approval before checking in.
Keywords: adt1.0.0+adt1.0.1+
re-approved for 1.0.1 please check into the 1.0.1 branch ASAP. once landed remove the mozilla1.0.1+ keyword and add the fixed1.0.1 keyword
Keywords: mozilla1.0.1+
Target Milestone: mozilla1.0 → mozilla1.0.1
checked in to branch 5/31. I just noticed something on trunk though, I committed some debug code that causes us to invalidate more :( Patch forthcoming.
Keywords: fixed1.0.1
This removes the extra debug code I committed to trunk. It is unnecessary (though harmless) and is already handled by CheckInvalidateBorder().
Comment on attachment 85971 [details] [diff] [review] Trunk Correction Patch r=bernd
Attachment #85971 - Flags: review+
Keywords: mozilla1.0.1+
verified on win32 and linux 07-10-07-1.0 branch
Keywords: verified1.0.1
Component: DOM: HTML → DOM: Core & HTML
QA Contact: stummala → general
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: