diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-13 17:07:29 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-13 17:07:29 +0000 |
commit | 917a44b0724089630cb1d962a9383df7a1deaf7e (patch) | |
tree | 14300a03e7d0a32b81f7f6b668c5dbd2d13da9c3 /ppapi | |
parent | 475478894062d23834cd660f4bba6eaf385e958d (diff) | |
download | chromium_src-917a44b0724089630cb1d962a9383df7a1deaf7e.zip chromium_src-917a44b0724089630cb1d962a9383df7a1deaf7e.tar.gz chromium_src-917a44b0724089630cb1d962a9383df7a1deaf7e.tar.bz2 |
Move webkit/plugins/ppapi/ppb_pdf.h to ppapi/c/private.
BUG=none
TEST=builds
Review URL: http://codereview.chromium.org/6255001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71328 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/c/private/ppb_pdf.h | 135 | ||||
-rw-r--r-- | ppapi/ppapi.gyp | 1 | ||||
-rw-r--r-- | ppapi/proxy/DEPS | 5 | ||||
-rw-r--r-- | ppapi/proxy/dispatcher.cc | 2 | ||||
-rw-r--r-- | ppapi/proxy/ppb_pdf_proxy.cc | 4 |
5 files changed, 139 insertions, 8 deletions
diff --git a/ppapi/c/private/ppb_pdf.h b/ppapi/c/private/ppb_pdf.h new file mode 100644 index 0000000..8a03525 --- /dev/null +++ b/ppapi/c/private/ppb_pdf.h @@ -0,0 +1,135 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PPAPI_C_PRIVATE_PPB_PDF_H_ +#define PPAPI_C_PRIVATE_PPB_PDF_H_ + +#include "ppapi/c/dev/ppb_font_dev.h" +#include "ppapi/c/pp_instance.h" +#include "ppapi/c/pp_module.h" +#include "ppapi/c/pp_resource.h" +#include "ppapi/c/pp_var.h" + +#define PPB_PDF_INTERFACE "PPB_PDF;1" + +// From the public PPB_Font_Dev file. +struct PP_FontDescription_Dev; + +typedef enum { + PP_RESOURCESTRING_PDFGETPASSWORD = 0, + PP_RESOURCESTRING_PDFLOADING = 1, + PP_RESOURCESTRING_PDFLOAD_FAILED = 2, +} PP_ResourceString; + +typedef enum { + PP_RESOURCEIMAGE_PDF_BUTTON_FTH = 0, + PP_RESOURCEIMAGE_PDF_BUTTON_FTH_HOVER = 1, + PP_RESOURCEIMAGE_PDF_BUTTON_FTH_PRESSED = 2, + PP_RESOURCEIMAGE_PDF_BUTTON_FTW = 3, + PP_RESOURCEIMAGE_PDF_BUTTON_FTW_HOVER = 4, + PP_RESOURCEIMAGE_PDF_BUTTON_FTW_PRESSED = 5, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN = 6, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_HOVER = 7, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_PRESSED = 8, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT = 9, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_HOVER = 10, + PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_PRESSED = 11, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_0 = 12, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_1 = 13, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_2 = 14, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_3 = 15, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_4 = 16, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_5 = 17, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_6 = 18, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_7 = 19, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_8 = 20, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_9 = 21, + PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_NUM_BACKGROUND = 22, +} PP_ResourceImage; + +typedef enum { + PP_PRIVATEFONTCHARSET_ANSI = 0, + PP_PRIVATEFONTCHARSET_DEFAULT = 1, + PP_PRIVATEFONTCHARSET_SYMBOL = 2, + PP_PRIVATEFONTCHARSET_MAC = 77, + PP_PRIVATEFONTCHARSET_SHIFTJIS = 128, + PP_PRIVATEFONTCHARSET_HANGUL = 129, + PP_PRIVATEFONTCHARSET_JOHAB = 130, + PP_PRIVATEFONTCHARSET_GB2312 =134, + PP_PRIVATEFONTCHARSET_CHINESEBIG5 = 136, + PP_PRIVATEFONTCHARSET_GREEK = 161, + PP_PRIVATEFONTCHARSET_TURKISH = 162, + PP_PRIVATEFONTCHARSET_VIETNAMESE = 163, + PP_PRIVATEFONTCHARSET_HEBREW = 177, + PP_PRIVATEFONTCHARSET_ARABIC = 178, + PP_PRIVATEFONTCHARSET_BALTIC = 186, + PP_PRIVATEFONTCHARSET_RUSSIAN = 204, + PP_PRIVATEFONTCHARSET_THAI = 222, + PP_PRIVATEFONTCHARSET_EASTEUROPE = 238, + PP_PRIVATEFONTCHARSET_OEM = 255 +} PP_PrivateFontCharset; + +struct PP_PrivateFontFileDescription { + const char* face; + uint32_t weight; + bool italic; +}; + +struct PP_PrivateFindResult { + int start_index; + int length; +}; + +struct PPB_PDF { + // Returns a localized string. + PP_Var (*GetLocalizedString)(PP_Module module, PP_ResourceString string_id); + + // Returns a resource image. + PP_Resource (*GetResourceImage)(PP_Module module, + PP_ResourceImage image_id); + + // Returns a resource identifying a font file corresponding to the given font + // request after applying the browser-specific fallback. + // + // Currently Linux-only. + PP_Resource (*GetFontFileWithFallback)( + PP_Module module, + const PP_FontDescription_Dev* description, + PP_PrivateFontCharset charset); + + // Given a resource previously returned by GetFontFileWithFallback, returns + // a pointer to the requested font table. Linux only. + bool (*GetFontTableForPrivateFontFile)(PP_Resource font_file, + uint32_t table, + void* output, + uint32_t* output_length); + + // Search the given string using ICU. Use PPB_Core's MemFree on results when + // done. + void (*SearchString)( + PP_Module module, + const unsigned short* string, + const unsigned short* term, + bool case_sensitive, + PP_PrivateFindResult** results, + int* count); + + // Since WebFrame doesn't know about PPAPI requests, it'll think the page has + // finished loading even if there are outstanding requests by the plugin. + // Take this out once WebFrame knows about requests by PPAPI plugins. + void (*DidStartLoading)(PP_Instance instance); + void (*DidStopLoading)(PP_Instance instance); + + // Sets content restriction for a full-page plugin (i.e. can't copy/print). + // The value is a bitfield of ContentRestriction enums. + void (*SetContentRestriction)(PP_Instance instance, int restrictions); + + // Use UMA so we know average pdf page count. + void (*HistogramPDFPageCount)(int count); + + // Notifies the browser that the given action has been performed. + void (*UserMetricsRecordAction)(PP_Var action); +}; + +#endif // PPAPI_C_PRIVATE_PPB_PDF_H_ diff --git a/ppapi/ppapi.gyp b/ppapi/ppapi.gyp index 4af3e9c..2debb57 100644 --- a/ppapi/ppapi.gyp +++ b/ppapi/ppapi.gyp @@ -106,6 +106,7 @@ # Private interfaces. 'c/private/ppb_flash.h', 'c/private/ppb_nacl_private.h', + 'c/private/ppb_pdf.h', # Deprecated interfaces. 'c/dev/deprecated_bool.h', diff --git a/ppapi/proxy/DEPS b/ppapi/proxy/DEPS index b031405..af862c1 100644 --- a/ppapi/proxy/DEPS +++ b/ppapi/proxy/DEPS @@ -2,11 +2,6 @@ include_rules = [ "+base", "+ipc", - # These files are really Chrome-only and we don't want to expose them, but - # we need to use them for the proxy. Allow the code here to pull these - # headers (which don't depend on anything else). - "+webkit/plugins/ppapi/ppb_pdf.h", - # We don't want the proxy to depend on the C++ layer, which is appropriate # for plugins only. However, the completion callback factory is a very useful # tool that we would otherwise have to duplicate, and has no other diff --git a/ppapi/proxy/dispatcher.cc b/ppapi/proxy/dispatcher.cc index 2412a54..d984222 100644 --- a/ppapi/proxy/dispatcher.cc +++ b/ppapi/proxy/dispatcher.cc @@ -33,6 +33,7 @@ #include "ppapi/c/ppb_url_response_info.h" #include "ppapi/c/ppp_instance.h" #include "ppapi/c/private/ppb_flash.h" +#include "ppapi/c/private/ppb_pdf.h" #include "ppapi/c/trusted/ppb_url_loader_trusted.h" #include "ppapi/proxy/ppapi_messages.h" #include "ppapi/proxy/ppb_audio_config_proxy.h" @@ -56,7 +57,6 @@ #include "ppapi/proxy/ppp_class_proxy.h" #include "ppapi/proxy/ppp_instance_proxy.h" #include "ppapi/proxy/var_serialization_rules.h" -#include "webkit/plugins/ppapi/ppb_pdf.h" namespace pp { namespace proxy { diff --git a/ppapi/proxy/ppb_pdf_proxy.cc b/ppapi/proxy/ppb_pdf_proxy.cc index cbd1f31..ddc404c 100644 --- a/ppapi/proxy/ppb_pdf_proxy.cc +++ b/ppapi/proxy/ppb_pdf_proxy.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -11,10 +11,10 @@ #include "base/linked_ptr.h" #include "base/logging.h" #include "build/build_config.h" +#include "ppapi/c/private/ppb_pdf.h" #include "ppapi/proxy/plugin_dispatcher.h" #include "ppapi/proxy/plugin_resource.h" #include "ppapi/proxy/ppapi_messages.h" -#include "webkit/plugins/ppapi/ppb_pdf.h" namespace pp { namespace proxy { |