| // Copyright 2025 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_QT_OS_SETTINGS_PROVIDER_QT_H_ | 
 | #define UI_QT_OS_SETTINGS_PROVIDER_QT_H_ | 
 |  | 
 | #include "base/memory/raw_ptr.h" | 
 | #include "ui/native_theme/os_settings_provider.h" | 
 | #include "ui/qt/qt_interface.h" | 
 |  | 
 | namespace qt { | 
 |  | 
 | class OsSettingsProviderQt : public ui::OsSettingsProvider { | 
 |  public: | 
 |   explicit OsSettingsProviderQt(QtInterface* shim); | 
 |   OsSettingsProviderQt(const OsSettingsProviderQt&) = delete; | 
 |   OsSettingsProviderQt& operator=(const OsSettingsProviderQt&) = delete; | 
 |   ~OsSettingsProviderQt() override; | 
 |  | 
 |   // ui::OsSettingsProvider: | 
 |   ui::NativeTheme::PreferredColorScheme PreferredColorScheme() const override; | 
 |   base::TimeDelta CaretBlinkInterval() const override; | 
 |  | 
 |  private: | 
 |   // IMPORTANT NOTE: All members that use `shim_` must be decorated with | 
 |   // `DISABLE_CFI_VCALL`. | 
 |   raw_ptr<QtInterface> shim_; | 
 | }; | 
 |  | 
 | }  // namespace qt | 
 |  | 
 | #endif  // UI_QT_OS_SETTINGS_PROVIDER_QT_H_ |