[webkit-changes] cvs commit:
WebCore/layout-tests/fast/text/whitespace
013-expected.checksum 013-expected.png
Darin
darin at opensource.apple.com
Sat Sep 24 04:45:22 PDT 2005
darin 05/09/24 04:45:21
Modified: . ChangeLog
khtml/rendering bidi.cpp bidi.h render_box.cpp render_box.h
render_object.h render_text.cpp render_text.h
kwq KWQPainter.mm WebCoreTextRenderer.h
WebCoreTextRendererFactory.mm
layout-tests/fast/forms 006-expected.checksum
006-expected.png 007-expected.checksum
007-expected.png
layout-tests/fast/text/whitespace 013-expected.checksum
013-expected.png
Added: layout-tests/fast/text/international
bidi-override-expected.checksum
bidi-override-expected.png
bidi-override-expected.txt bidi-override.html
Log:
Reviewed by Dave.
Landed by Darin.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4862
Incorrect layout of bidi overrides
Test cases added:
* layout-tests/fast/text/international/bidi-override.html: Added.
* layout-tests/fast/text/international/bidi-override-expected.checksum: Added.
* layout-tests/fast/text/international/bidi-override-expected.png: Added.
* layout-tests/fast/text/international/bidi-override-expected.txt: Added.
* khtml/rendering/bidi.h: Include an "override direction" flag in BidiRun.
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::computeVerticalPositionsForLine): Pass in "override direction" parameter.
(khtml::RenderBlock::bidiReorderLine): Set direction based on override.
(khtml::RenderBlock::layoutInlineChildren): Pass in "override direction" parameter.
* khtml/rendering/render_object.h: Update position function to take an "override direction" parameter.
* khtml/rendering/render_box.h: Ditto.
* khtml/rendering/render_box.cpp: (RenderBox::position): Ditto.
* khtml/rendering/render_text.h: Add an m_dirOverride field to InlineTextBox.
* khtml/rendering/render_text.cpp:
(InlineTextBox::paint): Pass true for override to drawText if m_dirOverride is set.
(InlineTextBox::paintSelection): Ditto.
(InlineTextBox::paintMarkedTextBackground): Ditto.
(RenderText::position): Set up m_dirOverride in the InlineTextBox based on the override parameter.
* kwq/WebCoreTextRenderer.h: Replace visuallyOrdered flag with a directionalOverride flag.
* kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextStyle): Ditto.
* kwq/KWQPainter.mm:
(QPainter::drawText): Ditto.
(QPainter::drawHighlightForText): Ditto.
- updated pixel test results for unrelated tests with results that recently changed
* layout-tests/fast/forms/006-expected.checksum:
* layout-tests/fast/forms/006-expected.png:
* layout-tests/fast/forms/007-expected.checksum:
* layout-tests/fast/forms/007-expected.png:
* layout-tests/fast/text/whitespace/013-expected.checksum:
* layout-tests/fast/text/whitespace/013-expected.png:
Revision Changes Path
1.158 +46 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -r1.157 -r1.158
--- ChangeLog 24 Sep 2005 11:05:32 -0000 1.157
+++ ChangeLog 24 Sep 2005 11:45:14 -0000 1.158
@@ -1,3 +1,49 @@
+2005-09-24 Mitz Pettel <opendarwin.org at mitzpettel.com>
+
+ Reviewed by Dave.
+ Landed by Darin.
+
+ - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4862
+ Incorrect layout of bidi overrides
+
+ Test cases added:
+ * layout-tests/fast/text/international/bidi-override.html: Added.
+ * layout-tests/fast/text/international/bidi-override-expected.checksum: Added.
+ * layout-tests/fast/text/international/bidi-override-expected.png: Added.
+ * layout-tests/fast/text/international/bidi-override-expected.txt: Added.
+
+ * khtml/rendering/bidi.h: Include an "override direction" flag in BidiRun.
+ * khtml/rendering/bidi.cpp:
+ (khtml::RenderBlock::computeVerticalPositionsForLine): Pass in "override direction" parameter.
+ (khtml::RenderBlock::bidiReorderLine): Set direction based on override.
+ (khtml::RenderBlock::layoutInlineChildren): Pass in "override direction" parameter.
+
+ * khtml/rendering/render_object.h: Update position function to take an "override direction" parameter.
+ * khtml/rendering/render_box.h: Ditto.
+ * khtml/rendering/render_box.cpp: (RenderBox::position): Ditto.
+
+ * khtml/rendering/render_text.h: Add an m_dirOverride field to InlineTextBox.
+ * khtml/rendering/render_text.cpp:
+ (InlineTextBox::paint): Pass true for override to drawText if m_dirOverride is set.
+ (InlineTextBox::paintSelection): Ditto.
+ (InlineTextBox::paintMarkedTextBackground): Ditto.
+ (RenderText::position): Set up m_dirOverride in the InlineTextBox based on the override parameter.
+
+ * kwq/WebCoreTextRenderer.h: Replace visuallyOrdered flag with a directionalOverride flag.
+ * kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextStyle): Ditto.
+ * kwq/KWQPainter.mm:
+ (QPainter::drawText): Ditto.
+ (QPainter::drawHighlightForText): Ditto.
+
+ - updated pixel test results for unrelated tests with results that recently changed
+
+ * layout-tests/fast/forms/006-expected.checksum:
+ * layout-tests/fast/forms/006-expected.png:
+ * layout-tests/fast/forms/007-expected.checksum:
+ * layout-tests/fast/forms/007-expected.png:
+ * layout-tests/fast/text/whitespace/013-expected.checksum:
+ * layout-tests/fast/text/whitespace/013-expected.png:
+
2005-09-24 Justin Garcia <justin.garcia at apple.com>
Reviewed by Eric.
1.142 +5 -3 WebCore/khtml/rendering/bidi.cpp
Index: bidi.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/bidi.cpp,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -r1.141 -r1.142
--- bidi.cpp 4 Sep 2005 07:42:31 -0000 1.141
+++ bidi.cpp 24 Sep 2005 11:45:16 -0000 1.142
@@ -879,7 +879,7 @@
// Position is used to properly position both replaced elements and
// to update the static normal flow x/y of positioned elements.
- r->obj->position(r->box, r->start, r->stop - r->start, r->level%2);
+ r->obj->position(r->box, r->start, r->stop - r->start, r->level%2, r->override);
}
}
@@ -926,6 +926,8 @@
dirCurrent = c->dir;
} else {
dirCurrent = bidi.current.direction();
+ if (bidi.context->override && dirCurrent != QChar::DirRLE && dirCurrent != QChar::DirLRE && dirCurrent != QChar::DirRLO && dirCurrent != QChar::DirLRO && dirCurrent != QChar::DirPDF)
+ dirCurrent = bidi.context->dir;
}
#ifndef QT_NO_UNICODETABLES
@@ -1483,10 +1485,10 @@
BidiContext *startEmbed;
if( style()->direction() == LTR ) {
- startEmbed = new BidiContext( 0, QChar::DirL );
+ startEmbed = new BidiContext( 0, QChar::DirL, NULL, style()->unicodeBidi() == Override );
bidi.status.eor = QChar::DirL;
} else {
- startEmbed = new BidiContext( 1, QChar::DirR );
+ startEmbed = new BidiContext( 1, QChar::DirR, NULL, style()->unicodeBidi() == Override );
bidi.status.eor = QChar::DirR;
}
startEmbed->ref();
1.16 +2 -1 WebCore/khtml/rendering/bidi.h
Index: bidi.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/bidi.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- bidi.h 2 Oct 2003 18:46:18 -0000 1.15
+++ bidi.h 24 Sep 2005 11:45:16 -0000 1.16
@@ -54,7 +54,7 @@
struct BidiRun {
BidiRun(int _start, int _stop, RenderObject *_obj, BidiContext *context, QChar::Direction dir)
- : start( _start ), stop( _stop ), obj( _obj ), box(0), nextRun(0)
+ : start( _start ), stop( _stop ), obj( _obj ), box(0), override(context->override), nextRun(0)
{
if(dir == QChar::DirON) dir = context->dir;
@@ -93,6 +93,7 @@
// explicit + implicit levels here
uchar level;
+ bool override : 1;
bool compact : 1;
1.167 +1 -1 WebCore/khtml/rendering/render_box.cpp
Index: render_box.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_box.cpp,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -r1.166 -r1.167
--- render_box.cpp 19 Sep 2005 20:54:09 -0000 1.166
+++ render_box.cpp 24 Sep 2005 11:45:16 -0000 1.167
@@ -683,7 +683,7 @@
}
}
-void RenderBox::position(InlineBox* box, int from, int len, bool reverse)
+void RenderBox::position(InlineBox* box, int from, int len, bool reverse, bool override)
{
if (isPositioned()) {
// Cache the x position only if we were an INLINE type originally.
1.57 +1 -1 WebCore/khtml/rendering/render_box.h
Index: render_box.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_box.h,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- render_box.h 19 Sep 2005 20:54:09 -0000 1.56
+++ render_box.h 24 Sep 2005 11:45:16 -0000 1.57
@@ -89,7 +89,7 @@
// shifted. -dwh
void calcHorizontalMargins(const Length& ml, const Length& mr, int cw);
- virtual void position(InlineBox* box, int from, int len, bool reverse);
+ virtual void position(InlineBox* box, int from, int len, bool reverse, bool override);
virtual void dirtyLineBoxes(bool fullLayout, bool isRootLineBox=false);
1.158 +1 -1 WebCore/khtml/rendering/render_object.h
Index: render_object.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_object.h,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -r1.157 -r1.158
--- render_object.h 19 Sep 2005 20:54:10 -0000 1.157
+++ render_object.h 24 Sep 2005 11:45:16 -0000 1.158
@@ -742,7 +742,7 @@
bool usesLineWidth() const;
// positioning of inline children (bidi)
- virtual void position(InlineBox*, int, int, bool) {}
+ virtual void position(InlineBox*, int, int, bool, bool) {}
// Applied as a "slop" to dirty rect checks during the outline painting phase's dirty-rect checks.
int maximalOutlineSize(PaintAction p) const;
1.199 +9 -8 WebCore/khtml/rendering/render_text.cpp
Index: render_text.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_text.cpp,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -r1.198 -r1.199
--- render_text.cpp 16 Sep 2005 22:42:16 -0000 1.198
+++ render_text.cpp 24 Sep 2005 11:45:16 -0000 1.199
@@ -384,7 +384,7 @@
endPoint = m_truncation - m_start;
font->drawText(i.p, m_x + tx, m_y + ty + m_baseline, textObject()->tabWidth(), textPos(),
textObject()->string()->s, textObject()->string()->l, m_start, endPoint,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, styleToUse->visuallyOrdered());
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || styleToUse->visuallyOrdered());
} else {
int sPos, ePos;
selectionStartEnd(sPos, ePos);
@@ -393,17 +393,17 @@
if (sPos >= ePos) {
font->drawText(i.p, m_x + tx, m_y + ty + m_baseline, textObject()->tabWidth(), textPos(),
textObject()->string()->s, textObject()->string()->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, styleToUse->visuallyOrdered());
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || styleToUse->visuallyOrdered());
} else {
if (sPos - 1 >= 0) {
font->drawText(i.p, m_x + tx, m_y + ty + m_baseline, textObject()->tabWidth(), textPos(),
textObject()->string()->s, textObject()->string()->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, styleToUse->visuallyOrdered(), 0, sPos);
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || styleToUse->visuallyOrdered(), 0, sPos);
}
if (ePos < m_start + m_len) {
font->drawText(i.p, m_x + tx, m_y + ty + m_baseline, textObject()->tabWidth(), textPos(),
textObject()->string()->s, textObject()->string()->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, styleToUse->visuallyOrdered(), ePos, -1);
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || styleToUse->visuallyOrdered(), ePos, -1);
}
}
}
@@ -420,7 +420,7 @@
selectionTextShadow->color);
font->drawText(i.p, m_x + tx, m_y + ty + m_baseline, textObject()->tabWidth(), textPos(),
textObject()->string()->s, textObject()->string()->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, styleToUse->visuallyOrdered(), sPos, ePos);
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || styleToUse->visuallyOrdered(), sPos, ePos);
if (selectionTextShadow)
i.p->clearShadow();
}
@@ -527,7 +527,7 @@
int h = r->selectionHeight();
f->drawHighlightForText(p, m_x + tx, y + ty, h, textObject()->tabWidth(), textPos(),
textObject()->str->s, textObject()->str->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, style->visuallyOrdered(), sPos, ePos, c);
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || style->visuallyOrdered(), sPos, ePos, c);
p->restore();
}
@@ -550,7 +550,7 @@
int y = r->selectionTop();
int h = r->selectionHeight();
f->drawHighlightForText(p, m_x + tx, y + ty, h, textObject()->tabWidth(), textPos(), textObject()->str->s, textObject()->str->l, m_start, m_len,
- m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, style->visuallyOrdered(), sPos, ePos, c);
+ m_toAdd, m_reversed ? QPainter::RTL : QPainter::LTR, m_dirOverride || style->visuallyOrdered(), sPos, ePos, c);
p->restore();
}
@@ -1684,7 +1684,7 @@
return textBox;
}
-void RenderText::position(InlineBox* box, int from, int len, bool reverse)
+void RenderText::position(InlineBox* box, int from, int len, bool reverse, bool override)
{
InlineTextBox *s = static_cast<InlineTextBox*>(box);
@@ -1707,6 +1707,7 @@
#endif
s->m_reversed = reverse;
+ s->m_dirOverride = override || style()->visuallyOrdered();
s->m_start = from;
s->m_len = len;
}
1.90 +3 -2 WebCore/khtml/rendering/render_text.h
Index: render_text.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_text.h,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- render_text.h 16 Sep 2005 22:42:16 -0000 1.89
+++ render_text.h 24 Sep 2005 11:45:17 -0000 1.90
@@ -149,8 +149,9 @@
// denote no truncation (the whole run paints) and full truncation (nothing paints at all).
bool m_reversed : 1;
+ bool m_dirOverride : 1;
bool m_treatAsText : 1; // Whether or not to treat a <br> as text for the purposes of line height.
- int m_toAdd : 14; // for justified text
+ int m_toAdd : 13; // for justified text
private:
friend class RenderText;
@@ -196,7 +197,7 @@
unsigned int length() const { return str->l; }
QChar *text() const { return str->s; }
unsigned int stringLength() const { return str->l; } // non virtual implementation of length()
- virtual void position(InlineBox* box, int from, int len, bool reverse);
+ virtual void position(InlineBox* box, int from, int len, bool reverse, bool override);
virtual unsigned int width(unsigned int from, unsigned int len, const Font *f, int xpos) const;
virtual unsigned int width(unsigned int from, unsigned int len, int xpos, bool firstLine = false) const;
1.142 +2 -2 WebCore/kwq/KWQPainter.mm
Index: KWQPainter.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQPainter.mm,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -r1.141 -r1.142
--- KWQPainter.mm 24 Sep 2005 11:05:33 -0000 1.141
+++ KWQPainter.mm 24 Sep 2005 11:45:18 -0000 1.142
@@ -667,7 +667,7 @@
style.textColor = nsColor(data->state.pen.color());
style.backgroundColor = backgroundColor.isValid() ? nsColor(backgroundColor) : nil;
style.rtl = d == RTL ? true : false;
- style.visuallyOrdered = visuallyOrdered;
+ style.directionalOverride = visuallyOrdered;
style.letterSpacing = letterSpacing;
style.wordSpacing = wordSpacing;
style.smallCaps = smallCaps;
@@ -706,7 +706,7 @@
style.textColor = nsColor(data->state.pen.color());
style.backgroundColor = backgroundColor.isValid() ? nsColor(backgroundColor) : nil;
style.rtl = d == RTL ? true : false;
- style.visuallyOrdered = visuallyOrdered;
+ style.directionalOverride = visuallyOrdered;
style.letterSpacing = letterSpacing;
style.wordSpacing = wordSpacing;
style.smallCaps = smallCaps;
1.36 +1 -1 WebCore/kwq/WebCoreTextRenderer.h
Index: WebCoreTextRenderer.h
===================================================================
RCS file: /cvs/root/WebCore/kwq/WebCoreTextRenderer.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- WebCoreTextRenderer.h 29 Jul 2005 23:42:55 -0000 1.35
+++ WebCoreTextRenderer.h 24 Sep 2005 11:45:18 -0000 1.36
@@ -41,7 +41,7 @@
NSString **families;
unsigned smallCaps : 1;
unsigned rtl : 1;
- unsigned visuallyOrdered : 1;
+ unsigned directionalOverride : 1;
unsigned applyRunRounding : 1;
unsigned applyWordRounding : 1;
unsigned attemptFontSubstitution : 1;
1.25 +1 -1 WebCore/kwq/WebCoreTextRendererFactory.mm
Index: WebCoreTextRendererFactory.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/WebCoreTextRendererFactory.mm,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- WebCoreTextRendererFactory.mm 29 Jul 2005 23:42:55 -0000 1.24
+++ WebCoreTextRendererFactory.mm 24 Sep 2005 11:45:19 -0000 1.25
@@ -47,7 +47,7 @@
style->textColor = nil;
style->backgroundColor = nil;
style->rtl = false;
- style->visuallyOrdered = false;
+ style->directionalOverride = false;
style->letterSpacing = 0;
style->wordSpacing = 0;
style->smallCaps = false;
1.3 +1 -1 WebCore/layout-tests/fast/forms/006-expected.checksum
Index: 006-expected.checksum
===================================================================
RCS file: /cvs/root/WebCore/layout-tests/fast/forms/006-expected.checksum,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 006-expected.checksum 1 Sep 2005 06:13:26 -0000 1.2
+++ 006-expected.checksum 24 Sep 2005 11:45:19 -0000 1.3
@@ -1 +1 @@
-17d2d405204ad61b8ee3d57e1129eb97
\ No newline at end of file
+eed2e2ca78f5d8bd2421ab33189c931b
\ No newline at end of file
1.3 +5 -4 WebCore/layout-tests/fast/forms/006-expected.png
<<Binary file>>
1.3 +1 -1 WebCore/layout-tests/fast/forms/007-expected.checksum
Index: 007-expected.checksum
===================================================================
RCS file: /cvs/root/WebCore/layout-tests/fast/forms/007-expected.checksum,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 007-expected.checksum 1 Sep 2005 06:13:27 -0000 1.2
+++ 007-expected.checksum 24 Sep 2005 11:45:19 -0000 1.3
@@ -1 +1 @@
-a5779621a5bdced6dd78283625fd712a
\ No newline at end of file
+8c52d7300b4c1c23a6f12736837ee3b6
\ No newline at end of file
1.3 +4 -2 WebCore/layout-tests/fast/forms/007-expected.png
<<Binary file>>
1.1 WebCore/layout-tests/fast/text/international/bidi-override-expected.checksum
Index: bidi-override-expected.checksum
===================================================================
ad17c03a922bba7971aa993ebd5aa407
1.1 WebCore/layout-tests/fast/text/international/bidi-override-expected.png
<<Binary file>>
1.1 WebCore/layout-tests/fast/text/international/bidi-override-expected.txt
Index: bidi-override-expected.txt
===================================================================
layer at (0,0) size 800x600
RenderCanvas at (0,0) size 800x600
layer at (0,0) size 800x336
RenderBlock {HTML} at (0,0) size 800x336
RenderBody {BODY} at (8,16) size 784x312
RenderBlock {P} at (0,0) size 784x18
RenderText {TEXT} at (0,0) size 311x18
text run at (0,0) width 311: "All rows should be identical to the reference row."
RenderTable {TABLE} at (0,34) size 573x108
RenderTableSection {TBODY} at (0,0) size 0x108
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,0) size 97x27 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
RenderText {TEXT} at (29,5) size 64x18
text run at (29,5) width 64: "Reference"
RenderTableCell {TD} at (97,0) size 238x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 229x18
text run at (5,5) width 42: "abcdef"
text run at (47,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
text run at (73,5) width 40: "ghijkl "
text run at (113,5) width 49: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
text run at (162,5) width 22: "abc"
text run at (184,5) width 50: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
RenderTableCell {TD} at (335,0) size 238x27 [border: (1px solid #008000)] [r=0 c=2 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 229x18
text run at (5,5) width 49: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
text run at (54,5) width 22: "abc"
text run at (76,5) width 50: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
text run at (126,5) width 4: " "
text run at (130,5) width 42: "abcdef"
text run at (172,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
text run at (198,5) width 36: "ghijkl"
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,27) size 97x27 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
RenderText {TEXT} at (8,5) size 85x18
text run at (8,5) width 85: "CSS, siblings"
RenderTableCell {TD} at (97,27) size 238x27 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 22x18
text run at (5,5) width 22: "abc"
RenderInline {SPAN} at (0,0) size 65x18
RenderText {TEXT} at (27,5) size 65x18
text run at (27,5) width 65: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
RenderText {TEXT} at (92,5) size 141x18
text run at (92,5) width 20: "jkl "
text run at (207,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
RenderInline {SPAN} at (0,0) size 72x18
RenderText {TEXT} at (135,5) size 72x18
text run at (135,5) width 72: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
RenderText {TEXT} at (112,5) size 23x18
text run at (112,5) width 23: "\x{5D9}\x{5DB}\x{5DC}"
RenderTableCell {TD} at (335,27) size 238x27 [border: (1px solid #008000)] [r=1 c=2 rs=1 cs=1]
RenderText {TEXT} at (130,5) size 22x18
text run at (130,5) width 22: "abc"
RenderInline {SPAN} at (0,0) size 65x18
RenderText {TEXT} at (152,5) size 65x18
text run at (152,5) width 65: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
RenderText {TEXT} at (100,5) size 133x18
text run at (100,5) width 30: " \x{5D0}\x{5D1}\x{5D2}"
text run at (217,5) width 16: "jkl"
RenderInline {SPAN} at (0,0) size 72x18
RenderText {TEXT} at (28,5) size 72x18
text run at (28,5) width 72: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
RenderText {TEXT} at (5,5) size 23x18
text run at (5,5) width 23: "\x{5D9}\x{5DB}\x{5DC}"
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,54) size 97x27 [border: (1px solid #008000)] [r=2 c=0 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 88x18
text run at (5,5) width 88: "CSS, children"
RenderTableCell {TD} at (97,54) size 238x27 [border: (1px solid #008000)] [r=2 c=1 rs=1 cs=1]
RenderInline {SPAN} at (0,0) size 103x18
RenderText {TEXT} at (5,5) size 22x18
text run at (5,5) width 22: "abc"
RenderInline {SPAN} at (0,0) size 65x18
RenderText {TEXT} at (27,5) size 65x18
text run at (27,5) width 65: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
RenderText {TEXT} at (92,5) size 16x18
text run at (92,5) width 16: "jkl"
RenderText {TEXT} at (108,5) size 4x18
text run at (108,5) width 4: " "
RenderInline {SPAN} at (0,0) size 121x18
RenderText {TEXT} at (207,5) size 26x18
text run at (207,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
RenderInline {SPAN} at (0,0) size 72x18
RenderText {TEXT} at (135,5) size 72x18
text run at (135,5) width 72: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
RenderText {TEXT} at (112,5) size 23x18
text run at (112,5) width 23: "\x{5D9}\x{5DB}\x{5DC}"
RenderTableCell {TD} at (335,54) size 238x27 [border: (1px solid #008000)] [r=2 c=2 rs=1 cs=1]
RenderInline {SPAN} at (0,0) size 103x18
RenderText {TEXT} at (130,5) size 22x18
text run at (130,5) width 22: "abc"
RenderInline {SPAN} at (0,0) size 65x18
RenderText {TEXT} at (152,5) size 65x18
text run at (152,5) width 65: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
RenderText {TEXT} at (217,5) size 16x18
text run at (217,5) width 16: "jkl"
RenderText {TEXT} at (126,5) size 4x18
text run at (126,5) width 4: " "
RenderInline {SPAN} at (0,0) size 121x18
RenderText {TEXT} at (100,5) size 26x18
text run at (100,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
RenderInline {SPAN} at (0,0) size 72x18
RenderText {TEXT} at (28,5) size 72x18
text run at (28,5) width 72: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
RenderText {TEXT} at (5,5) size 23x18
text run at (5,5) width 23: "\x{5D9}\x{5DB}\x{5DC}"
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,81) size 97x27 [border: (1px solid #008000)] [r=3 c=0 rs=1 cs=1]
RenderText {TEXT} at (39,5) size 54x18
text run at (39,5) width 54: "Unicode"
RenderTableCell {TD} at (97,81) size 238x27 [border: (1px solid #008000)] [r=3 c=1 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 228x18
text run at (5,5) width 22: "abc"
text run at (27,5) width 65: "\x{202E}ihg\x{5D0}\x{5D1}\x{5D2}fed"
text run at (92,5) width 20: "\x{202C}jkl "
text run at (112,5) width 23: "\x{202C}\x{5D9}\x{5DB}\x{5DC}"
text run at (135,5) width 72: "\x{202D}\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
text run at (207,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
RenderTableCell {TD} at (335,81) size 238x27 [border: (1px solid #008000)] [r=3 c=2 rs=1 cs=1]
RenderText {TEXT} at (5,5) size 228x18
text run at (5,5) width 23: "\x{202C}\x{5D9}\x{5DB}\x{5DC}"
text run at (28,5) width 72: "\x{202D}\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
text run at (100,5) width 26: "\x{5D0}\x{5D1}\x{5D2}"
text run at (126,5) width 4: " "
text run at (130,5) width 22: "abc"
text run at (152,5) width 65: "\x{202E}ihg\x{5D0}\x{5D1}\x{5D2}fed"
text run at (217,5) width 16: "\x{202C}jkl"
RenderBlock {P} at (0,158) size 784x18
RenderText {TEXT} at (0,0) size 387x18
text run at (0,0) width 387: "The CSS column should be identical to the reference column."
RenderTable {TABLE} at (0,192) size 260x120
RenderTableSection {TBODY} at (0,0) size 0x120
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,0) size 130x27 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
RenderText {TEXT} at (33,5) size 64x18
text run at (33,5) width 64: "Reference"
RenderTableCell {TD} at (130,0) size 130x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
RenderText {TEXT} at (51,5) size 29x18
text run at (51,5) width 29: "CSS"
RenderTableRow {TR} at (0,0) size 0x0
RenderTableCell {TD} at (0,27) size 130x93 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
RenderBlock {P} at (5,21) size 121x18
RenderText {TEXT} at (8,0) size 104x18
text run at (8,0) width 42: "abcdef"
text run at (50,0) width 26: "\x{5D0}\x{5D1}\x{5D2}"
text run at (76,0) width 36: "ghijkl"
RenderBlock {P} at (5,55) size 121x18
RenderText {TEXT} at (0,0) size 121x18
text run at (0,0) width 49: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
text run at (49,0) width 22: "abc"
text run at (71,0) width 50: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
RenderTableCell {TD} at (130,27) size 130x93 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
RenderBlock {P} at (5,21) size 121x18
RenderText {TEXT} at (8,0) size 104x18
text run at (8,0) width 104: "lkjihg\x{5D0}\x{5D1}\x{5D2}fedcba"
RenderBlock {P} at (5,55) size 121x18
RenderText {TEXT} at (0,0) size 121x18
text run at (0,0) width 121: "\x{5DC}\x{5DB}\x{5D9}\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}\x{5D2}\x{5D1}\x{5D0}"
1.1 WebCore/layout-tests/fast/text/international/bidi-override.html
Index: bidi-override.html
===================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Directional overrides</title>
<style type="text/css">
table {border-spacing:0; border-collapse:collapse; text-align:center;}
td {border: 1px solid green; padding:4px;}
</style>
</head>
<body>
<p>All rows should be identical to the reference row.</p>
<table>
<tr>
<td style="text-align:right">Reference</td>
<td>abcdefאבגghijkl
זחטיכלabcאבגדהו</td>
<td style="direction:rtl;">ghijklאבגabcdef
אבגדהוabcזחטיכל</td>
</tr>
<tr>
<td style="text-align:right">CSS, siblings</td>
<td>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihgאבגfed</span>jkl אבג<span style="direction:ltr; unicode-bidi:bidi-override;">טחזabcוהד</span>יכל</td>
<td style="direction:rtl;">abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihgאבגfed</span>jkl אבג<span style="direction:ltr; unicode-bidi:bidi-override;">טחזabcוהד</span>יכל</td>
</tr>
<tr>
<td style="text-align:right">CSS, children</td>
<td><span>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihgאבגfed</span>jkl</span>
<span>אבג<span style="direction:ltr; unicode-bidi:bidi-override;">טחזabcוהד</span>יכל</span></td>
<td style="direction:rtl;"><span>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihgאבגfed</span>jkl</span>
<span>אבג<span style="direction:ltr; unicode-bidi:bidi-override;">טחזabcוהד</span>יכל</span></td>
</tr>
<tr>
<td style="text-align:right">Unicode</td>
<td>abc‮ihgאבגfed‬jkl
אבג‭טחזabcוהד‬יכל</td>
<td style="direction:rtl;">abc‮ihgאבגfed‬jkl
אבג‭טחזabcוהד‬יכל</td>
</tr>
</table>
<p>The CSS column should be identical to the reference column.</p>
<table>
<tr>
<td>Reference</td>
<td>CSS</td>
</tr>
<tr>
<td>
<p>abcdefאבגghijkl</p>
<p>זחטיכלabcאבגדהו</p>
</td>
<td>
<p style="direction:rtl; unicode-bidi:bidi-override;">lkjihgאבגfedcba</p>
<p style="direction:ltr; unicode-bidi:bidi-override;">לכיטחזabcוהדגבא</p>
</td>
</tr>
</table>
</body>
</html>
1.2 +1 -1 WebCore/layout-tests/fast/text/whitespace/013-expected.checksum
Index: 013-expected.checksum
===================================================================
RCS file: /cvs/root/WebCore/layout-tests/fast/text/whitespace/013-expected.checksum,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 013-expected.checksum 29 Aug 2005 05:59:50 -0000 1.1
+++ 013-expected.checksum 24 Sep 2005 11:45:21 -0000 1.2
@@ -1 +1 @@
-d25cc6dee9e550df61acc194775a758c
\ No newline at end of file
+62e7e4ad1d9fd21b1e5d5ec5905df9a5
\ No newline at end of file
1.2 +2 -1 WebCore/layout-tests/fast/text/whitespace/013-expected.png
<<Binary file>>
More information about the webkit-changes
mailing list