| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |