1bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek// Copyright 2014 The Chromium Authors. All rights reserved.
2bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek// Use of this source code is governed by a BSD-style license that can be
3bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek// found in the LICENSE file.
4bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
5bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "config.h"
6bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "core/css/BinaryDataFontFaceSource.h"
7bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
8bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "platform/SharedBuffer.h"
9bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "platform/fonts/FontCustomPlatformData.h"
10bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "platform/fonts/FontDescription.h"
11bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek#include "platform/fonts/SimpleFontData.h"
12bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
13bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimeknamespace blink {
14bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
15bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel KlimekBinaryDataFontFaceSource::BinaryDataFontFaceSource(SharedBuffer* data)
16bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek    : m_customPlatformData(FontCustomPlatformData::create(data))
17bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek{
1899eb4a7920667d23a89df8fcc6429d12b36e4d57Douglas Gregor}
19bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
20bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel KlimekBinaryDataFontFaceSource::~BinaryDataFontFaceSource()
21bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek{
22bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek}
23305c613af6cfc40e519c75d9d2c84c6fa9a841c0Ted Kremenek
247b699ac3ac8ce48cf9e9387f6b6830f3a8d409d5Manuel Klimekbool BinaryDataFontFaceSource::isValid() const
25bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek{
26bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek    return m_customPlatformData;
27bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek}
28bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
29bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel KlimekPassRefPtr<SimpleFontData> BinaryDataFontFaceSource::createFontData(const FontDescription& fontDescription)
30bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek{
31bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek    return SimpleFontData::create(
32bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek        m_customPlatformData->fontPlatformData(fontDescription.effectiveFontSize(),
33bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek            fontDescription.isSyntheticBold(), fontDescription.isSyntheticItalic(),
34bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek            fontDescription.orientation(), fontDescription.widthVariant()), CustomFontData::create());
35bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek}
36bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek
37bfbfee51ec8f20f3f1b9f8329705d816b67438e7Manuel Klimek} // namespace blink
3899eb4a7920667d23a89df8fcc6429d12b36e4d57Douglas Gregor