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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 1861733002: Add touch drag UMA latency metric. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Actually fix tests. Created 4 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1834 matching lines...) Expand 10 before | Expand all | Expand 10 after
1845 event.type == WebInputEvent::GestureScrollBegin || 1845 event.type == WebInputEvent::GestureScrollBegin ||
1846 event.type == WebInputEvent::GestureTapDown || 1846 event.type == WebInputEvent::GestureTapDown ||
1847 event.type == WebInputEvent::RawKeyDown)) { 1847 event.type == WebInputEvent::RawKeyDown)) {
1848 delegate_->OnUserInteraction(this, event.type); 1848 delegate_->OnUserInteraction(this, event.type);
1849 } 1849 }
1850 1850
1851 return view_ ? view_->FilterInputEvent(event) 1851 return view_ ? view_->FilterInputEvent(event)
1852 : INPUT_EVENT_ACK_STATE_NOT_CONSUMED; 1852 : INPUT_EVENT_ACK_STATE_NOT_CONSUMED;
1853 } 1853 }
1854 1854
1855 void RenderWidgetHostImpl::OnForwardEventToRenderer(
1856 const blink::WebInputEvent& input_event,
1857 ui::LatencyInfo* latency_info) {
1858 latency_tracker_.OnForwardEventToRenderer(input_event, latency_info);
1859 }
1860
1855 void RenderWidgetHostImpl::IncrementInFlightEventCount() { 1861 void RenderWidgetHostImpl::IncrementInFlightEventCount() {
1856 increment_in_flight_event_count(); 1862 increment_in_flight_event_count();
1857 if (!is_hidden_) 1863 if (!is_hidden_)
1858 StartHangMonitorTimeout(hung_renderer_delay_); 1864 StartHangMonitorTimeout(hung_renderer_delay_);
1859 } 1865 }
1860 1866
1861 void RenderWidgetHostImpl::DecrementInFlightEventCount() { 1867 void RenderWidgetHostImpl::DecrementInFlightEventCount() {
1862 if (decrement_in_flight_event_count() <= 0) { 1868 if (decrement_in_flight_event_count() <= 0) {
1863 // Cancel pending hung renderer checks since the renderer is responsive. 1869 // Cancel pending hung renderer checks since the renderer is responsive.
1864 StopHangMonitorTimeout(); 1870 StopHangMonitorTimeout();
(...skipping 19 matching lines...) Expand all
1884 } 1890 }
1885 1891
1886 void RenderWidgetHostImpl::DidStopFlinging() { 1892 void RenderWidgetHostImpl::DidStopFlinging() {
1887 if (view_) 1893 if (view_)
1888 view_->DidStopFlinging(); 1894 view_->DidStopFlinging();
1889 } 1895 }
1890 1896
1891 void RenderWidgetHostImpl::OnKeyboardEventAck( 1897 void RenderWidgetHostImpl::OnKeyboardEventAck(
1892 const NativeWebKeyboardEventWithLatencyInfo& event, 1898 const NativeWebKeyboardEventWithLatencyInfo& event,
1893 InputEventAckState ack_result) { 1899 InputEventAckState ack_result) {
1894 latency_tracker_.OnInputEventAck(event.event, &event.latency); 1900 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
1901 latency_tracker_.OnInputEventAck(event.event, &event.latency, processed);
1895 1902
1896 #if defined(OS_MACOSX) 1903 #if defined(OS_MACOSX)
1897 if (!is_hidden() && view_ && view_->PostProcessEventForPluginIme(event.event)) 1904 if (!is_hidden() && view_ && view_->PostProcessEventForPluginIme(event.event))
1898 return; 1905 return;
1899 #endif 1906 #endif
1900 1907
1901 // We only send unprocessed key event upwards if we are not hidden, 1908 // We only send unprocessed key event upwards if we are not hidden,
1902 // because the user has moved away from us and no longer expect any effect 1909 // because the user has moved away from us and no longer expect any effect
1903 // of this key event. 1910 // of this key event.
1904 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
1905 if (delegate_ && !processed && !is_hidden() && !event.event.skip_in_browser) { 1911 if (delegate_ && !processed && !is_hidden() && !event.event.skip_in_browser) {
1906 delegate_->HandleKeyboardEvent(event.event); 1912 delegate_->HandleKeyboardEvent(event.event);
1907 1913
1908 // WARNING: This RenderWidgetHostImpl can be deallocated at this point 1914 // WARNING: This RenderWidgetHostImpl can be deallocated at this point
1909 // (i.e. in the case of Ctrl+W, where the call to 1915 // (i.e. in the case of Ctrl+W, where the call to
1910 // HandleKeyboardEvent destroys this RenderWidgetHostImpl). 1916 // HandleKeyboardEvent destroys this RenderWidgetHostImpl).
1911 } 1917 }
1912 } 1918 }
1913 1919
1914 void RenderWidgetHostImpl::OnMouseEventAck( 1920 void RenderWidgetHostImpl::OnMouseEventAck(
1915 const MouseEventWithLatencyInfo& mouse_event, 1921 const MouseEventWithLatencyInfo& mouse_event,
1916 InputEventAckState ack_result) { 1922 InputEventAckState ack_result) {
1917 latency_tracker_.OnInputEventAck(mouse_event.event, &mouse_event.latency); 1923 latency_tracker_.OnInputEventAck(
1924 mouse_event.event, &mouse_event.latency,
1925 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED);
1918 } 1926 }
1919 1927
1920 void RenderWidgetHostImpl::OnWheelEventAck( 1928 void RenderWidgetHostImpl::OnWheelEventAck(
1921 const MouseWheelEventWithLatencyInfo& wheel_event, 1929 const MouseWheelEventWithLatencyInfo& wheel_event,
1922 InputEventAckState ack_result) { 1930 InputEventAckState ack_result) {
1923 latency_tracker_.OnInputEventAck(wheel_event.event, &wheel_event.latency); 1931 latency_tracker_.OnInputEventAck(
1932 wheel_event.event, &wheel_event.latency,
1933 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED);
1924 1934
1925 if (!is_hidden() && view_) { 1935 if (!is_hidden() && view_) {
1926 if (ack_result != INPUT_EVENT_ACK_STATE_CONSUMED && 1936 if (ack_result != INPUT_EVENT_ACK_STATE_CONSUMED &&
1927 delegate_ && delegate_->HandleWheelEvent(wheel_event.event)) { 1937 delegate_ && delegate_->HandleWheelEvent(wheel_event.event)) {
1928 ack_result = INPUT_EVENT_ACK_STATE_CONSUMED; 1938 ack_result = INPUT_EVENT_ACK_STATE_CONSUMED;
1929 } 1939 }
1930 view_->WheelEventAck(wheel_event.event, ack_result); 1940 view_->WheelEventAck(wheel_event.event, ack_result);
1931 } 1941 }
1932 } 1942 }
1933 1943
1934 void RenderWidgetHostImpl::OnGestureEventAck( 1944 void RenderWidgetHostImpl::OnGestureEventAck(
1935 const GestureEventWithLatencyInfo& event, 1945 const GestureEventWithLatencyInfo& event,
1936 InputEventAckState ack_result) { 1946 InputEventAckState ack_result) {
1937 latency_tracker_.OnInputEventAck(event.event, &event.latency); 1947 latency_tracker_.OnInputEventAck(
1948 event.event, &event.latency,
1949 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED);
1938 1950
1939 if (view_) 1951 if (view_)
1940 view_->GestureEventAck(event.event, ack_result); 1952 view_->GestureEventAck(event.event, ack_result);
1941 } 1953 }
1942 1954
1943 void RenderWidgetHostImpl::OnTouchEventAck( 1955 void RenderWidgetHostImpl::OnTouchEventAck(
1944 const TouchEventWithLatencyInfo& event, 1956 const TouchEventWithLatencyInfo& event,
1945 InputEventAckState ack_result) { 1957 InputEventAckState ack_result) {
1946 latency_tracker_.OnInputEventAck(event.event, &event.latency); 1958 latency_tracker_.OnInputEventAck(
1959 event.event, &event.latency,
1960 ack_result == INPUT_EVENT_ACK_STATE_CONSUMED);
1947 1961
1948 if (touch_emulator_ && 1962 if (touch_emulator_ &&
1949 touch_emulator_->HandleTouchEventAck(event.event, ack_result)) { 1963 touch_emulator_->HandleTouchEventAck(event.event, ack_result)) {
1950 return; 1964 return;
1951 } 1965 }
1952 1966
1953 if (view_) 1967 if (view_)
1954 view_->ProcessAckedTouchEvent(event, ack_result); 1968 view_->ProcessAckedTouchEvent(event, ack_result);
1955 } 1969 }
1956 1970
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
2166 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL; 2180 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL;
2167 } 2181 }
2168 2182
2169 BrowserAccessibilityManager* 2183 BrowserAccessibilityManager*
2170 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() { 2184 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() {
2171 return delegate_ ? 2185 return delegate_ ?
2172 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL; 2186 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL;
2173 } 2187 }
2174 2188
2175 } // namespace content 2189 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698