Commit Graph

16163 Commits

Author SHA1 Message Date
Florian Bruhin f109c922e8 Add test for remembered ignored certificate errors
This is a continuation of the previous commit for #5403. The tests are split up
from the commit itself so that the fix can be backported with less conflicts.

See #5403

(cherry picked from commit 45a2be3f9f)
2020-05-02 19:19:57 +02:00
Florian Bruhin 4020210b19 Security: Remember hosts with ignored cert errors for load status
Without this change, we only set a flag when a certificate error occurred.
However, when the same certificate error then happens a second time (e.g.
because of a reload or opening the same URL again), we then colored the URL as
success_https (i.e. green) again.

See #5403

(cherry picked from commit 021ab572a3)
2020-05-02 19:19:29 +02:00
Florian Bruhin 5aa69027e2 Update changelog for v1.4.2
Whoops, should've done this before tagging...
2018-09-02 14:55:39 +02:00
Florian Bruhin 0f104b8e5f Release v1.4.2 2018-09-02 14:52:30 +02:00
Florian Bruhin 77bf6788c8 Handle :// as URL pattern
(cherry picked from commit 67b4b7d490)
2018-09-02 12:00:31 +02:00
Florian Bruhin fafae11adf Mark SQLITE_IOERR/SQLITE_CANTOPEN as environmental error
Fixes #3060

IOERR: The SQLITE_IOERR result code says that the operation could not finish
because the operating system reported an I/O error.

CANTOPEN: The SQLITE_CANTOPEN result code indicates that SQLite was unable to
open a file. The file in question might be a primary database file or on of
several temporary disk files.
2018-09-01 22:17:50 +02:00
Florian Bruhin b76c50d7fa Make sure the host blocker doesn't block 0.0.0.0
(cherry picked from commit 1815070dab)
2018-08-31 16:49:27 +02:00
Florian Bruhin 943b0909d5 Remove unneeded import
(cherry picked from commit 65caf40b06)
2018-08-31 11:47:27 +02:00
Florian Bruhin 4ba2d840d1 Elide URLs at the end and not in the middle
With a URL like http://www.example.com/long/path/end, an elision like
http://www.example.com/…/path/end would be nicest, but using ElideMiddle means
we can end up with something like http://www.example.…/path/end, which can
possibly trick a user during a phishing attempt.

Instead, let's just always elide at the end, so we end up with
http://www.example.com/long/…. That makes sure the scheme/hostname (which are
most important) are visible as long as possible.

Fixes #4170.

(cherry picked from commit a13607674f)
2018-08-30 07:50:46 +02:00
Jimmy 98600099e5 Don't alphabetically sort tab completion.
`ListCategory` sorts its completion by default, we are already building
the categories in the right order so don't need that.

The test tests the case of where you have 11 tabs and if the model was
sorted the tabs with index 10 and 11 would be sorted before the one with
index 2.

The `random.sample` bit for the tab url and title is to also make sure
the model isn't being sorted on those columns, whithout haveng to write
and all ten lines.

(cherry picked from commit b192164f2e)
2018-08-27 10:08:02 +02:00
Florian Bruhin 5df3b549be eslint: Disable require-unicode-regexp
See https://eslint.org/docs/rules/require-unicode-regexp
It would be useful to have, but Chromium 49 coming with Qt 5.7 doesn't support
it (Chromium 56 in Qt 5.9 would)...

Also see #3839
2018-08-19 14:59:57 +02:00
Florian Bruhin 7c904267a9 Fix lineparser tests
(cherry picked from commit 9eeaa4f45d)
2018-08-19 13:04:57 +02:00
Florian Bruhin 4f4c3b4485 Fix indent
(cherry picked from commit 6b044d4aff)
2018-08-19 10:56:32 +02:00
lufte 9a621ff05a
Fix "Unnecessary generator - rewrite as a list comprehension."
(cherry picked from commit 9c4337c359)
2018-08-18 13:46:00 -07:00
lufte 88e2ed0056
Some memory improvements with generators
(cherry picked from commit fd70d6d2d8)
2018-08-18 13:45:59 -07:00
lufte ed52384a19
Perform attribute updates on a record's clone
(cherry picked from commit 68b9dff747)
2018-08-18 13:45:59 -07:00
Florian Bruhin 35ec43a181 Make content.webrtc_public_interfaces_only work on Qt 5.11
69abc9a1a1 added the argument for Qt 5.9, but
didn't add the QWebEngineSetting for Qt >= 5.11.

See #3010, #2163.

(cherry picked from commit e927fecbbc)
2018-08-15 10:55:18 +02:00
Jay Z 9ef1c36d69 Fix chrome bookmarks import on `sync_transaction_version`
(cherry picked from commit fcb3de8ee3)
2018-08-15 10:55:18 +02:00
Florian Bruhin 4efb19dc76 Handle OSError when creating download directory
Fixes #2570

(cherry picked from commit 7ed71592e0)
2018-08-15 10:55:18 +02:00
Florian Bruhin bb8901f48f Use exist_ok=True for os.path.makedirs
See #2570

(cherry picked from commit 1cb547a8de)
2018-08-15 10:55:18 +02:00
Florian Bruhin cb76e78faf Handle invalid URLs in acceptNavigationRequest in the tab API
(cherry picked from commit ee06ba0140)
2018-08-15 10:55:18 +02:00
Florian Bruhin 76a96093c7 Ignore invalid URLs in acceptNavigationRequest
(cherry picked from commit 7ac7ccc296)
2018-08-15 10:55:18 +02:00
Florian Bruhin c0aa17b97e Add workaround comment
(cherry picked from commit d830dd69a4)
2018-08-15 10:55:18 +02:00
Florian Bruhin d7f2e67441 Don't require user interaction for clicking qute:// links
See #4090, #4073

