selenium-webdriver 3.0.0.beta4.0 → 4.0.0.alpha5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +679 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE +1 -1
  5. data/README.md +1 -1
  6. data/lib/selenium-webdriver.rb +2 -2
  7. data/lib/selenium/server.rb +23 -16
  8. data/lib/selenium/webdriver.rb +43 -25
  9. data/lib/selenium/webdriver/atoms.rb +20 -1
  10. data/lib/selenium/webdriver/atoms/findElements.js +122 -0
  11. data/lib/selenium/webdriver/atoms/getAttribute.js +84 -11
  12. data/lib/selenium/webdriver/atoms/isDisplayed.js +100 -0
  13. data/lib/selenium/webdriver/chrome.rb +15 -20
  14. data/lib/selenium/webdriver/chrome/bridge.rb +29 -66
  15. data/lib/selenium/webdriver/{edge/service.rb → chrome/driver.rb} +19 -22
  16. data/lib/selenium/webdriver/chrome/options.rb +221 -0
  17. data/lib/selenium/webdriver/chrome/profile.rb +6 -7
  18. data/lib/selenium/webdriver/chrome/service.rb +20 -20
  19. data/lib/selenium/webdriver/common.rb +19 -11
  20. data/lib/selenium/webdriver/common/action_builder.rb +98 -246
  21. data/lib/selenium/webdriver/common/alert.rb +2 -7
  22. data/lib/selenium/webdriver/common/driver.rb +89 -51
  23. data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +45 -0
  24. data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +50 -0
  25. data/lib/selenium/webdriver/common/driver_extensions/{has_input_devices.rb → has_debugger.rb} +12 -25
  26. data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +38 -0
  27. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +3 -5
  28. data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +51 -0
  29. data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +3 -3
  30. data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +51 -0
  31. data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +2 -2
  32. data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +2 -2
  33. data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +2 -2
  34. data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +4 -4
  35. data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +9 -3
  36. data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +3 -5
  37. data/lib/selenium/webdriver/common/element.rb +32 -10
  38. data/lib/selenium/webdriver/common/error.rb +103 -121
  39. data/lib/selenium/webdriver/common/file_reaper.rb +3 -5
  40. data/lib/selenium/webdriver/common/html5/local_storage.rb +2 -2
  41. data/lib/selenium/webdriver/common/html5/session_storage.rb +2 -2
  42. data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +3 -2
  43. data/lib/selenium/webdriver/common/interactions/input_device.rb +54 -0
  44. data/lib/selenium/webdriver/common/interactions/interaction.rb +53 -0
  45. data/lib/selenium/webdriver/{phantomjs.rb → common/interactions/interactions.rb} +17 -20
  46. data/lib/selenium/webdriver/common/interactions/key_actions.rb +145 -0
  47. data/lib/selenium/webdriver/common/interactions/key_input.rb +66 -0
  48. data/lib/selenium/webdriver/common/interactions/none_input.rb +36 -0
  49. data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +363 -0
  50. data/lib/selenium/webdriver/common/interactions/pointer_input.rb +139 -0
  51. data/lib/selenium/webdriver/common/keys.rb +37 -15
  52. data/lib/selenium/webdriver/common/log_entry.rb +4 -4
  53. data/lib/selenium/webdriver/common/logger.rb +147 -0
  54. data/lib/selenium/webdriver/common/logs.rb +2 -2
  55. data/lib/selenium/webdriver/common/manager.rb +177 -0
  56. data/lib/selenium/webdriver/common/navigation.rb +2 -2
  57. data/lib/selenium/webdriver/common/options.rb +47 -105
  58. data/lib/selenium/webdriver/common/platform.rb +44 -38
  59. data/lib/selenium/webdriver/common/port_prober.rb +8 -19
  60. data/lib/selenium/webdriver/common/profile_helper.rb +13 -5
  61. data/lib/selenium/webdriver/common/proxy.rb +14 -8
  62. data/lib/selenium/webdriver/common/search_context.rb +16 -20
  63. data/lib/selenium/webdriver/common/service.rb +115 -30
  64. data/lib/selenium/webdriver/common/socket_lock.rb +12 -7
  65. data/lib/selenium/webdriver/common/socket_poller.rb +29 -22
  66. data/lib/selenium/webdriver/common/target_locator.rb +6 -6
  67. data/lib/selenium/webdriver/common/timeouts.rb +2 -2
  68. data/lib/selenium/webdriver/common/wait.rb +14 -8
  69. data/lib/selenium/webdriver/common/window.rb +38 -2
  70. data/lib/selenium/webdriver/common/zipper.rb +3 -5
  71. data/lib/selenium/webdriver/edge.rb +33 -20
  72. data/lib/selenium/webdriver/edge_chrome/bridge.rb +30 -0
  73. data/lib/selenium/webdriver/edge_chrome/driver.rb +38 -0
  74. data/lib/selenium/webdriver/{common/driver_extensions/has_touch_screen.rb → edge_chrome/options.rb} +10 -12
  75. data/lib/selenium/webdriver/edge_chrome/profile.rb +33 -0
  76. data/lib/selenium/webdriver/edge_chrome/service.rb +36 -0
  77. data/lib/selenium/webdriver/edge_html/driver.rb +39 -0
  78. data/lib/selenium/webdriver/edge_html/options.rb +91 -0
  79. data/lib/selenium/webdriver/edge_html/service.rb +47 -0
  80. data/lib/selenium/webdriver/firefox.rb +24 -29
  81. data/lib/selenium/webdriver/firefox/bridge.rb +15 -39
  82. data/lib/selenium/webdriver/firefox/{util.rb → driver.rb} +13 -19
  83. data/lib/selenium/webdriver/firefox/extension.rb +28 -8
  84. data/lib/selenium/webdriver/firefox/options.rb +162 -0
  85. data/lib/selenium/webdriver/firefox/profile.rb +23 -82
  86. data/lib/selenium/webdriver/firefox/profiles_ini.rb +5 -5
  87. data/lib/selenium/webdriver/firefox/service.rb +18 -37
  88. data/lib/selenium/webdriver/ie.rb +13 -19
  89. data/lib/selenium/webdriver/ie/driver.rb +40 -0
  90. data/lib/selenium/webdriver/ie/options.rb +118 -0
  91. data/lib/selenium/webdriver/ie/service.rb +20 -20
  92. data/lib/selenium/webdriver/remote.rb +15 -17
  93. data/lib/selenium/webdriver/remote/bridge.rb +281 -300
  94. data/lib/selenium/webdriver/remote/capabilities.rb +102 -83
  95. data/lib/selenium/webdriver/remote/commands.rb +132 -192
  96. data/lib/selenium/webdriver/remote/driver.rb +52 -0
  97. data/lib/selenium/webdriver/remote/http/common.rb +23 -13
  98. data/lib/selenium/webdriver/remote/http/curb.rb +10 -7
  99. data/lib/selenium/webdriver/remote/http/default.rb +52 -32
  100. data/lib/selenium/webdriver/remote/http/persistent.rb +8 -4
  101. data/lib/selenium/webdriver/remote/response.rb +32 -35
  102. data/lib/selenium/webdriver/remote/server_error.rb +2 -2
  103. data/lib/selenium/webdriver/safari.rb +24 -22
  104. data/lib/selenium/webdriver/safari/bridge.rb +21 -21
  105. data/lib/selenium/webdriver/safari/driver.rb +41 -0
  106. data/lib/selenium/webdriver/safari/options.rb +66 -0
  107. data/lib/selenium/webdriver/safari/service.rb +8 -24
  108. data/lib/selenium/webdriver/support.rb +3 -2
  109. data/lib/selenium/webdriver/support/abstract_event_listener.rb +2 -2
  110. data/lib/selenium/webdriver/support/block_event_listener.rb +3 -3
  111. data/lib/selenium/webdriver/support/color.rb +13 -13
  112. data/lib/selenium/webdriver/support/escaper.rb +2 -2
  113. data/lib/selenium/webdriver/support/event_firing_bridge.rb +4 -4
  114. data/lib/selenium/webdriver/support/relative_locator.rb +51 -0
  115. data/lib/selenium/webdriver/support/select.rb +20 -21
  116. data/lib/selenium/webdriver/version.rb +24 -0
  117. data/selenium-webdriver.gemspec +31 -17
  118. metadata +331 -248
  119. data/lib/selenium/webdriver/common/bridge_helper.rb +0 -82
  120. data/lib/selenium/webdriver/common/keyboard.rb +0 -69
  121. data/lib/selenium/webdriver/common/mouse.rb +0 -88
  122. data/lib/selenium/webdriver/common/touch_action_builder.rb +0 -81
  123. data/lib/selenium/webdriver/common/touch_screen.rb +0 -121
  124. data/lib/selenium/webdriver/common/w3c_error.rb +0 -191
  125. data/lib/selenium/webdriver/edge/bridge.rb +0 -76
  126. data/lib/selenium/webdriver/edge/legacy_support.rb +0 -117
  127. data/lib/selenium/webdriver/firefox/binary.rb +0 -186
  128. data/lib/selenium/webdriver/firefox/extension/prefs.json +0 -69
  129. data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
  130. data/lib/selenium/webdriver/firefox/launcher.rb +0 -114
  131. data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
  132. data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
  133. data/lib/selenium/webdriver/firefox/w3c_bridge.rb +0 -79
  134. data/lib/selenium/webdriver/ie/bridge.rb +0 -76
  135. data/lib/selenium/webdriver/phantomjs/bridge.rb +0 -65
  136. data/lib/selenium/webdriver/phantomjs/service.rb +0 -66
  137. data/lib/selenium/webdriver/remote/w3c_bridge.rb +0 -682
  138. data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -228
  139. data/lib/selenium/webdriver/remote/w3c_commands.rb +0 -135
