Code:  VideoCaptureManager::~VideoCaptureManager() {
  DCHECK(controllers_.empty());
   DCHECK(device_start_request_queue_.empty());
   if (screenlock_monitor_) {
     screenlock_monitor_->RemoveObserver(this);
  }
}

Commit Message: Make MediaStreamDispatcherHost per-request instead of per-frame.

Instead of having RenderFrameHost own a single MSDH to handle all
requests from a frame, MSDH objects will be owned by a strong binding.

A consequence of this is that an additional requester ID is added to
requests to MediaStreamManager, so that an MSDH is able to cancel only
requests generated by it.

In practice, MSDH will continue to be per frame in most cases since
each frame normally makes a single request for an MSDH object.

This fixes a lifetime issue caused by the IO thread executing tasks
after the RenderFrameHost dies.

Drive-by: Fix some minor lint issues.

Bug: 912520
Change-Id: I52742ffc98b9fc57ce8e6f5093a61aed86d3e516
Reviewed-on: https://chromium-review.googlesource.com/c/1369799
Reviewed-by: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616347}
CWE ID: CWE-189
 VideoCaptureManager::~VideoCaptureManager() {
   DCHECK(device_start_request_queue_.empty());
   if (screenlock_monitor_) {
     screenlock_monitor_->RemoveObserver(this);
  }
}
