Closed
Bug 2421
Opened 26 years ago
Closed 26 years ago
Content of frames in framesets not redrawn on minimize/restore
Categories
(Core :: Layout: Images, Video, and HTML Frames, defect, P3)
Tracking
()
VERIFIED
WONTFIX
M11
People
(Reporter: jst, Assigned: beard)
References
()
Details
(Whiteboard: Windows is weird, doesn't refresh child windows on unminimize)
Open
--- frameset.html
<html>
<frameset cols="*,*">
<frame name="f1" src="hello.html" scrolling="auto">
<frame name="f2" src="hello.html" scrolling="auto">
</frameset>
</html>
---
--- hello.html
<html>
<body>
<p>Hello</p>
</body>
</html>
---
and minimize and restore the window (viewer.exe). The frameset is drawn
(the bar in the middle of the doc) but the content in the frames aren't drawn
until the window is sent a redraw (cover/uncover the window).
Comment 4•26 years ago
|
||
updating......
reproducible on WinNT and Win98 99032
never/not a problem on MacMonkey 99032 or Linux 99033
Updated•26 years ago
|
QA Contact: 4130
Updated•26 years ago
|
Assignee: karnaze → kmcclusk
Comment 6•26 years ago
|
||
Kevin and I looked at this and discovered that nsWebShell::Repaint does not
appear to do anything useful. When this is fixed, the widget library needs to be
changed so that a viewport resize does not propogate to the windows of the sub
documents. When a sub document's window gets the resize, a reflow is initiated
on the sub documents root frame. This will need to stop, since the viewport
resize should initiate a reflow that will propogate to the sub documents. But of
course this won't happend until nsWebShell::Repaint is fixed.
Kevin, please talk to Nisheeth and/or Michael about this. Part of this problem
is Nisheeth's, since he is taking over nsWebShell.
Updated•26 years ago
|
Status: NEW → ASSIGNED
Updated•26 years ago
|
Target Milestone: M4 → M5
Updated•26 years ago
|
Target Milestone: M5 → M7
Updated•26 years ago
|
Target Milestone: M7 → M8
Updated•26 years ago
|
Assignee: kmcclusk → beard
Status: ASSIGNED → NEW
Comment 7•26 years ago
|
||
This requires a new functionality in the view manager. I tried rewriting the
nsWebshell::Repaint as follows:
if (mContentViewer) {
nsIDocumentViewer* docv = nsnull;
mContentViewer->QueryInterface(kIDocumentViewerIID, (void**) &docv);
if (nsnull != docv) {
nsIPresContext* cx = nsnull;
docv->GetPresContext(cx);
if (nsnull != cx) {
nsIPresShell *shell = nsnull;
cx->GetShell(&shell);
if (nsnull != shell) {
nsIViewManager *vm = nsnull;
shell->GetViewManager(&vm);
if (nsnull != vm) {
nsIView *rootview = nsnull;
vm->GetRootView(rootview);
if (nsnull != rootview) {
vm->UpdateView(rootview, nsnull, NS_VMREFRESH_IMMEDIATE);
}
NS_RELEASE(vm);
}
NS_RELEASE(shell);
}
NS_RELEASE(cx);
}
NS_RELEASE(docv);
}
}
The call to
vm->UpdateView(rootview, nsnull, NS_VMREFRESH_IMMEDIATE);
is not adequate.
We need a new method on the view manager which walks down the view manager tree
and invalidates any view which as a widget. The invalidation of the widget will
cause it to be repainted. The nsViewManager:UpdateView doesn't seem to get to
iframe views.
A better example is test9.html. Bring it up in the viewer, scroll the top frame
down a little so you can see example1 and example2 iframes. Minimize the window,
than restore it. You will notice that none of the frames are refreshed. If you
add the code above the frames in the frameset are repainted, but the iframes
are not repainted.
Patrick, I'm re-assigning to you, This looks like a view manager issue. I think
we need a public method similar to the UpdateDirtyViews private method.
UpdateDirtyViews may work as is, simply make it a public method and call it
instead of the UpdateView above.
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 8•26 years ago
|
||
I don't see any problems on today's build. Has this been looked at recently?
Comment 9•26 years ago
|
||
I have been unable to reproduce it on WinNT after trying the last two days. I got the sense though that kmcclusk did so recently
when those comments were made on 6/16. I could be missing something.
Reporter | ||
Comment 10•26 years ago
|
||
Apprunner (on WinNT) doesn't have this problem any more but I still see the
problem in viewer...
Comment 11•26 years ago
|
||
moving to m9. beard's on vacation
Assignee | ||
Updated•26 years ago
|
Whiteboard: Windows is weird, doesn't refresh child windows on unminimize
Assignee | ||
Updated•26 years ago
|
Target Milestone: M9 → M11
Assignee | ||
Comment 12•26 years ago
|
||
Since this only happens in viewer, it's definitely getting pushed back. I'm
tempted to mark this as WONTFIX.
Assignee | ||
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → WONTFIX
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 13•26 years ago
|
||
OK, marking VERIFIED
Updated•6 years ago
|
Product: Core → Core Graveyard
Updated•6 years ago
|
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.
Description
•