[webkit-reviews] review denied: [Bug 41518] Speech input plumbing in webcore and webkit : [Attachment 60359] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jul 6 07:15:11 PDT 2010
Steve Block <steveblock at google.com> has denied Satish Sampath
<satish at chromium.org>'s request for review:
Bug 41518: Speech input plumbing in webcore and webkit
https://bugs.webkit.org/show_bug.cgi?id=41518
Attachment 60359: Patch
https://bugs.webkit.org/attachment.cgi?id=60359&action=review
------- Additional Comments from Steve Block <steveblock at google.com>
LayoutTests/fast/forms/input-text-speechbutton.html:22
+ layoutTestController.notifyDone();
if (window.layoutTestController)
LayoutTests/fast/forms/input-text-speechbutton.html:1
+ <html>
I think we should be using script-tests for these kind of tests.
WebCore/Android.mk:383
+ ifeq ($(ENABLE_INPUT_SPEECH), true)
No need to guard this. Contents of file should be guarded.
WebCore/html/HTMLInputElement.cpp:2777
+ return hasAttribute(speechAttr) &&
document()->page()->isSpeechInputSupported();
Do we need this extra check? Surely any platform that sets ENABLE(INPUT_SPEECH)
will provide a speech client, and this entire method is guarded by
ENABLE(INPUT_SPEECH).
WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp:170
+ #if ENABLE(INPUT_SPEECH)
I think this shouldn't be guarded
WebKitTools/ChangeLog:13
+ * DumpRenderTree/chromium/LayoutTestController.h:
I think that all new LayoutTestController methods need to be implemented for
Mac.
WebKit/chromium/ChangeLog:5
+ Speech input plumbing in webcore and webkit
Can we leave the WebKit/chromium changes for a separate patch to keep this one
simpler?
WebCore/page/SpeechInput.h:45
+ class SpeechInputElementListener {
Shouldn't this be named SpeechInputListener, as it listens to SpeechInput?
WebCore/page/SpeechInputClient.h:39
+ class SpeechInputListener {
Shouldn't this be named SpeechInputClientListener, as it listens to
SpeechInputClient?
WebCore/page/SpeechInputClient.h:42
+ virtual void recognitionResult(const String& result) = 0;
setRecognitionResult()?
WebCore/page/Page.h:155
+ void setSpeechInputClient(SpeechInputClient* client) {
m_speechInputClient = client; }
Is there any reason for the client to be reset, other than for testing
purposes? If not, I don't think we need this method. The embedder can configure
their SpeechInputClient to be mocked out without having to call into WebCore.
WebCore/page/Page.cpp:133
+ , m_speechInputClient(0)
For other services (eg Geolocation, DeviceOrientation), the Page owns a
FooController object, which holds a weak reference to the client, which is
owned by the embedder. The controller takes care of multiplexing multiple
requests from the page to the client. Here the Page holds a reference to the
client directly. I see that you have a separate SpeechInputElement object for
each input. Is there no need for a controller type object? Even if not, it
might be best to add a SpeechInputController just to keep the pattern the same.
It can have a single createSpeechElement(SpeechInputElementListener*) method.
More information about the webkit-reviews
mailing list