blob: 1045a36be2083ff05d18770b9320c93f3b4fb971 [file] [log] [blame]
Ken Rockot4f8c3c32019-08-16 16:32:331// Copyright 2015 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 "content/browser/font_service.h"
6
7#include "base/no_destructor.h"
8#include "base/task/post_task.h"
9#include "components/services/font/font_service_app.h"
10
11namespace content {
12
13namespace {
14
Ken Rockotae1a0ae2019-08-20 18:48:2115base::SequencedTaskRunner* GetServiceTaskRunner() {
16 static base::NoDestructor<scoped_refptr<base::SequencedTaskRunner>>
17 task_runner{base::CreateSequencedTaskRunner(
18 {base::ThreadPool(), base::MayBlock(), base::WithBaseSyncPrimitives(),
19 base::TaskPriority::USER_BLOCKING})};
20 return task_runner->get();
21}
22
Ken Rockot4f8c3c32019-08-16 16:32:3323void BindToBackgroundFontService(
24 mojo::PendingReceiver<font_service::mojom::FontService> receiver) {
25 static base::NoDestructor<font_service::FontServiceApp> service;
26 service->BindReceiver(std::move(receiver));
27}
28
29} // namespace
30
31void ConnectToFontService(
32 mojo::PendingReceiver<font_service::mojom::FontService> receiver) {
Ken Rockotae1a0ae2019-08-20 18:48:2133 GetServiceTaskRunner()->PostTask(
34 FROM_HERE,
35 base::BindOnce(&BindToBackgroundFontService, std::move(receiver)));
Ken Rockot4f8c3c32019-08-16 16:32:3336}
37
38} // namespace content