@@ -1,76 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Licensed to the Software Freedom Conservancy (SFC) under one
4
- # or more contributor license agreements. See the NOTICE file
5
- # distributed with this work for additional information
6
- # regarding copyright ownership. The SFC licenses this file
7
- # to you under the Apache License, Version 2.0 (the
8
- # "License"); you may not use this file except in compliance
9
- # with the License. You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing,
14
- # software distributed under the License is distributed on an
15
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
- # KIND, either express or implied. See the License for the
17
- # specific language governing permissions and limitations
18
- # under the License.
19
-
20
- module Selenium
21
- module WebDriver
22
- module Edge
23
- #
24
- # @api private
25
- #
26
-
27
- class Bridge < Remote::W3CBridge
28
- def initialize(opts = {})
29
- port = opts.delete(:port) || Service::DEFAULT_PORT
30
- service_args = opts.delete(:service_args) || {}
31
- unless opts.key?(:url)
32
- @service = Service.new(Edge.driver_path, port, *extract_service_args(service_args))
33
- @service.host = 'localhost' if @service.host == '127.0.0.1'
34
- @service.start
35
- opts[:url] = @service.uri
36
- end
37
-
38
- opts[:desired_capabilities] ||= Remote::W3CCapabilities.edge
39
-
40
- super(opts)
41
- end
42
-
43
- def browser
44
- :edge
45
- end
46
-
47
- def driver_extensions
48
- [
49
- DriverExtensions::TakesScreenshot,
50
- DriverExtensions::HasInputDevices
51
- ]
52
- end
53
-
54
- def capabilities
55
- @capabilities ||= Remote::Capabilities.edge
56
- end
57
-
58
- def quit
59
- super
60
- ensure
61
- @service.stop if @service
62
- end
63
-
64
- private
65
-
66
- def extract_service_args(args = {})
67
- service_args = []
68
- service_args << "–host=#{args[:host]}" if args.key? :host
69
- service_args << "–package=#{args[:package]}" if args.key? :package
70
- service_args << "-verbose" if args[:verbose] == true
71
- service_args
72
- end
73
- end # Bridge
74
- end # Edge
75
- end # WebDriver
76
- end # Selenium
@@ -1,117 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Licensed to the Software Freedom Conservancy (SFC) under one
4
- # or more contributor license agreements. See the NOTICE file
5
- # distributed with this work for additional information
6
- # regarding copyright ownership. The SFC licenses this file
7
- # to you under the Apache License, Version 2.0 (the
8
- # "License"); you may not use this file except in compliance
9
- # with the License. You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing,
14
- # software distributed under the License is distributed on an
15
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
- # KIND, either express or implied. See the License for the
17
- # specific language governing permissions and limitations
18
- # under the License.
19
-
20
- module Selenium
21
- module WebDriver
22
- module Edge
23
- module LegacySupport
24
- # These are commands Edge is still using from JSON Wire Protocol
25
- %i[executeScript executeAsyncScript submitElement doubleClick
26
- mouseDown mouseUp mouseMoveTo click
27
- sendKeysToActiveElement getWindowHandles getCurrentWindowHandle
28
- getWindowSize setWindowSize getWindowPosition setWindowPosition
29
- maximizeWindow getAlertText acceptAlert dismissAlert].each do |cmd|
30
- jwp = Remote::Bridge::COMMANDS[cmd]
31
- Remote::W3CBridge.command(cmd, jwp.first, jwp.last)
32
- end
33
-
34
- def execute_script(script, *args)
35
- result = execute :executeScript, {}, {script: script, args: args}
36
- unwrap_script_result result
37
- end
38
-
39
- def execute_async_script(script, *args)
40
- result = execute :executeAsyncScript, {}, {script: script, args: args}
41
- unwrap_script_result result
42
- end
43
-
44
- def submit_element(element)
45
- execute :submitElement, id: element['ELEMENT']
46
- end
47
-
48
- def double_click
49
- execute :doubleClick
50
- end
51
-
52
- def click
53
- execute :click, {}, {button: 0}
54
- end
55
-
56
- def context_click
57
- execute :click, {}, {button: 2}
58
- end
59
-
60
- def mouse_down
61
- execute :mouseDown
62
- end
63
-
64
- def mouse_up
65
- execute :mouseUp
66
- end
67
-
68
- def mouse_move_to(element, x = nil, y = nil)
69
- element_id = element['ELEMENT'] if element
70
- params = {element: element_id}
71
-
72
- if x && y
73
- params[:xoffset] = x
74
- params[:yoffset] = y
75
- end
76
-
77
- execute :mouseMoveTo, {}, params
78
- end
79
-
80
- def send_keys_to_active_element(key)
81
- execute :sendKeysToActiveElement, {}, {value: key}
82
- end
83
-
84
- def window_handle
85
- execute :getCurrentWindowHandle
86
- end
87
-
88
- def window_size(handle = :current)
89
- data = execute :getWindowSize, window_handle: handle
90
-
91
- Dimension.new data['width'], data['height']
92
- end
93
-
94
- def resize_window(width, height, handle = :current)
95
- execute :setWindowSize, {window_handle: handle},
96
- {width: width,
97
- height: height}
98
- end
99
-
100
- def window_position(handle = :current)
101
- data = execute :getWindowPosition, window_handle: handle
102
-
103
- Point.new data['x'], data['y']
104
- end
105
-
106
- def reposition_window(x, y, handle = :current)
107
- execute :setWindowPosition, {window_handle: handle},
108
- {x: x, y: y}
109
- end
110
-
111
- def maximize_window(handle = :current)
112
- execute :maximizeWindow, window_handle: handle
113
- end
114
- end # LegacySupport
115
- end # Edge
116
- end # WebDriver
117
- end # Selenium
@@ -1,186 +0,0 @@
1
- # encoding: utf-8
2
- #
3
- # Licensed to the Software Freedom Conservancy (SFC) under one
4
- # or more contributor license agreements. See the NOTICE file
5
- # distributed with this work for additional information
6
- # regarding copyright ownership. The SFC licenses this file
7
- # to you under the Apache License, Version 2.0 (the
8
- # "License"); you may not use this file except in compliance
9
- # with the License. You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing,
14
- # software distributed under the License is distributed on an
15
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
- # KIND, either express or implied. See the License for the
17
- # specific language governing permissions and limitations
18
- # under the License.
19
-
20
- module Selenium
21
- module WebDriver
22
- module Firefox
23
- # @api private
24
- class Binary
25
- NO_FOCUS_LIBRARY_NAME = 'x_ignore_nofocus.so'.freeze
26
- NO_FOCUS_LIBRARIES = [
27
- ["#{WebDriver.root}/selenium/webdriver/firefox/native/linux/amd64/#{NO_FOCUS_LIBRARY_NAME}",
28
- "amd64/#{NO_FOCUS_LIBRARY_NAME}"],
29
- ["#{WebDriver.root}/selenium/webdriver/firefox/native/linux/x86/#{NO_FOCUS_LIBRARY_NAME}",
30
- "x86/#{NO_FOCUS_LIBRARY_NAME}"]
31
- ].freeze
32
-
33
- WAIT_TIMEOUT = 90
34
- QUIT_TIMEOUT = 5
35
-
36
- def start_with(profile, profile_path, *args)
37
- if Platform.cygwin?
38
- profile_path = Platform.cygwin_path(profile_path, windows: true)
39
- elsif Platform.windows?
40
- profile_path = profile_path.tr('/', '\\')
41
- end
42
-
43
- ENV['XRE_CONSOLE_LOG'] = profile.log_file if profile.log_file
44
- ENV['XRE_PROFILE_PATH'] = profile_path
45
- ENV['MOZ_NO_REMOTE'] = '1' # able to launch multiple instances
46
- ENV['MOZ_CRASHREPORTER_DISABLE'] = '1' # disable breakpad
47
- ENV['NO_EM_RESTART'] = '1' # prevent the binary from detaching from the console
48
-
49
- if Platform.linux? && (profile.native_events? || profile.load_no_focus_lib?)
50
- modify_link_library_path profile_path
51
- end
52
-
53
- execute(*args)
54
- end
55
-
56
- def quit
57
- return unless @process
58
- @process.poll_for_exit QUIT_TIMEOUT
59
- rescue ChildProcess::TimeoutError
60
- # ok, force quit
61
- @process.stop QUIT_TIMEOUT
62
- end
63
-
64
- def wait
65
- return unless @process
66
-
67
- begin
68
- @process.poll_for_exit(WAIT_TIMEOUT)
69
- rescue ChildProcess::TimeoutError => e
70
- @process.stop
71
- raise e
72
- end
73
- end
74
-
75
- private
76
-
77
- def execute(*extra_args)
78
- args = [self.class.path, '-no-remote'] + extra_args
79
- @process = ChildProcess.build(*args)
80
- @process.io.inherit! if $DEBUG
81
- @process.start
82
- end
83
-
84
- def modify_link_library_path(profile_path)
85
- paths = []
86
-
87
- NO_FOCUS_LIBRARIES.each do |from, to|
88
- dest = File.join(profile_path, to)
89
- FileUtils.mkdir_p File.dirname(dest)
90
- FileUtils.cp from, dest
91
-
92
- paths << File.expand_path(File.dirname(dest))
93
- end
94
-
95
- paths += ENV['LD_LIBRARY_PATH'].to_s.split(File::PATH_SEPARATOR)
96
-
97
- ENV['LD_LIBRARY_PATH'] = paths.uniq.join(File::PATH_SEPARATOR)
98
- ENV['LD_PRELOAD'] = NO_FOCUS_LIBRARY_NAME
99
- end
100
-
101
- class << self
102
- #
103
- # @api private
104
- #
105
- # @see Firefox.path=
106
- #
107
-
108
- def path=(path)
109
- Platform.assert_executable(path)
110
- @path = path
111
- end
112
-
113
- def reset_path!
114
- @path = nil
115
- end
116
-
117
- def path
118
- @path ||= case Platform.os
119
- when :macosx
120
- macosx_path
121
- when :windows
122
- windows_path
123
- when :linux, :unix
124
- Platform.find_binary('firefox3', 'firefox2', 'firefox') || '/usr/bin/firefox'
125
- else
126
- raise Error::WebDriverError, "unknown platform: #{Platform.os}"
127
- end
128
-
129
- @path = Platform.cygwin_path(@path) if Platform.cygwin?
130
-
131
- unless File.file?(@path.to_s)
132
- error = "Could not find Firefox binary (os=#{Platform.os}). "
133
- error << "Make sure Firefox is installed or set the path manually with #{self}.path="
134
- raise Error::WebDriverError, error
135
- end
136
-
137
- @path
138
- end
139
-
140
- def version
141
- @version = case Platform.os
142
- when :macosx
143
- `#{path} -v`.strip[/[^\s]*$/][/^\d+/].to_i
144
- when :windows
145
- `\"#{path}\" -v | more`.strip[/[^\s]*$/][/^\d+/].to_i
146
- when :linux
147
- `#{path} -v`.strip[/[^\s]*$/][/^\d+/].to_i
148
- else
149
- 0
150
- end
151
- end
152
-
153
- private
154
-
155
- def windows_path
156
- windows_registry_path ||
157
- Platform.find_in_program_files('\\Mozilla Firefox\\firefox.exe') ||
158
- Platform.find_binary('firefox')
159
- end
160
-
161
- def macosx_path
162
- path = '/Applications/Firefox.app/Contents/MacOS/firefox-bin'
163
- path = File.expand_path('~/Applications/Firefox.app/Contents/MacOS/firefox-bin') unless File.exist?(path)
164
- path = Platform.find_binary('firefox-bin') unless File.exist?(path)
165
-
166
- path
167
- end
168
-
169
- def windows_registry_path
170
- require 'win32/registry'
171
-
172
- lm = Win32::Registry::HKEY_LOCAL_MACHINE
173
- lm.open('SOFTWARE\\Mozilla\\Mozilla Firefox') do |reg|
174
- main = lm.open("SOFTWARE\\Mozilla\\Mozilla Firefox\\#{reg.keys[0]}\\Main")
175
- entry = main.find { |key, _type, _data| key =~ /pathtoexe/i }
176
- return entry.last if entry
177
- end
178
- rescue LoadError
179
- # older JRuby or IronRuby does not have win32/registry
180
- rescue Win32::Registry::Error
181
- end
182
- end # class << self
183
- end # Binary
184
- end # Firefox
185
- end # WebDriver
186
- end # Selenium
@@ -1,69 +0,0 @@
1
- {
2
- "frozen": {
3
- "app.update.auto": false,
4
- "app.update.enabled": false,
5
- "browser.displayedE10SNotice": 4,
6
- "browser.download.manager.showWhenStarting": false,
7
- "browser.EULA.override": true,
8
- "browser.EULA.3.accepted": true,
9
- "browser.link.open_external": 2,
10
- "browser.link.open_newwindow": 2,
11
- "browser.offline": false,
12
- "browser.reader.detectedFirstArticle": true,
13
- "browser.safebrowsing.enabled": false,
14
- "browser.safebrowsing.malware.enabled": false,
15
- "browser.search.update": false,
16
- "browser.selfsupport.url" : "",
17
- "browser.sessionstore.resume_from_crash": false,
18
- "browser.shell.checkDefaultBrowser": false,
19
- "browser.tabs.warnOnClose": false,
20
- "browser.tabs.warnOnOpen": false,
21
- "datareporting.healthreport.service.enabled": false,
22
- "datareporting.healthreport.uploadEnabled": false,
23
- "datareporting.healthreport.service.firstRun": false,
24
- "datareporting.healthreport.logging.consoleEnabled": false,
25
- "datareporting.policy.dataSubmissionEnabled": false,
26
- "datareporting.policy.dataSubmissionPolicyAccepted": false,
27
- "devtools.errorconsole.enabled": true,
28
- "dom.disable_open_during_load": false,
29
- "extensions.autoDisableScopes": 10,
30
- "extensions.blocklist.enabled": false,
31
- "extensions.checkCompatibility.nightly": false,
32
- "extensions.logging.enabled": true,
33
- "extensions.update.enabled": false,
34
- "extensions.update.notifyUser": false,
35
- "javascript.enabled": true,
36
- "network.manage-offline-status": false,
37
- "network.http.phishy-userpass-length": 255,
38
- "offline-apps.allow_by_default": true,
39
- "prompts.tab_modal.enabled": false,
40
- "security.csp.enable": false,
41
- "security.fileuri.origin_policy": 3,
42
- "security.fileuri.strict_origin_policy": false,
43
- "signon.rememberSignons": false,
44
- "toolkit.networkmanager.disable": true,
45
- "toolkit.telemetry.prompted": 2,
46
- "toolkit.telemetry.enabled": false,
47
- "toolkit.telemetry.rejected": true,
48
- "xpinstall.signatures.required": false,
49
- "xpinstall.whitelist.required": false
50
- },
51
- "mutable": {
52
- "browser.dom.window.dump.enabled": true,
53
- "browser.laterrun.enabled": false,
54
- "browser.newtab.url": "about:blank",
55
- "browser.newtabpage.enabled": false,
56
- "browser.startup.page": 0,
57
- "browser.startup.homepage": "about:blank",
58
- "browser.startup.homepage_override.mstone": "ignore",
59
- "browser.usedOnWindows10.introURL": "about:blank",
60
- "dom.max_chrome_script_run_time": 30,
61
- "dom.max_script_run_time": 30,
62
- "dom.report_all_js_exceptions": true,
63
- "javascript.options.showInConsole": true,
64
- "startup.homepage_welcome_url": "about:blank",
65
- "startup.homepage_welcome_url.additional": "about:blank",
66
- "webdriver_accept_untrusted_certs": true,
67
- "webdriver_assume_untrusted_issuer": true
68
- }
69
- }