From e14232c54a1445a3c827e93f9be967d047cfc8fa Mon Sep 17 00:00:00 2001 From: "pollmann%netscape.com" Date: Wed, 18 Jul 2001 08:23:57 +0000 Subject: [PATCH] Bug 43410: Correct z-index ordering of iframes. Passing in initdata that tells the widget it needs to clip sibling and child widgets prevents overlapping iframes from painting on top of one another. Fix includes work by beard@netscape.com. r=beard@netscape.com,self sr=jst@netscape.com --- layout/generic/nsFrameFrame.cpp | 7 ++++++- layout/html/document/src/nsFrameFrame.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/layout/generic/nsFrameFrame.cpp b/layout/generic/nsFrameFrame.cpp index 549b461d464c..919253477554 100644 --- a/layout/generic/nsFrameFrame.cpp +++ b/layout/generic/nsFrameFrame.cpp @@ -1053,7 +1053,12 @@ nsHTMLFrameInnerFrame::CreateDocShell(nsIPresContext* aPresContext, presShell->GetViewManager(getter_AddRefs(viewMan)); rv = view->Init(viewMan, viewBounds, parView); viewMan->InsertChild(parView, view, 0); - rv = view->CreateWidget(kCChildCID); + + nsWidgetInitData initData; + initData.clipChildren = PR_TRUE; + initData.clipSiblings = PR_TRUE; + + rv = view->CreateWidget(kCChildCID, &initData); SetView(aPresContext, view); // if the visibility is hidden, reflect that in the view diff --git a/layout/html/document/src/nsFrameFrame.cpp b/layout/html/document/src/nsFrameFrame.cpp index 549b461d464c..919253477554 100644 --- a/layout/html/document/src/nsFrameFrame.cpp +++ b/layout/html/document/src/nsFrameFrame.cpp @@ -1053,7 +1053,12 @@ nsHTMLFrameInnerFrame::CreateDocShell(nsIPresContext* aPresContext, presShell->GetViewManager(getter_AddRefs(viewMan)); rv = view->Init(viewMan, viewBounds, parView); viewMan->InsertChild(parView, view, 0); - rv = view->CreateWidget(kCChildCID); + + nsWidgetInitData initData; + initData.clipChildren = PR_TRUE; + initData.clipSiblings = PR_TRUE; + + rv = view->CreateWidget(kCChildCID, &initData); SetView(aPresContext, view); // if the visibility is hidden, reflect that in the view