Title: [158979] trunk
- Revision
- 158979
- Author
- [email protected]
- Date
- 2013-11-08 17:13:29 -0800 (Fri, 08 Nov 2013)
Log Message
getCueAsHTML() on an empty cue should return a document fragment
https://bugs.webkit.org/show_bug.cgi?id=124084
Reviewed by Darin Adler.
Source/WebCore:
Test: media/track/track-cue-empty-cue-text.html
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::createDocumentFragmentFromCueText): Don't return early when the
passed an empty string.
LayoutTests:
* media/track/track-cue-empty-cue-text-expected.txt: Added.
* media/track/track-cue-empty-cue-text.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (158978 => 158979)
--- trunk/LayoutTests/ChangeLog 2013-11-09 00:51:54 UTC (rev 158978)
+++ trunk/LayoutTests/ChangeLog 2013-11-09 01:13:29 UTC (rev 158979)
@@ -1,3 +1,13 @@
+2013-11-08 Eric Carlson <[email protected]>
+
+ getCueAsHTML() on an empty cue should return a document fragment
+ https://bugs.webkit.org/show_bug.cgi?id=124084
+
+ Reviewed by Darin Adler.
+
+ * media/track/track-cue-empty-cue-text-expected.txt: Added.
+ * media/track/track-cue-empty-cue-text.html: Added.
+
2013-11-08 Alexandru Chiculita <[email protected]>
Web Inspector: It should be possible to debug the Inspector code
Added: trunk/LayoutTests/media/track/track-cue-empty-cue-text-expected.txt (0 => 158979)
--- trunk/LayoutTests/media/track/track-cue-empty-cue-text-expected.txt (rev 0)
+++ trunk/LayoutTests/media/track/track-cue-empty-cue-text-expected.txt 2013-11-09 01:13:29 UTC (rev 158979)
@@ -0,0 +1,13 @@
+getCueAsHTML() on an empty cue should return a valid document fragment.
+
+
+** The getCueAsHTML() method should return a document fragment **
+EXPECTED (fragment != 'null') OK
+
+** The document fragment should have one child, an empty Text node **
+EXPECTED (fragment.childNodes.length == '1') OK
+EXPECTED (fragment.childNodes[0].length == '0') OK
+EXPECTED (fragment.childNodes[0].constructor.name == 'undefined') OK
+
+END OF TEST
+
Added: trunk/LayoutTests/media/track/track-cue-empty-cue-text.html (0 => 158979)
--- trunk/LayoutTests/media/track/track-cue-empty-cue-text.html (rev 0)
+++ trunk/LayoutTests/media/track/track-cue-empty-cue-text.html 2013-11-09 01:13:29 UTC (rev 158979)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src=""
+ <script src=""
+ <script>
+ var fragment;
+ function startTest()
+ {
+ var emptyCue = new TextTrackCue(0, 0, "");
+ fragment = emptyCue.getCueAsHTML();
+
+ consoleWrite("** The getCueAsHTML() method should return a document fragment **");
+ testExpected("fragment", null, "!=");
+
+ consoleWrite("<br>** The document fragment should have one child, an empty Text node **");
+ testExpected("fragment.childNodes.length", 1);
+ testExpected("fragment.childNodes[0].length", 0);
+ testExpected("fragment.childNodes[0].constructor.name", Text.name);
+
+ consoleWrite("");
+
+ endTest();
+ }
+ </script>
+ </head>
+
+ <body _onload_="startTest()">
+ <p>getCueAsHTML() on an empty cue should return a valid document fragment.</p>
+ <video controls />
+ </body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (158978 => 158979)
--- trunk/Source/WebCore/ChangeLog 2013-11-09 00:51:54 UTC (rev 158978)
+++ trunk/Source/WebCore/ChangeLog 2013-11-09 01:13:29 UTC (rev 158979)
@@ -1,3 +1,16 @@
+2013-11-08 Eric Carlson <[email protected]>
+
+ getCueAsHTML() on an empty cue should return a document fragment
+ https://bugs.webkit.org/show_bug.cgi?id=124084
+
+ Reviewed by Darin Adler.
+
+ Test: media/track/track-cue-empty-cue-text.html
+
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::createDocumentFragmentFromCueText): Don't return early when the
+ passed an empty string.
+
2013-11-08 Anders Carlsson <[email protected]>
KeyedEncoder should be able to encoder objects
Modified: trunk/Source/WebCore/html/track/WebVTTParser.cpp (158978 => 158979)
--- trunk/Source/WebCore/html/track/WebVTTParser.cpp 2013-11-09 00:51:54 UTC (rev 158978)
+++ trunk/Source/WebCore/html/track/WebVTTParser.cpp 2013-11-09 01:13:29 UTC (rev 158979)
@@ -348,13 +348,16 @@
// 4.8.10.13.4 WebVTT cue text parsing rules and
// 4.8.10.13.5 WebVTT cue text DOM construction rules.
- if (!text.length())
- return 0;
-
ASSERT(m_scriptExecutionContext->isDocument());
Document* document = toDocument(m_scriptExecutionContext);
RefPtr<DocumentFragment> fragment = DocumentFragment::create(*document);
+
+ if (text.isEmpty()) {
+ fragment->parserAppendChild(Text::create(*document, emptyString()));
+ return fragment.release();
+ }
+
m_currentNode = fragment;
m_tokenizer->reset();
m_token.clear();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes