+2007-08-17 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - WebCore part of fix to scrollbar suppression hack for Leopard
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::transitionToCommitted): Suppress scrollbars earlier, so it happens
+ before any potential view swap.
+
2007-08-17 Antti Koivisto <antti@apple.com>
Reviewed by Hyatt.
case FrameLoadTypeStandard:
updateHistoryForStandardLoad();
+ if (m_frame->view())
+ m_frame->view()->suppressScrollbars(true);
m_client->makeDocumentView();
break;
+2007-08-17 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - WebKit part of fix to scrollbar suppression hack for Leopard
+
+ * WebView/WebDynamicScrollBarsView.m:
+ (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method
+ when scrollbars are suppressed.
+ (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it
+ here, when unsuppressing.
+
2007-08-17 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- (void)setScrollBarsSuppressed:(BOOL)suppressed repaintOnUnsuppress:(BOOL)repaint
{
suppressScrollers = suppressed;
- if (suppressed || repaint) {
- [[self verticalScroller] setNeedsDisplay: !suppressed];
- [[self horizontalScroller] setNeedsDisplay: !suppressed];
+ if (suppressed) {
+ [[self verticalScroller] setNeedsDisplay:NO];
+ [[self horizontalScroller] setNeedsDisplay:NO];
}
+
+ if (!suppressed && repaint)
+ [super reflectScrolledClipView:[self contentView]];
}
- (void)updateScrollers
if (!inUpdateScrollers && [[NSGraphicsContext currentContext] isDrawingToScreen])
[self updateScrollers];
}
- [super reflectScrolledClipView:clipView];
- // Validate the scrollers if they're being suppressed.
- if (suppressScrollers) {
- [[self verticalScroller] setNeedsDisplay: NO];
- [[self horizontalScroller] setNeedsDisplay: NO];
- }
+ // Update the scrollers if they're not being suppressed.
+ if (!suppressScrollers)
+ [super reflectScrolledClipView:clipView];
}
- (void)setAllowsScrolling:(BOOL)flag