Index: extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
index 41e076000f5b74660cef82ba4fa8b7c978f51ee4..5e5717c1b571766541789fe7188a70677d773715 100644 |
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc |
@@ -94,4 +94,20 @@ void MimeHandlerViewGuest::DidAttachToEmbedder() { |
std::string()); |
} |
+void MimeHandlerViewGuest::HandleKeyboardEvent( |
+ WebContents* source, |
+ const content::NativeWebKeyboardEvent& event) { |
+ if (!attached()) |
+ return; |
+ |
+ // Send the keyboard events back to the embedder to reprocess them. |
+ // TODO(fsamuel): This introduces the possibility of out-of-order keyboard |
+ // events because the guest may be arbitrarily delayed when responding to |
+ // keyboard events. In that time, the embedder may have received and processed |
+ // additional key events. This needs to be fixed as soon as possible. |
lazyboy
2014/09/08 21:48:36
I'm not sure if the comment is relevant for mime-h
Fady Samuel
2014/09/08 21:51:38
Yes, it is still relevant unfortunately.
|
+ // See http://crbug.com/229882. |
+ embedder_web_contents()->GetDelegate()->HandleKeyboardEvent(web_contents(), |
+ event); |
+} |
+ |
} // namespace extensions |