Title: [94343] trunk
Revision
94343
Author
[email protected]
Date
2011-09-01 14:14:56 -0700 (Thu, 01 Sep 2011)

Log Message

Source/WebCore: Add API functions to enable starting and stopping speech input,
and checking the current speech input state.
https://bugs.webkit.org/show_bug.cgi?id=60170

Patch by Dominic Mazzoni <[email protected]> on 2011-09-01
Reviewed by Dimitri Glazkov.

Test: fast/speech/input-text-speechstart.html

* html/shadow/TextControlInnerElements.cpp:
(WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
(WebCore::InputFieldSpeechButtonElement::startSpeechInput):
(WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
* html/shadow/TextControlInnerElements.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::speechButtonElement):
* rendering/RenderTextControlSingleLine.h:

Source/WebKit/chromium: Add API functions to enable starting and stopping speech input,
and checking the current speech input state.
https://bugs.webkit.org/show_bug.cgi?id=60170

Patch by Dominic Mazzoni <[email protected]> on 2011-09-01
Reviewed by Dimitri Glazkov.

* public/WebInputElement.h:
* src/AssertMatchingEnums.cpp:
* src/WebInputElement.cpp:
(WebKit::WebInputElement::isSpeechInputEnabled):
(WebKit::WebInputElement::getSpeechInputState):
(WebKit::WebInputElement::startSpeechInput):
(WebKit::WebInputElement::stopSpeechInput):

Tools: Adds a LayoutTestController method to make it possible to test
starting speech input via an API call.
https://bugs.webkit.org/show_bug.cgi?id=60170

Patch by Dominic Mazzoni <[email protected]> on 2011-09-01
Reviewed by Dimitri Glazkov.

* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::startSpeechInput):
* DumpRenderTree/chromium/LayoutTestController.h:
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::startSpeechInput):
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::startSpeechInput):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::startSpeechInput):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::startSpeechInput):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::startSpeechInput):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::startSpeechInput):

LayoutTests: Adds a new test that checks triggering speech input via an API call.
https://bugs.webkit.org/show_bug.cgi?id=60170

Patch by Dominic Mazzoni <[email protected]> on 2011-09-01
Reviewed by Dimitri Glazkov.

* fast/speech/input-text-speechtrigger-expected.txt: Added.
* fast/speech/input-text-speechtrigger.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (94342 => 94343)


--- trunk/LayoutTests/ChangeLog	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/LayoutTests/ChangeLog	2011-09-01 21:14:56 UTC (rev 94343)
@@ -1,3 +1,13 @@
+2011-09-01  Dominic Mazzoni  <[email protected]>
+
+        Adds a new test that checks triggering speech input via an API call.
+        https://bugs.webkit.org/show_bug.cgi?id=60170
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/speech/input-text-speechtrigger-expected.txt: Added.
+        * fast/speech/input-text-speechtrigger.html: Added.
+
 2011-09-01  Cary Clark  <[email protected]>
 
         Unreviewed; new baselines (Skia on Mac, next chunk of files)

Added: trunk/LayoutTests/fast/speech/input-text-speechstart-expected.txt (0 => 94343)


--- trunk/LayoutTests/fast/speech/input-text-speechstart-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/speech/input-text-speechstart-expected.txt	2011-09-01 21:14:56 UTC (rev 94343)
@@ -0,0 +1,10 @@
+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
+

Added: trunk/LayoutTests/fast/speech/input-text-speechstart.html (0 => 94343)


--- trunk/LayoutTests/fast/speech/input-text-speechstart.html	                        (rev 0)
+++ trunk/LayoutTests/fast/speech/input-text-speechstart.html	2011-09-01 21:14:56 UTC (rev 94343)
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script type="text/_javascript_">
+description('Tests for triggering speech directly in a &lt;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.
+    var input = document.getElementById(id);
+    layoutTestController.startSpeechInput(input);
+}
+
+function onWebkitSpeechChange() {
+    shouldBeEqualToString('document.getElementById("speechInput").value', 'Pictures of a sunset');
+    finishJSTest();
+}
+
+function run() {
+    if (window.layoutTestController && window.eventSender) {
+        layoutTestController.addMockSpeechInputResult('Pictures of a sunset', 1.0, '');
+        startSpeechInput("speechInput");
+    }
+}
+
+window._onload_ = run;
+window.jsTestIsAsync = true;
+window.successfullyParsed = true;
+</script>
+<script src=""
+<input id='speechInput' x-webkit-speech _onwebkitspeechchange_="onWebkitSpeechChange()">
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (94342 => 94343)


--- trunk/Source/WebCore/ChangeLog	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebCore/ChangeLog	2011-09-01 21:14:56 UTC (rev 94343)
@@ -1,3 +1,22 @@
+2011-09-01  Dominic Mazzoni  <[email protected]>
+
+        Add API functions to enable starting and stopping speech input,
+        and checking the current speech input state.
+        https://bugs.webkit.org/show_bug.cgi?id=60170
+
+        Reviewed by Dimitri Glazkov.
+
+        Test: fast/speech/input-text-speechstart.html
+
+        * html/shadow/TextControlInnerElements.cpp:
+        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
+        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
+        (WebCore::InputFieldSpeechButtonElement::stopSpeechInput):
+        * html/shadow/TextControlInnerElements.h:
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlSingleLine::speechButtonElement):
+        * rendering/RenderTextControlSingleLine.h:
+
 2011-09-01  Tim Horton  <[email protected]>
 
         REGRESSION: Rendering artifacts on a rotated, pattern filled SVG shape

Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp (94342 => 94343)


--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -434,16 +434,11 @@
 
     if (event->type() == eventNames().clickEvent && m_listenerId) {
         switch (m_state) {
-        case Idle: {
-              AtomicString language = input->computeInheritedLanguage();
-              String grammar = input->getAttribute(webkitgrammarAttr);
-              IntRect rect = renderer()->absoluteBoundingBoxRect();
-              if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document()->securityOrigin()))
-                  setState(Recording);
-            }
+        case Idle:
+            startSpeechInput();
             break;
         case Recording:
-            speechInput()->stopRecording(m_listenerId);
+            stopSpeechInput();
             break;
         case Recognizing:
             // Nothing to do here, we will continue to wait for results.
@@ -524,6 +519,25 @@
     HTMLDivElement::detach();
 }
 
+void InputFieldSpeechButtonElement::startSpeechInput()
+{
+    if (m_state != Idle)
+        return;
+
+    RefPtr<HTMLInputElement> input = static_cast<HTMLInputElement*>(shadowAncestorNode());
+    AtomicString language = input->computeInheritedLanguage();
+    String grammar = input->getAttribute(webkitgrammarAttr);
+    IntRect rect = input->renderer()->absoluteBoundingBoxRect();
+    if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document()->securityOrigin()))
+        setState(Recording);
+}
+
+void InputFieldSpeechButtonElement::stopSpeechInput()
+{
+    if (m_state == Recording)
+        speechInput()->stopRecording(m_listenerId);
+}
+
 const AtomicString& InputFieldSpeechButtonElement::shadowPseudoId() const
 {
     DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-input-speech-button"));

Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.h (94342 => 94343)


--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -140,6 +140,8 @@
     virtual void defaultEventHandler(Event*);
     virtual bool isInputFieldSpeechButtonElement() const { return true; }
     SpeechInputState state() const { return m_state; }
+    void startSpeechInput();
+    void stopSpeechInput();
 
     // SpeechInputListener methods.
     void didCompleteRecording(int);

Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (94342 => 94343)


--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -111,13 +111,6 @@
     return inputElement()->cancelButtonElement();
 }
 
-#if ENABLE(INPUT_SPEECH)
-inline HTMLElement* RenderTextControlSingleLine::speechButtonElement() const
-{
-    return inputElement()->speechButtonElement();
-}
-#endif
-
 RenderStyle* RenderTextControlSingleLine::textBaseStyle() const
 {
     HTMLElement* innerBlock = innerBlockElement();
@@ -364,6 +357,13 @@
     }
 }
 
