OLD | NEW |
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 "components/autofill/content/renderer/form_autofill_util.h" | 7 #include "components/autofill/content/renderer/form_autofill_util.h" |
8 #include "components/autofill/content/renderer/page_click_listener.h" | 8 #include "components/autofill/content/renderer/page_click_listener.h" |
9 #include "content/public/renderer/render_view.h" | 9 #include "content/public/renderer/render_view.h" |
10 #include "third_party/WebKit/public/platform/WebString.h" | 10 #include "third_party/WebKit/public/platform/WebString.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 const WebInputElement input_element = | 84 const WebInputElement input_element = |
85 GetTextWebInputElement(last_node_clicked_); | 85 GetTextWebInputElement(last_node_clicked_); |
86 if (input_element.isNull()) | 86 if (input_element.isNull()) |
87 return; | 87 return; |
88 | 88 |
89 bool is_focused = (last_node_clicked_ == render_view()->GetFocusedNode()); | 89 bool is_focused = (last_node_clicked_ == render_view()->GetFocusedNode()); |
90 listener_->InputElementClicked(input_element, was_focused_, is_focused); | 90 listener_->InputElementClicked(input_element, was_focused_, is_focused); |
91 } | 91 } |
92 | 92 |
93 void PageClickTracker::DidFinishDocumentLoad(blink::WebFrame* frame) { | 93 void PageClickTracker::DidFinishDocumentLoad(blink::WebFrame* frame) { |
| 94 if (frame->document().isNull()) |
| 95 return; |
94 tracked_frames_.push_back(frame); | 96 tracked_frames_.push_back(frame); |
95 frame->document().addEventListener("mousedown", this, false); | 97 frame->document().addEventListener("mousedown", this, false); |
96 } | 98 } |
97 | 99 |
98 void PageClickTracker::FrameDetached(blink::WebFrame* frame) { | 100 void PageClickTracker::FrameDetached(blink::WebFrame* frame) { |
99 std::vector<blink::WebFrame*>::iterator iter = | 101 std::vector<blink::WebFrame*>::iterator iter = |
100 std::find(tracked_frames_.begin(), tracked_frames_.end(), frame); | 102 std::find(tracked_frames_.begin(), tracked_frames_.end(), frame); |
101 if (iter == tracked_frames_.end()) { | 103 if (iter == tracked_frames_.end()) { |
102 // Some frames might never load contents so we may not have a listener on | 104 // Some frames might never load contents so we may not have a listener on |
103 // them. Calling removeEventListener() on them would trigger an assert, so | 105 // them. Calling removeEventListener() on them would trigger an assert, so |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 was_focused_ = (node.document().focusedNode() == last_node_clicked_); | 139 was_focused_ = (node.document().focusedNode() == last_node_clicked_); |
138 } | 140 } |
139 | 141 |
140 void PageClickTracker::HandleTextFieldMaybeLosingFocus( | 142 void PageClickTracker::HandleTextFieldMaybeLosingFocus( |
141 const WebNode& newly_clicked_node) { | 143 const WebNode& newly_clicked_node) { |
142 if (DidSelectedTextFieldLoseFocus(newly_clicked_node)) | 144 if (DidSelectedTextFieldLoseFocus(newly_clicked_node)) |
143 listener_->InputElementLostFocus(); | 145 listener_->InputElementLostFocus(); |
144 } | 146 } |
145 | 147 |
146 } // namespace autofill | 148 } // namespace autofill |
OLD | NEW |