• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 "ui/base/ime/text_input_focus_manager.h"
6 
7 #include "base/logging.h"
8 #include "base/memory/singleton.h"
9 
10 namespace ui {
11 
GetInstance()12 TextInputFocusManager* TextInputFocusManager::GetInstance() {
13   TextInputFocusManager* instance = Singleton<TextInputFocusManager>::get();
14   DCHECK(instance->thread_checker_.CalledOnValidThread());
15   return instance;
16 }
17 
GetFocusedTextInputClient()18 TextInputClient* TextInputFocusManager::GetFocusedTextInputClient() {
19   DCHECK(thread_checker_.CalledOnValidThread());
20   return focused_text_input_client_;
21 }
22 
FocusTextInputClient(TextInputClient * text_input_client)23 void TextInputFocusManager::FocusTextInputClient(
24     TextInputClient* text_input_client) {
25   DCHECK(thread_checker_.CalledOnValidThread());
26   focused_text_input_client_ = text_input_client;
27 }
28 
BlurTextInputClient(TextInputClient * text_input_client)29 void TextInputFocusManager::BlurTextInputClient(
30     TextInputClient* text_input_client) {
31   DCHECK(thread_checker_.CalledOnValidThread());
32   if (focused_text_input_client_ == text_input_client)
33     focused_text_input_client_ = NULL;
34 }
35 
TextInputFocusManager()36 TextInputFocusManager::TextInputFocusManager()
37     : focused_text_input_client_(NULL) {}
38 
~TextInputFocusManager()39 TextInputFocusManager::~TextInputFocusManager() {}
40 
41 }  // namespace ui
42