| Index: content/renderer/render_view.cc
|
| ===================================================================
|
| --- content/renderer/render_view.cc (revision 79702)
|
| +++ 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_);
|
|
|
| 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)
|
| @@ -5087,19 +4995,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);
|
|
|