Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
index 2b0a11d2a17b90d248e7fd40e21649042cd28697..087724baec0023e5bd6ce92e7b1a9dee92f7081f 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -2098,6 +2098,8 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
DCHECK(widgetHost); |
NativeWebKeyboardEvent event(theEvent); |
+ ui::LatencyInfo latency_info(ui::SourceEventType::KEY); |
+ latency_info.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
// Force fullscreen windows to close on Escape so they won't keep the keyboard |
// grabbed or be stuck onscreen if the renderer is hanging. |
@@ -2137,7 +2139,7 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
// We only handle key down events and just simply forward other events. |
if ([theEvent type] != NSKeyDown) { |
- widgetHost->ForwardKeyboardEvent(event); |
+ widgetHost->ForwardKeyboardEventWithLatencyInfo(event, latency_info); |
// Possibly autohide the cursor. |
if ([RenderWidgetHostViewCocoa shouldAutohideCursorForEvent:theEvent]) |
@@ -2192,7 +2194,7 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
NativeWebKeyboardEvent fakeEvent = event; |
fakeEvent.windowsKeyCode = 0xE5; // VKEY_PROCESSKEY |
fakeEvent.skip_in_browser = true; |
- widgetHost->ForwardKeyboardEvent(fakeEvent); |
+ widgetHost->ForwardKeyboardEventWithLatencyInfo(fakeEvent, latency_info); |
// If this key event was handled by the input method, but |
// -doCommandBySelector: (invoked by the call to -interpretKeyEvents: above) |
// enqueued edit commands, then in order to let webkit handle them |
@@ -2203,12 +2205,14 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
if (hasEditCommands_ && !hasMarkedText_) |
delayEventUntilAfterImeCompostion = YES; |
} else { |
- widgetHost->ForwardKeyboardEventWithCommands(event, &editCommands_); |
+ widgetHost->ForwardKeyboardEventWithCommands(event, latency_info, |
+ &editCommands_); |
} |
- // Calling ForwardKeyboardEvent() could have destroyed the widget. When the |
- // widget was destroyed, |renderWidgetHostView_->render_widget_host_| will |
- // be set to NULL. So we check it here and return immediately if it's NULL. |
+ // Calling ForwardKeyboardEventWithCommands() could have destroyed the |
+ // widget. When the widget was destroyed, |
+ // |renderWidgetHostView_->render_widget_host_| will be set to NULL. So we |
+ // check it here and return immediately if it's NULL. |
if (!renderWidgetHostView_->render_widget_host_) |
return; |
@@ -2267,16 +2271,18 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
NativeWebKeyboardEvent fakeEvent = event; |
fakeEvent.setType(blink::WebInputEvent::KeyUp); |
fakeEvent.skip_in_browser = true; |
- widgetHost->ForwardKeyboardEvent(fakeEvent); |
+ widgetHost->ForwardKeyboardEventWithLatencyInfo(fakeEvent, latency_info); |
// Not checking |renderWidgetHostView_->render_widget_host_| here because |
// a key event with |skip_in_browser| == true won't be handled by browser, |
// thus it won't destroy the widget. |
- widgetHost->ForwardKeyboardEventWithCommands(event, &editCommands_); |
+ widgetHost->ForwardKeyboardEventWithCommands(event, latency_info, |
+ &editCommands_); |
- // Calling ForwardKeyboardEvent() could have destroyed the widget. When the |
- // widget was destroyed, |renderWidgetHostView_->render_widget_host_| will |
- // be set to NULL. So we check it here and return immediately if it's NULL. |
+ // Calling ForwardKeyboardEventWithCommands() could have destroyed the |
+ // widget. When the widget was destroyed, |
+ // |renderWidgetHostView_->render_widget_host_| will be set to NULL. So we |
+ // check it here and return immediately if it's NULL. |
if (!renderWidgetHostView_->render_widget_host_) |
return; |
} |
@@ -2291,7 +2297,7 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
event.text[0] = textToBeInserted_[0]; |
event.text[1] = 0; |
event.skip_in_browser = true; |
- widgetHost->ForwardKeyboardEvent(event); |
+ widgetHost->ForwardKeyboardEventWithLatencyInfo(event, latency_info); |
} else if ((!textInserted || delayEventUntilAfterImeCompostion) && |
event.text[0] != '\0' && |
(([theEvent modifierFlags] & kCtrlCmdKeyMask) || |
@@ -2301,7 +2307,7 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
// cases, unless the key event generated any other command. |
event.setType(blink::WebInputEvent::Char); |
event.skip_in_browser = true; |
- widgetHost->ForwardKeyboardEvent(event); |
+ widgetHost->ForwardKeyboardEventWithLatencyInfo(event, latency_info); |
} |
} |