Backed out changeset bdaede62fdcf (bug 1169653) for introducing new rooting hazards.

CLOSED TREE
This commit is contained in:
Ryan VanderMeulen 2015-06-11 15:48:09 -04:00
parent d452161188
commit 6bced0aeb7
11 changed files with 22 additions and 28 deletions

View File

@ -9,7 +9,6 @@
#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "mozilla/dom/BindingUtils.h"
#include "mozilla/dom/SpeechRecognitionBinding.h"
#include "mozilla/dom/MediaStreamTrackBinding.h"
#include "mozilla/dom/MediaStreamError.h"
@ -144,15 +143,6 @@ SpeechRecognition::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
return SpeechRecognitionBinding::Wrap(aCx, this, aGivenProto);
}
bool
SpeechRecognition::IsAuthorized(JSContext* aCx, JSObject* aGlobal)
{
bool enableTests = Preferences::GetBool(TEST_PREFERENCE_ENABLE);
bool enableRecognitionEnable = Preferences::GetBool(TEST_PREFERENCE_RECOGNITION_ENABLE);
bool enableRecognitionForceEnable = Preferences::GetBool(TEST_PREFERENCE_RECOGNITION_FORCE_ENABLE);
return (IsInCertifiedApp(aCx, aGlobal) || enableRecognitionForceEnable || enableTests) && enableRecognitionEnable;
}
already_AddRefed<SpeechRecognition>
SpeechRecognition::Constructor(const GlobalObject& aGlobal,
ErrorResult& aRv)

View File

@ -38,8 +38,6 @@ namespace dom {
#define TEST_PREFERENCE_ENABLE "media.webspeech.test.enable"
#define TEST_PREFERENCE_FAKE_FSM_EVENTS "media.webspeech.test.fake_fsm_events"
#define TEST_PREFERENCE_FAKE_RECOGNITION_SERVICE "media.webspeech.test.fake_recognition_service"
#define TEST_PREFERENCE_RECOGNITION_ENABLE "media.webspeech.recognition.enable"
#define TEST_PREFERENCE_RECOGNITION_FORCE_ENABLE "media.webspeech.recognition.force_enable"
#define SPEECH_RECOGNITION_TEST_EVENT_REQUEST_TOPIC "SpeechRecognitionTest:RequestEvent"
#define SPEECH_RECOGNITION_TEST_END_TOPIC "SpeechRecognitionTest:End"
@ -67,8 +65,6 @@ public:
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
static bool IsAuthorized(JSContext* aCx, JSObject* aGlobal);
static already_AddRefed<SpeechRecognition>
Constructor(const GlobalObject& aGlobal, ErrorResult& aRv);

View File

@ -938,6 +938,22 @@ var interfaceNamesInGlobalScope =
{name: "SourceBuffer", linux: false, release: false},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SourceBufferList", linux: false, release: false},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognition", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognitionError", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognitionAlternative", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognitionResult", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognitionResultList", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechRecognitionEvent", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechGrammar", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechGrammarList", b2g: true, nightly: true},
// IMPORTANT: Do not change this list without review from a DOM peer!
{name: "SpeechSynthesisEvent", b2g: true},
// IMPORTANT: Do not change this list without review from a DOM peer!

View File

@ -11,8 +11,7 @@
*/
[Constructor,
Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
Pref="media.webspeech.recognition.enable"]
interface SpeechGrammar {
[Throws]
attribute DOMString src;

View File

@ -10,8 +10,7 @@
* liability, trademark and document use rules apply.
*/
[Constructor, Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
[Constructor, Pref="media.webspeech.recognition.enable"]
interface SpeechGrammarList {
readonly attribute unsigned long length;
[Throws]

View File

@ -11,8 +11,7 @@
*/
[Constructor,
Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
Pref="media.webspeech.recognition.enable"]
interface SpeechRecognition : EventTarget {
// recognition parameters
[Throws]

View File

@ -10,8 +10,7 @@
* liability, trademark and document use rules apply.
*/
[Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
[Pref="media.webspeech.recognition.enable"]
interface SpeechRecognitionAlternative {
readonly attribute DOMString transcript;
readonly attribute float confidence;

View File

@ -16,7 +16,6 @@ enum SpeechRecognitionErrorCode {
};
[Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized",
Constructor(DOMString type, optional SpeechRecognitionErrorInit eventInitDict)]
interface SpeechRecognitionError : Event
{

View File

@ -6,7 +6,6 @@
interface nsISupports;
[Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized",
Constructor(DOMString type, optional SpeechRecognitionEventInit eventInitDict)]
interface SpeechRecognitionEvent : Event
{

View File

@ -10,8 +10,7 @@
* liability, trademark and document use rules apply.
*/
[Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
[Pref="media.webspeech.recognition.enable"]
interface SpeechRecognitionResult {
readonly attribute unsigned long length;
getter SpeechRecognitionAlternative item(unsigned long index);

View File

@ -10,8 +10,7 @@
* liability, trademark and document use rules apply.
*/
[Pref="media.webspeech.recognition.enable",
Func="SpeechRecognition::IsAuthorized"]
[Pref="media.webspeech.recognition.enable"]
interface SpeechRecognitionResultList {
readonly attribute unsigned long length;
getter SpeechRecognitionResult item(unsigned long index);