X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcontent%2Fbrowser%2Fspeech%2Fspeech_recognition_manager_impl.cc;h=e13196814d7e2194cbdc1761ed75fcf9122e16ba;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=ec137976cdef3c18d9b943991094f2f92c1ce139;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/content/browser/speech/speech_recognition_manager_impl.cc b/src/content/browser/speech/speech_recognition_manager_impl.cc index ec13797..e131968 100644 --- a/src/content/browser/speech/speech_recognition_manager_impl.cc +++ b/src/content/browser/speech/speech_recognition_manager_impl.cc @@ -450,8 +450,8 @@ SpeechRecognitionManagerImpl::GetSessionContext(int session_id) const { return GetSession(session_id)->context; } -void SpeechRecognitionManagerImpl::AbortAllSessionsForListener( - SpeechRecognitionEventListener* listener) { +void SpeechRecognitionManagerImpl::AbortAllSessionsForRenderProcess( + int render_process_id) { // This method gracefully destroys sessions for the listener. However, since // the listener itself is likely to be destroyed after this call, we avoid // dispatching further events to it, marking the |listener_is_active| flag. @@ -459,7 +459,7 @@ void SpeechRecognitionManagerImpl::AbortAllSessionsForListener( for (SessionsTable::iterator it = sessions_.begin(); it != sessions_.end(); ++it) { Session* session = it->second; - if (session->config.event_listener == listener) { + if (session->context.render_process_id == render_process_id) { AbortSession(session->id); session->listener_is_active = false; } @@ -656,7 +656,9 @@ SpeechRecognitionManagerImpl::GetSession(int session_id) const { SpeechRecognitionEventListener* SpeechRecognitionManagerImpl::GetListener( int session_id) const { Session* session = GetSession(session_id); - return session->listener_is_active ? session->config.event_listener : NULL; + if (session->listener_is_active && session->config.event_listener) + return session->config.event_listener.get(); + return NULL; } SpeechRecognitionEventListener*