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

Unified Diff: content/renderer/browser_plugin/browser_plugin.cc

Issue 15149006: <webview>: Plumb edit commands (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed whitespace Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/browser_plugin/browser_plugin.cc
diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc
index 46b9ec4a25919e6dced358f18c01b04802221476..1e2ead03b467c86cd81eb5c3d28acc581fba2a1b 100644
--- a/content/renderer/browser_plugin/browser_plugin.cc
+++ b/content/renderer/browser_plugin/browser_plugin.cc
@@ -1206,6 +1206,10 @@ bool BrowserPlugin::supportsKeyboardFocus() const {
return true;
}
+bool BrowserPlugin::supportsEditCommands() const {
+ return true;
+}
+
bool BrowserPlugin::canProcessDrag() const {
return true;
}
@@ -1482,6 +1486,17 @@ bool BrowserPlugin::handleInputEvent(const WebKit::WebInputEvent& event,
touch_event->touchesLength += touch_event->changedTouchesLength;
modified_event = touch_event.get();
}
+
+ if (WebKit::WebInputEvent::isKeyboardEventType(event.type) &&
+ !edit_commands_.empty()) {
+ browser_plugin_manager()->Send(
+ new BrowserPluginHostMsg_SetEditCommandsForNextKeyEvent(
+ render_view_routing_id_,
+ instance_id_,
+ edit_commands_));
+ edit_commands_.clear();
+ }
+
browser_plugin_manager()->Send(
new BrowserPluginHostMsg_HandleInputEvent(render_view_routing_id_,
instance_id_,
@@ -1542,6 +1557,13 @@ bool BrowserPlugin::executeEditCommand(const WebKit::WebString& name) {
return true;
}
+bool BrowserPlugin::executeEditCommand(const WebKit::WebString& name,
+ const WebKit::WebString& value) {
+ edit_commands_.push_back(EditCommand(name.utf8(), value.utf8()));
+ // BrowserPlugin swallows edit commands.
+ return true;
+}
+
void BrowserPlugin::OnLockMouseACK(bool succeeded) {
browser_plugin_manager()->Send(new BrowserPluginHostMsg_LockMouse_ACK(
render_view_routing_id_,

Powered by Google App Engine
This is Rietveld 408576698