[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&#x05d0;&#x05d1;&#x05d2;ghijkl
                  &#x05d6;&#x05d7;&#x05d8;&#x05d9;&#x05db;&#x05dc;abc&#x05d0;&#x05d1;&#x05d2;&#x05d3;&#x05d4;&#x05d5;</td>
              <td style="direction:rtl;">ghijkl&#x05d0;&#x05d1;&#x05d2;abcdef
                  &#x05d0;&#x05d1;&#x05d2;&#x05d3;&#x05d4;&#x05d5;abc&#x05d6;&#x05d7;&#x05d8;&#x05d9;&#x05db;&#x05dc;</td>
          </tr>
          <tr>
              <td style="text-align:right">CSS, siblings</td>
              <td>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihg&#x05d0;&#x05d1;&#x05d2;fed</span>jkl &#x05d0;&#x05d1;&#x05d2;<span style="direction:ltr; unicode-bidi:bidi-override;">&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;</span>&#x05d9;&#x05db;&#x05dc;</td>
              <td style="direction:rtl;">abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihg&#x05d0;&#x05d1;&#x05d2;fed</span>jkl &#x05d0;&#x05d1;&#x05d2;<span style="direction:ltr; unicode-bidi:bidi-override;">&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;</span>&#x05d9;&#x05db;&#x05dc;</td>
          </tr>
          <tr>
              <td style="text-align:right">CSS, children</td>
              <td><span>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihg&#x05d0;&#x05d1;&#x05d2;fed</span>jkl</span>
                  <span>&#x05d0;&#x05d1;&#x05d2;<span style="direction:ltr; unicode-bidi:bidi-override;">&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;</span>&#x05d9;&#x05db;&#x05dc;</span></td>
              <td style="direction:rtl;"><span>abc<span style="direction:rtl; unicode-bidi:bidi-override;">ihg&#x05d0;&#x05d1;&#x05d2;fed</span>jkl</span>
                  <span>&#x05d0;&#x05d1;&#x05d2;<span style="direction:ltr; unicode-bidi:bidi-override;">&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;</span>&#x05d9;&#x05db;&#x05dc;</span></td>
          </tr>
          <tr>
              <td style="text-align:right">Unicode</td>
              <td>abc&#x202e;ihg&#x05d0;&#x05d1;&#x05d2;fed&#x202c;jkl
                  &#x05d0;&#x05d1;&#x05d2;&#x202d;&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;&#x202c;&#x05d9;&#x05db;&#x05dc;</td>
              <td style="direction:rtl;">abc&#x202e;ihg&#x05d0;&#x05d1;&#x05d2;fed&#x202c;jkl
                  &#x05d0;&#x05d1;&#x05d2;&#x202d;&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;&#x202c;&#x05d9;&#x05db;&#x05dc;</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&#x05d0;&#x05d1;&#x05d2;ghijkl</p>
                  <p>&#x05d6;&#x05d7;&#x05d8;&#x05d9;&#x05db;&#x05dc;abc&#x05d0;&#x05d1;&#x05d2;&#x05d3;&#x05d4;&#x05d5;</p>
              </td>
              <td>
                  <p style="direction:rtl; unicode-bidi:bidi-override;">lkjihg&#x05d0;&#x05d1;&#x05d2;fedcba</p>
                  <p style="direction:ltr; unicode-bidi:bidi-override;">&#x05dc;&#x05db;&#x05d9;&#x05d8;&#x05d7;&#x05d6;abc&#x05d5;&#x05d4;&#x05d3;&#x05d2;&#x05d1;&#x05d0;</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