| // 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 EXTENSIONS_BROWSER_DISPLAY_INFO_PROVIDER_BASE_H_ |
| #define EXTENSIONS_BROWSER_DISPLAY_INFO_PROVIDER_BASE_H_ |
| |
| #include "extensions/browser/api/system_display/display_info_provider.h" |
| |
| namespace display { |
| class Screen; |
| } |
| |
| namespace extensions { |
| |
| // This class provides an implementation for the base class pure |
| // virtual function 'DispatchOnDisplayChangedEvent` that is common |
| // to all of the derived classes. |
| class DisplayInfoProviderBase : public DisplayInfoProvider { |
| public: |
| explicit DisplayInfoProviderBase(display::Screen* screen = nullptr); |
| ~DisplayInfoProviderBase() override = 0; |
| |
| DisplayInfoProviderBase(const DisplayInfoProviderBase&) = delete; |
| DisplayInfoProviderBase& operator=(const DisplayInfoProviderBase&) = delete; |
| |
| protected: |
| void DispatchOnDisplayChangedEvent() override; |
| }; |
| |
| } // namespace extensions |
| |
| #endif // EXTENSIONS_BROWSER_DISPLAY_INFO_PROVIDER_BASE_H_ |