WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
116438
[EFL] Platform support for WebSpeech feature.
https://bugs.webkit.org/show_bug.cgi?id=116438
Summary
[EFL] Platform support for WebSpeech feature.
Krzysztof Czech
Reported
2013-05-20 06:34:31 PDT
First part is to enable specific WebSpeech flags and stub out required API.
Attachments
patch
(5.84 KB, patch)
2014-05-23 06:46 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch
(5.97 KB, patch)
2014-06-10 07:55 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch
(13.06 KB, patch)
2014-06-11 08:24 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch
(14.42 KB, patch)
2014-06-11 08:27 PDT
,
Krzysztof Czech
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2
(652.04 KB, application/zip)
2014-06-11 11:38 PDT
,
Build Bot
no flags
Details
patch
(15.49 KB, patch)
2014-06-12 02:57 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch
(15.49 KB, patch)
2014-06-12 03:01 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch
(15.29 KB, patch)
2014-06-13 08:16 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch - attempt to check GTK bots
(16.00 KB, patch)
2014-06-17 08:15 PDT
,
Krzysztof Czech
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2
(625.68 KB, application/zip)
2014-06-17 10:26 PDT
,
Build Bot
no flags
Details
patch - attempt to check GTK bots
(15.96 KB, patch)
2014-06-18 03:25 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
patch - attempt to check gtk-wk2 ews
(15.96 KB, patch)
2014-06-20 05:56 PDT
,
Krzysztof Czech
no flags
Details
Formatted Diff
Diff
Show Obsolete
(11)
View All
Add attachment
proposed patch, testcase, etc.
Krzysztof Czech
Comment 1
2014-05-23 06:46:08 PDT
Created
attachment 231961
[details]
patch
WebKit Commit Bot
Comment 2
2014-05-23 07:58:49 PDT
Attachment 231961
[details]
did not pass style-queue: ERROR: Source/WebCore/PlatformEfl.cmake:447: Use lowercase command "list" [command/lowercase] [5] ERROR: Source/WebCore/PlatformEfl.cmake:458: Use lowercase command "list" [command/lowercase] [5] ERROR: Source/cmake/OptionsEfl.cmake:294: One space between command "if" and its parentheses, should be "if (" [whitespace/parentheses] [5] Total errors found: 3 in 6 files If any of these errors are false positives, please file a bug against check-webkit-style.
Krzysztof Czech
Comment 3
2014-06-10 07:55:41 PDT
Created
attachment 232786
[details]
patch
Krzysztof Czech
Comment 4
2014-06-11 08:24:58 PDT
Created
attachment 232865
[details]
patch
Krzysztof Czech
Comment 5
2014-06-11 08:27:57 PDT
Created
attachment 232866
[details]
patch
Build Bot
Comment 6
2014-06-11 11:38:45 PDT
Comment on
attachment 232866
[details]
patch
Attachment 232866
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/5232664806162432
New failing tests: media/W3C/video/src/src_reflects_attribute_not_source_elements.html
Build Bot
Comment 7
2014-06-11 11:38:50 PDT
Created
attachment 232877
[details]
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-16 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Grzegorz Czajkowski
Comment 8
2014-06-12 00:33:57 PDT
Comment on
attachment 232866
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=232866&action=review
Looks nice for me. Added some comments before formal review.
> Source/WebCore/PlatformEfl.cmake:454 > + Modules/speech/DOMWindowSpeechSynthesis.cpp > + Modules/speech/SpeechSynthesis.cpp > + Modules/speech/SpeechSynthesisEvent.cpp > + Modules/speech/SpeechSynthesisUtterance.cpp > + Modules/speech/SpeechSynthesisVoice.cpp > + platform/PlatformSpeechSynthesisUtterance.cpp > + platform/PlatformSpeechSynthesizer.cpp > + platform/PlatformSpeechSynthesisVoice.cpp
Since those are not EFL specific they should be added to common Source/WebCore/CMakeLists.txt. I believe that it will bring benefits for other CMake ports.
> Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:13 > + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
BY APPLE? Please use BSD license.
> Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:31 > +#include <PlatformSpeechSynthesisUtterance.h> > +#include <PlatformSpeechSynthesisVoice.h> > +#include <PlatformSpeechSynthesizer.h>
Do we need to include them if !ENABLE(SPEECH_SYNTHESIS) ?
> Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:39 > +{
It's good practice to call notImplemented() for stubs. Please consider adding it for below methods as well.
> Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.h:13 > + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
Ditto.
> Source/cmake/OptionsEfl.cmake:90 > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS ON)
I am wondering whether we are ready to turn it on? Maybe it's better to enable it after adding implementation in platform/efl/PlatformSpeechSynthesisProviderEfl.cpp ? IMHO, it doesn't bring significant benefits now.
Krzysztof Czech
Comment 9
2014-06-12 02:57:28 PDT
Created
attachment 232939
[details]
patch
Krzysztof Czech
Comment 10
2014-06-12 03:00:12 PDT
(In reply to
comment #8
)
> (From update of
attachment 232866
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=232866&action=review
> > Looks nice for me. Added some comments before formal review. > > > Source/WebCore/PlatformEfl.cmake:454 > > + Modules/speech/DOMWindowSpeechSynthesis.cpp > > + Modules/speech/SpeechSynthesis.cpp > > + Modules/speech/SpeechSynthesisEvent.cpp > > + Modules/speech/SpeechSynthesisUtterance.cpp > > + Modules/speech/SpeechSynthesisVoice.cpp > > + platform/PlatformSpeechSynthesisUtterance.cpp > > + platform/PlatformSpeechSynthesizer.cpp > > + platform/PlatformSpeechSynthesisVoice.cpp > > Since those are not EFL specific they should be added to common Source/WebCore/CMakeLists.txt. I believe that it will bring benefits for other CMake ports.
Sounds good.
> > > Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:13 > > + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' > > BY APPLE? Please use BSD license.
Done.
> > > Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:31 > > +#include <PlatformSpeechSynthesisUtterance.h> > > +#include <PlatformSpeechSynthesisVoice.h> > > +#include <PlatformSpeechSynthesizer.h> > > Do we need to include them if !ENABLE(SPEECH_SYNTHESIS) ?
Nice catch. Done
> > > Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:39 > > +{ > > It's good practice to call notImplemented() for stubs. Please consider adding it for below methods as well. > > > Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.h:13 > > + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' > > Ditto.
Done
> > > Source/cmake/OptionsEfl.cmake:90 > > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPEECH_SYNTHESIS ON) > > I am wondering whether we are ready to turn it on? Maybe it's better to enable it after adding implementation in platform/efl/PlatformSpeechSynthesisProviderEfl.cpp ? IMHO, it doesn't bring significant benefits now.
It makes sense.
Krzysztof Czech
Comment 11
2014-06-12 03:01:00 PDT
Created
attachment 232940
[details]
patch
Grzegorz Czajkowski
Comment 12
2014-06-12 05:14:51 PDT
Comment on
attachment 232940
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=232940&action=review
Thanks for updates. LGTM!
> Source/WebCore/platform/efl/PlatformSpeechSynthesisProviderEfl.h:30 > +#include <wtf/PassRefPtr.h> > +#include <wtf/Vector.h>
Nit: before landing, they may be guarded by SPEECH_SYNTHESIS as well.
Gyuyoung Kim
Comment 13
2014-06-13 00:50:27 PDT
Comment on
attachment 232940
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=232940&action=review
> Source/WebCore/platform/efl/PlatformSpeechSynthesizerEfl.cpp:41 > + m_platformSpeechWrapper = std::make_unique<PlatformSpeechSynthesisProviderEfl>(this);
How about initializing this variable as below ? PlatformSpeechSynthesizer::PlatformSpeechSynthesizer(PlatformSpeechSynthesizerClient* client) : m_voiceListIsInitialized(false) : m_platformSpeechWrapper(std::make_unique<PlatformSpeechSynthesisProviderEfl>(this)) , m_speechSynthesizerClient(client)
> Source/WebCore/platform/efl/PlatformSpeechSynthesizerEfl.cpp:50 > + if (m_platformSpeechWrapper)
m_platformSpeechWrapper is unique pointer. So, I think we don't need to check if it is null.
Gyuyoung Kim
Comment 14
2014-06-13 05:44:44 PDT
Comment on
attachment 232940
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=232940&action=review
>> Source/WebCore/platform/efl/PlatformSpeechSynthesizerEfl.cpp:50 >> + if (m_platformSpeechWrapper) > > m_platformSpeechWrapper is unique pointer. So, I think we don't need to check if it is null.
Additionally it looks there is no chance it can be null.
Krzysztof Czech
Comment 15
2014-06-13 06:22:51 PDT
(In reply to
comment #14
)
> (From update of
attachment 232940
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=232940&action=review
> > >> Source/WebCore/platform/efl/PlatformSpeechSynthesizerEfl.cpp:50 > >> + if (m_platformSpeechWrapper) > > > > m_platformSpeechWrapper is unique pointer. So, I think we don't need to check if it is null. > > Additionally it looks there is no chance it can be null.
I guess unique_ptr as it self would not be null, but dereferenced pointer to managed object could be. It should not happen hopefully. I will prepare a new patch, thanks.
Krzysztof Czech
Comment 16
2014-06-13 08:16:38 PDT
Created
attachment 233051
[details]
patch
Krzysztof Czech
Comment 17
2014-06-13 08:17:09 PDT
Applied all suggestions
Gyuyoung Kim
Comment 18
2014-06-15 07:15:23 PDT
Comment on
attachment 233051
[details]
patch LGTM. r=me.
Gyuyoung Kim
Comment 19
2014-06-15 07:17:44 PDT
Comment on
attachment 233051
[details]
patch LGTM. r=me.
WebKit Commit Bot
Comment 20
2014-06-16 01:26:13 PDT
Comment on
attachment 233051
[details]
patch Clearing flags on attachment: 233051 Committed
r170003
: <
http://trac.webkit.org/changeset/170003
>
WebKit Commit Bot
Comment 21
2014-06-16 01:26:20 PDT
All reviewed patches have been landed. Closing bug.
Manuel Rego Casasnovas
Comment 22
2014-06-16 03:21:40 PDT
This is breaking GTK+ build with the following error: In file included from DerivedSources/webkitdom/WebKitDOMDOMWindowPrivate.h:25:0, from ../../Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp:45: DerivedSources/webkitdom/WebKitDOMDOMWindow.h:774:40: error: WebKitDOMSpeechSynthesis does not name a type
WebKit Commit Bot
Comment 23
2014-06-16 05:12:00 PDT
Re-opened since this is blocked by
bug 133938
Carlos Garcia Campos
Comment 24
2014-06-16 05:43:11 PDT
(In reply to
comment #22
)
> This is breaking GTK+ build with the following error: > In file included from DerivedSources/webkitdom/WebKitDOMDOMWindowPrivate.h:25:0, > from ../../Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp:45: > DerivedSources/webkitdom/WebKitDOMDOMWindow.h:774:40: error: WebKitDOMSpeechSynthesis does not name a type
This is because you need to add the idl file to the list of GObject DOM bindings idl files in PlatformGTK.cmake.
Gyuyoung Kim
Comment 25
2014-06-16 06:06:32 PDT
(In reply to
comment #24
)
> (In reply to
comment #22
) > > This is breaking GTK+ build with the following error: > > In file included from DerivedSources/webkitdom/WebKitDOMDOMWindowPrivate.h:25:0, > > from ../../Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp:45: > > DerivedSources/webkitdom/WebKitDOMDOMWindow.h:774:40: error: WebKitDOMSpeechSynthesis does not name a type > > This is because you need to add the idl file to the list of GObject DOM bindings idl files in PlatformGTK.cmake.
Sorry for breaking GTK port. We will try to take care of GTK port further.
Krzysztof Czech
Comment 26
2014-06-17 08:15:32 PDT
Created
attachment 233229
[details]
patch - attempt to check GTK bots
Krzysztof Czech
Comment 27
2014-06-17 08:17:53 PDT
(In reply to
comment #24
)
> (In reply to
comment #22
) > > This is breaking GTK+ build with the following error: > > In file included from DerivedSources/webkitdom/WebKitDOMDOMWindowPrivate.h:25:0, > > from ../../Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp:45: > > DerivedSources/webkitdom/WebKitDOMDOMWindow.h:774:40: error: WebKitDOMSpeechSynthesis does not name a type > > This is because you need to add the idl file to the list of GObject DOM bindings idl files in PlatformGTK.cmake.
Thanks, I already added some idls. Hopefully it's enough.
Build Bot
Comment 28
2014-06-17 10:26:14 PDT
Comment on
attachment 233229
[details]
patch - attempt to check GTK bots
Attachment 233229
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/4599252558807040
New failing tests: media/W3C/video/readyState/readyState_during_canplay.html
Build Bot
Comment 29
2014-06-17 10:26:21 PDT
Created
attachment 233241
[details]
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-09 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Krzysztof Czech
Comment 30
2014-06-18 03:25:17 PDT
Created
attachment 233304
[details]
patch - attempt to check GTK bots
Carlos Garcia Campos
Comment 31
2014-06-20 05:39:49 PDT
Comment on
attachment 233304
[details]
patch - attempt to check GTK bots View in context:
https://bugs.webkit.org/attachment.cgi?id=233304&action=review
It seems the build failure is because the gtk-doc generator doesn't find a symbols file, this shouldn't be a problem now if you add the idls to the unstable list.
> Source/WebCore/PlatformGTK.cmake:463 > + Modules/speech/SpeechSynthesis.idl > + Modules/speech/SpeechSynthesisEvent.idl > + Modules/speech/SpeechSynthesisUtterance.idl > + Modules/speech/SpeechSynthesisVoice.idl
This has changed today, now we have GObjectDOMBindingsStable_IDL_FILES and GObjectDOMBindingsUnstable_IDL_FILES, please make sure these idls are added to GObjectDOMBindingsUnstable_IDL_FILES.
Krzysztof Czech
Comment 32
2014-06-20 05:56:39 PDT
Created
attachment 233423
[details]
patch - attempt to check gtk-wk2 ews
Krzysztof Czech
Comment 33
2014-06-20 06:49:18 PDT
Comment on
attachment 233423
[details]
patch - attempt to check gtk-wk2 ews EWS look good for EFL and GTK. I guess finally it could land.
Csaba Osztrogonác
Comment 34
2014-06-23 03:19:41 PDT
Comment on
attachment 233423
[details]
patch - attempt to check gtk-wk2 ews rs=me
WebKit Commit Bot
Comment 35
2014-06-23 05:14:02 PDT
Comment on
attachment 233423
[details]
patch - attempt to check gtk-wk2 ews Clearing flags on attachment: 233423 Committed
r170288
: <
http://trac.webkit.org/changeset/170288
>
WebKit Commit Bot
Comment 36
2014-06-23 05:14:12 PDT
All reviewed patches have been landed. Closing bug.
Tripta
Comment 37
2016-06-06 22:02:00 PDT
Hello Mr. Carlos Garcia Campos In reference to comment number #24 I am trying to add Web Speech feature to Webkit version number 150045. I am getting the same error: In file included from DerivedSources/webkitdom/WebKitDOMDOMWindowPrivate.h:25:0, from ../../Source/WebCore/bindings/gobject/WebKitDOMPrivate.cpp:45: DerivedSources/webkitdom/WebKitDOMDOMWindow.h:774:40: error: WebKitDOMSpeechSynthesis does not name a type In webkit version 150045 the file PlatformGTK.cmake does not exist. I have tried adding the .idl files in DerivedSources.pri, but it did not work. Could you please help.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug