ladybird/Libraries/LibWebView/WebUI/SettingsUI.h
Timothy Flynn b4df857a57 LibWeb+LibWebView+WebContent: Replace DNT with GPC
Global Privacy Control aims to be a replacement for Do Not Track. DNT
ended up not being a great solution, as it wasn't enforced by law. This
actually resulted in the DNT header serving as an extra fingerprinting
data point.

GPC is becoming enforced by law in USA states such as California and
Colorado. CA is further working on a bill which requires that browsers
implement such an opt-out preference signal (OOPS):

https://cppa.ca.gov/announcements/2025/20250911.html

This patch replaces DNT with GPC and hooks up the associated settings.
2025-09-16 10:38:20 +02:00

44 lines
1.2 KiB
C++

/*
* Copyright (c) 2025, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWebView/Forward.h>
#include <LibWebView/WebUI.h>
namespace WebView {
class WEBVIEW_API SettingsUI : public WebUI {
WEB_UI(SettingsUI);
private:
virtual void register_interfaces() override;
void load_current_settings();
void restore_default_settings();
void set_new_tab_page_url(JsonValue const&);
void set_default_zoom_level_factor(JsonValue const&);
void set_languages(JsonValue const&);
void load_available_engines();
void set_search_engine(JsonValue const&);
void add_custom_search_engine(JsonValue const&);
void remove_custom_search_engine(JsonValue const&);
void set_autocomplete_engine(JsonValue const&);
void load_forcibly_enabled_site_settings();
void set_site_setting_enabled_globally(JsonValue const&);
void add_site_setting_filter(JsonValue const&);
void remove_site_setting_filter(JsonValue const&);
void remove_all_site_setting_filters(JsonValue const&);
void set_global_privacy_control(JsonValue const&);
void set_dns_settings(JsonValue const&);
};
}