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

Unified Diff: ppapi/proxy/flash_font_file_resource.h

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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/ppapi_sources.gypi ('k') | ppapi/proxy/flash_font_file_resource.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/flash_font_file_resource.h
diff --git a/ppapi/proxy/flash_font_file_resource.h b/ppapi/proxy/flash_font_file_resource.h
new file mode 100644
index 0000000000000000000000000000000000000000..1644394f79a8411093b4a1974d54470aad9a08af
--- /dev/null
+++ b/ppapi/proxy/flash_font_file_resource.h
@@ -0,0 +1,61 @@
+// Copyright (c) 2012 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_PROXY_FLASH_FONT_FILE_RESOURCE_H_
+#define PPAPI_PROXY_FLASH_FONT_FILE_RESOURCE_H_
+
+#include <map>
+#include <string>
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "base/memory/linked_ptr.h"
+#include "ppapi/c/private/pp_private_font_charset.h"
+#include "ppapi/proxy/plugin_resource.h"
+#include "ppapi/proxy/serialized_structs.h"
+#include "ppapi/thunk/ppb_flash_font_file_api.h"
+
+struct PP_FontDescription_Dev;
+
+namespace ppapi {
+namespace proxy {
+
+// TODO(yzshen): write unittest and browser test.
+class FlashFontFileResource : public PluginResource,
+ public thunk::PPB_Flash_FontFile_API {
+ public:
+ FlashFontFileResource(Connection connection,
+ PP_Instance instance,
+ const PP_FontDescription_Dev* description,
+ PP_PrivateFontCharset charset);
+ virtual ~FlashFontFileResource();
+
+ // Resource overrides.
+ virtual thunk::PPB_Flash_FontFile_API* AsPPB_Flash_FontFile_API() OVERRIDE;
+
+ // PPB_Flash_FontFile_API.
+ virtual PP_Bool GetFontTable(uint32_t table,
+ void* output,
+ uint32_t* output_length) OVERRIDE;
+
+ private:
+ // Sees if we have a cache of the font table and returns a pointer to it.
+ // Returns NULL if we don't have it.
+ std::string* GetFontTable(uint32_t table) const;
+
+ std::string* AddFontTable(uint32_t table, const std::string& contents);
+
+ typedef std::map<uint32_t, linked_ptr<std::string> > FontTableMap;
+ FontTableMap font_tables_;
+
+ SerializedFontDescription description_;
+ PP_PrivateFontCharset charset_;
+
+ DISALLOW_COPY_AND_ASSIGN(FlashFontFileResource);
+};
+
+} // namespace proxy
+} // namespace ppapi
+
+#endif // PPAPI_PROXY_FLASH_FONT_FILE_RESOURCE_H_
« no previous file with comments | « ppapi/ppapi_sources.gypi ('k') | ppapi/proxy/flash_font_file_resource.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698