+#if ENABLE(INPUT_SPEECH)
+HTMLElement* RenderTextControlSingleLine::speechButtonElement() const
+{
+    return inputElement()->speechButtonElement();
+}
+#endif
+
 bool RenderTextControlSingleLine::hasControlClip() const
 {
     // Apply control clip for text fields with decorations.

Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h (94342 => 94343)


--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -49,6 +49,10 @@
 
     void capsLockStateMayHaveChanged();
 
+#if ENABLE(INPUT_SPEECH)
+    HTMLElement* speechButtonElement() const;
+#endif
+
 private:
     virtual bool hasControlClip() const;
     virtual LayoutRect controlClipRect(const LayoutPoint&) const;
@@ -120,9 +124,6 @@
     HTMLElement* innerSpinButtonElement() const;
     HTMLElement* resultsButtonElement() const;
     HTMLElement* cancelButtonElement() const;
-#if ENABLE(INPUT_SPEECH)
-    HTMLElement* speechButtonElement() const;
-#endif
 
     bool m_searchPopupIsVisible;
     bool m_shouldDrawCapsLockIndicator;

Modified: trunk/Source/WebKit/chromium/ChangeLog (94342 => 94343)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-09-01 21:14:56 UTC (rev 94343)
@@ -1,3 +1,19 @@
+2011-09-01  Dominic Mazzoni  <[email protected]>
+
+        Add API functions to enable starting and stopping speech input,
+        and checking the current speech input state.
+        https://bugs.webkit.org/show_bug.cgi?id=60170
+
+        Reviewed by Dimitri Glazkov.
+
+        * public/WebInputElement.h:
+        * src/AssertMatchingEnums.cpp:
+        * src/WebInputElement.cpp:
+        (WebKit::WebInputElement::isSpeechInputEnabled):
+        (WebKit::WebInputElement::getSpeechInputState):
+        (WebKit::WebInputElement::startSpeechInput):
+        (WebKit::WebInputElement::stopSpeechInput):
+
 2011-08-31  Greg Billock  <[email protected]>
 
         Add pass-throughs for NPObject/v8::Value marshalling to WebBindings

Modified: trunk/Source/WebKit/chromium/public/WebInputElement.h (94342 => 94343)


--- trunk/Source/WebKit/chromium/public/WebInputElement.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebKit/chromium/public/WebInputElement.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -42,6 +42,12 @@
     // Provides readonly access to some properties of a DOM input element node.
     class WebInputElement : public WebFormControlElement {
     public:
+        enum SpeechInputState {
+            Idle,
+            Recording,
+            Recognizing,
+        };
+
         WebInputElement() : WebFormControlElement() { }
         WebInputElement(const WebInputElement& element) : WebFormControlElement(element) { }
 
@@ -78,6 +84,11 @@
         WEBKIT_EXPORT bool isValidValue(const WebString&) const;
         WEBKIT_EXPORT bool isChecked() const;
 
+        WEBKIT_EXPORT bool isSpeechInputEnabled() const;
+        WEBKIT_EXPORT SpeechInputState getSpeechInputState() const;
+        WEBKIT_EXPORT void startSpeechInput();
+        WEBKIT_EXPORT void stopSpeechInput();
+
         // Exposes the default value of the maxLength attribute.
         WEBKIT_EXPORT static int defaultMaxLength();
 

Modified: trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp (94342 => 94343)


--- trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -57,6 +57,7 @@
 #include "Settings.h"
 #include "StorageInfo.h"
 #include "TextAffinity.h"
+#include "TextControlInnerElements.h"
 #include "UserContentTypes.h"
 #include "UserScriptTypes.h"
 #include "UserStyleSheetTypes.h"
@@ -311,6 +312,10 @@
 COMPILE_ASSERT_MATCHING_ENUM(WebIconURL::TypeTouch, TouchIcon);
 COMPILE_ASSERT_MATCHING_ENUM(WebIconURL::TypeTouchPrecomposed, TouchPrecomposedIcon);
 
+COMPILE_ASSERT_MATCHING_ENUM(WebInputElement::Idle, InputFieldSpeechButtonElement::Idle);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputElement::Recording, InputFieldSpeechButtonElement::Recording);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputElement::Recognizing, InputFieldSpeechButtonElement::Recognizing);
+
 COMPILE_ASSERT_MATCHING_ENUM(WebNode::ElementNode, Node::ELEMENT_NODE);
 COMPILE_ASSERT_MATCHING_ENUM(WebNode::AttributeNode, Node::ATTRIBUTE_NODE);
 COMPILE_ASSERT_MATCHING_ENUM(WebNode::TextNode, Node::TEXT_NODE);

Modified: trunk/Source/WebKit/chromium/src/WebInputElement.cpp (94342 => 94343)


--- trunk/Source/WebKit/chromium/src/WebInputElement.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Source/WebKit/chromium/src/WebInputElement.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -33,6 +33,9 @@
 
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
+#include "RenderObject.h"
+#include "RenderTextControlSingleLine.h"
+#include "TextControlInnerElements.h"
 #include "WebString.h"
 #include <wtf/PassRefPtr.h>
 
@@ -150,6 +153,59 @@
     return constUnwrap<HTMLInputElement>()->checked();
 }
 
