[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:22:06 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit bfa1845510db522acc870a6de86ae5ad83fa001e
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 27 21:00:39 2003 +0000

    	Fix text dragging so that text inside floats paints when you
    	drag the selection.
    
            Reviewed by cblu
    
            * ChangeLog:
            * khtml/rendering/render_flow.cpp:
            (RenderFlow::paintObject):
            (RenderFlow::paintFloats):
            * khtml/rendering/render_flow.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 893cae2..c31f0aa 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,28 @@
+2003-01-27  David Hyatt  <hyatt at apple.com>
+
+	Fix text dragging so that text inside floats paints when you
+	drag the selection.
+	
+        Reviewed by cblu
+
+        * ChangeLog:
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::paintObject):
+        (RenderFlow::paintFloats):
+        * khtml/rendering/render_flow.h:
+
+2003-01-26  David Hyatt  <hyatt at apple.com>
+
+	Fix the default font size settings for monospace fonts to
+	really work.  It was overaggressive and kicking in when it
+	shouldn't have, resulting in failures on the CSS1 test suite.
+	
+        Reviewed by darin, john
+
+        * khtml/css/cssstyleselector.cpp:
+        * khtml/css/cssstyleselector.h:
+        * khtml/rendering/font.h:
+
 2003-01-26  Chris Blumenberg  <cblu at apple.com>
 	
 	Fixed: 3156725 - Partially selected links show extra underlining when dragged
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 893cae2..c31f0aa 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,28 @@
+2003-01-27  David Hyatt  <hyatt at apple.com>
+
+	Fix text dragging so that text inside floats paints when you
+	drag the selection.
+	
+        Reviewed by cblu
+
+        * ChangeLog:
+        * khtml/rendering/render_flow.cpp:
+        (RenderFlow::paintObject):
+        (RenderFlow::paintFloats):
+        * khtml/rendering/render_flow.h:
+
+2003-01-26  David Hyatt  <hyatt at apple.com>
+
+	Fix the default font size settings for monospace fonts to
+	really work.  It was overaggressive and kicking in when it
+	shouldn't have, resulting in failures on the CSS1 test suite.
+	
+        Reviewed by darin, john
+
+        * khtml/css/cssstyleselector.cpp:
+        * khtml/css/cssstyleselector.h:
+        * khtml/rendering/font.h:
+
 2003-01-26  Chris Blumenberg  <cblu at apple.com>
 	
 	Fixed: 3156725 - Partially selected links show extra underlining when dragged
diff --git a/WebCore/khtml/css/cssstyleselector.cpp b/WebCore/khtml/css/cssstyleselector.cpp
index 4f91314..2c9ef3a 100644
--- a/WebCore/khtml/css/cssstyleselector.cpp
+++ b/WebCore/khtml/css/cssstyleselector.cpp
@@ -383,11 +383,6 @@ RenderStyle *CSSStyleSelector::styleForElement(ElementImpl *e)
     bubbleSort( propsToApply, propsToApply+numPropsToApply-1 );
     bubbleSort( pseudoProps, pseudoProps+numPseudoProps-1 );
 
-    // This member will be set to true if a rule specifies a font size
-    // explicitly.  If they do this, then we don't need to check for a shift
-    // in default size caused by a change in generic family. -dwh
-    m_fontSizeSpecified = false;
-
     //qDebug("applying properties, count=%d", propsToApply->count() );
 
     // we can't apply style rules without a view() and a part. This
@@ -2335,10 +2330,6 @@ void CSSStyleSelector::applyRule( DOM::CSSProperty *prop )
         float size = 0;
         int minFontSize = settings->minFontSize();
 
-	// Set this boolean flag to indicate that the font size was specified
-	// during the course of rule application for this element. -dwh
-	m_fontSizeSpecified = true;
-
         if(parentNode) {
             oldSize = parentStyle->font().pixelSize();
         } else
@@ -2393,6 +2384,7 @@ void CSSStyleSelector::applyRule( DOM::CSSProperty *prop )
 
         //kdDebug( 6080 ) << "computed raw font size: " << size << endl;
 
+        fontDef.sizeSpecified = true;
 	fontDef.size = int(size);
         if (style->setFontDef( fontDef ))
 	    fontDirty = true;
@@ -2816,12 +2808,11 @@ void CSSStyleSelector::applyRule( DOM::CSSProperty *prop )
 
 void CSSStyleSelector::checkForGenericFamilyChange(RenderStyle* aStyle, RenderStyle* aParentStyle)
 {
-  if (m_fontSizeSpecified || !aParentStyle) {
-    m_fontSizeSpecified = false;
+  const FontDef& childFont = aStyle->htmlFont().fontDef;
+  
+  if (childFont.sizeSpecified || !aParentStyle)
     return;
-  }
 
-  const FontDef& childFont = aStyle->htmlFont().fontDef;
   const FontDef& parentFont = aParentStyle->htmlFont().fontDef;
 
   if (childFont.genericFamily == parentFont.genericFamily)
diff --git a/WebCore/khtml/css/cssstyleselector.h b/WebCore/khtml/css/cssstyleselector.h
index f50fd51..91164e1 100644
--- a/WebCore/khtml/css/cssstyleselector.h
+++ b/WebCore/khtml/css/cssstyleselector.h
@@ -226,8 +226,7 @@ public:
 	QValueList<int>     m_fixedFontSizes;
 
 	bool fontDirty;
-	bool m_fontSizeSpecified;
-
+	
 	void applyRule(DOM::CSSProperty *prop);
     };
 
