Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "services/keyboard_native/keyboard_service_impl.h" | |
| 6 | |
| 7 #include "base/bind.h" | |
| 8 #include "base/logging.h" | |
| 9 #include "mojo/public/c/system/main.h" | |
| 10 #include "mojo/public/cpp/application/application_impl.h" | |
| 11 #include "mojo/public/cpp/application/application_runner.h" | |
| 12 #include "mojo/public/cpp/bindings/error_handler.h" | |
| 13 #include "mojo/public/cpp/system/data_pipe.h" | |
| 14 | |
| 15 namespace keyboard { | |
| 16 | |
| 17 KeyboardServiceImpl::KeyboardServiceImpl( | |
| 18 mojo::InterfaceRequest<KeyboardService> handle) | |
| 19 : strong_binding_(this, handle.Pass()) { | |
| 20 } | |
| 21 | |
| 22 KeyboardServiceImpl::~KeyboardServiceImpl() { | |
| 23 } | |
| 24 | |
| 25 // KeyboardService implementation. | |
| 26 void KeyboardServiceImpl::Show(KeyboardClientPtr client) { | |
|
jamesr
2015/05/08 23:45:23
note: i think this is deliberate here but keep in
APW
2015/05/09 00:45:58
Acknowledged.
I will hold on to it in a later cha
| |
| 27 keyboard::CompletionData completionData; | |
| 28 completionData.text = "blah"; | |
| 29 completionData.label = "blahblah"; | |
| 30 client->CommitCompletion(completionData.Clone()); | |
| 31 | |
| 32 keyboard::CorrectionData correctionData; | |
| 33 correctionData.old_text = "old text"; | |
| 34 correctionData.new_text = "new text"; | |
| 35 client->CommitCorrection(correctionData.Clone()); | |
| 36 | |
| 37 client->CommitText("", 0); | |
| 38 client->DeleteSurroundingText(0, 0); | |
| 39 client->SetComposingRegion(0, 0); | |
| 40 client->SetComposingText("", 0); | |
| 41 client->SetSelection(0, 1); | |
| 42 } | |
| 43 | |
| 44 void KeyboardServiceImpl::ShowByRequest() { | |
| 45 } | |
| 46 | |
| 47 void KeyboardServiceImpl::Hide() { | |
| 48 } | |
| 49 | |
| 50 // ApplicationDelegate implementation. | |
| 51 bool KeyboardServiceDelegate::ConfigureIncomingConnection( | |
| 52 mojo::ApplicationConnection* connection) { | |
| 53 connection->AddService<KeyboardService>(this); | |
| 54 return true; | |
| 55 } | |
| 56 | |
| 57 // InterfaceFactory<KeyboardService> implementation. | |
| 58 void KeyboardServiceDelegate::Create( | |
| 59 mojo::ApplicationConnection* connection, | |
| 60 mojo::InterfaceRequest<KeyboardService> request) { | |
| 61 // This object will be deleted automatically because of the use of | |
| 62 // StrongBinding<> for the declaration of |strong_binding_|. | |
| 63 new KeyboardServiceImpl(request.Pass()); | |
| 64 } | |
| 65 | |
| 66 } // namespace keyboard | |
| 67 | |
| 68 MojoResult MojoMain(MojoHandle application_request) { | |
| 69 mojo::ApplicationRunner runner(new keyboard::KeyboardServiceDelegate()); | |
| 70 return runner.Run(application_request); | |
| 71 } | |
| OLD | NEW |