Closed Bug 10503 Opened 26 years ago Closed 26 years ago

[DOGFOOD] [blocker] Overlappng views with native windows clip each other

Categories

(Core :: Web Painting, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: rods, Assigned: rods)

References

Details

(Whiteboard: [PDT+])

Attachments

(1 file)

When rendering, scrollbars substract their current region from the clip rect thus causing to "clip out" a region in higher level view. This is a blocker bug for xp menus and for the combobox. Example code: <html> <body bgcolor="#FFFFFF" text="#000000"> <form> <div id="myDiv1" style="position:absolute;z-index:1;top:10px;left:10px;background-color:gray;widt h:100px;height:75px;overflow:scroll">Hello<BR>Hello<BR>Hello<BR>Hello<BR>Hello<B R></div> <div id="myDiv2" style="position:absolute;z-index:5;top:40px;left:40px;background-color:blue;widt h:100px;height:75px;overflow:scroll">Hello<BR>Hello<BR>Hello<BR>Hello<BR>Hello<B R></div> </form> </body> </html>
I am seeing a different bug in the XP menus that is preventing them from working. Maybe it's the same bug, but from the description, it doesn't sound like it. The bug I'm seeing is that if I have a popup view (e.g., one of my XP menus), and it pops up on top of an iframe (which has its own view), then everywhere that my popup view overlaps with the iframe's view, the contents of the iframe view are drawn in my popup view instead of my contents. My menus work fine when they don't overlap with another view, but since they tend to pop up over a content iframe, I need this to work. I'd be happy to demo the problem to you if you want to come by my cube (2nd floor b21 in the corner closest to Ellis and farthest from Middlefield).
Ok, maybe it is the same bug. What do I know? :)
My description may not have been as detailed as it should have been. But from what I know and from your description they are the same bug. Basically, the clip region is set up for the very top level view, then for some reason the ViewManager lets other views "below" it muck with the clip region before the drawing is done. I think the other views are in the list of updated view because the pop view is being placed over them, so it somehow thinks they need to be included in the display list. The other strange thing is that when the display list (of views) is created, the top-level view is toward the front of the list and the scrollbar views (the guys that do the unwanted clipping) come after it. Then the list is processed front to back, just as the painting is supposedly front to back. I'll state that this is some of thee most confusing code I have yet to look at, and it has zero comments as to what is suppose to go on. The ScratchPoint is involved in this whole problem which is really just a flag for identifying a part of a view sub-tree are the root for some other view.
Status: NEW → ASSIGNED
Target Milestone: M11
Severity: normal → blocker
New info: Check out the mail wizard. If a combobox is directly above a text field the text field clips out the dropdown. (maybe the description should be changed because it doesn't have to do with just scrollbars anymore) This has to be fixed for beta.
*** Bug 13703 has been marked as a duplicate of this bug. ***
Blocks: 12069
The main problem observable in the test case is that the specified z-index doesn't seem to affect the apparent z-ordering of the widgets. We probably need an additional method on nsIWidget to change sibling ordering, so that if "heavyweight" views (with associated widgets) have their z-index set, the widgets will be notified as well.
Here is a test case of z ordering problem. Grab the splitter between the iframes and drag it over the right iframe. You will notice it has random crap in it. -E
I don't see garbage, but I don't see correct drawing either. I think the problem is that you need to use nsIViewManager::SetViewZIndex() to manipulate a view's z-order after the fact. In addition, since you want to appear over other scrolling views, you'll probably need a widget of your own.
Summary: [blocker] Views do not clip scrollbars correctly → [blocker] Overlappng views with native windows clip each other
Changing description so less duplicate bugs are filed
*** Bug 14230 has been marked as a duplicate of this bug. ***
Blocks: 14296
When this bug is fixed I want to check bug# 14296.
*** Bug 14319 has been marked as a duplicate of this bug. ***
Blocks: 11091
adding myself to cc: list
*** Bug 14643 has been marked as a duplicate of this bug. ***
*** Bug 14296 has been marked as a duplicate of this bug. ***
I have introduced nsIWidget::SetZIndex() to deal with widget ordering. This is implemented in nsBaseWidget, which is sufficient for the Mac, but work will have to be done on UNIX and Windows to achieve parity.
*** Bug 14829 has been marked as a duplicate of this bug. ***
QA Contact: beppe → claudius
Summary: [blocker] Overlappng views with native windows clip each other → [DOGFOOD] [blocker] Overlappng views with native windows clip each other
I'm going to mark this Dogfood since this affects mail dialogs (see duplicate bugs for specific cases)
Whiteboard: [PDT+]
I've tried most of the test cases on WINNT and this bug appears to be fixed. Need to confirm that there isn't a problem on Linux, or Mac
I debugged this on the Mac, so I'd guess, Linux should be checked.
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
lets mark it fixed to get it on the testing radar. leger/claudius, can you have this checked out on linux? pav, can you check this out? reopen if there still is a problemo
Status: RESOLVED → REOPENED
I'm not 100% sure what I'm looking for here or trying to reproduce but at the very least the original testcase submitted by rods does not work properly on WinNT with the 1999112208 builds. The scrollbars on the bottom box show through the content of the topmost box. This does not happen on MacOS or linux w/the same builds. I am REOPENING now and will investigate more.
Resolution: FIXED → ---
Clearing Fixed resolution due to reopen.
Moving from M11 to M12 since M11 is outta here.
Target Milestone: M11 → M12
Assignee: beard → rods
Status: REOPENED → NEW
claudius please check with rods for testcase. rods, would you say this is fixed?
Status: NEW → RESOLVED
Closed: 26 years ago26 years ago
Resolution: --- → FIXED
I tested it, it looks like it works now.
Status: RESOLVED → VERIFIED
thanks rod, marking verified per reporter
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: