Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(926)

Side by Side Diff: chrome/renderer/render_view.cc

Issue 6326011: Revert 72570 - Mac: Enable "Check Spelling While Typing" in Edit menu... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/renderer/render_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/render_view.h" 5 #include "chrome/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 21 matching lines...) Expand all
32 #include "chrome/common/extensions/extension.h" 32 #include "chrome/common/extensions/extension.h"
33 #include "chrome/common/file_system/file_system_dispatcher.h" 33 #include "chrome/common/file_system/file_system_dispatcher.h"
34 #include "chrome/common/file_system/webfilesystem_callback_dispatcher.h" 34 #include "chrome/common/file_system/webfilesystem_callback_dispatcher.h"
35 #include "chrome/common/json_value_serializer.h" 35 #include "chrome/common/json_value_serializer.h"
36 #include "chrome/common/jstemplate_builder.h" 36 #include "chrome/common/jstemplate_builder.h"
37 #include "chrome/common/notification_service.h" 37 #include "chrome/common/notification_service.h"
38 #include "chrome/common/page_zoom.h" 38 #include "chrome/common/page_zoom.h"
39 #include "chrome/common/pepper_messages.h" 39 #include "chrome/common/pepper_messages.h"
40 #include "chrome/common/pepper_plugin_registry.h" 40 #include "chrome/common/pepper_plugin_registry.h"
41 #include "chrome/common/render_messages.h" 41 #include "chrome/common/render_messages.h"
42 #include "chrome/common/render_view_commands.h"
43 #include "chrome/common/renderer_preferences.h" 42 #include "chrome/common/renderer_preferences.h"
44 #include "chrome/common/thumbnail_score.h" 43 #include "chrome/common/thumbnail_score.h"
45 #include "chrome/common/url_constants.h" 44 #include "chrome/common/url_constants.h"
46 #include "chrome/common/web_apps.h" 45 #include "chrome/common/web_apps.h"
47 #include "chrome/common/window_container_type.h" 46 #include "chrome/common/window_container_type.h"
48 #include "chrome/renderer/about_handler.h" 47 #include "chrome/renderer/about_handler.h"
49 #include "chrome/renderer/audio_message_filter.h" 48 #include "chrome/renderer/audio_message_filter.h"
50 #include "chrome/renderer/autofill_helper.h" 49 #include "chrome/renderer/autofill_helper.h"
51 #include "chrome/renderer/automation/dom_automation_controller.h" 50 #include "chrome/renderer/automation/dom_automation_controller.h"
52 #include "chrome/renderer/blocked_plugin.h" 51 #include "chrome/renderer/blocked_plugin.h"
(...skipping 1567 matching lines...) Expand 10 before | Expand all | Expand 10 after
1620 UserMetricsRecordAction("SelectAll"); 1619 UserMetricsRecordAction("SelectAll");
1621 } 1620 }
1622 1621
1623 void RenderView::OnSetInitialFocus(bool reverse) { 1622 void RenderView::OnSetInitialFocus(bool reverse) {
1624 if (!webview()) 1623 if (!webview())
1625 return; 1624 return;
1626 webview()->setInitialFocus(reverse); 1625 webview()->setInitialFocus(reverse);
1627 } 1626 }
1628 1627
1629 void RenderView::OnScrollFocusedEditableNodeIntoView() { 1628 void RenderView::OnScrollFocusedEditableNodeIntoView() {
1630 WebKit::WebNode node = GetFocusedNode(); 1629 if (!webview())
1631 if (!node.isNull()) { 1630 return;
1632 if (IsEditableNode(node)) 1631 WebFrame* focused_frame = webview()->focusedFrame();
1633 // TODO(varunjain): Change webkit API to scroll a particular node into 1632 if (focused_frame) {
1634 // view and use that API here instead. 1633 WebDocument doc = focused_frame->document();
1635 webview()->scrollFocusedNodeIntoView(); 1634 if (!doc.isNull()) {
1635 WebNode node = doc.focusedNode();
1636 if (IsEditableNode(node))
1637 // TODO(varunjain): Change webkit API to scroll a particular node into
1638 // view and use that API here instead.
1639 webview()->scrollFocusedNodeIntoView();
1640 }
1636 } 1641 }
1637 } 1642 }
1638 1643
1639 /////////////////////////////////////////////////////////////////////////////// 1644 ///////////////////////////////////////////////////////////////////////////////
1640 1645
1641 void RenderView::SetContentSettings(const ContentSettings& settings) { 1646 void RenderView::SetContentSettings(const ContentSettings& settings) {
1642 current_content_settings_ = settings; 1647 current_content_settings_ = settings;
1643 } 1648 }
1644 1649
1645 // Tell the embedding application that the URL of the active page has changed 1650 // Tell the embedding application that the URL of the active page has changed
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
2356 2361
2357 bool RenderView::isShowingSpellingUI() { 2362 bool RenderView::isShowingSpellingUI() {
2358 return spelling_panel_visible_; 2363 return spelling_panel_visible_;
2359 } 2364 }
2360 2365
2361 void RenderView::updateSpellingUIWithMisspelledWord(const WebString& word) { 2366 void RenderView::updateSpellingUIWithMisspelledWord(const WebString& word) {
2362 Send(new ViewHostMsg_UpdateSpellingPanelWithMisspelledWord(routing_id_, 2367 Send(new ViewHostMsg_UpdateSpellingPanelWithMisspelledWord(routing_id_,
2363 word)); 2368 word));
2364 } 2369 }
2365 2370
2366 void RenderView::continuousSpellCheckingEnabledStateChanged() {
2367 UpdateToggleSpellCheckCommandState();
2368 }
2369
2370 bool RenderView::runFileChooser( 2371 bool RenderView::runFileChooser(
2371 const WebKit::WebFileChooserParams& params, 2372 const WebKit::WebFileChooserParams& params,
2372 WebFileChooserCompletion* chooser_completion) { 2373 WebFileChooserCompletion* chooser_completion) {
2373 // Do not open the file dialog in a hidden RenderView. 2374 // Do not open the file dialog in a hidden RenderView.
2374 if (is_hidden()) 2375 if (is_hidden())
2375 return false; 2376 return false;
2376 ViewHostMsg_RunFileChooser_Params ipc_params; 2377 ViewHostMsg_RunFileChooser_Params ipc_params;
2377 if (params.directory) 2378 if (params.directory)
2378 ipc_params.mode = ViewHostMsg_RunFileChooser_Params::OpenFolder; 2379 ipc_params.mode = ViewHostMsg_RunFileChooser_Params::OpenFolder;
2379 else if (params.multiSelect) 2380 else if (params.multiSelect)
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
2486 // any existing pending sends. 2487 // any existing pending sends.
2487 pending_target_url_ = latest_url; 2488 pending_target_url_ = latest_url;
2488 target_url_status_ = TARGET_PENDING; 2489 target_url_status_ = TARGET_PENDING;
2489 } else { 2490 } else {
2490 Send(new ViewHostMsg_UpdateTargetURL(routing_id_, page_id_, latest_url)); 2491 Send(new ViewHostMsg_UpdateTargetURL(routing_id_, page_id_, latest_url));
2491 target_url_ = latest_url; 2492 target_url_ = latest_url;
2492 target_url_status_ = TARGET_INFLIGHT; 2493 target_url_status_ = TARGET_INFLIGHT;
2493 } 2494 }
2494 } 2495 }
2495 2496
2496 void RenderView::UpdateToggleSpellCheckCommandState() {
2497 bool is_enabled = false;
2498 WebKit::WebNode node = GetFocusedNode();
2499 if (!node.isNull())
2500 is_enabled = IsEditableNode(node);
2501
2502 RenderViewCommandCheckedState checked_state =
2503 RENDER_VIEW_COMMAND_CHECKED_STATE_UNCHECKED;
2504 if (is_enabled && webview()) {
2505 WebFrame* frame = webview()->focusedFrame();
2506 if (frame->isContinuousSpellCheckingEnabled())
2507 checked_state = RENDER_VIEW_COMMAND_CHECKED_STATE_CHECKED;
2508 }
2509
2510 Send(new ViewHostMsg_CommandStateChanged(
2511 routing_id_,
2512 RENDER_VIEW_COMMAND_TOGGLE_SPELL_CHECK,
2513 is_enabled,
2514 checked_state));
2515 }
2516
2517 void RenderView::StartNavStateSyncTimerIfNecessary() { 2497 void RenderView::StartNavStateSyncTimerIfNecessary() {
2518 int delay; 2498 int delay;
2519 if (send_content_state_immediately_) 2499 if (send_content_state_immediately_)
2520 delay = 0; 2500 delay = 0;
2521 else if (is_hidden()) 2501 else if (is_hidden())
2522 delay = kDelaySecondsForContentStateSyncHidden; 2502 delay = kDelaySecondsForContentStateSyncHidden;
2523 else 2503 else
2524 delay = kDelaySecondsForContentStateSync; 2504 delay = kDelaySecondsForContentStateSync;
2525 2505
2526 if (nav_state_sync_timer_.IsRunning()) { 2506 if (nav_state_sync_timer_.IsRunning()) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2583 void RenderView::focusedNodeChanged(const WebNode& node) { 2563 void RenderView::focusedNodeChanged(const WebNode& node) {
2584 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node))); 2564 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node)));
2585 2565
2586 if (WebAccessibilityCache::accessibilityEnabled() && node.isNull()) { 2566 if (WebAccessibilityCache::accessibilityEnabled() && node.isNull()) {
2587 // TODO(ctguil): Make WebKit send this notification. 2567 // TODO(ctguil): Make WebKit send this notification.
2588 // When focus is cleared notify accessibility that the document is focused. 2568 // When focus is cleared notify accessibility that the document is focused.
2589 postAccessibilityNotification( 2569 postAccessibilityNotification(
2590 webview()->accessibilityObject(), 2570 webview()->accessibilityObject(),
2591 WebKit::WebAccessibilityNotificationFocusedUIElementChanged); 2571 WebKit::WebAccessibilityNotificationFocusedUIElementChanged);
2592 } 2572 }
2593
2594 UpdateToggleSpellCheckCommandState();
2595 } 2573 }
2596 2574
2597 void RenderView::navigateBackForwardSoon(int offset) { 2575 void RenderView::navigateBackForwardSoon(int offset) {
2598 Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset)); 2576 Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset));
2599 } 2577 }
2600 2578
2601 int RenderView::historyBackListCount() { 2579 int RenderView::historyBackListCount() {
2602 return history_list_offset_ < 0 ? 0 : history_list_offset_; 2580 return history_list_offset_ < 0 ? 0 : history_list_offset_;
2603 } 2581 }
2604 2582
(...skipping 1935 matching lines...) Expand 10 before | Expand all | Expand 10 after
4540 xpath_remaining.erase(0, delim_pos + 1); 4518 xpath_remaining.erase(0, delim_pos + 1);
4541 } else { 4519 } else {
4542 xpath_remaining.swap(xpath_child); 4520 xpath_remaining.swap(xpath_child);
4543 } 4521 }
4544 frame = frame->findChildByExpression(WideToUTF16Hack(xpath_child)); 4522 frame = frame->findChildByExpression(WideToUTF16Hack(xpath_child));
4545 } 4523 }
4546 4524
4547 return frame; 4525 return frame;
4548 } 4526 }
4549 4527
4550 WebNode RenderView::GetFocusedNode() const {
4551 if (!webview())
4552 return WebNode();
4553 WebFrame* focused_frame = webview()->focusedFrame();
4554 if (focused_frame) {
4555 WebDocument doc = focused_frame->document();
4556 if (!doc.isNull())
4557 return doc.focusedNode();
4558 }
4559
4560 return WebNode();
4561 }
4562
4563 void RenderView::SetSuggestions(const std::vector<std::string>& suggestions) { 4528 void RenderView::SetSuggestions(const std::vector<std::string>& suggestions) {
4564 // Explicitly allow empty vector to be sent to the browser. 4529 // Explicitly allow empty vector to be sent to the browser.
4565 Send(new ViewHostMsg_SetSuggestions(routing_id_, page_id_, suggestions)); 4530 Send(new ViewHostMsg_SetSuggestions(routing_id_, page_id_, suggestions));
4566 } 4531 }
4567 4532
4568 void RenderView::EvaluateScript(const string16& frame_xpath, 4533 void RenderView::EvaluateScript(const string16& frame_xpath,
4569 const string16& script, 4534 const string16& script,
4570 int id, 4535 int id,
4571 bool notify_result) { 4536 bool notify_result) {
4572 v8::Handle<v8::Value> result; 4537 v8::Handle<v8::Value> result;
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after
5785 if (cmd == kJavaScriptStressTestSetStressRunType) { 5750 if (cmd == kJavaScriptStressTestSetStressRunType) {
5786 v8::Testing::SetStressRunType(static_cast<v8::Testing::StressType>(param)); 5751 v8::Testing::SetStressRunType(static_cast<v8::Testing::StressType>(param));
5787 } else if (cmd == kJavaScriptStressTestPrepareStressRun) { 5752 } else if (cmd == kJavaScriptStressTestPrepareStressRun) {
5788 v8::Testing::PrepareStressRun(param); 5753 v8::Testing::PrepareStressRun(param);
5789 } 5754 }
5790 } 5755 }
5791 5756
5792 void RenderView::OnContextMenuClosed() { 5757 void RenderView::OnContextMenuClosed() {
5793 context_menu_node_.reset(); 5758 context_menu_node_.reset();
5794 } 5759 }
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698