Skip to content

Commit db06ba1

Browse files
committed
[rb] restore default Firefox Profile settings to match 3.x
1 parent f01662f commit db06ba1

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

rb/lib/selenium/webdriver/firefox/profile.rb

+12-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ class Profile
2525

2626
VALID_PREFERENCE_TYPES = [TrueClass, FalseClass, Integer, Float, String].freeze
2727

28+
DEFAULT_PREFERENCES = {
29+
"browser.newtabpage.enabled" => false,
30+
"browser.startup.homepage" => "about:blank",
31+
"browser.usedOnWindows10.introURL" => "about:blank",
32+
"network.captive-portal-service.enabled" => false,
33+
"security.csp.enable" => false
34+
}.freeze
35+
2836
attr_reader :name, :log_file
2937
attr_writer :secure_ssl, :load_no_focus_lib
3038

@@ -179,10 +187,12 @@ def extension_name_for(path)
179187

180188
def update_user_prefs_in(directory)
181189
path = File.join(directory, 'user.js')
182-
prefs = read_user_prefs(path).merge(@additional_prefs)
190+
prefs = read_user_prefs(path)
191+
prefs.merge! self.class::DEFAULT_PREFERENCES
192+
prefs.merge!(@additional_prefs)
183193

184194
# If the user sets the home page, we should also start up there
185-
prefs['startup.homepage_welcome_url'] = prefs['browser.startup.homepage']
195+
prefs['startup.homepage_welcome_url'] ||= prefs['browser.startup.homepage']
186196

187197
write_prefs prefs, path
188198
end

rb/spec/unit/selenium/webdriver/firefox/profile_spec.rb

+18
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,24 @@ def read_generated_prefs(from = nil)
3232
File.read(File.join(dir, 'user.js'))
3333
end
3434

35+
it 'uses default preferences' do
36+
prefs = read_generated_prefs
37+
expect(prefs).to include('user_pref("browser.newtabpage.enabled", false)')
38+
expect(prefs).to include('user_pref("browser.startup.homepage", "about:blank")')
39+
expect(prefs).to include('user_pref("startup.homepage_welcome_url", "about:blank")')
40+
expect(prefs).to include('user_pref("browser.usedOnWindows10.introURL", "about:blank")')
41+
expect(prefs).to include('user_pref("network.captive-portal-service.enabled", false)')
42+
expect(prefs).to include('user_pref("security.csp.enable", false)')
43+
end
44+
45+
it 'can override welcome page' do
46+
profile['startup.homepage_welcome_url'] = "http://google.com"
47+
48+
prefs = read_generated_prefs
49+
expect(prefs).to include('user_pref("browser.startup.homepage", "about:blank")')
50+
expect(prefs).to include('user_pref("startup.homepage_welcome_url", "http://google.com")')
51+
end
52+
3553
it 'should set additional preferences' do
3654
profile['foo.number'] = 123
3755
profile['foo.boolean'] = true

0 commit comments

Comments
 (0)