+bool WebInputElement::isSpeechInputEnabled() const
+{
+#if ENABLE(INPUT_SPEECH)
+    return constUnwrap<HTMLInputElement>()->isSpeechEnabled();
+#else
+    return false;
+#endif
+}
+
+WebInputElement::SpeechInputState WebInputElement::getSpeechInputState() const
+{
+#if ENABLE(INPUT_SPEECH)
+    RenderObject* renderer = constUnwrap<HTMLInputElement>()->renderer();
+    if (!renderer)
+        return Idle;
+
+    RenderTextControlSingleLine* control = toRenderTextControlSingleLine(renderer);
+    InputFieldSpeechButtonElement* speechButton = toInputFieldSpeechButtonElement(control->speechButtonElement());
+    if (speechButton)
+        return static_cast<WebInputElement::SpeechInputState>(speechButton->state());
+#endif
+
+    return Idle;
+}
+
+void WebInputElement::startSpeechInput()
+{
+#if ENABLE(INPUT_SPEECH)
+    RenderObject* renderer = constUnwrap<HTMLInputElement>()->renderer();
+    if (!renderer)
+        return;
+
+    RenderTextControlSingleLine* control = toRenderTextControlSingleLine(renderer);
+    InputFieldSpeechButtonElement* speechButton = toInputFieldSpeechButtonElement(control->speechButtonElement());
+    if (speechButton)
+        speechButton->startSpeechInput();
+#endif
+}
+
+void WebInputElement::stopSpeechInput()
+{
+#if ENABLE(INPUT_SPEECH)
+    RenderObject* renderer = constUnwrap<HTMLInputElement>()->renderer();
+    if (!renderer)
+        return;
+
+    RenderTextControlSingleLine* control = toRenderTextControlSingleLine(renderer);
+    InputFieldSpeechButtonElement* speechButton = toInputFieldSpeechButtonElement(control->speechButtonElement());
+    if (speechButton)
+        speechButton->stopSpeechInput();
+#endif
+}
+
 int WebInputElement::defaultMaxLength()
 {
     return HTMLInputElement::maximumLength;

Modified: trunk/Tools/ChangeLog (94342 => 94343)


--- trunk/Tools/ChangeLog	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/ChangeLog	2011-09-01 21:14:56 UTC (rev 94343)
@@ -1,3 +1,30 @@
+2011-09-01  Dominic Mazzoni  <[email protected]>
+
+        Adds a LayoutTestController method to make it possible to test
+        starting speech input via an API call.
+        https://bugs.webkit.org/show_bug.cgi?id=60170
+
+        Reviewed by Dimitri Glazkov.
+
+        * DumpRenderTree/LayoutTestController.h:
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::LayoutTestController):
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/chromium/LayoutTestController.h:
+        * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/qt/LayoutTestControllerQt.h:
+        * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+        (LayoutTestController::startSpeechInput):
+        * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+        (LayoutTestController::startSpeechInput):
+
 2011-09-01  Tim Horton  <[email protected]>
 
         Fix TestWebKitAPI build on clang-2.0

Modified: trunk/Tools/DumpRenderTree/LayoutTestController.h (94342 => 94343)


--- trunk/Tools/DumpRenderTree/LayoutTestController.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/LayoutTestController.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -125,6 +125,7 @@
     void setSpatialNavigationEnabled(bool enable);
     void setScrollbarPolicy(JSStringRef orientation, JSStringRef policy);
     void setEditingBehavior(const char* editingBehavior);
+    void startSpeechInput(JSContextRef inputElement);
 
     void setPageVisibility(const char* visibility) { }
     void resetPageVisibility() { }

Modified: trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/chromium/LayoutTestController.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -188,6 +188,7 @@
     bindMethod("setAsynchronousSpellCheckingEnabled", &LayoutTestController::setAsynchronousSpellCheckingEnabled);
     bindMethod("showWebInspector", &LayoutTestController::showWebInspector);
     bindMethod("simulateDesktopNotificationClick", &LayoutTestController::simulateDesktopNotificationClick);
+    bindMethod("startSpeechInput", &LayoutTestController::startSpeechInput);
     bindMethod("suspendAnimations", &LayoutTestController::suspendAnimations);
     bindMethod("testRepaint", &LayoutTestController::testRepaint);
     bindMethod("waitForPolicyDelegate", &LayoutTestController::waitForPolicyDelegate);