diff --git a/WebCore/khtml/rendering/font.h b/WebCore/khtml/rendering/font.h
index 7d5eebe..7b2ca03 100644
--- a/WebCore/khtml/rendering/font.h
+++ b/WebCore/khtml/rendering/font.h
@@ -42,7 +42,7 @@ class FontDef
 {
 public:
     FontDef()
-        : size( 0 ), italic( false ), smallCaps( false ), weight( 50 ), 
+        : size( 0 ), italic( false ), smallCaps( false ), sizeSpecified(false), weight( 50 ), 
           genericFamily(0), hasNbsp( true ) {}
     
     bool operator == ( const FontDef &other ) const {
@@ -50,7 +50,8 @@ public:
                  size == other.size &&
                  italic == other.italic &&
                  smallCaps == other.smallCaps &&
-                 weight == other.weight );
+                 weight == other.weight &&
+                 sizeSpecified == other.sizeSpecified);
     }
 
     enum GenericFamilyType { eNone, eStandard, eSerif, eSansSerif, eMonospace, eCursive, eFantasy };
@@ -63,6 +64,8 @@ public:
     short int size;
     bool italic 		: 1;
     bool smallCaps 		: 1;
+    bool sizeSpecified          : 1;  // Whether or not CSS specified the size or if we're using the
+                                      // default font size that the user specified via preferences.
     unsigned int weight 		: 8;
     unsigned int genericFamily  : 3;
     mutable bool hasNbsp : 1;
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index cdad1c3..cc05873 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -176,8 +176,8 @@ void RenderFlow::paintObject(QPainter *p, int _x, int _y,
     }
 
     // 3. paint floats.
-    if (paintAction == PaintActionFloat)
-        paintFloats(p, _x, _y, _w, _h, _tx, _ty);
+    if (paintAction == PaintActionFloat || paintAction == PaintActionSelection)
+        paintFloats(p, _x, _y, _w, _h, _tx, _ty, paintAction == PaintActionSelection);
     
     if (paintAction == PaintActionBackground &&
         !isInline() && !childrenInline() && style()->outlineWidth())
@@ -197,28 +197,36 @@ void RenderFlow::paintObject(QPainter *p, int _x, int _y,
 }
 
 void RenderFlow::paintFloats(QPainter *p, int _x, int _y,
-                             int _w, int _h, int _tx, int _ty)
+                             int _w, int _h, int _tx, int _ty, bool paintSelection)
 {
     if (!specialObjects)
         return;
-        
+
     SpecialObject* r;
     QPtrListIterator<SpecialObject> it(*specialObjects);
     for ( ; (r = it.current()); ++it) {
         // Only paint the object if our noPaint flag isn't set.
         if (r->node->isFloating() && !r->noPaint) {
-            r->node->paint(p, _x, _y, _w, _h, 
-                           _tx + r->left - r->node->xPos() + r->node->marginLeft(), 
-                           _ty + r->startY - r->node->yPos() + r->node->marginTop(),
-                           PaintActionBackground);
-            r->node->paint(p, _x, _y, _w, _h, 
-                           _tx + r->left - r->node->xPos() + r->node->marginLeft(), 
-                           _ty + r->startY - r->node->yPos() + r->node->marginTop(),
-                           PaintActionFloat);
-            r->node->paint(p, _x, _y, _w, _h, 
-                           _tx + r->left - r->node->xPos() + r->node->marginLeft(), 
-                           _ty + r->startY - r->node->yPos() + r->node->marginTop(), 
-                           PaintActionForeground);
+            if (paintSelection) {
+                r->node->paint(p, _x, _y, _w, _h,
+                               _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+                               _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+                               PaintActionSelection);
+            }
+            else {
+                r->node->paint(p, _x, _y, _w, _h,
+                               _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+                               _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+                               PaintActionBackground);
+                r->node->paint(p, _x, _y, _w, _h,
+                               _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+                               _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+                               PaintActionFloat);
+                r->node->paint(p, _x, _y, _w, _h,
+                               _tx + r->left - r->node->xPos() + r->node->marginLeft(),
+                               _ty + r->startY - r->node->yPos() + r->node->marginTop(),
+                               PaintActionForeground);
+            }
         }
     }
 }
diff --git a/WebCore/khtml/rendering/render_flow.h b/WebCore/khtml/rendering/render_flow.h
index 4a41f86..1635ef9 100644
--- a/WebCore/khtml/rendering/render_flow.h
+++ b/WebCore/khtml/rendering/render_flow.h
@@ -95,7 +95,7 @@ public:
     virtual void paintObject(QPainter *, int x, int y, int w, int h,
                              int tx, int ty, PaintAction paintAction);
     void paintFloats(QPainter *p, int _x, int _y,
-                     int _w, int _h, int _tx, int _ty);
+                     int _w, int _h, int _tx, int _ty, bool paintSelection = false);
             
     virtual bool requiresLayer() { return !isTableCell() && 
                     (isPositioned() || isRelPositioned() || style()->overflow()==OHIDDEN); }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list