Camino only - Bug 350732: Fix page truncation when going back from a page with a blocked popup. r=murph sr=pink

git-svn-id: svn://10.0.0.236/trunk@223987 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
stuart.morgan%alumni.case.edu
2007-04-01 22:45:43 +00:00
parent f0a8c86ede
commit 2cca9067c4

View File

@@ -311,6 +311,11 @@ enum {
}
}
- (void)reapplyFrame
{
[self setFrame:[self frame] resizingBrowserViewIfHidden:YES];
}
- (void)setBrowserActive:(BOOL)inActive
{
[mBrowserView setActive:inActive];
@@ -554,7 +559,14 @@ enum {
if (newPage)
{
// defer hiding of blocked popup view until we've loaded the new page
[self removeBlockedPopupViewAndDisplay];
if (mBlockedPopupView) {
[self removeBlockedPopupViewAndDisplay];
// If we are being called from within a history navigation, then core code
// has already stored our old size, and will incorrectly truncate the page
// later (see bug 350752, and the XXXbryner comment in nsDocShell.cpp). To
// work around that, re-set the frame once core is done meddling.
[self performSelector:@selector(reapplyFrame) withObject:nil afterDelay:0];
}
if(mBlockedPopups)
mBlockedPopups->Clear();
[mDelegate showPopupBlocked:NO];