Chromium Code Reviews| Index: content/browser/android/text_suggestion_host_android.h |
| diff --git a/content/browser/android/text_suggestion_host_android.h b/content/browser/android/text_suggestion_host_android.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..829420e55c9b51b2ab2c50a0cfe5f4439d91f9ae |
| --- /dev/null |
| +++ b/content/browser/android/text_suggestion_host_android.h |
| @@ -0,0 +1,70 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef TEXT_SUGGESTION_HOST_ANDROID_H_ |
|
aelias_OOO_until_Jul13
2017/06/20 02:55:03
nit: standard format for this encodes the full pat
|
| +#define TEXT_SUGGESTION_HOST_ANDROID_H_ |
| + |
| +#include "content/browser/android/render_widget_host_connector.h" |
| +#include "content/browser/renderer_host/input/timeout_monitor.h" |
| +#include "third_party/WebKit/public/platform/input_host.mojom.h" |
| +#include "third_party/WebKit/public/platform/input_messages.mojom.h" |
| + |
| +namespace content { |
| + |
| +class TextSuggestionHostAndroid : public RenderWidgetHostConnector { |
| + public: |
| + TextSuggestionHostAndroid(JNIEnv* env, |
| + const base::android::JavaParamRef<jobject>& obj, |
| + WebContents* web_contents); |
| + ~TextSuggestionHostAndroid() override; |
| + |
| + // RenderWidgetHostConnector implementation. |
| + void UpdateRenderProcessConnection( |
| + RenderWidgetHostViewAndroid* old_rwhva, |
| + RenderWidgetHostViewAndroid* new_rhwva) override; |
| + |
| + // Called from Java -> native |
| + void ApplySpellCheckSuggestion( |
| + JNIEnv*, |
| + const base::android::JavaParamRef<jobject>&, |
| + const base::android::JavaParamRef<jstring>& replacement); |
| + void DeleteActiveSuggestionRange(JNIEnv*, |
| + const base::android::JavaParamRef<jobject>&); |
| + void NewWordAddedToDictionary( |
| + JNIEnv*, |
| + const base::android::JavaParamRef<jobject>&, |
| + const base::android::JavaParamRef<jstring>& word); |
| + void SuggestionMenuClosed(JNIEnv*, |
| + const base::android::JavaParamRef<jobject>&); |
| + |
| + // Called from native -> Java |
| + void ShowSpellCheckSuggestionMenu( |
| + double caret_x, |
| + double caret_y, |
| + const std::string& marked_text, |
| + const std::vector<blink::mojom::SpellCheckSuggestionPtr>& suggestions); |
| + |
| + // Other methods |
| + void FocusedNodeChanged(); |
| + |
| + void StartSpellCheckMenuTimer(); |
| + void StopSpellCheckMenuTimer(); |
| + |
| + private: |
| + RenderFrameHost* GetFocusedFrame(); |
| + const blink::mojom::TextSuggestionBackendPtr& GetTextSuggestionBackend(); |
| + void OnSpellCheckMenuTimeout(); |
| + |
| + // Current RenderWidgetHostView connected to this instance. Can be null. |
| + RenderWidgetHostViewAndroid* rwhva_; |
| + JavaObjectWeakGlobalRef java_text_suggestion_host_; |
| + blink::mojom::TextSuggestionBackendPtr text_suggestion_backend_; |
| + TimeoutMonitor spellcheck_menu_timeout_; |
| +}; |
| + |
| +bool RegisterTextSuggestionHost(JNIEnv* env); |
| + |
| +} // namespace content |
| + |
| +#endif // TEXT_SUGGESTION_HOST_ANDROID_H_ |