Sha256: c40612433c1f35a9cf4762ef197911395e15c16886ff33bffabf9b95948b2466
Contents?: true
Size: 1.03 KB
Versions: 21
Compression:
Stored size: 1.03 KB
Contents
require_relative "./axe/configuration" require_relative "./hooks" module Common class Loader def initialize(page, lib) @page = page @lib = lib @loaded_top_level = false end def load_top_level(source) @page.execute_script source @loaded_top_level = true Common::Hooks.run_after_load @lib end def call(source, is_top_level = true) @page.execute_script source unless (@loaded_top_level and is_top_level) set_allowed_origins Common::Hooks.run_after_load @lib load_into_iframes(source) unless Axe::Configuration.instance.skip_iframes end private def set_allowed_origins allowed_origins = "<unsafe_all_origins>" allowed_origins = "<same_origin>" if Axe::Configuration.instance.legacy_mode @page.execute_script "axe.configure({ allowedOrigins: ['#{allowed_origins}'] });" end def load_into_iframes(source) @page.find_frames.each do |iframe| @page.within_frame(iframe) { call source, false } end end end end
Version data entries
21 entries across 21 versions & 1 rubygems