(cherry picked from commit f69cd2259e)
2018-08-15 10:55:18 +02:00
Jay Kamat cc3e5a2aad Add catch and error handling for errors in follow_selected click
(cherry picked from commit 31d318ee0a)
2018-08-15 10:55:17 +02:00
Florian Bruhin cdaf156244 Fix checks for Nouveau workaround
(cherry picked from commit 8a748741ba)
2018-08-15 10:34:37 +02:00
Florian Bruhin 93f40116b2 Enable XSS auditing by default
Qt disables this by default, but Chromium does have it enabled.

I also submitted a change to Qt to hopefully enable it by default there
starting with Qt 5.12: https://codereview.qt-project.org/#/c/198354/15

This also removes the claim of having a (big) performance impact, as Chromium's
XSS design doc says the opposite:
https://www.chromium.org/developers/design-documents/xss-auditor

(cherry picked from commit a72eee8e39)
2018-08-15 10:34:07 +02:00
Florian Bruhin 79b39d8c7f Refactor print handling and fix window.print
On Qt 5.7.1, window.print() caused a CommandError which wasn't handled as the
command was called from accept_navigation_request.

Instead, we now show the dialog in AbstractPrinting and use that directly.

(cherry picked from commit 9298f3d055)
2018-08-15 10:33:31 +02:00
Hendrik R 73786bb927 Process all events before issuing an alert
Fixes #2603

The call to processEvents fixes an apparent race condition with some window
managers, e.g. i3. QT seems to be thinking, that the window is not marked as
urgent and toggles it twice, so synchronizing before issuing the alert makes QT
behave correctly.

This change should not change the behaviour on other systems only correct the
fault reported in #2603.

(cherry picked from commit b1a060fb71)
2018-08-15 10:33:16 +02:00
Florian Bruhin 75d153d6d8 Release v1.4.1 2018-07-11 17:16:50 +02:00
Florian Bruhin 53d8d045fa Update changelog for v1.4.1 2018-07-11 17:16:00 +02:00
Florian Bruhin 22148ce488 CVE-2018-10895: Fix CSRF issues with qute://settings/set URL
In ffc29ee043 (part of v1.0.0), a
qute://settings/set URL was added to change settings.

Contrary to what I apparently believed at the time, it *is* possible for
websites to access `qute://*` URLs (i.e., neither QtWebKit nor QtWebEngine
prohibit such requests, other than the usual cross-origin rules).

In other words, this means a website can e.g. have an `<img>` tag which loads a
`qute://settings/set` URL, which then sets `editor.command` to a bash script.
The result of that is arbitrary code execution.

Fixes #4060
See #2332

(cherry picked from commit 43e58ac865)
2018-07-11 17:09:17 +02:00
Florian Bruhin 28cd18ca5d NSIS: Add missing quote
(cherry picked from commit 3b9b2bc30e)
2018-07-11 15:36:38 +02:00
Florian Bruhin 8881244d94 NSIS: Uninstall old version before installing
Supersedes #4054

(cherry picked from commit 0b98555987)
2018-07-11 14:14:18 +02:00
Florian Bruhin 21adb2cc54 Make link_pyqt work with PyQt 5.11
(cherry picked from commit 14205ae14f)
2018-07-10 16:09:44 +02:00
Florian Bruhin 6b406899f1 Allow PyQt 5.10 to fail on Travis
See #4055

(cherry picked from commit 727b418d8b)
2018-07-10 16:09:44 +02:00
Florian Bruhin 2a3663a6e6 Add workaround for chrome-extension:// URLs
Fixes #4049

(cherry picked from commit b9e3d3cab9)
2018-07-10 16:09:44 +02:00
Florian Bruhin 3970464891 Strip trailing newlines from pastebin URL
(cherry picked from commit 274b66ec46)
2018-07-10 16:09:44 +02:00
Florian Bruhin af2eabdbfa Add a mkvenv-pypi-old environment
Fixes #4038
See #3662

(cherry picked from commit e80e695a56)
2018-07-10 15:29:21 +02:00
Florian Bruhin 5c299278c2 Handle download errors when the reply is already gone
Fixes #1270

(cherry picked from commit 0a31e19eda)
2018-07-10 15:29:17 +02:00
Florian Bruhin 0f037fb415 Release v1.4.0 2018-07-03 15:44:44 +02:00
Florian Bruhin 85cc1e4f84 Update changelog for v1.4.0 2018-07-03 15:44:25 +02:00
Florian Bruhin 42a3622906 Ignore a new Qt 5.11 lowlevel message 2018-07-03 15:38:29 +02:00
Florian Bruhin a0f36c5cbf Skip JS test which is too flaky 2018-07-03 14:15:08 +02:00
Florian Bruhin dfafab4cff Update changelog 2018-07-03 13:52:50 +02:00
Florian Bruhin 8cf22c85e0 Merge remote-tracking branch 'origin/pr/4019' 2018-07-03 13:52:24 +02:00
Florian Bruhin 4d1e56a8c6 Ignore "Lost UI shared context" error happening on AppVeyor 2018-07-03 13:39:34 +02:00
Florian Bruhin 8c11c516b4 tox: Always allow setting python via envvar 2018-07-03 13:32:53 +02:00
Florian Bruhin 857288b283 Try importing QtWebEngine from AppVeyor 2018-07-03 13:28:18 +02:00
Florian Bruhin 24e93fe023 Remove AppVeyor debugging 2018-07-03 13:27:31 +02:00