+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * Source/cmake/OptionsMac.cmake:
+ * Source/cmake/WebKitFeatures.cmake:
+ * Source/cmakeconfig.h.cmake:
+
2014-08-07 Csaba Osztrogonác <ossy@webkit.org>
[GTK] Disable IndexedDB
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * fast/forms/input-user-modify.html:
+ * fast/speech/bubble-position-expected.txt: Removed.
+ * fast/speech/bubble-position-scrolled-expected.txt: Removed.
+ * fast/speech/bubble-position-scrolled.html: Removed.
+ * fast/speech/bubble-position.html: Removed.
+ * fast/speech/change-focus-expected.txt: Removed.
+ * fast/speech/change-focus.html: Removed.
+ * fast/speech/input-appearance-numberandspeech.html: Removed.
+ * fast/speech/input-appearance-searchandspeech.html: Removed.
+ * fast/speech/input-appearance-speechbutton.html: Removed.
+ * fast/speech/input-onspeechchange-event-expected.txt: Removed.
+ * fast/speech/input-onspeechchange-event.html: Removed.
+ * fast/speech/input-ontextinput-event-expected.txt: Removed.
+ * fast/speech/input-ontextinput-event.html: Removed.
+ * fast/speech/input-readonly-and-disabled-expected.txt: Removed.
+ * fast/speech/input-readonly-and-disabled.html: Removed.
+ * fast/speech/input-text-language-tag-expected.txt: Removed.
+ * fast/speech/input-text-language-tag.html: Removed.
+ * fast/speech/input-text-speechbutton-expected.txt: Removed.
+ * fast/speech/input-text-speechbutton.html: Removed.
+ * fast/speech/input-text-speechstart-expected.txt: Removed.
+ * fast/speech/input-text-speechstart.html: Removed.
+ * fast/speech/intrinsic-input-width-with-speech-border-padding-expected.txt: Removed.
+ * fast/speech/intrinsic-input-width-with-speech-border-padding.html: Removed.
+ * fast/speech/speech-bidi-rendering.html: Removed.
+ * fast/speech/speech-button-ignore-generated-events-expected.txt: Removed.
+ * fast/speech/speech-button-ignore-generated-events.html: Removed.
+ * fast/speech/speech-input-result-list-not-enough-arguments-expected.txt: Removed.
+ * fast/speech/speech-input-result-list-not-enough-arguments.html: Removed.
+ * fast/speech/speech-input-scripting-expected.txt: Removed.
+ * fast/speech/speech-input-scripting.html: Removed.
+ * fast/speech/speech-style-on-non-speech-elements-expected.txt: Removed.
+ * fast/speech/speech-style-on-non-speech-elements.html: Removed.
+ * platform/gtk/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
+ * platform/gtk/fast/speech/input-appearance-speechbutton-expected.txt: Removed.
+ * platform/ios-sim/fast/speech/input-appearance-numberandspeech-expected.txt: Removed.
+ * platform/ios-sim/fast/speech/input-appearance-searchandspeech-expected.txt: Removed.
+ * platform/ios-sim/fast/speech/input-appearance-speechbutton-expected.txt: Removed.
+
2014-08-07 Mark Lam <mark.lam@apple.com>
Gardening: Mark some tests as failing to green the bots.
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-decoration,
input[type="search"]::-webkit-search-results-button,
-::-webkit-input-speech-button,
::-webkit-input-placeholder,
input::-webkit-input-placeholder,
isindex::-webkit-input-placeholder,
<input id="color" type="color">
<input id="number" type="number">
<input id="placeholder" type="text" placeholder="something">
- <input id="speech" type="text" x-webkit-speech>
<button id="button">something</button>
<input id="date" type="date">
<video id="video" controls>
focusAndType("color", "delete");
focusAndType("number", "delete");
focusAndType("placeholder", "delete");
-focusAndType("speech", "delete");
focusAndType("button", "delete");
focusAndType("date", "delete");
focusAndType("video", "delete");
+++ /dev/null
-Tests for speech button click with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Clicking the speech button.
-PASS rect is inside the iframe
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-Tests for speech button click with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Clicking the speech button.
-onSpeechChange
-x OK
-y OK
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for speech button click with <input type="text" speech>.');
-
-function onSpeechChange() {
- debug('onSpeechChange');
- var rect = input.value.split(',');
- var x = parseInt(rect[0]);
- var y = parseInt(rect[1]);
-
- if (Math.abs(x - clickTargetX) > 20) {
- testFailed('x too far away from clickTargetX');
- debug('x: ' + x + ' clickTargetX: ' + clickTargetX);
- } else {
- debug('x OK');
- }
-
- if (Math.abs(y - clickTargetY) > 20) {
- testFailed('y too far away from clickTargetY');
- debug('y: ' + y + ' clickTargetY: ' + clickTargetY);
- } else {
- debug('y OK');
- }
-
- finishJSTest();
-}
-
-function run() {
- window.input = document.getElementsByTagName('input')[0];
- input.onwebkitspeechchange = onSpeechChange;
-
- var scrollAmount = 100;
- window.scrollTo(0, scrollAmount);
-
- if (window.testRunner && window.eventSender) {
- testRunner.setMockSpeechInputDumpRect(true);
- debug('Clicking the speech button.');
-
- window.clickTargetX = input.offsetLeft + input.offsetWidth - 4;
- window.clickTargetY = input.offsetTop + input.offsetHeight / 2;
-
- clickTargetY -= scrollAmount;
-
- eventSender.mouseMoveTo(clickTargetX, clickTargetY);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<div style="height: 200px"></div>
-<input x-webkit-speech>
-<div style="height: 1000px"></div>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for speech button click with <input type="text" speech>.');
-
-function onSpeechChange() {
- // Since we requested dumpRect, the rect comes back as the speech result.
- var rect = input.value.split(',');
- var x = parseInt(rect[0]);
- var y = parseInt(rect[1]);
-
- // Check that the rect is inside the iframe.
- if (x >= iframe.offsetLeft && x <= iframe.offsetLeft + iframe.offsetWidth
- && y >= iframe.offsetTop && y <= iframe.offsetTop + iframe.offsetHeight)
- testPassed("rect is inside the iframe");
- else
- testFailed("FAIL: rect was outside the iframe. Actual rect.x: " + x + ", rect.y: " + y);
-
- finishJSTest();
-}
-
-function run() {
- window.iframe = document.getElementById('iframe');
- window.input = iframe.contentDocument.createElement('input');
- input.setAttribute('x-webkit-speech');
- input.onwebkitspeechchange = onSpeechChange;
- iframe.contentDocument.getElementsByTagName('body')[0].appendChild(input);
-
- if (window.testRunner && window.eventSender) {
- testRunner.setMockSpeechInputDumpRect(true);
-
- debug('Clicking the speech button.');
- var x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- x += iframe.offsetLeft;
- y += iframe.offsetTop;
-
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<iframe id="iframe">
-</body>
-</html>
-
+++ /dev/null
-Tests for speech button click with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Clicking on speech button.
-PASS document.getElementById("input1").value is "Pictures of the moon"
-PASS document.getElementById("input2").value is ""
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for speech button click with <input type="text" speech>.');
-
-function startSpeechInput(id) {
- // Clicking the speech button should fill in mock speech-recognized text.
- debug('Clicking on speech button.');
- var input = document.getElementById(id);
- var isRTL = input.dir == 'rtl';
- var x = 0;
- if (isRTL)
- x = input.offsetLeft + 4;
- else
- x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- if (!isRTL && input.style.paddingRight.length)
- x -= parseInt(input.style.paddingRight.substr(0, input.style.paddingRight.length - 2));
- else if (isRTL && input.style.paddingLeft.length)
- x += parseInt(input.style.paddingLeft.substr(0, input.style.paddingLeft.length - 2));
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
- startSpeechInput('input1');
- }
-}
-
-function onFocus() {
- document.getElementById('input2').focus();
-}
-
-function onSpeechChange() {
- shouldBeEqualToString('document.getElementById("input1").value', 'Pictures of the moon');
- shouldBeEqualToString('document.getElementById("input2").value', '');
- finishJSTest();
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='input1' x-webkit-speech onfocus="onFocus()" onwebkitspeechchange="onSpeechChange()">
-<input id='input2'>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<style>
-</style>
-</head>
-<body>
-<p>Test appearances of input-speech-button in <input type='number'>.</p>
-<div id="console"></div>
-
-<script>
-var parent = document.createElement('div');
-document.body.appendChild(parent);
-parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
-var cells = ["", "", ""];
-var maxCellCount = [7, 5, 5];
-var cellCount = 0;
-var index = 0;
-for (var size = 8; size < 24; size++) {
- cells[index] += '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789"><br>'
- + '<input type="number" style="font-size:' + size + 'px" value="012345678901234567890123456789" x-webkit-speech><br>';
- if (++cellCount >= maxCellCount[index]) {
- ++index;
- cellCount = 0;
- }
-}
-for (var i = 0; i < cells.length; ++i) {
- var div = document.createElement('div');
- div.innerHTML = cells[i];
- document.getElementById('p' + (i + 1)).appendChild(div);
-}
-</script>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<style>
-</style>
-</head>
-<body>
-<p>Test appearances of input-speech-button in <input type='search'>.</p>
-<div id="console"></div>
-
-<script>
-var parent = document.createElement('div');
-document.body.appendChild(parent);
-parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
-var cells = ["", "", ""];
-var maxCellCount = [7, 5, 5];
-var cellCount = 0;
-var index = 0;
-for (var size = 8; size < 24; size++) {
- cells[index] += '<input type="search" style="font-size:' + size + 'px" x-webkit-speech><br>'
- + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789"><br>'
- + '<input type="search" style="font-size:' + size + 'px" value="012345678901234567890123456789" x-webkit-speech><br>';
- if (++cellCount >= maxCellCount[index]) {
- ++index;
- cellCount = 0;
- }
-}
-for (var i = 0; i < cells.length; ++i) {
- var div = document.createElement('div');
- div.innerHTML = cells[i];
- document.getElementById('p' + (i + 1)).appendChild(div);
-}
-</script>
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<style>
-</style>
-</head>
-<body>
-<p>Test appearances of input-speech-button.</p>
-<div id="console"></div>
-
-<script>
-var parent = document.createElement('div');
-document.body.appendChild(parent);
-parent.innerHTML = '<table><tr><td id=p1><td id=p2><td id=p3></tr></table>';
-var cells = ["", "", ""];
-var maxCellCount = [7, 5, 5];
-var cellCount = 0;
-var index = 0;
-for (var size = 8; size < 24; size++) {
- cells[index] += '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog"><br>'
- + '<input style="font-size:' + size + 'px" value="A quick brown fox jumps over the lazy dog" x-webkit-speech><br>';
- if (++cellCount >= maxCellCount[index]) {
- ++index;
- cellCount = 0;
- }
-}
-for (var i = 0; i < cells.length; ++i) {
- var div = document.createElement('div');
- div.innerHTML = cells[i];
- document.getElementById('p' + (i + 1)).appendChild(div);
-}
-
-// Also check that setting the attribute from script renders similarly.
-var inputWithAttribute = document.createElement('input');
-document.body.appendChild(inputWithAttribute);
-inputWithAttribute.setAttribute('x-webkit-speech', 'x-webkit-speech');
-
-// Similar to above, check if removing the attribute with script renders an empty input field.
-var inputWithoutAttribute = document.createElement('input');
-inputWithoutAttribute.setAttribute('x-webkit-speech', 'x-webkit-speech');
-document.body.appendChild(inputWithoutAttribute);
-inputWithoutAttribute.removeAttribute('x-webkit-speech');
-
-</script>
-</body>
-</html>
+++ /dev/null
-Tests for the onspeechchange event with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInput").value is "Green eggs and ham"
-PASS window.event.results.length is 3
-PASS window.event.results[0].utterance is "Green eggs and ham"
-PASS window.event.results[0].confidence is 0.8
-PASS window.event.results[1].utterance is "Green x and ham"
-PASS window.event.results[1].confidence is 0.5
-PASS window.event.results[2].utterance is "3 x and am"
-PASS window.event.results[2].confidence is 0.2
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for the onspeechchange event with <input type="text" speech>.');
-
-function onSpeechChange() {
- shouldBeEqualToString('document.getElementById("speechInput").value', 'Green eggs and ham');
- shouldEvaluateTo('window.event.results.length', 3);
- shouldBeEqualToString('window.event.results[0].utterance', 'Green eggs and ham');
- shouldEvaluateTo('window.event.results[0].confidence', 0.8);
- shouldBeEqualToString('window.event.results[1].utterance', 'Green x and ham');
- shouldEvaluateTo('window.event.results[1].confidence', 0.5);
- shouldBeEqualToString('window.event.results[2].utterance', '3 x and am');
- shouldEvaluateTo('window.event.results[2].confidence', 0.2);
- finishJSTest();
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Green eggs and ham', 0.8, '');
- testRunner.addMockSpeechInputResult('Green x and ham', 0.5, '');
- testRunner.addMockSpeechInputResult('3 x and am', 0.2, '');
-
- // Clicking the speech button should fill in mock speech-recognized text.
- var input = document.getElementById('speechInput');
- var x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput' x-webkit-speech onwebkitspeechchange="onSpeechChange()">
-</body>
-</html>
+++ /dev/null
-Tests for the ontextInput event with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInput").value is ""
-PASS window.event.data is "Green eggs and ham"
-PASS window.event.inputMethod is undefined
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for the ontextInput event with <input type="text" speech>.');
-
-function onTextInput() {
- shouldBeEqualToString('document.getElementById("speechInput").value', '');
- shouldBeEqualToString('window.event.data', 'Green eggs and ham');
-
- // Set to undefined to make this test fail if it's implemented, so it can be properly set to the correct value once it's available.
- shouldBe('window.event.inputMethod', 'undefined');
-
- finishJSTest();
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Green eggs and ham', 0.8, '');
- testRunner.addMockSpeechInputResult('Green x and ham', 0.5, '');
-
- // Clicking the speech button should fill in mock speech-recognized text.
- var input = document.getElementById('speechInput');
- input.addEventListener("textInput", onTextInput, false);
-
- var x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput' x-webkit-speech>
-</body>
-</html>
+++ /dev/null
-Tests for speech button click with readonly and disabled input fields.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for speech button click with readonly and disabled input fields.');
-
-function onWebkitSpeechChange() {
- testFailed('Received unexpected onwebkitspeechchange callback.');
- finishJSTest();
-}
-
-function testField(index) {
- // Clicking the speech button should fill in mock speech-recognized text.
- var allInputFields = document.getElementsByTagName('input');
- var input = allInputFields[index];
- var x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
- setTimeout(function() {
- if (index < allInputFields.length - 1) {
- testField(index +1);
- } else {
- finishJSTest();
- }
- }, 50);
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Test', 1.0, '');
- testField(0);
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='readonlyInput' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()" readonly>
-<input id='disabledInput' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()" disabled>
-</body>
-</html>
+++ /dev/null
-Tests for language-specific results and language inheritance in speech buttons.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInputNone").value is "error: no result found for language ''"
-PASS document.getElementById("speechInputElement").value is "Pictures of the moon"
-PASS document.getElementById("speechInputInherited").value is "月の写真"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for language-specific results and language inheritance in speech buttons.');
-
-// Note: test cases are sequential to ensure that no new recognition starts when another recognition recording is active.
-function onChangeNone() {
- shouldBeEqualToString('document.getElementById("speechInputNone").value', 'error: no result found for language \'\'');
- setTimeout(function() { speechButtonClick('speechInputElement'); }, 50);
-}
-
-function onChangeElement() {
- shouldBeEqualToString('document.getElementById("speechInputElement").value', 'Pictures of the moon');
- setTimeout(function() { speechButtonClick('speechInputInherited'); }, 50);
-}
-
-function onChangeInherited() {
- shouldBeEqualToString('document.getElementById("speechInputInherited").value', '月の写真');
- finishJSTest();
-}
-
-function speechButtonClick(elementId) {
- var element = document.getElementById(elementId);
- var x = element.offsetLeft + element.offsetWidth - 4;
- var y = element.offsetTop + element.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, 'en-GB');
- testRunner.addMockSpeechInputResult('月の写真', 1.0, 'ja');
- speechButtonClick('speechInputNone');
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id="speechInputNone" x-webkit-speech onwebkitspeechchange="onChangeNone()">
-<input id="speechInputElement" x-webkit-speech onwebkitspeechchange="onChangeElement()" lang="en-GB">
-<div lang="ja"> <input id="speechInputInherited" x-webkit-speech onwebkitspeechchange="onChangeInherited()"> </div>
-</body>
-</html>
+++ /dev/null
-Tests for speech button click with <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInput1").value is "Pictures of the moon"
-PASS document.getElementById("speechInput2").value is "Pictures of the moon"
-PASS document.getElementById("speechInput3").value is "Pictures of the moon"
-PASS document.getElementById("speechInput4").value is "Pictures of the moon"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for speech button click with <input type="text" speech>.');
-
-function startSpeechInput(id) {
- // Clicking the speech button should fill in mock speech-recognized text.
- var input = document.getElementById(id);
- var isRTL = input.dir == 'rtl';
- var x = 0;
- if (isRTL)
- x = input.offsetLeft + 4;
- else
- x = input.offsetLeft + input.offsetWidth - 4;
- var y = input.offsetTop + input.offsetHeight / 2;
- if (!isRTL && input.style.paddingRight.length)
- x -= parseInt(input.style.paddingRight.substr(0, input.style.paddingRight.length - 2));
- else if (isRTL && input.style.paddingLeft.length)
- x += parseInt(input.style.paddingLeft.substr(0, input.style.paddingLeft.length - 2));
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
-var testIndex = 1;
-function onWebkitSpeechChange() {
- shouldBeEqualToString('document.getElementById("speechInput' + testIndex + '").value', 'Pictures of the moon');
- if (testIndex == 4) {
- finishJSTest();
- return;
- }
- ++testIndex;
- setTimeout(function() {
- startSpeechInput("speechInput" + testIndex);
- }, 50);
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
- startSpeechInput("speechInput" + testIndex);
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput1' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()">
-<input id='speechInput2' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()" dir="rtl">
-<input id='speechInput3' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()" style="padding:5px 10px">
-<input id='speechInput4' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()" style="padding:5px 10px" dir="rtl">
-</body>
-</html>
-
+++ /dev/null
-Tests for triggering speech directly in a <input type="text" speech>.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInput").value is "Pictures of a sunset"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for triggering speech directly in a <input type="text" speech>.');
-
-function startSpeechInput(id) {
- // Test that we can trigger speech with a method call to the input
- // element, so the user agent could toggle speech via a keypress,
- // for example. Select is required in order to ensure that the result
- // will be set in input during the generated TextInput event.
- var input = document.getElementById(id);
- input.select();
- testRunner.startSpeechInput(input);
-}
-
-function onWebkitSpeechChange() {
- shouldBeEqualToString('document.getElementById("speechInput").value', 'Pictures of a sunset');
- finishJSTest();
-}
-
-function run() {
- if (window.testRunner && window.eventSender) {
- testRunner.addMockSpeechInputResult('Pictures of a sunset', 1.0, '');
- startSpeechInput("speechInput");
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput' x-webkit-speech onwebkitspeechchange="onWebkitSpeechChange()">
-</body>
-</html>
+++ /dev/null
-PASS document.getElementById("speechInput1").offsetWidth is document.getElementById("input1").offsetWidth
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE html>
-<style>
-input::-webkit-input-speech-button {
- border: 10px solid lime;
- padding: 10px;
-}
-</style>
-<body>
-<script src="../../resources/js-test-pre.js"></script>
-
-<input id="input1">
-<input x-webkit-speech id="speechInput1">
-<script>
-shouldBe('document.getElementById("speechInput1").offsetWidth', 'document.getElementById("input1").offsetWidth');
-</script>
-
-<script src="../../resources/js-test-post.js"></script>
-</body>
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<body>
-<p>
- This test verifies that the speech input control is rendered correctly for
-dir=rtl/ltr.
-</p>
-<ul>
-<li>The Microphone icon should be on the <b>right</b>:
- <input id='speechInputLTR' x-webkit-speech></li>
-<li>The Microphone icon should be on the <b>right</b>:
- <input id='speechInputLTRWithPadding' x-webkit-speech style="padding:5px 10px"></li>
-<li>The Microphone icon should be on the <b>right</b>:
- <input id='speechInputRTLtoLTR' x-webkit-speech style="padding:5px 10px" dir=rtl></li>
-
-
-<li>The Microphone icon should be on the <b>left</b>:
- <input id='speechInputRTL' x-webkit-speech dir=rtl></li>
-<li>The Microphone icon should be on the <b>left</b>:
- <input id='speechInputLTRWithPadding' x-webkit-speech style="padding:5px 10px" dir=rtl></li>
-<li>The Microphone icon should be on the <b>left</b>:
- <input id='speechInputLTRtoRTL' x-webkit-speech style="padding:5px 10px" dir=ltr></li>
-</ul>
-
-<script>
- document.getElementById("speechInputRTLtoLTR").dir = 'ltr';
- document.getElementById("speechInputLTRtoRTL").dir = 'rtl';
-</script>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-Tests that the speech button ignores programmatic click events.\r
-\r
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".\r
-\r
-\r
-PASS document.getElementById("speechInput").value is "Pictures of the moon"\r
-PASS speech button ignored the programmatic click event.\r
-PASS successfullyParsed is true\r
-\r
-TEST COMPLETE\r
-\r
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests that the speech button ignores programmatic click events.');
-
-function sendClick(useEventSender) {
- var input = document.getElementById('speechInput');
- var clientX = input.offsetWidth - 4;
- var clientY = input.offsetHeight / 2;
- var pageX = input.offsetLeft + clientX;
- var pageY = input.offsetTop + clientY;
- if (useEventSender) {
- eventSender.mouseMoveTo(pageX, pageY);
- eventSender.mouseDown();
- eventSender.mouseUp();
- } else {
- var event = document.createEvent("MouseEvents");
- event.initMouseEvent('click', true, true, window, 1, pageX, pageY, clientX, clientY,
- false, false, false, false, 0, document);
- input.dispatchEvent(event);
- }
-}
-
-function setupDispatchEventTest() {
- document.getElementById('speechInput').onwebkitspeechchange = function() {
- testFailed('speech button accepted a programmatic click and fired onChange event.');
- finishJSTest();
- };
- setTimeout(function() {
- testPassed('speech button ignored the programmatic click event.');
- finishJSTest();
- }, 1000);
- sendClick(false);
-}
-
-// In this test, we first send a click via the eventSender interface which is available only
-// within our test environment. This mimics a real user input event and hence the speech button
-// should treat it normally. We'll be receiving the mock recognition result and verify that.
-// Next we send a generated click event via the dispatchEvent interface which is available
-// for any web page to use. The speech button should identify that this is not a real user
-// input event and not process it.
-function run() {
- if (window.testRunner && window.eventSender) {
- // Running in DRT, test the eventSender case.
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
- document.getElementById('speechInput').onwebkitspeechchange = function() {
- shouldBeEqualToString('document.getElementById("speechInput").value', 'Pictures of the moon');
-
- // The speech button is still in the processing state and does not accept clicks. So ask for
- // a callback once it has processed pending events before sending a programmatic click.
- setTimeout(setupDispatchEventTest, 0);
- };
- sendClick(true);
- } else {
- setupDispatchEventTest();
- }
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput' x-webkit-speech>
-</body>
-</html>
+++ /dev/null
-Tests for SpeechInputResultList' behavior with too few arguments.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS window.event.results.item() threw exception TypeError: Not enough arguments.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for SpeechInputResultList\' behavior with too few arguments.');
-
-var speechInputCreatedByScript = false;
-
-function onWebkitSpeechChange() {
- shouldThrow('window.event.results.item()');
- finishJSTest();
-}
-
-function run() {
- if (!window.testRunner || !window.eventSender)
- return;
-
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
- var input = document.getElementById('speechInput');
- input.addEventListener('webkitspeechchange', onWebkitSpeechChange);
- var x = input.offsetLeft + input.offsetWidth - 8;
- var y = input.offsetTop + input.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput' x-webkit-speech>
-</body>
-</html>
+++ /dev/null
-Tests for enabling and disabling speech input via script.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.getElementById("speechInput").value is "Pictures of the moon"
-PASS document.getElementById("speechInput").value is "Pictures of the moon"
-PASS document.getElementById("speechInput").value is "Pictures of the moon"
-PASS document.getElementById("speechInput").value is "Pictures of the moon"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-description('Tests for enabling and disabling speech input via script.');
-
-var speechInputCreatedByScript = false;
-
-function onWebkitSpeechChange() {
- shouldBeEqualToString('document.getElementById("speechInput").value', 'Pictures of the moon');
-
- // Disable speech input now, just to verify this doesn't result in any crashes.
- var input = document.getElementById('speechInput');
- input.removeAttribute('x-webkit-speech');
-
- // If the test has only been done with a type='text' field, repeat the same with a
- // type='search' field since that takes a slightly different code path.
- if (input.type != 'search') {
- input.type = 'search';
- testSetAttributeAndClick();
- return;
- }
-
- // If the test has only been done with a statically declared element, now repeat the same
- // with a dynamically created/inserted element.
- if (!speechInputCreatedByScript) {
- document.body.removeChild(input);
- input = document.createElement('input');
- input.id = 'speechInput';
- document.body.appendChild(input);
- speechInputCreatedByScript = true;
- testSetAttributeAndClick();
- return;
- }
-
- finishJSTest();
-}
-
-function testSetAttributeAndClick() {
- // Enable speech input and test that clicking the speech button fills in mock speech-recognized text.
- var input = document.getElementById('speechInput');
- input.setAttribute('x-webkit-speech', '');
- input.addEventListener('webkitspeechchange', onWebkitSpeechChange);
-
- var x = input.offsetLeft + input.offsetWidth - 8;
- var y = input.offsetTop + input.offsetHeight / 2;
- eventSender.mouseMoveTo(x, y);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
-function run() {
- if (!window.testRunner || !window.eventSender)
- return;
-
- testRunner.addMockSpeechInputResult('Pictures of the moon', 1.0, '');
-
- // Try disabling speech with an input tag which has the attribute set in HTML and
- // verify that doesn't result in any crashes.
- document.getElementById('inputWithAttribute').removeAttribute('x-webkit-speech');
-
- testSetAttributeAndClick();
-}
-
-window.onload = run;
-window.jsTestIsAsync = true;
-</script>
-<script src="../../resources/js-test-post.js"></script>
-<input id='speechInput'>
-<input id='inputWithAttribute' x-webkit-speech>
-</body>
-</html>
+++ /dev/null
-Test for speech button style applied on non-input elements.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Test
-Test
-
-Test Test
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-<style>
-.speechButton {
- -webkit-appearance: -webkit-input-speech-button;
-}
-</style>
-</head>
-<body>
-
-<!-- Test a few HTML elements with the speech button style to check that they don't result in a crash. -->
-<div class='speechButton'>Test</div>
-<p class='speechButton'>Test</p>
-<span class='speechButton'>Test</span>
-<button class='speechButton'>Test</button>
-
-<script type="text/javascript">
-description('Test for speech button style applied on non-input elements.');
-</script>
-
-<script src="../../resources/js-test-post.js"></script>
-</body>
-</html>
+++ /dev/null
-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 {P} at (0,0) size 784x18
- RenderText {#text} at (0,0) size 422x17
- text run at (0,0) width 422: "Test appearances of input-speech-button in <input type='search'>."
- RenderBlock {DIV} at (0,34) size 784x0
- RenderBlock {DIV} at (0,34) size 784x450
- RenderTable {TABLE} at (0,0) size 709x450
- RenderTableSection {TBODY} at (0,0) size 709x450
- RenderTableRow {TR} at (0,2) size 709x446
- RenderTableCell {TD} at (2,6) size 179x437 [r=0 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 177x435
- RenderTextControl {INPUT} at (0,0) size 91x15 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 85x9
- RenderBlock {DIV} at (0,4) size 0x0
- RenderBlock {DIV} at (0,0) size 77x9
- RenderBlock {DIV} at (0,0) size 77x9
- RenderBlock {DIV} at (77,0) size 8x8
- RenderBR {BR} at (91,10) size 0x0
- RenderTextControl {INPUT} at (0,15) size 91x15 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 85x9
- RenderBlock {DIV} at (0,4) size 0x0
- RenderBlock {DIV} at (0,0) size 77x9
- RenderBlock {DIV} at (77,0) size 8x8
- RenderBR {BR} at (91,25) size 0x0
- RenderTextControl {INPUT} at (0,30) size 91x15 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 85x9
- RenderBlock {DIV} at (0,4) size 0x0
- RenderBlock {DIV} at (0,0) size 77x9
- RenderBlock {DIV} at (77,0) size 8x8
- RenderBR {BR} at (91,40) size 0x0
- RenderTextControl {INPUT} at (0,45) size 111x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 105x10
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 96x10
- RenderBlock {DIV} at (0,0) size 96x10
- RenderBlock {DIV} at (96,0) size 9x9
- RenderBR {BR} at (111,56) size 0x0
- RenderTextControl {INPUT} at (0,61) size 111x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 105x10
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 96x10
- RenderBlock {DIV} at (96,0) size 9x9
- RenderBR {BR} at (111,72) size 0x0
- RenderTextControl {INPUT} at (0,77) size 111x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 105x10
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 96x10
- RenderBlock {DIV} at (96,0) size 9x9
- RenderBR {BR} at (111,88) size 0x0
- RenderTextControl {INPUT} at (0,93) size 131x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 125x11
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 115x11
- RenderBlock {DIV} at (0,0) size 115x11
- RenderBlock {DIV} at (115,0) size 10x10
- RenderBR {BR} at (131,105) size 0x0
- RenderTextControl {INPUT} at (0,110) size 131x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 125x11
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 115x11
- RenderBlock {DIV} at (115,0) size 10x10
- RenderBR {BR} at (131,122) size 0x0
- RenderTextControl {INPUT} at (0,127) size 131x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 125x11
- RenderBlock {DIV} at (0,5) size 0x0
- RenderBlock {DIV} at (0,0) size 115x11
- RenderBlock {DIV} at (115,0) size 10x10
- RenderBR {BR} at (131,139) size 0x0
- RenderTextControl {INPUT} at (2,146) size 132x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 126x12
- RenderBlock {DIV} at (0,6) size 0x0
- RenderBlock {DIV} at (0,0) size 115x12
- RenderBlock {DIV} at (0,0) size 115x12
- RenderBlock {DIV} at (115,0) size 11x11
- RenderBR {BR} at (136,159) size 0x0
- RenderTextControl {INPUT} at (2,168) size 132x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 126x12
- RenderBlock {DIV} at (0,6) size 0x0
- RenderBlock {DIV} at (0,0) size 115x12
- RenderBlock {DIV} at (115,0) size 11x11
- RenderBR {BR} at (136,181) size 0x0
- RenderTextControl {INPUT} at (2,190) size 132x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 126x12
- RenderBlock {DIV} at (0,6) size 0x0
- RenderBlock {DIV} at (0,0) size 115x12
- RenderBlock {DIV} at (115,0) size 11x11
- RenderBR {BR} at (136,203) size 0x0
- RenderTextControl {INPUT} at (2,212) size 152x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 146x14
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x14
- RenderBlock {DIV} at (0,0) size 134x14
- RenderBlock {DIV} at (134,1) size 12x12
- RenderBR {BR} at (156,226) size 0x0
- RenderTextControl {INPUT} at (2,236) size 152x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 146x14
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x14
- RenderBlock {DIV} at (134,1) size 12x12
- RenderBR {BR} at (156,250) size 0x0
- RenderTextControl {INPUT} at (2,260) size 152x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 146x14
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x14
- RenderBlock {DIV} at (134,1) size 12x12
- RenderBR {BR} at (156,274) size 0x0
- RenderTextControl {INPUT} at (2,284) size 153x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 147x15
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x15
- RenderBlock {DIV} at (0,0) size 134x15
- RenderBlock {DIV} at (134,1) size 13x13
- RenderBR {BR} at (157,299) size 0x0
- RenderTextControl {INPUT} at (2,309) size 153x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 147x15
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x15
- RenderBlock {DIV} at (134,1) size 13x13
- RenderBR {BR} at (157,324) size 0x0
- RenderTextControl {INPUT} at (2,334) size 153x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 147x15
- RenderBlock {DIV} at (0,7) size 0x0
- RenderBlock {DIV} at (0,0) size 134x15
- RenderBlock {DIV} at (134,1) size 13x13
- RenderBR {BR} at (157,349) size 0x0
- RenderTextControl {INPUT} at (2,359) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 167x16
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x16
- RenderBlock {DIV} at (0,0) size 153x16
- RenderBlock {DIV} at (153,1) size 14x14
- RenderBR {BR} at (177,375) size 0x0
- RenderTextControl {INPUT} at (2,385) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 167x16
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x16
- RenderBlock {DIV} at (153,1) size 14x14
- RenderBR {BR} at (177,401) size 0x0
- RenderTextControl {INPUT} at (2,411) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 167x16
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x16
- RenderBlock {DIV} at (153,1) size 14x14
- RenderBR {BR} at (177,427) size 0x0
- RenderTableCell {TD} at (183,2) size 240x446 [r=0 c=1 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 238x444
- RenderTextControl {INPUT} at (2,2) size 174x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 168x17
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x17
- RenderBlock {DIV} at (0,0) size 153x17
- RenderBlock {DIV} at (153,1) size 15x15
- RenderBR {BR} at (178,19) size 0x0
- RenderTextControl {INPUT} at (2,29) size 174x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 168x17
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x17
- RenderBlock {DIV} at (153,1) size 15x15
- RenderBR {BR} at (178,46) size 0x0
- RenderTextControl {INPUT} at (2,56) size 174x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 168x17
- RenderBlock {DIV} at (0,8) size 0x0
- RenderBlock {DIV} at (0,0) size 153x17
- RenderBlock {DIV} at (153,1) size 15x15
- RenderBR {BR} at (178,73) size 0x0
- RenderTextControl {INPUT} at (2,83) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 187x18
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (0,0) size 171x18
- RenderBlock {DIV} at (0,0) size 171x18
- RenderBlock {DIV} at (171,1) size 16x16
- RenderBR {BR} at (197,100) size 0x0
- RenderTextControl {INPUT} at (2,111) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 187x18
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (0,0) size 171x18
- RenderBlock {DIV} at (171,1) size 16x16
- RenderBR {BR} at (197,128) size 0x0
- RenderTextControl {INPUT} at (2,139) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 187x18
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (0,0) size 171x18
- RenderBlock {DIV} at (171,1) size 16x16
- RenderBR {BR} at (197,156) size 0x0
- RenderTextControl {INPUT} at (2,167) size 194x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 188x20
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 172x20
- RenderBlock {DIV} at (0,0) size 172x20
- RenderBlock {DIV} at (172,2) size 16x16
- RenderBR {BR} at (198,185) size 0x0
- RenderTextControl {INPUT} at (2,197) size 194x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 188x20
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 172x20
- RenderBlock {DIV} at (172,2) size 16x16
- RenderBR {BR} at (198,215) size 0x0
- RenderTextControl {INPUT} at (2,227) size 194x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 188x20
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 172x20
- RenderBlock {DIV} at (172,2) size 16x16
- RenderBR {BR} at (198,245) size 0x0
- RenderTextControl {INPUT} at (2,257) size 214x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 208x21
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 190x21
- RenderBlock {DIV} at (0,0) size 190x21
- RenderBlock {DIV} at (190,1) size 18x18
- RenderBR {BR} at (218,276) size 0x0
- RenderTextControl {INPUT} at (2,288) size 214x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 208x21
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 190x21
- RenderBlock {DIV} at (190,1) size 18x18
- RenderBR {BR} at (218,307) size 0x0
- RenderTextControl {INPUT} at (2,319) size 214x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 208x21
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (0,0) size 190x21
- RenderBlock {DIV} at (190,1) size 18x18
- RenderBR {BR} at (218,338) size 0x0
- RenderTextControl {INPUT} at (2,350) size 234x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 228x22
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 210x22
- RenderBlock {DIV} at (0,0) size 210x22
- RenderBlock {DIV} at (210,2) size 18x18
- RenderBR {BR} at (238,370) size 0x0
- RenderTextControl {INPUT} at (2,382) size 234x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 228x22
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 210x22
- RenderBlock {DIV} at (210,2) size 18x18
- RenderBR {BR} at (238,402) size 0x0
- RenderTextControl {INPUT} at (2,414) size 234x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 228x22
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 210x22
- RenderBlock {DIV} at (210,2) size 18x18
- RenderBR {BR} at (238,434) size 0x0
- RenderTableCell {TD} at (425,14) size 282x422 [r=0 c=2 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 280x420
- RenderTextControl {INPUT} at (2,2) size 235x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 229x23
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 209x23
- RenderBlock {DIV} at (0,0) size 209x23
- RenderBlock {DIV} at (209,1) size 20x20
- RenderBR {BR} at (239,23) size 0x0
- RenderTextControl {INPUT} at (2,35) size 235x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 229x23
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 209x23
- RenderBlock {DIV} at (209,1) size 20x20
- RenderBR {BR} at (239,56) size 0x0
- RenderTextControl {INPUT} at (2,68) size 235x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 229x23
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (0,0) size 209x23
- RenderBlock {DIV} at (209,1) size 20x20
- RenderBR {BR} at (239,89) size 0x0
- RenderTextControl {INPUT} at (2,101) size 255x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 249x24
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (0,0) size 229x24
- RenderBlock {DIV} at (0,0) size 229x24
- RenderBlock {DIV} at (229,2) size 20x20
- RenderBR {BR} at (259,123) size 0x0
- RenderTextControl {INPUT} at (2,135) size 255x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 249x24
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (0,0) size 229x24
- RenderBlock {DIV} at (229,2) size 20x20
- RenderBR {BR} at (259,157) size 0x0
- RenderTextControl {INPUT} at (2,169) size 255x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 249x24
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (0,0) size 229x24
- RenderBlock {DIV} at (229,2) size 20x20
- RenderBR {BR} at (259,191) size 0x0
- RenderTextControl {INPUT} at (2,203) size 256x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 250x26
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 230x26
- RenderBlock {DIV} at (0,0) size 230x26
- RenderBlock {DIV} at (230,3) size 20x20
- RenderBR {BR} at (260,226) size 0x0
- RenderTextControl {INPUT} at (2,239) size 256x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 250x26
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 230x26
- RenderBlock {DIV} at (230,3) size 20x20
- RenderBR {BR} at (260,262) size 0x0
- RenderTextControl {INPUT} at (2,275) size 256x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 250x26
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 230x26
- RenderBlock {DIV} at (230,3) size 20x20
- RenderBR {BR} at (260,298) size 0x0
- RenderTextControl {INPUT} at (2,311) size 276x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 270x27
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 250x27
- RenderBlock {DIV} at (0,0) size 250x27
- RenderBlock {DIV} at (250,3) size 20x20
- RenderBR {BR} at (280,335) size 0x0
- RenderTextControl {INPUT} at (2,348) size 276x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 270x27
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 250x27
- RenderBlock {DIV} at (250,3) size 20x20
- RenderBR {BR} at (280,372) size 0x0
- RenderTextControl {INPUT} at (2,385) size 276x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderFlexibleBox {DIV} at (3,3) size 270x27
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (0,0) size 250x27
- RenderBlock {DIV} at (250,3) size 20x20
- RenderBR {BR} at (280,409) size 0x0
-layer at (14,67) size 77x9 scrollWidth 136
- RenderBlock {DIV} at (0,0) size 77x9
- RenderText {#text} at (1,0) size 134x9
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (14,82) size 77x9 scrollWidth 136
- RenderBlock {DIV} at (0,0) size 77x9
- RenderText {#text} at (1,0) size 134x9
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (14,113) size 96x10 scrollWidth 153
- RenderBlock {DIV} at (0,0) size 96x10
- RenderText {#text} at (1,0) size 151x10
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (14,129) size 96x10 scrollWidth 153
- RenderBlock {DIV} at (0,0) size 96x10
- RenderText {#text} at (1,0) size 151x10
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (14,162) size 115x11 scrollWidth 169
- RenderBlock {DIV} at (0,0) size 115x11
- RenderText {#text} at (1,0) size 167x11
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (14,179) size 115x11 scrollWidth 169
- RenderBlock {DIV} at (0,0) size 115x11
- RenderText {#text} at (1,0) size 167x11
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (16,220) size 115x12 scrollWidth 186
- RenderBlock {DIV} at (0,0) size 115x12
- RenderText {#text} at (1,0) size 184x12
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (16,242) size 115x12 scrollWidth 186
- RenderBlock {DIV} at (0,0) size 115x12
- RenderText {#text} at (1,0) size 184x12
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (16,288) size 134x14 scrollWidth 203
- RenderBlock {DIV} at (0,0) size 134x14
- RenderText {#text} at (1,0) size 201x14
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (16,312) size 134x14 scrollWidth 203
- RenderBlock {DIV} at (0,0) size 134x14
- RenderText {#text} at (1,0) size 201x14
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (16,361) size 134x15 scrollWidth 219
- RenderBlock {DIV} at (0,0) size 134x15
- RenderText {#text} at (1,0) size 217x15
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (16,386) size 134x15 scrollWidth 219
- RenderBlock {DIV} at (0,0) size 134x15
- RenderText {#text} at (1,0) size 217x15
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (16,437) size 153x16 scrollWidth 236
- RenderBlock {DIV} at (0,0) size 153x16
- RenderText {#text} at (1,0) size 234x16
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (16,463) size 153x16 scrollWidth 236
- RenderBlock {DIV} at (0,0) size 153x16
- RenderText {#text} at (1,0) size 234x16
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (197,77) size 153x17 scrollWidth 253
- RenderBlock {DIV} at (0,0) size 153x17
- RenderText {#text} at (1,0) size 251x17
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (197,104) size 153x17 scrollWidth 253
- RenderBlock {DIV} at (0,0) size 153x17
- RenderText {#text} at (1,0) size 251x17
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (197,159) size 171x18 scrollWidth 269
- RenderBlock {DIV} at (0,0) size 171x18
- RenderText {#text} at (1,0) size 267x17
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (197,187) size 171x18 scrollWidth 269
- RenderBlock {DIV} at (0,0) size 171x18
- RenderText {#text} at (1,0) size 267x17
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (197,245) size 172x20 scrollWidth 286
- RenderBlock {DIV} at (0,0) size 172x20
- RenderText {#text} at (1,0) size 284x19
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (197,275) size 172x20 scrollWidth 286
- RenderBlock {DIV} at (0,0) size 172x20
- RenderText {#text} at (1,0) size 284x19
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (197,336) size 190x21 scrollWidth 303
- RenderBlock {DIV} at (0,0) size 190x21
- RenderText {#text} at (1,0) size 301x20
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (197,367) size 190x21 scrollWidth 303
- RenderBlock {DIV} at (0,0) size 190x21
- RenderText {#text} at (1,0) size 301x20
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (197,430) size 210x22 scrollWidth 320
- RenderBlock {DIV} at (0,0) size 210x22
- RenderText {#text} at (1,0) size 318x21
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (197,462) size 210x22 scrollWidth 320
- RenderBlock {DIV} at (0,0) size 210x22
- RenderText {#text} at (1,0) size 318x21
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (439,95) size 209x23 scrollWidth 336
- RenderBlock {DIV} at (0,0) size 209x23
- RenderText {#text} at (1,0) size 334x22
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (439,128) size 209x23 scrollWidth 336
- RenderBlock {DIV} at (0,0) size 209x23
- RenderText {#text} at (1,0) size 334x22
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (439,195) size 229x24 scrollWidth 353
- RenderBlock {DIV} at (0,0) size 229x24
- RenderText {#text} at (1,0) size 351x23
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (439,229) size 229x24 scrollWidth 353
- RenderBlock {DIV} at (0,0) size 229x24
- RenderText {#text} at (1,0) size 351x23
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (439,299) size 230x26 scrollWidth 370
- RenderBlock {DIV} at (0,0) size 230x26
- RenderText {#text} at (1,0) size 368x25
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (439,335) size 230x26 scrollWidth 370
- RenderBlock {DIV} at (0,0) size 230x26
- RenderText {#text} at (1,0) size 368x25
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (439,408) size 250x27 scrollWidth 386
- RenderBlock {DIV} at (0,0) size 250x27
- RenderText {#text} at (1,0) size 384x26
- text run at (1,0) width 384: "012345678901234567890123456789"
-layer at (439,445) size 250x27 scrollWidth 386
- RenderBlock {DIV} at (0,0) size 250x27
- RenderText {#text} at (1,0) size 384x26
- text run at (1,0) width 384: "012345678901234567890123456789"
+++ /dev/null
-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 {P} at (0,0) size 784x18
- RenderText {#text} at (0,0) size 264x17
- text run at (0,0) width 264: "Test appearances of input-speech-button."
- RenderBlock {DIV} at (0,34) size 784x0
- RenderBlock {DIV} at (0,34) size 784x302
- RenderTable {TABLE} at (0,0) size 709x302
- RenderTableSection {TBODY} at (0,0) size 709x302
- RenderTableRow {TR} at (0,2) size 709x298
- RenderTableCell {TD} at (2,5) size 179x292 [r=0 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 177x290
- RenderTextControl {INPUT} at (0,0) size 91x15 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (91,10) size 0x0
- RenderTextControl {INPUT} at (0,15) size 91x15 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (91,25) size 0x0
- RenderTextControl {INPUT} at (0,30) size 111x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (111,41) size 0x0
- RenderTextControl {INPUT} at (0,46) size 111x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (111,57) size 0x0
- RenderTextControl {INPUT} at (0,62) size 131x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (131,74) size 0x0
- RenderTextControl {INPUT} at (0,79) size 131x17 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (131,91) size 0x0
- RenderTextControl {INPUT} at (2,98) size 132x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (136,111) size 0x0
- RenderTextControl {INPUT} at (2,120) size 132x18 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (136,133) size 0x0
- RenderTextControl {INPUT} at (2,142) size 152x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (156,156) size 0x0
- RenderTextControl {INPUT} at (2,166) size 152x20 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (156,180) size 0x0
- RenderTextControl {INPUT} at (2,190) size 153x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (157,205) size 0x0
- RenderTextControl {INPUT} at (2,215) size 153x21 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (157,230) size 0x0
- RenderTextControl {INPUT} at (2,240) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (177,256) size 0x0
- RenderTextControl {INPUT} at (2,266) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (177,282) size 0x0
- RenderTableCell {TD} at (183,2) size 240x298 [r=0 c=1 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 238x296
- RenderTextControl {INPUT} at (2,2) size 174x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (178,19) size 0x0
- RenderTextControl {INPUT} at (2,29) size 174x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (178,46) size 0x0
- RenderTextControl {INPUT} at (2,56) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (197,73) size 0x0
- RenderTextControl {INPUT} at (2,84) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (197,101) size 0x0
- RenderTextControl {INPUT} at (2,112) size 194x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (198,130) size 0x0
- RenderTextControl {INPUT} at (2,142) size 194x26 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (198,160) size 0x0
- RenderTextControl {INPUT} at (2,172) size 214x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (218,191) size 0x0
- RenderTextControl {INPUT} at (2,203) size 214x27 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (218,222) size 0x0
- RenderTextControl {INPUT} at (2,234) size 234x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (238,254) size 0x0
- RenderTextControl {INPUT} at (2,266) size 234x28 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (238,286) size 0x0
- RenderTableCell {TD} at (425,10) size 282x282 [r=0 c=2 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 280x280
- RenderTextControl {INPUT} at (2,2) size 235x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (239,23) size 0x0
- RenderTextControl {INPUT} at (2,35) size 235x29 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (239,56) size 0x0
- RenderTextControl {INPUT} at (2,68) size 255x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (259,90) size 0x0
- RenderTextControl {INPUT} at (2,102) size 255x30 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (259,124) size 0x0
- RenderTextControl {INPUT} at (2,136) size 256x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (260,159) size 0x0
- RenderTextControl {INPUT} at (2,172) size 256x32 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (260,195) size 0x0
- RenderTextControl {INPUT} at (2,208) size 276x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (280,232) size 0x0
- RenderTextControl {INPUT} at (2,245) size 276x33 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBR {BR} at (280,269) size 0x0
- RenderBlock (anonymous) at (0,336) size 784x28
- RenderTextControl {INPUT} at (2,2) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 187x18
- RenderTextControl {INPUT} at (199,2) size 193x24 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
- RenderBlock {DIV} at (3,3) size 187x18
- RenderText {#text} at (0,0) size 0x0
-layer at (14,51) size 85x9 scrollWidth 152
- RenderBlock {DIV} at (3,3) size 85x9
- RenderText {#text} at (1,0) size 150x9
- text run at (1,0) width 150: "A quick brown fox jumps over the lazy dog"
-layer at (14,66) size 85x9 scrollWidth 152
- RenderBlock {DIV} at (3,3) size 85x9
- RenderText {#text} at (1,0) size 150x9
- text run at (1,0) width 150: "A quick brown fox jumps over the lazy dog"
-layer at (14,81) size 105x10 scrollWidth 171
- RenderBlock {DIV} at (3,3) size 105x10
- RenderText {#text} at (1,0) size 169x10
- text run at (1,0) width 169: "A quick brown fox jumps over the lazy dog"
-layer at (14,97) size 105x10 scrollWidth 171
- RenderBlock {DIV} at (3,3) size 105x10
- RenderText {#text} at (1,0) size 169x10
- text run at (1,0) width 169: "A quick brown fox jumps over the lazy dog"
-layer at (14,113) size 125x11 scrollWidth 190
- RenderBlock {DIV} at (3,3) size 125x11
- RenderText {#text} at (1,0) size 188x11
- text run at (1,0) width 188: "A quick brown fox jumps over the lazy dog"
-layer at (14,130) size 125x11 scrollWidth 190
- RenderBlock {DIV} at (3,3) size 125x11
- RenderText {#text} at (1,0) size 188x11
- text run at (1,0) width 188: "A quick brown fox jumps over the lazy dog"
-layer at (16,149) size 126x12 scrollWidth 209
- RenderBlock {DIV} at (3,3) size 126x12
- RenderText {#text} at (1,0) size 207x12
- text run at (1,0) width 207: "A quick brown fox jumps over the lazy dog"
-layer at (16,171) size 126x12 scrollWidth 209
- RenderBlock {DIV} at (3,3) size 126x12
- RenderText {#text} at (1,0) size 207x12
- text run at (1,0) width 207: "A quick brown fox jumps over the lazy dog"
-layer at (16,193) size 146x14 scrollWidth 227
- RenderBlock {DIV} at (3,3) size 146x14
- RenderText {#text} at (1,0) size 225x14
- text run at (1,0) width 225: "A quick brown fox jumps over the lazy dog"
-layer at (16,217) size 146x14 scrollWidth 227
- RenderBlock {DIV} at (3,3) size 146x14
- RenderText {#text} at (1,0) size 225x14
- text run at (1,0) width 225: "A quick brown fox jumps over the lazy dog"
-layer at (16,241) size 147x15 scrollWidth 246
- RenderBlock {DIV} at (3,3) size 147x15
- RenderText {#text} at (1,0) size 244x15
- text run at (1,0) width 244: "A quick brown fox jumps over the lazy dog"
-layer at (16,266) size 147x15 scrollWidth 246
- RenderBlock {DIV} at (3,3) size 147x15
- RenderText {#text} at (1,0) size 244x15
- text run at (1,0) width 244: "A quick brown fox jumps over the lazy dog"
-layer at (16,291) size 167x16 scrollWidth 265
- RenderBlock {DIV} at (3,3) size 167x16
- RenderText {#text} at (1,0) size 263x16
- text run at (1,0) width 263: "A quick brown fox jumps over the lazy dog"
-layer at (16,317) size 167x16 scrollWidth 265
- RenderBlock {DIV} at (3,3) size 167x16
- RenderText {#text} at (1,0) size 263x16
- text run at (1,0) width 263: "A quick brown fox jumps over the lazy dog"
-layer at (197,50) size 168x17 scrollWidth 283
- RenderBlock {DIV} at (3,3) size 168x17
- RenderText {#text} at (1,0) size 281x17
- text run at (1,0) width 281: "A quick brown fox jumps over the lazy dog"
-layer at (197,77) size 168x17 scrollWidth 283
- RenderBlock {DIV} at (3,3) size 168x17
- RenderText {#text} at (1,0) size 281x17
- text run at (1,0) width 281: "A quick brown fox jumps over the lazy dog"
-layer at (197,104) size 187x18 scrollWidth 302
- RenderBlock {DIV} at (3,3) size 187x18
- RenderText {#text} at (1,0) size 300x17
- text run at (1,0) width 300: "A quick brown fox jumps over the lazy dog"
-layer at (197,132) size 187x18 scrollWidth 302
- RenderBlock {DIV} at (3,3) size 187x18
- RenderText {#text} at (1,0) size 300x17
- text run at (1,0) width 300: "A quick brown fox jumps over the lazy dog"
-layer at (197,160) size 188x20 scrollWidth 321
- RenderBlock {DIV} at (3,3) size 188x20
- RenderText {#text} at (1,0) size 319x19
- text run at (1,0) width 319: "A quick brown fox jumps over the lazy dog"
-layer at (197,190) size 188x20 scrollWidth 321
- RenderBlock {DIV} at (3,3) size 188x20
- RenderText {#text} at (1,0) size 319x19
- text run at (1,0) width 319: "A quick brown fox jumps over the lazy dog"
-layer at (197,220) size 208x21 scrollWidth 340
- RenderBlock {DIV} at (3,3) size 208x21
- RenderText {#text} at (1,0) size 338x20
- text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
-layer at (197,251) size 208x21 scrollWidth 340
- RenderBlock {DIV} at (3,3) size 208x21
- RenderText {#text} at (1,0) size 338x20
- text run at (1,0) width 338: "A quick brown fox jumps over the lazy dog"
-layer at (197,282) size 228x22 scrollWidth 358
- RenderBlock {DIV} at (3,3) size 228x22
- RenderText {#text} at (1,0) size 356x21
- text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
-layer at (197,314) size 228x22 scrollWidth 358
- RenderBlock {DIV} at (3,3) size 228x22
- RenderText {#text} at (1,0) size 356x21
- text run at (1,0) width 356: "A quick brown fox jumps over the lazy dog"
-layer at (439,58) size 229x23 scrollWidth 377
- RenderBlock {DIV} at (3,3) size 229x23
- RenderText {#text} at (1,0) size 375x22
- text run at (1,0) width 375: "A quick brown fox jumps over the lazy dog"
-layer at (439,91) size 229x23 scrollWidth 377
- RenderBlock {DIV} at (3,3) size 229x23
- RenderText {#text} at (1,0) size 375x22
- text run at (1,0) width 375: "A quick brown fox jumps over the lazy dog"
-layer at (439,124) size 249x24 scrollWidth 396
- RenderBlock {DIV} at (3,3) size 249x24
- RenderText {#text} at (1,0) size 394x23
- text run at (1,0) width 394: "A quick brown fox jumps over the lazy dog"
-layer at (439,158) size 249x24 scrollWidth 396
- RenderBlock {DIV} at (3,3) size 249x24
- RenderText {#text} at (1,0) size 394x23
- text run at (1,0) width 394: "A quick brown fox jumps over the lazy dog"
-layer at (439,192) size 250x26 scrollWidth 415
- RenderBlock {DIV} at (3,3) size 250x26
- RenderText {#text} at (1,0) size 413x25
- text run at (1,0) width 413: "A quick brown fox jumps over the lazy dog"
-layer at (439,228) size 250x26 scrollWidth 415
- RenderBlock {DIV} at (3,3) size 250x26
- RenderText {#text} at (1,0) size 413x25
- text run at (1,0) width 413: "A quick brown fox jumps over the lazy dog"
-layer at (439,264) size 270x27 scrollWidth 433
- RenderBlock {DIV} at (3,3) size 270x27
- RenderText {#text} at (1,0) size 431x26
- text run at (1,0) width 431: "A quick brown fox jumps over the lazy dog"
-layer at (439,301) size 270x27 scrollWidth 433
- RenderBlock {DIV} at (3,3) size 270x27
- RenderText {#text} at (1,0) size 431x26
- text run at (1,0) width 431: "A quick brown fox jumps over the lazy dog"
+++ /dev/null
-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 {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 435x19
- text run at (0,0) width 435: "Test appearances of input-speech-button in <input type='number'>."
- RenderBlock {DIV} at (0,36) size 784x0
- RenderBlock {DIV} at (0,36) size 784x352
- RenderTable {TABLE} at (0,0) size 716x352
- RenderTableSection {TBODY} at (0,0) size 716x352
- RenderTableRow {TR} at (0,2) size 716x348
- RenderTableCell {TD} at (2,14) size 180x324 [r=0 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 178x322
- RenderTextControl {INPUT} at (0,0) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (93,1) size 0x14
- RenderBlock {DIV} at (96,3) size 0x11
- RenderBR {BR} at (101,11) size 0x0
- RenderTextControl {INPUT} at (0,16) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (93,1) size 0x14
- RenderBlock {DIV} at (96,3) size 0x11
- RenderBR {BR} at (101,27) size 0x0
- RenderTextControl {INPUT} at (0,32) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (105,1) size 0x15
- RenderBlock {DIV} at (108,3) size 0x12
- RenderBR {BR} at (113,43) size 0x0
- RenderTextControl {INPUT} at (0,49) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (105,1) size 0x15
- RenderBlock {DIV} at (108,3) size 0x12
- RenderBR {BR} at (113,60) size 0x0
- RenderTextControl {INPUT} at (0,66) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (117,1) size 0x18
- RenderBlock {DIV} at (120,4) size 0x13
- RenderBR {BR} at (126,79) size 0x0
- RenderTextControl {INPUT} at (0,86) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (117,1) size 0x18
- RenderBlock {DIV} at (120,4) size 0x13
- RenderBR {BR} at (126,99) size 0x0
- RenderTextControl {INPUT} at (2,108) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (128,1) size 0x19
- RenderBlock {DIV} at (131,4) size 0x14
- RenderBR {BR} at (141,122) size 0x0
- RenderTextControl {INPUT} at (2,133) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (128,1) size 0x19
- RenderBlock {DIV} at (131,4) size 0x14
- RenderBR {BR} at (141,147) size 0x0
- RenderTextControl {INPUT} at (2,158) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (140,1) size 0x20
- RenderBlock {DIV} at (143,4) size 0x15
- RenderBR {BR} at (154,173) size 0x0
- RenderTextControl {INPUT} at (2,184) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (140,1) size 0x20
- RenderBlock {DIV} at (143,4) size 0x15
- RenderBR {BR} at (154,199) size 0x0
- RenderTextControl {INPUT} at (2,210) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (151,1) size 0x21
- RenderBlock {DIV} at (154,4) size 0x16
- RenderBR {BR} at (165,226) size 0x0
- RenderTextControl {INPUT} at (2,237) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (151,1) size 0x21
- RenderBlock {DIV} at (154,4) size 0x16
- RenderBR {BR} at (165,253) size 0x0
- RenderTextControl {INPUT} at (2,264) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (163,1) size 0x24
- RenderBlock {DIV} at (166,4) size 0x18
- RenderBR {BR} at (178,281) size 0x0
- RenderTextControl {INPUT} at (2,294) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (163,1) size 0x24
- RenderBlock {DIV} at (166,4) size 0x18
- RenderBR {BR} at (178,311) size 0x0
- RenderTableCell {TD} at (184,2) size 240x348 [r=0 c=1 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 238x346
- RenderTextControl {INPUT} at (2,2) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (174,1) size 0x26
- RenderBlock {DIV} at (177,5) size 0x19
- RenderBR {BR} at (189,21) size 0x0
- RenderTextControl {INPUT} at (2,34) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (174,1) size 0x26
- RenderBlock {DIV} at (177,5) size 0x19
- RenderBR {BR} at (189,53) size 0x0
- RenderTextControl {INPUT} at (2,66) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (186,1) size 0x27
- RenderBlock {DIV} at (189,5) size 0x20
- RenderBR {BR} at (202,86) size 0x0
- RenderTextControl {INPUT} at (2,99) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (186,1) size 0x27
- RenderBlock {DIV} at (189,5) size 0x20
- RenderBR {BR} at (202,119) size 0x0
- RenderTextControl {INPUT} at (2,132) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (198,1) size 0x29
- RenderBlock {DIV} at (201,5) size 0x21
- RenderBR {BR} at (214,153) size 0x0
- RenderTextControl {INPUT} at (2,167) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (198,1) size 0x29
- RenderBlock {DIV} at (201,5) size 0x21
- RenderBR {BR} at (214,188) size 0x0
- RenderTextControl {INPUT} at (2,202) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (210,1) size 0x30
- RenderBlock {DIV} at (213,5) size 0x22
- RenderBR {BR} at (227,223) size 0x0
- RenderTextControl {INPUT} at (2,238) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (210,1) size 0x30
- RenderBlock {DIV} at (213,5) size 0x22
- RenderBR {BR} at (227,259) size 0x0
- RenderTextControl {INPUT} at (2,274) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (221,1) size 0x31
- RenderBlock {DIV} at (224,5) size 0x23
- RenderBR {BR} at (238,296) size 0x0
- RenderTextControl {INPUT} at (2,311) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (221,1) size 0x31
- RenderBlock {DIV} at (224,5) size 0x23
- RenderBR {BR} at (238,333) size 0x0
- RenderTableCell {TD} at (426,6) size 288x340 [r=0 c=2 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 286x338
- RenderTextControl {INPUT} at (2,2) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (233,1) size 0x34
- RenderBlock {DIV} at (236,6) size 0x24
- RenderBR {BR} at (251,26) size 0x0
- RenderTextControl {INPUT} at (2,42) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (233,1) size 0x34
- RenderBlock {DIV} at (236,6) size 0x24
- RenderBR {BR} at (251,66) size 0x0
- RenderTextControl {INPUT} at (2,82) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (244,1) size 0x36
- RenderBlock {DIV} at (247,6) size 0x26
- RenderBR {BR} at (262,108) size 0x0
- RenderTextControl {INPUT} at (2,124) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (244,1) size 0x36
- RenderBlock {DIV} at (247,6) size 0x26
- RenderBR {BR} at (262,150) size 0x0
- RenderTextControl {INPUT} at (2,166) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (256,1) size 0x37
- RenderBlock {DIV} at (259,6) size 0x27
- RenderBR {BR} at (275,192) size 0x0
- RenderTextControl {INPUT} at (2,209) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (256,1) size 0x37
- RenderBlock {DIV} at (259,6) size 0x27
- RenderBR {BR} at (275,235) size 0x0
- RenderTextControl {INPUT} at (2,252) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (267,1) size 0x38
- RenderBlock {DIV} at (270,6) size 0x28
- RenderBR {BR} at (286,279) size 0x0
- RenderTextControl {INPUT} at (2,296) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (267,1) size 0x38
- RenderBlock {DIV} at (270,6) size 0x28
- RenderBR {BR} at (286,323) size 0x0
-layer at (16,61) size 84x11 scrollWidth 136
- RenderBlock {DIV} at (5,2) size 84x11
- RenderText {#text} at (1,0) size 134x11
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (16,77) size 84x11 scrollWidth 136
- RenderBlock {DIV} at (5,2) size 84x11
- RenderText {#text} at (1,0) size 134x11
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (16,93) size 96x12 scrollWidth 153
- RenderBlock {DIV} at (5,2) size 96x12
- RenderText {#text} at (1,0) size 151x12
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (16,110) size 96x12 scrollWidth 153
- RenderBlock {DIV} at (5,2) size 96x12
- RenderText {#text} at (1,0) size 151x12
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (17,128) size 106x13 scrollWidth 169
- RenderBlock {DIV} at (6,3) size 106x13
- RenderText {#text} at (1,0) size 167x13
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (17,148) size 106x13 scrollWidth 169
- RenderBlock {DIV} at (6,3) size 106x13
- RenderText {#text} at (1,0) size 167x13
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (19,170) size 117x14 scrollWidth 186
- RenderBlock {DIV} at (6,3) size 117x14
- RenderText {#text} at (1,0) size 184x14
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (19,195) size 117x14 scrollWidth 186
- RenderBlock {DIV} at (6,3) size 117x14
- RenderText {#text} at (1,0) size 184x14
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (20,220) size 127x15 scrollWidth 203
- RenderBlock {DIV} at (7,3) size 127x15
- RenderText {#text} at (1,0) size 201x15
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (20,246) size 127x15 scrollWidth 203
- RenderBlock {DIV} at (7,3) size 127x15
- RenderText {#text} at (1,0) size 201x15
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (20,272) size 138x16 scrollWidth 219
- RenderBlock {DIV} at (7,3) size 138x16
- RenderText {#text} at (1,0) size 217x16
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (20,299) size 138x16 scrollWidth 219
- RenderBlock {DIV} at (7,3) size 138x16
- RenderText {#text} at (1,0) size 217x16
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (21,327) size 148x18 scrollWidth 236
- RenderBlock {DIV} at (8,4) size 148x18
- RenderText {#text} at (1,0) size 234x18
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (21,357) size 148x18 scrollWidth 236
- RenderBlock {DIV} at (8,4) size 148x18
- RenderText {#text} at (1,0) size 234x18
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (203,53) size 159x19 scrollWidth 253
- RenderBlock {DIV} at (8,4) size 159x19
- RenderText {#text} at (1,0) size 251x19
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (203,85) size 159x19 scrollWidth 253
- RenderBlock {DIV} at (8,4) size 159x19
- RenderText {#text} at (1,0) size 251x19
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (204,117) size 169x20 scrollWidth 269
- RenderBlock {DIV} at (9,4) size 169x20
- RenderText {#text} at (1,0) size 267x20
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (204,150) size 169x20 scrollWidth 269
- RenderBlock {DIV} at (9,4) size 169x20
- RenderText {#text} at (1,0) size 267x20
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (204,184) size 181x21 scrollWidth 286
- RenderBlock {DIV} at (9,5) size 181x21
- RenderText {#text} at (1,0) size 284x21
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (204,219) size 181x21 scrollWidth 286
- RenderBlock {DIV} at (9,5) size 181x21
- RenderText {#text} at (1,0) size 284x21
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (205,254) size 191x22 scrollWidth 303
- RenderBlock {DIV} at (10,5) size 191x22
- RenderText {#text} at (1,0) size 301x22
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (205,290) size 191x22 scrollWidth 303
- RenderBlock {DIV} at (10,5) size 191x22
- RenderText {#text} at (1,0) size 301x22
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (205,326) size 202x23 scrollWidth 320
- RenderBlock {DIV} at (10,5) size 202x23
- RenderText {#text} at (1,0) size 318x23
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (205,363) size 202x23 scrollWidth 320
- RenderBlock {DIV} at (10,5) size 202x23
- RenderText {#text} at (1,0) size 318x23
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (448,59) size 212x24 scrollWidth 336
- RenderBlock {DIV} at (11,6) size 212x24
- RenderText {#text} at (1,0) size 334x24
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (448,99) size 212x24 scrollWidth 336
- RenderBlock {DIV} at (11,6) size 212x24
- RenderText {#text} at (1,0) size 334x24
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (448,139) size 223x26 scrollWidth 353
- RenderBlock {DIV} at (11,6) size 223x26
- RenderText {#text} at (1,0) size 351x26
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (448,181) size 223x26 scrollWidth 353
- RenderBlock {DIV} at (11,6) size 223x26
- RenderText {#text} at (1,0) size 351x26
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (449,223) size 233x27 scrollWidth 370
- RenderBlock {DIV} at (12,6) size 233x27
- RenderText {#text} at (1,0) size 368x27
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (449,266) size 233x27 scrollWidth 370
- RenderBlock {DIV} at (12,6) size 233x27
- RenderText {#text} at (1,0) size 368x27
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (449,309) size 244x28 scrollWidth 386
- RenderBlock {DIV} at (12,6) size 244x28
- RenderText {#text} at (1,0) size 384x28
- text run at (1,0) width 384: "012345678901234567890123456789"
-layer at (449,353) size 244x28 scrollWidth 386
- RenderBlock {DIV} at (12,6) size 244x28
- RenderText {#text} at (1,0) size 384x28
- text run at (1,0) width 384: "012345678901234567890123456789"
+++ /dev/null
-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 {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 427x19
- text run at (0,0) width 427: "Test appearances of input-speech-button in <input type='search'>."
- RenderBlock {DIV} at (0,36) size 784x0
- RenderBlock {DIV} at (0,36) size 784x525
- RenderTable {TABLE} at (0,0) size 716x525
- RenderTableSection {TBODY} at (0,0) size 716x525
- RenderTableRow {TR} at (0,2) size 716x521
- RenderTableCell {TD} at (2,20) size 180x485 [r=0 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 178x483
- RenderTextControl {INPUT} at (0,0) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 91x11
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (91,9) size 0x0
- RenderBR {BR} at (101,11) size 0x0
- RenderTextControl {INPUT} at (0,16) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 91x11
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (91,9) size 0x0
- RenderBR {BR} at (101,27) size 0x0
- RenderTextControl {INPUT} at (0,32) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 91x11
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (91,9) size 0x0
- RenderBR {BR} at (101,43) size 0x0
- RenderTextControl {INPUT} at (0,48) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 103x12
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (103,9) size 0x0
- RenderBR {BR} at (113,59) size 0x0
- RenderTextControl {INPUT} at (0,65) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 103x12
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (103,9) size 0x0
- RenderBR {BR} at (113,76) size 0x0
- RenderTextControl {INPUT} at (0,82) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (5,2) size 103x12
- RenderBlock {DIV} at (0,9) size 0x0
- RenderBlock {DIV} at (103,9) size 0x0
- RenderBR {BR} at (113,93) size 0x0
- RenderTextControl {INPUT} at (0,99) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 114x13
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (114,10) size 0x0
- RenderBR {BR} at (126,112) size 0x0
- RenderTextControl {INPUT} at (0,119) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 114x13
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (114,10) size 0x0
- RenderBR {BR} at (126,132) size 0x0
- RenderTextControl {INPUT} at (0,139) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 114x13
- RenderBlock {DIV} at (0,10) size 0x0
- RenderBlock {DIV} at (114,10) size 0x0
- RenderBR {BR} at (126,152) size 0x0
- RenderTextControl {INPUT} at (2,161) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 125x14
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (125,11) size 0x0
- RenderBR {BR} at (141,175) size 0x0
- RenderTextControl {INPUT} at (2,186) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 125x14
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (125,11) size 0x0
- RenderBR {BR} at (141,200) size 0x0
- RenderTextControl {INPUT} at (2,211) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (6,3) size 125x14
- RenderBlock {DIV} at (0,11) size 0x0
- RenderBlock {DIV} at (125,11) size 0x0
- RenderBR {BR} at (141,225) size 0x0
- RenderTextControl {INPUT} at (2,236) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 136x15
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (136,12) size 0x0
- RenderBR {BR} at (154,251) size 0x0
- RenderTextControl {INPUT} at (2,262) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 136x15
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (136,12) size 0x0
- RenderBR {BR} at (154,277) size 0x0
- RenderTextControl {INPUT} at (2,288) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 136x15
- RenderBlock {DIV} at (0,12) size 0x0
- RenderBlock {DIV} at (136,12) size 0x0
- RenderBR {BR} at (154,303) size 0x0
- RenderTextControl {INPUT} at (2,314) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 147x16
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (147,13) size 0x0
- RenderBR {BR} at (165,330) size 0x0
- RenderTextControl {INPUT} at (2,341) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 147x16
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (147,13) size 0x0
- RenderBR {BR} at (165,357) size 0x0
- RenderTextControl {INPUT} at (2,368) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (7,3) size 147x16
- RenderBlock {DIV} at (0,13) size 0x0
- RenderBlock {DIV} at (147,13) size 0x0
- RenderBR {BR} at (165,384) size 0x0
- RenderTextControl {INPUT} at (2,395) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 158x18
- RenderBlock {DIV} at (0,14) size 0x0
- RenderBlock {DIV} at (158,14) size 0x0
- RenderBR {BR} at (178,413) size 0x0
- RenderTextControl {INPUT} at (2,425) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 158x18
- RenderBlock {DIV} at (0,14) size 0x0
- RenderBlock {DIV} at (158,14) size 0x0
- RenderBR {BR} at (178,443) size 0x0
- RenderTextControl {INPUT} at (2,455) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 158x18
- RenderBlock {DIV} at (0,14) size 0x0
- RenderBlock {DIV} at (158,14) size 0x0
- RenderBR {BR} at (178,473) size 0x0
- RenderTableCell {TD} at (184,2) size 240x521 [r=0 c=1 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 238x519
- RenderTextControl {INPUT} at (2,2) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 169x19
- RenderBlock {DIV} at (0,15) size 0x0
- RenderBlock {DIV} at (169,15) size 0x0
- RenderBR {BR} at (189,21) size 0x0
- RenderTextControl {INPUT} at (2,34) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 169x19
- RenderBlock {DIV} at (0,15) size 0x0
- RenderBlock {DIV} at (169,15) size 0x0
- RenderBR {BR} at (189,53) size 0x0
- RenderTextControl {INPUT} at (2,66) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (8,4) size 169x19
- RenderBlock {DIV} at (0,15) size 0x0
- RenderBlock {DIV} at (169,15) size 0x0
- RenderBR {BR} at (189,85) size 0x0
- RenderTextControl {INPUT} at (2,98) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,4) size 180x20
- RenderBlock {DIV} at (0,16) size 0x0
- RenderBlock {DIV} at (180,16) size 0x0
- RenderBR {BR} at (202,118) size 0x0
- RenderTextControl {INPUT} at (2,131) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,4) size 180x20
- RenderBlock {DIV} at (0,16) size 0x0
- RenderBlock {DIV} at (180,16) size 0x0
- RenderBR {BR} at (202,151) size 0x0
- RenderTextControl {INPUT} at (2,164) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,4) size 180x20
- RenderBlock {DIV} at (0,16) size 0x0
- RenderBlock {DIV} at (180,16) size 0x0
- RenderBR {BR} at (202,184) size 0x0
- RenderTextControl {INPUT} at (2,197) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,5) size 192x21
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (192,17) size 0x0
- RenderBR {BR} at (214,219) size 0x0
- RenderTextControl {INPUT} at (2,232) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,5) size 192x21
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (192,17) size 0x0
- RenderBR {BR} at (214,254) size 0x0
- RenderTextControl {INPUT} at (2,267) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (9,5) size 192x21
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (192,17) size 0x0
- RenderBR {BR} at (214,289) size 0x0
- RenderTextControl {INPUT} at (2,302) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 203x22
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (203,17) size 0x0
- RenderBR {BR} at (227,324) size 0x0
- RenderTextControl {INPUT} at (2,338) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 203x22
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (203,17) size 0x0
- RenderBR {BR} at (227,360) size 0x0
- RenderTextControl {INPUT} at (2,374) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 203x22
- RenderBlock {DIV} at (0,17) size 0x0
- RenderBlock {DIV} at (203,17) size 0x0
- RenderBR {BR} at (227,396) size 0x0
- RenderTextControl {INPUT} at (2,410) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 214x23
- RenderBlock {DIV} at (0,18) size 0x0
- RenderBlock {DIV} at (214,18) size 0x0
- RenderBR {BR} at (238,433) size 0x0
- RenderTextControl {INPUT} at (2,447) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 214x23
- RenderBlock {DIV} at (0,18) size 0x0
- RenderBlock {DIV} at (214,18) size 0x0
- RenderBR {BR} at (238,470) size 0x0
- RenderTextControl {INPUT} at (2,484) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (10,5) size 214x23
- RenderBlock {DIV} at (0,18) size 0x0
- RenderBlock {DIV} at (214,18) size 0x0
- RenderBR {BR} at (238,507) size 0x0
- RenderTableCell {TD} at (426,8) size 288x509 [r=0 c=2 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 286x507
- RenderTextControl {INPUT} at (2,2) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 225x24
- RenderBlock {DIV} at (0,19) size 0x0
- RenderBlock {DIV} at (225,19) size 0x0
- RenderBR {BR} at (251,27) size 0x0
- RenderTextControl {INPUT} at (2,42) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 225x24
- RenderBlock {DIV} at (0,19) size 0x0
- RenderBlock {DIV} at (225,19) size 0x0
- RenderBR {BR} at (251,67) size 0x0
- RenderTextControl {INPUT} at (2,82) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 225x24
- RenderBlock {DIV} at (0,19) size 0x0
- RenderBlock {DIV} at (225,19) size 0x0
- RenderBR {BR} at (251,107) size 0x0
- RenderTextControl {INPUT} at (2,122) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 236x26
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (236,21) size 0x0
- RenderBR {BR} at (262,149) size 0x0
- RenderTextControl {INPUT} at (2,164) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 236x26
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (236,21) size 0x0
- RenderBR {BR} at (262,191) size 0x0
- RenderTextControl {INPUT} at (2,206) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (11,6) size 236x26
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (236,21) size 0x0
- RenderBR {BR} at (262,233) size 0x0
- RenderTextControl {INPUT} at (2,248) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 247x27
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (247,21) size 0x0
- RenderBR {BR} at (275,275) size 0x0
- RenderTextControl {INPUT} at (2,291) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 247x27
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (247,21) size 0x0
- RenderBR {BR} at (275,318) size 0x0
- RenderTextControl {INPUT} at (2,334) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 247x27
- RenderBlock {DIV} at (0,21) size 0x0
- RenderBlock {DIV} at (247,21) size 0x0
- RenderBR {BR} at (275,361) size 0x0
- RenderTextControl {INPUT} at (2,377) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 258x28
- RenderBlock {DIV} at (0,22) size 0x0
- RenderBlock {DIV} at (258,22) size 0x0
- RenderBR {BR} at (286,405) size 0x0
- RenderTextControl {INPUT} at (2,421) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 258x28
- RenderBlock {DIV} at (0,22) size 0x0
- RenderBlock {DIV} at (258,22) size 0x0
- RenderBR {BR} at (286,449) size 0x0
- RenderTextControl {INPUT} at (2,465) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBlock {DIV} at (12,6) size 258x28
- RenderBlock {DIV} at (0,22) size 0x0
- RenderBlock {DIV} at (258,22) size 0x0
- RenderBR {BR} at (286,493) size 0x0
-layer at (16,67) size 91x11
- RenderBlock {DIV} at (0,0) size 91x11
-layer at (16,83) size 91x11 scrollWidth 136
- RenderBlock {DIV} at (0,0) size 91x11
- RenderText {#text} at (1,0) size 134x11
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (16,99) size 91x11 scrollWidth 136
- RenderBlock {DIV} at (0,0) size 91x11
- RenderText {#text} at (1,0) size 134x11
- text run at (1,0) width 134: "012345678901234567890123456789"
-layer at (16,115) size 103x12
- RenderBlock {DIV} at (0,0) size 103x12
-layer at (16,132) size 103x12 scrollWidth 153
- RenderBlock {DIV} at (0,0) size 103x12
- RenderText {#text} at (1,0) size 151x12
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (16,149) size 103x12 scrollWidth 153
- RenderBlock {DIV} at (0,0) size 103x12
- RenderText {#text} at (1,0) size 151x12
- text run at (1,0) width 151: "012345678901234567890123456789"
-layer at (17,167) size 114x13
- RenderBlock {DIV} at (0,0) size 114x13
-layer at (17,187) size 114x13 scrollWidth 169
- RenderBlock {DIV} at (0,0) size 114x13
- RenderText {#text} at (1,0) size 167x13
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (17,207) size 114x13 scrollWidth 169
- RenderBlock {DIV} at (0,0) size 114x13
- RenderText {#text} at (1,0) size 167x13
- text run at (1,0) width 167: "012345678901234567890123456789"
-layer at (19,229) size 125x14
- RenderBlock {DIV} at (0,0) size 125x14
-layer at (19,254) size 125x14 scrollWidth 186
- RenderBlock {DIV} at (0,0) size 125x14
- RenderText {#text} at (1,0) size 184x14
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (19,279) size 125x14 scrollWidth 186
- RenderBlock {DIV} at (0,0) size 125x14
- RenderText {#text} at (1,0) size 184x14
- text run at (1,0) width 184: "012345678901234567890123456789"
-layer at (20,304) size 136x15
- RenderBlock {DIV} at (0,0) size 136x15
-layer at (20,330) size 136x15 scrollWidth 203
- RenderBlock {DIV} at (0,0) size 136x15
- RenderText {#text} at (1,0) size 201x15
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (20,356) size 136x15 scrollWidth 203
- RenderBlock {DIV} at (0,0) size 136x15
- RenderText {#text} at (1,0) size 201x15
- text run at (1,0) width 201: "012345678901234567890123456789"
-layer at (20,382) size 147x16
- RenderBlock {DIV} at (0,0) size 147x16
-layer at (20,409) size 147x16 scrollWidth 219
- RenderBlock {DIV} at (0,0) size 147x16
- RenderText {#text} at (1,0) size 217x16
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (20,436) size 147x16 scrollWidth 219
- RenderBlock {DIV} at (0,0) size 147x16
- RenderText {#text} at (1,0) size 217x16
- text run at (1,0) width 217: "012345678901234567890123456789"
-layer at (21,464) size 158x18
- RenderBlock {DIV} at (0,0) size 158x18
-layer at (21,494) size 158x18 scrollWidth 236
- RenderBlock {DIV} at (0,0) size 158x18
- RenderText {#text} at (1,0) size 234x18
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (21,524) size 158x18 scrollWidth 236
- RenderBlock {DIV} at (0,0) size 158x18
- RenderText {#text} at (1,0) size 234x18
- text run at (1,0) width 234: "012345678901234567890123456789"
-layer at (203,53) size 169x19
- RenderBlock {DIV} at (0,0) size 169x19
-layer at (203,85) size 169x19 scrollWidth 253
- RenderBlock {DIV} at (0,0) size 169x19
- RenderText {#text} at (1,0) size 251x19
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (203,117) size 169x19 scrollWidth 253
- RenderBlock {DIV} at (0,0) size 169x19
- RenderText {#text} at (1,0) size 251x19
- text run at (1,0) width 251: "012345678901234567890123456789"
-layer at (204,149) size 180x20
- RenderBlock {DIV} at (0,0) size 180x20
-layer at (204,182) size 180x20 scrollWidth 269
- RenderBlock {DIV} at (0,0) size 180x20
- RenderText {#text} at (1,0) size 267x20
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (204,215) size 180x20 scrollWidth 269
- RenderBlock {DIV} at (0,0) size 180x20
- RenderText {#text} at (1,0) size 267x20
- text run at (1,0) width 267: "012345678901234567890123456789"
-layer at (204,249) size 192x21
- RenderBlock {DIV} at (0,0) size 192x21
-layer at (204,284) size 192x21 scrollWidth 286
- RenderBlock {DIV} at (0,0) size 192x21
- RenderText {#text} at (1,0) size 284x21
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (204,319) size 192x21 scrollWidth 286
- RenderBlock {DIV} at (0,0) size 192x21
- RenderText {#text} at (1,0) size 284x21
- text run at (1,0) width 284: "012345678901234567890123456789"
-layer at (205,354) size 203x22
- RenderBlock {DIV} at (0,0) size 203x22
-layer at (205,390) size 203x22 scrollWidth 303
- RenderBlock {DIV} at (0,0) size 203x22
- RenderText {#text} at (1,0) size 301x22
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (205,426) size 203x22 scrollWidth 303
- RenderBlock {DIV} at (0,0) size 203x22
- RenderText {#text} at (1,0) size 301x22
- text run at (1,0) width 301: "012345678901234567890123456789"
-layer at (205,462) size 214x23
- RenderBlock {DIV} at (0,0) size 214x23
-layer at (205,499) size 214x23 scrollWidth 320
- RenderBlock {DIV} at (0,0) size 214x23
- RenderText {#text} at (1,0) size 318x23
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (205,536) size 214x23 scrollWidth 320
- RenderBlock {DIV} at (0,0) size 214x23
- RenderText {#text} at (1,0) size 318x23
- text run at (1,0) width 318: "012345678901234567890123456789"
-layer at (448,61) size 225x24
- RenderBlock {DIV} at (0,0) size 225x24
-layer at (448,101) size 225x24 scrollWidth 336
- RenderBlock {DIV} at (0,0) size 225x24
- RenderText {#text} at (1,0) size 334x24
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (448,141) size 225x24 scrollWidth 336
- RenderBlock {DIV} at (0,0) size 225x24
- RenderText {#text} at (1,0) size 334x24
- text run at (1,0) width 334: "012345678901234567890123456789"
-layer at (448,181) size 236x26
- RenderBlock {DIV} at (0,0) size 236x26
-layer at (448,223) size 236x26 scrollWidth 353
- RenderBlock {DIV} at (0,0) size 236x26
- RenderText {#text} at (1,0) size 351x26
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (448,265) size 236x26 scrollWidth 353
- RenderBlock {DIV} at (0,0) size 236x26
- RenderText {#text} at (1,0) size 351x26
- text run at (1,0) width 351: "012345678901234567890123456789"
-layer at (449,307) size 247x27
- RenderBlock {DIV} at (0,0) size 247x27
-layer at (449,350) size 247x27 scrollWidth 370
- RenderBlock {DIV} at (0,0) size 247x27
- RenderText {#text} at (1,0) size 368x27
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (449,393) size 247x27 scrollWidth 370
- RenderBlock {DIV} at (0,0) size 247x27
- RenderText {#text} at (1,0) size 368x27
- text run at (1,0) width 368: "012345678901234567890123456789"
-layer at (449,436) size 258x28
- RenderBlock {DIV} at (0,0) size 258x28
-layer at (449,480) size 258x28 scrollWidth 386
- RenderBlock {DIV} at (0,0) size 258x28
- RenderText {#text} at (1,0) size 384x28
- text run at (1,0) width 384: "012345678901234567890123456789"
-layer at (449,524) size 258x28 scrollWidth 386
- RenderBlock {DIV} at (0,0) size 258x28
- RenderText {#text} at (1,0) size 384x28
- text run at (1,0) width 384: "012345678901234567890123456789"
+++ /dev/null
-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 {P} at (0,0) size 784x20
- RenderText {#text} at (0,0) size 267x19
- text run at (0,0) width 267: "Test appearances of input-speech-button."
- RenderBlock {DIV} at (0,36) size 784x0
- RenderBlock {DIV} at (0,36) size 784x352
- RenderTable {TABLE} at (0,0) size 716x352
- RenderTableSection {TBODY} at (0,0) size 716x352
- RenderTableRow {TR} at (0,2) size 716x348
- RenderTableCell {TD} at (2,14) size 180x324 [r=0 c=0 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 178x322
- RenderTextControl {INPUT} at (0,0) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (101,11) size 0x0
- RenderTextControl {INPUT} at (0,16) size 101x16 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (101,27) size 0x0
- RenderTextControl {INPUT} at (0,32) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (113,43) size 0x0
- RenderTextControl {INPUT} at (0,49) size 113x17 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (113,60) size 0x0
- RenderTextControl {INPUT} at (0,66) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (126,79) size 0x0
- RenderTextControl {INPUT} at (0,86) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (126,99) size 0x0
- RenderTextControl {INPUT} at (2,108) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (141,122) size 0x0
- RenderTextControl {INPUT} at (2,133) size 137x21 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (141,147) size 0x0
- RenderTextControl {INPUT} at (2,158) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (154,173) size 0x0
- RenderTextControl {INPUT} at (2,184) size 150x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (154,199) size 0x0
- RenderTextControl {INPUT} at (2,210) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (165,226) size 0x0
- RenderTextControl {INPUT} at (2,237) size 161x23 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (165,253) size 0x0
- RenderTextControl {INPUT} at (2,264) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (178,282) size 0x0
- RenderTextControl {INPUT} at (2,294) size 174x26 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (178,312) size 0x0
- RenderTableCell {TD} at (184,2) size 240x348 [r=0 c=1 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 238x346
- RenderTextControl {INPUT} at (2,2) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (189,21) size 0x0
- RenderTextControl {INPUT} at (2,34) size 185x28 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (189,53) size 0x0
- RenderTextControl {INPUT} at (2,66) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (202,86) size 0x0
- RenderTextControl {INPUT} at (2,99) size 198x29 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (202,119) size 0x0
- RenderTextControl {INPUT} at (2,132) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (214,154) size 0x0
- RenderTextControl {INPUT} at (2,167) size 210x31 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (214,189) size 0x0
- RenderTextControl {INPUT} at (2,202) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (227,224) size 0x0
- RenderTextControl {INPUT} at (2,238) size 223x32 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (227,260) size 0x0
- RenderTextControl {INPUT} at (2,274) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (238,297) size 0x0
- RenderTextControl {INPUT} at (2,311) size 234x33 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (238,334) size 0x0
- RenderTableCell {TD} at (426,6) size 288x340 [r=0 c=2 rs=1 cs=1]
- RenderBlock {DIV} at (1,1) size 286x338
- RenderTextControl {INPUT} at (2,2) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (251,27) size 0x0
- RenderTextControl {INPUT} at (2,42) size 247x36 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (251,67) size 0x0
- RenderTextControl {INPUT} at (2,82) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (262,109) size 0x0
- RenderTextControl {INPUT} at (2,124) size 258x38 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (262,151) size 0x0
- RenderTextControl {INPUT} at (2,166) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (275,193) size 0x0
- RenderTextControl {INPUT} at (2,209) size 271x39 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (275,236) size 0x0
- RenderTextControl {INPUT} at (2,252) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (286,280) size 0x0
- RenderTextControl {INPUT} at (2,296) size 282x40 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
- RenderBR {BR} at (286,324) size 0x0
-layer at (16,61) size 91x11 scrollWidth 155
- RenderBlock {DIV} at (5,2) size 91x11
- RenderText {#text} at (1,0) size 153x11
- text run at (1,0) width 153: "A quick brown fox jumps over the lazy dog"
-layer at (16,77) size 91x11 scrollWidth 155
- RenderBlock {DIV} at (5,2) size 91x11
- RenderText {#text} at (1,0) size 153x11
- text run at (1,0) width 153: "A quick brown fox jumps over the lazy dog"
-layer at (16,93) size 103x12 scrollWidth 182
- RenderBlock {DIV} at (5,2) size 103x12
- RenderText {#text} at (1,0) size 180x12
- text run at (1,0) width 180: "A quick brown fox jumps over the lazy dog"
-layer at (16,110) size 103x12 scrollWidth 182
- RenderBlock {DIV} at (5,2) size 103x12
- RenderText {#text} at (1,0) size 180x12
- text run at (1,0) width 180: "A quick brown fox jumps over the lazy dog"
-layer at (17,128) size 114x13 scrollWidth 195
- RenderBlock {DIV} at (6,3) size 114x13
- RenderText {#text} at (1,0) size 193x13
- text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
-layer at (17,148) size 114x13 scrollWidth 195
- RenderBlock {DIV} at (6,3) size 114x13
- RenderText {#text} at (1,0) size 193x13
- text run at (1,0) width 193: "A quick brown fox jumps over the lazy dog"
-layer at (19,170) size 125x14 scrollWidth 212
- RenderBlock {DIV} at (6,3) size 125x14
- RenderText {#text} at (1,0) size 210x14
- text run at (1,0) width 210: "A quick brown fox jumps over the lazy dog"
-layer at (19,195) size 125x14 scrollWidth 212
- RenderBlock {DIV} at (6,3) size 125x14
- RenderText {#text} at (1,0) size 210x14
- text run at (1,0) width 210: "A quick brown fox jumps over the lazy dog"
-layer at (20,220) size 136x15 scrollWidth 231
- RenderBlock {DIV} at (7,3) size 136x15
- RenderText {#text} at (1,0) size 229x15
- text run at (1,0) width 229: "A quick brown fox jumps over the lazy dog"
-layer at (20,246) size 136x15 scrollWidth 231
- RenderBlock {DIV} at (7,3) size 136x15
- RenderText {#text} at (1,0) size 229x15
- text run at (1,0) width 229: "A quick brown fox jumps over the lazy dog"
-layer at (20,272) size 147x16 scrollWidth 254
- RenderBlock {DIV} at (7,3) size 147x16
- RenderText {#text} at (1,0) size 252x16
- text run at (1,0) width 252: "A quick brown fox jumps over the lazy dog"
-layer at (20,299) size 147x16 scrollWidth 254
- RenderBlock {DIV} at (7,3) size 147x16
- RenderText {#text} at (1,0) size 252x16
- text run at (1,0) width 252: "A quick brown fox jumps over the lazy dog"
-layer at (21,327) size 158x18 scrollWidth 270
- RenderBlock {DIV} at (8,4) size 158x18
- RenderText {#text} at (1,0) size 268x18
- text run at (1,0) width 268: "A quick brown fox jumps over the lazy dog"
-layer at (21,357) size 158x18 scrollWidth 270
- RenderBlock {DIV} at (8,4) size 158x18
- RenderText {#text} at (1,0) size 268x18
- text run at (1,0) width 268: "A quick brown fox jumps over the lazy dog"
-layer at (203,53) size 169x19 scrollWidth 288
- RenderBlock {DIV} at (8,4) size 169x19
- RenderText {#text} at (1,0) size 286x19
- text run at (1,0) width 286: "A quick brown fox jumps over the lazy dog"
-layer at (203,85) size 169x19 scrollWidth 288
- RenderBlock {DIV} at (8,4) size 169x19
- RenderText {#text} at (1,0) size 286x19
- text run at (1,0) width 286: "A quick brown fox jumps over the lazy dog"
-layer at (204,117) size 180x20 scrollWidth 303
- RenderBlock {DIV} at (9,4) size 180x20
- RenderText {#text} at (1,0) size 301x20
- text run at (1,0) width 301: "A quick brown fox jumps over the lazy dog"
-layer at (204,150) size 180x20 scrollWidth 303
- RenderBlock {DIV} at (9,4) size 180x20
- RenderText {#text} at (1,0) size 301x20
- text run at (1,0) width 301: "A quick brown fox jumps over the lazy dog"
-layer at (204,184) size 192x21 scrollWidth 328
- RenderBlock {DIV} at (9,5) size 192x21
- RenderText {#text} at (1,0) size 326x21
- text run at (1,0) width 326: "A quick brown fox jumps over the lazy dog"
-layer at (204,219) size 192x21 scrollWidth 328
- RenderBlock {DIV} at (9,5) size 192x21
- RenderText {#text} at (1,0) size 326x21
- text run at (1,0) width 326: "A quick brown fox jumps over the lazy dog"
-layer at (205,254) size 203x22 scrollWidth 348
- RenderBlock {DIV} at (10,5) size 203x22
- RenderText {#text} at (1,0) size 346x22
- text run at (1,0) width 346: "A quick brown fox jumps over the lazy dog"
-layer at (205,290) size 203x22 scrollWidth 348
- RenderBlock {DIV} at (10,5) size 203x22
- RenderText {#text} at (1,0) size 346x22
- text run at (1,0) width 346: "A quick brown fox jumps over the lazy dog"
-layer at (205,326) size 214x23 scrollWidth 359
- RenderBlock {DIV} at (10,5) size 214x23
- RenderText {#text} at (1,0) size 357x23
- text run at (1,0) width 357: "A quick brown fox jumps over the lazy dog"
-layer at (205,363) size 214x23 scrollWidth 359
- RenderBlock {DIV} at (10,5) size 214x23
- RenderText {#text} at (1,0) size 357x23
- text run at (1,0) width 357: "A quick brown fox jumps over the lazy dog"
-layer at (448,59) size 225x24 scrollWidth 384
- RenderBlock {DIV} at (11,6) size 225x24
- RenderText {#text} at (1,0) size 382x24
- text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
-layer at (448,99) size 225x24 scrollWidth 384
- RenderBlock {DIV} at (11,6) size 225x24
- RenderText {#text} at (1,0) size 382x24
- text run at (1,0) width 382: "A quick brown fox jumps over the lazy dog"
-layer at (448,139) size 236x26 scrollWidth 404
- RenderBlock {DIV} at (11,6) size 236x26
- RenderText {#text} at (1,0) size 402x26
- text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
-layer at (448,181) size 236x26 scrollWidth 404
- RenderBlock {DIV} at (11,6) size 236x26
- RenderText {#text} at (1,0) size 402x26
- text run at (1,0) width 402: "A quick brown fox jumps over the lazy dog"
-layer at (449,223) size 247x27 scrollWidth 417
- RenderBlock {DIV} at (12,6) size 247x27
- RenderText {#text} at (1,0) size 415x27
- text run at (1,0) width 415: "A quick brown fox jumps over the lazy dog"
-layer at (449,266) size 247x27 scrollWidth 417
- RenderBlock {DIV} at (12,6) size 247x27
- RenderText {#text} at (1,0) size 415x27
- text run at (1,0) width 415: "A quick brown fox jumps over the lazy dog"
-layer at (449,309) size 258x28 scrollWidth 433
- RenderBlock {DIV} at (12,6) size 258x28
- RenderText {#text} at (1,0) size 431x28
- text run at (1,0) width 431: "A quick brown fox jumps over the lazy dog"
-layer at (449,353) size 258x28 scrollWidth 433
- RenderBlock {DIV} at (12,6) size 258x28
- RenderText {#text} at (1,0) size 431x28
- text run at (1,0) width 431: "A quick brown fox jumps over the lazy dog"
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * Configurations/FeatureDefines.xcconfig:
+
2014-08-07 Mark Hahnenberg <mhahnenberg@apple.com>
for-in is failing fast/dom/dataset-xhtml.xhtml and dataset.html tests
ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
ENABLE_INDIE_UI = ENABLE_INDIE_UI;
-ENABLE_INPUT_SPEECH = ;
ENABLE_INPUT_TYPE_COLOR = $(ENABLE_INPUT_TYPE_COLOR_$(PLATFORM_NAME));
ENABLE_INPUT_TYPE_COLOR_macosx = ENABLE_INPUT_TYPE_COLOR;
ENABLE_INPUT_TYPE_COLOR_POPOVER = $(ENABLE_INPUT_TYPE_COLOR_POPOVER_$(PLATFORM_NAME));
ENABLE_LLINT_C_LOOP = ;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
1CAA9A2318F4A220000A369D /* JSGlobalObjectProfilerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CAA9A2118F4A220000A369D /* JSGlobalObjectProfilerAgent.h */; };
2600B5A6152BAAA70091EE5F /* JSStringJoiner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2600B5A4152BAAA70091EE5F /* JSStringJoiner.cpp */; };
2600B5A7152BAAA70091EE5F /* JSStringJoiner.h in Headers */ = {isa = PBXBuildFile; fileRef = 2600B5A5152BAAA70091EE5F /* JSStringJoiner.h */; };
- 2A05ABD51961DF2400341750 /* JSPropertyNameEnumerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A05ABD31961DF2400341750 /* JSPropertyNameEnumerator.cpp */; };
- 2A05ABD61961DF2400341750 /* JSPropertyNameEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */; };
+ 2A05ABD51961DF2400341750 /* JSPropertyNameEnumerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A05ABD31961DF2400341750 /* JSPropertyNameEnumerator.cpp */; };
+ 2A05ABD61961DF2400341750 /* JSPropertyNameEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */; };
2A111245192FCE79005EE18D /* CustomGetterSetter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2A111243192FCE79005EE18D /* CustomGetterSetter.cpp */; };
2A111246192FCE79005EE18D /* CustomGetterSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A111244192FCE79005EE18D /* CustomGetterSetter.h */; settings = {ATTRIBUTES = (Private, ); }; };
2A2825D018341F2D0087FBA9 /* DelayedReleaseScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2825CF18341F2D0087FBA9 /* DelayedReleaseScope.h */; };
41359CF30FDD89AD00206180 /* DateConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = D21202290AD4310C00ED79B6 /* DateConversion.h */; };
4443AE3316E188D90076F110 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51F0EB6105C86C6B00E6DF1B /* Foundation.framework */; };
451539B912DC994500EF7AC4 /* Yarr.h in Headers */ = {isa = PBXBuildFile; fileRef = 451539B812DC994500EF7AC4 /* Yarr.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 52B310FB1974AE610080857C /* FunctionHasExecutedCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B310FA1974AE610080857C /* FunctionHasExecutedCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 52B310FD1974AE870080857C /* FunctionHasExecutedCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B310FC1974AE870080857C /* FunctionHasExecutedCache.cpp */; };
- 52B310FF1975B4240080857C /* TypeLocationCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B310FE1975B4240080857C /* TypeLocationCache.cpp */; };
- 52B311011975B4670080857C /* TypeLocationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B311001975B4670080857C /* TypeLocationCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 52B310FB1974AE610080857C /* FunctionHasExecutedCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B310FA1974AE610080857C /* FunctionHasExecutedCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 52B310FD1974AE870080857C /* FunctionHasExecutedCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B310FC1974AE870080857C /* FunctionHasExecutedCache.cpp */; };
+ 52B310FF1975B4240080857C /* TypeLocationCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B310FE1975B4240080857C /* TypeLocationCache.cpp */; };
+ 52B311011975B4670080857C /* TypeLocationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B311001975B4670080857C /* TypeLocationCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
5510502618EB827500001F3E /* JSCallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1440F88F0A508B100005F061 /* JSCallbackFunction.h */; };
552EA70C1908704800A66F2F /* JSDataViewPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66BF17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp */; };
5540757218DA58AD00EFF7F2 /* ArgList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF605120E203EF800B9A64D /* ArgList.h */; };
0F2D4DE419832D91007D4B19 /* TypeSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeSet.h; sourceTree = "<group>"; };
0F2D4DE519832DAC007D4B19 /* ToThisStatus.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ToThisStatus.cpp; sourceTree = "<group>"; };
0F2D4DE619832DAC007D4B19 /* ToThisStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ToThisStatus.h; sourceTree = "<group>"; };
- 0F7B365F197C525C00ED1DDC /* DFGPhantomCanonicalizationPhase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGPhantomCanonicalizationPhase.cpp; path = dfg/DFGPhantomCanonicalizationPhase.cpp; sourceTree = "<group>"; };
- 0F7B3660197C525C00ED1DDC /* DFGPhantomCanonicalizationPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGPhantomCanonicalizationPhase.h; path = dfg/DFGPhantomCanonicalizationPhase.h; sourceTree = "<group>"; };
0F2D4DE719832DAC007D4B19 /* TypeLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypeLocation.h; sourceTree = "<group>"; };
- 52B310FA1974AE610080857C /* FunctionHasExecutedCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FunctionHasExecutedCache.h; sourceTree = "<group>"; };
- 52B310FC1974AE870080857C /* FunctionHasExecutedCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionHasExecutedCache.cpp; sourceTree = "<group>"; };
- 52B310FE1975B4240080857C /* TypeLocationCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLocationCache.cpp; sourceTree = "<group>"; };
- 52B311001975B4670080857C /* TypeLocationCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeLocationCache.h; sourceTree = "<group>"; };
0F2FC77016E12F6F0038D976 /* DFGDCEPhase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGDCEPhase.cpp; path = dfg/DFGDCEPhase.cpp; sourceTree = "<group>"; };
0F2FC77116E12F6F0038D976 /* DFGDCEPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGDCEPhase.h; path = dfg/DFGDCEPhase.h; sourceTree = "<group>"; };
0F2FCCF218A60070001A27F8 /* DFGGraphSafepoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGGraphSafepoint.cpp; path = dfg/DFGGraphSafepoint.cpp; sourceTree = "<group>"; };
0F766D3715AE4A1A008F363E /* StructureStubClearingWatchpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StructureStubClearingWatchpoint.h; sourceTree = "<group>"; };
0F77008E1402FDD60078EB39 /* SamplingCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SamplingCounter.h; sourceTree = "<group>"; };
0F7700911402FF280078EB39 /* SamplingCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SamplingCounter.cpp; sourceTree = "<group>"; };
+ 0F7B365F197C525C00ED1DDC /* DFGPhantomCanonicalizationPhase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGPhantomCanonicalizationPhase.cpp; path = dfg/DFGPhantomCanonicalizationPhase.cpp; sourceTree = "<group>"; };
+ 0F7B3660197C525C00ED1DDC /* DFGPhantomCanonicalizationPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGPhantomCanonicalizationPhase.h; path = dfg/DFGPhantomCanonicalizationPhase.h; sourceTree = "<group>"; };
0F8023E91613832300A0BA45 /* ByValInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByValInfo.h; sourceTree = "<group>"; };
0F8335B41639C1E3001443B5 /* ArrayAllocationProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrayAllocationProfile.cpp; sourceTree = "<group>"; };
0F8335B51639C1E3001443B5 /* ArrayAllocationProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrayAllocationProfile.h; sourceTree = "<group>"; };
1CAA9A2118F4A220000A369D /* JSGlobalObjectProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectProfilerAgent.h; sourceTree = "<group>"; };
2600B5A4152BAAA70091EE5F /* JSStringJoiner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStringJoiner.cpp; sourceTree = "<group>"; };
2600B5A5152BAAA70091EE5F /* JSStringJoiner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStringJoiner.h; sourceTree = "<group>"; };
- 2A05ABD31961DF2400341750 /* JSPropertyNameEnumerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPropertyNameEnumerator.cpp; sourceTree = "<group>"; };
- 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPropertyNameEnumerator.h; sourceTree = "<group>"; };
+ 2A05ABD31961DF2400341750 /* JSPropertyNameEnumerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPropertyNameEnumerator.cpp; sourceTree = "<group>"; };
+ 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPropertyNameEnumerator.h; sourceTree = "<group>"; };
2A111243192FCE79005EE18D /* CustomGetterSetter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomGetterSetter.cpp; sourceTree = "<group>"; };
2A111244192FCE79005EE18D /* CustomGetterSetter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomGetterSetter.h; sourceTree = "<group>"; };
2A2825CF18341F2D0087FBA9 /* DelayedReleaseScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedReleaseScope.h; sourceTree = "<group>"; };
45E12D8806A49B0F00E9DF84 /* jsc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = jsc.cpp; sourceTree = "<group>"; tabWidth = 4; };
51F0EB6105C86C6B00E6DF1B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
51F0EC0705C86C9A00E6DF1B /* libobjc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libobjc.dylib; path = /usr/lib/libobjc.dylib; sourceTree = "<absolute>"; };
+ 52B310FA1974AE610080857C /* FunctionHasExecutedCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FunctionHasExecutedCache.h; sourceTree = "<group>"; };
+ 52B310FC1974AE870080857C /* FunctionHasExecutedCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionHasExecutedCache.cpp; sourceTree = "<group>"; };
+ 52B310FE1975B4240080857C /* TypeLocationCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLocationCache.cpp; sourceTree = "<group>"; };
+ 52B311001975B4670080857C /* TypeLocationCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeLocationCache.h; sourceTree = "<group>"; };
5540758418F4A37500602A5D /* CompileRuntimeToLLVMIR.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = CompileRuntimeToLLVMIR.xcconfig; sourceTree = "<group>"; };
55407AC818DA58AD00EFF7F2 /* libCompileRuntimeToLLVMIR.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCompileRuntimeToLLVMIR.a; sourceTree = BUILT_PRODUCTS_DIR; };
5D53726D0E1C546B0021E549 /* Tracing.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Tracing.d; sourceTree = "<group>"; };
0F2B66DB17B6B5AB00A7AE3F /* TypedArrays.h */,
0F2B66DC17B6B5AB00A7AE3F /* TypedArrayType.cpp */,
0F2B66DD17B6B5AB00A7AE3F /* TypedArrayType.h */,
- 52B311001975B4670080857C /* TypeLocationCache.h */,
- 52B310FE1975B4240080857C /* TypeLocationCache.cpp */,
+ 52B311001975B4670080857C /* TypeLocationCache.h */,
+ 52B310FE1975B4240080857C /* TypeLocationCache.cpp */,
0F2D4DE319832D91007D4B19 /* TypeSet.cpp */,
0F2D4DE419832D91007D4B19 /* TypeSet.h */,
A7A8AF3217ADB5F3005AB174 /* Uint16Array.h */,
0F426A461460CBAB00131F8F /* VirtualRegister.h */,
0F919D2215853CDE004A4E7D /* Watchpoint.cpp */,
0F919D2315853CDE004A4E7D /* Watchpoint.h */,
- 52DAD38E195A164E00F30464 /* TypeLocation.h */,
);
path = bytecode;
sourceTree = "<group>";
0F6B1CB91861244C00845D97 /* ArityCheckMode.h in Headers */,
A1A009C11831A26E00CF8711 /* ARM64Assembler.h in Headers */,
86D3B2C410156BDE002865E7 /* ARMAssembler.h in Headers */,
- 2AD2EDFB19799E38004D6478 /* EnumerationMode.h in Headers */,
+ 2AD2EDFB19799E38004D6478 /* EnumerationMode.h in Headers */,
147B83AC0E6DB8C9004775A4 /* BatchedTransitionOptimizer.h in Headers */,
2A111246192FCE79005EE18D /* CustomGetterSetter.h in Headers */,
A584032018BFFBE1005A0811 /* InspectorAgent.h in Headers */,
A785F6BC18C553FE00F10626 /* SpillRegistersMode.h in Headers */,
BC18C4550E16F5CD00B34460 /* PropertySlot.h in Headers */,
0FB7F39C15ED8E4600F167B2 /* PropertyStorage.h in Headers */,
- 0F6FC751196110A800E1D02D /* ComplexGetStatus.h in Headers */,
+ 0F6FC751196110A800E1D02D /* ComplexGetStatus.h in Headers */,
0F12DE101979D5FD0006FF4E /* ExceptionFuzz.h in Headers */,
BC18C4560E16F5CD00B34460 /* Protect.h in Headers */,
1474C33B16AA2D950062F01D /* PrototypeMap.h in Headers */,
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * wtf/FeatureDefines.h:
+
2014-08-06 Dean Jackson <dino@apple.com>
ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
#define ENABLE_INDEXED_DATABASE_IN_WORKERS 0
#endif
-#if !defined(ENABLE_INPUT_SPEECH)
-#define ENABLE_INPUT_SPEECH 0
-#endif
-
#if !defined(ENABLE_INPUT_TYPE_COLOR)
#define ENABLE_INPUT_TYPE_COLOR 0
#endif
page/PerformanceResourceTiming.idl
page/PerformanceTiming.idl
page/Screen.idl
- page/SpeechInputEvent.idl
- page/SpeechInputResult.idl
- page/SpeechInputResultList.idl
page/WebKitPoint.idl
page/WebKitNamespace.idl
page/UserMessageHandlersNamespace.idl
page/SecurityPolicy.cpp
page/Settings.cpp
page/SpatialNavigation.cpp
- page/SpeechInput.cpp
- page/SpeechInputEvent.cpp
- page/SpeechInputResult.cpp
- page/SpeechInputResultList.cpp
page/SuspendableTimer.cpp
page/UserContentController.cpp
page/UserContentURLPattern.cpp
rendering/RenderImageResource.cpp
rendering/RenderImageResourceStyleImage.cpp
rendering/RenderInline.cpp
- rendering/RenderInputSpeech.cpp
rendering/RenderLayer.cpp
rendering/RenderLayerBacking.cpp
rendering/RenderLayerCompositor.cpp
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * Modules/speech/SpeechSynthesis.cpp:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setSpeechInputEnabled): Deleted.
+ (WebCore::RuntimeEnabledFeatures::speechInputEnabled): Deleted.
+ (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled): Deleted.
+ (WebCore::RuntimeEnabledFeatures::webkitGrammarEnabled): Deleted.
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSValueKeywords.in:
+ * css/html.css:
+ (input::-webkit-input-speech-button): Deleted.
+ * dom/Element.h:
+ (WebCore::Element::isInputFieldSpeechButtonElement): Deleted.
+ * dom/EventNames.in:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseAttribute):
+ (WebCore::HTMLInputElement::speechButtonElement): Deleted.
+ (WebCore::HTMLInputElement::isSpeechEnabled): Deleted.
+ * html/HTMLInputElement.h:
+ * html/HTMLInputElement.idl:
+ * html/InputType.cpp:
+ (WebCore::InputType::shouldRespectListAttribute):
+ (WebCore::InputType::shouldRespectSpeechAttribute): Deleted.
+ * html/InputType.h:
+ (WebCore::InputType::speechButtonElement): Deleted.
+ * html/NumberInputType.cpp:
+ (WebCore::NumberInputType::shouldRespectSpeechAttribute): Deleted.
+ * html/NumberInputType.h:
+ * html/PasswordInputType.cpp:
+ (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Deleted.
+ * html/PasswordInputType.h:
+ * html/SearchInputType.cpp:
+ (WebCore::SearchInputType::shouldRespectSpeechAttribute): Deleted.
+ * html/SearchInputType.h:
+ * html/TelephoneInputType.cpp:
+ (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Deleted.
+ * html/TelephoneInputType.h:
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::needsContainer):
+ (WebCore::TextFieldInputType::createShadowSubtree):
+ (WebCore::TextFieldInputType::destroyShadowSubtree):
+ (WebCore::TextFieldInputType::speechButtonElement): Deleted.
+ * html/TextFieldInputType.h:
+ * html/TextInputType.cpp:
+ (WebCore::TextInputType::shouldRespectSpeechAttribute): Deleted.
+ * html/TextInputType.h:
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::create): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::setState): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::speechInput): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::didCompleteRecording): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::didCompleteRecognition): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::willAttachRenderers): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::willDetachRenderers): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::startSpeechInput): Deleted.
+ (WebCore::InputFieldSpeechButtonElement::stopSpeechInput): Deleted.
+ * html/shadow/TextControlInnerElements.h:
+ (WebCore::toInputFieldSpeechButtonElement): Deleted.
+ * page/SpeechInput.cpp: Removed.
+ * page/SpeechInput.h: Removed.
+ * page/SpeechInputClient.h: Removed.
+ * page/SpeechInputEvent.cpp: Removed.
+ * page/SpeechInputEvent.h: Removed.
+ * page/SpeechInputEvent.idl: Removed.
+ * page/SpeechInputListener.h: Removed.
+ * page/SpeechInputResult.cpp: Removed.
+ * page/SpeechInputResult.h: Removed.
+ * page/SpeechInputResult.idl: Removed.
+ * page/SpeechInputResultList.cpp: Removed.
+ * page/SpeechInputResultList.h: Removed.
+ * page/SpeechInputResultList.idl: Removed.
+ * platform/ThemeTypes.h:
+ * rendering/RenderInputSpeech.cpp: Removed.
+ * rendering/RenderInputSpeech.h: Removed.
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle): Deleted.
+ (WebCore::RenderTheme::paintInputFieldSpeechButton): Deleted.
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+
2014-08-07 Eric Carlson <eric.carlson@apple.com>
Create UTF-8 string from in-band VTT cues
ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
ENABLE_INDIE_UI = ENABLE_INDIE_UI;
-ENABLE_INPUT_SPEECH = ;
ENABLE_INPUT_TYPE_COLOR = $(ENABLE_INPUT_TYPE_COLOR_$(PLATFORM_NAME));
ENABLE_INPUT_TYPE_COLOR_macosx = ENABLE_INPUT_TYPE_COLOR;
ENABLE_INPUT_TYPE_COLOR_POPOVER = $(ENABLE_INPUT_TYPE_COLOR_POPOVER_$(PLATFORM_NAME));
ENABLE_LLINT_C_LOOP = ;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
$(WebCore)/page/PerformanceNavigation.idl \
$(WebCore)/page/PerformanceTiming.idl \
$(WebCore)/page/Screen.idl \
- $(WebCore)/page/SpeechInputEvent.idl \
- $(WebCore)/page/SpeechInputResult.idl \
- $(WebCore)/page/SpeechInputResultList.idl \
$(WebCore)/page/WebKitPoint.idl \
$(WebCore)/page/WebKitNamespace.idl \
$(WebCore)/page/UserMessageHandlersNamespace.idl \
} // namespace WebCore
-#endif // ENABLE(INPUT_SPEECH)
+#endif // ENABLE(SPEECH_SYNTHESIS)
<ClCompile Include="..\page\SecurityPolicy.cpp" />
<ClCompile Include="..\page\Settings.cpp" />
<ClCompile Include="..\page\SpatialNavigation.cpp" />
- <ClCompile Include="..\page\SpeechInput.cpp" />
<ClCompile Include="..\page\SuspendableTimer.cpp" />
<ClCompile Include="..\page\UserContentController.cpp" />
<ClCompile Include="..\page\UserContentURLPattern.cpp" />
<ClInclude Include="..\page\SecurityPolicy.h" />
<ClInclude Include="..\page\Settings.h" />
<ClInclude Include="..\page\SpatialNavigation.h" />
- <ClInclude Include="..\page\SpeechInput.h" />
- <ClInclude Include="..\page\SpeechInputClient.h" />
- <ClInclude Include="..\page\SpeechInputListener.h" />
<ClInclude Include="..\page\SuspendableTimer.h" />
<ClInclude Include="..\page\UserContentController.h" />
<ClInclude Include="..\page\UserContentURLPattern.h" />
<ClCompile Include="..\page\SpatialNavigation.cpp">
<Filter>page</Filter>
</ClCompile>
- <ClCompile Include="..\page\SpeechInput.cpp">
- <Filter>page</Filter>
- </ClCompile>
<ClCompile Include="..\page\SuspendableTimer.cpp">
<Filter>page</Filter>
</ClCompile>
<ClInclude Include="..\page\SpatialNavigation.h">
<Filter>page</Filter>
</ClInclude>
- <ClInclude Include="..\page\SpeechInput.h">
- <Filter>page</Filter>
- </ClInclude>
- <ClInclude Include="..\page\SpeechInputClient.h">
- <Filter>page</Filter>
- </ClInclude>
- <ClInclude Include="..\page\SpeechInputListener.h">
- <Filter>page</Filter>
- </ClInclude>
<ClInclude Include="..\page\SuspendableTimer.h">
<Filter>page</Filter>
</ClInclude>
71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 71E623CF151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h */; };
71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h in Headers */ = {isa = PBXBuildFile; fileRef = 71FB967A1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h */; settings = {ATTRIBUTES = (Private, ); }; };
72626E020EF022FE00A07E20 /* FontFastPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72626E010EF022FE00A07E20 /* FontFastPath.cpp */; };
- 750D029411D0E7F300BD1B27 /* RenderInputSpeech.h in Headers */ = {isa = PBXBuildFile; fileRef = 750D029211D0E7F300BD1B27 /* RenderInputSpeech.h */; };
754133A8102E00E800075D00 /* InspectorTimelineAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 754133A7102E00E800075D00 /* InspectorTimelineAgent.h */; };
754133AA102E00F400075D00 /* InspectorTimelineAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 754133A9102E00F400075D00 /* InspectorTimelineAgent.cpp */; };
- 75415AFD12958D5E003AD669 /* SpeechInputEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 75415AF812958D5E003AD669 /* SpeechInputEvent.h */; };
- 75415B0012958D5E003AD669 /* SpeechInputResultList.h in Headers */ = {isa = PBXBuildFile; fileRef = 75415AFB12958D5E003AD669 /* SpeechInputResultList.h */; };
- 75415C29129A9920003AD669 /* SpeechInputResultList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75415C27129A9920003AD669 /* SpeechInputResultList.cpp */; };
- 75415D56129AB2D2003AD669 /* JSSpeechInputEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 75415D50129AB2D2003AD669 /* JSSpeechInputEvent.h */; };
- 75415D58129AB2D2003AD669 /* JSSpeechInputResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 75415D52129AB2D2003AD669 /* JSSpeechInputResult.h */; };
- 75415D59129AB2D2003AD669 /* JSSpeechInputResultList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75415D53129AB2D2003AD669 /* JSSpeechInputResultList.cpp */; };
- 75415D5A129AB2D2003AD669 /* JSSpeechInputResultList.h in Headers */ = {isa = PBXBuildFile; fileRef = 75415D54129AB2D2003AD669 /* JSSpeechInputResultList.h */; };
7553CFE8108F473F00EA281E /* TimelineRecordFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */; };
7553CFE9108F473F00EA281E /* TimelineRecordFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7553CFE7108F473F00EA281E /* TimelineRecordFactory.cpp */; };
756B2CE118B7101600FECFAA /* SessionID.h in Headers */ = {isa = PBXBuildFile; fileRef = 756B2CE018B7101600FECFAA /* SessionID.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 7578F90C11DDF26900D933C5 /* SpeechInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 7578F90911DDF26900D933C5 /* SpeechInput.h */; };
- 7578F90D11DDF26900D933C5 /* SpeechInputClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7578F90A11DDF26900D933C5 /* SpeechInputClient.h */; };
- 7578F92011E4E32800D933C5 /* SpeechInputListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7578F91E11E4E32800D933C5 /* SpeechInputListener.h */; };
75793E830D0CE0B3007FC0AC /* MessageEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75793E800D0CE0B3007FC0AC /* MessageEvent.cpp */; };
75793E840D0CE0B3007FC0AC /* MessageEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 75793E810D0CE0B3007FC0AC /* MessageEvent.h */; };
75793EC80D0CE72D007FC0AC /* JSMessageEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75793EC60D0CE72D007FC0AC /* JSMessageEvent.cpp */; };
71E623CF151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedIntegerOptionalInteger.h; sourceTree = "<group>"; };
71FB967A1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGAnimatedEnumerationPropertyTearOff.h; sourceTree = "<group>"; };
72626E010EF022FE00A07E20 /* FontFastPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontFastPath.cpp; sourceTree = "<group>"; };
- 750D029211D0E7F300BD1B27 /* RenderInputSpeech.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderInputSpeech.h; sourceTree = "<group>"; };
754133A7102E00E800075D00 /* InspectorTimelineAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorTimelineAgent.h; sourceTree = "<group>"; };
754133A9102E00F400075D00 /* InspectorTimelineAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorTimelineAgent.cpp; sourceTree = "<group>"; };
- 75415AF812958D5E003AD669 /* SpeechInputEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInputEvent.h; sourceTree = "<group>"; };
- 75415AF912958D5E003AD669 /* SpeechInputEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SpeechInputEvent.idl; sourceTree = "<group>"; };
- 75415AFA12958D5E003AD669 /* SpeechInputResult.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SpeechInputResult.idl; sourceTree = "<group>"; };
- 75415AFB12958D5E003AD669 /* SpeechInputResultList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInputResultList.h; sourceTree = "<group>"; };
- 75415AFC12958D5E003AD669 /* SpeechInputResultList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SpeechInputResultList.idl; sourceTree = "<group>"; };
- 75415C27129A9920003AD669 /* SpeechInputResultList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpeechInputResultList.cpp; sourceTree = "<group>"; };
- 75415D50129AB2D2003AD669 /* JSSpeechInputEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSpeechInputEvent.h; sourceTree = "<group>"; };
- 75415D52129AB2D2003AD669 /* JSSpeechInputResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSpeechInputResult.h; sourceTree = "<group>"; };
- 75415D53129AB2D2003AD669 /* JSSpeechInputResultList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSpeechInputResultList.cpp; sourceTree = "<group>"; };
- 75415D54129AB2D2003AD669 /* JSSpeechInputResultList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSpeechInputResultList.h; sourceTree = "<group>"; };
7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TimelineRecordFactory.h; sourceTree = "<group>"; };
7553CFE7108F473F00EA281E /* TimelineRecordFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimelineRecordFactory.cpp; sourceTree = "<group>"; };
756B2CE018B7101600FECFAA /* SessionID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionID.h; sourceTree = "<group>"; };
- 7578F90911DDF26900D933C5 /* SpeechInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInput.h; sourceTree = "<group>"; };
- 7578F90A11DDF26900D933C5 /* SpeechInputClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInputClient.h; sourceTree = "<group>"; };
- 7578F91E11E4E32800D933C5 /* SpeechInputListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInputListener.h; sourceTree = "<group>"; };
75793E800D0CE0B3007FC0AC /* MessageEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = MessageEvent.cpp; path = dom/MessageEvent.cpp; sourceTree = SOURCE_ROOT; };
75793E810D0CE0B3007FC0AC /* MessageEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MessageEvent.h; path = dom/MessageEvent.h; sourceTree = SOURCE_ROOT; };
75793E820D0CE0B3007FC0AC /* MessageEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = MessageEvent.idl; path = dom/MessageEvent.idl; sourceTree = SOURCE_ROOT; };
75793ED00D0CE85B007FC0AC /* DOMMessageEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMMessageEvent.h; sourceTree = "<group>"; };
75793ED10D0CE85B007FC0AC /* DOMMessageEvent.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMMessageEvent.mm; sourceTree = "<group>"; };
75793ED20D0CE85B007FC0AC /* DOMMessageEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMMessageEventInternal.h; sourceTree = "<group>"; };
- 758978EB127090D60076D5A9 /* SpeechInputResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeechInputResult.h; sourceTree = "<group>"; };
75DCC7B718B81C8800A57128 /* SessionIDHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionIDHash.h; sourceTree = "<group>"; };
7633A72413D8B33A008501B6 /* LocaleToScriptMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocaleToScriptMapping.h; sourceTree = "<group>"; };
7633A72513D8B33A008501B6 /* LocaleToScriptMappingDefault.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LocaleToScriptMappingDefault.cpp; sourceTree = "<group>"; };
BC59DEF8169DEDC30016AC34 /* Settings.in */,
626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */,
626CDE0D1140424C001E5A68 /* SpatialNavigation.h */,
- 7578F90911DDF26900D933C5 /* SpeechInput.h */,
- 7578F90A11DDF26900D933C5 /* SpeechInputClient.h */,
- 75415AF812958D5E003AD669 /* SpeechInputEvent.h */,
- 75415AF912958D5E003AD669 /* SpeechInputEvent.idl */,
- 7578F91E11E4E32800D933C5 /* SpeechInputListener.h */,
- 758978EB127090D60076D5A9 /* SpeechInputResult.h */,
- 75415AFA12958D5E003AD669 /* SpeechInputResult.idl */,
- 75415C27129A9920003AD669 /* SpeechInputResultList.cpp */,
- 75415AFB12958D5E003AD669 /* SpeechInputResultList.h */,
- 75415AFC12958D5E003AD669 /* SpeechInputResultList.idl */,
62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */,
62C1217B11AB9E77003C462C /* SuspendableTimer.h */,
1AE79D40188DB61F002239C2 /* UserContentController.cpp */,
E4B423860CBFB73C00AF2ECE /* JSProgressEvent.h */,
4998AECB13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.cpp */,
4998AECC13F9D6C90090B1AA /* JSRequestAnimationFrameCallback.h */,
- 75415D50129AB2D2003AD669 /* JSSpeechInputEvent.h */,
- 75415D52129AB2D2003AD669 /* JSSpeechInputResult.h */,
- 75415D53129AB2D2003AD669 /* JSSpeechInputResultList.cpp */,
- 75415D54129AB2D2003AD669 /* JSSpeechInputResultList.h */,
65DF31EF09D1CC60000BE325 /* JSText.cpp */,
65DF31F009D1CC60000BE325 /* JSText.h */,
D7613AC214753E5600DB8606 /* JSWebKitNamedFlow.cpp */,
08641D4612142F7D008DE9F6 /* RenderImageResourceStyleImage.h */,
BCEA4838097D93020094C9E4 /* RenderInline.cpp */,
BCEA4839097D93020094C9E4 /* RenderInline.h */,
- 750D029211D0E7F300BD1B27 /* RenderInputSpeech.h */,
B595FF461824CEE300FF51CD /* RenderIterator.h */,
BCEA483A097D93020094C9E4 /* RenderLayer.cpp */,
BCEA483B097D93020094C9E4 /* RenderLayer.h */,
CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers */,
CD9DE17D17AAC75B00EA386D /* JSSourceBufferList.h in Headers */,
076306E117E16089005A7C4E /* JSSourceInfo.h in Headers */,
- 75415D56129AB2D2003AD669 /* JSSpeechInputEvent.h in Headers */,
- 75415D58129AB2D2003AD669 /* JSSpeechInputResult.h in Headers */,
- 75415D5A129AB2D2003AD669 /* JSSpeechInputResultList.h in Headers */,
0FB6252F18DE1B1500A07C05 /* GeometryUtilities.h in Headers */,
AA7FEEAD16A4E74B004C0C33 /* JSSpeechSynthesis.h in Headers */,
AA2A5AD216A4860A00976A25 /* JSSpeechSynthesisEvent.h in Headers */,
08F2F00A1213E61700DCEC48 /* RenderImageResource.h in Headers */,
08641D4812142F7D008DE9F6 /* RenderImageResourceStyleImage.h in Headers */,
BCEA4878097D93020094C9E4 /* RenderInline.h in Headers */,
- 750D029411D0E7F300BD1B27 /* RenderInputSpeech.h in Headers */,
B595FF471824CEE300FF51CD /* RenderIterator.h in Headers */,
BCEA487A097D93020094C9E4 /* RenderLayer.h in Headers */,
0F580CFF0F12DE9B0051D689 /* RenderLayerBacking.h in Headers */,
076306D817E149D0005A7C4E /* SourceInfo.h in Headers */,
D01A27AE10C9BFD800026A42 /* SpaceSplitString.h in Headers */,
626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */,
- 7578F90C11DDF26900D933C5 /* SpeechInput.h in Headers */,
- 7578F90D11DDF26900D933C5 /* SpeechInputClient.h in Headers */,
- 75415AFD12958D5E003AD669 /* SpeechInputEvent.h in Headers */,
- 7578F92011E4E32800D933C5 /* SpeechInputListener.h in Headers */,
- 75415B0012958D5E003AD669 /* SpeechInputResultList.h in Headers */,
AA2A5AD416A4861100975A25 /* SpeechSynthesis.h in Headers */,
AA2A5AD216A4860A00975A25 /* SpeechSynthesisEvent.h in Headers */,
AA2A5AD016A4860400975A25 /* SpeechSynthesisUtterance.h in Headers */,
CD9DE17A17AAC75B00EA386D /* JSSourceBuffer.cpp in Sources */,
CD9DE17C17AAC75B00EA386D /* JSSourceBufferList.cpp in Sources */,
076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */,
- 75415D59129AB2D2003AD669 /* JSSpeechInputResultList.cpp in Sources */,
AA7FEEA416A4E6F3004C0C33 /* JSSpeechSynthesis.cpp in Sources */,
AA2A5AD316A4860D00976A25 /* JSSpeechSynthesisEvent.cpp in Sources */,
AA7FEEA616A4E6F3004C0C33 /* JSSpeechSynthesisUtterance.cpp in Sources */,
076306D717E149CF005A7C4E /* SourceInfo.cpp in Sources */,
D01A27AD10C9BFD800026A42 /* SpaceSplitString.cpp in Sources */,
626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */,
- 75415C29129A9920003AD669 /* SpeechInputResultList.cpp in Sources */,
AA2A5AD516A4861400975A25 /* SpeechSynthesis.cpp in Sources */,
AA2A5AD316A4860D00975A25 /* SpeechSynthesisEvent.cpp in Sources */,
AA2A5AD116A4860700975A25 /* SpeechSynthesisUtterance.cpp in Sources */,
, m_isTouchEnabled(true)
, m_isDeviceMotionEnabled(true)
, m_isDeviceOrientationEnabled(true)
- , m_isSpeechInputEnabled(true)
, m_isCSSShapesEnabled(true)
, m_isCSSRegionsEnabled(false)
, m_isCSSCompositingEnabled(false)
bool deviceOrientationEventEnabled() const { return m_isDeviceOrientationEnabled; }
bool ondeviceorientationEnabled() const { return m_isDeviceOrientationEnabled; }
- void setSpeechInputEnabled(bool isEnabled) { m_isSpeechInputEnabled = isEnabled; }
- bool speechInputEnabled() const { return m_isSpeechInputEnabled; }
- bool webkitSpeechEnabled() const { return m_isSpeechInputEnabled; }
- bool webkitGrammarEnabled() const { return m_isSpeechInputEnabled; }
-
#if ENABLE(SCRIPTED_SPEECH)
void setScriptedSpeechEnabled(bool isEnabled) { m_isScriptedSpeechEnabled = isEnabled; }
bool scriptedSpeechEnabled() const { return m_isScriptedSpeechEnabled; }
bool m_isTouchEnabled;
bool m_isDeviceMotionEnabled;
bool m_isDeviceOrientationEnabled;
- bool m_isSpeechInputEnabled;
bool m_isCSSShapesEnabled;
bool m_isCSSRegionsEnabled;
bool m_isCSSCompositingEnabled;
m_value.valueID = CSSValueImageControlsButton;
break;
#endif
- case InputSpeechButtonPart:
-#if ENABLE(INPUT_SPEECH)
- m_value.valueID = CSSValueWebkitInputSpeechButton;
-#endif
- break;
}
}
button-bevel
default-button
inner-spin-button
--webkit-input-speech-button
listbox
listitem
media-enter-fullscreen-button
-webkit-user-select: none;
}
-#if defined(ENABLE_INPUT_SPEECH) && ENABLE_INPUT_SPEECH
-input::-webkit-input-speech-button {
- -webkit-appearance: -webkit-input-speech-button;
- display: block;
- vertical-align: top;
- -webkit-flex: none;
- -webkit-align-self: flex-start;
- margin: auto 0;
-}
-#endif
-
keygen, select {
border-radius: 5px;
}
virtual bool isMediaElement() const { return false; }
#endif
-#if ENABLE(INPUT_SPEECH)
- virtual bool isInputFieldSpeechButtonElement() const { return false; }
-#endif
-
virtual bool isFormControlElement() const { return false; }
virtual bool isSpinButtonElement() const { return false; }
virtual bool isTextFormControl() const { return false; }
RTCIceCandidateEvent conditional=MEDIA_STREAM
RTCDataChannelEvent conditional=MEDIA_STREAM
RTCDTMFToneChangeEvent conditional=MEDIA_STREAM
-SpeechInputEvent conditional=INPUT_SPEECH
SpeechRecognitionError conditional=SCRIPTED_SPEECH
SpeechRecognitionEvent conditional=SCRIPTED_SPEECH
SpeechSynthesisEvent conditional=SPEECH_SYNTHESIS
return m_inputType->cancelButtonElement();
}
-#if ENABLE(INPUT_SPEECH)
-HTMLElement* HTMLInputElement::speechButtonElement() const
-{
- return m_inputType->speechButtonElement();
-}
-#endif
-
HTMLElement* HTMLInputElement::sliderThumbElement() const
{
return m_inputType->sliderThumbElement();
listAttributeTargetChanged();
}
}
-#endif
-#if ENABLE(INPUT_SPEECH)
- else if (name == webkitspeechAttr) {
- m_inputType->destroyShadowSubtree();
- m_inputType->createShadowSubtree();
- updateInnerTextElementEditability();
-
- // This renderer and its children have quite different layouts and styles depending on
- // whether the speech button is visible or not. So we reset the whole thing and recreate
- // to get the right styles and layout.
- setNeedsStyleRecalc(ReconstructRenderTree);
-
- setFormControlValueMatchesRenderer(false);
- } else if (name == onwebkitspeechchangeAttr)
- setAttributeEventListener(eventNames().webkitspeechchangeEvent, name, value);
#endif
else
HTMLTextFormControlElement::parseAttribute(name, value);
return m_inputType->isSteppable();
}
-#if ENABLE(INPUT_SPEECH)
-
-bool HTMLInputElement::isSpeechEnabled() const
-{
- // FIXME: Add support for RANGE, EMAIL, URL, COLOR and DATE/TIME input types.
- return m_inputType->shouldRespectSpeechAttribute() && RuntimeEnabledFeatures::sharedFeatures().speechInputEnabled() && hasAttribute(webkitspeechAttr);
-}
-
-#endif
-
#if PLATFORM(IOS)
DateComponents::Type HTMLInputElement::dateType() const
{
bool isTimeField() const;
bool isWeekField() const;
-#if ENABLE(INPUT_SPEECH)
- bool isSpeechEnabled() const;
-#endif
-
#if PLATFORM(IOS)
DateComponents::Type dateType() const;
#endif
HTMLElement* innerSpinButtonElement() const;
HTMLElement* resultsButtonElement() const;
HTMLElement* cancelButtonElement() const;
-#if ENABLE(INPUT_SPEECH)
- HTMLElement* speechButtonElement() const;
-#endif
HTMLElement* sliderThumbElement() const;
HTMLElement* sliderTrackElement() const;
virtual HTMLElement* placeholderElement() const override;
[Reflect] attribute DOMString align;
[Reflect] attribute DOMString useMap;
[Reflect] attribute boolean incremental;
- [Conditional=INPUT_SPEECH, Reflect] attribute boolean webkitSpeech;
- [Conditional=INPUT_SPEECH, Reflect] attribute boolean webkitGrammar;
- [Conditional=INPUT_SPEECH, NotEnumerable] attribute EventListener onwebkitspeechchange;
#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
[Reflect] attribute DOMString accessKey;
return false;
}
-bool InputType::shouldRespectSpeechAttribute()
-{
- return false;
-}
-
bool InputType::isTextButton() const
{
return false;
virtual HTMLElement* sliderTrackElement() const { return nullptr; }
virtual HTMLElement* placeholderElement() const;
-#if ENABLE(INPUT_SPEECH)
- virtual HTMLElement* speechButtonElement() const { return nullptr; }
-#endif
-
// Miscellaneous functions
-
virtual bool rendererIsNeeded();
virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>);
virtual void addSearchResult();
virtual void setValue(const String&, bool valueChanged, TextFieldEventBehavior);
virtual bool shouldResetOnDocumentActivation();
virtual bool shouldRespectListAttribute();
- virtual bool shouldRespectSpeechAttribute();
virtual bool isEnumeratable();
virtual bool isCheckable();
virtual bool isSteppable() const;
return validationMessageBadInputForNumberText();
}
-bool NumberInputType::shouldRespectSpeechAttribute()
-{
- return true;
-}
-
bool NumberInputType::supportsPlaceholder() const
{
return true;
virtual String sanitizeValue(const String&) const override;
virtual bool hasBadInput() const override;
virtual String badInputText() const override;
- virtual bool shouldRespectSpeechAttribute() override;
virtual bool supportsPlaceholder() const override;
virtual bool isNumberField() const override;
virtual void minOrMaxAttributeChanged() override;
return false;
}
-bool PasswordInputType::shouldRespectSpeechAttribute()
-{
- return true;
-}
-
bool PasswordInputType::isPasswordField() const
{
return true;
virtual bool shouldUseInputMethod() const override;
virtual bool shouldResetOnDocumentActivation() override;
virtual bool shouldRespectListAttribute() override;
- virtual bool shouldRespectSpeechAttribute() override;
virtual bool isPasswordField() const override;
};
return InputTypeNames::search();
}
-bool SearchInputType::shouldRespectSpeechAttribute()
-{
- return true;
-}
-
bool SearchInputType::isSearchField() const
{
return true;
virtual void maxResultsAttributeChanged() override;
virtual RenderPtr<RenderElement> createInputRenderer(PassRef<RenderStyle>) override;
virtual const AtomicString& formControlType() const override;
- virtual bool shouldRespectSpeechAttribute() override;
virtual bool isSearchField() const override;
virtual bool needsContainer() const override;
virtual void createShadowSubtree() override;
return InputTypeNames::telephone();
}
-bool TelephoneInputType::shouldRespectSpeechAttribute()
-{
- return true;
-}
-
bool TelephoneInputType::isTelephoneField() const
{
return true;
private:
virtual const AtomicString& formControlType() const override;
- virtual bool shouldRespectSpeechAttribute() override;
virtual bool isTelephoneField() const override;
};
bool TextFieldInputType::needsContainer() const
{
-#if ENABLE(INPUT_SPEECH)
- return element().isSpeechEnabled();
-#else
return false;
-#endif
}
bool TextFieldInputType::shouldHaveSpinButton() const
m_innerBlock->appendChild(m_innerText, IGNORE_EXCEPTION);
m_container->appendChild(m_innerBlock, IGNORE_EXCEPTION);
-#if ENABLE(INPUT_SPEECH)
- ASSERT(!m_speechButton);
- if (element().isSpeechEnabled()) {
- m_speechButton = InputFieldSpeechButtonElement::create(document);
- m_container->appendChild(m_speechButton, IGNORE_EXCEPTION);
- }
-#endif
-
if (shouldHaveSpinButton) {
m_innerSpinButton = SpinButtonElement::create(document, *this);
m_container->appendChild(m_innerSpinButton, IGNORE_EXCEPTION);
return m_innerSpinButton.get();
}
-#if ENABLE(INPUT_SPEECH)
-HTMLElement* TextFieldInputType::speechButtonElement() const
-{
- return m_speechButton.get();
-}
-#endif
-
HTMLElement* TextFieldInputType::placeholderElement() const
{
return m_placeholder.get();
m_innerText.clear();
m_placeholder.clear();
m_innerBlock.clear();
-#if ENABLE(INPUT_SPEECH)
- m_speechButton.clear();
-#endif
if (m_innerSpinButton)
m_innerSpinButton->removeSpinButtonOwner();
m_innerSpinButton.clear();
virtual HTMLElement* innerBlockElement() const override;
virtual TextControlInnerTextElement* innerTextElement() const override;
virtual HTMLElement* innerSpinButtonElement() const override;
-#if ENABLE(INPUT_SPEECH)
- virtual HTMLElement* speechButtonElement() const override;
-#endif
protected:
virtual bool needsContainer() const;
RefPtr<TextControlInnerTextElement> m_innerText;
RefPtr<HTMLElement> m_placeholder;
RefPtr<SpinButtonElement> m_innerSpinButton;
-#if ENABLE(INPUT_SPEECH)
- RefPtr<HTMLElement> m_speechButton;
-#endif
};
} // namespace WebCore
return InputTypeNames::text();
}
-bool TextInputType::shouldRespectSpeechAttribute()
-{
- return true;
-}
-
} // namespace WebCore
private:
virtual const AtomicString& formControlType() const override;
- virtual bool shouldRespectSpeechAttribute() override;
};
} // namespace WebCore
#include "RenderTextControl.h"
#include "RenderView.h"
#include "ScriptController.h"
-#include "SpeechInput.h"
-#include "SpeechInputEvent.h"
#include "TextEvent.h"
#include "TextEventInputType.h"
#include <wtf/Ref.h>
}
#endif
-// ----------------------------
-
-#if ENABLE(INPUT_SPEECH)
-
-inline InputFieldSpeechButtonElement::InputFieldSpeechButtonElement(Document& document)
- : HTMLDivElement(divTag, document)
- , m_capturing(false)
- , m_state(Idle)
- , m_listenerId(0)
-{
- setPseudo(AtomicString("-webkit-input-speech-button", AtomicString::ConstructFromLiteral));
- setHasCustomStyleResolveCallbacks();
-}
-
-InputFieldSpeechButtonElement::~InputFieldSpeechButtonElement()
-{
- SpeechInput* speech = speechInput();
- if (speech && m_listenerId) { // Could be null when page is unloading.
- if (m_state != Idle)
- speech->cancelRecognition(m_listenerId);
- speech->unregisterListener(m_listenerId);
- }
-}
-
-PassRefPtr<InputFieldSpeechButtonElement> InputFieldSpeechButtonElement::create(Document& document)
-{
- return adoptRef(new InputFieldSpeechButtonElement(document));
-}
-
-void InputFieldSpeechButtonElement::defaultEventHandler(Event* event)
-{
- // For privacy reasons, only allow clicks directly coming from the user.
- if (!ScriptController::processingUserGesture()) {
- HTMLDivElement::defaultEventHandler(event);
- return;
- }
-
- // The call to focus() below dispatches a focus event, and an event handler in the page might
- // remove the input element from DOM. To make sure it remains valid until we finish our work
- // here, we take a temporary reference.
- RefPtr<HTMLInputElement> input(toHTMLInputElement(shadowHost()));
-
- if (!input || input->isDisabledOrReadOnly()) {
- if (!event->defaultHandled())
- HTMLDivElement::defaultEventHandler(event);
- return;
- }
-
- // On mouse down, select the text and set focus.
- if (event->type() == eventNames().mousedownEvent && event->isMouseEvent() && toMouseEvent(event)->button() == LeftButton) {
- if (renderer() && renderer()->visibleToHitTesting()) {
- if (Frame* frame = document().frame()) {
- frame->eventHandler().setCapturingMouseEventsElement(this);
- m_capturing = true;
- }
- }
- Ref<InputFieldSpeechButtonElement> protect(*this);
- input->focus();
- input->select();
- event->setDefaultHandled();
- }
- // On mouse up, release capture cleanly.
- if (event->type() == eventNames().mouseupEvent && event->isMouseEvent() && toMouseEvent(event)->button() == LeftButton) {
- if (m_capturing && renderer() && renderer()->visibleToHitTesting()) {
- if (Frame* frame = document().frame()) {
- frame->eventHandler().setCapturingMouseEventsElement(nullptr);
- m_capturing = false;
- }
- }
- }
-
- if (event->type() == eventNames().clickEvent && m_listenerId) {
- switch (m_state) {
- case Idle:
- startSpeechInput();
- break;
- case Recording:
- stopSpeechInput();
- break;
- case Recognizing:
- // Nothing to do here, we will continue to wait for results.
- break;
- }
- event->setDefaultHandled();
- }
-
- if (!event->defaultHandled())
- HTMLDivElement::defaultEventHandler(event);
-}
-
-#if !PLATFORM(IOS)
-bool InputFieldSpeechButtonElement::willRespondToMouseClickEvents()
-{
- const HTMLInputElement* input = toHTMLInputElement(shadowHost());
- if (input && !input->isDisabledOrReadOnly())
- return true;
-
- return HTMLDivElement::willRespondToMouseClickEvents();
-}
-#endif
-
-void InputFieldSpeechButtonElement::setState(SpeechInputState state)
-{
- if (m_state != state) {
- m_state = state;
- shadowHost()->renderer()->repaint();
- }
-}
-
-SpeechInput* InputFieldSpeechButtonElement::speechInput()
-{
- return SpeechInput::from(document().page());
-}
-
-void InputFieldSpeechButtonElement::didCompleteRecording(int)
-{
- setState(Recognizing);
-}
-
-void InputFieldSpeechButtonElement::didCompleteRecognition(int)
-{
- setState(Idle);
-}
-
-void InputFieldSpeechButtonElement::setRecognitionResult(int, const SpeechInputResultArray& results)
-{
- m_results = results;
-
- // The call to setValue() below dispatches an event, and an event handler in the page might
- // remove the input element from DOM. To make sure it remains valid until we finish our work
- // here, we take a temporary reference.
- RefPtr<HTMLInputElement> input(toHTMLInputElement(shadowHost()));
- if (!input || input->isDisabledOrReadOnly())
- return;
-
- Ref<InputFieldSpeechButtonElement> protect(*this);
- if (document().domWindow()) {
- // Call selectionChanged, causing the element to cache the selection,
- // so that the text event inserts the text in this element even if
- // focus has moved away from it.
- input->selectionChanged(false);
- input->dispatchEvent(TextEvent::create(document().domWindow(), results.isEmpty() ? "" : results[0]->utterance(), TextEventInputOther));
- }
-
- // This event is sent after the text event so the website can perform actions using the input field content immediately.
- // It provides alternative recognition hypotheses and notifies that the results come from speech input.
- input->dispatchEvent(SpeechInputEvent::create(eventNames().webkitspeechchangeEvent, results));
-
- // Check before accessing the renderer as the above event could have potentially turned off
- // speech in the input element, hence removing this button and renderer from the hierarchy.
- if (renderer())
- renderer()->repaint();
-}
-
-void InputFieldSpeechButtonElement::willAttachRenderers()
-{
- ASSERT(!m_listenerId);
- if (SpeechInput* input = SpeechInput::from(document().page()))
- m_listenerId = input->registerListener(this);
-}
-
-void InputFieldSpeechButtonElement::willDetachRenderers()
-{
- if (m_capturing) {
- if (Frame* frame = document().frame())
- frame->eventHandler().setCapturingMouseEventsElement(nullptr);
- }
-
- if (m_listenerId) {
- if (m_state != Idle)
- speechInput()->cancelRecognition(m_listenerId);
- speechInput()->unregisterListener(m_listenerId);
- m_listenerId = 0;
- }
-}
-
-void InputFieldSpeechButtonElement::startSpeechInput()
-{
- if (m_state != Idle)
- return;
-
- RefPtr<HTMLInputElement> input = toHTMLInputElement(shadowHost());
- AtomicString language = input->computeInheritedLanguage();
- String grammar = input->getAttribute(webkitgrammarAttr);
- IntRect rect = document().view()->contentsToRootView(pixelSnappedBoundingBox());
- if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document().securityOrigin()))
- setState(Recording);
-}
-
-void InputFieldSpeechButtonElement::stopSpeechInput()
-{
- if (m_state == Recording)
- speechInput()->stopRecording(m_listenerId);
-}
-
-#endif // ENABLE(INPUT_SPEECH)
-
}
#define TextControlInnerElements_h
#include "HTMLDivElement.h"
-#include "SpeechInputListener.h"
#include <wtf/Forward.h>
namespace WebCore {
class RenderTextControlInnerBlock;
-class SpeechInput;
class TextControlInnerContainer final : public HTMLDivElement {
public:
bool m_capturing;
};
-#if ENABLE(INPUT_SPEECH)
-
-class InputFieldSpeechButtonElement final
- : public HTMLDivElement,
- public SpeechInputListener {
-public:
- enum SpeechInputState {
- Idle,
- Recording,
- Recognizing,
- };
-
- static PassRefPtr<InputFieldSpeechButtonElement> create(Document&);
- virtual ~InputFieldSpeechButtonElement();
-
- virtual void defaultEventHandler(Event*);
-#if !PLATFORM(IOS)
- virtual bool willRespondToMouseClickEvents();
-#endif
- virtual bool isInputFieldSpeechButtonElement() const { return true; }
- SpeechInputState state() const { return m_state; }
- void startSpeechInput();
- void stopSpeechInput();
-
- // SpeechInputListener methods.
- void didCompleteRecording(int);
- void didCompleteRecognition(int);
- void setRecognitionResult(int, const SpeechInputResultArray&);
-
-private:
- InputFieldSpeechButtonElement(Document&);
- SpeechInput* speechInput();
- void setState(SpeechInputState state);
- virtual bool isMouseFocusable() const override { return false; }
- virtual void willAttachRenderers() override;
- virtual void willDetachRenderers() override;
-
-
- bool m_capturing;
- SpeechInputState m_state;
- int m_listenerId;
- SpeechInputResultArray m_results;
-};
-
-inline InputFieldSpeechButtonElement* toInputFieldSpeechButtonElement(Element* element)
-{
- ASSERT_WITH_SECURITY_IMPLICATION(!element || element->isInputFieldSpeechButtonElement());
- return static_cast<InputFieldSpeechButtonElement*>(element);
-}
-
-#endif // ENABLE(INPUT_SPEECH)
-
} // namespace
#endif
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "SpeechInput.h"
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "SecurityOrigin.h"
-#include "SpeechInputClient.h"
-#include "SpeechInputListener.h"
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-
-SpeechInput::SpeechInput(SpeechInputClient* client)
- : m_client(client)
- , m_nextListenerId(1)
-{
- m_client->setListener(this);
-}
-
-SpeechInput::~SpeechInput()
-{
- m_client->setListener(0);
-}
-
-int SpeechInput::registerListener(SpeechInputListener* listener)
-{
-#if defined(DEBUG)
- // Check if already present.
- for (HashMap<int, SpeechInputListener*>::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it)
- ASSERT(it->value != listener);
-#endif
-
- m_listeners.add(m_nextListenerId, listener);
- return m_nextListenerId++;
-}
-
-void SpeechInput::unregisterListener(int listenerId)
-{
- if (m_listeners.contains(listenerId))
- m_listeners.remove(listenerId);
-}
-
-void SpeechInput::didCompleteRecording(int listenerId)
-{
- // Don't assert if not present as the element might have been removed by the page while
- // this event was on the way.
- if (m_listeners.contains(listenerId))
- m_listeners.get(listenerId)->didCompleteRecording(listenerId);
-}
-
-void SpeechInput::didCompleteRecognition(int listenerId)
-{
- // Don't assert if not present as the element might have been removed by the page while
- // this event was on the way.
- if (m_listeners.contains(listenerId))
- m_listeners.get(listenerId)->didCompleteRecognition(listenerId);
-}
-
-void SpeechInput::setRecognitionResult(int listenerId, const SpeechInputResultArray& result)
-{
- // Don't assert if not present as the element might have been removed by the page while
- // this event was on the way.
- if (m_listeners.contains(listenerId))
- m_listeners.get(listenerId)->setRecognitionResult(listenerId, result);
-}
-
-bool SpeechInput::startRecognition(int listenerId, const IntRect& elementRect, const AtomicString& language, const String& grammar, SecurityOrigin* origin)
-{
- ASSERT(m_listeners.contains(listenerId));
- return m_client->startRecognition(listenerId, elementRect, language, grammar, origin);
-}
-
-void SpeechInput::stopRecording(int listenerId)
-{
- ASSERT(m_listeners.contains(listenerId));
- m_client->stopRecording(listenerId);
-}
-
-void SpeechInput::cancelRecognition(int listenerId)
-{
- ASSERT(m_listeners.contains(listenerId));
- m_client->cancelRecognition(listenerId);
-}
-
-const char* SpeechInput::supplementName()
-{
- return "SpeechInput";
-}
-
-void provideSpeechInputTo(Page* page, SpeechInputClient* client)
-{
- SpeechInput::provideTo(page, SpeechInput::supplementName(), std::make_unique<SpeechInput>(client));
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInput_h
-#define SpeechInput_h
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "Page.h"
-#include "SpeechInputListener.h"
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-
-namespace WebCore {
-
-class IntRect;
-class SecurityOrigin;
-class SpeechInputClient;
-class SpeechInputListener;
-
-// This class connects the input elements requiring speech input with the platform specific
-// speech recognition engine. It provides methods for the input elements to activate speech
-// recognition and methods for the speech recognition engine to return back the results.
-class SpeechInput : public SpeechInputListener,
- public Supplement<Page> {
- WTF_MAKE_NONCOPYABLE(SpeechInput);
-public:
- explicit SpeechInput(SpeechInputClient*);
- virtual ~SpeechInput();
-
- static const char* supplementName();
- static SpeechInput* from(Page* page) { return static_cast<SpeechInput*>(Supplement<Page>::from(page, supplementName())); }
-
- // Generates a unique ID for the given listener to be used for speech requests.
- // This should be the first call made by listeners before anything else.
- int registerListener(SpeechInputListener*);
-
- // Invoked when the listener is done with recording or getting destroyed.
- // Failure to unregister may result in crashes if there were any pending speech events.
- void unregisterListener(int);
-
- // Methods invoked by the input elements.
- bool startRecognition(int listenerId, const IntRect& elementRect, const AtomicString& language, const String& grammar, SecurityOrigin*);
- void stopRecording(int);
- void cancelRecognition(int);
-
- // SpeechInputListener methods.
- virtual void didCompleteRecording(int);
- virtual void didCompleteRecognition(int);
- virtual void setRecognitionResult(int, const SpeechInputResultArray&);
-
-private:
- SpeechInputClient* m_client;
- HashMap<int, SpeechInputListener*> m_listeners;
- int m_nextListenerId;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInput_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInputClient_h
-#define SpeechInputClient_h
-
-#include <wtf/Forward.h>
-
-#if ENABLE(INPUT_SPEECH)
-
-namespace WebCore {
-
-class IntRect;
-class SecurityOrigin;
-class SpeechInputListener;
-class Page;
-
-// Provides an interface for SpeechInput to call into the embedder.
-class SpeechInputClient {
-public:
- // This is the first call made by a listener, registering itself for future callbacks.
- // When the listener no longer needs speech input (for e.g. when it gets destroyed),
- // it should set a null listener to stop receiving callbacks.
- // The client does not take ownership of the pointer.
- virtual void setListener(SpeechInputListener*) = 0;
-
- // Starts speech recognition and audio recording. elementRect is the position
- // of the element where the user clicked in the RootView coordinate system.
- virtual bool startRecognition(int requestId, const IntRect& elementRect, const AtomicString& language, const String& grammar, SecurityOrigin*) = 0;
-
- // Stops audio recording and performs recognition with the audio recorded until now
- // (does not discard audio).
- virtual void stopRecording(int requestId) = 0;
-
- // Cancels an ongoing recognition and discards any audio recorded so far. No partial
- // recognition results are returned to the listener.
- virtual void cancelRecognition(int requestId) = 0;
-
-protected:
- virtual ~SpeechInputClient() { }
-};
-
-void provideSpeechInputTo(Page*, SpeechInputClient*);
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInputClient_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "SpeechInputEvent.h"
-
-#include "EventNames.h"
-
-namespace WebCore {
-
-PassRefPtr<SpeechInputEvent> SpeechInputEvent::create()
-{
- return adoptRef(new SpeechInputEvent);
-}
-
-PassRefPtr<SpeechInputEvent> SpeechInputEvent::create(const AtomicString& eventType, const SpeechInputResultArray& results)
-{
- return adoptRef(new SpeechInputEvent(eventType, results));
-}
-
-SpeechInputEvent::SpeechInputEvent()
-{
-}
-
-SpeechInputEvent::SpeechInputEvent(const AtomicString& eventType, const SpeechInputResultArray& results)
- : Event(eventType, true, false) // Can bubble, not cancelable
- , m_results(SpeechInputResultList::create(results))
-{
-}
-
-SpeechInputEvent::~SpeechInputEvent()
-{
-}
-
-EventInterface SpeechInputEvent::eventInterface() const
-{
- return SpeechInputEventInterfaceType;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInputEvent_h
-#define SpeechInputEvent_h
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "Event.h"
-#include "SpeechInputResultList.h"
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
-class SpeechInputEvent : public Event {
-public:
- static PassRefPtr<SpeechInputEvent> create();
- static PassRefPtr<SpeechInputEvent> create(const AtomicString& eventType, const SpeechInputResultArray& results);
- ~SpeechInputEvent();
-
- SpeechInputResultList* results() const { return m_results.get(); }
-
- virtual EventInterface eventInterface() const;
-
-private:
- SpeechInputEvent();
- SpeechInputEvent(const AtomicString& eventType, const SpeechInputResultArray& results);
-
- RefPtr<SpeechInputResultList> m_results;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInputEvent_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- Conditional=INPUT_SPEECH,
-] interface SpeechInputEvent : Event {
- readonly attribute SpeechInputResultList results;
-};
-
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInputListener_h
-#define SpeechInputListener_h
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "SpeechInputResult.h"
-#include <wtf/Forward.h>
-
-namespace WebCore {
-
-// Interface to be implemented by the element which invokes SpeechInput.
-class SpeechInputListener {
-public:
- // Informs that audio recording has completed and recognition is underway.
- virtual void didCompleteRecording(int requestId) = 0;
-
- // Informs that speech recognition has completed. This gets invoked irrespective of whether
- // recognition was succesful or not, whether setRecognitionResult() was invoked or not. The
- // handler typically frees up any temporary resources allocated and waits for the next speech
- // recognition request.
- virtual void didCompleteRecognition(int requestId) = 0;
-
- // Gives results from speech recognition, either partial or the final results.
- // This method can potentially get called multiple times if there are partial results
- // available as the user keeps speaking. If the speech could not be recognized properly
- // or if there was any other errors in the process, this method may never be called.
- virtual void setRecognitionResult(int requestId, const SpeechInputResultArray&) = 0;
-
-protected:
- virtual ~SpeechInputListener() { }
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInputListener_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "SpeechInputResult.h"
-
-#if ENABLE(INPUT_SPEECH)
-
-namespace WebCore {
-
-PassRefPtr<SpeechInputResult> SpeechInputResult::create(const String& utterance, double confidence)
-{
- return adoptRef(new SpeechInputResult(utterance, confidence));
-}
-
-PassRefPtr<SpeechInputResult> SpeechInputResult::create(const SpeechInputResult& source)
-{
- return adoptRef(new SpeechInputResult(source.m_utterance, source.m_confidence));
-}
-
-SpeechInputResult::SpeechInputResult(const String& utterance, double confidence)
- : m_utterance(utterance)
- , m_confidence(confidence)
-{
-}
-
-double SpeechInputResult::confidence() const
-{
- return m_confidence;
-}
-
-const String& SpeechInputResult::utterance() const
-{
- return m_utterance;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInputResult_h
-#define SpeechInputResult_h
-
-#if ENABLE(INPUT_SPEECH)
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-// This class holds one speech recognition result including the text and other related
-// fields, as received from the embedder.
-class SpeechInputResult : public RefCounted<SpeechInputResult> {
-public:
- static PassRefPtr<SpeechInputResult> create(const SpeechInputResult& source);
- static PassRefPtr<SpeechInputResult> create(const String& utterance, double confidence);
-
- double confidence() const;
- const String& utterance() const;
-
-private:
- SpeechInputResult(const String& utterance, double confidence);
-
- String m_utterance;
- double m_confidence;
-};
-
-typedef Vector<RefPtr<SpeechInputResult>> SpeechInputResultArray;
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInputResult_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- NoInterfaceObject,
- Conditional=INPUT_SPEECH,
- ImplementationLacksVTable
-] interface SpeechInputResult {
- readonly attribute DOMString utterance;
- readonly attribute unrestricted float confidence;
-};
-
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "SpeechInputResultList.h"
-
-#if ENABLE(INPUT_SPEECH)
-
-namespace WebCore {
-
-PassRefPtr<SpeechInputResultList> SpeechInputResultList::create(const SpeechInputResultArray& results)
-{
- return adoptRef(new SpeechInputResultList(results));
-}
-
-SpeechInputResult* SpeechInputResultList::item(unsigned index)
-{
- return index >= m_results.size() ? 0 : m_results[index].get();
-}
-
-SpeechInputResultList::SpeechInputResultList(const SpeechInputResultArray& results)
- : m_results(results) // Takes a copy of the array of RefPtrs.
-{
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef SpeechInputResultList_h
-#define SpeechInputResultList_h
-
-#if ENABLE(INPUT_SPEECH)
-
-#include "SpeechInputResult.h"
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
-class SpeechInputResultList : public RefCounted<SpeechInputResultList> {
-public:
- static PassRefPtr<SpeechInputResultList> create(const SpeechInputResultArray& results);
-
- // Methods from the IDL.
- size_t length() { return m_results.size(); }
- SpeechInputResult* item(unsigned index);
-
-private:
- explicit SpeechInputResultList(const SpeechInputResultArray& results);
-
- SpeechInputResultArray m_results;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
-
-#endif // SpeechInputResultList_h
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-[
- NoInterfaceObject,
- Conditional=INPUT_SPEECH,
- ImplementationLacksVTable,
-] interface SpeechInputResultList {
- readonly attribute unsigned long length;
- getter SpeechInputResult item([IsIndex] unsigned long index);
-};
-
// Must follow CSSValueKeywords.in order
enum ControlPart {
NoControlPart, CheckboxPart, RadioPart, PushButtonPart, SquareButtonPart, ButtonPart,
- ButtonBevelPart, DefaultButtonPart, InnerSpinButtonPart, InputSpeechButtonPart, ListboxPart, ListItemPart,
+ ButtonBevelPart, DefaultButtonPart, InnerSpinButtonPart, ListboxPart, ListItemPart,
MediaEnterFullscreenButtonPart, MediaExitFullscreenButtonPart, MediaFullScreenVolumeSliderPart, MediaFullScreenVolumeSliderThumbPart, MediaMuteButtonPart, MediaPlayButtonPart,
MediaOverlayPlayButtonPart, MediaSeekBackButtonPart, MediaSeekForwardButtonPart, MediaRewindButtonPart, MediaReturnToRealtimeButtonPart, MediaToggleClosedCaptionsButtonPart,
MediaSliderPart, MediaSliderThumbPart, MediaVolumeSliderContainerPart, MediaVolumeSliderPart, MediaVolumeSliderThumbPart,
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#if ENABLE(INPUT_SPEECH)
-#include "RenderInputSpeech.h"
-
-#include "GraphicsContext.h"
-#include "HTMLNames.h"
-#include "PaintInfo.h"
-#include "RenderBox.h"
-#include "TextControlInnerElements.h"
-
-namespace WebCore {
-
-static const float defaultControlFontPixelSize = 13;
-static const float defaultSpeechButtonSize = 16;
-static const float minSpeechButtonSize = 8;
-static const float maxSpeechButtonSize = 40;
-
-void RenderInputSpeech::adjustInputFieldSpeechButtonStyle(StyleResolver*, RenderStyle* style, Element*)
-{
- // Scale the button size based on the font size.
- float fontScale = style->fontSize() / defaultControlFontPixelSize;
- int speechButtonSize = lroundf(std::min(std::max(minSpeechButtonSize, defaultSpeechButtonSize * fontScale), maxSpeechButtonSize));
- style->setWidth(Length(speechButtonSize, Fixed));
- style->setHeight(Length(speechButtonSize, Fixed));
-}
-
-bool RenderInputSpeech::paintInputFieldSpeechButton(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
-{
- Element* element = object->node()->isElementNode() ? toElement(object->node()) : 0;
- if (!element || !element->isInputFieldSpeechButtonElement())
- return false;
-
- // Get the renderer of <input> element.
- Node* input = object->node()->shadowHost();
- if (!input->renderer()->isBox())
- return false;
- RenderBox* inputRenderBox = toRenderBox(input->renderer());
- LayoutRect inputContentBox = inputRenderBox->contentBoxRect();
-
- // Make sure the scaled button stays square and will fit in its parent's box.
- LayoutUnit buttonSize = std::min(inputContentBox.width(), std::min<LayoutUnit>(inputContentBox.height(), rect.height()));
- // Calculate button's coordinates relative to the input element.
- // Center the button vertically. Round up though, so if it has to be one pixel off-center, it will
- // be one pixel closer to the bottom of the field. This tends to look better with the text.
- LayoutRect buttonRect(object->offsetFromAncestorContainer(inputRenderBox).width(),
- inputContentBox.y() + (inputContentBox.height() - buttonSize + 1) / 2,
- buttonSize, buttonSize);
-
- // Compute an offset between the part renderer and the input renderer.
- LayoutSize offsetFromInputRenderer = -(object->offsetFromAncestorContainer(inputRenderBox));
- // Move the rect into partRenderer's coords.
- buttonRect.move(offsetFromInputRenderer);
- // Account for the local drawing offset.
- buttonRect.moveBy(rect.location());
-
- DEPRECATED_DEFINE_STATIC_LOCAL(RefPtr<Image>, imageStateNormal, (Image::loadPlatformResource("inputSpeech")));
- DEPRECATED_DEFINE_STATIC_LOCAL(RefPtr<Image>, imageStateRecording, (Image::loadPlatformResource("inputSpeechRecording")));
- DEPRECATED_DEFINE_STATIC_LOCAL(RefPtr<Image>, imageStateWaiting, (Image::loadPlatformResource("inputSpeechWaiting")));
-
- InputFieldSpeechButtonElement* speechButton = toInputFieldSpeechButtonElement(element);
- Image* image = imageStateNormal.get();
- if (speechButton->state() == InputFieldSpeechButtonElement::Recording)
- image = imageStateRecording.get();
- else if (speechButton->state() == InputFieldSpeechButtonElement::Recognizing)
- image = imageStateWaiting.get();
- paintInfo.context->drawImage(image, object->style().colorSpace(), pixelSnappedIntRect(buttonRect));
-
- return false;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INPUT_SPEECH)
+++ /dev/null
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef RenderInputSpeech_h
-#define RenderInputSpeech_h
-
-#if ENABLE(INPUT_SPEECH)
-
-namespace WebCore {
-
-struct PaintInfo;
-
-class Element;
-class IntRect;
-class RenderObject;
-class RenderStyle;
-class StyleResolver;
-
-class RenderInputSpeech {
-public:
- static void adjustInputFieldSpeechButtonStyle(StyleResolver*, RenderStyle*, Element*);
- static bool paintInputFieldSpeechButton(RenderObject*, const PaintInfo&, const IntRect&);
-};
-
-} // namespace WebCore
-
-#endif
-#endif // RenderInputSpeech_h
#include "RenderMeter.h"
#endif
-#if ENABLE(INPUT_SPEECH)
-#include "RenderInputSpeech.h"
-#endif
-
#if ENABLE(DATALIST_ELEMENT)
#include "HTMLCollection.h"
#include "HTMLDataListElement.h"
case RatingLevelIndicatorPart:
return adjustMeterStyle(styleResolver, style, e);
#endif
-#if ENABLE(INPUT_SPEECH)
- case InputSpeechButtonPart:
- return adjustInputFieldSpeechButtonStyle(styleResolver, style, e);
-#endif
#if ENABLE(SERVICE_CONTROLS)
case ImageControlsButtonPart:
break;
return paintSearchFieldResultsButton(o, paintInfo, integralSnappedRect);
case SnapshottedPluginOverlayPart:
return paintSnapshottedPluginOverlay(o, paintInfo, integralSnappedRect);
-#if ENABLE(INPUT_SPEECH)
- case InputSpeechButtonPart:
- return paintInputFieldSpeechButton(o, paintInfo, integralSnappedRect);
-#endif
#if ENABLE(SERVICE_CONTROLS)
case ImageControlsButtonPart:
return paintImageControlsButton(o, paintInfo, integralSnappedRect);
case SearchFieldDecorationPart:
case SearchFieldResultsDecorationPart:
case SearchFieldResultsButtonPart:
-#if ENABLE(INPUT_SPEECH)
- case InputSpeechButtonPart:
-#endif
#if ENABLE(SERVICE_CONTROLS)
case ImageControlsButtonPart:
#endif
case SearchFieldDecorationPart:
case SearchFieldResultsDecorationPart:
case SearchFieldResultsButtonPart:
-#if ENABLE(INPUT_SPEECH)
- case InputSpeechButtonPart:
-#endif
#if ENABLE(SERVICE_CONTROLS)
case ImageControlsButtonPart:
#endif
{
}
-#if ENABLE(INPUT_SPEECH)
-void RenderTheme::adjustInputFieldSpeechButtonStyle(StyleResolver& styleResolver, RenderStyle& style, Element& element) const
-{
- RenderInputSpeech::adjustInputFieldSpeechButtonStyle(styleResolver, style, element);
-}
-
-bool RenderTheme::paintInputFieldSpeechButton(const RenderObject& object, const PaintInfo& paintInfo, const IntRect& rect)
-{
- return RenderInputSpeech::paintInputFieldSpeechButton(object, paintInfo, rect);
-}
-#endif
-
#if ENABLE(METER_ELEMENT)
void RenderTheme::adjustMeterStyle(StyleResolver&, RenderStyle& style, Element&) const
{
virtual void adjustProgressBarStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintProgressBar(const RenderObject&, const PaintInfo&, const IntRect&) { return true; }
-#if ENABLE(INPUT_SPEECH)
- virtual void adjustInputFieldSpeechButtonStyle(StyleResolver&, RenderStyle&, Element&) const;
- virtual bool paintInputFieldSpeechButton(const RenderObject&, const PaintInfo&, const IntRect&);
-#endif
-
virtual void adjustSliderTrackStyle(StyleResolver&, RenderStyle&, Element&) const;
virtual bool paintSliderTrack(const RenderObject&, const PaintInfo&, const IntRect&) { return true; }
float zoomLevel = o.style().effectiveZoom();
FloatRect localBounds = [search cancelButtonRectForBounds:NSRect(input->renderBox()->pixelSnappedBorderBoxRect())];
-
-#if ENABLE(INPUT_SPEECH)
- // Take care of cases where the cancel button was not aligned with the right border of the input element (for e.g.
- // when speech input is enabled for the input element.
- IntRect absBoundingBox = input->renderer()->absoluteBoundingBoxRect();
- int absRight = absBoundingBox.x() + absBoundingBox.width() - input->renderBox()->paddingRight() - input->renderBox()->borderRight();
- int spaceToRightOfCancelButton = absRight - (r.x() + r.width());
- localBounds.setX(localBounds.x() - spaceToRightOfCancelButton);
-#endif
-
localBounds = convertToPaintingRect(*input->renderer(), o, localBounds, r);
FloatRect unzoomedRect(localBounds);
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * UserInterface/Models/CSSKeywordCompletions.js:
+
2014-08-07 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Dragging selection window when mouse goes out of window bounds does not behave as expected
],
/*
"-webkit-appearance": [
- "none", "checkbox", "radio", "push-button", "square-button", "button", "button-bevel", "default-button", "inner-spin-button", "-webkit-input-speech-button", "listbox", "listitem", "media-enter-fullscreen-button", "media-exit-fullscreen-button", "media-fullscreen-volume-slider", "media-fullscreen-volume-slider-thumb", "media-mute-button", "media-play-button", "media-overlay-play-button", "media-seek-back-button", "media-seek-forward-button", "media-rewind-button", "media-return-to-realtime-button", "media-toggle-closed-captions-button", "media-slider", "media-sliderthumb", "media-volume-slider-container", "media-volume-slider", "media-volume-sliderthumb", "media-volume-slider-mute-button", "media-controls-background", "media-controls-fullscreen-background", "media-current-time-display", "media-time-remaining-display", "menulist", "menulist-button", "menulist-text", "menulist-textfield", "meter", "progress-bar", "progress-bar-value", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "caret", "searchfield", "searchfield-decoration", "searchfield-results-decoration", "searchfield-results-button", "searchfield-cancel-button", "snapshotted-plugin-overlay", "textfield", "relevancy-level-indicator", "continuous-capacity-level-indicator", "discrete-capacity-level-indicator", "rating-level-indicator", "textarea"
+ "none", "checkbox", "radio", "push-button", "square-button", "button", "button-bevel", "default-button", "inner-spin-button", "listbox", "listitem", "media-enter-fullscreen-button", "media-exit-fullscreen-button", "media-fullscreen-volume-slider", "media-fullscreen-volume-slider-thumb", "media-mute-button", "media-play-button", "media-overlay-play-button", "media-seek-back-button", "media-seek-forward-button", "media-rewind-button", "media-return-to-realtime-button", "media-toggle-closed-captions-button", "media-slider", "media-sliderthumb", "media-volume-slider-container", "media-volume-slider", "media-volume-sliderthumb", "media-volume-slider-mute-button", "media-controls-background", "media-controls-fullscreen-background", "media-current-time-display", "media-time-remaining-display", "menulist", "menulist-button", "menulist-text", "menulist-textfield", "meter", "progress-bar", "progress-bar-value", "slider-horizontal", "slider-vertical", "sliderthumb-horizontal", "sliderthumb-vertical", "caret", "searchfield", "searchfield-decoration", "searchfield-results-decoration", "searchfield-results-button", "searchfield-cancel-button", "snapshotted-plugin-overlay", "textfield", "relevancy-level-indicator", "continuous-capacity-level-indicator", "discrete-capacity-level-indicator", "rating-level-indicator", "textarea"
],
*/
"-webkit-scroll-snap-type": [
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * Configurations/FeatureDefines.xcconfig:
+
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Update glyphs to be more like Xcode 6
ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
ENABLE_INDIE_UI = ENABLE_INDIE_UI;
-ENABLE_INPUT_SPEECH = ;
ENABLE_INPUT_TYPE_COLOR = $(ENABLE_INPUT_TYPE_COLOR_$(PLATFORM_NAME));
ENABLE_INPUT_TYPE_COLOR_macosx = ENABLE_INPUT_TYPE_COLOR;
ENABLE_INPUT_TYPE_COLOR_POPOVER = $(ENABLE_INPUT_TYPE_COLOR_POPOVER_$(PLATFORM_NAME));
ENABLE_LLINT_C_LOOP = ;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * PlatformGTK.cmake:
+
2014-08-07 Timothy Hatcher <timothy@apple.com>
Web Inspector: Update glyphs to be more like Xcode 6
ENABLE_INDEXED_DATABASE = ENABLE_INDEXED_DATABASE;
ENABLE_INDEXED_DATABASE_IN_WORKERS = ;
ENABLE_INDIE_UI = ENABLE_INDIE_UI;
-ENABLE_INPUT_SPEECH = ;
ENABLE_INPUT_TYPE_COLOR = $(ENABLE_INPUT_TYPE_COLOR_$(PLATFORM_NAME));
ENABLE_INPUT_TYPE_COLOR_macosx = ENABLE_INPUT_TYPE_COLOR;
ENABLE_INPUT_TYPE_COLOR_POPOVER = $(ENABLE_INPUT_TYPE_COLOR_POPOVER_$(PLATFORM_NAME));
ENABLE_LLINT_C_LOOP = ;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_GRID_LAYOUT) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GAMEPAD_DEPRECATED) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INDIE_UI) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_COLOR_POPOVER) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INSPECTOR) $(ENABLE_IOS_AIRPLAY) $(ENABLE_IOS_TEXT_AUTOSIZING) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LETTERPRESS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LONG_MOUSE_PRESS) $(ENABLE_MATHML) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_HWCONCURRENCY) $(ENABLE_NOTIFICATIONS) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PROMISES) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHARED_WORKERS) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_DATACUE_VALUE) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_REPLAY) $(ENABLE_WEB_SOCKETS) $(ENABLE_PICTURE_SIZES) $(ENABLE_WEB_TIMING) $(ENABLE_WEBVTT_REGIONS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(ENABLE_FTL_JIT) $(ENABLE_LLINT_C_LOOP) $(FEATURE_DEFINES_$(PLATFORM_NAME));
)
endif ()
-if (ENABLE_INPUT_SPEECH)
- list(APPEND WebKit2Resources
- " <file alias=\"images/inputSpeech\">inputSpeech.png</file>\n"
- )
-endif ()
-
if (ENABLE_WEB_AUDIO)
list(APPEND WebKit2Resources
" <file alias=\"audio/Composite\">Composite.wav</file>\n"
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE_IN_WORKERS OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDIE_UI ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_SPEECH OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR_macosx ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR_POPOVER ON)
WEBKIT_OPTION_DEFINE(ENABLE_ICONDATABASE "Toggle Icon database support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_IMAGE_DECODER_DOWN_SAMPLING "Toggle image decoder down sampling support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INDEXED_DATABASE "Toggle Indexed Database API support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_INPUT_SPEECH "Toggle Speech Input API support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_COLOR "Toggle Color Input support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATE "Toggle date type <input> support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE "Toggle broken datetime type <input> support" OFF)
#cmakedefine01 ENABLE_IMAGE_DECODER_DOWN_SAMPLING
#cmakedefine01 ENABLE_INDEXED_DATABASE
#cmakedefine01 ENABLE_INDEXED_DATABASE_IN_WORKERS
-#cmakedefine01 ENABLE_INPUT_SPEECH
#cmakedefine01 ENABLE_INPUT_TYPE_COLOR
#cmakedefine01 ENABLE_INPUT_TYPE_DATE
#cmakedefine01 ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
+2014-08-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Get rid of INPUT_SPEECH
+ https://bugs.webkit.org/show_bug.cgi?id=135672
+
+ Reviewed by Andreas Kling.
+
+ * DumpRenderTree/TestRunner.cpp:
+ (TestRunner::staticFunctions):
+ (addMockSpeechInputResultCallback): Deleted.
+ (setMockSpeechInputDumpRectCallback): Deleted.
+ * DumpRenderTree/TestRunner.h:
+ * DumpRenderTree/mac/TestRunnerMac.mm:
+ (TestRunner::addMockSpeechInputResult): Deleted.
+ (TestRunner::setMockSpeechInputDumpRect): Deleted.
+ (TestRunner::startSpeechInput): Deleted.
+
2014-08-07 Bem Jones-Bey <bjonesbe@adobe.com>
The support directory shouldn't be skipped unconditionally in test import
return JSValueMakeUndefined(context);
}
-static JSValueRef addMockSpeechInputResultCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
-{
- if (argumentCount < 3)
- return JSValueMakeUndefined(context);
-
- JSRetainPtr<JSStringRef> result(Adopt, JSValueToStringCopy(context, arguments[0], exception));
- ASSERT(!*exception);
-
- double confidence = JSValueToNumber(context, arguments[1], exception);
-
- JSRetainPtr<JSStringRef> language(Adopt, JSValueToStringCopy(context, arguments[2], exception));
- ASSERT(!*exception);
-
- TestRunner* controller = static_cast<TestRunner*>(JSObjectGetPrivate(thisObject));
- controller->addMockSpeechInputResult(result.get(), confidence, language.get());
-
- return JSValueMakeUndefined(context);
-}
-
-static JSValueRef setMockSpeechInputDumpRectCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
-{
- if (argumentCount < 1)
- return JSValueMakeUndefined(context);
-
- bool dumpRect = JSValueToBoolean(context, arguments[0]);
-
- TestRunner* controller = static_cast<TestRunner*>(JSObjectGetPrivate(thisObject));
- controller->setMockSpeechInputDumpRect(dumpRect);
-
- return JSValueMakeUndefined(context);
-}
-
static JSValueRef setNewWindowsCopyBackForwardListCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
// Has mac implementation
{ "setMockDeviceOrientation", setMockDeviceOrientationCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setMockGeolocationPositionUnavailableError", setMockGeolocationPositionUnavailableErrorCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setMockGeolocationPosition", setMockGeolocationPositionCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
- { "addMockSpeechInputResult", addMockSpeechInputResultCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
- { "setMockSpeechInputDumpRect", setMockSpeechInputDumpRectCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setNewWindowsCopyBackForwardList", setNewWindowsCopyBackForwardListCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setPageVisibility", setPageVisibilityCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setPOSIXLocale", setPOSIXLocaleCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
void setMockDeviceOrientation(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma);
void setMockGeolocationPosition(double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed);
void setMockGeolocationPositionUnavailableError(JSStringRef message);
- void addMockSpeechInputResult(JSStringRef result, double confidence, JSStringRef language);
- void setMockSpeechInputDumpRect(bool flag);
void setPersistentUserStyleSheetLocation(JSStringRef path);
void setPluginsEnabled(bool);
void setPopupBlockingEnabled(bool);
void setXSSAuditorEnabled(bool flag);
void setSpatialNavigationEnabled(bool);
void setScrollbarPolicy(JSStringRef orientation, JSStringRef policy);
- void startSpeechInput(JSContextRef inputElement);
#if PLATFORM(IOS)
void setTelephoneNumberParsingEnabled(bool enable);
void setPagePaused(bool paused);
[[[mainFrame webView] UIDelegate] didSetMockGeolocationPermission];
}
-void TestRunner::addMockSpeechInputResult(JSStringRef result, double confidence, JSStringRef language)
-{
- // FIXME: Implement for speech input layout tests.
- // See https://bugs.webkit.org/show_bug.cgi?id=39485.
-}
-
-void TestRunner::setMockSpeechInputDumpRect(bool flag)
-{
- // FIXME: Implement for speech input layout tests.
- // See https://bugs.webkit.org/show_bug.cgi?id=39485.
-}
-
-void TestRunner::startSpeechInput(JSContextRef inputElement)
-{
- // FIXME: Implement for speech input layout tests.
- // See https://bugs.webkit.org/show_bug.cgi?id=39485.
-}
-
void TestRunner::setIconDatabaseEnabled(bool iconDatabaseEnabled)
{
#if ENABLE(ICONDATABASE)
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9398100A0824BF01008DF038"
- BuildableName = "WebKitLegacy.framework"
+ BuildableName = ".framework"
BlueprintName = "WebKitLegacy"
ReferencedContainer = "container:Source/WebKit/WebKit.xcodeproj">
</BuildableReference>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1A50DB1D110A3BDC000D3FE5"
- BuildableName = "WebProcess.app"
+ BuildableName = ".app"
BlueprintName = "WebProcess"
ReferencedContainer = "container:Source/WebKit2/WebKit2.xcodeproj">
</BuildableReference>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "1A50DB1D110A3BDC000D3FE5"
- BuildableName = "WebProcess.app"
+ BuildableName = ".app"
BlueprintName = "WebProcess"
ReferencedContainer = "container:Source/WebKit2/WebKit2.xcodeproj">
</BuildableReference>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9398100A0824BF01008DF038"
- BuildableName = "WebKitLegacy.framework"
+ BuildableName = ".framework"
BlueprintName = "WebKitLegacy"
ReferencedContainer = "container:Source/WebKit/WebKit.xcodeproj">
</BuildableReference>