Sha256: 8d1b2c27aef4b61607314dfab6044e7aea9a780918ca2e0c2cc87fe35c182ea4
Contents?: true
Size: 1.1 KB
Versions: 98
Compression:
Stored size: 1.1 KB
Contents
require_relative "./axe/configuration" require_relative "./axe/core" 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 = "<same_origin>" allowed_origins = "<unsafe_all_origins>" if !Axe::Configuration.instance.legacy_mode && !Axe::Core::has_run_partial?(@page) @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
98 entries across 98 versions & 1 rubygems