summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtwebengine/Manifest2
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch30
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch83
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch39
-rw-r--r--dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild282
5 files changed, 0 insertions, 436 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 47526a971afc..e111f7507c64 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,8 +2,6 @@ DIST qtwebengine-5.15-ffmpeg-ppc64le.tar.xz 12080 BLAKE2B cfab4f02b8fac8ae7585ed
DIST qtwebengine-5.15.10_p20230815-patchset.tar.xz 44880 BLAKE2B 6179ca4ad69f922cfa8ab8528bd571a326b3340f810f05782d808d67b6310de079d84ca6f769bd532f0fe375a702f0d348e02cfbf6b3f2d5c30ac668e1005bef SHA512 a323bdd8afeb41a97febf587bb0994a937c78ed470e077a2b482dca7e04bc4eb9cf75b2d2707236574d6586189ff3d27e42f437930dedd85b47a77e18ffc8fa3
DIST qtwebengine-5.15.11_p20231120.tar.xz 299212012 BLAKE2B 4f9fc9e3f380377f1eeaa8b04c6622c9e25d8b11151cccf7a04ef7dea88e4870db704dda3b303196e40bc8c1c6e76f495f911de5a74769b633952e35718a85de SHA512 2d64edf0ec5322e25a6decfd92a1b1170135c852a8d154d30a336b894bfc4c24f08cb5c88028c68a4f74e6bd6767aaf827a5fa08a82a70fd49e1fa064ee56f27
DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3282fda8932cc75a249d88b79319f0886d95777292776d94ac5f4fc114c3893b2801fbba6abb14f381172bb14b15b5ffef12413db3a16e4d1ca6 SHA512 3324e0076eb18e2ae2248428d2730cfb3413761514b2bb57e25b8db79248aaaa8098d9f7cebfa08f1a3b39b1d0a382aafed75c5ae8273918909335957921305e
-DIST qtwebengine-6.5-patchset-1.tar.xz 12936 BLAKE2B f44af36689596da0177f0607cf242d9cce3c376f4a5c28d7902a6b44651ce9272d745a824580268e999c2d58b72424d72eb6027d7461184bf7f04e0223e5195f SHA512 f639eb09d18c19c7b0d422d6acdce62404be0fcce905374c5d47266340191f7ca66875680bb09d80e72db718e34b7dc6e7db5f2f16407a0edb892930513ea407
DIST qtwebengine-6.6-patchset-5.tar.xz 9520 BLAKE2B 28d620841613b2cc677f7742c35c6b8ffc533e26cb3fd85edd455a5450344594a75f790402ac5bc8d19e8e8aa788d0a3244a3a81d127dbebd53e8224798382c1 SHA512 c0bc470fd25c5a835000618618aad7db17994863304140e73e8e261c620aad512453bdf6fbecf99dfb2e267590003a9730fa2c102db9dfdbd5e931ec850f9f05
DIST qtwebengine-6.7-patchset-1.tar.xz 8704 BLAKE2B cc2aff71bedf6f1a5328dc9eb5e54308de806373348c38674e879a8f61a1c6a3eb7948e6fe03ef77160afa7c226f820be1d49d0e0e4c5ef40b118ff788595961 SHA512 5e65a445c8e443257a2a74d4804273a6dca0a951f152cd935f041f51a7fb18c8608511e643deb193194ce4c2d3ec3489fe39c9da5e2eeaa0a047bf246e3da09c
-DIST qtwebengine-everywhere-src-6.5.3.tar.xz 412372456 BLAKE2B 131b4baf0267e77e1356568867db26fe86af165ddbd9abb5f2c6121e757011f5e18dfc41b30342eebf5d53f54492a20c1c77309782355b369b73c088d2102814 SHA512 8634eac4931fb27a0ded417de901955774d001dc74dc5779b216519b6b79f0a30f0774224abb14dffef779ca9df1cf384f822f9d5190e4d80b9f6ab0d012bc49
DIST qtwebengine-everywhere-src-6.6.1.tar.xz 421042656 BLAKE2B 6982a1884d66162cc3c8518125c655d60ced9ec9e81670fb2e5b193aab655c4516bbc50d3c774764385fbe372863fdbf3e03a3c35f07dd9c3119880266b3131e SHA512 d1e4f5b664f8aca5e0a5927968be87e29e29172f1256f21dc6a29006258fb2be2be99b5b36c94a08c704580db9fac7defbb37193534129a21ca14a511fcdeea0
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch
deleted file mode 100644
index 7de101830553..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-cstdint.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch status: limbo, partially needs upstreaming
-
-Only manifests as an issue with gcc-13+musl which does not transitively
-include cstdint / stdint.h for the int32/64_t usage.
-
-Partially fixed by [1] (>=chromium-110.0.5434.0) given it removes the
-int64_t usage altogether in seed_response.h.
-
-See also [2] which fixed this for the 87 branch in Qt5.
-
-[1] https://crrev.com/01e21a077a0354d85e8359195613c2781f67a3a2
-[2] https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/489133
---- a/src/3rdparty/chromium/components/variations/seed_response.h
-+++ b/src/3rdparty/chromium/components/variations/seed_response.h
-@@ -7,2 +7,3 @@
-
-+#include <cstdint>
- #include <string>
---- a/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h
-+++ b/src/3rdparty/chromium/gpu/config/gpu_driver_bug_workarounds.h
-@@ -7,2 +7,3 @@
-
-+#include <cstdint>
- #include <vector>
---- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h
-+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/file_wrapper.h
-@@ -16,2 +16,3 @@
-
-+#include <cstdint>
- #include <string>
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch
deleted file mode 100644
index 8acbbf4463ce..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.2-libcxx17.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Patch status: fixed in >=chromium-116.0.5809.0
-
-Backport of [2][3] in order to fix building with libcxx-17
-(and hopefully runtime if upgrade from 16->17 without rebuilding).
-
-In order to apply cleanly, also needed [4] which seems fine to have.
-
-[1] https://crbug.com/1449299
-[2] https://crrev.com/9bfbbffdba73668fdb483e5a850911d2b64c35d7
-[3] https://crrev.com/4878976cd7391fbc02f87af4b7fb539b5c1f3817
-[4] https://crrev.com/5b5551edd3961481e617e510276b9f015a35b861
---- a/src/3rdparty/chromium/base/containers/checked_iterators.h
-+++ b/src/3rdparty/chromium/base/containers/checked_iterators.h
-@@ -24,4 +24,7 @@
- using reference = T&;
- using iterator_category = std::random_access_iterator_tag;
-+#if defined(__cpp_lib_ranges)
-+ using iterator_concept = std::contiguous_iterator_tag;
-+#endif
-
- // Required for converting constructor below.
-@@ -31,8 +34,6 @@
- // Required for certain libc++ algorithm optimizations that are not available
- // for NaCl.
--#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL)
- template <typename Ptr>
- friend struct std::pointer_traits;
--#endif
-
- constexpr CheckedContiguousIterator() = default;
-@@ -147,4 +148,10 @@
- }
-
-+ constexpr friend CheckedContiguousIterator operator+(
-+ difference_type lhs,
-+ const CheckedContiguousIterator& rhs) {
-+ return rhs + lhs;
-+ }
-+
- constexpr CheckedContiguousIterator& operator-=(difference_type rhs) {
- if (rhs < 0) {
-@@ -218,5 +225,4 @@
- } // namespace base
-
--#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL)
- // Specialize both std::__is_cpp17_contiguous_iterator and std::pointer_traits
- // for CCI in case we compile with libc++ outside of NaCl. The former is
-@@ -236,11 +242,28 @@
- // [2] https://wg21.link/std.iterator.tags
- // [3] https://wg21.link/pointer.traits.optmem
--namespace std {
-+
-+#if defined(_LIBCPP_VERSION)
-+
-+_LIBCPP_BEGIN_NAMESPACE_STD
-
- template <typename T>
-+struct __is_cpp17_contiguous_iterator;
-+template <typename T>
- struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>>
- : true_type {};
-
- template <typename T>
-+struct __libcpp_is_contiguous_iterator;
-+template <typename T>
-+struct __libcpp_is_contiguous_iterator<::base::CheckedContiguousIterator<T>>
-+ : true_type {};
-+
-+_LIBCPP_END_NAMESPACE_STD
-+
-+#endif
-+
-+namespace std {
-+
-+template <typename T>
- struct pointer_traits<::base::CheckedContiguousIterator<T>> {
- using pointer = ::base::CheckedContiguousIterator<T>;
-@@ -261,5 +284,4 @@
-
- } // namespace std
--#endif
-
- #endif // BASE_CONTAINERS_CHECKED_ITERATORS_H_
diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
deleted file mode 100644
index d725f3209106..000000000000
--- a/dev-qt/qtwebengine/files/qtwebengine-6.5.3-libxml2-2.12.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Patch status: fixed in >=chromium-121.0.6104.0 with caveat
-
-Fix build failure[1] with libxml2-2.12 due xmlError changes.
-
-For convenience, use LIBXML_VERSION like webkit did[2] rather than
-chromium's upstream fix[3] which relies on bundled libxml2 always
-being 2.12.x (spares having to use has_version).
-
-When fix lands in qtwebengine, will need to depend on >=libxml2-2.12
-unless Qt decides to do something different considering that cmake
-uses system libxml2 by default and it may be too early to enforce it.
-
-[1] https://bugs.gentoo.org/917601
-[2] https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b
-[3] https://crrev.com/871f8ae9b65ce2679b0bc0be36902d65edf0c1e4
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor.h
-@@ -78,5 +78,9 @@
- void reset();
-
-+#if LIBXML_VERSION >= 21200
-+ static void ParseErrorFunc(void* user_data, const xmlError*);
-+#else
- static void ParseErrorFunc(void* user_data, xmlError*);
-+#endif
- static void GenericErrorFunc(void* user_data, const char* msg, ...);
-
---- a/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc
-@@ -67,5 +67,9 @@
- }
-
-+#if LIBXML_VERSION >= 21200
-+void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) {
-+#else
- void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) {
-+#endif
- FrameConsole* console = static_cast<FrameConsole*>(user_data);
- if (!console)
diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
deleted file mode 100644
index 5d33443cde3c..000000000000
--- a/dev-qt/qtwebengine/qtwebengine-6.5.3.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 3.12 needs QTBUG-117979 (see also QTBUG-115512)
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit check-reqs flag-o-matic multiprocessing optfeature
-inherit prefix python-any-r1 qt6-build toolchain-funcs
-
-DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
-SRC_URI+="
- https://dev.gentoo.org/~ionen/distfiles/${PN}-6.5-patchset-1.tar.xz
-"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64"
-fi
-
-IUSE="
- +alsa bindist custom-cflags designer geolocation +jumbo-build kerberos
- opengl pdfium pulseaudio qml screencast +system-icu vulkan +widgets
-"
-REQUIRED_USE="
- designer? ( qml widgets )
-"
-
-# dlopen: krb5, pciutils, udev
-RDEPEND="
- app-arch/snappy:=
- dev-libs/expat
- dev-libs/libevent:=
- dev-libs/libxml2[icu]
- dev-libs/libxslt
- dev-libs/nspr
- dev-libs/nss
- ~dev-qt/qtbase-${PV}:6[gui,opengl=,vulkan?,widgets?]
- ~dev-qt/qtwebchannel-${PV}:6[qml?]
- media-libs/fontconfig
- media-libs/freetype
- media-libs/harfbuzz:=
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libvpx:=
- media-libs/libwebp:=
- media-libs/openjpeg:2=
- media-libs/opus
- sys-apps/dbus
- sys-apps/pciutils
- sys-libs/zlib:=[minizip]
- virtual/libudev
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxcb:=
- x11-libs/libxkbcommon
- x11-libs/libxkbfile
- alsa? ( media-libs/alsa-lib )
- designer? ( ~dev-qt/qttools-${PV}:6[designer] )
- geolocation? ( ~dev-qt/qtpositioning-${PV}:6 )
- kerberos? ( virtual/krb5 )
- pulseaudio? ( media-libs/libpulse[glib] )
- qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
- screencast? (
- dev-libs/glib:2
- media-libs/mesa[gbm(+)]
- media-video/pipewire:=
- x11-libs/libdrm
- )
- system-icu? ( dev-libs/icu:= )
- widgets? ( ~dev-qt/qtdeclarative-${PV}:6[widgets] )
-"
-DEPEND="
- ${RDEPEND}
- media-libs/libglvnd
- x11-base/xorg-proto
- x11-libs/libxshmfence
- screencast? ( media-libs/libepoxy[egl(+)] )
- pdfium? ( net-print/cups )
- test? (
- widgets? ( app-text/poppler[cxx(+)] )
- )
-"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
- dev-util/gperf
- net-libs/nodejs[ssl]
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${WORKDIR}"/patches/${PN} )
-[[ ${PV} == 6.9999 ]] || # keep for 6.x.9999
- PATCHES+=( "${WORKDIR}"/patches/chromium )
-
-PATCHES+=(
- # add extras as needed here, may merge in set if carries across versions
- "${FILESDIR}"/${PN}-6.5.2-libcxx17.patch
- "${FILESDIR}"/${PN}-6.5.2-cstdint.patch
- "${FILESDIR}"/${PN}-6.5.3-icu74.patch
- "${FILESDIR}"/${PN}-6.5.3-libxml2-2.12.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
-}
-
-qtwebengine_check-reqs() {
- [[ ${MERGE_TYPE} == binary ]] && return
-
- if is-flagq '-g?(gdb)?([1-9])'; then #307861
- ewarn
- ewarn "Used CFLAGS/CXXFLAGS seem to enable debug info (-g or -ggdb), which"
- ewarn "is non-trivial with ${PN}. May experience extended compilation"
- ewarn "times, increased disk/memory usage, and potentially link failure."
- ewarn
- ewarn "If run into issues, please try disabling before reporting a bug."
- fi
-
- local CHECKREQS_DISK_BUILD=7G
- local CHECKREQS_DISK_USR=220M
-
- if ! has distcc ${FEATURES}; then #830661
- # assume ~2GB per job or 1.5GB if clang, possible with less
- # depending on free memory and *FLAGS, but prefer being safe as
- # users having OOM issues with qtwebengine been rather common
- tc-is-clang && : 15 || : 20
- local CHECKREQS_MEMORY=$(($(makeopts_jobs)*_/10))G
- fi
-
- check-reqs_${EBUILD_PHASE_FUNC} #570534
-}
-
-pkg_pretend() {
- qtwebengine_check-reqs
-}
-
-pkg_setup() {
- qtwebengine_check-reqs
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- qt6-build_src_prepare
-
- # for www-plugins/chrome-binary-plugins (widevine) search paths on prefix
- hprefixify -w /Gentoo/ src/core/content_client_qt.cpp
-
- # store chromium versions, only used in postinst for a warning
- local chromium
- mapfile -t chromium < CHROMIUM_VERSION || die
- [[ ${chromium[1]} =~ ^Based.*:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_VER=${BASH_REMATCH[1]} || die
- [[ ${chromium[2]} =~ ^Patched.+:[^0-9]+([0-9.]+$) ]] &&
- QT6_CHROMIUM_PATCHES_VER=${BASH_REMATCH[1]} || die
-}
-
-src_configure() {
- local mycmakeargs=(
- $(qt_feature pdfium qtpdf_build)
- $(qt_feature qml qtpdf_quick_build)
- $(qt_feature widgets qtpdf_widgets_build)
-
- -DQT_FEATURE_qtwebengine_build=ON
- $(qt_feature qml qtwebengine_quick_build)
- $(qt_feature widgets qtwebengine_widgets_build)
-
- $(cmake_use_find_package designer Qt6Designer)
-
- $(qt_feature alsa webengine_system_alsa)
- $(qt_feature !bindist webengine_proprietary_codecs)
- $(qt_feature geolocation webengine_geolocation)
- $(qt_feature jumbo-build webengine_jumbo_build)
- $(qt_feature kerberos webengine_kerberos)
- $(qt_feature pulseaudio webengine_system_pulseaudio)
- $(qt_feature screencast webengine_webrtc_pipewire)
- $(qt_feature system-icu webengine_system_icu)
- $(qt_feature vulkan webengine_vulkan)
- -DQT_FEATURE_webengine_embedded_build=OFF
- -DQT_FEATURE_webengine_extensions=ON
- -DQT_FEATURE_webengine_ozone_x11=ON # needed, cannot do optional X yet
- -DQT_FEATURE_webengine_pepper_plugins=ON
- -DQT_FEATURE_webengine_printing_and_pdf=ON
- -DQT_FEATURE_webengine_spellchecker=ON
- -DQT_FEATURE_webengine_webchannel=ON
- -DQT_FEATURE_webengine_webrtc=ON
-
- # needs a modified ffmpeg to be usable, and even then it may not
- # cooperate with new major ffmpeg versions (bug #831487)
- -DQT_FEATURE_webengine_system_ffmpeg=OFF
-
- # use bundled re2 to avoid complications, may revisit
- # (see discussions in https://github.com/gentoo/gentoo/pull/32281)
- -DQT_FEATURE_webengine_system_re2=OFF
-
- # not necessary to pass these (default), but in case detection fails
- $(printf -- '-DQT_FEATURE_webengine_system_%s=ON ' \
- freetype glib harfbuzz lcms2 libevent libjpeg \
- libopenjpeg2 libpci libpng libvpx libwebp libxml \
- minizip opus poppler snappy zlib)
-
- # TODO: fixup gn cross, or package dev-qt/qtwebengine-gn with =ON
- -DINSTALL_GN=OFF
- )
-
- local mygnargs=(
- # prefer no dlopen where possible
- link_pulseaudio=true
- rtc_link_pipewire=true
- )
-
- if use !custom-cflags; then
- strip-flags # fragile
-
- if is-flagq '-g?(gdb)?([2-9])'; then #914475
- replace-flags '-g?(gdb)?([2-9])' -g1
- ewarn "-g2+/-ggdb* *FLAGS replaced with -g1 (enable USE=custom-cflags to keep)"
- fi
- fi
-
- export NINJA NINJAFLAGS=$(get_NINJAOPTS)
- [[ ${NINJA_VERBOSE^^} == OFF ]] || NINJAFLAGS+=" -v"
-
- local -x EXTRA_GN="${mygnargs[*]} ${EXTRA_GN}"
- einfo "Extra Gn args: ${EXTRA_GN}"
-
- qt6-build_src_configure
-}
-
-src_test() {
- if [[ ${EUID} == 0 ]]; then
- # almost every tests fail, so skip entirely
- ewarn "Skipping tests due to running as root (chromium refuses this configuration)."
- return
- fi
-
- local CMAKE_SKIP_TESTS=(
- # fails with network sandbox
- tst_loadsignals
- tst_qquickwebengineview
- tst_qwebengineview
- # certs verfication seems flaky and gives expiration warnings
- tst_qwebengineclientcertificatestore
- # test is misperformed when qtbase is built USE=-test?
- tst_touchinput
- )
-
- # prevent using the system's qtwebengine
- # (use glob to avoid unnecessary complications with arch dir)
- local resources=( "${BUILD_DIR}/src/core/${CMAKE_BUILD_TYPE}/"* )
- [[ -d ${resources[0]} ]] || die "invalid resources path: ${resources[0]}"
- local -x QTWEBENGINEPROCESS_PATH=${BUILD_DIR}${QT6_LIBEXECDIR#"${QT6_PREFIX}"}/QtWebEngineProcess
- local -x QTWEBENGINE_LOCALES_PATH=${resources[0]}/qtwebengine_locales
- local -x QTWEBENGINE_RESOURCES_PATH=${resources[0]}
-
- # random failures in several tests without -j1
- qt6-build_src_test -j1
-}
-
-pkg_postinst() {
- # plugin may also be found in $HOME if provided by chrome or firefox
- use amd64 &&
- optfeature "Widevine DRM support (protected media playback)" \
- www-plugins/chrome-binary-plugins
-
- elog
- elog "This version of Qt WebEngine is based on Chromium version ${QT6_CHROMIUM_VER}, with"
- elog "additional security fixes up to ${QT6_CHROMIUM_PATCHES_VER}. Extensive as it is, the"
- elog "list of backports is impossible to evaluate, but always bound to be behind"
- elog "Chromium's release schedule."
- elog
- elog "In addition, various online services may deny service based on an outdated"
- elog "user agent version (and/or other checks). Google is already known to do so."
- elog
- elog "tl;dr your web browsing experience will be compromised."
-}