[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 07:49:09 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 4ed3921110d22d577f46ca6fc9157aa49fdab728
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jul 28 20:58:55 2003 +0000

            Reviewed by John.
    
            - fixed 3279864 -- remove class_poseAs calls from WebKit
    
            * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
            Call _setDrawsOwnDescendants, if we have a new enough AppKit.
            * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
            Don't pose as NSView, if we have a new enough AppKit.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4721 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index f325a5f..4ec871c 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,14 @@
+2003-07-28  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+        - fixed 3279864 -- remove class_poseAs calls from WebKit
+
+        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
+        Call _setDrawsOwnDescendants, if we have a new enough AppKit.
+        * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
+        Don't pose as NSView, if we have a new enough AppKit.
+
 2003-07-28  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by John
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index e1c13a6..acb7752 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -31,22 +31,31 @@
 - (void)_web_makePluginViewsPerformSelector:(SEL)selector withObject:(id)object;
 @end
 
+ at interface NSView (AppKitSecretsIKnowAbout)
+- (void)_setDrawsOwnDescendants:(BOOL)drawsOwnDescendants;
+ at end
+
 @implementation WebHTMLView
 
-+(void)initialize
++ (void)initialize
 {
     WebKitInitializeUnicode();
     [NSApp registerServicesMenuSendTypes:[[self class] _pasteboardTypes] returnTypes:nil];
 }
 
-- initWithFrame: (NSRect) frame
+- (id)initWithFrame:(NSRect)frame
 {
-    [super initWithFrame: frame];
+    [super initWithFrame:frame];
+    
+    // Make all drawing go through us instead of subviews.
+    // The bulk of the code to handle this is in WebHTMLViewPrivate.m.
+    if (NSAppKitVersionNumber >= 711) {
+        [self _setDrawsOwnDescendants:YES];
+    }
     
     _private = [[WebHTMLViewPrivate alloc] init];
 
     _private->pluginController = [[WebPluginController alloc] initWithHTMLView:self];
-
     _private->needsLayout = YES;
 
     return self;
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 6472ea6..58a13f5 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -121,9 +121,6 @@ static BOOL forceRealHitTest = NO;
     // the +initializers being called before the REQUIRED AppKit initialization
     // that's done in +[NSApplication load].
 
-    class_poseAs(objc_getClass("WebNSView"), objc_getClass("NSView"));
-
-    // Only do these two poses if we have an older AppKit.
     // If AppKit is 705 or newer, this is handled over on the WebCore side,
     // using the new NSTextView SPI.
     if (NSAppKitVersionNumber < 705) {
@@ -131,6 +128,11 @@ static BOOL forceRealHitTest = NO;
         class_poseAs(objc_getClass("WebNSWindow"), objc_getClass("NSWindow"));
     }
 
+    // If AppKit is 711 or newer, this is handled using _setDrawsOwnDescendants.
+    if (NSAppKitVersionNumber < 711) {
+        class_poseAs(objc_getClass("WebNSView"), objc_getClass("NSView"));
+    }
+
     [pool release];
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list