LibWeb: Make preferred languages configurable

This also changes fetch to use the preferred languages for the
Accept-Language header.
This commit is contained in:
Jamie Mansfield 2024-07-23 21:10:24 +01:00 committed by Tim Ledbetter
commit 2ca8fd1832
Notes: github-actions[bot] 2024-07-25 10:39:58 +00:00
9 changed files with 31 additions and 8 deletions

View file

@ -1,5 +1,6 @@
/*
* Copyright (c) 2022, Andrew Kaster <akaster@serenityos.org>
* Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -8,21 +9,17 @@
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibWeb/Loader/ResourceLoader.h>
namespace Web::HTML {
class NavigatorLanguageMixin {
public:
// https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-language
String language() const { return m_current_preferred_languages[0]; }
String language() const { return ResourceLoader::the().preferred_languages()[0]; }
// https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-languages
// FIXME: The same object must be returned until the user agent needs to return different values, or values in a
// different order.
Vector<String> languages() const { return m_current_preferred_languages; }
protected:
Vector<String> m_current_preferred_languages = { "en-US"_string };
Vector<String> languages() const { return ResourceLoader::the().preferred_languages(); }
};
}