module Capybara::Selenium::Node::Html5Drag

Constants

HTML5_DRAG_DROP_SCRIPT
MOUSEDOWN_TRACKER

Private Instance Methods

html5_drag_to(element) click to toggle source
# File lib/capybara/selenium/extensions/html5_drag.rb, line 7
def html5_drag_to(element)
  driver.execute_script MOUSEDOWN_TRACKER
  scroll_if_needed { browser_action.click_and_hold(native).perform }
  if driver.evaluate_script('window.capybara_mousedown_prevented')
    element.scroll_if_needed { browser_action.move_to(element.native).release.perform }
  else
    driver.execute_script HTML5_DRAG_DROP_SCRIPT, self, element
    browser_action.release.perform
  end
end
html5_draggable?() click to toggle source
# File lib/capybara/selenium/extensions/html5_drag.rb, line 18
def html5_draggable?
  # Workaround https://github.com/SeleniumHQ/selenium/issues/6396
  native.property('draggable')
end