Index: chrome/renderer/spellchecker/spellcheck_provider.h |
=================================================================== |
--- chrome/renderer/spellchecker/spellcheck_provider.h (revision 79702) |
+++ 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_; } |
+ |
// 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) |
gmorrita
2011/03/29 18:28:37
I don't think this ifdef is necessary.
How about t
jam
2011/03/29 18:37:54
I was just copying over the existing logic from Re
|
+ // 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_; |