mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-22 17:31:58 -05:00
LibWeb: Implement Navigator.doNotTrack
(cherry picked from commit 61e616c974ef2deb5edd4f85ae0a3b6da215521a)
This commit is contained in:
parent
34f9fbe4c6
commit
f3190e5ed6
3 changed files with 18 additions and 0 deletions
|
@ -13,6 +13,7 @@
|
|||
#include <LibWeb/HTML/Navigator.h>
|
||||
#include <LibWeb/HTML/Scripting/Environments.h>
|
||||
#include <LibWeb/HTML/Window.h>
|
||||
#include <LibWeb/Loader/ResourceLoader.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
|
@ -100,4 +101,16 @@ WebIDL::Long Navigator::max_touch_points()
|
|||
return 0;
|
||||
}
|
||||
|
||||
// https://www.w3.org/TR/tracking-dnt/#dom-navigator-donottrack
|
||||
Optional<FlyString> Navigator::do_not_track() const
|
||||
{
|
||||
// The value is null if no DNT header field would be sent (e.g., because a tracking preference is not
|
||||
// enabled and no user-granted exception is applicable); otherwise, the value is a string beginning with
|
||||
// "0" or "1", possibly followed by DNT-extension characters.
|
||||
if (ResourceLoader::the().enable_do_not_track())
|
||||
return "1"_fly_string;
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -50,6 +50,8 @@ public:
|
|||
[[nodiscard]] JS::NonnullGCPtr<Clipboard::Clipboard> clipboard();
|
||||
[[nodiscard]] JS::NonnullGCPtr<UserActivation> user_activation();
|
||||
|
||||
Optional<FlyString> do_not_track() const;
|
||||
|
||||
static WebIDL::Long max_touch_points();
|
||||
|
||||
virtual ~Navigator() override;
|
||||
|
|
|
@ -21,6 +21,9 @@ interface Navigator {
|
|||
|
||||
// https://html.spec.whatwg.org/multipage/interaction.html#useractivation
|
||||
[SameObject] readonly attribute UserActivation userActivation;
|
||||
|
||||
// https://www.w3.org/TR/tracking-dnt/#dom-navigator-donottrack
|
||||
readonly attribute DOMString? doNotTrack;
|
||||
};
|
||||
|
||||
// NOTE: As NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, and NavigatorAutomationInformation
|
||||
|
|
Loading…
Reference in a new issue