| Index: content/browser/vr/vr_device_provider.h | 
| diff --git a/content/browser/vr/vr_device_provider.h b/content/browser/vr/vr_device_provider.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..fd9ae5912f959e7952051809a5c55b7ac899a7b5 | 
| --- /dev/null | 
| +++ b/content/browser/vr/vr_device_provider.h | 
| @@ -0,0 +1,33 @@ | 
| +// Copyright 2015 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CONTENT_BROWSER_VR_VR_DEVICE_PROVIDER_H | 
| +#define CONTENT_BROWSER_VR_VR_DEVICE_PROVIDER_H | 
| + | 
| +#include <vector> | 
| + | 
| +namespace content { | 
| + | 
| +class VRDevice; | 
| + | 
| +class VRDeviceProvider { | 
| + public: | 
| +  VRDeviceProvider() {} | 
| +  virtual ~VRDeviceProvider() {} | 
| + | 
| +  virtual void GetDevices(std::vector<VRDevice*>& devices) = 0; | 
| + | 
| +  // Some VR APIs may require that they are initialized fairly early on in the | 
| +  // app lifetime. Lightweight initialization should happen here. | 
| +  virtual void Initialize() = 0; | 
| + | 
| +  // Indicates that no renderers are currently using the VR service. The | 
| +  // provider should destroy all of it's devices and perform any teardown | 
| +  // necessary, but should be able to start up again if GetDevices is called. | 
| +  virtual void ReleaseDevices() = 0; | 
| +}; | 
| + | 
| +}  // namespace content | 
| + | 
| +#endif  // CONTENT_BROWSER_VR_DEVICE_VR_DEVICE_PROVIDER_H | 
|  |