[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:44:36 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 94978503a1233dfb6606299d4e76dbe27a905b85
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Sep 25 15:50:45 2002 +0000
Make the "set aside subviews" logic stronger so it can handle a display
while inside drawRect. But note, this recursive display is most likely
the cause of the redrawing problems we have while resizing, like bug 2969367.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't
leave the "views set aside" boolean set.
* WebView.subproj/WebHTMLViewPrivate.h: Add private _setAsideSubviews and _restoreSubviews methods.
* WebView.subproj/WebHTMLViewPrivate.m:
(-[WebHTMLView _setAsideSubviews]): Added.
(-[WebHTMLView _restoreSubviews]): Added.
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
Use the new _setAsideSubviews and _restoreSubviews methods.
(-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c0d48ce..0b51486 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,20 @@
+2002-09-25 Darin Adler <darin at apple.com>
+
+ Make the "set aside subviews" logic stronger so it can handle a display
+ while inside drawRect. But note, this recursive display is most likely
+ the cause of the redrawing problems we have while resizing, like bug 2969367.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't
+ leave the "views set aside" boolean set.
+ * WebView.subproj/WebHTMLViewPrivate.h: Add private _setAsideSubviews and _restoreSubviews methods.
+ * WebView.subproj/WebHTMLViewPrivate.m:
+ (-[WebHTMLView _setAsideSubviews]): Added.
+ (-[WebHTMLView _restoreSubviews]): Added.
+ (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Use the new _setAsideSubviews and _restoreSubviews methods.
+ (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
+
2002-09-25 Ken Kocienda <kocienda at apple.com>
Removed this method from WebResourceHandle:
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index c0d48ce..0b51486 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,20 @@
+2002-09-25 Darin Adler <darin at apple.com>
+
+ Make the "set aside subviews" logic stronger so it can handle a display
+ while inside drawRect. But note, this recursive display is most likely
+ the cause of the redrawing problems we have while resizing, like bug 2969367.
+
+ * WebView.subproj/WebHTMLView.m:
+ (-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't
+ leave the "views set aside" boolean set.
+ * WebView.subproj/WebHTMLViewPrivate.h: Add private _setAsideSubviews and _restoreSubviews methods.
+ * WebView.subproj/WebHTMLViewPrivate.m:
+ (-[WebHTMLView _setAsideSubviews]): Added.
+ (-[WebHTMLView _restoreSubviews]): Added.
+ (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Use the new _setAsideSubviews and _restoreSubviews methods.
+ (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
+
2002-09-25 Ken Kocienda <kocienda at apple.com>
Removed this method from WebResourceHandle:
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index 1e0fcb8..bf8041b 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -338,10 +338,9 @@
{
LOG(View, "%@ drawing", self);
- if (_private->savedSubviews) {
- ASSERT(_subviews == nil);
- _subviews = _private->savedSubviews;
- _private->savedSubviews = nil;
+ BOOL subviewsWereSetAside = _private->subviewsSetAside;
+ if (subviewsWereSetAside) {
+ [self _restoreSubviews];
}
if ([self inLiveResize]) {
@@ -403,10 +402,8 @@
LOG(Timing, "%s draw seconds = %f", widget->part()->baseURL().URL().latin1(), thisTime);
#endif
- if (_private->subviewsSetAside) {
- ASSERT(_private->savedSubviews == nil);
- _private->savedSubviews = _subviews;
- _subviews = nil;
+ if (subviewsWereSetAside) {
+ [self _setAsideSubviews];
}
}
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.h b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
index f7b3839..bd60b55 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.h
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
@@ -43,4 +43,8 @@
+ (void)_postFlagsChangedEvent:(NSEvent *)flagsChangedEvent;
- (NSDictionary *)_elementAtPoint:(NSPoint)point;
- (BOOL)_continueAfterClickPolicyForEvent: (NSEvent *)event;
+
+- (void)_setAsideSubviews;
+- (void)_restoreSubviews;
+
@end
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index ba368d9..761adde 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -167,20 +167,18 @@ BOOL _modifierTrackingEnabled = FALSE;
return NO;
}
-// Don't let AppKit even draw subviews. We take care of that.
-- (void)_recursiveDisplayRectIfNeededIgnoringOpacity:(NSRect)rect isVisibleRect:(BOOL)isVisibleRect rectIsVisibleRectForView:(NSView *)visibleView topView:(BOOL)topView
+- (void)_setAsideSubviews
{
- [_subviews makeObjectsPerformSelector:@selector(_web_propagateDirtyRectToAncestor)];
-
ASSERT(!_private->subviewsSetAside);
ASSERT(_private->savedSubviews == nil);
_private->savedSubviews = _subviews;
_subviews = nil;
_private->subviewsSetAside = YES;
-
- [super _recursiveDisplayRectIfNeededIgnoringOpacity:rect isVisibleRect:isVisibleRect
- rectIsVisibleRectForView:visibleView topView:topView];
-
+ }
+
+ - (void)_restoreSubviews
+ {
+ ASSERT(_private->subviewsSetAside);
ASSERT(_subviews == nil);
_subviews = _private->savedSubviews;
_private->savedSubviews = nil;
@@ -188,27 +186,29 @@ BOOL _modifierTrackingEnabled = FALSE;
}
// Don't let AppKit even draw subviews. We take care of that.
+- (void)_recursiveDisplayRectIfNeededIgnoringOpacity:(NSRect)rect isVisibleRect:(BOOL)isVisibleRect rectIsVisibleRectForView:(NSView *)visibleView topView:(BOOL)topView
+{
+ [_subviews makeObjectsPerformSelector:@selector(_web_propagateDirtyRectToAncestor)];
+ [self _setAsideSubviews];
+ [super _recursiveDisplayRectIfNeededIgnoringOpacity:rect isVisibleRect:isVisibleRect
+ rectIsVisibleRectForView:visibleView topView:topView];
+ [self _restoreSubviews];
+}
+
+// Don't let AppKit even draw subviews. We take care of that.
- (void)_recursiveDisplayAllDirtyWithLockFocus:(BOOL)needsLockFocus visRect:(NSRect)visRect
{
- BOOL setAsideSubviews = !_private->subviewsSetAside;
+ BOOL needToSetAsideSubviews = !_private->subviewsSetAside;
- if (setAsideSubviews) {
+ if (needToSetAsideSubviews) {
[_subviews makeObjectsPerformSelector:@selector(_web_propagateDirtyRectToAncestor)];
-
- ASSERT(!_private->subviewsSetAside);
- ASSERT(_private->savedSubviews == nil);
- _private->savedSubviews = _subviews;
- _subviews = nil;
- _private->subviewsSetAside = YES;
+ [self _setAsideSubviews];
}
[super _recursiveDisplayAllDirtyWithLockFocus:needsLockFocus visRect:visRect];
- if (setAsideSubviews) {
- ASSERT(_subviews == nil);
- _subviews = _private->savedSubviews;
- _private->savedSubviews = nil;
- _private->subviewsSetAside = NO;
+ if (needToSetAsideSubviews) {
+ [self _restoreSubviews];
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list