Class: Capybara::Apparition::Frame

Inherits:
Object
  • Object
show all
Defined in:
lib/capybara/apparition/page/frame.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(page, params) ⇒ Frame

Returns a new instance of Frame.



8
9
10
11
12
13
14
15
16
17
# File 'lib/capybara/apparition/page/frame.rb', line 8

def initialize(page, params)
  @page = page
  @id = params[:frameId] || params['frameId'] || params['id']
  @parent_id = params['parentFrameId'] || params['parentId']
  @context_id = nil
  @state = nil
  @element_id = nil
  @frame_mutex = Mutex.new
  @loader_id = @prev_loader_id = nil
end

Instance Attribute Details

#element_idObject

Returns the value of attribute element_id.



6
7
8
# File 'lib/capybara/apparition/page/frame.rb', line 6

def element_id
  @element_id
end

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/capybara/apparition/page/frame.rb', line 5

def id
  @id
end

#parent_idObject (readonly)

Returns the value of attribute parent_id.



5
6
7
# File 'lib/capybara/apparition/page/frame.rb', line 5

def parent_id
  @parent_id
end

Instance Method Details

#context_idObject



19
20
21
22
23
# File 'lib/capybara/apparition/page/frame.rb', line 19

def context_id
  @frame_mutex.synchronize do
    @context_id
  end
end

#context_id=(id) ⇒ Object



25
26
27
28
29
# File 'lib/capybara/apparition/page/frame.rb', line 25

def context_id=(id)
  @frame_mutex.synchronize do
    @context_id = id
  end
end

#loaded!Object



67
68
69
70
71
# File 'lib/capybara/apparition/page/frame.rb', line 67

def loaded!
  @prev_loader_id = loader_id
  puts "Setting loaded - was #{loader_id}" if ENV['DEBUG']
  self.loader_id = nil
end

#loaded?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/capybara/apparition/page/frame.rb', line 63

def loaded?
  @loader_id.nil?
end

#loader_idObject



43
44
45
46
47
# File 'lib/capybara/apparition/page/frame.rb', line 43

def loader_id
  @frame_mutex.synchronize do
    @loader_id
  end
end

#loading(id) ⇒ Object



49
50
51
52
# File 'lib/capybara/apparition/page/frame.rb', line 49

def loading(id)
  puts "Setting loading to #{id}" if ENV['DEBUG']
  self.loader_id = id
end

#loading?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/capybara/apparition/page/frame.rb', line 59

def loading?
  !@loader_id.nil?
end

#obsolete!Object



73
74
75
# File 'lib/capybara/apparition/page/frame.rb', line 73

def obsolete!
  self.state = :obsolete
end

#obsolete?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/capybara/apparition/page/frame.rb', line 77

def obsolete?
  state == :obsolete
end

#reloading!Object



54
55
56
57
# File 'lib/capybara/apparition/page/frame.rb', line 54

def reloading!
  puts 'Reloading' if ENV['DEBUG']
  self.loader_id = @prev_loader_id
end

#stateObject



37
38
39
40
41
# File 'lib/capybara/apparition/page/frame.rb', line 37

def state
  @frame_mutex.synchronize do
    @state
  end
end

#state=(state) ⇒ Object



31
32
33
34
35
# File 'lib/capybara/apparition/page/frame.rb', line 31

def state=(state)
  @frame_mutex.synchronize do
    @state = state
  end
end

#usable?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/capybara/apparition/page/frame.rb', line 81

def usable?
  context_id && !loading?
end