#ifndef UI_BASE_TEST_SCOPED_FAKE_NSWINDOW_FOCUS_H_
#define UI_BASE_TEST_SCOPED_FAKE_NSWINDOW_FOCUS_H_
#include <memory>
namespace base::apple {
class ScopedObjCClassSwizzler;
}
namespace ui::test {
class ScopedFakeNSWindowFocus {
public:
ScopedFakeNSWindowFocus();
ScopedFakeNSWindowFocus(const ScopedFakeNSWindowFocus&) = delete;
ScopedFakeNSWindowFocus& operator=(const ScopedFakeNSWindowFocus&) = delete;
~ScopedFakeNSWindowFocus();
private:
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> is_main_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> make_main_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> resign_main_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> is_key_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> make_key_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> resign_key_swizzler_;
std::unique_ptr<base::apple::ScopedObjCClassSwizzler> order_out_swizzler_;
};
}
#endif