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