Add --private flag to edit_url.
The command :edit-url --private (or :edit-url -p) will spawn a new private window with the url input from the editor. I had to add 'Given I have a fresh instance' to the feature file to ensure tests were not interfering. Resolves #3185.
This commit is contained in:
parent
984dd1ba8c
commit
6519f500a9
@ -2112,7 +2112,8 @@ class CommandDispatcher:
|
|||||||
self._current_widget().clear_ssl_errors()
|
self._current_widget().clear_ssl_errors()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', scope='window')
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
def edit_url(self, url=None, bg=False, tab=False, window=False):
|
def edit_url(self, url=None, bg=False, tab=False, window=False,
|
||||||
|
private=False):
|
||||||
"""Navigate to a url formed in an external editor.
|
"""Navigate to a url formed in an external editor.
|
||||||
|
|
||||||
The editor which should be launched can be configured via the
|
The editor which should be launched can be configured via the
|
||||||
@ -2123,6 +2124,7 @@ class CommandDispatcher:
|
|||||||
bg: Open in a new background tab.
|
bg: Open in a new background tab.
|
||||||
tab: Open in a new tab.
|
tab: Open in a new tab.
|
||||||
window: Open in a new window.
|
window: Open in a new window.
|
||||||
|
private: Open a new window in private browsing mode.
|
||||||
"""
|
"""
|
||||||
cmdutils.check_exclusive((tab, bg, window), 'tbw')
|
cmdutils.check_exclusive((tab, bg, window), 'tbw')
|
||||||
|
|
||||||
@ -2133,7 +2135,7 @@ class CommandDispatcher:
|
|||||||
# Passthrough for openurl args (e.g. -t, -b, -w)
|
# Passthrough for openurl args (e.g. -t, -b, -w)
|
||||||
ed.editing_finished.connect(functools.partial(
|
ed.editing_finished.connect(functools.partial(
|
||||||
self._open_if_changed, old_url=old_url, bg=bg, tab=tab,
|
self._open_if_changed, old_url=old_url, bg=bg, tab=tab,
|
||||||
window=window))
|
window=window, private=private))
|
||||||
|
|
||||||
ed.edit(url or old_url)
|
ed.edit(url or old_url)
|
||||||
|
|
||||||
@ -2158,7 +2160,7 @@ class CommandDispatcher:
|
|||||||
self._tabbed_browser.jump_mark(key)
|
self._tabbed_browser.jump_mark(key)
|
||||||
|
|
||||||
def _open_if_changed(self, url=None, old_url=None, bg=False, tab=False,
|
def _open_if_changed(self, url=None, old_url=None, bg=False, tab=False,
|
||||||
window=False):
|
window=False, private=False):
|
||||||
"""Open a URL unless it's already open in the tab.
|
"""Open a URL unless it's already open in the tab.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@ -2167,9 +2169,11 @@ class CommandDispatcher:
|
|||||||
bg: Open in a new background tab.
|
bg: Open in a new background tab.
|
||||||
tab: Open in a new tab.
|
tab: Open in a new tab.
|
||||||
window: Open in a new window.
|
window: Open in a new window.
|
||||||
|
private: Open a new window in private browsing mode.
|
||||||
"""
|
"""
|
||||||
if bg or tab or window or url != old_url:
|
if bg or tab or window or private or url != old_url:
|
||||||
self.openurl(url=url, bg=bg, tab=tab, window=window)
|
self.openurl(url=url, bg=bg, tab=tab, window=window,
|
||||||
|
private=private)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', scope='window')
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
def fullscreen(self, leave=False):
|
def fullscreen(self, leave=False):
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
Feature: Opening external editors
|
Feature: Opening external editors
|
||||||
|
|
||||||
|
Background:
|
||||||
|
Given I have a fresh instance
|
||||||
|
|
||||||
## :edit-url
|
## :edit-url
|
||||||
|
|
||||||
Scenario: Editing a URL
|
Scenario: Editing a URL
|
||||||
@ -49,6 +52,26 @@ Feature: Opening external editors
|
|||||||
- active: true
|
- active: true
|
||||||
url: http://localhost:*/data/numbers/2.txt
|
url: http://localhost:*/data/numbers/2.txt
|
||||||
|
|
||||||
|
Scenario: Editing a URL with -p
|
||||||
|
When I open data/numbers/1.txt in a new tab
|
||||||
|
And I run :tab-only
|
||||||
|
And I set up a fake editor replacing "1.txt" by "2.txt"
|
||||||
|
And I run :edit-url -p
|
||||||
|
Then data/numbers/2.txt should be loaded
|
||||||
|
And the session should look like:
|
||||||
|
windows:
|
||||||
|
- tabs:
|
||||||
|
- active: true
|
||||||
|
history:
|
||||||
|
- active: true
|
||||||
|
url: http://localhost:*/data/numbers/1.txt
|
||||||
|
- tabs:
|
||||||
|
- active: true
|
||||||
|
history:
|
||||||
|
- active: true
|
||||||
|
url: http://localhost:*/data/numbers/2.txt
|
||||||
|
private: true
|
||||||
|
|
||||||
Scenario: Editing a URL with -t and -b
|
Scenario: Editing a URL with -t and -b
|
||||||
When I run :edit-url -t -b
|
When I run :edit-url -t -b
|
||||||
Then the error "Only one of -t/-b/-w can be given!" should be shown
|
Then the error "Only one of -t/-b/-w can be given!" should be shown
|
||||||
|
Loading…
Reference in New Issue
Block a user