| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/renderer/spellchecker/spellcheck.h" | 5 #include "chrome/renderer/spellchecker/spellcheck.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/common/render_messages.h" | 10 #include "chrome/common/render_messages.h" |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 IPC_MESSAGE_HANDLER(SpellCheckMsg_EnableSpellCheck, OnEnableSpellCheck) | 123 IPC_MESSAGE_HANDLER(SpellCheckMsg_EnableSpellCheck, OnEnableSpellCheck) |
| 124 IPC_MESSAGE_HANDLER(SpellCheckMsg_RequestDocumentMarkers, | 124 IPC_MESSAGE_HANDLER(SpellCheckMsg_RequestDocumentMarkers, |
| 125 OnRequestDocumentMarkers) | 125 OnRequestDocumentMarkers) |
| 126 IPC_MESSAGE_UNHANDLED(handled = false) | 126 IPC_MESSAGE_UNHANDLED(handled = false) |
| 127 IPC_END_MESSAGE_MAP() | 127 IPC_END_MESSAGE_MAP() |
| 128 | 128 |
| 129 return handled; | 129 return handled; |
| 130 } | 130 } |
| 131 | 131 |
| 132 void SpellCheck::OnInit(IPC::PlatformFileForTransit bdict_file, | 132 void SpellCheck::OnInit(IPC::PlatformFileForTransit bdict_file, |
| 133 const std::vector<std::string>& custom_words, | 133 const std::set<std::string>& custom_words, |
| 134 const std::string& language, | 134 const std::string& language, |
| 135 bool auto_spell_correct) { | 135 bool auto_spell_correct) { |
| 136 Init(IPC::PlatformFileForTransitToPlatformFile(bdict_file), | 136 Init(IPC::PlatformFileForTransitToPlatformFile(bdict_file), |
| 137 custom_words, language); | 137 custom_words, language); |
| 138 auto_spell_correct_turned_on_ = auto_spell_correct; | 138 auto_spell_correct_turned_on_ = auto_spell_correct; |
| 139 #if !defined(OS_MACOSX) | 139 #if !defined(OS_MACOSX) |
| 140 PostDelayedSpellCheckTask(pending_request_param_.release()); | 140 PostDelayedSpellCheckTask(pending_request_param_.release()); |
| 141 #endif | 141 #endif |
| 142 } | 142 } |
| 143 | 143 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 160 void SpellCheck::OnRequestDocumentMarkers() { | 160 void SpellCheck::OnRequestDocumentMarkers() { |
| 161 DocumentMarkersCollector collector; | 161 DocumentMarkersCollector collector; |
| 162 content::RenderView::ForEach(&collector); | 162 content::RenderView::ForEach(&collector); |
| 163 content::RenderThread::Get()->Send( | 163 content::RenderThread::Get()->Send( |
| 164 new SpellCheckHostMsg_RespondDocumentMarkers(collector.markers())); | 164 new SpellCheckHostMsg_RespondDocumentMarkers(collector.markers())); |
| 165 } | 165 } |
| 166 | 166 |
| 167 // TODO(groby): Make sure we always have a spelling engine, even before Init() | 167 // TODO(groby): Make sure we always have a spelling engine, even before Init() |
| 168 // is called. | 168 // is called. |
| 169 void SpellCheck::Init(base::PlatformFile file, | 169 void SpellCheck::Init(base::PlatformFile file, |
| 170 const std::vector<std::string>& custom_words, | 170 const std::set<std::string>& custom_words, |
| 171 const std::string& language) { | 171 const std::string& language) { |
| 172 spellcheck_.Init(file, language); | 172 spellcheck_.Init(file, language); |
| 173 custom_dictionary_.Init(custom_words); | 173 custom_dictionary_.Init(custom_words); |
| 174 } | 174 } |
| 175 | 175 |
| 176 bool SpellCheck::SpellCheckWord( | 176 bool SpellCheck::SpellCheckWord( |
| 177 const char16* in_word, | 177 const char16* in_word, |
| 178 int in_word_len, | 178 int in_word_len, |
| 179 int tag, | 179 int tag, |
| 180 int* misspelling_start, | 180 int* misspelling_start, |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 if (!custom_dictionary_.SpellCheckWord(text, word_location, word_length)) { | 371 if (!custom_dictionary_.SpellCheckWord(text, word_location, word_length)) { |
| 372 list.push_back(WebTextCheckingResult( | 372 list.push_back(WebTextCheckingResult( |
| 373 type, | 373 type, |
| 374 word_location + line_offset, | 374 word_location + line_offset, |
| 375 word_length, | 375 word_length, |
| 376 spellcheck_results[i].replacement)); | 376 spellcheck_results[i].replacement)); |
| 377 } | 377 } |
| 378 } | 378 } |
| 379 textcheck_results->assign(list); | 379 textcheck_results->assign(list); |
| 380 } | 380 } |
| OLD | NEW |