# File lib/selenium/webdriver/common/driver.rb, line 24
        def for(browser, opts = {})
          listener = opts.delete(:listener)

          bridge = case browser
                   when :firefox, :ff
                     Firefox::Bridge.new(opts)
                   when :remote
                     Remote::Bridge.new(opts)
                   when :ie, :internet_explorer
                     IE::Bridge.new(opts)
                   when :chrome
                     Chrome::Bridge.new(opts)
                   when :android
                     Android::Bridge.new(opts)
                   when :iphone
                     IPhone::Bridge.new(opts)
                   when :opera
                     Opera::Bridge.new(opts)
                   else
                     raise ArgumentError, "unknown driver: #{browser.inspect}"
                   end

          bridge = Support::EventFiringBridge.new(bridge, listener) if listener

          new(bridge)
        end