New
0.15
Added
Ferrum::Page#disable_javascriptdisables the JavaScript from the HTML source [#407]Ferrum::Page#set_viewportemulates the viewport [#406]Ferrum::Downloads[#416]#filesinformation about downloaded files#waitwait for file download to be completed#set_behaviorwhere and whether to store file
Browser::Client#commandaccepts :async parameter [#433]Ferrum::Browserintroduce:flattenmode with one connection and sessions [#434]- Support for ping requests [#417]
Ferrum::Browserintroduce:ws_urloption to set external websocket for a browser [#435]
Changed
Ferrum::Page#screeshotaccepts :area option [#410]- Resizing page on creation is gone and moved to Cuprite [#427]
- Min Ruby version is 2.7
- Refactored internal API of
Ferrum::Browser,Ferrum::Page,Ferrum::Context,Ferrum::Contexts,Ferrum::Targetinstead of passing browser and making cyclic dependency on the browser instance, we pass now a thin client [#431] - Bump
websocket-driverto~> 0.7[#432] - Got rid of
Concurrent::AsyncinFerrum::Browser::Subscriber[#432] Ferrum::Page#set_window_boundsis renamed toFerrum::Page#window_bounds=Ferrum::Pageget right client from the Target and passes it down everywhere [#433]Ferrum::Network::InterceptedRequestacceptsFerrum::Browser::Clientinstead ofFerrum::Page[#433]Ferrum::Browser::Client->Ferrum::Client[#433]
Fixed
- Exceptions within
.on()were swallowed by a thread pool ofConcurrent::Async[#432] Ferrum::Context#add_targetputs wrong target to pendings sometimes [#433]- Leaking connection descriptors in tests and after browser quit [#433]
- Check if network exchange exists before manipulating it [#442]