Florian Bruhin
b4077a8543
Fix lint
2018-09-09 18:39:22 +02:00
Florian Bruhin
b96898db37
Simplify and lock down PDF.js filename handling
2018-09-09 18:35:09 +02:00
Florian Bruhin
231c1fbe59
Add underscore to temporary download filename suffix
2018-09-09 18:35:09 +02:00
Florian Bruhin
8cfa46f539
100% test coverage for browser.pdfjs
2018-09-09 18:35:09 +02:00
Florian Bruhin
f7169dc0ba
Enable content.pdfjs setting on QtWebEngine
2018-09-09 18:35:09 +02:00
Florian Bruhin
36ad2c45b5
Clean up PDF.js snippet
2018-09-09 18:35:09 +02:00
Florian Bruhin
24babe76a1
Remove dead code
...
Thanks vulture!
2018-09-09 18:35:09 +02:00
Florian Bruhin
3e25262437
Remove old backend patching
2018-09-09 18:35:09 +02:00
Florian Bruhin
490fe5e1a3
Add utils.guess_mimetype
2018-09-09 18:35:09 +02:00
Florian Bruhin
24148c649e
Fix lint and tests
2018-09-09 18:35:09 +02:00
Florian Bruhin
2dccde8f4b
Only set PDFJS.disableCreateObjectURL when necessary
...
See #4198
2018-09-09 18:35:09 +02:00
Florian Bruhin
6665a1348e
Use jinja to get PDF.js script
2018-09-09 18:35:09 +02:00
Florian Bruhin
3ad7ae2a2c
Remove fix_urls which isn't needed anymore
...
With qute://pdfjs/web/viewer.html we can use relative URLs
2018-09-09 18:35:09 +02:00
Florian Bruhin
c40ddf37b7
Set disableCreateObjectURL for PDF.js
...
We can't use blob URLs or we'll get a renderer crash:
https://bugreports.qt.io/browse/QTBUG-70420
Thankfully, we can tell PDF.js to use data: URLs instead.
2018-09-09 18:35:09 +02:00
Florian Bruhin
bbcb87e434
Get PDF.js to work
...
We need to use the /web/viewer.html path so relative references are correct.
2018-09-09 18:35:09 +02:00
Florian Bruhin
7206dde19c
Revert "Simplify getting pdfjs main page"
...
This reverts commit 9c731bde85627308fdde4730b0181a014096cb47.
We need to set some PDF.js options, so we can't just use the default viewer
with ?file=...
2018-09-09 18:35:09 +02:00
Florian Bruhin
a0b4f09f02
Initial PDF.js support for QtWebEngine
2018-09-09 18:35:09 +02:00
Florian Bruhin
cb0c313404
Add qute://pdfjs/file to get files
...
Cross-origin requests aren't supported for qute:// URLs, and qute:// can't
access file://, so we need to get the files that way.
2018-09-09 18:35:09 +02:00
Florian Bruhin
8f19820a7a
Remove pdfjs.fix_urls
...
Now that we use qute://pdfjs to show the viewer, we don't need to rewrite any
URLs.
2018-09-09 18:35:09 +02:00
Florian Bruhin
24fb3b0d1b
Simplify getting pdfjs main page
2018-09-09 18:35:09 +02:00
Florian Bruhin
df67c254f8
Initial attempt at getting PDF.js to work with separate downloads
2018-09-09 18:35:09 +02:00
Florian Bruhin
8f1690eff7
Move pdfjs error page to pdfjs.py
2018-09-09 18:35:09 +02:00
Florian Bruhin
36b2f5e63f
Remove qute:// backend= argument
2018-09-09 18:35:09 +02:00
Florian Bruhin
dc82ac3eb2
Move qute_pdfjs to qutescheme.py
2018-09-09 18:35:09 +02:00
Florian Bruhin
b611ff52cf
Support URL patterns for content.autoplay
2018-09-09 18:31:41 +02:00
Jimmy
33cc8c11ba
Pull common code into a fixture.
2018-09-09 20:51:19 +12:00
Jesko
02f485cbc8
making import of QtWebEngine in corresponding tests conditional
2018-09-09 20:51:19 +12:00
Jesko
f22fb30ef3
fixing non controversial changes
2018-09-09 20:51:19 +12:00
Jimmy
7a73c0f264
Add tests for greasemonkey worldid in webenginetab.
...
Adds a new file for tests relating to WebEngineTab, it looks a little
sparse right now but I'm sure there will be more soon.
Tests that scripts with invalid world IDs are rejected appropriately and
the ones with valid world IDs aren't rejected.
The `FakeWidget` thing is so `sip.isdeleted` didn't complain about being
passed the wrong type.
2018-09-09 20:51:19 +12:00
Jimmy
5252541fe3
greasemonkey: better handle scripts without metadata
...
Previously calling `script.code()` would fail if the script didn't have
a `name`. This wasn't being hit in practice because the only place that
constructs GreasemonkeyScripts was checking for that condition and add
the filename there as a fallback.
This change make the `name` attribute more explicitly mandatory by
failing with a `ValueError` if it is not provided and make it still
possible to use the filename fallback in that case by adding a
`filename` keyward argument to `__init__()`.
Additionally where `script_meta` is used in `script.code()` a fallback
to and emptry string was added so it doesn't fail for raw javascript
files without greasemonkey metadata.
2018-09-09 20:51:19 +12:00
Jimmy
32268ae66a
Split _inject_greasemonkey_scripts to separate requirements.
...
Because flake8 was complaining about cyclomatic complexity.
2018-09-09 20:45:21 +12:00
Jesko
abea603119
moving MAX_WORLD_ID to qtutils, changing test names, fixing linter errors, changing error type to WebTabError
2018-09-09 20:45:21 +12:00
Jesko
8ef3d90b1a
removing unwanted space
2018-09-09 20:45:21 +12:00
Jesko
ee9b1f4950
adding tests and improving error messages
2018-09-09 20:45:21 +12:00
Jesko
0c38cbcbdd
putting in current borders
2018-09-09 20:45:21 +12:00
Jesko
8aa682e769
catching greasemonkey errors aswell
2018-09-09 20:45:21 +12:00
Jesko
583c7e4198
catch the exception
2018-09-09 20:45:21 +12:00
Jay Kamat
e295e8054c
Add support for triggering change handlers when using :open-editor
2018-09-08 20:39:38 -07:00
Ben Gartner
f5a07ba3cf
Use outsuffix for relative links in asciidoc files
2018-09-08 12:34:13 -05:00
Florian Bruhin
88cbc9bb12
caret: Also enable end-of-doc-workaround on Windows
2018-09-08 16:32:28 +02:00
Florian Bruhin
3738a8c8a9
Apply caret mode workarounds correctly
2018-09-08 16:20:58 +02:00
Florian Bruhin
1647c28632
Allow lists for javascript.convert_js_arg
2018-09-08 16:20:38 +02:00
Florian Bruhin
b8ab378083
Show web_engine_tab container
...
This is needed for caret tests on Qt < 5.11
2018-09-08 16:04:29 +02:00
Florian Bruhin
20da259de6
Rewrite some :follow-selected tests as unit tests
2018-09-08 16:01:38 +02:00
Florian Bruhin
45eece372f
Don't access caretElement if it's gone
2018-09-08 15:51:42 +02:00
Florian Bruhin
8c0366f0a7
Configure JS logging for test tab objects
2018-09-08 15:34:28 +02:00
Florian Bruhin
bb5fee4adc
Also add a container for webengine_tab
...
Seems to be needed with Qt < 5.11 for things to work.
2018-09-08 14:52:57 +02:00
Florian Bruhin
9c67239847
Fix lint
2018-09-08 14:52:47 +02:00
Florian Bruhin
7cb32dca07
Add a container around webkit_tab
...
This makes the selection appear properly in caret tests - otherwise, --no-xvfb
would be needed.
2018-09-08 13:36:02 +02:00
Florian Bruhin
5978605873
Make caret unittests run with QtWebKit
2018-09-08 13:22:17 +02:00