// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_AURA_SCOPED_WINDOW_CAPTURE_REQUEST_H_ #define UI_AURA_SCOPED_WINDOW_CAPTURE_REQUEST_H_ #include "base/memory/raw_ptr.h" #include "components/viz/common/surfaces/subtree_capture_id.h" #include "ui/aura/aura_export.h" #include "ui/aura/window_observer.h" namespace aura { class Window; // A scoped move-only object which is associated with a request to make a // non-root window individually capturable by a FrameSinkVideoCapturer. This // request is tracked as long as this object lives. Once all requests are // destroyed, the window will no longer be uniquely identifiable by a // viz::SubtreeCaptureId, and can no longer be individually capturable by the // FrameSinkVideoCapturer. // Note that making a window capturable forces the layer tree root at its layer // to be promoted to a render surface that draw into a render pass. // See https://crbug.com/1143930 for more details. class AURA_EXPORT ScopedWindowCaptureRequest : public WindowObserver { … }; } // namespace aura #endif // UI_AURA_SCOPED_WINDOW_CAPTURE_REQUEST_H_