diff -r 5d1934c27137 Lib/test/test_webbrowser.py --- a/Lib/test/test_webbrowser.py Tue Oct 25 21:35:22 2016 -0500 +++ b/Lib/test/test_webbrowser.py Thu Oct 27 11:11:57 2016 +0300 @@ -95,6 +95,31 @@ class MozillaCommandTest(CommandTestMixi 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'], arguments=['openURL({})'.format(URL)]) diff -r 5d1934c27137 Lib/webbrowser.py --- a/Lib/webbrowser.py Tue Oct 25 21:35:22 2016 -0500 +++ b/Lib/webbrowser.py Thu Oct 27 11:11:57 2016 +0300 @@ -245,7 +245,17 @@ class UnixBrowser(BaseBrowser): 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"))