Commit 4867c234 authored by Serhiy Storchaka's avatar Serhiy Storchaka

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

browsers.  Based on patch by Oleg Broytman.
parent f8fcf88d
...@@ -93,6 +93,31 @@ class MozillaCommandTest(CommandTestMixin, unittest.TestCase): ...@@ -93,6 +93,31 @@ class MozillaCommandTest(CommandTestMixin, unittest.TestCase):
browser_class = webbrowser.Mozilla 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): def test_open(self):
self._test('open', self._test('open',
options=['-raise', '-remote'], options=['-raise', '-remote'],
......
...@@ -245,7 +245,17 @@ class UnixBrowser(BaseBrowser): ...@@ -245,7 +245,17 @@ class UnixBrowser(BaseBrowser):
class Mozilla(UnixBrowser): 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"] raise_opts = ["-noraise", "-raise"]
remote_args = ['-remote', 'openURL(%s%action)'] remote_args = ['-remote', 'openURL(%s%action)']
...@@ -254,8 +264,6 @@ class Mozilla(UnixBrowser): ...@@ -254,8 +264,6 @@ class Mozilla(UnixBrowser):
remote_action_newtab = ",new-tab" remote_action_newtab = ",new-tab"
background = True background = True
Netscape = Mozilla
class Galeon(UnixBrowser): class Galeon(UnixBrowser):
"""Launcher class for Galeon/Epiphany browsers.""" """Launcher class for Galeon/Epiphany browsers."""
...@@ -430,14 +438,18 @@ def register_X_browsers(): ...@@ -430,14 +438,18 @@ def register_X_browsers():
if shutil.which("x-www-browser"): if shutil.which("x-www-browser"):
register("x-www-browser", None, BackgroundBrowser("x-www-browser")) register("x-www-browser", None, BackgroundBrowser("x-www-browser"))
# The Mozilla/Netscape browsers # The Mozilla browsers
for browser in ("mozilla-firefox", "firefox", for browser in ("firefox", "iceweasel", "iceape", "seamonkey"):
"mozilla-firebird", "firebird",
"iceweasel", "iceape",
"seamonkey", "mozilla", "netscape"):
if shutil.which(browser): if shutil.which(browser):
register(browser, None, Mozilla(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. # Konqueror/kfm, the KDE browser.
if shutil.which("kfm"): if shutil.which("kfm"):
register("kfm", Konqueror, Konqueror("kfm")) register("kfm", Konqueror, Konqueror("kfm"))
......
...@@ -113,6 +113,9 @@ Core and Builtins ...@@ -113,6 +113,9 @@ Core and Builtins
Library 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 - Issue #27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused
by representing the scale as float value internally in Tk. tkinter.IntVar by representing the scale as float value internally in Tk. tkinter.IntVar
now works if float value is set to underlying Tk variable. now works if float value is set to underlying Tk variable.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment