Bug 68012: Allow frames in a frameset to be manually resized by dragging the border. This is accomplished by changing the reflow from a ResizeReflow, which was blocked by block to box adapter optimizations as the window had not changed size, to a ReflowDirtyChild. r=jst@netscape.com, sr=attinasi@netscape.com, a=drivers@mozilla.org (blizzard)

This commit is contained in:
pollmann%netscape.com 2001-06-19 08:29:13 +00:00
parent b107830d2d
commit cfa0ec9b73
2 changed files with 26 additions and 2 deletions

View File

@ -1550,9 +1550,21 @@ nsHTMLFramesetFrame::MouseDrag(nsIPresContext* aPresContext,
if (change != 0) {
mDrag.Reset(mDragger->mVertical, mDragger->mPrevNeighbor, change, this);
nsIFrame* parentFrame = nsnull;
GetParent((nsIFrame**)&parentFrame);
if (!parentFrame) {
return;
}
nsCOMPtr<nsIPresShell> shell;
aPresContext->GetShell(getter_AddRefs(shell));
shell->ResizeReflow(mTopLevelFrameset->mRect.width, mTopLevelFrameset->mRect.height);
if (!shell) {
return;
}
parentFrame->ReflowDirtyChild(shell, this);
// Update the view immediately (make drag appear snappier)
nsCOMPtr<nsIViewManager> vm;
shell->GetViewManager(getter_AddRefs(vm));
if (vm) {

View File

@ -1550,9 +1550,21 @@ nsHTMLFramesetFrame::MouseDrag(nsIPresContext* aPresContext,
if (change != 0) {
mDrag.Reset(mDragger->mVertical, mDragger->mPrevNeighbor, change, this);
nsIFrame* parentFrame = nsnull;
GetParent((nsIFrame**)&parentFrame);
if (!parentFrame) {
return;
}
nsCOMPtr<nsIPresShell> shell;
aPresContext->GetShell(getter_AddRefs(shell));
shell->ResizeReflow(mTopLevelFrameset->mRect.width, mTopLevelFrameset->mRect.height);
if (!shell) {
return;
}
parentFrame->ReflowDirtyChild(shell, this);
// Update the view immediately (make drag appear snappier)
nsCOMPtr<nsIViewManager> vm;
shell->GetViewManager(getter_AddRefs(vm));
if (vm) {