| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 resize_timer_active_(false), | 186 resize_timer_active_(false), |
| 187 omit_tooltip_(false), | 187 omit_tooltip_(false), |
| 188 timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer, | 188 timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer, |
| 189 frame_impl->GetFrame()), | 189 frame_impl->GetFrame()), |
| 190 this, | 190 this, |
| 191 &InspectorOverlay::OnTimer), | 191 &InspectorOverlay::OnTimer), |
| 192 suspended_(false), | 192 suspended_(false), |
| 193 show_reloading_blanket_(false), | 193 show_reloading_blanket_(false), |
| 194 in_layout_(false), | 194 in_layout_(false), |
| 195 needs_update_(false), | 195 needs_update_(false), |
| 196 swallow_next_mouse_up_(false), |
| 196 inspect_mode_(InspectorDOMAgent::kNotSearching) {} | 197 inspect_mode_(InspectorDOMAgent::kNotSearching) {} |
| 197 | 198 |
| 198 InspectorOverlay::~InspectorOverlay() { | 199 InspectorOverlay::~InspectorOverlay() { |
| 199 DCHECK(!overlay_page_); | 200 DCHECK(!overlay_page_); |
| 200 } | 201 } |
| 201 | 202 |
| 202 DEFINE_TRACE(InspectorOverlay) { | 203 DEFINE_TRACE(InspectorOverlay) { |
| 203 visitor->Trace(frame_impl_); | 204 visitor->Trace(frame_impl_); |
| 204 visitor->Trace(highlight_node_); | 205 visitor->Trace(highlight_node_); |
| 205 visitor->Trace(event_target_node_); | 206 visitor->Trace(event_target_node_); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 OverlayMainFrame()->GetEventHandler().HandleGestureEvent(transformed_event); | 257 OverlayMainFrame()->GetEventHandler().HandleGestureEvent(transformed_event); |
| 257 } | 258 } |
| 258 if (WebInputEvent::IsMouseEventType(input_event.GetType())) { | 259 if (WebInputEvent::IsMouseEventType(input_event.GetType())) { |
| 259 WebMouseEvent mouse_event = | 260 WebMouseEvent mouse_event = |
| 260 TransformWebMouseEvent(frame_impl_->GetFrameView(), | 261 TransformWebMouseEvent(frame_impl_->GetFrameView(), |
| 261 static_cast<const WebMouseEvent&>(input_event)); | 262 static_cast<const WebMouseEvent&>(input_event)); |
| 262 | 263 |
| 263 if (mouse_event.GetType() == WebInputEvent::kMouseMove) | 264 if (mouse_event.GetType() == WebInputEvent::kMouseMove) |
| 264 handled = HandleMouseMove(mouse_event); | 265 handled = HandleMouseMove(mouse_event); |
| 265 else if (mouse_event.GetType() == WebInputEvent::kMouseDown) | 266 else if (mouse_event.GetType() == WebInputEvent::kMouseDown) |
| 266 handled = HandleMousePress(); | 267 handled = HandleMouseDown(); |
| 268 else if (mouse_event.GetType() == WebInputEvent::kMouseUp) |
| 269 handled = HandleMouseUp(); |
| 267 | 270 |
| 268 if (handled) | 271 if (handled) |
| 269 return true; | 272 return true; |
| 270 | 273 |
| 271 if (mouse_event.GetType() == WebInputEvent::kMouseMove) { | 274 if (mouse_event.GetType() == WebInputEvent::kMouseMove) { |
| 272 handled = OverlayMainFrame()->GetEventHandler().HandleMouseMoveEvent( | 275 handled = OverlayMainFrame()->GetEventHandler().HandleMouseMoveEvent( |
| 273 mouse_event, TransformWebMouseEventVector( | 276 mouse_event, TransformWebMouseEventVector( |
| 274 frame_impl_->GetFrameView(), | 277 frame_impl_->GetFrameView(), |
| 275 std::vector<const WebInputEvent*>())) != | 278 std::vector<const WebInputEvent*>())) != |
| 276 WebInputEventResult::kNotHandled; | 279 WebInputEventResult::kNotHandled; |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 759 hovered_node_for_inspect_mode_ = node; | 762 hovered_node_for_inspect_mode_ = node; |
| 760 if (dom_agent_) | 763 if (dom_agent_) |
| 761 dom_agent_->NodeHighlightedInOverlay(node); | 764 dom_agent_->NodeHighlightedInOverlay(node); |
| 762 HighlightNode(node, event_target, *inspect_mode_highlight_config_, | 765 HighlightNode(node, event_target, *inspect_mode_highlight_config_, |
| 763 (event.GetModifiers() & | 766 (event.GetModifiers() & |
| 764 (WebInputEvent::kControlKey | WebInputEvent::kMetaKey))); | 767 (WebInputEvent::kControlKey | WebInputEvent::kMetaKey))); |
| 765 } | 768 } |
| 766 return true; | 769 return true; |
| 767 } | 770 } |
| 768 | 771 |
| 769 bool InspectorOverlay::HandleMousePress() { | 772 bool InspectorOverlay::HandleMouseDown() { |
| 773 swallow_next_mouse_up_ = false; |
| 770 if (!ShouldSearchForNode()) | 774 if (!ShouldSearchForNode()) |
| 771 return false; | 775 return false; |
| 772 | 776 |
| 773 if (hovered_node_for_inspect_mode_) { | 777 if (hovered_node_for_inspect_mode_) { |
| 778 swallow_next_mouse_up_ = true; |
| 774 Inspect(hovered_node_for_inspect_mode_.Get()); | 779 Inspect(hovered_node_for_inspect_mode_.Get()); |
| 775 hovered_node_for_inspect_mode_.Clear(); | 780 hovered_node_for_inspect_mode_.Clear(); |
| 776 return true; | 781 return true; |
| 777 } | 782 } |
| 778 return false; | 783 return false; |
| 779 } | 784 } |
| 780 | 785 |
| 786 bool InspectorOverlay::HandleMouseUp() { |
| 787 if (swallow_next_mouse_up_) { |
| 788 swallow_next_mouse_up_ = false; |
| 789 return true; |
| 790 } |
| 791 return false; |
| 792 } |
| 793 |
| 781 bool InspectorOverlay::HandleGestureEvent(const WebGestureEvent& event) { | 794 bool InspectorOverlay::HandleGestureEvent(const WebGestureEvent& event) { |
| 782 if (!ShouldSearchForNode() || event.GetType() != WebInputEvent::kGestureTap) | 795 if (!ShouldSearchForNode() || event.GetType() != WebInputEvent::kGestureTap) |
| 783 return false; | 796 return false; |
| 784 Node* node = HoveredNodeForEvent(frame_impl_->GetFrame(), event, false); | 797 Node* node = HoveredNodeForEvent(frame_impl_->GetFrame(), event, false); |
| 785 if (node && inspect_mode_highlight_config_) { | 798 if (node && inspect_mode_highlight_config_) { |
| 786 HighlightNode(node, *inspect_mode_highlight_config_, false); | 799 HighlightNode(node, *inspect_mode_highlight_config_, false); |
| 787 Inspect(node); | 800 Inspect(node); |
| 788 return true; | 801 return true; |
| 789 } | 802 } |
| 790 return false; | 803 return false; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 805 bool InspectorOverlay::ShouldSearchForNode() { | 818 bool InspectorOverlay::ShouldSearchForNode() { |
| 806 return inspect_mode_ != InspectorDOMAgent::kNotSearching; | 819 return inspect_mode_ != InspectorDOMAgent::kNotSearching; |
| 807 } | 820 } |
| 808 | 821 |
| 809 void InspectorOverlay::Inspect(Node* node) { | 822 void InspectorOverlay::Inspect(Node* node) { |
| 810 if (dom_agent_) | 823 if (dom_agent_) |
| 811 dom_agent_->Inspect(node); | 824 dom_agent_->Inspect(node); |
| 812 } | 825 } |
| 813 | 826 |
| 814 } // namespace blink | 827 } // namespace blink |
| OLD | NEW |