Title: [101272] trunk
- Revision
- 101272
- Author
- commit-qu...@webkit.org
- Date
- 2011-11-28 12:09:04 -0800 (Mon, 28 Nov 2011)
Log Message
Crash due to bidi style in isolated run
https://bugs.webkit.org/show_bug.cgi?id=72978
Patch by Ken Buchanan <ke...@chromium.org> on 2011-11-28
Reviewed by Eric Seidel.
Source/WebCore:
Prevent the UBA from changing the embedding level when inside an isolated run.
* rendering/InlineIterator.h:
(WebCore::notifyObserverEnteredObject):
(WebCore::notifyObserverWillExitObject):
LayoutTests:
Test to verify fix for crashing bug.
* fast/text/international/embed-bidi-style-in-isolate-crash.html: Added
* fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt: Added
Modified Paths
Added Paths
Property Changed
Diff
Modified: trunk/LayoutTests/ChangeLog (101271 => 101272)
--- trunk/LayoutTests/ChangeLog 2011-11-28 20:05:27 UTC (rev 101271)
+++ trunk/LayoutTests/ChangeLog 2011-11-28 20:09:04 UTC (rev 101272)
@@ -1,3 +1,15 @@
+2011-11-28 Ken Buchanan <ke...@chromium.org>
+
+ Crash due to bidi style in isolated run
+ https://bugs.webkit.org/show_bug.cgi?id=72978
+
+ Reviewed by Eric Seidel.
+
+ Test to verify fix for crashing bug.
+
+ * fast/text/international/embed-bidi-style-in-isolate-crash.html: Added
+ * fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt: Added
+
2011-11-24 Ryosuke Niwa <rn...@webkit.org>
dir=auto should imply unicode-bidi:isolate by default
Property changes on: trunk/LayoutTests/ChangeLog
___________________________________________________________________
Added: svn:executable
Added: trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt (0 => 101272)
--- trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt 2011-11-28 20:09:04 UTC (rev 101272)
@@ -0,0 +1 @@
+ PASS, if no exception or crash in debug
Property changes on: trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash-expected.txt
___________________________________________________________________
Added: svn:executable
Added: trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash.html (0 => 101272)
--- trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash.html (rev 0)
+++ trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash.html 2011-11-28 20:09:04 UTC (rev 101272)
@@ -0,0 +1,11 @@
+<bdi>
+ <ruby>PASS, if no exception or crash in debug</ruby>
+ <em dir="ltr">
+ <embed></embed>
+ <audio _onerror_="open()" src=""
+ </em>
+</bdi>
+<script>
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+</script>
Property changes on: trunk/LayoutTests/fast/text/international/embed-bidi-style-in-isolate-crash.html
___________________________________________________________________
Added: svn:executable
Modified: trunk/Source/WebCore/ChangeLog (101271 => 101272)
--- trunk/Source/WebCore/ChangeLog 2011-11-28 20:05:27 UTC (rev 101271)
+++ trunk/Source/WebCore/ChangeLog 2011-11-28 20:09:04 UTC (rev 101272)
@@ -1,3 +1,16 @@
+2011-11-28 Ken Buchanan <ke...@chromium.org>
+
+ Crash due to bidi style in isolated run
+ https://bugs.webkit.org/show_bug.cgi?id=72978
+
+ Reviewed by Eric Seidel.
+
+ Prevent the UBA from changing the embedding level when inside an isolated run.
+
+ * rendering/InlineIterator.h:
+ (WebCore::notifyObserverEnteredObject):
+ (WebCore::notifyObserverWillExitObject):
+
2011-11-28 Martin Robinson <mrobin...@igalia.com>
Fix 'make dist' by adding two missing files to source list.
Property changes on: trunk/Source/WebCore/ChangeLog
___________________________________________________________________
Added: svn:executable
Modified: trunk/Source/WebCore/rendering/InlineIterator.h (101271 => 101272)
--- trunk/Source/WebCore/rendering/InlineIterator.h 2011-11-28 20:05:27 UTC (rev 101271)
+++ trunk/Source/WebCore/rendering/InlineIterator.h 2011-11-28 20:09:04 UTC (rev 101272)
@@ -139,7 +139,8 @@
}
// FIXME: Should unicode-bidi: plaintext really be embedding override/embed characters here?
- observer->embed(embedCharFromDirection(style->direction(), unicodeBidi), FromStyleOrDOM);
+ if (!observer->inIsolate())
+ observer->embed(embedCharFromDirection(style->direction(), unicodeBidi), FromStyleOrDOM);
}
template <class Observer>
@@ -157,7 +158,8 @@
}
// Otherwise we pop any embed/override character we added when we opened this tag.
- observer->embed(WTF::Unicode::PopDirectionalFormat, FromStyleOrDOM);
+ if (!observer->inIsolate())
+ observer->embed(WTF::Unicode::PopDirectionalFormat, FromStyleOrDOM);
}
static inline bool isIteratorTarget(RenderObject* object)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes