Chromium Code Reviews| Index: content/renderer/render_view.cc |
| =================================================================== |
| --- content/renderer/render_view.cc (revision 79696) |
| +++ content/renderer/render_view.cc (working copy) |
| @@ -36,7 +36,6 @@ |
| #include "chrome/common/pepper_plugin_registry.h" |
| #include "chrome/common/render_messages.h" |
| #include "chrome/common/render_view_commands.h" |
| -#include "chrome/common/spellcheck_messages.h" |
| #include "chrome/common/thumbnail_score.h" |
| #include "chrome/common/url_constants.h" |
| #include "chrome/common/web_apps.h" |
| @@ -152,7 +151,6 @@ |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebSize.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" |
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebTextCheckingCompletion.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebURLError.h" |
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebURLRequest.h" |
| @@ -540,12 +538,7 @@ |
| history_list_offset_(-1), |
| history_list_length_(0), |
| has_unload_listener_(false), |
| -#if defined(OS_MACOSX) |
| - has_document_tag_(false), |
| -#endif |
| - document_tag_(0), |
| target_url_status_(TARGET_NONE), |
| - spelling_panel_visible_(false), |
| view_type_(ViewType::INVALID), |
| browser_window_id_(-1), |
| ALLOW_THIS_IN_INITIALIZER_LIST(pepper_delegate_(this)), |
| @@ -570,6 +563,8 @@ |
| if (opener_id != MSG_ROUTING_NONE) |
| opener_id_ = opener_id; |
| + webwidget_ = WebView::create(this); |
| + |
| if (counter) { |
| shared_popup_counter_ = counter; |
| shared_popup_counter_->data++; |
| @@ -582,12 +577,14 @@ |
| notification_provider_ = new NotificationProvider(this); |
| devtools_agent_ = new DevToolsAgent(this); |
| + webview()->setDevToolsAgentClient(devtools_agent_); |
| + |
| PasswordAutofillManager* password_autofill_manager = |
| new PasswordAutofillManager(this); |
| AutofillAgent* autofill_agent = new AutofillAgent(this, |
| password_autofill_manager); |
| + webview()->setAutoFillClient(autofill_agent); |
| - webwidget_ = WebView::create(this, devtools_agent_, autofill_agent); |
| g_view_map.Get().insert(std::make_pair(webview(), this)); |
| webkit_preferences_.Apply(webview()); |
| webview()->initializeMainFrame(this); |
| @@ -635,6 +632,7 @@ |
| RenderThread* current_thread = RenderThread::current(); |
| SpellCheck* spellcheck = current_thread ? current_thread->spellchecker() : 0; |
| spellcheck_provider_ = new SpellCheckProvider(this, spellcheck); |
| + webview()->setSpellCheckClient(spellcheck_provider_); |
|
gmorrita
2011/03/29 18:28:37
How about to allow SpellCheckProvider to set itsel
jam
2011/03/29 18:37:54
yep I was planning on doing this when I move the s
|
| if (CommandLine::ForCurrentProcess()->HasSwitch( |
| switches::kEnableP2PApi)) { |
| @@ -666,12 +664,6 @@ |
| } |
| #if defined(OS_MACOSX) |
| - // Tell the spellchecker that the document is closed. |
| - if (has_document_tag_) { |
| - Send(new SpellCheckHostMsg_DocumentWithTagClosed( |
| - routing_id_, document_tag_)); |
| - } |
| - |
| // Destroy all fake plugin window handles on the browser side. |
| while (!fake_plugin_window_handles_.empty()) { |
| // Make sure no NULL plugin window handles were inserted into this list. |
| @@ -982,10 +974,6 @@ |
| #endif |
| IPC_MESSAGE_HANDLER(ViewMsg_Paste, OnPaste) |
| IPC_MESSAGE_HANDLER(ViewMsg_Replace, OnReplace) |
| - IPC_MESSAGE_HANDLER(SpellCheckMsg_ToggleSpellPanel, OnToggleSpellPanel) |
| - IPC_MESSAGE_HANDLER(SpellCheckMsg_AdvanceToNextMisspelling, |
| - OnAdvanceToNextMisspelling) |
| - IPC_MESSAGE_HANDLER(SpellCheckMsg_ToggleSpellCheck, OnToggleSpellCheck) |
| IPC_MESSAGE_HANDLER(ViewMsg_Delete, OnDelete) |
| IPC_MESSAGE_HANDLER(ViewMsg_SelectAll, OnSelectAll) |
| IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt) |
| @@ -1533,32 +1521,6 @@ |
| frame->replaceSelection(text); |
| } |
| -void RenderView::OnAdvanceToNextMisspelling() { |
| - if (!webview()) |
| - return; |
| - webview()->focusedFrame()->executeCommand( |
| - WebString::fromUTF8("AdvanceToNextMisspelling")); |
| -} |
| - |
| -void RenderView::OnToggleSpellPanel(bool is_currently_visible) { |
| - if (!webview()) |
| - return; |
| - // We need to tell the webView whether the spelling panel is visible or not so |
| - // that it won't need to make ipc calls later. |
| - spelling_panel_visible_ = is_currently_visible; |
| - webview()->focusedFrame()->executeCommand( |
| - WebString::fromUTF8("ToggleSpellPanel")); |
| -} |
| - |
| -void RenderView::OnToggleSpellCheck() { |
| - if (!webview()) |
| - return; |
| - |
| - WebFrame* frame = webview()->focusedFrame(); |
| - frame->enableContinuousSpellChecking( |
| - !frame->isContinuousSpellCheckingEnabled()); |
| -} |
| - |
| void RenderView::OnDelete() { |
| if (!webview()) |
| return; |
| @@ -2238,60 +2200,6 @@ |
| return did_execute_command; |
| } |
| -void RenderView::spellCheck(const WebString& text, |
| - int& misspelled_offset, |
| - int& misspelled_length) { |
| - EnsureDocumentTag(); |
| - |
| - string16 word(text); |
| - RenderThread* thread = RenderThread::current(); |
| - // Will be NULL during unit tests. |
| - if (thread) { |
| - thread->spellchecker()->SpellCheckWord( |
| - word.c_str(), word.size(), document_tag_, |
| - &misspelled_offset, &misspelled_length, NULL); |
| - } |
| -} |
| - |
| -void RenderView::requestCheckingOfText( |
| - const WebString& text, |
| - WebKit::WebTextCheckingCompletion* completion) { |
| - spellcheck_provider_->RequestTextChecking(text, document_tag_, completion); |
| -} |
| - |
| -WebString RenderView::autoCorrectWord(const WebKit::WebString& word) { |
| - string16 autocorrect_word; |
| - const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
| - if (command_line.HasSwitch(switches::kExperimentalSpellcheckerFeatures)) { |
| - EnsureDocumentTag(); |
| - RenderThread* thread = RenderThread::current(); |
| - // Will be NULL during unit tests. |
| - if (thread) { |
| - autocorrect_word = |
| - thread->spellchecker()->GetAutoCorrectionWord( |
| - word, document_tag_); |
| - } |
| - } |
| - return autocorrect_word; |
| -} |
| - |
| -void RenderView::showSpellingUI(bool show) { |
| - Send(new SpellCheckHostMsg_ShowSpellingPanel(routing_id_, show)); |
| -} |
| - |
| -bool RenderView::isShowingSpellingUI() { |
| - return spelling_panel_visible_; |
| -} |
| - |
| -void RenderView::updateSpellingUIWithMisspelledWord(const WebString& word) { |
| - Send(new SpellCheckHostMsg_UpdateSpellingPanelWithMisspelledWord(routing_id_, |
| - word)); |
| -} |
| - |
| -void RenderView::continuousSpellCheckingEnabledStateChanged() { |
| - UpdateToggleSpellCheckCommandState(); |
| -} |
| - |
| bool RenderView::runFileChooser( |
| const WebKit::WebFileChooserParams& params, |
| WebFileChooserCompletion* chooser_completion) { |
| @@ -2365,7 +2273,7 @@ |
| bool spelled_right = RenderThread::current()->spellchecker()-> |
| SpellCheckWord( |
| params.misspelled_word.c_str(), params.misspelled_word.size(), |
| - document_tag_, |
| + spellcheck_provider_->document_tag(), |
| &misspelled_offset, &misspelled_length, |
| ¶ms.dictionary_suggestions); |
| if (spelled_right) |
| @@ -5092,19 +5000,7 @@ |
| } |
| } |
| -void RenderView::EnsureDocumentTag() { |
| - // TODO(darin): There's actually no reason for this to be here. We should |
| - // have the browser side manage the document tag. |
| #if defined(OS_MACOSX) |
| - if (!has_document_tag_) { |
| - // Make the call to get the tag. |
| - Send(new SpellCheckHostMsg_GetDocumentTag(routing_id_, &document_tag_)); |
| - has_document_tag_ = true; |
| - } |
| -#endif |
| -} |
| - |
| -#if defined(OS_MACOSX) |
| void RenderView::PluginFocusChanged(bool focused, int plugin_id) { |
| IPC::Message* msg = new ViewHostMsg_PluginFocusChanged(routing_id(), |
| focused, plugin_id); |