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

Side by Side Diff: components/autofill/content/renderer/page_click_tracker.cc

Issue 1195473005: Let PageClickTracker use onMouseDown (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 5 years, 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/autofill/content/renderer/page_click_tracker.h" 5 #include "components/autofill/content/renderer/page_click_tracker.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "components/autofill/content/renderer/form_autofill_util.h" 8 #include "components/autofill/content/renderer/form_autofill_util.h"
9 #include "components/autofill/content/renderer/page_click_listener.h" 9 #include "components/autofill/content/renderer/page_click_listener.h"
10 #include "components/autofill/core/common/autofill_switches.h" 10 #include "components/autofill/core/common/autofill_switches.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 : content::RenderFrameObserver(render_frame), 67 : content::RenderFrameObserver(render_frame),
68 focused_node_was_last_clicked_(false), 68 focused_node_was_last_clicked_(false),
69 was_focused_before_now_(false), 69 was_focused_before_now_(false),
70 listener_(listener), 70 listener_(listener),
71 legacy_(this) { 71 legacy_(this) {
72 } 72 }
73 73
74 PageClickTracker::~PageClickTracker() { 74 PageClickTracker::~PageClickTracker() {
75 } 75 }
76 76
77 void PageClickTracker::DidHandleMouseEvent(const WebMouseEvent& event) { 77 void PageClickTracker::OnMouseDown(const WebNode& mouse_down_node) {
78 if (event.type != WebInputEvent::MouseDown || 78 focused_node_was_last_clicked_ = !mouse_down_node.isNull() &&
79 event.button != WebMouseEvent::ButtonLeft) { 79 mouse_down_node.focused();
80 return;
81 }
82
83 WebNode clicked_node = render_frame()->GetRenderView()->GetWebView()
84 ->hitTestResultAt(WebPoint(event.x, event.y)).node();
85 focused_node_was_last_clicked_ = !clicked_node.isNull() &&
86 clicked_node.focused();
87 }
88
89 void PageClickTracker::DidHandleGestureEvent(const WebGestureEvent& event) {
90 if (event.type != WebGestureEvent::GestureTap)
91 return;
92
93 WebNode tapped_node = render_frame()->GetRenderView()->GetWebView()
94 ->hitTestResultForTap(
95 WebPoint(event.x, event.y),
96 WebSize(event.data.tap.width, event.data.tap.height)).node();
97 focused_node_was_last_clicked_ = !tapped_node.isNull() &&
98 tapped_node.focused();
99 } 80 }
100 81
101 void PageClickTracker::FocusedNodeChanged(const WebNode& node) { 82 void PageClickTracker::FocusedNodeChanged(const WebNode& node) {
102 was_focused_before_now_ = false; 83 was_focused_before_now_ = false;
103 84
104 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 85 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
105 switches::kEnableAccessorySuggestionView)) { 86 switches::kEnableAccessorySuggestionView)) {
106 focused_node_was_last_clicked_ = true; 87 focused_node_was_last_clicked_ = true;
107 DoFocusChangeComplete(); 88 DoFocusChangeComplete();
108 } 89 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 123
143 PageClickTracker::Legacy::Legacy(PageClickTracker* tracker) 124 PageClickTracker::Legacy::Legacy(PageClickTracker* tracker)
144 : content::RenderViewObserver(tracker->render_frame()->GetRenderView()), 125 : content::RenderViewObserver(tracker->render_frame()->GetRenderView()),
145 tracker_(tracker) { 126 tracker_(tracker) {
146 } 127 }
147 128
148 void PageClickTracker::Legacy::OnDestruct() { 129 void PageClickTracker::Legacy::OnDestruct() {
149 // No-op. Don't delete |this|. 130 // No-op. Don't delete |this|.
150 } 131 }
151 132
152 void PageClickTracker::Legacy::DidHandleMouseEvent(const WebMouseEvent& event) { 133 void PageClickTracker::Legacy::OnMouseDown(const WebNode& mouse_down_node) {
153 tracker_->DidHandleMouseEvent(event); 134 tracker_->OnMouseDown(mouse_down_node);
154 }
155
156 void PageClickTracker::Legacy::DidHandleGestureEvent(
157 const WebGestureEvent& event) {
158 tracker_->DidHandleGestureEvent(event);
159 } 135 }
160 136
161 void PageClickTracker::Legacy::FocusChangeComplete() { 137 void PageClickTracker::Legacy::FocusChangeComplete() {
162 tracker_->FocusChangeComplete(); 138 tracker_->FocusChangeComplete();
163 } 139 }
164 140
165 } // namespace autofill 141 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/content/renderer/page_click_tracker.h ('k') | content/public/renderer/render_view_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698