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

Unified Diff: content/renderer/pepper/pepper_audio_input_host.cc

Issue 231883002: Refactor some ResourceMessageReply usages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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: content/renderer/pepper/pepper_audio_input_host.cc
diff --git a/content/renderer/pepper/pepper_audio_input_host.cc b/content/renderer/pepper/pepper_audio_input_host.cc
index 19aa2b1b285ffe9835c4ce1b994915de413d3248..cc5052294882c0289e937ae4f9d1bfa94d1905e2 100644
--- a/content/renderer/pepper/pepper_audio_input_host.cc
+++ b/content/renderer/pepper/pepper_audio_input_host.cc
@@ -45,6 +45,7 @@ PepperAudioInputHost::PepperAudioInputHost(
PP_Resource resource)
: ResourceHost(host->GetPpapiHost(), instance, resource),
renderer_ppapi_host_(host),
+ open_pending_(false),
audio_input_(NULL),
enumeration_helper_(
this,
@@ -92,7 +93,7 @@ int32_t PepperAudioInputHost::OnOpen(
const std::string& device_id,
PP_AudioSampleRate sample_rate,
uint32_t sample_frame_count) {
- if (open_context_)
+ if (open_pending_)
return PP_ERROR_INPROGRESS;
if (audio_input_)
return PP_ERROR_FAILED;
@@ -112,8 +113,8 @@ int32_t PepperAudioInputHost::OnOpen(
static_cast<int>(sample_rate),
static_cast<int>(sample_frame_count), this);
if (audio_input_) {
- open_context_.reset(new ppapi::host::ReplyMessageContext(
- context->MakeReplyMessageContext()));
+ open_context_ = context->MakeReplyMessageContext();
+ open_pending_ = true;
return PP_OK_COMPLETIONPENDING;
} else {
return PP_ERROR_FAILED;
@@ -147,7 +148,7 @@ void PepperAudioInputHost::OnOpenComplete(
base::SyncSocket scoped_socket(socket_handle);
base::SharedMemory scoped_shared_memory(shared_memory_handle, false);
- if (!open_context_) {
+ if (!open_pending_) {
NOTREACHED();
return;
}
@@ -173,12 +174,9 @@ void PepperAudioInputHost::OnOpenComplete(
// inconvenient to clean up. Our IPC code will automatically handle this for
// us, as long as the remote side always closes the handles it receives, even
// in the failure case.
- open_context_->params.set_result(result);
- open_context_->params.AppendHandle(serialized_socket_handle);
- open_context_->params.AppendHandle(serialized_shared_memory_handle);
-
- host()->SendReply(*open_context_, PpapiPluginMsg_AudioInput_OpenReply());
- open_context_.reset();
+ open_context_.params.AppendHandle(serialized_socket_handle);
+ open_context_.params.AppendHandle(serialized_shared_memory_handle);
dmichael (off chromium) 2014/04/11 18:11:23 What about adding an is_valid to the ReplyMessageC
bbudge 2014/04/11 20:41:19 I thought about this. I think it's a great idea so
+ SendOpenReply(result);
}
int32_t PepperAudioInputHost::GetRemoteHandles(
@@ -206,11 +204,15 @@ void PepperAudioInputHost::Close() {
audio_input_->ShutDown();
audio_input_ = NULL;
- if (open_context_) {
- open_context_->params.set_result(PP_ERROR_ABORTED);
- host()->SendReply(*open_context_, PpapiPluginMsg_AudioInput_OpenReply());
- open_context_.reset();
- }
+ if (open_pending_)
+ SendOpenReply(PP_ERROR_ABORTED);
+}
+
+void PepperAudioInputHost::SendOpenReply(int32_t result) {
+ open_context_.params.set_result(result);
+ host()->SendReply(open_context_, PpapiPluginMsg_AudioInput_OpenReply());
+ open_context_ = ppapi::host::ReplyMessageContext();
+ open_pending_ = false;
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698