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()12TextInputFocusManager* TextInputFocusManager::GetInstance() { 13 TextInputFocusManager* instance = Singleton<TextInputFocusManager>::get(); 14 DCHECK(instance->thread_checker_.CalledOnValidThread()); 15 return instance; 16 } 17 GetFocusedTextInputClient()18TextInputClient* TextInputFocusManager::GetFocusedTextInputClient() { 19 DCHECK(thread_checker_.CalledOnValidThread()); 20 return focused_text_input_client_; 21 } 22 FocusTextInputClient(TextInputClient * text_input_client)23void 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)29void 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()36TextInputFocusManager::TextInputFocusManager() 37 : focused_text_input_client_(NULL) {} 38 ~TextInputFocusManager()39TextInputFocusManager::~TextInputFocusManager() {} 40 41 } // namespace ui 42