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

Unified Diff: webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc

Issue 8365017: Convert the flash clipboard API to thunk system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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
Index: webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc b/webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc
index 9153ae7db7c437cd2e3bf1fad02d86dd0643667e..da3ea248e909742b7ec5549c2affd3581433adec 100644
--- a/webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc
+++ b/webkit/plugins/ppapi/ppb_flash_clipboard_impl.cc
@@ -60,47 +60,53 @@ WebKit::WebClipboard::Format ConvertClipboardFormat(
}
}
-PP_Bool IsFormatAvailable(PP_Instance instance_id,
- PP_Flash_Clipboard_Type clipboard_type,
- PP_Flash_Clipboard_Format format) {
- // If you don't give us an instance, we don't give you anything.
- PluginInstance* instance = HostGlobals::Get()->GetInstance(instance_id);
- if (!instance)
- return PP_FALSE;
+} // namespace
+PPB_Flash_Clipboard_Impl::PPB_Flash_Clipboard_Impl(PluginInstance* instance)
+ : instance_(instance) {
+}
+
+PPB_Flash_Clipboard_Impl::~PPB_Flash_Clipboard_Impl() {
+}
+
+::ppapi::thunk::PPB_Flash_Clipboard_FunctionAPI*
+PPB_Flash_Clipboard_Impl::AsPPB_Flash_Clipboard_FunctionAPI() {
+ return this;
+}
+
+PP_Bool PPB_Flash_Clipboard_Impl::IsFormatAvailable(
+ PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type,
+ PP_Flash_Clipboard_Format format) {
WebKit::WebClipboard* web_clipboard =
WebKit::webKitPlatformSupport()->clipboard();
if (!web_clipboard) {
NOTREACHED();
return PP_FALSE;
}
-
return BoolToPPBool(
web_clipboard->isFormatAvailable(ConvertClipboardFormat(format),
ConvertClipboardType(clipboard_type)));
}
-PP_Var ReadPlainText(PP_Instance instance_id,
- PP_Flash_Clipboard_Type clipboard_type) {
- PluginInstance* instance = HostGlobals::Get()->GetInstance(instance_id);
- if (!instance)
- return PP_MakeNull();
-
+PP_Var PPB_Flash_Clipboard_Impl::ReadPlainText(
+ PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type) {
WebKit::WebClipboard* web_clipboard =
WebKit::webKitPlatformSupport()->clipboard();
if (!web_clipboard) {
NOTREACHED();
return PP_MakeNull();
}
-
WebKit::WebCString s =
web_clipboard->readPlainText(ConvertClipboardType(clipboard_type)).utf8();
- return StringVar::StringToPPVar(instance->module()->pp_module(), s);
+ return StringVar::StringToPPVar(instance_->module()->pp_module(), s);
}
-int32_t WritePlainText(PP_Instance instance_id,
- PP_Flash_Clipboard_Type clipboard_type,
- PP_Var text) {
+int32_t PPB_Flash_Clipboard_Impl::WritePlainText(
+ PP_Instance instance,
+ PP_Flash_Clipboard_Type clipboard_type,
+ const PP_Var& text) {
StringVar* text_string = StringVar::FromPPVar(text);
if (!text_string)
return PP_ERROR_BADARGUMENT;
@@ -125,19 +131,5 @@ int32_t WritePlainText(PP_Instance instance_id,
return PP_OK;
}
-const PPB_Flash_Clipboard ppb_flash_clipboard = {
- &IsFormatAvailable,
- &ReadPlainText,
- &WritePlainText,
-};
-
-} // namespace
-
-// static
-const PPB_Flash_Clipboard*
- PPB_Flash_Clipboard_Impl::GetInterface() {
- return &ppb_flash_clipboard;
-}
-
} // namespace ppapi
} // namespace webkit
« ppapi/thunk/ppb_flash_clipboard_thunk.cc ('K') | « webkit/plugins/ppapi/ppb_flash_clipboard_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698