ladybird/Libraries/LibWebView/WebUI/SettingsUI.h
Timothy Flynn 7d60d0bfb7 LibHTTP+LibWebView+RequestServer: Allow users to set disk cache limits
This adds a settings box to about:settings to allow users to limit the
disk cache size. This will override the default 5 GiB limit. We do not
automatically delete cache data if the new limit is suddenly less than
the used disk space; this will happen on the next request. This allows
multiple changes to the settings in a row without thrashing the cache.

In the future, we can add more toggles, such as disabling the disk
cache altogether.
2026-02-13 10:20:52 -05:00

47 lines
1.3 KiB
C++

/*
* Copyright (c) 2025-2026, 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 estimate_browsing_data_sizes(JsonValue const&);
void set_browsing_data_settings(JsonValue const&);
void clear_browsing_data(JsonValue const&);
void set_global_privacy_control(JsonValue const&);
void set_dns_settings(JsonValue const&);
};
}