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