Fix audio debug recording service reference.
Create a new service reference instead of transferring
the existing one before resetting debug recording.
Bug: 869852
Change-Id: I2e4042c55ea4e94d582a4ef099d6076307d54497
Reviewed-on: https://chromium-review.googlesource.com/1193859
Commit-Queue: Marina Ciocea <marinaciocea@chromium.org>
Reviewed-by: Max Morin <maxmorin@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587485}
diff --git a/services/audio/debug_recording.cc b/services/audio/debug_recording.cc
index 83a1943..7b1eaff 100644
--- a/services/audio/debug_recording.cc
+++ b/services/audio/debug_recording.cc
@@ -46,10 +46,6 @@
&DebugRecording::CreateWavFile, weak_factory_.GetWeakPtr()));
}
-TracedServiceRef DebugRecording::ReleaseServiceRef() {
- return std::move(service_ref_);
-}
-
void DebugRecording::Disable() {
DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread());
// Client connection is lost, resetting the reference.
diff --git a/services/audio/debug_recording.h b/services/audio/debug_recording.h
index d5d83f2..538e220 100644
--- a/services/audio/debug_recording.h
+++ b/services/audio/debug_recording.h
@@ -34,11 +34,6 @@
// Enables audio debug recording.
void Enable(mojom::DebugRecordingFileProviderPtr file_provider) override;
- // Releases and returns service ref. Used when creating a new debug recording
- // session while there is an ongoing debug recording session. Ref is
- // transfered to the latest debug recording session.
- TracedServiceRef ReleaseServiceRef();
-
private:
FRIEND_TEST_ALL_PREFIXES(DebugRecordingTest,
CreateWavFileCallsFileProviderCreateWavFile);
diff --git a/services/audio/service.cc b/services/audio/service.cc
index ea7aef6..62b2bafd 100644
--- a/services/audio/service.cc
+++ b/services/audio/service.cc
@@ -136,16 +136,8 @@
void Service::BindDebugRecordingRequest(mojom::DebugRecordingRequest request) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
DCHECK(ref_factory_);
-
- // Reuse ref if there is an ongoing debug session that will be overriden, to
- // avoid MaybeRequestQuitDelayed() call.
- TracedServiceRef service_ref;
- if (debug_recording_) {
- service_ref = debug_recording_->ReleaseServiceRef();
- } else {
- service_ref = TracedServiceRef(ref_factory_->CreateRef(),
- "audio::DebugRecording Binding");
- }
+ TracedServiceRef service_ref(ref_factory_->CreateRef(),
+ "audio::DebugRecording Binding");
// Accept only one bind request at a time. Old request is overwritten.
// |debug_recording_| must be reset first to disable debug recording, and then