[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 06:50:58 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 643e6833f227c708c819e2c771e9dae58320dd0e
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 18 00:30:54 2002 +0000

            Support for drawing frame borders and frame resizing. (fixes 2982466).
    
            * khtml/rendering/render_frames.cpp:
            (RenderFrameSet::userResize):
            * kwq/WebCoreBridge.h:
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge frameBorderStyle]):
            * kwq/qt/qframe.h:
    
            Support for drawing frame borders (fixes 2982466).
    
            * WebView.subproj/WebHTMLView.m:
            (-[WebHTMLView _drawBorder:]):
            (-[WebHTMLView drawRect:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2363 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 1f5dd48..f00013c 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,14 @@
+2002-10-17  Richard Williamson  <rjw at apple.com>
+
+        Support for drawing frame borders and frame resizing. (fixes 2982466).
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderFrameSet::userResize):
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge frameBorderStyle]):
+        * kwq/qt/qframe.h:
+
 2002-10-17  Darin Adler  <darin at apple.com>
 
 	- fixed 2807340 -- Alex is case sensitive for anchors, but
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1f5dd48..f00013c 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,14 @@
+2002-10-17  Richard Williamson  <rjw at apple.com>
+
+        Support for drawing frame borders and frame resizing. (fixes 2982466).
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderFrameSet::userResize):
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge frameBorderStyle]):
+        * kwq/qt/qframe.h:
+
 2002-10-17  Darin Adler  <darin at apple.com>
 
 	- fixed 2807340 -- Alex is case sensitive for anchors, but
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1f5dd48..f00013c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,14 @@
+2002-10-17  Richard Williamson  <rjw at apple.com>
+
+        Support for drawing frame borders and frame resizing. (fixes 2982466).
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderFrameSet::userResize):
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge frameBorderStyle]):
+        * kwq/qt/qframe.h:
+
 2002-10-17  Darin Adler  <darin at apple.com>
 
 	- fixed 2807340 -- Alex is case sensitive for anchors, but
diff --git a/WebCore/khtml/rendering/render_frames.cpp b/WebCore/khtml/rendering/render_frames.cpp
index a39ab3d..1409404 100644
--- a/WebCore/khtml/rendering/render_frames.cpp
+++ b/WebCore/khtml/rendering/render_frames.cpp
@@ -459,12 +459,7 @@ bool RenderFrameSet::userResize( MouseEventImpl *evt )
         if (m_vSplit > -1) {
             if ( m_oldpos >= 0 )
 #ifdef APPLE_CHANGES
-                // FIXME: Should only have to redraw the damage rect, but
-                // the damage rect alone isn't sufficient. areas outside
-                // the specified rect are getting partially drawn.
-                v->updateContents(v->contentsX(), v->contentsY(),
-                                v->visibleWidth(), v->visibleHeight(), true);
-                //root()->view()->displayRect( m_oldpos + sw/2 - rBord , r.y(), 2*rBord, r.height() );
+                v->updateContents( m_oldpos + sw/2 - rBord , r.y(), 2*rBord, r.height(), true );
 #else
                 paint.drawRect( m_oldpos + sw/2 - rBord , r.y(),
                                 2*rBord, r.height() );
@@ -483,12 +478,7 @@ bool RenderFrameSet::userResize( MouseEventImpl *evt )
         } else {
             if ( m_oldpos >= 0 )
 #ifdef APPLE_CHANGES
-                // FIXME: Should only have to redraw the damage rect, but
-                // the damage rect alone isn't sufficient. areas outside
-                // the specified rect are getting partially drawn.
-                v->updateContents(v->contentsX(), v->contentsY(),
-                                v->visibleWidth(), v->visibleHeight(), true);
-                //root()->view()->displayRect( r.x(), m_oldpos + sw/2 - rBord, r.width(), 2*rBord );
+                v->updateContents( r.x(), m_oldpos + sw/2 - rBord, r.width(), 2*rBord, true );
 #else
                 paint.drawRect( r.x(), m_oldpos + sw/2 - rBord,
                                 r.width(), 2*rBord );
diff --git a/WebCore/kwq/KWQFrame.h b/WebCore/kwq/KWQFrame.h
index bf7d8ee..d5be2f0 100644
--- a/WebCore/kwq/KWQFrame.h
+++ b/WebCore/kwq/KWQFrame.h
@@ -30,10 +30,10 @@
 
 class QFrame : public QWidget {
 public:
-    enum Shape { NoFrame, Box, StyledPanel };
-    enum Shadow { Sunken };
+    enum Shape { NoFrame = 1, Box = 2, StyledPanel = 4 };
+    enum Shadow { Sunken = 8, Plain = 16 };
 
-    QFrame() { }
+    QFrame() : _frameStyle(QFrame::NoFrame) { }
 
     virtual void setFrameStyle(int);
     int frameStyle();
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 6b39fe8..0234497 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -72,6 +72,12 @@ typedef khtml::RenderPart KHTMLRenderPart;
 
 // The WebCoreBridge interface contains methods for use by the non-WebCore side of the bridge.
 
+enum FrameBorderStyle {
+    NoFrameBorder = 1,
+    SunkenFrameBorder = 2,
+    PlainFrameBorder = 4
+};
+
 @interface WebCoreBridge : NSObject
 {
     KHTMLPart *part;
@@ -153,6 +159,8 @@ typedef khtml::RenderPart KHTMLRenderPart;
 
 - (NSAttributedString *)attributedStringFrom:(id <WebDOMNode>)startNode startOffset:(int)startOffset to:(id <WebDOMNode>)endNode endOffset:(int)endOffset;
 
+- (int)frameBorderStyle;
+
 @end
 
 // The WebCoreBridge protocol contains methods for use by the WebCore side of the bridge.
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index e7fb05e..80be87a 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -48,6 +48,7 @@
 #import <WebCoreImageRenderer.h>
 #import <WebCoreTextRendererFactory.h>
 #import <KWQCharsets.h>
+#import <qframe.h>
 
 #import <WebCoreDOMPrivate.h>
 
@@ -777,4 +778,13 @@ static NSAttributedString *attributedString(DOM::NodeImpl *_startNode, int start
     return part->impl->referrer().getNSString();
 }
 
+- (int)frameBorderStyle
+{
+    if (part->impl->view()->frameStyle() & QFrame::Sunken)
+        return SunkenFrameBorder;
+    if (part->impl->view()->frameStyle() & QFrame::Plain)
+        return PlainFrameBorder;
+    return NoFrameBorder;
+}
+
 @end
diff --git a/WebCore/kwq/qt/qframe.h b/WebCore/kwq/qt/qframe.h
index bf7d8ee..d5be2f0 100644
--- a/WebCore/kwq/qt/qframe.h
+++ b/WebCore/kwq/qt/qframe.h
@@ -30,10 +30,10 @@
 
 class QFrame : public QWidget {
 public:
-    enum Shape { NoFrame, Box, StyledPanel };
-    enum Shadow { Sunken };
+    enum Shape { NoFrame = 1, Box = 2, StyledPanel = 4 };
+    enum Shadow { Sunken = 8, Plain = 16 };
 
-    QFrame() { }
+    QFrame() : _frameStyle(QFrame::NoFrame) { }
 
     virtual void setFrameStyle(int);
     int frameStyle();
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index e371325..3d6e813 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,11 @@
+2002-10-17  Richard Williamson  <rjw at apple.com>
+
+        Support for drawing frame borders (fixes 2982466).
+        
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView _drawBorder:]):
+        (-[WebHTMLView drawRect:]):
+
 2002-10-17  John Sullivan  <sullivan at apple.com>
 
 	- added support for bookmark identifiers, to be used for marking
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index e371325..3d6e813 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-10-17  Richard Williamson  <rjw at apple.com>
+
+        Support for drawing frame borders (fixes 2982466).
+        
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView _drawBorder:]):
+        (-[WebHTMLView drawRect:]):
+
 2002-10-17  John Sullivan  <sullivan at apple.com>
 
 	- added support for bookmark identifiers, to be used for marking
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index 7b9acca..fb34e77 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -370,6 +370,69 @@
 }
 
 
