blob: 27ae4e29d042ed588a6620cbfa07f481b5f96fbd [file] [log] [blame]
// Copyright 2013 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.
#include "ui/views/linux_ui/linux_ui.h"
#include "ui/base/ime/linux/linux_input_method_context_factory.h"
#include "ui/gfx/skia_font_delegate.h"
#include "ui/shell_dialogs/shell_dialog_linux.h"
namespace {
views::LinuxUI* g_linux_ui = nullptr;
} // namespace
namespace views {
void LinuxUI::SetInstance(LinuxUI* instance) {
delete g_linux_ui;
g_linux_ui = instance;
// Do not set IME instance for ozone as we delegate creating the input method to
// OzonePlatforms instead. If this is set, OzonePlatform never sets a context
// factory.
#if !defined(USE_OZONE)
LinuxInputMethodContextFactory::SetInstance(instance);
#endif
SkiaFontDelegate::SetInstance(instance);
ShellDialogLinux::SetInstance(instance);
ui::SetTextEditKeyBindingsDelegate(instance);
ui::CursorThemeManagerLinux::SetInstance(instance);
}
LinuxUI* LinuxUI::instance() {
return g_linux_ui;
}
LinuxUI::LinuxUI() = default;
LinuxUI::~LinuxUI() = default;
} // namespace views