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

Unified Diff: chromeos/dbus/ibus/ibus_panel_service.cc

Issue 12017010: Introduce bypass logic for SetCursorLocation message. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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
« no previous file with comments | « chromeos/dbus/ibus/ibus_panel_service.h ('k') | chromeos/dbus/ibus/ibus_panel_service_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/ibus/ibus_panel_service.cc
diff --git a/chromeos/dbus/ibus/ibus_panel_service.cc b/chromeos/dbus/ibus/ibus_panel_service.cc
index 644a937122c76e712986980df825796a90345bd5..95bee520d65e981055e0aa597a11671d5cd9b2b2 100644
--- a/chromeos/dbus/ibus/ibus_panel_service.cc
+++ b/chromeos/dbus/ibus/ibus_panel_service.cc
@@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/callback.h"
#include "chromeos/dbus/ibus/ibus_constants.h"
+#include "chromeos/dbus/ibus/ibus_input_context_client.h"
#include "chromeos/dbus/ibus/ibus_lookup_table.h"
#include "chromeos/dbus/ibus/ibus_property.h"
#include "chromeos/dbus/ibus/ibus_text.h"
@@ -23,7 +24,8 @@ namespace ibus {
class IBusPanelServiceImpl : public IBusPanelService {
public:
- explicit IBusPanelServiceImpl(dbus::Bus* bus)
+ explicit IBusPanelServiceImpl(dbus::Bus* bus,
+ IBusInputContextClient* input_context)
: bus_(bus),
candidate_window_handler_(NULL),
property_handler_(NULL),
@@ -124,6 +126,10 @@ class IBusPanelServiceImpl : public IBusPanelService {
ibus::panel::kServiceName,
base::Bind(&IBusPanelServiceImpl::OnRequestOwnership,
weak_ptr_factory_.GetWeakPtr()));
+
+ input_context->SetSetCursorLocationHandler(
+ base::Bind(&IBusPanelServiceImpl::SetCursorLocation,
+ weak_ptr_factory_.GetWeakPtr()));
}
virtual ~IBusPanelServiceImpl() {
@@ -338,6 +344,11 @@ class IBusPanelServiceImpl : public IBusPanelService {
response_sender.Run(response);
}
+ void SetCursorLocation(const ibus::Rect& cursor_location,
+ const ibus::Rect& composition_head) {
+ // TODO(nona): implement this function.
+ }
+
// Handles FocusIn, FocusOut, StateChanged method calls from IBus, and ignores
// them.
void NoOperation(dbus::MethodCall* method_call,
@@ -406,10 +417,12 @@ IBusPanelService::~IBusPanelService() {
}
// static
-IBusPanelService* IBusPanelService::Create(DBusClientImplementationType type,
- dbus::Bus* bus) {
+IBusPanelService* IBusPanelService::Create(
+ DBusClientImplementationType type,
+ dbus::Bus* bus,
+ IBusInputContextClient* input_context) {
if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) {
- return new IBusPanelServiceImpl(bus);
+ return new IBusPanelServiceImpl(bus, input_context);
} else {
return new IBusPanelServiceStubImpl();
}
« no previous file with comments | « chromeos/dbus/ibus/ibus_panel_service.h ('k') | chromeos/dbus/ibus/ibus_panel_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698