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

Unified Diff: ppapi/shared_impl/ppb_audio_input_shared.cc

Issue 10081020: PPAPI: Make blocking completion callbacks work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated TestURLLoader to test blocking callbacks. Created 8 years, 8 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: ppapi/shared_impl/ppb_audio_input_shared.cc
diff --git a/ppapi/shared_impl/ppb_audio_input_shared.cc b/ppapi/shared_impl/ppb_audio_input_shared.cc
index 7a7aeef20ccb867e0b68fde85691ee6c5aec7dd3..618014ecd2a89b1219eddb520f1b9995db56283a 100644
--- a/ppapi/shared_impl/ppb_audio_input_shared.cc
+++ b/ppapi/shared_impl/ppb_audio_input_shared.cc
@@ -53,11 +53,8 @@ thunk::PPB_AudioInput_API* PPB_AudioInput_Shared::AsPPB_AudioInput_API() {
return this;
}
-int32_t PPB_AudioInput_Shared::EnumerateDevices(
- PP_Resource* devices,
- const PP_CompletionCallback& callback) {
- if (!callback.func)
- return PP_ERROR_BLOCKS_MAIN_THREAD;
+int32_t PPB_AudioInput_Shared::EnumerateDevices(PP_Resource* devices,
+ ApiCallbackType callback) {
if (TrackedCallback::IsPending(enumerate_devices_callback_))
return PP_ERROR_INPROGRESS;
@@ -69,7 +66,7 @@ int32_t PPB_AudioInput_Shared::Open(
PP_Resource config,
PPB_AudioInput_Callback audio_input_callback,
void* user_data,
- const PP_CompletionCallback& callback) {
+ ApiCallbackType callback) {
if (!audio_input_callback)
return PP_ERROR_BADARGUMENT;
@@ -173,8 +170,10 @@ void PPB_AudioInput_Shared::OnOpenComplete(
}
// static
-PP_CompletionCallback PPB_AudioInput_Shared::MakeIgnoredCompletionCallback() {
- return PP_MakeCompletionCallback(&IgnoredCompletionCallback, NULL);
+ApiCallbackType PPB_AudioInput_Shared::MakeIgnoredCompletionCallback(
+ Resource* resource) {
+ return new TrackedCallback(resource,
+ PP_MakeCompletionCallback(&IgnoredCompletionCallback, NULL));
}
void PPB_AudioInput_Shared::SetStartCaptureState() {
@@ -250,7 +249,7 @@ int32_t PPB_AudioInput_Shared::CommonOpen(
PP_Resource config,
PPB_AudioInput_Callback audio_input_callback,
void* user_data,
- PP_CompletionCallback callback) {
+ ApiCallbackType callback) {
if (open_state_ != BEFORE_OPEN)
return PP_ERROR_FAILED;
@@ -259,9 +258,6 @@ int32_t PPB_AudioInput_Shared::CommonOpen(
if (enter_config.failed())
return PP_ERROR_BADARGUMENT;
- if (!callback.func)
- return PP_ERROR_BLOCKS_MAIN_THREAD;
-
if (TrackedCallback::IsPending(open_callback_))
return PP_ERROR_INPROGRESS;

Powered by Google App Engine
This is Rietveld 408576698