Sha256: a76eb7972daaae5c340fa84b241edf0f2fb153e175a9b1e266cd5f28c9de94fd

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

require 'chromedriver-screenshot/page'
require 'chromedriver-screenshot/row'
require 'chromedriver-screenshot/tile'
require 'chromedriver-screenshot/platforms'
require "oily_png"
require 'selenium-webdriver'

module ChromedriverScreenshot
  class << self
    attr_writer :take_full_screenshots

    def take_full_screenshots
      @take_full_screenshots = true if @take_full_screenshots.nil?
      @take_full_screenshots
    end
  end
end

# really bad monkeypatching. fix this
module Selenium
  module WebDriver
    module Remote
      class Bridge
        alias_method :window_screenshot, :getScreenshot
        def getScreenshot
          if browser == :chrome && ChromedriverScreenshot.take_full_screenshots
            ChromedriverScreenshot::Platforms.create_platform(self)

            screenshot = ChromedriverScreenshot::Page.new.full_screenshot
            blob = screenshot.to_blob(:fast_rgb) # optimized for opaque images; greatly reduces runtime
            Base64::encode64(blob)
          else
            window_screenshot
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
chromedriver-screenshot-0.2.4 lib/chromedriver-screenshot.rb
chromedriver-screenshot-0.2.3 lib/chromedriver-screenshot.rb