Skip to content

Commit 1c429dc

Browse files
committed
ref: Always put target to targets
1 parent 5cb2512 commit 1c429dc

File tree

7 files changed

+26
-28
lines changed

7 files changed

+26
-28
lines changed

lib/ferrum.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# frozen_string_literal: true
22

3+
require "concurrent-ruby"
4+
require "ferrum/utils/event"
35
require "ferrum/utils/thread"
46
require "ferrum/utils/platform"
57
require "ferrum/utils/elapsed_time"

lib/ferrum/context.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,14 @@ def create_target
5050
target = @pendings.take(@client.timeout)
5151
raise NoSuchTargetError unless target.is_a?(Target)
5252

53-
@targets.put_if_absent(target.id, target)
5453
target
5554
end
5655

5756
def add_target(params)
5857
target = Target.new(@client, params)
59-
if target.window?
60-
@targets.put_if_absent(target.id, target)
61-
else
62-
@pendings.put(target, @client.timeout)
63-
end
58+
@targets.put_if_absent(target.id, target)
59+
60+
@pendings.put(target, @client.timeout) if @pendings.empty?
6461
end
6562

6663
def update_target(target_id, params)

lib/ferrum/downloads.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ class Downloads
66

77
def initialize(page)
88
@page = page
9-
@event = Event.new.tap(&:set)
9+
@event = Utils::Event.new.tap(&:set)
1010
@files = {}
1111
end
1212

lib/ferrum/event.rb

Lines changed: 0 additions & 17 deletions
This file was deleted.

lib/ferrum/page.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
require "forwardable"
44
require "pathname"
5-
require "ferrum/event"
65
require "ferrum/mouse"
76
require "ferrum/keyboard"
87
require "ferrum/headers"
@@ -73,7 +72,7 @@ def initialize(client, context_id:, target_id:, proxy: nil)
7372

7473
@frames = Concurrent::Map.new
7574
@main_frame = Frame.new(nil, self)
76-
@event = Event.new.tap(&:set)
75+
@event = Utils::Event.new.tap(&:set)
7776
self.proxy = proxy
7877

7978
@mouse = Mouse.new(self)

lib/ferrum/utils/elapsed_time.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# frozen_string_literal: true
22

3-
require "concurrent-ruby"
4-
53
module Ferrum
64
module Utils
75
module ElapsedTime

lib/ferrum/utils/event.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Ferrum
4+
module Utils
5+
class Event < Concurrent::Event
6+
def iteration
7+
synchronize { @iteration }
8+
end
9+
10+
def reset
11+
synchronize do
12+
@iteration += 1
13+
@set = false if @set
14+
@iteration
15+
end
16+
end
17+
end
18+
end
19+
end

0 commit comments

Comments
 (0)