[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.2.3-2-25-gb2c19be
Gustavo Noronha Silva
gns at gnome.org
Mon Sep 6 13:09:34 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 31e4e68e93b116b1c948c85ca94273640d78427e
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Jun 26 00:31:54 2010 +0000
<rdar://problem/8000667> Certain text is repeated before and after a line break
Reviewed by Sam Weinig.
WebCore:
Test: fast/text/bidi-explicit-embedding-past-end.html
* platform/text/BidiResolver.h:
(WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
creates BidiRuns up to the end of the range, so at that point, we can stop iterating.
LayoutTests:
* fast/text/bidi-explicit-embedding-past-end-expected.checksum: Added.
* fast/text/bidi-explicit-embedding-past-end-expected.png: Added.
* fast/text/bidi-explicit-embedding-past-end-expected.txt: Added.
* fast/text/bidi-explicit-embedding-past-end.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index e93559b..fbe08eb 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2010-06-25 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8000667> Certain text is repeated before and after a line break
+
+ * fast/text/bidi-explicit-embedding-past-end-expected.checksum: Added.
+ * fast/text/bidi-explicit-embedding-past-end-expected.png: Added.
+ * fast/text/bidi-explicit-embedding-past-end-expected.txt: Added.
+ * fast/text/bidi-explicit-embedding-past-end.html: Added.
+
2010-06-23 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Eric Seidel.
diff --git a/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.checksum b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.checksum
new file mode 100644
index 0000000..a13940f
--- /dev/null
+++ b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.checksum
@@ -0,0 +1 @@
+5fb318ab9ea441f697f7413d33c022ca
\ No newline at end of file
diff --git a/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.png b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.png
new file mode 100644
index 0000000..081ef26
Binary files /dev/null and b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.png differ
diff --git a/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.txt b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.txt
new file mode 100644
index 0000000..f7b32e7
--- /dev/null
+++ b/LayoutTests/fast/text/bidi-explicit-embedding-past-end-expected.txt
@@ -0,0 +1,12 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderBlock {DIV} at (0,0) size 100x100
+ RenderText {#text} at (0,0) size 50x50
+ text run at (0,0) width 50: "a"
+ RenderInline {SPAN} at (0,0) size 100x50 [color=#0000FF]
+ RenderText {#text} at (0,50) size 100x50
+ text run at (0,50) width 100: ".."
+ RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/fast/text/bidi-explicit-embedding-past-end.html b/LayoutTests/fast/text/bidi-explicit-embedding-past-end.html
new file mode 100644
index 0000000..9fca5ea
--- /dev/null
+++ b/LayoutTests/fast/text/bidi-explicit-embedding-past-end.html
@@ -0,0 +1,5 @@
+<!-- The correct rendering is a single 50x50 black box on the first line and a 100x50 black box on
+ the following line. -->
+<div style="font-family: ahem; font-size: 50px; width: 100px;">
+ a <span dir="ltr" style="color: blue;">..</span>
+</div>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d24485f..e021d13 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-06-25 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8000667> Certain text is repeated before and after a line break
+
+ Test: fast/text/bidi-explicit-embedding-past-end.html
+
+ * platform/text/BidiResolver.h:
+ (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range
+ creates BidiRuns up to the end of the range, so at that point, we can stop iterating.
+
2010-06-23 Nikolas Zimmermann <nzimmermann at rim.com>
Reviewed by Eric Seidel.
diff --git a/WebCore/platform/text/BidiResolver.h b/WebCore/platform/text/BidiResolver.h
index 286cdcd..a99fd01 100644
--- a/WebCore/platform/text/BidiResolver.h
+++ b/WebCore/platform/text/BidiResolver.h
@@ -806,35 +806,33 @@ void BidiResolver<Iterator, Run>::createBidiRunsForLine(const Iterator& end, boo
break;
}
- if (pastEnd) {
- if (eor == current) {
- if (!reachedEndOfLine) {
- eor = endOfLine;
- switch (m_status.eor) {
- case LeftToRight:
- case RightToLeft:
- case ArabicNumber:
- m_direction = m_status.eor;
- break;
- case EuropeanNumber:
- m_direction = m_status.lastStrong == LeftToRight ? LeftToRight : EuropeanNumber;
- break;
- default:
- ASSERT(false);
- }
- appendRun();
+ if (pastEnd && eor == current) {
+ if (!reachedEndOfLine) {
+ eor = endOfLine;
+ switch (m_status.eor) {
+ case LeftToRight:
+ case RightToLeft:
+ case ArabicNumber:
+ m_direction = m_status.eor;
+ break;
+ case EuropeanNumber:
+ m_direction = m_status.lastStrong == LeftToRight ? LeftToRight : EuropeanNumber;
+ break;
+ default:
+ ASSERT(false);
}
- current = end;
- m_status = stateAtEnd.m_status;
- sor = stateAtEnd.sor;
- eor = stateAtEnd.eor;
- last = stateAtEnd.last;
- reachedEndOfLine = stateAtEnd.reachedEndOfLine;
- lastBeforeET = stateAtEnd.lastBeforeET;
- emptyRun = stateAtEnd.emptyRun;
- m_direction = OtherNeutral;
- break;
+ appendRun();
}
+ current = end;
+ m_status = stateAtEnd.m_status;
+ sor = stateAtEnd.sor;
+ eor = stateAtEnd.eor;
+ last = stateAtEnd.last;
+ reachedEndOfLine = stateAtEnd.reachedEndOfLine;
+ lastBeforeET = stateAtEnd.lastBeforeET;
+ emptyRun = stateAtEnd.emptyRun;
+ m_direction = OtherNeutral;
+ break;
}
// set m_status.last as needed.
@@ -887,8 +885,21 @@ void BidiResolver<Iterator, Run>::createBidiRunsForLine(const Iterator& end, boo
}
increment();
- if (!m_currentExplicitEmbeddingSequence.isEmpty())
+ if (!m_currentExplicitEmbeddingSequence.isEmpty()) {
commitExplicitEmbedding();
+ if (pastEnd) {
+ current = end;
+ m_status = stateAtEnd.m_status;
+ sor = stateAtEnd.sor;
+ eor = stateAtEnd.eor;
+ last = stateAtEnd.last;
+ reachedEndOfLine = stateAtEnd.reachedEndOfLine;
+ lastBeforeET = stateAtEnd.lastBeforeET;
+ emptyRun = stateAtEnd.emptyRun;
+ m_direction = OtherNeutral;
+ break;
+ }
+ }
if (emptyRun && (dirCurrent == RightToLeftEmbedding
|| dirCurrent == LeftToRightEmbedding
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list