diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-03 13:42:47 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-15 10:27:51 +0000 |
commit | 8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec (patch) | |
tree | d29d987c4d7b173cf853279b79a51598f104b403 /chromium/content/renderer/speech_recognition_dispatcher.cc | |
parent | 830c9e163d31a9180fadca926b3e1d7dfffb5021 (diff) | |
download | qtwebengine-chromium-8c5c43c7b138c9b4b0bf56d946e61d3bbc111bec.tar.gz |
BASELINE: Update Chromium to 66.0.3359.156
Change-Id: I0c9831ad39911a086b6377b16f995ad75a51e441
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/content/renderer/speech_recognition_dispatcher.cc')
-rw-r--r-- | chromium/content/renderer/speech_recognition_dispatcher.cc | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/chromium/content/renderer/speech_recognition_dispatcher.cc b/chromium/content/renderer/speech_recognition_dispatcher.cc index 79f082961ae..a542e88d287 100644 --- a/chromium/content/renderer/speech_recognition_dispatcher.cc +++ b/chromium/content/renderer/speech_recognition_dispatcher.cc @@ -6,6 +6,8 @@ #include <stddef.h> #include <stdint.h> + +#include <algorithm> #include <utility> #include "base/strings/utf_string_conversions.h" @@ -71,8 +73,7 @@ void SpeechRecognitionDispatcher::Start( recognizer_client_ = recognizer_client; SpeechRecognitionHostMsg_StartRequest_Params msg_params; - for (size_t i = 0; i < params.Grammars().size(); ++i) { - const WebSpeechGrammar& grammar = params.Grammars()[i]; + for (const WebSpeechGrammar& grammar : params.Grammars()) { msg_params.grammars.push_back(SpeechRecognitionGrammar( grammar.Src().GetString().Utf8(), grammar.Weight())); } @@ -175,7 +176,7 @@ void SpeechRecognitionDispatcher::OnRecognitionEnded(int request_id) { // TODO(tommi): It is possible that the handle isn't found in the array if // the user just refreshed the page. It seems that we then get a notification // for the previously loaded instance of the page. - HandleMap::iterator iter = handle_map_.find(request_id); + auto iter = handle_map_.find(request_id); if (iter == handle_map_.end()) { DLOG(ERROR) << "OnRecognitionEnded called for a handle that doesn't exist"; } else { @@ -190,20 +191,18 @@ void SpeechRecognitionDispatcher::OnRecognitionEnded(int request_id) { void SpeechRecognitionDispatcher::OnResultsRetrieved( int request_id, const SpeechRecognitionResults& results) { - size_t provisional_count = 0; - SpeechRecognitionResults::const_iterator it = results.begin(); - for (; it != results.end(); ++it) { - if (it->is_provisional) - ++provisional_count; - } + size_t provisional_count = + std::count_if(results.begin(), results.end(), + [](const SpeechRecognitionResult& result) { + return result.is_provisional; + }); WebVector<WebSpeechRecognitionResult> provisional(provisional_count); WebVector<WebSpeechRecognitionResult> final( results.size() - provisional_count); int provisional_index = 0, final_index = 0; - for (it = results.begin(); it != results.end(); ++it) { - const SpeechRecognitionResult& result = (*it); + for (const SpeechRecognitionResult& result : results) { WebSpeechRecognitionResult* webkit_result = result.is_provisional ? &provisional[provisional_index++] : &final[final_index++]; @@ -224,12 +223,10 @@ void SpeechRecognitionDispatcher::OnResultsRetrieved( int SpeechRecognitionDispatcher::GetOrCreateIDForHandle( const WebSpeechRecognitionHandle& handle) { // Search first for an existing mapping. - for (HandleMap::iterator iter = handle_map_.begin(); - iter != handle_map_.end(); - ++iter) { - if (iter->second.Equals(handle)) - return iter->first; - } + auto iter = FindHandleInMap(handle); + if (iter != handle_map_.end()) + return iter->first; + // If no existing mapping found, create a new one. const int new_id = next_id_; handle_map_[new_id] = handle; @@ -239,18 +236,23 @@ int SpeechRecognitionDispatcher::GetOrCreateIDForHandle( bool SpeechRecognitionDispatcher::HandleExists( const WebSpeechRecognitionHandle& handle) { - for (HandleMap::iterator iter = handle_map_.begin(); - iter != handle_map_.end(); - ++iter) { - if (iter->second.Equals(handle)) - return true; - } - return false; + return FindHandleInMap(handle) != handle_map_.end(); +} + +SpeechRecognitionDispatcher::HandleMap::iterator +SpeechRecognitionDispatcher::FindHandleInMap( + const blink::WebSpeechRecognitionHandle& handle) { + return std::find_if( + handle_map_.begin(), handle_map_.end(), + [handle](const std::pair<const int, blink::WebSpeechRecognitionHandle>& + mapping_pair) { + return mapping_pair.second.Equals(handle); + }); } const WebSpeechRecognitionHandle& SpeechRecognitionDispatcher::GetHandleFromID( int request_id) { - HandleMap::iterator iter = handle_map_.find(request_id); + auto iter = handle_map_.find(request_id); CHECK(iter != handle_map_.end()); return iter->second; } |