[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:51:00 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 7774bb7f1871063352cfc0802290bb5611f362aa
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 18 06:40:41 2002 +0000

    	A small change that eliminates a variety of strange clipping problems, including ones that
    	make large swathes of the page disappear.
    
            * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
            * WebView.subproj/WebClipView.m:
            (-[WebClipView resetAdditionalClip]): Add an assertion.
            (-[WebClipView setAdditionalClip:]): Ditto.
            (-[WebClipView hasAdditionalClip]): Added.
            (-[WebClipView additionalClip]): Added.
    
            * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
    	Turn off the additional clip while computing our visibleRect. This way, the additional
    	clip only affects people who ask for the clip view's visibleRect directly, which basically
    	means just the focus rectangle drawing code we are trying to influence.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2364 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 3d6e813..5693289 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,20 @@
+2002-10-17  Darin Adler  <darin at apple.com>
+
+	A small change that eliminates a variety of strange clipping problems, including ones that
+	make large swathes of the page disappear.
+
+        * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
+        * WebView.subproj/WebClipView.m:
+        (-[WebClipView resetAdditionalClip]): Add an assertion.
+        (-[WebClipView setAdditionalClip:]): Ditto.
+        (-[WebClipView hasAdditionalClip]): Added.
+        (-[WebClipView additionalClip]): Added.
+
+        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
+	Turn off the additional clip while computing our visibleRect. This way, the additional
+	clip only affects people who ask for the clip view's visibleRect directly, which basically
+	means just the focus rectangle drawing code we are trying to influence.
+
 2002-10-17  Richard Williamson  <rjw at apple.com>
 
         Support for drawing frame borders (fixes 2982466).
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 3d6e813..5693289 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,20 @@
+2002-10-17  Darin Adler  <darin at apple.com>
+
+	A small change that eliminates a variety of strange clipping problems, including ones that
+	make large swathes of the page disappear.
+
+        * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
+        * WebView.subproj/WebClipView.m:
+        (-[WebClipView resetAdditionalClip]): Add an assertion.
+        (-[WebClipView setAdditionalClip:]): Ditto.
+        (-[WebClipView hasAdditionalClip]): Added.
+        (-[WebClipView additionalClip]): Added.
+
+        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
+	Turn off the additional clip while computing our visibleRect. This way, the additional
+	clip only affects people who ask for the clip view's visibleRect directly, which basically
+	means just the focus rectangle drawing code we are trying to influence.
+
 2002-10-17  Richard Williamson  <rjw at apple.com>
 
         Support for drawing frame borders (fixes 2982466).
diff --git a/WebKit/WebView.subproj/WebClipView.h b/WebKit/WebView.subproj/WebClipView.h
index 0021284..71fec90 100644
--- a/WebKit/WebView.subproj/WebClipView.h
+++ b/WebKit/WebView.subproj/WebClipView.h
@@ -16,5 +16,7 @@
 
 - (void)setAdditionalClip:(NSRect)additionalClip;
 - (void)resetAdditionalClip;
+- (BOOL)hasAdditionalClip;
+- (NSRect)additionalClip;
 
 @end
diff --git a/WebKit/WebView.subproj/WebClipView.m b/WebKit/WebView.subproj/WebClipView.m
index 07ee60e..0842f45 100644
--- a/WebKit/WebView.subproj/WebClipView.m
+++ b/WebKit/WebView.subproj/WebClipView.m
@@ -8,19 +8,34 @@
 
 #import "WebClipView.h"
 
+#import <WebFoundation/WebAssertions.h>
+
 @implementation WebClipView
 
 - (void)resetAdditionalClip
 {
+    ASSERT(_haveAdditionalClip);
     _haveAdditionalClip = NO;
 }
 
 - (void)setAdditionalClip:(NSRect)additionalClip
 {
+    ASSERT(!_haveAdditionalClip);
     _haveAdditionalClip = YES;
     _additionalClip = additionalClip;
 }
 
+- (BOOL)hasAdditionalClip
+{
+    return _haveAdditionalClip;
+}
+
+- (NSRect)additionalClip
+{
+    ASSERT(_haveAdditionalClip);
+    return _additionalClip;
+}
+
 - (NSRect)visibleRect
 {
     NSRect rect = [super visibleRect];
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index fb34e77..d0916fe 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -459,10 +459,10 @@
 #ifdef _KWQ_TIMING
     double start = CFAbsoluteTimeGetCurrent();
 #endif
-    
+
     [NSGraphicsContext saveGraphicsState];
     NSRectClip(rect);
-
+    
     ASSERT([[self superview] isKindOfClass:[WebClipView class]]);
     [(WebClipView *)[self superview] setAdditionalClip:rect];
     
@@ -511,6 +511,24 @@
     }
 }
 
+// Turn off the additional clip while computing our visibleRect.
+- (NSRect)visibleRect
+{
+    ASSERT([[self superview] isKindOfClass:[WebClipView class]]);
+    WebClipView *clipView = (WebClipView *)[self superview];
+
+    BOOL hasAdditionalClip = [clipView hasAdditionalClip];
+    if (!hasAdditionalClip) {
+        return [super visibleRect];
+    }
+    
+    NSRect additionalClip = [clipView additionalClip];
+    [clipView resetAdditionalClip];
+    NSRect visibleRect = [super visibleRect];
+    [clipView setAdditionalClip:additionalClip];
+    return visibleRect;
+}
+
 - (BOOL)isFlipped 
 {
     return YES;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list