[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