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

Unified Diff: ppapi/proxy/ppb_flash_device_id_proxy.cc

Issue 10909138: Convert the async device ID getter to a chrome resource host (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
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
« no previous file with comments | « ppapi/proxy/ppb_flash_device_id_proxy.h ('k') | ppapi/proxy/resource_creation_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/proxy/ppb_flash_device_id_proxy.cc
diff --git a/ppapi/proxy/ppb_flash_device_id_proxy.cc b/ppapi/proxy/ppb_flash_device_id_proxy.cc
deleted file mode 100644
index bb66b33b224ab9299c983e9c9fee9f48180357a3..0000000000000000000000000000000000000000
--- a/ppapi/proxy/ppb_flash_device_id_proxy.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// 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.
-
-#include "ppapi/proxy/ppb_flash_device_id_proxy.h"
-
-#include "base/compiler_specific.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/proxy/plugin_dispatcher.h"
-#include "ppapi/proxy/plugin_globals.h"
-#include "ppapi/proxy/plugin_proxy_delegate.h"
-#include "ppapi/proxy/ppapi_messages.h"
-#include "ppapi/shared_impl/resource.h"
-#include "ppapi/shared_impl/tracked_callback.h"
-#include "ppapi/shared_impl/var.h"
-#include "ppapi/thunk/enter.h"
-#include "ppapi/thunk/ppb_flash_device_id_api.h"
-
-using ppapi::thunk::PPB_Flash_DeviceID_API;
-
-namespace ppapi {
-namespace proxy {
-
-namespace {
-
-class DeviceID : public Resource, public PPB_Flash_DeviceID_API {
- public:
- DeviceID(PP_Instance instance);
- virtual ~DeviceID();
-
- // Resource overrides.
- virtual PPB_Flash_DeviceID_API* AsPPB_Flash_DeviceID_API() OVERRIDE;
-
- // PPB_Flash_DeviceID_API implementation.
- virtual int32_t GetDeviceID(PP_Var* id,
- const PP_CompletionCallback& callback) OVERRIDE;
-
- void OnReply(int32_t result, const std::string& id);
-
- private:
- // Non-null when a callback is pending.
- PP_Var* dest_;
-
- scoped_refptr<TrackedCallback> callback_;
-
- DISALLOW_COPY_AND_ASSIGN(DeviceID);
-};
-
-DeviceID::DeviceID(PP_Instance instance)
- : Resource(OBJECT_IS_PROXY, instance),
- dest_(NULL) {
-}
-
-DeviceID::~DeviceID() {
-}
-
-PPB_Flash_DeviceID_API* DeviceID::AsPPB_Flash_DeviceID_API() {
- return this;
-}
-
-int32_t DeviceID::GetDeviceID(PP_Var* id,
- const PP_CompletionCallback& callback) {
- if (TrackedCallback::IsPending(callback_))
- return PP_ERROR_INPROGRESS;
- if (!id)
- return PP_ERROR_BADARGUMENT;
-
- callback_ = new TrackedCallback(this, callback);
- dest_ = id;
-
- PluginDispatcher* dispatcher =
- PluginDispatcher::GetForInstance(pp_instance());
-
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PpapiHostMsg_PPBFlashDeviceID_Get(
- API_ID_PPB_FLASH_DEVICE_ID, dispatcher->plugin_dispatcher_id(),
- pp_resource()));
- return PP_OK_COMPLETIONPENDING;
-}
-
-void DeviceID::OnReply(int32_t result, const std::string& id) {
- if (result == PP_OK)
- *dest_ = StringVar::StringToPPVar(id);
- else
- *dest_ = PP_MakeUndefined();
- dest_ = NULL;
- TrackedCallback::ClearAndRun(&callback_, result);
-}
-
-} // namespace
-
-PPB_Flash_DeviceID_Proxy::PPB_Flash_DeviceID_Proxy(Dispatcher* dispatcher)
- : InterfaceProxy(dispatcher) {
-}
-
-PPB_Flash_DeviceID_Proxy::~PPB_Flash_DeviceID_Proxy() {
-}
-
-// static
-PP_Resource PPB_Flash_DeviceID_Proxy::CreateProxyResource(
- PP_Instance instance) {
- return (new DeviceID(instance))->GetReference();
-}
-
-bool PPB_Flash_DeviceID_Proxy::OnMessageReceived(const IPC::Message& msg) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(PPB_Flash_DeviceID_Proxy, msg)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBFlashDeviceID_GetReply,
- OnPluginMsgGetReply)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-void PPB_Flash_DeviceID_Proxy::OnPluginMsgGetReply(int32 routing_id,
- PP_Resource resource,
- int32 result,
- const std::string& id) {
- thunk::EnterResourceNoLock<PPB_Flash_DeviceID_API> enter(resource, false);
- if (enter.failed())
- return; // Resource destroyed.
- static_cast<DeviceID*>(enter.object())->OnReply(result, id);
-}
-
-} // namespace proxy
-} // namespace ppapi
« no previous file with comments | « ppapi/proxy/ppb_flash_device_id_proxy.h ('k') | ppapi/proxy/resource_creation_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698