Skip to content

Commit c2c9fec

Browse files
committed
Fix conflicts
2 parents 2101441 + 3a6f47b commit c2c9fec

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

rb/lib/selenium/webdriver/bidi/browsing_context.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ def create(type: nil, context_id: nil)
9595
result['context']
9696
end
9797

98+
def set_viewport(context_id: nil, width: nil, height: nil, device_pixel_ratio: nil)
99+
context_id ||= @bridge.window_handle
100+
params = {context: context_id, viewport: {width:, height:}, device_pixel_ratio:}
101+
@bidi.send_cmd('browsingContext.setViewport', **params)
102+
end
103+
98104
def activate(context_id: nil)
99105
context_id ||= @bridge.window_handle
100106
@bidi.send_cmd('browsingContext.activate', context: context_id)

rb/sig/lib/selenium/webdriver/bidi/browsing_context.rbs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ module Selenium
1212

1313
def navigate: (String url, String? context_id) -> void
1414

15+
def set_viewport: (String context_id, Integer width, Integer height, Float device_pixel_ratio) -> Hash[nil, nil]
16+
1517
def traverse_history: (Integer delta, String? context_id) -> void
1618

1719
def reload: (String? context_id, ?ignore_cache: bool) -> void

rb/spec/integration/selenium/webdriver/bidi/browsing_context_spec.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
module Selenium
2323
module WebDriver
2424
class BiDi
25-
describe BrowsingContext do
25+
describe BrowsingContext, exclusive: {bidi: true, reason: 'only executed when bidi is enabled'},
26+
only: {browser: %i[chrome edge firefox]} do
2627
after { |example| reset_driver!(example: example) }
2728

2829
let(:bridge) { driver.instance_variable_get(:@bridge) }
@@ -73,6 +74,15 @@ class BiDi
7374
expect(handles).not_to include(window2)
7475
end
7576

77+
it 'sets the viewport' do
78+
reset_driver!(web_socket_url: true) do |driver|
79+
browsing_context = described_class.new(driver)
80+
browsing_context.set_viewport(width: 800, height: 600, device_pixel_ratio: 2.0)
81+
expect(driver.execute_script('return [window.innerWidth, window.innerHeight]')).to eq([800, 600])
82+
expect(driver.execute_script('return window.devicePixelRatio')).to eq(2.0)
83+
end
84+
end
85+
7686
it 'activates a browser context' do
7787
reset_driver!(web_socket_url: true) do |driver|
7888
browsing_context = described_class.new(driver)

0 commit comments

Comments
 (0)