@@ -1725,6 +1726,26 @@
     m_shell->webViewHost()->speechInputControllerMock()->addMockRecognitionResult(cppVariantToWebString(arguments[0]), arguments[1].toDouble(), cppVariantToWebString(arguments[2]));
 }
 
+void LayoutTestController::startSpeechInput(const CppArgumentList& arguments, CppVariant* result)
+{
+    result->setNull();
+    if (arguments.size() != 1)
+        return;
+
+    WebElement element;
+    if (!WebBindings::getElement(arguments[0].value.objectValue, &element))
+        return;
+
+    WebInputElement* input = toWebInputElement(&element);
+    if (!input)
+        return;
+
+    if (!input->isSpeechInputEnabled())
+        return;
+
+    input->startSpeechInput();
+}
+
 void LayoutTestController::layerTreeAsText(const CppArgumentList& args, CppVariant* result)
 {
     result->set(m_shell->webView()->mainFrame()->layerTreeAsText(m_showDebugLayerTree).utf8());

Modified: trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h (94342 => 94343)


--- trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/chromium/LayoutTestController.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -360,6 +360,7 @@
 
     // Speech input related functions.
     void addMockSpeechInputResult(const CppArgumentList&, CppVariant*);
+    void startSpeechInput(const CppArgumentList&, CppVariant*);
 
     void layerTreeAsText(const CppArgumentList& args, CppVariant* result);
 

Modified: trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -384,6 +384,13 @@
     notImplemented();
 }
 
+void LayoutTestController::startSpeechInput(JSContextRef inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+    notImplemented();
+}
+
 void LayoutTestController::setIconDatabaseEnabled(bool enabled)
 {
     if (!enabled) {

Modified: trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -502,6 +502,12 @@
     // See https://bugs.webkit.org/show_bug.cgi?id=39485.
 }
 
+void LayoutTestController::startSpeechInput(JSContextRef inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+}
+
 void LayoutTestController::setIconDatabaseEnabled(bool enabled)
 {
     WebKitIconDatabase* database = webkit_get_icon_database();

Modified: trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm (94342 => 94343)


--- trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm	2011-09-01 21:14:56 UTC (rev 94343)
@@ -482,6 +482,12 @@
     // See https://bugs.webkit.org/show_bug.cgi?id=39485.
 }
 
+void LayoutTestController::startSpeechInput(JSContextRef inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+}
+
 void LayoutTestController::setIconDatabaseEnabled(bool iconDatabaseEnabled)
 {
     // FIXME: Workaround <rdar://problem/6480108>

Modified: trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -875,6 +875,12 @@
     // See https://bugs.webkit.org/show_bug.cgi?id=39485.
 }
 
+void LayoutTestController::startSpeechInput(const QString& inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+}
+
 void LayoutTestController::evaluateScriptInIsolatedWorld(int worldID, const QString& script)
 {
     DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld(m_drt->webPage()->mainFrame(), worldID, script);

Modified: trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h (94342 => 94343)


--- trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/qt/LayoutTestControllerQt.h	2011-09-01 21:14:56 UTC (rev 94343)
@@ -233,6 +233,7 @@
     bool geolocationPermission() const { return m_geolocationPermission; }
 
     void addMockSpeechInputResult(const QString& result, double confidence, const QString& language);
+    void startSpeechInput(const QString& inputElement);
 
     // Empty stub method to keep parity with object model exposed by global LayoutTestController.
     void abortModal() {}

Modified: trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -450,6 +450,12 @@
     // See https://bugs.webkit.org/show_bug.cgi?id=39485.
 }
 
+void LayoutTestController::startSpeechInput(JSContextRef inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+}
+
 void LayoutTestController::setIconDatabaseEnabled(bool iconDatabaseEnabled)
 {
     // See also <rdar://problem/6480108>

Modified: trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp (94342 => 94343)


--- trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp	2011-09-01 21:06:26 UTC (rev 94342)
+++ trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp	2011-09-01 21:14:56 UTC (rev 94343)
@@ -376,6 +376,12 @@
     // See https://bugs.webkit.org/show_bug.cgi?id=39485.
 }
 
+void LayoutTestController::startSpeechInput(JSContextRef inputElement)
+{
+    // FIXME: Implement for speech input layout tests.
+    // See https://bugs.webkit.org/show_bug.cgi?id=39485.
+}
+
 void LayoutTestController::setIconDatabaseEnabled(bool iconDatabaseEnabled)
 {
     // FIXME: implement
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to