Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: ppapi/cpp/private/flash_font_file.cc

Issue 10905227: Introduce PPB_Flash_Font. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 "ppapi/cpp/private/flash_font_file.h"
6
7 #include "ppapi/c/dev/ppb_font_dev.h"
8 #include "ppapi/c/private/ppb_flash_font_file.h"
9 #include "ppapi/c/private/ppb_pdf.h"
10 #include "ppapi/cpp/instance_handle.h"
11 #include "ppapi/cpp/module_impl.h"
12
13 namespace pp {
14
15 namespace {
16
17 // TODO(yzshen): Once PPB_Flash_FontFile gets to the stable channel, we can
18 // remove the code of using PPB_PDF in this file.
19 template <> const char* interface_name<PPB_PDF>() {
20 return PPB_PDF_INTERFACE;
21 }
22
23 template <> const char* interface_name<PPB_Flash_FontFile_0_1>() {
24 return PPB_FLASH_FONTFILE_INTERFACE_0_1;
25 }
26
27 } // namespace
28
29 namespace flash {
30
31 FontFile::FontFile(const InstanceHandle& instance,
32 const PP_FontDescription_Dev* description,
33 PP_PrivateFontCharset charset) : Resource() {
34 if (has_interface<PPB_Flash_FontFile_0_1>()) {
35 PassRefFromConstructor(get_interface<PPB_Flash_FontFile_0_1>()->Create(
36 instance.pp_instance(), description, charset));
37 } else if (has_interface<PPB_PDF>()) {
38 PassRefFromConstructor(get_interface<PPB_PDF>()->GetFontFileWithFallback(
39 instance.pp_instance(), description, charset));
40 }
41 }
42
43 FontFile::~FontFile() {
44 }
45
46 // static
47 bool FontFile::IsAvailable() {
48 return has_interface<PPB_Flash_FontFile_0_1>() || has_interface<PPB_PDF>();
49 }
50
51 bool FontFile::GetFontTable(uint32_t table,
52 void* output,
53 uint32_t* output_length) {
54 if (has_interface<PPB_Flash_FontFile_0_1>()) {
55 return !!get_interface<PPB_Flash_FontFile_0_1>()->
56 GetFontTable(pp_resource(), table, output, output_length);
57 }
58 if (has_interface<PPB_PDF>()) {
59 return get_interface<PPB_PDF>()->GetFontTableForPrivateFontFile(
60 pp_resource(), table, output, output_length);
61 }
62 return false;
63 }
64
65 } // namespace flash
66 } // namespace pp
OLDNEW
« no previous file with comments | « ppapi/cpp/private/flash_font_file.h ('k') | ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698