class Chromium
Attributes
display[R]
pid[R]
settings[R]
tmp_dir[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/chromium.rb, line 6 def initialize(options = {}) @tmp_dir = options.fetch :tmp_dir, "/tmp/.chromium-#{SecureRandom.hex(6)}" @display = options.fetch :display, 0 @settings = options.fetch :settings, [] window_size = `DISPLAY=:#{@display} $(which xdotool) getdisplaygeometry`.strip.gsub ' ', ',' window_size = '7000,7000' unless window_size @pid = nil @settings = %W( --start-maximized --incognito --no-first-run --no-sandbox --disable --disable-java --disable-translate --disable-infobars --disable-suggestions-service --disable-save-password-bubble --allow-running-insecure-content --ignore-certificate-errors --ignore-urlfetcher-cert-requests --disable-gpu --new-window --force-device-scale-factor=1 --window-position=0,0 --auto-ssl-client-auth --use-fake-ui-for-media-stream --kiosk --window-size=#{window_size} --disk-cache-dir=#{@tmp_dir}/cache/ --user-data-dir=#{@tmp_dir}/user_data/ ) | @settings dispatch end
Public Instance Methods
quit()
click to toggle source
# File lib/chromium.rb, line 59 def quit Process.kill 'TERM', @pid Process.wait @pid FileUtils.rm_rf @tmp_dir, force: true rescue # no such process; assume it's already killed end
running?()
click to toggle source
# File lib/chromium.rb, line 53 def running? Process.getpgid(@pid) && true rescue Errno::ESRCH false end
Protected Instance Methods
dispatch()
click to toggle source
# File lib/chromium.rb, line 69 def dispatch FileUtils.mkdir_p %W(#{@tmp_dir}/cache/ #{@tmp_dir}/user_data/), mode: 0777 end