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

Unified Diff: ppapi/thunk/ppb_flash_clipboard_thunk.cc

Issue 11225021: Move flash clipboard to the new proxy and add custom format support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 1 month 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/thunk/ppb_flash_clipboard_api.h ('k') | ppapi/thunk/ppb_instance_api.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/thunk/ppb_flash_clipboard_thunk.cc
diff --git a/ppapi/thunk/ppb_flash_clipboard_thunk.cc b/ppapi/thunk/ppb_flash_clipboard_thunk.cc
index 084b93753a49d3431e5e6fb890b7d2ef31380603..d982cd5a12dafa47ea67339bcfabda99b5e643c5 100644
--- a/ppapi/thunk/ppb_flash_clipboard_thunk.cc
+++ b/ppapi/thunk/ppb_flash_clipboard_thunk.cc
@@ -2,70 +2,92 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/memory/scoped_ptr.h"
#include "ppapi/c/pp_errors.h"
#include "ppapi/c/private/ppb_flash_clipboard.h"
#include "ppapi/thunk/enter.h"
+#include "ppapi/thunk/ppb_flash_clipboard_api.h"
#include "ppapi/thunk/thunk.h"
-#include "ppapi/thunk/ppb_flash_api.h"
namespace ppapi {
namespace thunk {
namespace {
+uint32_t RegisterCustomFormat(PP_Instance instance,
+ const char* format_name) {
+ EnterInstance enter(instance);
+ if (enter.failed())
+ return PP_FALSE;
+ return enter.functions()->GetFlashClipboardAPI(
+ instance)->RegisterCustomFormat(instance, format_name);
+}
+
PP_Bool IsFormatAvailable(PP_Instance instance,
PP_Flash_Clipboard_Type clipboard_type,
- PP_Flash_Clipboard_Format format) {
+ uint32_t format) {
EnterInstance enter(instance);
if (enter.failed())
return PP_FALSE;
- return enter.functions()->GetFlashAPI()->IsClipboardFormatAvailable(
- instance, clipboard_type, format);
+ return enter.functions()->GetFlashClipboardAPI(
+ instance)->IsFormatAvailable(instance, clipboard_type, format);
}
PP_Var ReadData(PP_Instance instance,
PP_Flash_Clipboard_Type clipboard_type,
- PP_Flash_Clipboard_Format format) {
+ uint32_t format) {
EnterInstance enter(instance);
if (enter.failed())
return PP_MakeUndefined();
- return enter.functions()->GetFlashAPI()->ReadClipboardData(
+ return enter.functions()->GetFlashClipboardAPI(instance)->ReadData(
instance, clipboard_type, format);
}
int32_t WriteData(PP_Instance instance,
PP_Flash_Clipboard_Type clipboard_type,
uint32_t data_item_count,
- const PP_Flash_Clipboard_Format formats[],
+ const uint32_t formats[],
const PP_Var data_items[]) {
EnterInstance enter(instance);
if (enter.failed())
return enter.retval();
- return enter.functions()->GetFlashAPI()->WriteClipboardData(
+ return enter.functions()->GetFlashClipboardAPI(instance)->WriteData(
instance, clipboard_type, data_item_count, formats, data_items);
}
-PP_Var ReadPlainText(PP_Instance instance,
- PP_Flash_Clipboard_Type clipboard_type) {
- return ReadData(instance,
- clipboard_type,
- PP_FLASH_CLIPBOARD_FORMAT_PLAINTEXT);
+PP_Bool IsFormatAvailable_4_0(PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type,
+ PP_Flash_Clipboard_Format format) {
+ return IsFormatAvailable(instance, clipboard_type,
+ static_cast<uint32_t>(format));
}
-int32_t WritePlainText(PP_Instance instance,
- PP_Flash_Clipboard_Type clipboard_type,
- PP_Var text) {
- PP_Flash_Clipboard_Format format = PP_FLASH_CLIPBOARD_FORMAT_PLAINTEXT;
- return WriteData(instance, clipboard_type, 1, &format, &text);
+PP_Var ReadData_4_0(PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type,
+ PP_Flash_Clipboard_Format format) {
+ return ReadData(instance, clipboard_type, static_cast<uint32_t>(format));
}
-const PPB_Flash_Clipboard_3_0 g_ppb_flash_clipboard_thunk_3_0 = {
- &IsFormatAvailable,
- &ReadPlainText,
- &WritePlainText
-};
+int32_t WriteData_4_0(PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type,
+ uint32_t data_item_count,
+ const PP_Flash_Clipboard_Format formats[],
+ const PP_Var data_items[]) {
+ scoped_array<uint32_t> new_formats(new uint32_t[data_item_count]);
+ for (uint32_t i = 0; i < data_item_count; ++i)
+ new_formats[i] = static_cast<uint32_t>(formats[i]);
+ return WriteData(instance, clipboard_type, data_item_count,
+ new_formats.get(), data_items);
+}
const PPB_Flash_Clipboard_4_0 g_ppb_flash_clipboard_thunk_4_0 = {
+ &IsFormatAvailable_4_0,
+ &ReadData_4_0,
+ &WriteData_4_0
+};
+
+const PPB_Flash_Clipboard_5_0 g_ppb_flash_clipboard_thunk_5_0 = {
+ &RegisterCustomFormat,
&IsFormatAvailable,
&ReadData,
&WriteData
@@ -73,13 +95,13 @@ const PPB_Flash_Clipboard_4_0 g_ppb_flash_clipboard_thunk_4_0 = {
} // namespace
-const PPB_Flash_Clipboard_3_0* GetPPB_Flash_Clipboard_3_0_Thunk() {
- return &g_ppb_flash_clipboard_thunk_3_0;
-}
-
const PPB_Flash_Clipboard_4_0* GetPPB_Flash_Clipboard_4_0_Thunk() {
return &g_ppb_flash_clipboard_thunk_4_0;
}
+const PPB_Flash_Clipboard_5_0* GetPPB_Flash_Clipboard_5_0_Thunk() {
+ return &g_ppb_flash_clipboard_thunk_5_0;
+}
+
} // namespace thunk
} // namespace ppapi
« no previous file with comments | « ppapi/thunk/ppb_flash_clipboard_api.h ('k') | ppapi/thunk/ppb_instance_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698