class Pincers::Chenso::BrowsingManager

Attributes

windows[R]

Public Class Methods

new(_client) click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 9
def initialize(_client)
  @client = _client
  @index = 0
  @windows = [
    [build_root_context]
  ]
end

Public Instance Methods

load_frame(_id, _request) click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 37
def load_frame(_id, _request)
  child_context = context.load_child _id
  child_context.push _request
  window << child_context
end
load_window(_request) click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 43
def load_window(_request)
  context = build_root_context
  context.push _request
  windows << [context]
  @index = windows.length - 1
end
switch_frame(_id) click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 22
def switch_frame(_id)
  new_context = context.get_child _id
  return false if new_context.nil?
  window << new_context
  return true
end
switch_parent_frame() click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 33
def switch_parent_frame
  window.pop if window.length > 1
end
switch_top_frame() click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 29
def switch_top_frame
  window.slice!(1..-1) if window.length > 1
end
switch_window(_index) click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 17
def switch_window(_index)
  @index = _index
  switch_top_frame
end

Private Instance Methods

build_root_context() click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 62
def build_root_context
  BrowsingContext.new @client
end
context() click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 58
def context
  window.last
end
window() click to toggle source
# File lib/pincers/chenso/browsing_manager.rb, line 54
def window
  @windows[@index]
end