LibWebView: Add do-not-track setting to about:settings

This commit is contained in:
Timothy Flynn 2025-04-02 09:47:44 -04:00 committed by Tim Flynn
commit 1be3e7fd8a
Notes: github-actions[bot] 2025-04-02 18:17:25 +00:00
7 changed files with 66 additions and 0 deletions

View file

@ -24,6 +24,11 @@ struct SiteSetting {
OrderedHashTable<String> site_filters;
};
enum class DoNotTrack {
No,
Yes,
};
class SettingsObserver {
public:
SettingsObserver();
@ -33,6 +38,7 @@ public:
virtual void search_engine_changed() { }
virtual void autocomplete_engine_changed() { }
virtual void autoplay_settings_changed() { }
virtual void do_not_track_changed() { }
};
class Settings {
@ -58,6 +64,9 @@ public:
void remove_autoplay_site_filter(String const&);
void remove_all_autoplay_site_filters();
DoNotTrack do_not_track() const { return m_do_not_track; }
void set_do_not_track(DoNotTrack);
static void add_observer(Badge<SettingsObserver>, SettingsObserver&);
static void remove_observer(Badge<SettingsObserver>, SettingsObserver&);
@ -72,6 +81,7 @@ private:
Optional<SearchEngine> m_search_engine;
Optional<AutocompleteEngine> m_autocomplete_engine;
SiteSetting m_autoplay;
DoNotTrack m_do_not_track { DoNotTrack::No };
Vector<SettingsObserver&> m_observers;
};