void nsDOMCameraManager::Shutdown(uint64_t aWindowId) { DOM_CAMERA_LOGI(">>> Shutdown( aWindowId = 0x%llx )\n", aWindowId); MOZ_ASSERT(NS_IsMainThread()); CameraControls* controls = sActiveWindows->Get(aWindowId); if (!controls) { return; } uint32_t length = controls->Length(); for (uint32_t i = 0; i < length; i++) { nsRefPtr<nsDOMCameraControl> cameraControl = controls->ElementAt(i); cameraControl->Shutdown(); } controls->Clear(); sActiveWindows->Remove(aWindowId); }
void nsDOMCameraManager::Shutdown(uint64_t aWindowId) { DOM_CAMERA_LOGI(">>> Shutdown( aWindowId = 0x%" PRIx64 " )\n", aWindowId); MOZ_ASSERT(NS_IsMainThread()); CameraControls* controls = sActiveWindows->Get(aWindowId); if (!controls) { return; } uint32_t i = controls->Length(); while (i > 0) { --i; RefPtr<nsDOMCameraControl> cameraControl = do_QueryObject(controls->ElementAt(i)); if (cameraControl) { cameraControl->Shutdown(); } } controls->Clear(); sActiveWindows->Remove(aWindowId); }