Skip to content

Commit 910ab59

Browse files
authored
chore: Move window_size to Ferrum (#253)
* chore: Move window_size to Ferrum
1 parent 35d1dc2 commit 910ab59

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
### Added
44

55
### Changed
6+
- `@window_size` attribute is moved from Ferrum viewport size is still inherited [#253]
67

78
### Fixed
89
- Detect whether element is in the viewport and clickable before click [#251]
910
- Remember parentNode in case onChange callback mutates DOM [#227]
11+
- Correctly open devtools page when calling `debug` [#252]
1012

1113
### Removed
1214

lib/capybara/cuprite/browser.rb

+8-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Browser < Ferrum::Browser
1111
find_modal accept_confirm dismiss_confirm accept_prompt
1212
dismiss_prompt reset_modals] => :page
1313

14-
attr_reader :url_blacklist, :url_whitelist
14+
attr_reader :url_blacklist, :url_whitelist, :window_size
1515
alias url_blocklist url_blacklist
1616
alias url_allowlist url_whitelist
1717

@@ -22,6 +22,7 @@ def initialize(options = nil)
2222
self.url_whitelist = options[:url_whitelist]
2323

2424
super
25+
@window_size = @options.window_size
2526
@page = false
2627
end
2728

@@ -38,6 +39,7 @@ def page
3839

3940
def reset
4041
super
42+
@window_size = options.window_size
4143
@page = attach_page
4244
end
4345

@@ -46,6 +48,11 @@ def quit
4648
@page = false
4749
end
4850

51+
def resize(**options)
52+
@window_size = [options[:width], options[:height]]
53+
super
54+
end
55+
4956
def url_whitelist=(patterns)
5057
@url_whitelist = prepare_wildcards(patterns)
5158
page.network.whitelist = @url_whitelist if @client && @url_whitelist.any?

lib/capybara/cuprite/page.rb

+3
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ def title
134134
def prepare_page
135135
super
136136

137+
width, height = @browser.window_size
138+
resize(width: width, height: height)
139+
137140
if @browser.url_blacklist.any?
138141
network.blacklist = @browser.url_blacklist
139142
elsif @browser.url_whitelist.any?

0 commit comments

Comments
 (0)