Closed Bug 27602 Opened 25 years ago Closed 25 years ago

nested div not clipping, trashing screen

Categories

(Core :: Layout, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 11660

People

(Reporter: crawdad, Assigned: beard)

References

()

Details

1 - Nest div-boxes. 2 - Move child-divbox past parent's border.. 3 - Child divbox should clip. In M-13, child remains visible, and produces terrible screen-garbage. ex_css1.html contains all needed to cause prob, no extern.. (works fine in IE-5) (using M-13 build, NT4.0, PChardware) contact crawdad@io.com for info if needed
A cleaner version can be found at.. http://www.w3cdom.com/lab/ex_css1b.html Earlier versiuon had no doctype. Cliiping problem, Screen trashing are STILL present in clean version.
DUP of bug #11660 *** This bug has been marked as a duplicate of 11660 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
I do not believe this BUG is a duplicate of 11660... the main gist of the report is the SCREEN GARBAGE produced at the listed URL... 1- go to the isted URL http://www.w3cdom.com/lab/ex_css1b.html 2- click button till child is completely outside parent 3 - NOTE SCREEN GARBAGE in uninvolved regions (if you see no screen trash, minimize then restore...)... Mozilla is consistently reproducing the top of the GUI inside the client area, where it doesn't belong. This is NOT a "feature issue" but serious screen corruption. (if you see no screen trash, minimize then restore...)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Changing component to view manager. I think this is a bug of 11660, but I'll leave that to the module owner of the compositor to diagnosis
Assignee: troy → beard
Status: REOPENED → NEW
Component: Layout → Compositor
This is a layout bug: when div id="three" is moved by the DOM, the values passed to nsIView::SetClip are always (left=0, right=2010, top=0, bottom=2010), so the overflow clipping isn't being computed correctly. There's currently a bug in the way clipping is being interpreted in nsView.cpp, which I've fixed in my tree, but that's not the actual problem. Here's the diff for that: Index: mozilla/view/src/nsView.cpp =================================================================== RCS file: /cvsroot/mozilla/view/src/nsView.cpp,v retrieving revision 3.114 diff -r3.114 nsView.cpp 276c276 < if ((mClip.mLeft != 0) && (mClip.mRight != 0) && (mClip.mTop != 0) && (mClip.mBottom != 0)) { --- > if ((mClip.mLeft != mClip.mRight) && (mClip.mTop != mClip.mBottom)) { 975c975 < if ((mClip.mLeft == 0) && (mClip.mRight == 0) && (mClip.mTop == 0) && (mClip.mBottom == 0)) --- > if ((mClip.mLeft == mClip.mRight) || (mClip.mTop == mClip.mBottom)) { 977c977 < else { --- > } else {
Assignee: beard → troy
Component: Compositor → Layout
No, it's irrelevant what the clip is set to for div id="three". The issue is that once div id="three" moves outside of its parent's box (div id="bottom"), then it should be clipped by its parent. Are you saying that as div id="three" moves the clip values specified by div id="bottom" changes? I assume not. The issue is whether the compositor is clipping child views. If it is and the clip for div id="bottom" is being set correctly by layout, then once div id="three" moves outside of its parent's bounding rect then the part that extends outside should get clipped
Assignee: troy → beard
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → DUPLICATE
Yes, this really is a duplicate of #11660. *** This bug has been marked as a duplicate of 11660 ***
Marking verified dup of 11660.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.