Commit Graph

15912 Commits

Author SHA1 Message Date
Florian Bruhin
982a42d453 Unbind Ctrl-Shift-Tab by default 2018-06-05 11:33:34 +02:00
pyup-bot
dc203d46de Update pytest-rerunfailures from 4.0 to 4.1 2018-06-04 19:00:21 +02:00
pyup-bot
62e86e1482 Update pytest-qt from 2.3.2 to 2.4.0 2018-06-04 19:00:19 +02:00
pyup-bot
9f9a5d576b Update pytest from 3.5.1 to 3.6.0 2018-06-04 19:00:18 +02:00
pyup-bot
46329b0f03 Update parse from 1.8.2 to 1.8.4 2018-06-04 19:00:16 +02:00
pyup-bot
454d026fdc Update more-itertools from 4.1.0 to 4.2.0 2018-06-04 19:00:14 +02:00
pyup-bot
e30e08a04e Update pyroma from 2.3 to 2.3.1 2018-06-04 19:00:13 +02:00
Florian Bruhin
5e99da5459 Remove broken shields.io badges
[ci skip]
2018-05-30 11:59:34 +02:00
theova
5543e75abd Add base16-qutebrowser 2018-05-29 20:00:49 +02:00
Florian Bruhin
6fc3546923 travis: Allow Archlinux to fail for now
See #3661
2018-05-29 13:19:05 +02:00
Florian Bruhin
52c44d3da6 setup.py: Set long_description_content_type
Otherwise, Warehouse (new PyPI) refuses the upload...
2018-05-29 11:23:10 +02:00
Florian Bruhin
b3c95c1668 Release v1.3.1
(cherry picked from commit ac29c579ff6a5d54c97513280fd1d8d187304160)
2018-05-29 11:15:15 +02:00
Florian Bruhin
f78410ef2b Update changelog for v1.3.1 2018-05-29 11:09:06 +02:00
Jay Kamat
c33a887b2d
Add support for following tab selected elements to :follow-selected 2018-05-25 12:39:36 -07:00
Jay Kamat
cd56b97e7d
Add an option to disable escape in the report dialog 2018-05-24 11:50:27 -07:00
Florian Bruhin
12e0edbcd0 Fix lint 2018-05-24 08:47:31 +02:00
Jay Kamat
40e391e199
Prevent closing :report dialog when pressing <escape> 2018-05-23 21:25:43 -07:00
Florian Bruhin
17cfb0d39c Add some more logging for #3920 2018-05-23 21:31:18 +02:00
Florian Bruhin
7162f15348 Use functools instead of a lambda for QTimer
It reads nicer, and this is also speculative fix for #3896 as PyQt5 is
hopefully better at disconnecting partial-objects from dead objects than it is
with lambdas.
2018-05-23 09:44:44 +02:00
Florian Bruhin
26e37739e2 Fix typo 2018-05-22 23:07:31 +02:00
Florian Bruhin
e895ee8bdc Update changelog 2018-05-22 12:28:55 +02:00
Florian Bruhin
29ad252278 Handle ² keypress correctly
Turns out str.isdigit() also handles ² as a digit, but int('²') causes a
ValueError.

Here we use `string.digits` instead, which is '0123456789'.

Fixes #3743
2018-05-22 12:25:45 +02:00
Florian Bruhin
db1287cb82 Update changelog 2018-05-22 09:40:54 +02:00
Florian Bruhin
71ad8bdb47 Properly work around Qt 5.11 keyboard focus issues
Please let this be the last attempt... :D

Fixes #3939
Supersedes #3921
Reverts ae295a7f65
See #3661

This should not regress #3872. Might affect #3834 in some way.
2018-05-22 09:36:14 +02:00
Florian Bruhin
bc37af7c95 Document QtWebEngine internals
[ci skip]
2018-05-22 07:42:23 +02:00
Jay Kamat
3bf02aa62f
Clarify install command for Ubuntu 17.04 2018-05-21 17:29:23 -07:00
Florian Bruhin
ae06c2cdb7
Merge pull request #3938 from qutebrowser/pyup-scheduled-update-2018-05-21
Scheduled weekly dependency update for week 20
2018-05-21 21:31:03 +02:00
Florian Bruhin
89f019b710 Remove unneeded "except ... as e:" assignments 2018-05-21 20:03:18 +02:00
pyup-bot
228c86c799 Update virtualenv from 15.2.0 to 16.0.0 2018-05-21 18:53:26 +02:00
pyup-bot
c551e29f4c Update pytest-qt from 2.3.1 to 2.3.2 2018-05-21 18:53:25 +02:00
pyup-bot
7596dbdd43 Update pytest-instafail from 0.3.0 to 0.4.0 2018-05-21 18:53:23 +02:00
pyup-bot
616371a3c1 Update hypothesis from 3.56.9 to 3.57.0 2018-05-21 18:53:22 +02:00
pyup-bot
725a133b9a Update cheroot from 6.2.4 to 6.3.1 2018-05-21 18:53:20 +02:00
pyup-bot
f60c42b7fb Update pylint from 1.8.4 to 1.9.1 2018-05-21 18:53:19 +02:00
pyup-bot
9dc9ec3435 Update astroid from 1.6.3 to 1.6.4 2018-05-21 18:53:17 +02:00
pyup-bot
e7a779ef90 Update setuptools from 39.1.0 to 39.2.0 2018-05-21 18:53:16 +02:00
pyup-bot
5ec3f1949a Update pyflakes from 1.6.0 to 2.0.0 2018-05-21 18:53:14 +02:00
pyup-bot
5df4128e8d Update pep8-naming from 0.6.1 to 0.7.0 2018-05-21 18:53:13 +02:00
Jimmy
47446baf29 s/obj/target/
Would a bit of consistency in variable names be too much to ask?
2018-05-21 21:23:38 +12:00
Jimmy
749b29e599 tests: Don't pretend to be using webkit if unavailable
Since `objects.backend` was being set to usertypes.Backend.QtWebKit by
default some feature detection code was calling
`version.qWebKitVersion()` which was failing because the import of
`PyQt5.QtWebKit` was failing in version.

