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

Unified Diff: components/arc/ime/arc_ime_service.h

Issue 2876693004: Implement GetTextFromRange(), GetTextRange() and GetSelectionRange() for ArcImeService. (Closed)
Patch Set: add TODOs in ime.mojom Created 3 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
« no previous file with comments | « components/arc/ime/arc_ime_bridge_impl.cc ('k') | components/arc/ime/arc_ime_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/ime/arc_ime_service.h
diff --git a/components/arc/ime/arc_ime_service.h b/components/arc/ime/arc_ime_service.h
index 8fc29e38c0471d2c65b1be3a6e9a0f399ee04023..8ffae1f0205b37eea84447d8589959b427aa0c01 100644
--- a/components/arc/ime/arc_ime_service.h
+++ b/components/arc/ime/arc_ime_service.h
@@ -80,6 +80,11 @@ class ArcImeService : public ArcService,
void OnCursorRectChanged(const gfx::Rect& rect) override;
void OnCancelComposition() override;
void ShowImeIfNeeded() override;
+ void OnCursorRectChangedWithSurroundingText(
+ const gfx::Rect& rect,
+ const gfx::Range& text_range,
+ const base::string16& text_in_range,
+ const gfx::Range& selection_range) override;
// Overridden from keyboard::KeyboardControllerObserver.
void OnKeyboardBoundsChanging(const gfx::Rect& rect) override;
@@ -93,6 +98,10 @@ class ArcImeService : public ArcService,
void InsertChar(const ui::KeyEvent& event) override;
ui::TextInputType GetTextInputType() const override;
gfx::Rect GetCaretBounds() const override;
+ bool GetTextRange(gfx::Range* range) const override;
+ bool GetSelectionRange(gfx::Range* range) const override;
+ bool GetTextFromRange(const gfx::Range& range,
+ base::string16* text) const override;
// Overridden from ui::TextInputClient (with default implementation):
// TODO(kinaba): Support each of these methods to the extent possible in
@@ -104,13 +113,9 @@ class ArcImeService : public ArcService,
bool GetCompositionCharacterBounds(uint32_t index,
gfx::Rect* rect) const override;
bool HasCompositionText() const override;
- bool GetTextRange(gfx::Range* range) const override;
bool GetCompositionTextRange(gfx::Range* range) const override;
- bool GetSelectionRange(gfx::Range* range) const override;
bool SetSelectionRange(const gfx::Range& range) override;
bool DeleteRange(const gfx::Range& range) override;
- bool GetTextFromRange(const gfx::Range& range,
- base::string16* text) const override;
void OnInputMethodChanged() override {}
bool ChangeTextDirectionAndLayoutAlignment(
base::i18n::TextDirection direction) override;
@@ -123,11 +128,16 @@ class ArcImeService : public ArcService,
private:
ui::InputMethod* GetInputMethod();
+ void InvalidateSurroundingTextAndSelectionRange();
+
std::unique_ptr<ArcImeBridge> ime_bridge_;
std::unique_ptr<ArcWindowDelegate> arc_window_delegate_;
ui::TextInputType ime_type_;
gfx::Rect cursor_rect_;
bool has_composition_text_;
+ gfx::Range text_range_;
+ base::string16 text_in_range_;
+ gfx::Range selection_range_;
aura::Window* focused_arc_window_ = nullptr;
« no previous file with comments | « components/arc/ime/arc_ime_bridge_impl.cc ('k') | components/arc/ime/arc_ime_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698