<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[173000] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/173000">173000</a></dd>
<dt>Author</dt> <dd>k.czech@samsung.com</dd>
<dt>Date</dt> <dd>2014-08-27 01:04:14 -0700 (Wed, 27 Aug 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>[EFL] Share fast/speechsynthesis/ with other ports
https://bugs.webkit.org/show_bug.cgi?id=136224
Reviewed by Chris Fleizach.
.:
Enable WebSpeech for EFL.
* Source/cmake/OptionsEfl.cmake:
LayoutTests:
Share fast/speechsynthesis tests with EFL after <a href="http://trac.webkit.org/projects/webkit/changeset/172956">r172956</a>.
Skipped them for GTK and Win.
* fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
* fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
* fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
* fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
* fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
* fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
* fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
* fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
* fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
* fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
* fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
* fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
* fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
* fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
* fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
* fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
* fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
* fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
* fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
* fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
* fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
* platform/gtk/TestExpectations: Skipped for GTK
* platform/win/TestExpectations: Skipped for Win</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
<li><a href="#trunkSourcecmakeOptionsEflcmake">trunk/Source/cmake/OptionsEfl.cmake</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/fast/speechsynthesis/</li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisboundaryeventsexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisboundaryeventshtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelcrashexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelcrashhtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelhtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutteranceexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutterancehtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiselapsedtimeexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesiselapsedtimehtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisgcutterancecrashexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisgcutterancecrashhtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesispauseresumeexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesispauseresumehtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakemptystringexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakemptystringhtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakhtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisutteranceusesvoiceexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisutteranceusesvoicehtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisvoicesexpectedtxt">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastspeechsynthesisspeechsynthesisvoiceshtml">trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices.html</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li>trunk/LayoutTests/platform/mac/fast/speechsynthesis/</li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (172999 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2014-08-27 07:56:09 UTC (rev 172999)
+++ trunk/ChangeLog        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2014-08-27 Krzysztof Czech <k.czech@samsung.com>
+
+ [EFL] Share fast/speechsynthesis/ with other ports
+ https://bugs.webkit.org/show_bug.cgi?id=136224
+
+ Reviewed by Chris Fleizach.
+
+ Enable WebSpeech for EFL.
+
+ * Source/cmake/OptionsEfl.cmake:
+
</ins><span class="cx"> 2014-08-26 Krzysztof Czech <k.czech@samsung.com>
</span><span class="cx">
</span><span class="cx"> [EFL] Utilize espeak as a synthesizer back-end for WebSpeech
</span></span></pre></div>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (172999 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-08-27 07:56:09 UTC (rev 172999)
+++ trunk/LayoutTests/ChangeLog        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2014-08-27 Krzysztof Czech <k.czech@samsung.com>
+
+ [EFL] Share fast/speechsynthesis/ with other ports
+ https://bugs.webkit.org/show_bug.cgi?id=136224
+
+ Reviewed by Chris Fleizach.
+
+ Share fast/speechsynthesis tests with EFL after r172956.
+ Skipped them for GTK and Win.
+
+ * fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
+ * fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
+ * fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
+ * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
+ * fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
+ * fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
+ * fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
+ * fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
+ * fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
+ * fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
+ * fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
+ * fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
+ * platform/gtk/TestExpectations: Skipped for GTK
+ * platform/win/TestExpectations: Skipped for Win
+
</ins><span class="cx"> 2014-08-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
</span><span class="cx">
</span><span class="cx"> [EFL] Unskip compositing test
</span></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisboundaryeventsexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisboundaryeventsexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+This tests that a speech job will generate the correct boundary events.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Speech started
+Boundary event: word, Character index: 0
+Boundary event: sentence, Character index: 14
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisboundaryeventshtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisboundaryeventshtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that a speech job will generate the correct boundary events.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ window.jsTestIsAsync = true;
+
+ var u = new SpeechSynthesisUtterance("this is a test");
+ u.onstart = function(event) {
+ debug("Speech started");
+ }
+
+ u.onboundary = function(event) {
+ debug("Boundary event: " + event.name + ", Character index: " + event.charIndex);
+ }
+
+ u.onend = function(event) {
+ finishJSTest();
+ }
+
+ // Queue the first job which will start speaking immediately.
+ speechSynthesis.speak(u);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelcrashexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscancelcrashexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+This tests that cancelling speech at the right time will not crash due to mismanaging of the queue during a cancel.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelcrashhtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscancelcrashhtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-crash.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that cancelling speech at the right time will not crash due to mismanaging of the queue during a cancel.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ window.jsTestIsAsync = true;
+
+ function speak() {
+ var x = window.parent.speechSynthesis;
+ x.cancel();
+ x.resume();
+ x.speak(new SpeechSynthesisUtterance("X"));
+ }
+ speak();
+
+ // Don't crash!
+ setTimeout("speak(); finishJSTest()", 52);
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscancelexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+This tests that cancelling a speech job fires the right events.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Speech started
+PASS speechSynthesis.pending is true
+Speech error received because we cancelled and speech should no longer be pending.
+PASS speechSynthesis.pending is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscancelhtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscancelhtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-cancel.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,54 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that cancelling a speech job fires the right events.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ window.jsTestIsAsync = true;
+
+ var u = new SpeechSynthesisUtterance("this is a test");
+ u.onstart = function(event) {
+ debug("Speech started");
+ }
+
+ u.onerror = function(event) {
+ debug("Speech error received because we cancelled and speech should no longer be pending.");
+ shouldBeFalse("speechSynthesis.pending");
+ finishJSTest();
+ }
+
+ // Queue the first job which will start speaking immediately.
+ speechSynthesis.speak(u);
+
+ // Make a few more jobs, so that when we cancel, it will clear the entire queue.
+ var u2 = new SpeechSynthesisUtterance("this is a second test");
+ speechSynthesis.speak(u2);
+
+ // Make a few more jobs, so that when we cancel, it will clear the entire queue.
+ var u3 = new SpeechSynthesisUtterance("this is a third test");
+ speechSynthesis.speak(u3);
+
+ // While we have two jobs, speech synthesis should report that it's pending.
+ shouldBeTrue("speechSynthesis.pending");
+
+ // Cancel speaking.
+ setTimeout("speechSynthesis.cancel()", "1");
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutteranceexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscrashonbadutteranceexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+This tests that passing in the wrong type of data won't crash speech synthesis code
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiscrashonbadutterancehtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiscrashonbadutterancehtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that passing in the wrong type of data won't crash speech synthesis code");
+
+ // Don't crash. Speak is supposed to take an utterance, not a string.
+ speechSynthesis.speak('Hello World');
+
+ // Don't crash. An utterance voice is supposed to take a voice object, not a string.
+ var x = new SpeechSynthesisUtterance('Hello World');
+ x.voice = "asdf";
+
+ // Don't crash. An utterance is supposed to take a string, not a number.
+ x = new SpeechSynthesisUtterance(223);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiselapsedtimeexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiselapsedtimeexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+This tests that elapsed time is a number that is reasonable.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Our start time for speech should be very small.
+PASS startTime < .5 is true
+Word boundary received: startTime should be less than the current elapsed time.
+PASS startTime < event.elapsedTime is true
+Word boundary received: startTime should be less than the current elapsed time.
+PASS startTime < event.elapsedTime is true
+The finished elapsed time should be small and the startTime should have occurred before the end.
+PASS startTime < event.elapsedTime is true
+PASS event.elapsedTime < 1 is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesiselapsedtimehtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesiselapsedtimehtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-elapsed-time.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ description("This tests that elapsed time is a number that is reasonable.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ window.jsTestIsAsync = true;
+
+ var u = new SpeechSynthesisUtterance("hello word");
+
+ var startTime = 0;
+ u.onstart = function(event) {
+ startTime = event.elapsedTime;
+ debug("Our start time for speech should be very small.");
+ shouldBeTrue("startTime < .5");
+ }
+ u.onboundary = function(event) {
+ debug("Word boundary received: startTime should be less than the current elapsed time.");
+ shouldBeTrue("startTime < event.elapsedTime");
+ }
+
+ u.onend = function(event) {
+ debug("The finished elapsed time should be small and the startTime should have occurred before the end.");
+ shouldBeTrue("startTime < event.elapsedTime");
+ shouldBeTrue("event.elapsedTime < 1");
+ finishJSTest();
+ }
+
+ speechSynthesis.speak(u);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisgcutterancecrashexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisgcutterancecrashexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+This tests that there isn't a crash if the utterance object is garbage-collected before speaking finishes.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisgcutterancecrashhtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisgcutterancecrashhtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ description("This tests that there isn't a crash if the utterance object is garbage-collected before speaking finishes.");
+
+ window.jsTestIsAsync = true;
+
+ speechSynthesis.speak(new SpeechSynthesisUtterance("test"));
+ gc();
+
+ window.setInterval(function() {
+ if (!speechSynthesis.speaking)
+ finishJSTest();
+ }, 10);
+
+</script>
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesispauseresumeexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesispauseresumeexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+This tests that pausing/resuming speech jobs works as expected.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+On pause event received.
+PASS speechSynthesis.paused is true
+PASS speechSynthesis.speaking is true
+On resume event received.
+PASS speechSynthesis.paused is false
+PASS speechSynthesis.speaking is true
+On end event received.
+PASS speechSynthesis.paused is false
+PASS speechSynthesis.speaking is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesispauseresumehtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesispauseresumehtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that pausing/resuming speech jobs works as expected.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ window.jsTestIsAsync = true;
+
+ var u = new SpeechSynthesisUtterance("this is a test");
+
+ // Verify that callbacks and state are correct for paused and speaking states.
+ u.onpause = function(event) {
+ debug("On pause event received.");
+ shouldBeTrue("speechSynthesis.paused");
+ shouldBeTrue("speechSynthesis.speaking");
+ }
+
+ u.onresume = function(event) {
+ debug("On resume event received.");
+ shouldBeFalse("speechSynthesis.paused");
+ shouldBeTrue("speechSynthesis.speaking");
+ }
+
+ u.onend = function(event) {
+ debug("On end event received.");
+ shouldBeFalse("speechSynthesis.paused");
+ shouldBeFalse("speechSynthesis.speaking");
+ finishJSTest();
+ }
+
+ speechSynthesis.speak(u);
+
+ // Quickly pause and resume the speech job.
+ setTimeout("speechSynthesis.pause()", "1");
+ setTimeout("speechSynthesis.resume()", "2");
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakemptystringexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisspeakemptystringexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+This tests that an empty string sent to the synthesizer still generates a callback.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS speechSynthesis.speaking is false
+PASS event.elapsedTime > 0 is true
+PASS speechSynthesis.speaking is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakemptystringhtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisspeakemptystringhtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-empty-string.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ description("This tests that an empty string sent to the synthesizer still generates a callback.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ window.jsTestIsAsync = true;
+
+ // Start a very short speaking job that will finish quickly.
+ var u = new SpeechSynthesisUtterance("");
+
+ u.onstart = function(event) {
+ shouldBeTrue("event.elapsedTime > 0");
+ shouldBeTrue("speechSynthesis.speaking");
+ }
+ u.onend = function(event) {
+ shouldBeTrue("event.elapsedTime > 0");
+ shouldBeFalse("speechSynthesis.speaking");
+ finishJSTest();
+ }
+
+ shouldBeFalse("speechSynthesis.speaking");
+ speechSynthesis.speak(u);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisspeakexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+This tests that the basic mechanisms of speaking text work, including sending the job and receving the callback.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS speechSynthesis.speaking is false
+PASS event.elapsedTime > 0 is true
+PASS speechSynthesis.speaking is true
+PASS event.elapsedTime > 0 is true
+PASS speechSynthesis.speaking is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisspeakhtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisspeakhtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-speak.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ description("This tests that the basic mechanisms of speaking text work, including sending the job and receving the callback.");
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ window.jsTestIsAsync = true;
+
+ // Start a very short speaking job that will finish quickly.
+ var u = new SpeechSynthesisUtterance(" ");
+
+ u.onstart = function(event) {
+ shouldBeTrue("event.elapsedTime > 0");
+ shouldBeTrue("speechSynthesis.speaking");
+ }
+
+ u.addEventListener('end', function(e) {
+ shouldBeTrue("event.elapsedTime > 0");
+ shouldBeFalse("speechSynthesis.speaking");
+ finishJSTest();
+ });
+
+ shouldBeFalse("speechSynthesis.speaking");
+ speechSynthesis.speak(u);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisutteranceusesvoiceexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisutteranceusesvoiceexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+This tests that we can get synthesizer voices on the Mac
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Verify that setting and retrieving the voice works.
+PASS u.voice.name == voice.name is true
+Speech job finished successfully.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisutteranceusesvoicehtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisutteranceusesvoicehtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+ description("This tests that we can get synthesizer voices on the Mac");
+
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ if (window.testRunner)
+ testRunner.waitUntilDone();
+
+ window.jsTestIsAsync = true;
+
+ var list = speechSynthesis.getVoices();
+ var voice = list[0];
+
+ // Start a very short speaking job that will finish quickly.
+ var u = new SpeechSynthesisUtterance("this is a test string.");
+ u.voice = voice;
+
+ debug("Verify that setting and retrieving the voice works.");
+ shouldBeTrue("u.voice.name == voice.name");
+
+ u.onend = function(event) {
+ debug("Speech job finished successfully.");
+ finishJSTest();
+ }
+
+ speechSynthesis.speak(u);
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisvoicesexpectedtxtfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisvoicesexpectedtxt"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices-expected.txt (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices-expected.txt         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices-expected.txt        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+This tests that we can get synthesizer voices on the Mac
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS voiceCount > 0 is true
+PASS foundEnglishVoice is true
+PASS foundDefaultVoice is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastspeechsynthesisspeechsynthesisvoiceshtmlfromrev172999trunkLayoutTestsplatformmacfastspeechsynthesisspeechsynthesisvoiceshtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices.html (from rev 172999, trunk/LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html) (0 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices.html         (rev 0)
+++ trunk/LayoutTests/fast/speechsynthesis/speech-synthesis-voices.html        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="console"></div>
+
+<script>
+ if (window.internals)
+ window.internals.enableMockSpeechSynthesizer();
+
+ description("This tests that we can get synthesizer voices on the Mac");
+
+ var speech = window.speechSynthesis;
+ var list = speech.getVoices();
+
+ var foundDefaultVoice = false;
+ var foundEnglishVoice = false;
+ var voiceCount = list.length;
+
+ for (var k = 0; k < list.length; k++ ) {
+ var voice = list[k];
+ if (voice.lang == "en-US") {
+ foundEnglishVoice = true;
+ }
+ if (voice.default) {
+ foundDefaultVoice = true;
+ }
+ }
+
+ shouldBeTrue("voiceCount > 0");
+ shouldBeTrue("foundEnglishVoice");
+ shouldBeTrue("foundDefaultVoice");
+
+</script>
+
+<script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (172999 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2014-08-27 07:56:09 UTC (rev 172999)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -67,6 +67,7 @@
</span><span class="cx"> # X-Content-Type-Options (ENABLE_NOSNIFF) is not enabled.
</span><span class="cx"> webkit.org/b/71851 http/tests/security/contentTypeOptions [ Skip ]
</span><span class="cx">
</span><ins>+
</ins><span class="cx"> # Accelerated overflow scrolling (ENABLE_ACCELERATED_OVERFLOW_SCROLLING) is not enabled.
</span><span class="cx"> Bug(GTK) fast/repaint/overflow-scroll-touch-repaint.html [ Skip ]
</span><span class="cx">
</span><span class="lines">@@ -342,6 +343,9 @@
</span><span class="cx"> # Snapshotted plugins not enabled
</span><span class="cx"> webkit.org/b/98696 plugins/snapshotting [ Skip ]
</span><span class="cx">
</span><ins>+# Missing WebSpeech implementation
+webkit.org/b/136224 fast/speechsynthesis [ Skip ]
+
</ins><span class="cx"> # Skip the perf/ tests in debug builds
</span><span class="cx"> Bug(GTK) [ Debug ] perf [ Skip ]
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (172999 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2014-08-27 07:56:09 UTC (rev 172999)
+++ trunk/LayoutTests/platform/win/TestExpectations        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -2816,3 +2816,6 @@
</span><span class="cx"> webkit.org/b/72828 mathml/opentype/horizontal-munderover.html [ Failure ]
</span><span class="cx"> webkit.org/b/119038 mathml/presentation/mo-stretch.html [ Failure ]
</span><span class="cx"> webkit.org/b/119038 mathml/presentation/roots.xhtml [ Failure ]
</span><ins>+
+# Missing WebSpeech implementation
+webkit.org/b/136224 fast/speechsynthesis [ Skip ]
</ins></span></pre></div>
<a id="trunkSourcecmakeOptionsEflcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsEfl.cmake (172999 => 173000)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsEfl.cmake        2014-08-27 07:56:09 UTC (rev 172999)
+++ trunk/Source/cmake/OptionsEfl.cmake        2014-08-27 08:04:14 UTC (rev 173000)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SECCOMP_FILTERS OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
</span><del>-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS OFF)
</del><ins>+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS ON)
</ins><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEMPLATE_ELEMENT ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
</span></span></pre>
</div>
</div>
</body>
</html>