2010-07-13 Satish Sampath <satish@chromium.org>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Jul 2010 19:16:32 +0000 (19:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Jul 2010 19:16:32 +0000 (19:16 +0000)
commit9e1fb48ea3c9a751f70a4e4d48f1732556d0ed76
treea4f7c76085fc13088a726ad164c0991342d5098e
parent48c1f7a7ba5af6d99981591d544d2fac917628f8
2010-07-13  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech input plumbing in webcore
        https://bugs.webkit.org/show_bug.cgi?id=41518

        Adds the following:
        - a SpeechInput class to be used by the speech enabled HTML elements
        - a SpeechInputListener interface to be implemented by the speech enabled HTML elements
        - a SpeechInputClient interface (defined in WebCore, implemented by WebKit) for WebCore to call into WebKit.
          This is available as a member of WebCore::Page, set by the platforms which support speech input.
        - a SpeechInputClientListener interface for WebCore to receive events from WebKit

        No new tests, the relevant LayoutTestController bindings will be added in a subsequent patch.

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h: Added SpeechInputClient member variable and associated methods.
        (WebCore::Page::setSpeechInputClient):
        (WebCore::Page::speechInputClient):
        * page/SpeechInput.cpp: Added new class to provide speech API services to HTML elements.
        (WebCore::SpeechInput::SpeechInput):
        (WebCore::SpeechInput::recordingComplete):
        (WebCore::SpeechInput::setRecognitionResult):
        (WebCore::SpeechInput::startRecognition):
        * page/SpeechInput.h: Added.
        (WebCore::SpeechInput::~SpeechInput):
        (WebCore::SpeechInput::client):
        * page/SpeechInputListener.h: Added.
        (WebCore::SpeechInputListener::~SpeechInputListener):
        * page/SpeechInputClient.h: Added new interface implemented by WebKit to bubble up speech API requests to the embedder.
        (WebCore::SpeechInputClient::~SpeechInputClient):
        * page/SpeechInputClientListener.h: Added.
        (WebCore::SpeechInputClientListener::~SpeechInputClientListener):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@63230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed:
WebCore/Android.mk
WebCore/ChangeLog
WebCore/GNUmakefile.am
WebCore/WebCore.gypi
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/page/Page.cpp
WebCore/page/Page.h
WebCore/page/SpeechInput.cpp [new file with mode: 0644]
WebCore/page/SpeechInput.h [new file with mode: 0644]
WebCore/page/SpeechInputClient.h [new file with mode: 0644]
WebCore/page/SpeechInputClientListener.h [new file with mode: 0644]
WebCore/page/SpeechInputListener.h [new file with mode: 0644]