| Index: chrome/renderer/spellchecker/spellcheck_provider.h
|
| ===================================================================
|
| --- chrome/renderer/spellchecker/spellcheck_provider.h (revision 79696)
|
| +++ chrome/renderer/spellchecker/spellcheck_provider.h (working copy)
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "base/id_map.h"
|
| #include "content/renderer/render_view_observer.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebSpellCheckClient.h"
|
|
|
| class RenderView;
|
| class SpellCheck;
|
| @@ -22,7 +23,8 @@
|
|
|
| // This class deals with invoking browser-side spellcheck mechanism
|
| // which is done asynchronously.
|
| -class SpellCheckProvider : public RenderViewObserver {
|
| +class SpellCheckProvider : public RenderViewObserver,
|
| + public WebKit::WebSpellCheckClient {
|
| public:
|
| typedef IDMap<WebKit::WebTextCheckingCompletion> WebTextCheckCompletions;
|
|
|
| @@ -45,18 +47,50 @@
|
| return text_check_completions_.size();
|
| }
|
|
|
| + int document_tag() const { return document_tag_; }
|
| +
|
| + private:
|
| // RenderViewObserver implementation.
|
| virtual bool OnMessageReceived(const IPC::Message& message);
|
|
|
| - private:
|
| - // A message handler that receives async results for RequestTextChecking().
|
| + // WebKit::WebSpellCheckClient implementation.
|
| + virtual void spellCheck(const WebKit::WebString& text,
|
| + int& offset,
|
| + int& length);
|
| + virtual void requestCheckingOfText(
|
| + const WebKit::WebString& text,
|
| + WebKit::WebTextCheckingCompletion* completion);
|
| + virtual WebKit::WebString autoCorrectWord(
|
| + const WebKit::WebString& misspelled_word);
|
| + virtual void showSpellingUI(bool show);
|
| + virtual bool isShowingSpellingUI();
|
| + virtual void updateSpellingUIWithMisspelledWord(
|
| + const WebKit::WebString& word);
|
| +
|
| + void OnAdvanceToNextMisspelling();
|
| void OnRespondTextCheck(
|
| int identifier,
|
| int tag,
|
| const std::vector<WebKit::WebTextCheckingResult>& results);
|
| + void OnToggleSpellCheck();
|
| + void OnToggleSpellPanel(bool is_currently_visible);
|
|
|
| + // Initializes the document_tag_ member if necessary.
|
| + void EnsureDocumentTag();
|
| +
|
| // Holds ongoing spellchecking operations, assigns IDs for the IPC routing.
|
| WebTextCheckCompletions text_check_completions_;
|
| +
|
| +#if defined(OS_MACOSX)
|
| + // True if the current RenderView has been assigned a document tag.
|
| + bool has_document_tag_;
|
| +#endif
|
| +
|
| + int document_tag_;
|
| +
|
| + // True if the browser is showing the spelling panel for us.
|
| + bool spelling_panel_visible_;
|
| +
|
| // Spellcheck implementation for use. Weak reference.
|
| SpellCheck* spellcheck_;
|
|
|
|
|