Index: components/test_runner/spell_check_client.cc |
diff --git a/components/test_runner/spell_check_client.cc b/components/test_runner/spell_check_client.cc |
deleted file mode 100644 |
index 50cd5f932e9fe0e96a94f4201a3d4f7f92fcfa22..0000000000000000000000000000000000000000 |
--- a/components/test_runner/spell_check_client.cc |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/test_runner/spell_check_client.h" |
- |
-#include <stddef.h> |
- |
-#include "base/bind.h" |
-#include "base/bind_helpers.h" |
-#include "base/logging.h" |
-#include "base/macros.h" |
-#include "components/test_runner/mock_grammar_check.h" |
-#include "components/test_runner/test_runner.h" |
-#include "components/test_runner/web_test_delegate.h" |
-#include "third_party/WebKit/public/web/WebFrame.h" |
-#include "third_party/WebKit/public/web/WebKit.h" |
-#include "third_party/WebKit/public/web/WebTextCheckingCompletion.h" |
-#include "third_party/WebKit/public/web/WebTextCheckingResult.h" |
- |
-namespace test_runner { |
- |
-SpellCheckClient::SpellCheckClient(TestRunner* test_runner) |
- : last_requested_text_checking_completion_(nullptr), |
- test_runner_(test_runner), |
- weak_factory_(this) { |
- DCHECK(test_runner); |
-} |
- |
-SpellCheckClient::~SpellCheckClient() { |
-} |
- |
-void SpellCheckClient::SetDelegate(WebTestDelegate* delegate) { |
- delegate_ = delegate; |
-} |
- |
-void SpellCheckClient::SetEnabled(bool enabled) { |
- enabled_ = enabled; |
-} |
- |
-void SpellCheckClient::Reset() { |
- enabled_ = false; |
- resolved_callback_.Reset(); |
-} |
- |
-// blink::WebSpellCheckClient |
-void SpellCheckClient::checkSpelling( |
- const blink::WebString& text, |
- int& misspelled_offset, |
- int& misspelled_length, |
- blink::WebVector<blink::WebString>* optional_suggestions) { |
- if (!enabled_) { |
- misspelled_offset = 0; |
- misspelled_length = 0; |
- return; |
- } |
- |
- // Check the spelling of the given text. |
- spell_check_.SpellCheckWord(text, &misspelled_offset, &misspelled_length); |
-} |
- |
-void SpellCheckClient::requestCheckingOfText( |
- const blink::WebString& text, |
- const blink::WebVector<uint32_t>& markers, |
- const blink::WebVector<unsigned>& marker_offsets, |
- blink::WebTextCheckingCompletion* completion) { |
- if (!enabled_ || text.isEmpty()) { |
- if (completion) { |
- completion->didCancelCheckingText(); |
- RequestResolved(); |
- } |
- return; |
- } |
- |
- if (last_requested_text_checking_completion_) { |
- last_requested_text_checking_completion_->didCancelCheckingText(); |
- RequestResolved(); |
- } |
- |
- last_requested_text_checking_completion_ = completion; |
- last_requested_text_check_string_ = text; |
- if (spell_check_.HasInCache(text)) |
- FinishLastTextCheck(); |
- else |
- delegate_->PostDelayedTask( |
- base::Bind(&SpellCheckClient::FinishLastTextCheck, |
- weak_factory_.GetWeakPtr()), |
- 0); |
-} |
- |
-void SpellCheckClient::cancelAllPendingRequests() { |
- if (!last_requested_text_checking_completion_) |
- return; |
- last_requested_text_checking_completion_->didCancelCheckingText(); |
- last_requested_text_checking_completion_ = nullptr; |
-} |
- |
-void SpellCheckClient::FinishLastTextCheck() { |
- if (!last_requested_text_checking_completion_) |
- return; |
- std::vector<blink::WebTextCheckingResult> results; |
- int offset = 0; |
- if (!spell_check_.IsMultiWordMisspelling(last_requested_text_check_string_, |
- &results)) { |
- base::string16 text = last_requested_text_check_string_.utf16(); |
- while (text.length()) { |
- int misspelled_position = 0; |
- int misspelled_length = 0; |
- spell_check_.SpellCheckWord(blink::WebString::fromUTF16(text), |
- &misspelled_position, &misspelled_length); |
- if (!misspelled_length) |
- break; |
- blink::WebVector<blink::WebString> suggestions; |
- spell_check_.FillSuggestionList( |
- blink::WebString::fromUTF16( |
- text.substr(misspelled_position, misspelled_length)), |
- &suggestions); |
- results.push_back(blink::WebTextCheckingResult( |
- blink::WebTextDecorationTypeSpelling, |
- offset + misspelled_position, |
- misspelled_length, |
- suggestions.isEmpty() ? blink::WebString() : suggestions[0])); |
- text = text.substr(misspelled_position + misspelled_length); |
- offset += misspelled_position + misspelled_length; |
- } |
- MockGrammarCheck::CheckGrammarOfString(last_requested_text_check_string_, |
- &results); |
- } |
- last_requested_text_checking_completion_->didFinishCheckingText(results); |
- last_requested_text_checking_completion_ = 0; |
- RequestResolved(); |
- |
- if (test_runner_->shouldDumpSpellCheckCallbacks()) |
- delegate_->PrintMessage("SpellCheckEvent: FinishLastTextCheck\n"); |
-} |
- |
-void SpellCheckClient::SetSpellCheckResolvedCallback( |
- v8::Local<v8::Function> callback) { |
- resolved_callback_.Reset(blink::mainThreadIsolate(), callback); |
-} |
- |
-void SpellCheckClient::RemoveSpellCheckResolvedCallback() { |
- resolved_callback_.Reset(); |
-} |
- |
-void SpellCheckClient::RequestResolved() { |
- if (resolved_callback_.IsEmpty()) |
- return; |
- |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- |
- blink::WebFrame* frame = test_runner_->mainFrame(); |
- if (!frame || frame->isWebRemoteFrame()) |
- return; |
- |
- v8::Local<v8::Context> context = frame->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- |
- frame->callFunctionEvenIfScriptDisabled( |
- v8::Local<v8::Function>::New(isolate, resolved_callback_), |
- context->Global(), 0, nullptr); |
-} |
- |
-} // namespace test_runner |