| Index: services/keyboard_native/view_observer_delegate.cc
|
| diff --git a/services/keyboard_native/view_observer_delegate.cc b/services/keyboard_native/view_observer_delegate.cc
|
| index 99b677fdc099f69d91eb14cfab0e8a943d07818a..733443e26ad246b9512c4988c5117458943f79af 100644
|
| --- a/services/keyboard_native/view_observer_delegate.cc
|
| +++ b/services/keyboard_native/view_observer_delegate.cc
|
| @@ -11,9 +11,11 @@
|
| #include "mojo/gpu/gl_texture.h"
|
| #include "mojo/public/cpp/application/application_impl.h"
|
| #include "mojo/public/cpp/application/connect.h"
|
| +#include "mojo/services/prediction/public/interfaces/prediction.mojom.h"
|
| #include "mojo/skia/ganesh_surface.h"
|
| #include "services/keyboard_native/clip_animation.h"
|
| #include "services/keyboard_native/keyboard_service_impl.h"
|
| +#include "services/keyboard_native/predictor.h"
|
| #include "skia/ext/refptr.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| #include "third_party/skia/include/core/SkTypeface.h"
|
| @@ -36,6 +38,7 @@ mojo::Size ToSize(const mojo::Rect& rect) {
|
|
|
| ViewObserverDelegate::ViewObserverDelegate()
|
| : keyboard_service_impl_(nullptr),
|
| + predictor_(nullptr),
|
| view_(nullptr),
|
| id_namespace_(0u),
|
| surface_id_(1u),
|
| @@ -49,6 +52,8 @@ ViewObserverDelegate::ViewObserverDelegate()
|
| base::Bind(&ViewObserverDelegate::OnText, weak_factory_.GetWeakPtr()));
|
| key_layout_.SetDeleteCallback(
|
| base::Bind(&ViewObserverDelegate::OnDelete, weak_factory_.GetWeakPtr()));
|
| + key_layout_.SetSuggestTextCallback(base::Bind(
|
| + &ViewObserverDelegate::OnSuggestText, weak_factory_.GetWeakPtr()));
|
| submit_frame_callback_ = base::Bind(&ViewObserverDelegate::OnFrameComplete,
|
| weak_factory_.GetWeakPtr());
|
| }
|
| @@ -92,6 +97,10 @@ void ViewObserverDelegate::OnViewCreated(mojo::View* view, mojo::Shell* shell) {
|
| surface_->CreateSurface(surface_id_);
|
| surface_->GetIdNamespace(base::Bind(&ViewObserverDelegate::SetIdNamespace,
|
| base::Unretained(this)));
|
| + predictor_ = new Predictor(shell);
|
| + predictor_->SetUpdateCallback(base::Bind(
|
| + &ViewObserverDelegate::OnUpdateSuggestion, weak_factory_.GetWeakPtr()));
|
| + key_layout_.SetPredictor(predictor_);
|
| IssueDraw();
|
| }
|
|
|
| @@ -103,6 +112,15 @@ void ViewObserverDelegate::OnDelete() {
|
| keyboard_service_impl_->OnDelete();
|
| }
|
|
|
| +void ViewObserverDelegate::OnSuggestText(const std::string& text) {
|
| + std::string text_with_space = text + " ";
|
| + keyboard_service_impl_->OnKey(text_with_space.c_str());
|
| +}
|
| +
|
| +void ViewObserverDelegate::OnUpdateSuggestion() {
|
| + IssueDraw();
|
| +}
|
| +
|
| void ViewObserverDelegate::UpdateState(int32 pointer_id,
|
| int action,
|
| const gfx::PointF& touch_point) {
|
|
|