+- (void)_drawBorder: (int)type
+{
+    switch (type){
+        case SunkenFrameBorder:
+        {
+            NSRect vRect = [self frame];
+            
+            // Left, light gray, black
+            [[NSColor lightGrayColor] set];
+            NSRectFill(NSMakeRect(0,0,1,vRect.size.height));
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(0,1,1,vRect.size.height-2));
+    
+            // Top, light gray, black
+            [[NSColor lightGrayColor] set];
+            NSRectFill(NSMakeRect(0,0,vRect.size.width,1));
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(1,1,vRect.size.width-2,1));
+    
+            // Right, light gray, white
+            [[NSColor whiteColor] set];
+            NSRectFill(NSMakeRect(vRect.size.width,0,1,vRect.size.height));
+            [[NSColor lightGrayColor] set];
+            NSRectFill(NSMakeRect(vRect.size.width-1,1,1,vRect.size.height-2));
+    
+            // Bottom, light gray, white
+            [[NSColor whiteColor] set];
+            NSRectFill(NSMakeRect(0,vRect.size.height-1,vRect.size.width,1));
+            [[NSColor lightGrayColor] set];
+            NSRectFill(NSMakeRect(1,vRect.size.height-2,vRect.size.width-2,1));
+            break;
+        }
+        
+        case PlainFrameBorder: 
+        {
+            // Not used yet, but will need for 'focusing' frames.
+            NSRect vRect = [self frame];
+            
+            // Left, black
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(0,0,2,vRect.size.height));
+    
+            // Top, black
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(0,0,vRect.size.width,2));
+    
+            // Right, black
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(vRect.size.width,0,2,vRect.size.height));
+    
+            // Bottom, black
+            [[NSColor blackColor] set];
+            NSRectFill(NSMakeRect(0,vRect.size.height-2,vRect.size.width,2));
+            break;
+        }
+        
+        case NoFrameBorder:
+        default:
+        {
+        }
+    }
+}
+
 - (void)drawRect:(NSRect)rect
 {
     LOG(View, "%@ drawing", self);
@@ -407,13 +470,6 @@
     if ([WebTextRenderer shouldBufferTextDrawing] && focusView)
         [[WebTextRendererFactory sharedFactory] startCoalesceTextDrawing];
 
-#ifdef DEBUG_DRAWING
-    if ([[self _bridge] isFrameSet]){
-        [[NSColor redColor] set];
-        NSRectFill(rect);
-    }
-#endif
-
     //double start = CFAbsoluteTimeGetCurrent();
     [[self _bridge] drawRect:rect];
     //LOG(Timing, "draw time %e", CFAbsoluteTimeGetCurrent() - start);
@@ -423,6 +479,8 @@
 
     [(WebClipView *)[self superview] resetAdditionalClip];
     
+    [self _drawBorder: [[self _bridge] frameBorderStyle]];
+
     [NSGraphicsContext restoreGraphicsState];
 
 #ifdef DEBUG_LAYOUT

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list