Florian Bruhin
5b04f1052f
Add DownloadItem.set_target
...
This allows us to make _set_fileobj private, and also makes some code
simpler.
2016-11-04 18:49:24 +01:00
Florian Bruhin
2c94efbf8a
First big download refactoring chunk
2016-11-04 18:49:24 +01:00
Florian Bruhin
352f83b95e
Rename DownloadItem.do_retry
2016-11-04 18:49:24 +01:00
Florian Bruhin
34b4dcf0d5
Make DownloadItem._retry_info private
2016-11-04 18:49:24 +01:00
Florian Bruhin
70e390a2e8
downloads: Simplify redirect handling
2016-11-04 18:49:24 +01:00
Florian Bruhin
14ecbc0cec
Use jinja for SSL error message
2016-11-03 08:40:42 +01:00
Florian Bruhin
3b7f65d956
Show URL in most questions
2016-11-03 08:40:42 +01:00
Florian Bruhin
d85cfcbc07
Fix ask_for_filename call
2016-11-03 08:40:42 +01:00
Florian Bruhin
a87e46101c
Fix lint
2016-11-03 08:40:42 +01:00
Florian Bruhin
dba29e518a
First working prototype of global prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
9ce1180b31
First attempt at showing prompts in all windows
2016-11-03 08:40:42 +01:00
Florian Bruhin
fefc8c4eb2
Add more tests for prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
653ca9799d
Add a default for SSL questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
dff20ffe35
Fix message.confirm_async calls
2016-11-03 08:40:41 +01:00
Florian Bruhin
fe230219a9
Fix lint
2016-11-03 08:40:41 +01:00
Florian Bruhin
04d24e3d94
Fix permission question
2016-11-03 08:40:41 +01:00
Florian Bruhin
75bb2265be
Take text as pos. argument for _build_question
2016-11-03 08:40:41 +01:00
Florian Bruhin
f0ed43ec20
Use message module as API for most questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
756564ebff
Get rid of message_bridge.set_cmd_text
2016-11-03 08:40:41 +01:00
Florian Bruhin
523369882a
Add title/text to questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
51a0c2a32c
Remove unused imports
2016-10-31 07:27:30 +01:00
Florian Bruhin
f6aefabf40
Initialize QtWebKit-specific stuff with QtWebKit only
...
Maybe this fixes issues we had with QtWebEngine segfaults in proxy.py on
Travis?
Note we can't move cookies/cache/network stuff yet as we still need that
for e.g. adblock downloads with QtWebEngine.
2016-10-30 23:07:19 +01:00
Florian Bruhin
428637746a
Merge branch 'insert-text-js' of https://github.com/paretje/qutebrowser into paretje-insert-text-js
2016-10-30 19:51:25 +01:00
Kevin Velghe
0caee94994
Remove has_js
2016-10-30 18:54:34 +01:00
Florian Bruhin
f4022a86fd
Improve line breaking
2016-10-30 18:49:41 +01:00
Kevin Velghe
e83b99b0e1
Run javascript on document element
...
This enables `:jseval` for users who disable javascript on webpages.
2016-10-30 11:39:10 +01:00
Kevin Velghe
efadbe64b5
insert_text doesn't need javascript to be enabled
...
It runs in the context of an element, which seems possible, even without
javascript enabled (in qtwebkit?).
2016-10-20 15:54:06 +02:00
Daniel Karbach
7eafa30084
:tab-close option names
...
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
845298ae41
:tab-close option names
...
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Florian Bruhin
2ae9f14d22
Add pylint disable
2016-10-18 06:22:45 +02:00
Kevin Velghe
59536828a1
Implement hint target "current" for webengine
2016-10-17 23:33:44 +02:00
Florian Bruhin
ab43ba71d2
Merge branch 'webkitelemparent' of https://github.com/paretje/qutebrowser into paretje-webkitelemparent
2016-10-17 22:26:58 +02:00
Kevin Velghe
ed91e1d4c8
Implement __setitem__ in WebEngineElement
2016-10-17 14:14:45 +02:00
Kevin Velghe
7bb4700352
Return None when parent is a null webelement
2016-10-14 14:54:43 +02:00
Florian Bruhin
26b6688b61
Merge branch 'netrc' of https://github.com/paretje/qutebrowser into paretje-netrc
2016-10-14 06:39:03 +02:00
Kevin Velghe
087342894e
Add setting for location of netrc file
...
There is no reason I guess to do this with an environment variable. On
top of that, introducing a settings also documents the netrc feature
itself (Closes #1975?).
2016-10-09 00:15:46 +02:00
Daniel Schadt
ffa276a182
pdfjs: compatibility for v1.6.210
...
They renamed PDFView to PDFViewerApplication, which we need to account
for in our pdfjs scripts.
Also, it seems like the actual viewer is now only created when the DOM
has been loaded. This means that at the time when our script is
executed, the viewer does not yet exist. Thus we need to delay the open
request too by registering a DOMContentLoaded handler.
2016-10-06 14:43:16 +02:00
Kevin Velghe
e3c92a9bae
Set netrc location with QUTE_NETRC
2016-10-05 12:03:52 +02:00
Florian Bruhin
2f0db878e6
Break long lines
2016-10-05 09:07:35 +02:00
Florian Bruhin
b107522d8c
Make cssutils a lazy import
...
Importing cssutils takes more than a second on the 2009 Thinkpad with a
Core2 I'm on right now, so let's only import it when actually necessary.
2016-10-04 08:51:10 +02:00
Florian Bruhin
bd831939bc
Adjust for scrolling off-by-one errors
...
On some pages with particular zoom levels, elem.offsetHeight is exactly
one pixel more than elem.scrollHeight when fully scrolled down.
This is probably due to rounding/floats/off-by-one errors somewhere
inside Chromium?
We now instead always clip the displayed percentage at 100% (so we don't
display 101%), and consider the page fully scrolled even if we're
scrolled more than the page.
2016-10-03 06:52:54 +02:00
Florian Bruhin
5b11eaad85
Merge branch 'issue1987' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1987
2016-10-03 06:45:01 +02:00
Florian Bruhin
c7b74edfbe
Merge branch 'issue1940' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1940
2016-10-03 06:41:19 +02:00
Florian Bruhin
6b76d5defa
Whitespace changes
2016-09-30 17:54:23 +02:00
Daniel Karbach
eaa754648d
common base for userscript exceptions
2016-09-30 09:26:43 +02:00
Florian Bruhin
822c100f52
Make 0 a usable count for :tab-focus
...
Fixes #1768
2016-09-30 08:33:16 +02:00
Daniel Karbach
46ca91cfc0
only use ';' as query delim if there's no '&'
2016-09-29 17:45:12 +02:00
Daniel Karbach
8eb12c6cb9
improved error messages for inexistent userscripts
...
fixes #1940
2016-09-29 13:29:39 +02:00
Daniel Karbach
b195b5b40d
detect ';' delimiters when yanking URL
...
fixes #1987
2016-09-29 11:02:30 +02:00
Jakub Klinkovský
268db48f19
prettify yank pretty-url
2016-09-22 14:25:48 +02:00
Florian Bruhin
57d896e989
Fix hints when zoomed with QtWebEngine
...
We mutated rect (coming from self._js_dict), which means we used the
already adjusted values the second time we called rect_on_view.
Fixes #1863 .
2016-09-21 20:09:31 +02:00
Florian Bruhin
0d64257049
Add missing docstring
2016-09-15 17:16:30 +02:00
Florian Bruhin
37fa7431b0
Serve broken qutebrowser logo via qute:resources
...
This is needed when we want to display an error page after the user
requested a qute:// URL, as qute:// URLs can't access file:// content
with QtWebEngine.
2016-09-15 16:06:25 +02:00
Florian Bruhin
7e30792bfe
Fix lint
2016-09-15 14:51:22 +02:00
Florian Bruhin
e5293d34de
Add missing str() calls
2016-09-15 14:51:21 +02:00
Florian Bruhin
ed4f476ab4
Get rid of queued messages and unused code
2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28
Initial implementation of new messages
2016-09-15 14:51:21 +02:00
Florian Bruhin
c071964091
Fix lint
2016-09-14 15:21:30 +02:00
Florian Bruhin
982d00ff84
Let qute:* handlers decide their mimetype
...
This means we have to guess less, and handlers can give us HTML as text
which we then encode for them.
2016-09-14 12:33:20 +02:00
Florian Bruhin
5501d90268
Fix lint
2016-09-14 12:00:29 +02:00
Florian Bruhin
a1527f35d4
Allow to restrict qute:* pages to a backend
2016-09-14 11:04:47 +02:00
Florian Bruhin
71bc5bb943
Move QuteSchemeError to qutescheme
2016-09-14 11:04:37 +02:00
Florian Bruhin
aa71c9ae58
Initial qute:* support for QtWebEngine
2016-09-14 10:18:25 +02:00
Florian Bruhin
0b310d6910
Fix removing of a clicked download
2016-09-12 21:47:01 +02:00
Florian Bruhin
5b0fc41367
Log scroll data we got via JS
2016-09-12 21:46:51 +02:00
Florian Bruhin
4b4582c452
Adjust comment in _rect_on_view_js
2016-09-12 20:00:59 +02:00
Florian Bruhin
14de9f58b8
Fix docstring
2016-09-12 18:33:57 +02:00
Florian Bruhin
8a35ebac7b
Use a separate JS world for :jseval
2016-09-12 18:27:51 +02:00
Florian Bruhin
c9e3cc04cf
Accept a name for --world with :jseval
2016-09-12 18:23:23 +02:00
Florian Bruhin
b2608d7697
Add --world to :jseval
2016-09-12 15:59:17 +02:00
Florian Bruhin
a16c5a6a25
Add a world argument to tab.run_js_async
2016-09-12 15:59:03 +02:00
Florian Bruhin
2388489038
downloads: Be okay with the tmpdir being gone
2016-09-12 11:30:44 +02:00
Florian Bruhin
0fef141db5
Handle QBuffer in on_feature_permission_requested
2016-09-12 09:43:08 +02:00
Florian Bruhin
43b563f600
Add missing docstring
2016-09-11 21:27:16 +02:00
Florian Bruhin
7ec62c4523
Make some more things in download.py private
2016-09-11 20:58:34 +02:00
Florian Bruhin
3550d59e3a
Make DownloadItem.reply private
...
This adds a new uses_nam method to DownloadItem though.
2016-09-11 20:58:34 +02:00
Florian Bruhin
36b7485262
Make some things in downloads.py private
2016-09-11 20:48:19 +02:00
Florian Bruhin
1b5cd98d38
Fix lint
2016-09-11 20:16:03 +02:00
Florian Bruhin
8eeb3b9c75
QtWebEngine: Round scroll percentages
2016-09-11 19:59:00 +02:00
Florian Bruhin
fff777404b
Use QApplication.postEvent again
...
We had some funny segfaults reported during scrolling (i.e. with
QApplication.sendEvent), and some code already had to use postpone=True
so there was no segfault...
So now we're back to postEvent again, and eliminated the main reason for
segfaults with it, which was re-using (and -posting) events which had
already been posted.
At least during tests this seems to run stable, let's hope it helps for
the people having crashes as well.
2016-09-11 19:37:09 +02:00
Florian Bruhin
de03feabfe
Fix DownloadModel.itemFlags with invalid index
2016-09-11 17:10:52 +02:00
Florian Bruhin
4d96586eb6
Merge branch 'visibility-api' of https://github.com/Ban3/qutebrowser into Ban3-visibility-api
2016-09-11 16:23:14 +02:00
Florian Bruhin
4686e0349b
Fix lint
2016-09-11 16:06:16 +02:00
Florian Bruhin
1c09649dcb
Pass QNAM instead of page to DownloadManager
2016-09-11 14:58:07 +02:00
Florian Bruhin
e8f8f1e72a
Add DownloadItem.remove
...
This also gets rid of the remove_items method and replaces it by a
simple loop. I don't think the optimization is actually needed...
2016-09-11 14:58:07 +02:00
Florian Bruhin
b332d22967
Make DownloadModel a sequence
2016-09-11 14:58:07 +02:00
Florian Bruhin
b949e4d73a
Start splitting DownloadModel from DownloadManager
...
This mostly works, apart from remove_item/remove_items not being
available on the model.
2016-09-11 14:58:07 +02:00
Jussi Timperi
19d9ec374d
Handle the missing attribute
2016-09-11 13:12:27 +03:00
Jussi Timperi
1adc308676
Access enums by their base class
2016-09-11 13:04:58 +03:00
Florian Bruhin
4c55963dc3
Fix lint
2016-09-10 17:32:04 +02:00
Jussi Timperi
6437a28184
QtWebKit: Add version checks to visibility API
2016-09-10 17:55:00 +03:00
Florian Bruhin
bd5f63db46
Make an invalid download target fatal
...
This should never happen, so there's no reason for it to log an error
instead of raising an exception.
2016-09-10 16:42:27 +02:00
Florian Bruhin
cc4cd6913d
Make download model qtmodeltester compliant
2016-09-10 16:24:31 +02:00
Florian Bruhin
3bf841bdb4
Delete file on infinite redirects
2016-09-10 16:24:31 +02:00
Florian Bruhin
dc0ddd023a
Add logging for deleting/removing downloads
2016-09-10 16:24:31 +02:00
Jussi Timperi
13d73359d4
QtWebKit: Handle visibility API
...
closes #1886
2016-09-10 16:07:29 +03:00
Florian Bruhin
7f2cc5dbc3
Make remove_data in DownloadItem.cancel kw-only
2016-09-09 19:29:14 +02:00
Florian Bruhin
b39d33d5e3
Revert "Remove remove_data arg for DownloadItem.cancel"
...
This reverts commit ece85dc903
.
It's actually needed in _ask_confirm_question...
2016-09-09 19:28:17 +02:00
Florian Bruhin
433a8a8ced
Fix filename with a misconfigured XDG_DOWNLOAD_DIR
...
'filename' is the relative path we got from the broken config file.
Instead of using the garbage, let's just drop it and use the suggested
name (self.basename) instead.
2016-09-09 18:46:51 +02:00
Florian Bruhin
a5793695de
Mark almost-impossible check with a nocover pragma
...
This can only happen when running :download-open on a download created
by :adblock-update right now, which is a very small chance, so we can't
easily test for it.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ece85dc903
Remove remove_data arg for DownloadItem.cancel
...
This was added in f0779f8cc0
but never
actually used.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ab30124bd0
Remove (hopefully) dead download code
...
If the percentage is None, remaining/total should always be None
too (as percentage/remaining being None should be triggered by total
being None).
2016-09-09 18:46:51 +02:00
Florian Bruhin
7611281563
Add basename to "download finished" message
2016-09-09 18:46:51 +02:00
Florian Bruhin
f75f45addc
Fix at_bottom scrolling check
...
This is a regression introduced in
b45f940e72
2016-09-09 16:03:51 +02:00
Florian Bruhin
b45f940e72
Move some scroll logic from JS to Python
2016-09-09 14:19:21 +02:00
Florian Bruhin
f8f74400c6
Fix more lint
2016-09-07 18:57:00 +02:00
Florian Bruhin
955910a0e8
Fix lint
2016-09-07 18:45:46 +02:00
Florian Bruhin
44d1056e54
QtWebEngine: Implement custom HTTP headers
2016-09-07 18:29:38 +02:00
Florian Bruhin
5a54699863
Remove unused code from qutebrowser.browser.shared
2016-09-07 18:17:56 +02:00
Florian Bruhin
df7f74c782
Add qutebrowser.browser.shared
2016-09-07 18:17:05 +02:00
Florian Bruhin
02bd42cbed
Implement adblocking for QtWebEngine
2016-09-07 17:27:21 +02:00
Florian Bruhin
3a55dbf712
Don't use 'current' win_id for adblock update
2016-09-07 16:24:51 +02:00
Florian Bruhin
bac7a6eaf2
Remove BrowserPage.chooseFile
...
Seems like QtWebKit comes with a default implementation of that.
2016-09-07 13:39:19 +02:00
Florian Bruhin
8c3906b784
Remove BrowserPage.shouldInterruptJavaScript
...
This is useless due to a Qt bug anyways:
https://bugreports.qt.io/issues/?jql=text%20~%20%22shouldInterruptJavascript%22
2016-09-07 12:49:57 +02:00
Florian Bruhin
fca37abf55
QtWebEngine: Implement webelem.classes
2016-09-07 12:31:48 +02:00
Florian Bruhin
3e1583bb1c
Make WebKitElement._is_visible private
...
It makes a lot of sense for this to be in webkitelem.py, but it should
not be public API as it's only used internally and can't be implemented
here with QtWebEngine.
2016-09-07 11:58:39 +02:00
Florian Bruhin
ae3b7c9f15
Remove unused imports
2016-09-07 11:51:57 +02:00
Florian Bruhin
0ff98f568c
Add a webelem logger
2016-09-07 11:51:23 +02:00
Florian Bruhin
c3b80c6b5b
Use double quotes for JS strings
...
eslint won't enforce it inside that snippet, but hey, why not?
2016-09-07 11:48:34 +02:00
Florian Bruhin
60c86a08c4
Get rid of WebElement.debug_text
2016-09-07 11:47:39 +02:00
Florian Bruhin
e700d11447
Add check_vanished() in webkitelem.insert_text
2016-09-07 11:29:26 +02:00
Florian Bruhin
8f9cfcf232
Get rid of webelem.run_js_async
2016-09-07 11:27:37 +02:00
Florian Bruhin
78d64f4791
Get rid of webkitelem.focus_elem
2016-09-07 11:24:28 +02:00
Florian Bruhin
948fa033c7
Implement :insert-text for QtWebEngine
2016-09-07 11:20:32 +02:00
Florian Bruhin
ee5a972069
Move auto-insert-mode handling to browsertab
...
This means auto-insert-mode now works correctly with QtWebEngine.
2016-09-07 10:24:27 +02:00
Florian Bruhin
2ef6423cf2
Add some QtWebEngine comments to webkit.webview
2016-09-07 10:11:01 +02:00
Florian Bruhin
919196714b
QtWebEngine: Implement WebEngineScroller.at_bottom
2016-09-07 09:32:51 +02:00
Florian Bruhin
7c4548ece1
Split off _yank_url from :yank
2016-09-06 18:19:40 +02:00
nanjekyejoannah
d3e19ec8fc
Add general -> yank-ignored-url-parameters
2016-09-06 18:19:40 +02:00
Florian Bruhin
80ac0c1b1b
Remove createWindow error message
...
See https://github.com/The-Compiler/qutebrowser/issues/1911#issuecomment-244966547
2016-09-06 17:57:24 +02:00
Florian Bruhin
76176814e0
Move createWindow debug logging to the top
2016-09-06 17:56:25 +02:00
Florian Bruhin
921d5794a7
Add missing file
2016-09-06 17:17:12 +02:00
Florian Bruhin
abdc604ead
:tab-clone - restore tab zoom after history
...
This makes cloning the zoom work with QtWebEngine.
2016-09-06 15:15:59 +02:00
Florian Bruhin
85b3d08c66
bdd: Fix scrolling tests with QtWebEngine
...
Scrolling happens async with QtWebEngine, so we add a new log output
when the page was scrolled, and wait for that in various places.
2016-09-06 14:58:33 +02:00
Florian Bruhin
1ed637a906
QtWebEngine: Initial session implementation
2016-09-06 13:55:35 +02:00
Florian Bruhin
f6ba859896
Move tabhistory.TabHistoryItem to misc.sessions
...
This makes browser.webkit.tabhistory contain only QtWebKit-specific
code.
2016-09-06 09:50:55 +02:00
Florian Bruhin
3b8537ff26
Make webkitelem/mhtml imports optional in commands
2016-09-05 18:20:48 +02:00
Florian Bruhin
bf3cccfe56
Make QWebPage import in commands.py optional
2016-09-05 18:15:30 +02:00
Florian Bruhin
1773c1cbd6
Remove wrong @pyqtSlot in downloads.py
2016-09-05 18:14:50 +02:00
Florian Bruhin
5f58ebebbf
Remove needs_js for @cmdutils.register
...
This gets rid of a QtWebKit import in commands.py, and also makes those
checks work later when we have per-domain settings.
2016-09-05 18:11:01 +02:00
Florian Bruhin
af40abd3b2
Add websettings.shutdown()
2016-09-05 17:58:56 +02:00
Florian Bruhin
308f38ab34
Rename javascript-can-open-windows setting
...
Fixes #1896 .
2016-09-05 17:09:14 +02:00
Florian Bruhin
61270b8f92
Fix lint
2016-09-05 16:21:30 +02:00
Florian Bruhin
f2c4cedf61
QtWebEngine: Don't add invalid URLs to history
2016-09-05 15:08:00 +02:00
Florian Bruhin
cf070d48f2
WebEngine: Disable createWindow for Qt < 5.7.1
...
Fixes #1911 .
The bugfix is backported in my qt5-webengine-debug package, and
QUTE_QTBUG54419_PATCHED can be set to force qutebrowser to use
createWindow.
2016-09-05 15:08:00 +02:00
Florian Bruhin
6a26907ded
Fix lint
2016-09-05 15:08:00 +02:00
Florian Bruhin
8b7d21876f
Add debug logging to createWindow
2016-09-05 15:08:00 +02:00
Florian Bruhin
2687b59373
Code cleanup
2016-09-05 15:08:00 +02:00
Florian Bruhin
a4cd0291a6
Implement QWebEngineView.createWindow
2016-09-05 15:08:00 +02:00
Florian Bruhin
a85ea92a21
Merge branch 'open-editor-all-modes' of https://github.com/kobezda/qutebrowser into kobezda-open-editor-all-modes
2016-09-05 10:59:53 +02:00