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