|  | // Copyright 2021 The Chromium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef COMPONENTS_EXO_PROTECTED_NATIVE_PIXMAP_QUERY_DELEGATE_H_ | 
|  | #define COMPONENTS_EXO_PROTECTED_NATIVE_PIXMAP_QUERY_DELEGATE_H_ | 
|  |  | 
|  | #include "base/files/scoped_file.h" | 
|  | #include "base/functional/callback_forward.h" | 
|  |  | 
|  | namespace exo { | 
|  | // Interface for querying if a GMB handle is associated with a protected native | 
|  | // pixmap. This is needed for platforms with HW protected video so we set the | 
|  | // properties on the quad correctly. | 
|  | class ProtectedNativePixmapQueryDelegate { | 
|  | public: | 
|  | virtual ~ProtectedNativePixmapQueryDelegate() = default; | 
|  |  | 
|  | using IsProtectedNativePixmapHandleCallback = base::OnceCallback<void(bool)>; | 
|  | // Queries the GPU process for whether or not the passed in handle is | 
|  | // associated with protected native pixmap. Invokes the callback | 
|  | // asynchronously with the result. | 
|  | virtual void IsProtectedNativePixmapHandle( | 
|  | base::ScopedFD handle, | 
|  | IsProtectedNativePixmapHandleCallback callback) = 0; | 
|  | }; | 
|  | }  // namespace exo | 
|  | #endif  // COMPONENTS_EXO_PROTECTED_NATIVE_PIXMAP_QUERY_DELEGATE_H_ |