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.
6 /* This file contains PPB_PDF interface. */
8 enum PP_ResourceString
{
9 PP_RESOURCESTRING_PDFGETPASSWORD
= 0,
10 PP_RESOURCESTRING_PDFLOADING
= 1,
11 PP_RESOURCESTRING_PDFLOAD_FAILED
= 2
14 enum PP_ResourceImage
{
15 PP_RESOURCEIMAGE_PDF_BUTTON_FTH
= 0,
16 PP_RESOURCEIMAGE_PDF_BUTTON_FTH_HOVER
= 1,
17 PP_RESOURCEIMAGE_PDF_BUTTON_FTH_PRESSED
= 2,
18 PP_RESOURCEIMAGE_PDF_BUTTON_FTW
= 3,
19 PP_RESOURCEIMAGE_PDF_BUTTON_FTW_HOVER
= 4,
20 PP_RESOURCEIMAGE_PDF_BUTTON_FTW_PRESSED
= 5,
21 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN
= 6,
22 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_HOVER
= 7,
23 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_PRESSED
= 8,
24 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT
= 9,
25 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_HOVER
= 10,
26 PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_PRESSED
= 11,
27 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_0
= 12,
28 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_1
= 13,
29 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_2
= 14,
30 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_3
= 15,
31 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_4
= 16,
32 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_5
= 17,
33 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_6
= 18,
34 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_7
= 19,
35 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_8
= 20,
36 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_9
= 21,
37 PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_NUM_BACKGROUND
= 22
40 enum PP_PrivateFontCharset
{
41 PP_PRIVATEFONTCHARSET_ANSI
= 0,
42 PP_PRIVATEFONTCHARSET_DEFAULT
= 1,
43 PP_PRIVATEFONTCHARSET_SYMBOL
= 2,
44 PP_PRIVATEFONTCHARSET_MAC
= 77,
45 PP_PRIVATEFONTCHARSET_SHIFTJIS
= 128,
46 PP_PRIVATEFONTCHARSET_HANGUL
= 129,
47 PP_PRIVATEFONTCHARSET_JOHAB
= 130,
48 PP_PRIVATEFONTCHARSET_GB2312
= 134,
49 PP_PRIVATEFONTCHARSET_CHINESEBIG5
= 136,
50 PP_PRIVATEFONTCHARSET_GREEK
= 161,
51 PP_PRIVATEFONTCHARSET_TURKISH
= 162,
52 PP_PRIVATEFONTCHARSET_VIETNAMESE
= 163,
53 PP_PRIVATEFONTCHARSET_HEBREW
= 177,
54 PP_PRIVATEFONTCHARSET_ARABIC
= 178,
55 PP_PRIVATEFONTCHARSET_BALTIC
= 186,
56 PP_PRIVATEFONTCHARSET_RUSSIAN
= 204,
57 PP_PRIVATEFONTCHARSET_THAI
= 222,
58 PP_PRIVATEFONTCHARSET_EASTEUROPE
= 238,
59 PP_PRIVATEFONTCHARSET_OEM
= 255
62 struct PP_PrivateFontFileDescription
{
68 struct PP_PrivateFindResult
{
73 interface PPB_PDF_0_1
{
74 /* Returns a localized string. */
75 PP_Var GetLocalizedString
(
76 [in] PP_Instance instance
,
77 [in] PP_ResourceString string_id
);
79 /* Returns a resource image. */
80 PP_Resource GetResourceImage
(
81 [in] PP_Instance instance
,
82 [in] PP_ResourceImage image_id
);
84 /* Returns a resource identifying a font file corresponding to the given font
85 * request after applying the browser-specific fallback.
87 * Currently Linux-only.
89 PP_Resource GetFontFileWithFallback
(
90 [in] PP_Instance instance
,
91 [in] PP_FontDescription_Dev description
,
92 [in] PP_PrivateFontCharset charset
);
94 /* Given a resource previously returned by GetFontFileWithFallback, returns
95 * a pointer to the requested font table. Linux only.
97 PP_Bool GetFontTableForPrivateFontFile
(
98 [in] PP_Resource font_file
,
101 [out] uint32_t output_length
);
103 /* Search the given string using ICU. Use PPB_Core's MemFree on results when
107 [in] PP_Instance instance
,
110 [in] PP_Bool case_sensitive
,
111 [out, size_is(count
)] PP_PrivateFindResult
[] results
,
112 [out] int32_t count
);
114 /* Since WebFrame doesn't know about PPAPI requests, it'll think the page has
115 * finished loading even if there are outstanding requests by the plugin.
116 * Take this out once WebFrame knows about requests by PPAPI plugins.
118 void DidStartLoading
(
119 [in] PP_Instance instance
);
121 [in] PP_Instance instance
);
123 /* Sets content restriction for a full-page plugin (i.e. can't copy/print).
124 * The value is a bitfield of ContentRestriction enums.
126 void SetContentRestriction
(
127 [in] PP_Instance instance
,
128 [in] int32_t restrictions
);
130 /* Use UMA so we know average pdf page count. */
131 void HistogramPDFPageCount
(
134 /* Notifies the browser that the given action has been performed. */
135 void UserMetricsRecordAction
(
138 /* Notifies the browser that the PDF has an unsupported feature. */
139 void HasUnsupportedFeature
(
140 [in] PP_Instance instance
);
142 /* Tells the browser to open a dialog box to receive a password from the
143 * user, masking input characters. Returns the value entered by the user, or
144 * an empty string if the user cancels instead.
146 PP_Var ModalPromptForPassword
(
147 [in] PP_Instance instance
,
148 [in] PP_Var
message);
150 /* Returns PP_TRUE if the plugin is out of process. */
151 PP_Bool IsOutOfProcess
(
152 [in] PP_Instance instance
);
154 /* Sets the selected text of the plugin. If |selected_text| is empty, then no
155 * text is selected. */
156 void SetSelectedText
(
157 [in] PP_Instance instance
,
158 [in] str_t selected_text
);
160 /* Sets the link under the cursor. If |url| is empty, then no link is under
162 void SetLinkUnderCursor
(
163 [in] PP_Instance instance
,