summaryrefslogtreecommitdiffstats
path: root/content/shell/renderer/test_runner/SpellCheckClient.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/shell/renderer/test_runner/SpellCheckClient.h')
-rw-r--r--content/shell/renderer/test_runner/SpellCheckClient.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/content/shell/renderer/test_runner/SpellCheckClient.h b/content/shell/renderer/test_runner/SpellCheckClient.h
new file mode 100644
index 0000000..bc8ad9d
--- /dev/null
+++ b/content/shell/renderer/test_runner/SpellCheckClient.h
@@ -0,0 +1,55 @@
+// Copyright 2013 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.
+
+#ifndef SpellCheckClient_h
+#define SpellCheckClient_h
+
+#include "content/shell/renderer/test_runner/MockSpellCheck.h"
+#include "content/shell/renderer/test_runner/WebTask.h"
+#include "third_party/WebKit/public/platform/WebNonCopyable.h"
+#include "third_party/WebKit/public/web/WebSpellCheckClient.h"
+
+namespace WebTestRunner {
+
+class WebTestDelegate;
+class WebTestProxyBase;
+
+class SpellCheckClient : public blink::WebSpellCheckClient, public blink::WebNonCopyable {
+public:
+ explicit SpellCheckClient(WebTestProxyBase*);
+ virtual ~SpellCheckClient();
+
+ void setDelegate(WebTestDelegate*);
+
+ WebTaskList* taskList() { return &m_taskList; }
+ MockSpellCheck* mockSpellCheck() { return &m_spellcheck; }
+
+ // blink::WebSpellCheckClient implementation.
+ virtual void spellCheck(const blink::WebString&, int& offset, int& length, blink::WebVector<blink::WebString>* optionalSuggestions);
+ virtual void checkTextOfParagraph(const blink::WebString&, blink::WebTextCheckingTypeMask, blink::WebVector<blink::WebTextCheckingResult>*);
+ virtual void requestCheckingOfText(const blink::WebString&,
+ const blink::WebVector<uint32_t>&,
+ const blink::WebVector<unsigned>&,
+ blink::WebTextCheckingCompletion*);
+ virtual blink::WebString autoCorrectWord(const blink::WebString&);
+
+private:
+ void finishLastTextCheck();
+
+ // The mock spellchecker used in spellCheck().
+ MockSpellCheck m_spellcheck;
+
+ blink::WebString m_lastRequestedTextCheckString;
+ blink::WebTextCheckingCompletion* m_lastRequestedTextCheckingCompletion;
+
+ WebTaskList m_taskList;
+
+ WebTestDelegate* m_delegate;
+
+ WebTestProxyBase* m_webTestProxy;
+};
+
+}
+
+#endif // SpellCheckClient_h