From f78ed0600af354fbf383a3ac72175ac97efaf813 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 4 Jun 2024 15:22:15 +0200 Subject: [PATCH] LibGfx: Remove FontDatabase "default queries" At last, nothing depends on these anymore. --- Ladybird/AppKit/main.mm | 4 - Ladybird/FontPlugin.cpp | 3 - Ladybird/Qt/main.cpp | 4 - .../Libraries/LibGfx/Font/FontDatabase.cpp | 91 ------------------- Userland/Libraries/LibGfx/Font/FontDatabase.h | 14 --- .../WebContent/ConnectionFromClient.cpp | 5 +- Userland/Utilities/headless-browser.cpp | 4 - 7 files changed, 1 insertion(+), 124 deletions(-) diff --git a/Ladybird/AppKit/main.mm b/Ladybird/AppKit/main.mm index 9c94960465c..788d0741160 100644 --- a/Ladybird/AppKit/main.mm +++ b/Ladybird/AppKit/main.mm @@ -79,10 +79,6 @@ ErrorOr serenity_main(Main::Arguments arguments) platform_init(); - // NOTE: We only instantiate this to ensure that Gfx::FontDatabase has its default queries initialized. - Gfx::FontDatabase::set_default_font_query("Katica 10 400 0"); - Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0"); - Vector raw_urls; Vector certificates; StringView webdriver_content_ipc_path; diff --git a/Ladybird/FontPlugin.cpp b/Ladybird/FontPlugin.cpp index 35dc15d575c..cd786ce77b4 100644 --- a/Ladybird/FontPlugin.cpp +++ b/Ladybird/FontPlugin.cpp @@ -22,9 +22,6 @@ FontPlugin::FontPlugin(bool is_layout_test_mode) for (auto const& path : Core::StandardPaths::font_directories().release_value_but_fixme_should_propagate_errors()) Gfx::FontDatabase::the().load_all_fonts_from_uri(MUST(String::formatted("file://{}", path))); - Gfx::FontDatabase::set_default_font_query("Katica 10 400 0"); - Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0"); - auto emoji_path = MUST(Core::Resource::load_from_uri("resource://emoji"sv)); VERIFY(emoji_path->is_directory()); diff --git a/Ladybird/Qt/main.cpp b/Ladybird/Qt/main.cpp index a02b53bfadf..e42b1822a03 100644 --- a/Ladybird/Qt/main.cpp +++ b/Ladybird/Qt/main.cpp @@ -88,10 +88,6 @@ ErrorOr serenity_main(Main::Arguments arguments) platform_init(); - // NOTE: We only instantiate this to ensure that Gfx::FontDatabase has its default queries initialized. - Gfx::FontDatabase::set_default_font_query("Katica 10 400 0"); - Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0"); - Vector raw_urls; StringView webdriver_content_ipc_path; Vector certificates; diff --git a/Userland/Libraries/LibGfx/Font/FontDatabase.cpp b/Userland/Libraries/LibGfx/Font/FontDatabase.cpp index d85b292144a..2cafdee9e2d 100644 --- a/Userland/Libraries/LibGfx/Font/FontDatabase.cpp +++ b/Userland/Libraries/LibGfx/Font/FontDatabase.cpp @@ -25,84 +25,6 @@ FontDatabase& FontDatabase::the() return s_the; } -static RefPtr s_default_font; -static ByteString s_default_font_query; - -static RefPtr s_window_title_font; -static ByteString s_window_title_font_query; - -static RefPtr s_fixed_width_font; -static ByteString s_fixed_width_font_query; - -void FontDatabase::set_default_font_query(ByteString query) -{ - if (s_default_font_query == query) - return; - s_default_font_query = move(query); - s_default_font = nullptr; -} - -ByteString FontDatabase::default_font_query() -{ - return s_default_font_query; -} - -void FontDatabase::set_window_title_font_query(ByteString query) -{ - if (s_window_title_font_query == query) - return; - s_window_title_font_query = move(query); - s_window_title_font = nullptr; -} - -ByteString FontDatabase::window_title_font_query() -{ - return s_window_title_font_query; -} - -Font& FontDatabase::default_font() -{ - if (!s_default_font) { - VERIFY(!s_default_font_query.is_empty()); - s_default_font = FontDatabase::the().get_by_name(s_default_font_query); - VERIFY(s_default_font); - } - return *s_default_font; -} - -Font& FontDatabase::window_title_font() -{ - if (!s_window_title_font) { - VERIFY(!s_window_title_font_query.is_empty()); - s_window_title_font = FontDatabase::the().get_by_name(s_window_title_font_query); - VERIFY(s_window_title_font); - } - return *s_window_title_font; -} - -void FontDatabase::set_fixed_width_font_query(ByteString query) -{ - if (s_fixed_width_font_query == query) - return; - s_fixed_width_font_query = move(query); - s_fixed_width_font = nullptr; -} - -ByteString FontDatabase::fixed_width_font_query() -{ - return s_fixed_width_font_query; -} - -Font& FontDatabase::default_fixed_width_font() -{ - if (!s_fixed_width_font) { - VERIFY(!s_fixed_width_font_query.is_empty()); - s_fixed_width_font = FontDatabase::the().get_by_name(s_fixed_width_font_query); - VERIFY(s_fixed_width_font); - } - return *s_fixed_width_font; -} - struct FontDatabase::Private { HashMap, CaseInsensitiveStringTraits> full_name_to_font_map; HashMap>, AK::ASCIICaseInsensitiveFlyStringTraits> typefaces; @@ -162,19 +84,6 @@ void FontDatabase::for_each_font(Function callback) callback(*font); } -void FontDatabase::for_each_fixed_width_font(Function callback) -{ - Vector> fonts; - fonts.ensure_capacity(m_private->full_name_to_font_map.size()); - for (auto& it : m_private->full_name_to_font_map) { - if (it.value->is_fixed_width()) - fonts.append(it.value); - } - quick_sort(fonts, [](auto& a, auto& b) { return a->qualified_name() < b->qualified_name(); }); - for (auto& font : fonts) - callback(*font); -} - RefPtr FontDatabase::get_by_name(StringView name) { auto it = m_private->full_name_to_font_map.find(name); diff --git a/Userland/Libraries/LibGfx/Font/FontDatabase.h b/Userland/Libraries/LibGfx/Font/FontDatabase.h index 4c4fc8f2b1f..cb956e72cb1 100644 --- a/Userland/Libraries/LibGfx/Font/FontDatabase.h +++ b/Userland/Libraries/LibGfx/Font/FontDatabase.h @@ -21,24 +21,10 @@ class FontDatabase { public: static FontDatabase& the(); - static Font& default_font(); - static Font& default_fixed_width_font(); - static Font& window_title_font(); - - static ByteString default_font_query(); - static ByteString window_title_font_query(); - static ByteString fixed_width_font_query(); - - static ByteString default_fonts_lookup_path(); - static void set_default_font_query(ByteString); - static void set_window_title_font_query(ByteString); - static void set_fixed_width_font_query(ByteString); - RefPtr get(FlyString const& family, float point_size, unsigned weight, unsigned width, unsigned slope, Font::AllowInexactSizeMatch = Font::AllowInexactSizeMatch::No); RefPtr get(FlyString const& family, FlyString const& variant, float point_size, Font::AllowInexactSizeMatch = Font::AllowInexactSizeMatch::No); RefPtr get_by_name(StringView); void for_each_font(Function); - void for_each_fixed_width_font(Function); void for_each_typeface(Function); void for_each_typeface_with_family_name(FlyString const& family_name, Function); diff --git a/Userland/Services/WebContent/ConnectionFromClient.cpp b/Userland/Services/WebContent/ConnectionFromClient.cpp index 84b68499b9f..ab4c15bf933 100644 --- a/Userland/Services/WebContent/ConnectionFromClient.cpp +++ b/Userland/Services/WebContent/ConnectionFromClient.cpp @@ -118,11 +118,8 @@ void ConnectionFromClient::update_system_theme(u64 page_id, Core::AnonymousBuffe page->set_palette_impl(*impl); } -void ConnectionFromClient::update_system_fonts(u64, ByteString const& default_font_query, ByteString const& fixed_width_font_query, ByteString const& window_title_font_query) +void ConnectionFromClient::update_system_fonts(u64, ByteString const&, ByteString const&, ByteString const&) { - Gfx::FontDatabase::set_default_font_query(default_font_query); - Gfx::FontDatabase::set_fixed_width_font_query(fixed_width_font_query); - Gfx::FontDatabase::set_window_title_font_query(window_title_font_query); } void ConnectionFromClient::update_screen_rects(u64 page_id, Vector const& rects, u32 main_screen) diff --git a/Userland/Utilities/headless-browser.cpp b/Userland/Utilities/headless-browser.cpp index bc5a8756b21..de6e9b1836c 100644 --- a/Userland/Utilities/headless-browser.cpp +++ b/Userland/Utilities/headless-browser.cpp @@ -696,10 +696,6 @@ ErrorOr serenity_main(Main::Arguments arguments) args_parser.add_positional_argument(raw_url, "URL to open", "url", Core::ArgsParser::Required::No); args_parser.parse(arguments); - Gfx::FontDatabase::set_default_font_query("Katica 10 400 0"); - Gfx::FontDatabase::set_window_title_font_query("Katica 10 700 0"); - Gfx::FontDatabase::set_fixed_width_font_query("Csilla 10 400 0"); - Core::ResourceImplementation::install(make(MUST(String::from_utf8(resources_folder)))); auto theme_path = LexicalPath::join(resources_folder, "themes"sv, "Default.ini"sv);