1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Copyright 2021 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 ASH_CAPTURE_MODE_CAPTURE_MODE_SETTINGS_TEST_API_H_
- #define ASH_CAPTURE_MODE_CAPTURE_MODE_SETTINGS_TEST_API_H_
- #include "base/callback_forward.h"
- namespace views {
- class View;
- } // namespace views
- namespace ash {
- class CaptureModeSettingsView;
- class CaptureModeMenuGroup;
- // Test APIs to test the UI of the settings menu. Can only be created
- // while a capture mode session is active, and the settings menu is shown.
- class CaptureModeSettingsTestApi {
- public:
- CaptureModeSettingsTestApi();
- CaptureModeSettingsTestApi(const CaptureModeSettingsTestApi&) = delete;
- CaptureModeSettingsTestApi& operator=(const CaptureModeSettingsTestApi&) =
- delete;
- ~CaptureModeSettingsTestApi() = default;
- // Returns the content view of the settings widget.
- CaptureModeSettingsView* GetSettingsView();
- // Returns the audio settings menu group and the views for its options.
- CaptureModeMenuGroup* GetAudioInputMenuGroup();
- views::View* GetMicrophoneOption();
- views::View* GetAudioOffOption();
- // Returns the save-to settings menu group and the views for its options.
- CaptureModeMenuGroup* GetSaveToMenuGroup();
- views::View* GetDefaultDownloadsOption();
- views::View* GetCustomFolderOptionIfAny();
- // Returns the view for the "Select folder" menu item which when pressed would
- // open the folder selection dialog.
- views::View* GetSelectFolderMenuItem();
- CaptureModeMenuGroup* GetCameraMenuGroup();
- views::View* GetCameraOption(int option_id);
- // Sets a callback that will be triggered once the settings menu is refreshed.
- void SetOnSettingsMenuRefreshedCallback(base::OnceClosure callback);
- private:
- // Valid only while the settings menu is shown.
- CaptureModeSettingsView* const settings_view_;
- };
- } // namespace ash
- #endif // ASH_CAPTURE_MODE_CAPTURE_MODE_SETTINGS_TEST_API_H_
|