[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
rjw
rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:18:38 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 595f51b41aeb241c243c2aa8259bc39220dec868
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jan 3 19:21:38 2003 +0000
Fix to 3131226. Don't force a layout when the document view is set
on the page's scrollview. A layout would occur indirectly as a result
of reflectScrolledClipView: being called when the document view
was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync
at this point and a layout would have unintended and incorrect
side effects.
Reviewed by Darin (and tested by John).
* WebView.subproj/WebDynamicScrollBarsView.h:
* WebView.subproj/WebDynamicScrollBarsView.m:
(-[WebDynamicScrollBarsView updateScrollers]):
* WebView.subproj/WebViewPrivate.m:
(-[WebView _setDocumentView:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 0cf5123..d541e20 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,20 @@
+2003-01-03 Richard Williamson <rjw at apple.com>
+
+ Fix to 3131226. Don't force a layout when the document view is set
+ on the page's scrollview. A layout would occur indirectly as a result
+ of reflectScrolledClipView: being called when the document view
+ was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync
+ at this point and a layout would have unintended and incorrect
+ side effects.
+
+ Reviewed by Darin (and tested by John).
+
+ * WebView.subproj/WebDynamicScrollBarsView.h:
+ * WebView.subproj/WebDynamicScrollBarsView.m:
+ (-[WebDynamicScrollBarsView updateScrollers]):
+ * WebView.subproj/WebViewPrivate.m:
+ (-[WebView _setDocumentView:]):
+
=== Alexander-48 ===
2003-01-02 Richard Williamson <rjw at apple.com>
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.h b/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
index 43891ea..dd8f65b 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
@@ -17,10 +17,11 @@
{
NSCursor *cursor;
BOOL disallowsScrolling;
+ BOOL suppressLayout;
}
- (void)setAllowsScrolling:(BOOL)flag;
- (BOOL)allowsScrolling;
- (void)updateScrollers;
-
+- (void)setSuppressLayout: (BOOL)flag;
@end
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
index fd4a679..e8d314b 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
@@ -13,6 +13,11 @@
@implementation WebDynamicScrollBarsView
+- (void)setSuppressLayout: (BOOL)flag;
+{
+ suppressLayout = flag;
+}
+
- (void)updateScrollers
{
// We need to do the work below twice in the case where a scroll bar disappears,
@@ -27,6 +32,9 @@
BOOL oldHasVertical = hasVerticalScroller;
BOOL oldHasHorizontal = hasHorizontalScroller;
+ if (suppressLayout)
+ return;
+
for (pass = 0; pass < 2; pass++) {
BOOL scrollsVertically;
BOOL scrollsHorizontally;
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index e12a493..e965dc9 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -66,7 +66,11 @@
- (void)_setDocumentView:(id)view
{
- [[self frameScrollView] setDocumentView: view];
+ WebDynamicScrollBarsView *sv = [self frameScrollView];
+
+ [sv setSuppressLayout: YES];
+ [sv setDocumentView: view];
+ [sv setSuppressLayout: NO];
}
-(id <WebDocumentView>)_makeDocumentViewForDataSource:(WebDataSource *)dataSource
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list