Chromium Code Reviews| Index: components/test_runner/event_sender.cc |
| diff --git a/components/test_runner/event_sender.cc b/components/test_runner/event_sender.cc |
| index 7501c3fd3836aebfab8d9945aada772fb24678ef..44ab616bdf3fd0ec7083073880f1350f1e3aa140 100644 |
| --- a/components/test_runner/event_sender.cc |
| +++ b/components/test_runner/event_sender.cc |
| @@ -18,6 +18,7 @@ |
| #include "build/build_config.h" |
| #include "components/test_runner/mock_spell_check.h" |
| #include "components/test_runner/test_interfaces.h" |
| +#include "components/test_runner/web_frame_test_proxy.h" |
| #include "components/test_runner/web_task.h" |
| #include "components/test_runner/web_test_delegate.h" |
| #include "components/test_runner/web_test_proxy.h" |
| @@ -1194,8 +1195,9 @@ EventSender::SavedEvent::SavedEvent() |
| milliseconds(0), |
| modifiers(0) {} |
| -EventSender::EventSender(WebTestProxyBase* web_test_proxy_base) |
| - : web_test_proxy_base_(web_test_proxy_base), |
| +EventSender::EventSender( |
| + WebFrameTestProxyBase* web_frame_test_proxy_base) |
| + : web_frame_test_proxy_base_(web_frame_test_proxy_base), |
| send_wheel_gestures_(false), |
| replaying_saved_events_(false), |
| weak_factory_(this) { |
| @@ -1209,10 +1211,10 @@ void EventSender::Reset() { |
| current_drag_data_.reset(); |
| current_drag_effect_ = blink::WebDragOperationNone; |
| current_drag_effects_allowed_ = blink::WebDragOperationNone; |
| - if (view() && |
| + if (widget() && |
| current_pointer_state_[kMousePointerId].pressed_button_ != |
| WebMouseEvent::ButtonNone) |
| - view()->mouseCaptureLost(); |
| + widget()->mouseCaptureLost(); |
| current_pointer_state_.clear(); |
| is_drag_mode_ = true; |
| force_layout_on_events_ = true; |
| @@ -1296,7 +1298,7 @@ void EventSender::PointerDown( |
| blink::WebPointerProperties::PointerType pointerType, |
| int pointerId) { |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| DCHECK_NE(-1, button_number); |
| @@ -1334,7 +1336,7 @@ void EventSender::PointerUp( |
| blink::WebPointerProperties::PointerType pointerType, |
| int pointerId) { |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| DCHECK_NE(-1, button_number); |
| @@ -1593,7 +1595,7 @@ void EventSender::KeyDown(const std::string& code_str, |
| // EventSender.m forces a layout here, with at least one |
| // test (fast/forms/focus-control-to-page.html) relying on this. |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| // In the browser, if a keyboard event corresponds to an editor command, |
| // the command will be dispatched to the renderer just before dispatching |
| @@ -1645,7 +1647,7 @@ void EventSender::ClearKillRing() {} |
| std::vector<std::string> EventSender::ContextClick() { |
| if (force_layout_on_events_) { |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| } |
| UpdateClickCountForButton(WebMouseEvent::ButtonRight); |
| @@ -1832,7 +1834,7 @@ void EventSender::GestureFlingCancel() { |
| event.timeStampSeconds = GetCurrentEventTimeSec(); |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| HandleInputEventOnViewOrPopup(event); |
| } |
| @@ -1868,7 +1870,7 @@ void EventSender::GestureFlingStart(float x, |
| event.timeStampSeconds = GetCurrentEventTimeSec(); |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| HandleInputEventOnViewOrPopup(event); |
| } |
| @@ -2069,7 +2071,7 @@ void EventSender::MouseScrollBy(gin::Arguments* args, |
| void EventSender::MouseMoveTo(gin::Arguments* args) { |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| double x; |
| double y; |
| @@ -2124,7 +2126,7 @@ void EventSender::MouseMoveTo(gin::Arguments* args) { |
| void EventSender::MouseLeave() { |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| WebMouseEvent event; |
| InitMouseEvent(WebInputEvent::MouseLeave, |
| @@ -2172,7 +2174,7 @@ void EventSender::SendCurrentTouchEvent(WebInputEvent::Type type, |
| DCHECK_GT(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), |
| touch_points_.size()); |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| WebTouchEvent touch_event; |
| touch_event.type = type; |
| @@ -2447,7 +2449,7 @@ void EventSender::GestureEvent(WebInputEvent::Type type, |
| event.timeStampSeconds = GetCurrentEventTimeSec(); |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| WebInputEventResult result = HandleInputEventOnViewOrPopup(event); |
| @@ -2492,7 +2494,7 @@ void EventSender::InitMouseWheelEvent(gin::Arguments* args, |
| // determined before we send events (as well as all the other methods |
| // that send an event do). |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| double horizontal; |
| if (!args->GetNext(&horizontal)) { |
| @@ -2716,11 +2718,11 @@ WebInputEventResult EventSender::HandleInputEventOnViewOrPopup( |
| const WebInputEvent& event) { |
| last_event_timestamp_ = event.timeStampSeconds; |
| - if (WebPagePopup* popup = view()->pagePopup()) { |
| + if (WebPagePopup* popup = widget()->pagePopup()) { |
| if (!WebInputEvent::isKeyboardEventType(event.type)) |
| return popup->handleInputEvent(event); |
| } |
| - return view()->handleInputEvent(event); |
| + return widget()->handleInputEvent(event); |
|
Łukasz Anforowicz
2016/06/02 21:05:19
Even after this change http/tests/security/referre
|
| } |
| void EventSender::SendGesturesForMouseWheelEvent( |
| @@ -2749,7 +2751,7 @@ void EventSender::SendGesturesForMouseWheelEvent( |
| } |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| HandleInputEventOnViewOrPopup(begin_event); |
| @@ -2765,7 +2767,7 @@ void EventSender::SendGesturesForMouseWheelEvent( |
| begin_event.data.scrollBegin.deltaHintUnits; |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| HandleInputEventOnViewOrPopup(update_event); |
| WebGestureEvent end_event; |
| @@ -2776,24 +2778,30 @@ void EventSender::SendGesturesForMouseWheelEvent( |
| begin_event.data.scrollBegin.deltaHintUnits; |
| if (force_layout_on_events_) |
| - view()->updateAllLifecyclePhases(); |
| + widget()->updateAllLifecyclePhases(); |
| HandleInputEventOnViewOrPopup(end_event); |
| } |
| TestInterfaces* EventSender::interfaces() { |
| - return web_test_proxy_base_->test_interfaces(); |
| + return web_frame_test_proxy_base_->web_test_proxy_base()->test_interfaces(); |
| } |
| WebTestDelegate* EventSender::delegate() { |
| - return web_test_proxy_base_->delegate(); |
| + return web_frame_test_proxy_base_->web_test_proxy_base()->delegate(); |
| } |
| const blink::WebView* EventSender::view() const { |
| - return web_test_proxy_base_->web_view(); |
| + return web_frame_test_proxy_base_->web_frame()->view(); |
| } |
| blink::WebView* EventSender::view() { |
| - return web_test_proxy_base_->web_view(); |
| + return web_frame_test_proxy_base_->web_frame()->view(); |
| +} |
| + |
| +blink::WebWidget* EventSender::widget() { |
| + if (web_frame_test_proxy_base_->web_frame()) |
| + return web_frame_test_proxy_base_->web_frame()->localRoot()->frameWidget(); |
| + return nullptr; |
| } |
| } // namespace test_runner |