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

Unified Diff: chrome/renderer/pepper/ppb_pdf_impl.cc

Issue 10905227: Introduce PPB_Flash_Font. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/pepper/ppb_pdf_impl.cc
diff --git a/chrome/renderer/pepper/ppb_pdf_impl.cc b/chrome/renderer/pepper/ppb_pdf_impl.cc
index 057d0a6143484bd0f4b97a5712344edd9df7ca6c..cfdde8a2d7719c0ed12100bfc06fac1ab848e1ce 100644
--- a/chrome/renderer/pepper/ppb_pdf_impl.cc
+++ b/chrome/renderer/pepper/ppb_pdf_impl.cc
@@ -17,7 +17,6 @@
#include "content/public/renderer/render_view.h"
#include "grit/webkit_resources.h"
#include "grit/webkit_strings.h"
-#include "ppapi/c/pp_resource.h"
#include "ppapi/c/private/ppb_pdf.h"
#include "ppapi/shared_impl/resource.h"
#include "ppapi/shared_impl/resource_tracker.h"
@@ -156,55 +155,6 @@ PP_Var GetLocalizedString(PP_Instance instance_id,
return ppapi::StringVar::StringToPPVar(rv);
}
-PP_Resource GetFontFileWithFallback(
- PP_Instance instance_id,
- const PP_FontDescription_Dev* description,
- PP_PrivateFontCharset charset) {
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
- // Validate the instance before using it below.
- if (!content::GetHostGlobals()->GetInstance(instance_id))
- return 0;
-
- scoped_refptr<ppapi::StringVar> face_name(ppapi::StringVar::FromPPVar(
- description->face));
- if (!face_name)
- return 0;
-
- int fd = content::MatchFontWithFallback(
- face_name->value().c_str(),
- description->weight >= PP_FONTWEIGHT_BOLD,
- description->italic,
- charset);
- if (fd == -1)
- return 0;
-
- scoped_refptr<PrivateFontFile> font(new PrivateFontFile(instance_id, fd));
-
- return font->GetReference();
-#else
- // For trusted PPAPI plugins, this is only needed in Linux since font loading
- // on Windows and Mac works through the renderer sandbox.
- return 0;
-#endif
-}
-
-bool GetFontTableForPrivateFontFile(PP_Resource font_file,
- uint32_t table,
- void* output,
- uint32_t* output_length) {
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
- ppapi::Resource* resource =
- PpapiGlobals::Get()->GetResourceTracker()->GetResource(font_file);
- if (!resource)
- return false;
-
- PrivateFontFile* font = static_cast<PrivateFontFile*>(resource);
- return font->GetFontTable(table, output, output_length);
-#else
- return false;
-#endif
-}
-
void SearchString(PP_Instance instance,
const unsigned short* input_string,
const unsigned short* input_term,
@@ -387,8 +337,8 @@ PP_Resource GetResourceImage(PP_Instance instance_id,
const PPB_PDF ppb_pdf = {
&GetLocalizedString,
&GetResourceImage,
- &GetFontFileWithFallback,
- &GetFontTableForPrivateFontFile,
+ &PPB_PDF_Impl::GetFontFileWithFallback,
+ &PPB_PDF_Impl::GetFontTableForPrivateFontFile,
&SearchString,
&DidStartLoading,
&DidStopLoading,
@@ -410,6 +360,57 @@ const PPB_PDF* PPB_PDF_Impl::GetInterface() {
}
// static
+PP_Resource PPB_PDF_Impl::GetFontFileWithFallback(
+ PP_Instance instance_id,
+ const PP_FontDescription_Dev* description,
+ PP_PrivateFontCharset charset) {
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
+ // Validate the instance before using it below.
+ if (!content::GetHostGlobals()->GetInstance(instance_id))
+ return 0;
+
+ scoped_refptr<ppapi::StringVar> face_name(ppapi::StringVar::FromPPVar(
+ description->face));
+ if (!face_name)
+ return 0;
+
+ int fd = content::MatchFontWithFallback(
+ face_name->value().c_str(),
+ description->weight >= PP_FONTWEIGHT_BOLD,
+ description->italic,
+ charset);
+ if (fd == -1)
+ return 0;
+
+ scoped_refptr<PrivateFontFile> font(new PrivateFontFile(instance_id, fd));
+
+ return font->GetReference();
+#else
+ // For trusted PPAPI plugins, this is only needed in Linux since font loading
+ // on Windows and Mac works through the renderer sandbox.
+ return 0;
+#endif
+}
+
+// static
+bool PPB_PDF_Impl::GetFontTableForPrivateFontFile(PP_Resource font_file,
+ uint32_t table,
+ void* output,
+ uint32_t* output_length) {
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
+ ppapi::Resource* resource =
+ PpapiGlobals::Get()->GetResourceTracker()->GetResource(font_file);
+ if (!resource)
+ return false;
+
+ PrivateFontFile* font = static_cast<PrivateFontFile*>(resource);
+ return font->GetFontTable(table, output, output_length);
+#else
+ return false;
+#endif
+}
+
+// static
void PPB_PDF_Impl::InvokePrintingForInstance(PP_Instance instance_id) {
#if defined(ENABLE_PRINTING)
PluginInstance* instance = HostGlobals::Get()->GetInstance(instance_id);

Powered by Google App Engine
This is Rietveld 408576698