TextCheckerClientEfl.h [plain text]
#ifndef TextCheckerClientEfl_h
#define TextCheckerClientEfl_h
#if ENABLE(SPELLCHECK)
#include "TextCheckerEnchant.h"
#include "Timer.h"
#include <WebKit/WKTextChecker.h>
#include <WebKit/ewk_text_checker_private.h>
namespace WebKit {
class TextCheckerClientEfl {
public:
static TextCheckerClientEfl& instance();
friend class NeverDestroyed<TextCheckerClientEfl>;
ClientCallbacks& clientCallbacks() { return m_clientCallbacks; }
bool isContinuousSpellCheckingEnabled() const;
void ensureSpellCheckingLanguage();
Vector<String> availableSpellCheckingLanguages() const;
Vector<String> loadedSpellCheckingLanguages() const;
void updateSpellCheckingLanguages(const Vector<String>& defaultLanguages = Vector<String>());
private:
TextCheckerClientEfl();
void languagesUpdateTimerFired(WebCore::Timer*);
WebCore::Timer m_languagesUpdateTimer;
Vector<String> m_spellCheckingLanguages;
void spellCheckingSettingChangeTimerFired(WebCore::Timer*);
void callContinuousSpellCheckingChangeCallbackAsync();
WebCore::Timer m_spellCheckingSettingChangeTimer;
static bool isContinuousSpellCheckingEnabledCallback(const void*);
static void setContinuousSpellCheckingEnabledCallback(bool, const void*);
static uint64_t uniqueSpellDocumentTagCallback(WKPageRef, const void*);
static void closeSpellDocumentWithTagCallback(uint64_t, const void*);
static void checkSpellingOfStringCallback(uint64_t, WKStringRef text, int32_t* misspellingLocation, int32_t* misspellingLength, const void*);
static WKArrayRef guessesForWordCallback(uint64_t, WKStringRef word, const void*);
static void learnWordCallback(uint64_t, WKStringRef word, const void*);
static void ignoreWordCallback(uint64_t, WKStringRef word, const void*);
ClientCallbacks m_clientCallbacks;
OwnPtr<WebCore::TextCheckerEnchant> m_textCheckerEnchant;
};
}
#endif // ENABLE(SPELLCHECK)
#endif // TextCheckerClientEfl_h