This should not change behavior where both backends are available on if
any tests fail because they are expecting their environment to say they
are on webkit when they either aren't actually using any webkit features
or all mocked webkit features then they should probably be changed to
patch `objects.backend` or not depend on it.
2018-05-21 20:59:27 +12:00
Wayne Cheng
9a85796ac3 CR changes 2018-05-20 20:30:24 -04:00
Florian Bruhin
a31542269a Remove old files from MANIFEST.in 2018-05-20 16:12:33 +02:00
Wayne Cheng
36ddf3a328 Code review changes 2018-05-20 05:35:48 -04:00
Jimmy
d162e01422 Greasemonkey: remove extra window scope IIFE
Also change the block scoped `window` declaration to be const because it
seemed like a good idea. The real window seems to just silently ignore
attempts to overwrite it.
2018-05-20 18:42:40 +12:00
Jimmy
6573a4d616 Tell pylint to shut its fat mouth.
I just want to return something I can refer to the attributes of via dot
syntax without having to pointlessly write the names both when I declare
the data class and when I assign the variables.

Such a stupid warning.
2018-05-20 18:42:40 +12:00
Jimmy
b0d1a137da Greasemonkey: Don't attempt scope isolation on webkit
Since the JSCore used by WebKit 602.1 doesn't fully support Proxy and I
can't think of a way to provide isolation otherwise just revert to the
old behaviour in that case. I am checking for the specific WebKit
version because I'm pretty sure that version just happened to be
released when Proxy support was only partially done, any later release
will presumably have a newer JSCore where it works.

There I changed the indentation of a block in the jinja template which
will have inflated the diff.

I added mocking of `objects.backend` to the `webview` and
`webenginewebview` fixtures, I am pretty sure they are mutually
exclusive so don't expect any issues from that.

Because of the feature detection being at template compile time I had to
tweak the test setup to be done via a fixture instead of the setupClass
functionality that I was using before.
2018-05-20 18:42:40 +12:00
Jimmy
13249329f7 Greasemonkey: skip window scoping test on webkit
The implementation of Proxy in JSCore used by current QtWebkit (webkit
602.1) doesn't support the `set()` handler for whatever reason. So
instead of testing for a specific behaviour that we can't ensure on that
version let's just skip the tests and handle user complaints with
sympathy.
2018-05-20 18:42:40 +12:00
Jimmy
19242b6cb2 Greasemonkey: fix scoping function decleration.
Apparently making a function like `function foo() {};` in block scope is
illegal. It should be named via assignment.

Switched to an IIFE anyway because it doesn't need a name.
2018-05-20 18:42:40 +12:00
Jimmy
c7a9792b67 Greasemonkey: Add test for window scoping refinements.
Adds a test to codify what I think greasemonkey scripts expect from
their scope chains. Particularly that they can:

1. access the global `window` object
2. access all of the attributes of the global window object as global
   objects themselves
3. see any changes the page made to the global scope
4. write to attributes of `window` and have those attributes, and changes
   to existing attributes, accessable via global scope
5. do number 4 without breaking the pages expectations, that is what
   `unsafeWindow` is for

There are some other points about greasemonkey scripts' environment that
I believe to be true but am not testing in this change:

* changes a page makes to `window` _after_ a greasemonkey script is
  injected will still be visible to the script if it cares to check and
  it hasn't already shadowed them
* said changes will not overwrite changes that the greasemonkey script
  has made.
2018-05-20 18:42:40 +12:00
Jimmy
23bfe6daa2 Greasemonkey: fix window proxy for new attributes
Previously scripts were failing to find attributes that they assigned to
window and then tried to use from the global scope. Eg

    window.newthing = function() {...};
    newthing(...);  // newthing is not defined error

This wasn't the case for things that already existed in the global scope
and were just being overwritten.

This change just overrides the `Proxy.has()` function which seems to fix
it. Probably the `while` implementation was failing to pick up new
attributes because of the lack.

I also tweaked some comments and variable names and const-ness to be a
little more production ready.
2018-05-20 18:42:40 +12:00