|
3 | 3 | ### Added
|
4 | 4 |
|
5 | 5 | - `Ferrum::Target`:
|
6 |
| - |
| 6 | + |
7 | 7 | - `#page=` attribute writer
|
8 | 8 |
|
9 | 9 | - `#maybe_sleep_if_new_window` - sleep with `Ferrum::Target::NEW_WINDOW_WAIT` seconds by `Ferrum::Target#window?` condition
|
|
12 | 12 |
|
13 | 13 | ### Added
|
14 | 14 |
|
15 |
| -- Patreon link |
16 |
| - |
17 | 15 | - `Ferrum::Frame#execution_id?` - boolean of equals passed argument `execution_id` and current `execution_id` from current class instance
|
18 | 16 |
|
19 | 17 | ### Changed
|
|
145 | 143 | - `Ferrum::Network::InterceptedRequest`:
|
146 | 144 |
|
147 | 145 | - `#interception_id` into `#request_id` as `requestId` reference on passed `params`
|
148 |
| - |
| 146 | + |
149 | 147 | - `#respond` - the `custom request fulfilment support` implementation by fires the `command` `Fetch.failRequest` on `Ferrum::Page` instance with passed `options` as argument
|
150 | 148 |
|
151 | 149 | - `Ferrum::Network::Response`:
|
|
189 | 187 | - `#within_frame`, with delegated `Ferrum::Browser#within_frame`
|
190 | 188 |
|
191 | 189 | - `Ferrum::Page::Event`:
|
192 |
| - |
| 190 | + |
193 | 191 | - include DOM, Runtime, Frame
|
194 | 192 |
|
195 | 193 | - `waiting_frames` instance variable
|
|
232 | 230 |
|
233 | 231 | - includes `pendings` attribute reader - the thread safe instance of mutable variable
|
234 | 232 |
|
235 |
| - - includes `POSITION` constant - the freeze array of `first` `last` symbols |
| 233 | + - includes `POSITION` constant - the freeze array of `first` `last` symbols |
236 | 234 |
|
237 | 235 | - `#default_target` - memoization of `#create_target` result
|
238 | 236 |
|
|
241 | 239 | - `#page` - delegation to `default_target` of `Ferrum::Context`
|
242 | 240 |
|
243 | 241 | - `#pages` - delegations to `page`'s taken from `Ferrum::Context#targets` as `values`
|
244 |
| - |
| 242 | + |
245 | 243 | - `#windows` - delegations to `page`'s taken from `Ferrum::Context#targets` as `values` with `window?` truthy condition
|
246 |
| - |
| 244 | + |
247 | 245 | takes `position` as first argument and optional second argument `size` with `1` as default value
|
248 |
| - |
| 246 | + |
249 | 247 | may raise `ArgumentError` on the passed `position` which not included into `Ferrum::Context::POSITION` constant values
|
250 | 248 |
|
251 | 249 | - `#create_page` - delegation to `target` with the `target` recreation by `Ferrum::Context#create_target`
|
252 | 250 |
|
253 | 251 | - `#add_target` - creates new instance of `Ferrum::Target` with fill by `Ferrum::Target.window?` condition of:
|
254 |
| - |
| 252 | + |
255 | 253 | `targets` instance variable on `id` or `pendings` instance variable as replace of `@value`
|
256 | 254 |
|
257 |
| - - `#update_target` - updates specific `target` in `targets` instance variable by `target_id` and `params` which are passed as arguments |
| 255 | + - `#update_target` - updates specific `target` in `targets` instance variable by `target_id` and `params` which are passed as arguments |
258 | 256 |
|
259 | 257 | - `#delete_target` - deletes from `targets` instance variable by passed `target_id` as argument
|
260 | 258 |
|
|
270 | 268 |
|
271 | 269 | - `params` as second (optional) - instance of `Ferrum::Contexts`
|
272 | 270 |
|
273 |
| - - `#update` - attribute writer for `params` instance variable by passed `params` as one argument |
| 271 | + - `#update` - attribute writer for `params` instance variable by passed `params` as one argument |
274 | 272 |
|
275 | 273 | - `#page` - new instance of `Ferrum::Page` created for specific `targetId`
|
276 | 274 |
|
277 |
| - - `#window?` - boolean of the check the exists of `Ferrum::Target#opener_id` |
| 275 | + - `#window?` - boolean of the check the exists of `Ferrum::Target#opener_id` |
278 | 276 |
|
279 | 277 | - `#id` - delegation to `targetId` of passed to instance `params`
|
280 | 278 |
|
|
299 | 297 | - `#find_by` - finding the last match in `contexts` instance variable by match of passed `target_id` into `targets.keys`
|
300 | 298 |
|
301 | 299 | required `target_id: value` argument
|
302 |
| - |
| 300 | + |
303 | 301 | returns `nil` on the not-matched case
|
304 | 302 |
|
305 | 303 | - `#create` - assigns new instance of `Ferrum::Context` with fetched `browserContextId` from `Target.createBrowserContext` into `contexts` instance variable
|
306 |
| - |
307 |
| - returns the created instance of `Ferrum::Context` |
| 304 | + |
| 305 | + returns the created instance of `Ferrum::Context` |
308 | 306 |
|
309 | 307 | - `#dispose` - removes specific `context` from `contexts` instance variable by passed `context_id` with fires `Target.disposeBrowserContext` browser command
|
310 | 308 |
|
|
319 | 317 | - the delegation to `Ferrum::Browser#default_context`:
|
320 | 318 |
|
321 | 319 | - `Ferrum::Browser#create_target`
|
322 |
| - |
| 320 | + |
323 | 321 | - `Ferrum::Browser#create_page`
|
324 | 322 |
|
325 | 323 | - `Ferrum::Browser#pages`
|
|
344 | 342 |
|
345 | 343 | - `Ferrum::Page#close_connection` - the logic is moved to `Ferrum::Page#close` directly
|
346 | 344 |
|
347 |
| -- the third argument (`new_window = false`) for `Ferrum::Page` initializer |
| 345 | +- the third argument (`new_window = false`) for `Ferrum::Page` initializer |
348 | 346 |
|
349 | 347 | - `Ferrum::Targets` class with the delegations to `Ferrum::Targets` instance in `Ferrum::Browser` instance:
|
350 |
| - |
| 348 | + |
351 | 349 | - `Ferrum::Browser#window_handle`
|
352 |
| - |
| 350 | + |
353 | 351 | - `Ferrum::Browser#window_handles`
|
354 |
| - |
| 352 | + |
355 | 353 | - `Ferrum::Browser#switch_to_window`
|
356 |
| - |
| 354 | + |
357 | 355 | - `Ferrum::Browser#open_new_window`
|
358 |
| - |
| 356 | + |
359 | 357 | - `Ferrum::Browser#close_window`
|
360 |
| - |
| 358 | + |
361 | 359 | - `Ferrum::Browser#within_window`
|
362 | 360 |
|
363 | 361 | ## [0.4.0] - (Sep 17, 2019) ##
|
|
370 | 368 |
|
371 | 369 | - `Ferrum::Network#request` & `Ferrum::Network#response` - delegation to `Network::Exchange` instance
|
372 | 370 |
|
373 |
| -- `Ferrum::Network#first_by` / `Ferrum::Network#last_by` - implemented searching by passed request_id in `Network::Exchange` instance |
| 371 | +- `Ferrum::Network#first_by` / `Ferrum::Network#last_by` - implemented searching by passed request_id in `Network::Exchange` instance |
374 | 372 |
|
375 | 373 | - `Ferrum::Browser#traffic` delegation to `Ferrum::Network` of `Network::Exchange` instances
|
376 | 374 |
|
377 | 375 | - `Ferrum::Network::Exchange` - simple request/response constructor with monitoring
|
378 | 376 |
|
379 | 377 | - `#build_request` - instance of `Network::Request` with passed params
|
380 |
| - |
| 378 | + |
381 | 379 | - `#build_response` - instance of `Network::Response` with passed params
|
382 | 380 |
|
383 | 381 | - `#build_error` - instance of `Network::Error` with passed params
|
384 |
| - |
| 382 | + |
385 | 383 | - `#navigation_request?` - the request verification on document by passed frame_id
|
386 |
| - |
| 384 | + |
387 | 385 | - `#blocked?` - boolean which becomes true when no the constructed response
|
388 | 386 |
|
389 | 387 | - `#to_a` - returns array of constructed request/response/error instances
|
|
394 | 392 |
|
395 | 393 | - `Ferrum::Network::Request#frame_id` - delegation to `frameId` of passed to instance params
|
396 | 394 |
|
397 |
| -- `Ferrum::Network::InterceptedRequest#abort` - fires `continue` method of instance with `errorReason` as `Aborted` |
| 395 | +- `Ferrum::Network::InterceptedRequest#abort` - fires `continue` method of instance with `errorReason` as `Aborted` |
398 | 396 |
|
399 |
| -- `Ferrum::Network::InterceptedRequest#inspect` - simple implementation of native `inspect` method with returns of the current internal state |
| 397 | +- `Ferrum::Network::InterceptedRequest#inspect` - simple implementation of native `inspect` method with returns of the current internal state |
400 | 398 |
|
401 | 399 | - `Ferrum::Page::Frame#frame_id` - reader to public available of `frameId` by `Ferrum::Page#frame_id`
|
402 | 400 |
|
|
481 | 479 | - description of `Dialog` feature in README
|
482 | 480 |
|
483 | 481 | - `Ferrum::Page::Event` extend of `Concurrent::Event` with implementation of `reset/wait` fix
|
484 |
| - |
| 482 | + |
485 | 483 | - implement `Ferrum::Page::Event#iteration` to reuse `synchronize` block on `@iteration` value of `Concurrent::Event`
|
486 | 484 |
|
487 | 485 | - redefinition of `Concurrent::Event#reset` - increase `@iteration` outside of `if @set` block
|
|
491 | 489 | - Elapsed time implementation:
|
492 | 490 |
|
493 | 491 | - `Ferrum::Browser::Process::WAIT_KILLED` with `0.05`
|
494 |
| - |
| 492 | + |
495 | 493 | - `Ferrum.monotonic_time` - delegation to `Concurrent` object
|
496 | 494 |
|
497 | 495 | - `Ferrum.started` - class variable `@@started` as `monotonic_time`
|
|
519 | 517 | - `Ferrum::Browser::TIMEOUT` into `Ferrum::Browser::DEFAULT_TIMEOUT` as `FERRUM_DEFAULT_TIMEOUT` `ENV-var` with `5` as default value
|
520 | 518 |
|
521 | 519 | - usage of `Concurrent::Event` into `Ferrum::Page::Event` as `@event` of `Ferrum::Page` instance
|
522 |
| - |
523 |
| -- `Ferrum::Page::NEW_WINDOW_BUG_SLEEP` into `Ferrum::Page::NEW_WINDOW_WAIT` as `FERRUM_NEW_WINDOW_WAIT` `ENV-var` with `0.3` as default value |
| 520 | + |
| 521 | +- `Ferrum::Page::NEW_WINDOW_BUG_SLEEP` into `Ferrum::Page::NEW_WINDOW_WAIT` as `FERRUM_NEW_WINDOW_WAIT` `ENV-var` with `0.3` as default value |
524 | 522 |
|
525 | 523 | ### Removed
|
526 | 524 |
|
|
555 | 553 | - increased `Browser::Process::PROCESS_TIMEOUT` constant by 1
|
556 | 554 |
|
557 | 555 | - `Ferrum::Network::InterceptedRequest#match?` to handle cases for `Ruby 2.3` and less
|
558 |
| - |
| 556 | + |
559 | 557 | ## [0.2.0] - (Sep 3, 2019) ##
|
560 | 558 |
|
561 | 559 | ### Added
|
|
570 | 568 |
|
571 | 569 | - usage of `FERRUM_INTERMITTENT_ATTEMPTS` `ENV-var` on the rescue of runtime intermittent error
|
572 | 570 |
|
573 |
| -- implementation's of `Ferrum::Page::DOM#xpath` & `Ferrum::Page::DOM#at_xpath` |
| 571 | +- implementation's of `Ferrum::Page::DOM#xpath` & `Ferrum::Page::DOM#at_xpath` |
574 | 572 |
|
575 | 573 | - `Ferrum.with_attempts` - retry attempt with the sleep on the block passed as an argument
|
576 | 574 |
|
|
700 | 698 |
|
701 | 699 | ### Changed
|
702 | 700 |
|
703 |
| -- basic description in README |
| 701 | +- basic description in README |
704 | 702 |
|
705 | 703 | ## [0.1.0.alpha] - (Aug 2, 2019) ##
|
706 | 704 |
|
|
0 commit comments