<para>
Privacy Browser blocks all HTTP pings and presents a dialog informing the user every time the current tab attempts to send one.
Hopefully, as more people become aware of what HTTP pings are, web sites will become more embarrassed about using them.
- This is a classic example of how those who wrote the HTTP specs do not have the best interests of internet users at heart. I would like the day to come where they are removed from the specs.
+ This is a classic example of how those who wrote the HTTP specs do not have the best interests of internet users at heart. I would like the day to come when this is removed from both the internet and the spec.
+ Here is an example of me <ulink url="https://forum.f-droid.org/t/the-f-droid-forum-should-stop-tracking-links-with-http-pings/">raising the issue</ulink> with F-Droid.
</para>
</sect1>
<!-- Version 0.3. -->
<sect1 id="version_0.3">
- <title>0.3 - 8 May 2023</title>
+ <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-3/">0.3</ulink> -
+ <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=ace098e8677ac0d6468b825c73e65b82c0d6993e">8 May 2023</ulink></title>
<itemizedlist>
<listitem><para>Add the changelog <ulink url="https://redmine.stoutner.com/issues/1000">to the Handbook</ulink>.</para></listitem>
QString TabWidget::webEngineDefaultUserAgent = QLatin1String("");
// Construct the class.
-TabWidget::TabWidget(QWidget *parent) : QWidget(parent)
+TabWidget::TabWidget(QWidget *windowPointer) : QWidget(windowPointer)
{
// Create a QProcess to check if KDE is running.
QProcess *checkIfRunningKdeQProcessPointer = new QProcess();
// Set the loading favorite icon movie file name.
loadingFavoriteIconMoviePointer->setFileName(QStringLiteral(":/icons/loading.gif"));
+ // Stop the loading favorite icon movie if the window is destroyed. Otherwise, the app will crash if there is more than one window open and a window is closed while at tab is loading.
+ connect(windowPointer, SIGNAL(destroyed()), this, SLOT(stopLoadingFavoriteIconMovie()));
+
// Add the first tab.
addFirstTab();
emit linkHovered(linkUrl);
}
+void TabWidget::stopLoadingFavoriteIconMovie() const
+{
+ // Stop the loading favorite icon movie. Otherwise, the browser will crash if a second window is closed while a tab in it is loading. <https://redmine.stoutner.com/issues/1010>
+ loadingFavoriteIconMoviePointer->stop();
+}
+
void TabWidget::print() const
{
// Create a printer.
public:
// The primary contructor.
- explicit TabWidget(QWidget *parent);
+ explicit TabWidget(QWidget *windowPointer);
// The destructor.
~TabWidget();
void pageLinkHovered(const QString &linkUrl) const;
void printWebpage(QPrinter *printerPointer) const;
void showSaveDialog(QWebEngineDownloadItem *downloadItemPointer);
+ void stopLoadingFavoriteIconMovie() const;
void updateUiFromWebEngineView(const PrivacyWebEngineView *privacyWebEngineViewPointer) const;
void updateUiWithTabSettings();
void useNativeKdeDownloader(QUrl &downloadUrl, QString &suggestedFileName);