Issue #23262: The webbrowser module now supports Firefox 36+ and derived

browsers.  Based on patch by Oleg Broytman.
This commit is contained in:
Serhiy Storchaka 2016-10-30 19:16:33 +02:00
parent 32c0d3ada5
commit c9b750d249
3 changed files with 48 additions and 8 deletions

View file

@ -93,6 +93,31 @@ class MozillaCommandTest(CommandTestMixin, unittest.TestCase):
browser_class = webbrowser.Mozilla
def test_open(self):
self._test('open',
options=[],
arguments=[URL])
def test_open_with_autoraise_false(self):
self._test('open', kw=dict(autoraise=False),
options=[],
arguments=[URL])
def test_open_new(self):
self._test('open_new',
options=[],
arguments=['-new-window', URL])
def test_open_new_tab(self):
self._test('open_new_tab',
options=[],
arguments=['-new-tab', URL])
class NetscapeCommandTest(CommandTestMixin, unittest.TestCase):
browser_class = webbrowser.Netscape
def test_open(self):
self._test('open',
options=['-raise', '-remote'],

View file

@ -245,7 +245,17 @@ def open(self, url, new=0, autoraise=True):
class Mozilla(UnixBrowser):
"""Launcher class for Mozilla/Netscape browsers."""
"""Launcher class for Mozilla browsers."""
remote_args = ['%action', '%s']
remote_action = ""
remote_action_newwin = "-new-window"
remote_action_newtab = "-new-tab"
background = True
class Netscape(UnixBrowser):
"""Launcher class for Netscape browser."""
raise_opts = ["-noraise", "-raise"]
remote_args = ['-remote', 'openURL(%s%action)']
@ -254,8 +264,6 @@ class Mozilla(UnixBrowser):
remote_action_newtab = ",new-tab"
background = True
Netscape = Mozilla
class Galeon(UnixBrowser):
"""Launcher class for Galeon/Epiphany browsers."""
@ -430,14 +438,18 @@ def register_X_browsers():
if shutil.which("x-www-browser"):
register("x-www-browser", None, BackgroundBrowser("x-www-browser"))
# The Mozilla/Netscape browsers
for browser in ("mozilla-firefox", "firefox",
"mozilla-firebird", "firebird",
"iceweasel", "iceape",
"seamonkey", "mozilla", "netscape"):
# The Mozilla browsers
for browser in ("firefox", "iceweasel", "iceape", "seamonkey"):
if shutil.which(browser):
register(browser, None, Mozilla(browser))
# The Netscape and old Mozilla browsers
for browser in ("mozilla-firefox",
"mozilla-firebird", "firebird",
"mozilla", "netscape"):
if shutil.which(browser):
register(browser, None, Netscape(browser))
# Konqueror/kfm, the KDE browser.
if shutil.which("kfm"):
register("kfm", Konqueror, Konqueror("kfm"))

View file

@ -113,6 +113,9 @@ Core and Builtins
Library
-------
- Issue #23262: The webbrowser module now supports Firefox 36+ and derived
browsers. Based on patch by Oleg Broytman.
- Issue #27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
by representing the scale as float value internally in Tk. tkinter.IntVar
now works if float value is set to underlying Tk variable.