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

Version Path
axe-core-api-4.4.1 lib/loader.rb
axe-core-api-4.4.0.pre.f437c8e lib/loader.rb
axe-core-api-4.4.0 lib/loader.rb
axe-core-api-4.3.2.pre.9952248 lib/loader.rb
axe-core-api-4.3.2.pre.17fb7c9 lib/loader.rb
axe-core-api-4.3.2.pre.2e32f26 lib/loader.rb
axe-core-api-4.3.2.pre.dc71aca lib/loader.rb
axe-core-api-4.3.2 lib/loader.rb
axe-core-api-4.3.1.pre.75130b0 lib/loader.rb
axe-core-api-4.3.1.pre.8005df2 lib/loader.rb
axe-core-api-4.3.1 lib/loader.rb
axe-core-api-4.3.0.pre.a04c46c lib/loader.rb
axe-core-api-4.3.0.pre.99d4475 lib/loader.rb
axe-core-api-4.3.0.pre.5d6d4c3 lib/loader.rb
axe-core-api-4.3.0.pre.4296492 lib/loader.rb
axe-core-api-4.3.0 lib/loader.rb
axe-core-api-4.2.1.pre.ea3a33f lib/loader.rb
axe-core-api-4.2.1.pre.d87a85a lib/loader.rb
axe-core-api-4.2.1.pre.1329c45 lib/loader.rb
axe-core-api-4.2.0.pre.33afee3 lib/loader.rb