selenium-webdriver 2.47.0 → 2.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +96 -0
- package/NOTICE +1 -1
- package/README.md +57 -6
- package/builder.js +375 -358
- package/chrome.js +549 -586
- package/edge.js +378 -0
- package/error.js +597 -5
- package/example/google_search_generator.js +2 -4
- package/example/logging.js +6 -2
- package/executors.js +11 -27
- package/firefox/binary.js +80 -114
- package/firefox/extension.js +10 -19
- package/firefox/index.js +175 -171
- package/firefox/profile.js +221 -239
- package/http/index.js +396 -77
- package/http/util.js +35 -35
- package/ie.js +288 -309
- package/index.js +34 -125
- package/io/exec.js +58 -39
- package/io/index.js +54 -48
- package/lib/actions.js +594 -0
- package/lib/by.js +276 -0
- package/lib/capabilities.js +404 -0
- package/lib/{webdriver/command.js → command.js} +89 -72
- package/lib/{webdriver/button.js → devmode.js} +13 -8
- package/lib/events.js +210 -0
- package/lib/firefox/amd64/libnoblur64.so +0 -0
- package/lib/firefox/i386/libnoblur.so +0 -0
- package/lib/firefox/webdriver.json +6 -1
- package/lib/firefox/webdriver.xpi +0 -0
- package/lib/{webdriver/key.js → input.js} +82 -2
- package/lib/logging.js +668 -0
- package/lib/promise.js +3093 -0
- package/lib/safari/client.js +697 -659
- package/lib/session.js +79 -0
- package/{test/promise_aplus_test.js → lib/symbols.js} +15 -25
- package/lib/test/build.js +4 -4
- package/lib/test/data/click_tests/disappearing_element.html +62 -0
- package/lib/test/data/click_tests/html5_submit_buttons.html +2 -1
- package/lib/test/data/click_tests/overlapping_elements.html +70 -0
- package/lib/test/data/click_tests/partially_overlapping_elements.html +124 -0
- package/lib/test/data/click_tests/wrapped_overlapping_elements.html +13 -0
- package/lib/test/data/readOnlyPage.html +3 -1
- package/lib/test/data/selectPage.html +18 -2
- package/lib/test/data/simpleTest.html +1 -0
- package/lib/test/fileserver.js +3 -4
- package/lib/test/index.js +13 -4
- package/lib/test/resources.js +1 -1
- package/lib/until.js +428 -0
- package/lib/webdriver.js +2351 -0
- package/net/portprober.js +15 -11
- package/opera.js +295 -314
- package/package.json +6 -5
- package/phantomjs.js +135 -140
- package/proxy.js +6 -4
- package/remote/index.js +234 -219
- package/safari.js +319 -310
- package/test/chrome/options_test.js +11 -9
- package/test/element_finding_test.js +51 -13
- package/test/error_test.js +163 -0
- package/test/execute_script_test.js +1 -1
- package/test/firefox/firefox_test.js +24 -0
- package/test/http/http_test.js +354 -43
- package/test/http/util_test.js +25 -23
- package/test/io_test.js +6 -1
- package/test/lib/by_test.js +127 -0
- package/test/lib/capabilities_test.js +84 -0
- package/test/lib/events_test.js +177 -0
- package/test/lib/logging_test.js +272 -0
- package/test/lib/promise_aplus_test.js +74 -0
- package/test/lib/promise_error_test.js +808 -0
- package/test/lib/promise_flow_test.js +2282 -0
- package/test/lib/promise_generator_test.js +308 -0
- package/test/lib/promise_test.js +996 -0
- package/test/lib/testutil.js +90 -0
- package/test/lib/until_test.js +436 -0
- package/test/lib/webdriver_test.js +2207 -0
- package/test/page_loading_test.js +7 -9
- package/test/stale_element_test.js +2 -2
- package/test/testing/assert_test.js +374 -0
- package/test/testing/index_test.js +9 -11
- package/testing/assert.js +334 -17
- package/testing/index.js +10 -0
- package/_base.js +0 -200
- package/docs/Changes.html +0 -317
- package/docs/class_bot_Error.html +0 -15
- package/docs/class_webdriver_ActionSequence.html +0 -115
- package/docs/class_webdriver_Alert.html +0 -24
- package/docs/class_webdriver_AlertPromise.html +0 -91
- package/docs/class_webdriver_Capabilities.html +0 -60
- package/docs/class_webdriver_Command.html +0 -15
- package/docs/class_webdriver_EventEmitter.html +0 -35
- package/docs/class_webdriver_FileDetector.html +0 -21
- package/docs/class_webdriver_Locator.html +0 -12
- package/docs/class_webdriver_Serializable.html +0 -9
- package/docs/class_webdriver_Session.html +0 -13
- package/docs/class_webdriver_TouchSequence.html +0 -49
- package/docs/class_webdriver_UnhandledAlertError.html +0 -18
- package/docs/class_webdriver_WebDriver.html +0 -313
- package/docs/class_webdriver_WebDriver_Logs.html +0 -15
- package/docs/class_webdriver_WebDriver_Navigation.html +0 -16
- package/docs/class_webdriver_WebDriver_Options.html +0 -41
- package/docs/class_webdriver_WebDriver_TargetLocator.html +0 -38
- package/docs/class_webdriver_WebDriver_Timeouts.html +0 -29
- package/docs/class_webdriver_WebDriver_Window.html +0 -27
- package/docs/class_webdriver_WebElement.html +0 -216
- package/docs/class_webdriver_WebElementPromise.html +0 -266
- package/docs/class_webdriver_http_Executor.html +0 -22
- package/docs/class_webdriver_http_Request.html +0 -12
- package/docs/class_webdriver_http_Response.html +0 -13
- package/docs/class_webdriver_logging_Entry.html +0 -15
- package/docs/class_webdriver_logging_Level.html +0 -55
- package/docs/class_webdriver_logging_LogRecord.html +0 -45
- package/docs/class_webdriver_logging_Logger.html +0 -119
- package/docs/class_webdriver_logging_Preferences.html +0 -8
- package/docs/class_webdriver_promise_CancellationError.html +0 -18
- package/docs/class_webdriver_promise_ControlFlow.html +0 -109
- package/docs/class_webdriver_promise_Deferred.html +0 -84
- package/docs/class_webdriver_promise_Promise.html +0 -74
- package/docs/class_webdriver_stacktrace_Frame.html +0 -20
- package/docs/class_webdriver_stacktrace_Snapshot.html +0 -6
- package/docs/class_webdriver_testing_Assertion.html +0 -99
- package/docs/class_webdriver_testing_Assertion_DelegatingMatcher_.html +0 -13
- package/docs/class_webdriver_testing_ContainsMatcher.html +0 -11
- package/docs/class_webdriver_testing_NegatedAssertion.html +0 -97
- package/docs/class_webdriver_until_Condition.html +0 -7
- package/docs/dossier.css +0 -1
- package/docs/dossier.js +0 -86
- package/docs/enum_bot_ErrorCode.html +0 -3
- package/docs/enum_bot_Error_State.html +0 -2
- package/docs/enum_webdriver_Browser.html +0 -2
- package/docs/enum_webdriver_Button.html +0 -2
- package/docs/enum_webdriver_Capability.html +0 -33
- package/docs/enum_webdriver_CommandName.html +0 -3
- package/docs/enum_webdriver_Key.html +0 -12
- package/docs/enum_webdriver_logging_Type.html +0 -6
- package/docs/enum_webdriver_promise_ControlFlow_EventType.html +0 -9
- package/docs/index.html +0 -123
- package/docs/interface_webdriver_CommandExecutor.html +0 -9
- package/docs/interface_webdriver_http_Client.html +0 -10
- package/docs/interface_webdriver_promise_Thenable.html +0 -77
- package/docs/module_selenium-webdriver.html +0 -23
- package/docs/module_selenium-webdriver__base.html +0 -23
- package/docs/module_selenium-webdriver__base_class_Context.html +0 -5
- package/docs/module_selenium-webdriver_builder.html +0 -2
- package/docs/module_selenium-webdriver_builder_class_Builder.html +0 -138
- package/docs/module_selenium-webdriver_chrome.html +0 -90
- package/docs/module_selenium-webdriver_chrome_class_Driver.html +0 -280
- package/docs/module_selenium-webdriver_chrome_class_Options.html +0 -127
- package/docs/module_selenium-webdriver_chrome_class_ServiceBuilder.html +0 -46
- package/docs/module_selenium-webdriver_class_ActionSequence.html +0 -115
- package/docs/module_selenium-webdriver_class_Builder.html +0 -138
- package/docs/module_selenium-webdriver_class_Capabilities.html +0 -60
- package/docs/module_selenium-webdriver_class_Command.html +0 -15
- package/docs/module_selenium-webdriver_class_EventEmitter.html +0 -35
- package/docs/module_selenium-webdriver_class_FileDetector.html +0 -21
- package/docs/module_selenium-webdriver_class_Serializable.html +0 -9
- package/docs/module_selenium-webdriver_class_Session.html +0 -13
- package/docs/module_selenium-webdriver_class_WebDriver.html +0 -313
- package/docs/module_selenium-webdriver_class_WebElement.html +0 -216
- package/docs/module_selenium-webdriver_class_WebElementPromise.html +0 -266
- package/docs/module_selenium-webdriver_enum_Browser.html +0 -2
- package/docs/module_selenium-webdriver_enum_Button.html +0 -2
- package/docs/module_selenium-webdriver_enum_Capability.html +0 -33
- package/docs/module_selenium-webdriver_enum_CommandName.html +0 -3
- package/docs/module_selenium-webdriver_enum_Key.html +0 -12
- package/docs/module_selenium-webdriver_error.html +0 -4
- package/docs/module_selenium-webdriver_error_class_Error.html +0 -15
- package/docs/module_selenium-webdriver_error_enum_ErrorCode.html +0 -3
- package/docs/module_selenium-webdriver_executors.html +0 -10
- package/docs/module_selenium-webdriver_executors_class_DeferredExecutor.html +0 -12
- package/docs/module_selenium-webdriver_firefox.html +0 -67
- package/docs/module_selenium-webdriver_firefox_binary.html +0 -4
- package/docs/module_selenium-webdriver_firefox_binary_class_Binary.html +0 -21
- package/docs/module_selenium-webdriver_firefox_class_Binary.html +0 -21
- package/docs/module_selenium-webdriver_firefox_class_Driver.html +0 -276
- package/docs/module_selenium-webdriver_firefox_class_Options.html +0 -19
- package/docs/module_selenium-webdriver_firefox_class_Profile.html +0 -50
- package/docs/module_selenium-webdriver_firefox_extension.html +0 -8
- package/docs/module_selenium-webdriver_firefox_profile.html +0 -13
- package/docs/module_selenium-webdriver_firefox_profile_class_Profile.html +0 -50
- package/docs/module_selenium-webdriver_http.html +0 -9
- package/docs/module_selenium-webdriver_http_class_Executor.html +0 -22
- package/docs/module_selenium-webdriver_http_class_HttpClient.html +0 -16
- package/docs/module_selenium-webdriver_http_class_Request.html +0 -12
- package/docs/module_selenium-webdriver_http_class_Response.html +0 -13
- package/docs/module_selenium-webdriver_http_util.html +0 -17
- package/docs/module_selenium-webdriver_ie.html +0 -11
- package/docs/module_selenium-webdriver_ie_class_Driver.html +0 -274
- package/docs/module_selenium-webdriver_ie_class_Options.html +0 -89
- package/docs/module_selenium-webdriver_ie_enum_Level.html +0 -1
- package/docs/module_selenium-webdriver_io.html +0 -37
- package/docs/module_selenium-webdriver_io_exec.html +0 -6
- package/docs/module_selenium-webdriver_namespace_By.html +0 -56
- package/docs/module_selenium-webdriver_namespace_error.html +0 -4
- package/docs/module_selenium-webdriver_namespace_logging.html +0 -18
- package/docs/module_selenium-webdriver_namespace_promise.html +0 -162
- package/docs/module_selenium-webdriver_namespace_stacktrace.html +0 -17
- package/docs/module_selenium-webdriver_namespace_until.html +0 -82
- package/docs/module_selenium-webdriver_net.html +0 -7
- package/docs/module_selenium-webdriver_net_portprober.html +0 -12
- package/docs/module_selenium-webdriver_opera.html +0 -62
- package/docs/module_selenium-webdriver_opera_class_Driver.html +0 -276
- package/docs/module_selenium-webdriver_opera_class_Options.html +0 -44
- package/docs/module_selenium-webdriver_opera_class_ServiceBuilder.html +0 -35
- package/docs/module_selenium-webdriver_phantomjs.html +0 -2
- package/docs/module_selenium-webdriver_phantomjs_class_Driver.html +0 -299
- package/docs/module_selenium-webdriver_proxy.html +0 -28
- package/docs/module_selenium-webdriver_remote.html +0 -8
- package/docs/module_selenium-webdriver_remote_class_DriverService.html +0 -32
- package/docs/module_selenium-webdriver_remote_class_FileDetector.html +0 -22
- package/docs/module_selenium-webdriver_remote_class_SeleniumServer.html +0 -40
- package/docs/module_selenium-webdriver_safari.html +0 -9
- package/docs/module_selenium-webdriver_safari_class_Driver.html +0 -279
- package/docs/module_selenium-webdriver_safari_class_Options.html +0 -23
- package/docs/module_selenium-webdriver_testing.html +0 -74
- package/docs/module_selenium-webdriver_testing_assert.html +0 -9
- package/docs/namespace_bot.html +0 -4
- package/docs/namespace_bot_json.html +0 -20
- package/docs/namespace_bot_response.html +0 -18
- package/docs/namespace_bot_userAgent.html +0 -33
- package/docs/namespace_webdriver.html +0 -30
- package/docs/namespace_webdriver_By.html +0 -56
- package/docs/namespace_webdriver_http.html +0 -6
- package/docs/namespace_webdriver_logging.html +0 -70
- package/docs/namespace_webdriver_promise.html +0 -165
- package/docs/namespace_webdriver_stacktrace.html +0 -17
- package/docs/namespace_webdriver_testing.html +0 -7
- package/docs/namespace_webdriver_testing_assert.html +0 -9
- package/docs/namespace_webdriver_testing_asserts.html +0 -18
- package/docs/namespace_webdriver_until.html +0 -82
- package/docs/source/_base.js.src.html +0 -1
- package/docs/source/builder.js.src.html +0 -1
- package/docs/source/chrome.js.src.html +0 -1
- package/docs/source/error.js.src.html +0 -1
- package/docs/source/executors.js.src.html +0 -1
- package/docs/source/firefox/binary.js.src.html +0 -1
- package/docs/source/firefox/extension.js.src.html +0 -1
- package/docs/source/firefox/index.js.src.html +0 -1
- package/docs/source/firefox/profile.js.src.html +0 -1
- package/docs/source/http/index.js.src.html +0 -1
- package/docs/source/http/util.js.src.html +0 -1
- package/docs/source/ie.js.src.html +0 -1
- package/docs/source/index.js.src.html +0 -1
- package/docs/source/io/exec.js.src.html +0 -1
- package/docs/source/io/index.js.src.html +0 -1
- package/docs/source/lib/atoms/error.js.src.html +0 -1
- package/docs/source/lib/atoms/json.js.src.html +0 -1
- package/docs/source/lib/atoms/response.js.src.html +0 -1
- package/docs/source/lib/atoms/userAgent.js.src.html +0 -1
- package/docs/source/lib/goog/array/array.js.src.html +0 -1
- package/docs/source/lib/goog/asserts/asserts.js.src.html +0 -1
- package/docs/source/lib/goog/async/freelist.js.src.html +0 -1
- package/docs/source/lib/goog/async/nexttick.js.src.html +0 -1
- package/docs/source/lib/goog/async/run.js.src.html +0 -1
- package/docs/source/lib/goog/async/workqueue.js.src.html +0 -1
- package/docs/source/lib/goog/base.js.src.html +0 -1
- package/docs/source/lib/goog/debug/debug.js.src.html +0 -1
- package/docs/source/lib/goog/debug/entrypointregistry.js.src.html +0 -1
- package/docs/source/lib/goog/debug/error.js.src.html +0 -1
- package/docs/source/lib/goog/debug/logbuffer.js.src.html +0 -1
- package/docs/source/lib/goog/debug/logger.js.src.html +0 -1
- package/docs/source/lib/goog/debug/logrecord.js.src.html +0 -1
- package/docs/source/lib/goog/deps.js.src.html +0 -1
- package/docs/source/lib/goog/disposable/disposable.js.src.html +0 -1
- package/docs/source/lib/goog/disposable/idisposable.js.src.html +0 -1
- package/docs/source/lib/goog/dom/browserfeature.js.src.html +0 -1
- package/docs/source/lib/goog/dom/dom.js.src.html +0 -1
- package/docs/source/lib/goog/dom/nodetype.js.src.html +0 -1
- package/docs/source/lib/goog/dom/safe.js.src.html +0 -1
- package/docs/source/lib/goog/dom/tagname.js.src.html +0 -1
- package/docs/source/lib/goog/dom/tags.js.src.html +0 -1
- package/docs/source/lib/goog/dom/vendor.js.src.html +0 -1
- package/docs/source/lib/goog/events/browserevent.js.src.html +0 -1
- package/docs/source/lib/goog/events/browserfeature.js.src.html +0 -1
- package/docs/source/lib/goog/events/event.js.src.html +0 -1
- package/docs/source/lib/goog/events/eventid.js.src.html +0 -1
- package/docs/source/lib/goog/events/events.js.src.html +0 -1
- package/docs/source/lib/goog/events/eventtarget.js.src.html +0 -1
- package/docs/source/lib/goog/events/eventtype.js.src.html +0 -1
- package/docs/source/lib/goog/events/keycodes.js.src.html +0 -1
- package/docs/source/lib/goog/events/listenable.js.src.html +0 -1
- package/docs/source/lib/goog/events/listener.js.src.html +0 -1
- package/docs/source/lib/goog/events/listenermap.js.src.html +0 -1
- package/docs/source/lib/goog/fs/url.js.src.html +0 -1
- package/docs/source/lib/goog/functions/functions.js.src.html +0 -1
- package/docs/source/lib/goog/html/safehtml.js.src.html +0 -1
- package/docs/source/lib/goog/html/safescript.js.src.html +0 -1
- package/docs/source/lib/goog/html/safestyle.js.src.html +0 -1
- package/docs/source/lib/goog/html/safestylesheet.js.src.html +0 -1
- package/docs/source/lib/goog/html/safeurl.js.src.html +0 -1
- package/docs/source/lib/goog/html/trustedresourceurl.js.src.html +0 -1
- package/docs/source/lib/goog/html/uncheckedconversions.js.src.html +0 -1
- package/docs/source/lib/goog/i18n/bidi.js.src.html +0 -1
- package/docs/source/lib/goog/iter/iter.js.src.html +0 -1
- package/docs/source/lib/goog/json/json.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/assertthat.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/logicmatcher.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/matcher.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/numbermatcher.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/objectmatcher.js.src.html +0 -1
- package/docs/source/lib/goog/labs/testing/stringmatcher.js.src.html +0 -1
- package/docs/source/lib/goog/labs/useragent/browser.js.src.html +0 -1
- package/docs/source/lib/goog/labs/useragent/engine.js.src.html +0 -1
- package/docs/source/lib/goog/labs/useragent/platform.js.src.html +0 -1
- package/docs/source/lib/goog/labs/useragent/util.js.src.html +0 -1
- package/docs/source/lib/goog/math/box.js.src.html +0 -1
- package/docs/source/lib/goog/math/coordinate.js.src.html +0 -1
- package/docs/source/lib/goog/math/math.js.src.html +0 -1
- package/docs/source/lib/goog/math/rect.js.src.html +0 -1
- package/docs/source/lib/goog/math/size.js.src.html +0 -1
- package/docs/source/lib/goog/net/wrapperxmlhttpfactory.js.src.html +0 -1
- package/docs/source/lib/goog/net/xhrlike.js.src.html +0 -1
- package/docs/source/lib/goog/net/xmlhttp.js.src.html +0 -1
- package/docs/source/lib/goog/net/xmlhttpfactory.js.src.html +0 -1
- package/docs/source/lib/goog/object/object.js.src.html +0 -1
- package/docs/source/lib/goog/promise/promise.js.src.html +0 -1
- package/docs/source/lib/goog/promise/resolver.js.src.html +0 -1
- package/docs/source/lib/goog/promise/thenable.js.src.html +0 -1
- package/docs/source/lib/goog/reflect/reflect.js.src.html +0 -1
- package/docs/source/lib/goog/string/const.js.src.html +0 -1
- package/docs/source/lib/goog/string/string.js.src.html +0 -1
- package/docs/source/lib/goog/string/typedstring.js.src.html +0 -1
- package/docs/source/lib/goog/structs/collection.js.src.html +0 -1
- package/docs/source/lib/goog/structs/map.js.src.html +0 -1
- package/docs/source/lib/goog/structs/set.js.src.html +0 -1
- package/docs/source/lib/goog/structs/structs.js.src.html +0 -1
- package/docs/source/lib/goog/style/style.js.src.html +0 -1
- package/docs/source/lib/goog/testing/asserts.js.src.html +0 -1
- package/docs/source/lib/goog/testing/events/events.js.src.html +0 -1
- package/docs/source/lib/goog/testing/functionmock.js.src.html +0 -1
- package/docs/source/lib/goog/testing/jsunit.js.src.html +0 -1
- package/docs/source/lib/goog/testing/loosemock.js.src.html +0 -1
- package/docs/source/lib/goog/testing/mock.js.src.html +0 -1
- package/docs/source/lib/goog/testing/mockclock.js.src.html +0 -1
- package/docs/source/lib/goog/testing/mockcontrol.js.src.html +0 -1
- package/docs/source/lib/goog/testing/mockinterface.js.src.html +0 -1
- package/docs/source/lib/goog/testing/mockmatchers.js.src.html +0 -1
- package/docs/source/lib/goog/testing/objectpropertystring.js.src.html +0 -1
- package/docs/source/lib/goog/testing/propertyreplacer.js.src.html +0 -1
- package/docs/source/lib/goog/testing/recordfunction.js.src.html +0 -1
- package/docs/source/lib/goog/testing/stacktrace.js.src.html +0 -1
- package/docs/source/lib/goog/testing/strictmock.js.src.html +0 -1
- package/docs/source/lib/goog/testing/testcase.js.src.html +0 -1
- package/docs/source/lib/goog/testing/testrunner.js.src.html +0 -1
- package/docs/source/lib/goog/testing/watchers.js.src.html +0 -1
- package/docs/source/lib/goog/uri/uri.js.src.html +0 -1
- package/docs/source/lib/goog/uri/utils.js.src.html +0 -1
- package/docs/source/lib/goog/useragent/product.js.src.html +0 -1
- package/docs/source/lib/goog/useragent/product_isversion.js.src.html +0 -1
- package/docs/source/lib/goog/useragent/useragent.js.src.html +0 -1
- package/docs/source/lib/webdriver/actionsequence.js.src.html +0 -1
- package/docs/source/lib/webdriver/button.js.src.html +0 -1
- package/docs/source/lib/webdriver/capabilities.js.src.html +0 -1
- package/docs/source/lib/webdriver/command.js.src.html +0 -1
- package/docs/source/lib/webdriver/events.js.src.html +0 -1
- package/docs/source/lib/webdriver/http/http.js.src.html +0 -1
- package/docs/source/lib/webdriver/key.js.src.html +0 -1
- package/docs/source/lib/webdriver/locators.js.src.html +0 -1
- package/docs/source/lib/webdriver/logging.js.src.html +0 -1
- package/docs/source/lib/webdriver/promise.js.src.html +0 -1
- package/docs/source/lib/webdriver/serializable.js.src.html +0 -1
- package/docs/source/lib/webdriver/session.js.src.html +0 -1
- package/docs/source/lib/webdriver/stacktrace.js.src.html +0 -1
- package/docs/source/lib/webdriver/testing/asserts.js.src.html +0 -1
- package/docs/source/lib/webdriver/touchsequence.js.src.html +0 -1
- package/docs/source/lib/webdriver/until.js.src.html +0 -1
- package/docs/source/lib/webdriver/webdriver.js.src.html +0 -1
- package/docs/source/net/index.js.src.html +0 -1
- package/docs/source/net/portprober.js.src.html +0 -1
- package/docs/source/opera.js.src.html +0 -1
- package/docs/source/phantomjs.js.src.html +0 -1
- package/docs/source/proxy.js.src.html +0 -1
- package/docs/source/remote/index.js.src.html +0 -1
- package/docs/source/safari.js.src.html +0 -1
- package/docs/source/testing/assert.js.src.html +0 -1
- package/docs/source/testing/index.js.src.html +0 -1
- package/docs/types.js +0 -1
- package/lib/atoms/error.js +0 -202
- package/lib/atoms/json.js +0 -80
- package/lib/atoms/response.js +0 -110
- package/lib/atoms/userAgent.js +0 -257
- package/lib/goog/LICENSE +0 -176
- package/lib/goog/array/array.js +0 -1655
- package/lib/goog/asserts/asserts.js +0 -365
- package/lib/goog/async/freelist.js +0 -88
- package/lib/goog/async/nexttick.js +0 -241
- package/lib/goog/async/run.js +0 -139
- package/lib/goog/async/workqueue.js +0 -139
- package/lib/goog/base.js +0 -2547
- package/lib/goog/debug/debug.js +0 -653
- package/lib/goog/debug/entrypointregistry.js +0 -158
- package/lib/goog/debug/error.js +0 -63
- package/lib/goog/debug/logbuffer.js +0 -148
- package/lib/goog/debug/logger.js +0 -873
- package/lib/goog/debug/logrecord.js +0 -242
- package/lib/goog/deps.js +0 -151
- package/lib/goog/disposable/disposable.js +0 -307
- package/lib/goog/disposable/idisposable.js +0 -45
- package/lib/goog/dom/browserfeature.js +0 -72
- package/lib/goog/dom/dom.js +0 -2995
- package/lib/goog/dom/nodetype.js +0 -48
- package/lib/goog/dom/safe.js +0 -347
- package/lib/goog/dom/tagname.js +0 -160
- package/lib/goog/dom/tags.js +0 -42
- package/lib/goog/dom/vendor.js +0 -96
- package/lib/goog/events/browserevent.js +0 -386
- package/lib/goog/events/browserfeature.js +0 -85
- package/lib/goog/events/event.js +0 -143
- package/lib/goog/events/eventid.js +0 -47
- package/lib/goog/events/events.js +0 -984
- package/lib/goog/events/eventtarget.js +0 -394
- package/lib/goog/events/eventtype.js +0 -233
- package/lib/goog/events/keycodes.js +0 -420
- package/lib/goog/events/listenable.js +0 -335
- package/lib/goog/events/listener.js +0 -131
- package/lib/goog/events/listenermap.js +0 -308
- package/lib/goog/fs/url.js +0 -105
- package/lib/goog/functions/functions.js +0 -332
- package/lib/goog/html/safehtml.js +0 -756
- package/lib/goog/html/safescript.js +0 -234
- package/lib/goog/html/safestyle.js +0 -442
- package/lib/goog/html/safestylesheet.js +0 -276
- package/lib/goog/html/safeurl.js +0 -431
- package/lib/goog/html/trustedresourceurl.js +0 -224
- package/lib/goog/html/uncheckedconversions.js +0 -231
- package/lib/goog/i18n/bidi.js +0 -908
- package/lib/goog/iter/iter.js +0 -1305
- package/lib/goog/json/json.js +0 -365
- package/lib/goog/labs/testing/assertthat.js +0 -58
- package/lib/goog/labs/testing/logicmatcher.js +0 -212
- package/lib/goog/labs/testing/matcher.js +0 -80
- package/lib/goog/labs/testing/numbermatcher.js +0 -346
- package/lib/goog/labs/testing/objectmatcher.js +0 -317
- package/lib/goog/labs/testing/stringmatcher.js +0 -415
- package/lib/goog/labs/useragent/browser.js +0 -327
- package/lib/goog/labs/useragent/engine.js +0 -160
- package/lib/goog/labs/useragent/platform.js +0 -160
- package/lib/goog/labs/useragent/util.js +0 -148
- package/lib/goog/math/box.js +0 -389
- package/lib/goog/math/coordinate.js +0 -268
- package/lib/goog/math/math.js +0 -451
- package/lib/goog/math/rect.js +0 -476
- package/lib/goog/math/size.js +0 -227
- package/lib/goog/net/wrapperxmlhttpfactory.js +0 -71
- package/lib/goog/net/xhrlike.js +0 -124
- package/lib/goog/net/xmlhttp.js +0 -246
- package/lib/goog/net/xmlhttpfactory.js +0 -67
- package/lib/goog/object/object.js +0 -686
- package/lib/goog/promise/promise.js +0 -1310
- package/lib/goog/promise/resolver.js +0 -48
- package/lib/goog/promise/thenable.js +0 -126
- package/lib/goog/reflect/reflect.js +0 -78
- package/lib/goog/string/const.js +0 -182
- package/lib/goog/string/string.js +0 -1565
- package/lib/goog/string/typedstring.js +0 -48
- package/lib/goog/structs/collection.js +0 -56
- package/lib/goog/structs/map.js +0 -456
- package/lib/goog/structs/set.js +0 -279
- package/lib/goog/structs/structs.js +0 -354
- package/lib/goog/style/style.js +0 -2054
- package/lib/goog/testing/asserts.js +0 -1265
- package/lib/goog/testing/events/events.js +0 -727
- package/lib/goog/testing/functionmock.js +0 -176
- package/lib/goog/testing/jsunit.js +0 -162
- package/lib/goog/testing/loosemock.js +0 -242
- package/lib/goog/testing/mock.js +0 -645
- package/lib/goog/testing/mockclock.js +0 -617
- package/lib/goog/testing/mockcontrol.js +0 -220
- package/lib/goog/testing/mockinterface.js +0 -45
- package/lib/goog/testing/mockmatchers.js +0 -400
- package/lib/goog/testing/objectpropertystring.js +0 -68
- package/lib/goog/testing/propertyreplacer.js +0 -245
- package/lib/goog/testing/recordfunction.js +0 -215
- package/lib/goog/testing/stacktrace.js +0 -594
- package/lib/goog/testing/strictmock.js +0 -130
- package/lib/goog/testing/testcase.js +0 -1569
- package/lib/goog/testing/testrunner.js +0 -440
- package/lib/goog/testing/watchers.js +0 -46
- package/lib/goog/uri/uri.js +0 -1507
- package/lib/goog/uri/utils.js +0 -1116
- package/lib/goog/useragent/product.js +0 -175
- package/lib/goog/useragent/product_isversion.js +0 -143
- package/lib/goog/useragent/useragent.js +0 -538
- package/lib/webdriver/actionsequence.js +0 -356
- package/lib/webdriver/builder.js +0 -208
- package/lib/webdriver/capabilities.js +0 -411
- package/lib/webdriver/events.js +0 -179
- package/lib/webdriver/firefoxdomexecutor.js +0 -175
- package/lib/webdriver/http/corsclient.js +0 -133
- package/lib/webdriver/http/http.js +0 -523
- package/lib/webdriver/http/xhrclient.js +0 -67
- package/lib/webdriver/locators.js +0 -257
- package/lib/webdriver/logging.js +0 -347
- package/lib/webdriver/promise.js +0 -2609
- package/lib/webdriver/serializable.js +0 -41
- package/lib/webdriver/session.js +0 -74
- package/lib/webdriver/stacktrace.js +0 -619
- package/lib/webdriver/test/builder_test.js +0 -53
- package/lib/webdriver/test/capabilities_test.js +0 -72
- package/lib/webdriver/test/events_test.js +0 -203
- package/lib/webdriver/test/http/corsclient_test.js +0 -151
- package/lib/webdriver/test/http/http_test.js +0 -428
- package/lib/webdriver/test/http/xhrclient_test.js +0 -196
- package/lib/webdriver/test/locators_test.js +0 -59
- package/lib/webdriver/test/logging_test.js +0 -85
- package/lib/webdriver/test/promise_error_test.js +0 -719
- package/lib/webdriver/test/promise_flow_test.js +0 -1957
- package/lib/webdriver/test/promise_generator_test.js +0 -251
- package/lib/webdriver/test/promise_test.js +0 -1981
- package/lib/webdriver/test/stacktrace_test.js +0 -480
- package/lib/webdriver/test/test_bootstrap.js +0 -67
- package/lib/webdriver/test/testing/asserts_test.js +0 -117
- package/lib/webdriver/test/testing/client_test.js +0 -88
- package/lib/webdriver/test/testing/testcase_test.js +0 -229
- package/lib/webdriver/test/testutil.js +0 -209
- package/lib/webdriver/test/testutil_test.js +0 -104
- package/lib/webdriver/test/until_test.js +0 -411
- package/lib/webdriver/test/webdriver_generator_test.js +0 -92
- package/lib/webdriver/test/webdriver_test.js +0 -2369
- package/lib/webdriver/testing/asserts.js +0 -487
- package/lib/webdriver/testing/client.js +0 -179
- package/lib/webdriver/testing/jsunit.js +0 -363
- package/lib/webdriver/testing/testcase.js +0 -168
- package/lib/webdriver/testing/window.js +0 -244
- package/lib/webdriver/touchsequence.js +0 -248
- package/lib/webdriver/until.js +0 -412
- package/lib/webdriver/webdriver.js +0 -2492
- package/test/_base_test.js +0 -129
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
// Copyright 2005 The Closure Library Authors. All Rights Reserved.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS-IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @fileoverview A disposable implementation of a custom
|
|
17
|
-
* listenable/event target. See also: documentation for
|
|
18
|
-
* {@code goog.events.Listenable}.
|
|
19
|
-
*
|
|
20
|
-
* @author arv@google.com (Erik Arvidsson) [Original implementation]
|
|
21
|
-
* @see ../demos/eventtarget.html
|
|
22
|
-
* @see goog.events.Listenable
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
goog.provide('goog.events.EventTarget');
|
|
26
|
-
|
|
27
|
-
goog.require('goog.Disposable');
|
|
28
|
-
goog.require('goog.asserts');
|
|
29
|
-
goog.require('goog.events');
|
|
30
|
-
goog.require('goog.events.Event');
|
|
31
|
-
goog.require('goog.events.Listenable');
|
|
32
|
-
goog.require('goog.events.ListenerMap');
|
|
33
|
-
goog.require('goog.object');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* An implementation of {@code goog.events.Listenable} with full W3C
|
|
39
|
-
* EventTarget-like support (capture/bubble mechanism, stopping event
|
|
40
|
-
* propagation, preventing default actions).
|
|
41
|
-
*
|
|
42
|
-
* You may subclass this class to turn your class into a Listenable.
|
|
43
|
-
*
|
|
44
|
-
* Unless propagation is stopped, an event dispatched by an
|
|
45
|
-
* EventTarget will bubble to the parent returned by
|
|
46
|
-
* {@code getParentEventTarget}. To set the parent, call
|
|
47
|
-
* {@code setParentEventTarget}. Subclasses that don't support
|
|
48
|
-
* changing the parent can override the setter to throw an error.
|
|
49
|
-
*
|
|
50
|
-
* Example usage:
|
|
51
|
-
* <pre>
|
|
52
|
-
* var source = new goog.events.EventTarget();
|
|
53
|
-
* function handleEvent(e) {
|
|
54
|
-
* alert('Type: ' + e.type + '; Target: ' + e.target);
|
|
55
|
-
* }
|
|
56
|
-
* source.listen('foo', handleEvent);
|
|
57
|
-
* // Or: goog.events.listen(source, 'foo', handleEvent);
|
|
58
|
-
* ...
|
|
59
|
-
* source.dispatchEvent('foo'); // will call handleEvent
|
|
60
|
-
* ...
|
|
61
|
-
* source.unlisten('foo', handleEvent);
|
|
62
|
-
* // Or: goog.events.unlisten(source, 'foo', handleEvent);
|
|
63
|
-
* </pre>
|
|
64
|
-
*
|
|
65
|
-
* @constructor
|
|
66
|
-
* @extends {goog.Disposable}
|
|
67
|
-
* @implements {goog.events.Listenable}
|
|
68
|
-
*/
|
|
69
|
-
goog.events.EventTarget = function() {
|
|
70
|
-
goog.Disposable.call(this);
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Maps of event type to an array of listeners.
|
|
74
|
-
* @private {!goog.events.ListenerMap}
|
|
75
|
-
*/
|
|
76
|
-
this.eventTargetListeners_ = new goog.events.ListenerMap(this);
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* The object to use for event.target. Useful when mixing in an
|
|
80
|
-
* EventTarget to another object.
|
|
81
|
-
* @private {!Object}
|
|
82
|
-
*/
|
|
83
|
-
this.actualEventTarget_ = this;
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Parent event target, used during event bubbling.
|
|
87
|
-
*
|
|
88
|
-
* TODO(chrishenry): Change this to goog.events.Listenable. This
|
|
89
|
-
* currently breaks people who expect getParentEventTarget to return
|
|
90
|
-
* goog.events.EventTarget.
|
|
91
|
-
*
|
|
92
|
-
* @private {goog.events.EventTarget}
|
|
93
|
-
*/
|
|
94
|
-
this.parentEventTarget_ = null;
|
|
95
|
-
};
|
|
96
|
-
goog.inherits(goog.events.EventTarget, goog.Disposable);
|
|
97
|
-
goog.events.Listenable.addImplementation(goog.events.EventTarget);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* An artificial cap on the number of ancestors you can have. This is mainly
|
|
102
|
-
* for loop detection.
|
|
103
|
-
* @const {number}
|
|
104
|
-
* @private
|
|
105
|
-
*/
|
|
106
|
-
goog.events.EventTarget.MAX_ANCESTORS_ = 1000;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Returns the parent of this event target to use for bubbling.
|
|
111
|
-
*
|
|
112
|
-
* @return {goog.events.EventTarget} The parent EventTarget or null if
|
|
113
|
-
* there is no parent.
|
|
114
|
-
* @override
|
|
115
|
-
*/
|
|
116
|
-
goog.events.EventTarget.prototype.getParentEventTarget = function() {
|
|
117
|
-
return this.parentEventTarget_;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Sets the parent of this event target to use for capture/bubble
|
|
123
|
-
* mechanism.
|
|
124
|
-
* @param {goog.events.EventTarget} parent Parent listenable (null if none).
|
|
125
|
-
*/
|
|
126
|
-
goog.events.EventTarget.prototype.setParentEventTarget = function(parent) {
|
|
127
|
-
this.parentEventTarget_ = parent;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Adds an event listener to the event target. The same handler can only be
|
|
133
|
-
* added once per the type. Even if you add the same handler multiple times
|
|
134
|
-
* using the same type then it will only be called once when the event is
|
|
135
|
-
* dispatched.
|
|
136
|
-
*
|
|
137
|
-
* @param {string} type The type of the event to listen for.
|
|
138
|
-
* @param {function(?):?|{handleEvent:function(?):?}|null} handler The function
|
|
139
|
-
* to handle the event. The handler can also be an object that implements
|
|
140
|
-
* the handleEvent method which takes the event object as argument.
|
|
141
|
-
* @param {boolean=} opt_capture In DOM-compliant browsers, this determines
|
|
142
|
-
* whether the listener is fired during the capture or bubble phase
|
|
143
|
-
* of the event.
|
|
144
|
-
* @param {Object=} opt_handlerScope Object in whose scope to call
|
|
145
|
-
* the listener.
|
|
146
|
-
* @deprecated Use {@code #listen} instead, when possible. Otherwise, use
|
|
147
|
-
* {@code goog.events.listen} if you are passing Object
|
|
148
|
-
* (instead of Function) as handler.
|
|
149
|
-
*/
|
|
150
|
-
goog.events.EventTarget.prototype.addEventListener = function(
|
|
151
|
-
type, handler, opt_capture, opt_handlerScope) {
|
|
152
|
-
goog.events.listen(this, type, handler, opt_capture, opt_handlerScope);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Removes an event listener from the event target. The handler must be the
|
|
158
|
-
* same object as the one added. If the handler has not been added then
|
|
159
|
-
* nothing is done.
|
|
160
|
-
*
|
|
161
|
-
* @param {string} type The type of the event to listen for.
|
|
162
|
-
* @param {function(?):?|{handleEvent:function(?):?}|null} handler The function
|
|
163
|
-
* to handle the event. The handler can also be an object that implements
|
|
164
|
-
* the handleEvent method which takes the event object as argument.
|
|
165
|
-
* @param {boolean=} opt_capture In DOM-compliant browsers, this determines
|
|
166
|
-
* whether the listener is fired during the capture or bubble phase
|
|
167
|
-
* of the event.
|
|
168
|
-
* @param {Object=} opt_handlerScope Object in whose scope to call
|
|
169
|
-
* the listener.
|
|
170
|
-
* @deprecated Use {@code #unlisten} instead, when possible. Otherwise, use
|
|
171
|
-
* {@code goog.events.unlisten} if you are passing Object
|
|
172
|
-
* (instead of Function) as handler.
|
|
173
|
-
*/
|
|
174
|
-
goog.events.EventTarget.prototype.removeEventListener = function(
|
|
175
|
-
type, handler, opt_capture, opt_handlerScope) {
|
|
176
|
-
goog.events.unlisten(this, type, handler, opt_capture, opt_handlerScope);
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
/** @override */
|
|
181
|
-
goog.events.EventTarget.prototype.dispatchEvent = function(e) {
|
|
182
|
-
this.assertInitialized_();
|
|
183
|
-
|
|
184
|
-
var ancestorsTree, ancestor = this.getParentEventTarget();
|
|
185
|
-
if (ancestor) {
|
|
186
|
-
ancestorsTree = [];
|
|
187
|
-
var ancestorCount = 1;
|
|
188
|
-
for (; ancestor; ancestor = ancestor.getParentEventTarget()) {
|
|
189
|
-
ancestorsTree.push(ancestor);
|
|
190
|
-
goog.asserts.assert(
|
|
191
|
-
(++ancestorCount < goog.events.EventTarget.MAX_ANCESTORS_),
|
|
192
|
-
'infinite loop');
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return goog.events.EventTarget.dispatchEventInternal_(
|
|
197
|
-
this.actualEventTarget_, e, ancestorsTree);
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Removes listeners from this object. Classes that extend EventTarget may
|
|
203
|
-
* need to override this method in order to remove references to DOM Elements
|
|
204
|
-
* and additional listeners.
|
|
205
|
-
* @override
|
|
206
|
-
*/
|
|
207
|
-
goog.events.EventTarget.prototype.disposeInternal = function() {
|
|
208
|
-
goog.events.EventTarget.superClass_.disposeInternal.call(this);
|
|
209
|
-
|
|
210
|
-
this.removeAllListeners();
|
|
211
|
-
this.parentEventTarget_ = null;
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
/** @override */
|
|
216
|
-
goog.events.EventTarget.prototype.listen = function(
|
|
217
|
-
type, listener, opt_useCapture, opt_listenerScope) {
|
|
218
|
-
this.assertInitialized_();
|
|
219
|
-
return this.eventTargetListeners_.add(
|
|
220
|
-
String(type), listener, false /* callOnce */, opt_useCapture,
|
|
221
|
-
opt_listenerScope);
|
|
222
|
-
};
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
/** @override */
|
|
226
|
-
goog.events.EventTarget.prototype.listenOnce = function(
|
|
227
|
-
type, listener, opt_useCapture, opt_listenerScope) {
|
|
228
|
-
return this.eventTargetListeners_.add(
|
|
229
|
-
String(type), listener, true /* callOnce */, opt_useCapture,
|
|
230
|
-
opt_listenerScope);
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
/** @override */
|
|
235
|
-
goog.events.EventTarget.prototype.unlisten = function(
|
|
236
|
-
type, listener, opt_useCapture, opt_listenerScope) {
|
|
237
|
-
return this.eventTargetListeners_.remove(
|
|
238
|
-
String(type), listener, opt_useCapture, opt_listenerScope);
|
|
239
|
-
};
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
/** @override */
|
|
243
|
-
goog.events.EventTarget.prototype.unlistenByKey = function(key) {
|
|
244
|
-
return this.eventTargetListeners_.removeByKey(key);
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
/** @override */
|
|
249
|
-
goog.events.EventTarget.prototype.removeAllListeners = function(opt_type) {
|
|
250
|
-
// TODO(chrishenry): Previously, removeAllListeners can be called on
|
|
251
|
-
// uninitialized EventTarget, so we preserve that behavior. We
|
|
252
|
-
// should remove this when usages that rely on that fact are purged.
|
|
253
|
-
if (!this.eventTargetListeners_) {
|
|
254
|
-
return 0;
|
|
255
|
-
}
|
|
256
|
-
return this.eventTargetListeners_.removeAll(opt_type);
|
|
257
|
-
};
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
/** @override */
|
|
261
|
-
goog.events.EventTarget.prototype.fireListeners = function(
|
|
262
|
-
type, capture, eventObject) {
|
|
263
|
-
// TODO(chrishenry): Original code avoids array creation when there
|
|
264
|
-
// is no listener, so we do the same. If this optimization turns
|
|
265
|
-
// out to be not required, we can replace this with
|
|
266
|
-
// getListeners(type, capture) instead, which is simpler.
|
|
267
|
-
var listenerArray = this.eventTargetListeners_.listeners[String(type)];
|
|
268
|
-
if (!listenerArray) {
|
|
269
|
-
return true;
|
|
270
|
-
}
|
|
271
|
-
listenerArray = listenerArray.concat();
|
|
272
|
-
|
|
273
|
-
var rv = true;
|
|
274
|
-
for (var i = 0; i < listenerArray.length; ++i) {
|
|
275
|
-
var listener = listenerArray[i];
|
|
276
|
-
// We might not have a listener if the listener was removed.
|
|
277
|
-
if (listener && !listener.removed && listener.capture == capture) {
|
|
278
|
-
var listenerFn = listener.listener;
|
|
279
|
-
var listenerHandler = listener.handler || listener.src;
|
|
280
|
-
|
|
281
|
-
if (listener.callOnce) {
|
|
282
|
-
this.unlistenByKey(listener);
|
|
283
|
-
}
|
|
284
|
-
rv = listenerFn.call(listenerHandler, eventObject) !== false && rv;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return rv && eventObject.returnValue_ != false;
|
|
289
|
-
};
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
/** @override */
|
|
293
|
-
goog.events.EventTarget.prototype.getListeners = function(type, capture) {
|
|
294
|
-
return this.eventTargetListeners_.getListeners(String(type), capture);
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
/** @override */
|
|
299
|
-
goog.events.EventTarget.prototype.getListener = function(
|
|
300
|
-
type, listener, capture, opt_listenerScope) {
|
|
301
|
-
return this.eventTargetListeners_.getListener(
|
|
302
|
-
String(type), listener, capture, opt_listenerScope);
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
/** @override */
|
|
307
|
-
goog.events.EventTarget.prototype.hasListener = function(
|
|
308
|
-
opt_type, opt_capture) {
|
|
309
|
-
var id = goog.isDef(opt_type) ? String(opt_type) : undefined;
|
|
310
|
-
return this.eventTargetListeners_.hasListener(id, opt_capture);
|
|
311
|
-
};
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Sets the target to be used for {@code event.target} when firing
|
|
316
|
-
* event. Mainly used for testing. For example, see
|
|
317
|
-
* {@code goog.testing.events.mixinListenable}.
|
|
318
|
-
* @param {!Object} target The target.
|
|
319
|
-
*/
|
|
320
|
-
goog.events.EventTarget.prototype.setTargetForTesting = function(target) {
|
|
321
|
-
this.actualEventTarget_ = target;
|
|
322
|
-
};
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* Asserts that the event target instance is initialized properly.
|
|
327
|
-
* @private
|
|
328
|
-
*/
|
|
329
|
-
goog.events.EventTarget.prototype.assertInitialized_ = function() {
|
|
330
|
-
goog.asserts.assert(
|
|
331
|
-
this.eventTargetListeners_,
|
|
332
|
-
'Event target is not initialized. Did you call the superclass ' +
|
|
333
|
-
'(goog.events.EventTarget) constructor?');
|
|
334
|
-
};
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Dispatches the given event on the ancestorsTree.
|
|
339
|
-
*
|
|
340
|
-
* @param {!Object} target The target to dispatch on.
|
|
341
|
-
* @param {goog.events.Event|Object|string} e The event object.
|
|
342
|
-
* @param {Array<goog.events.Listenable>=} opt_ancestorsTree The ancestors
|
|
343
|
-
* tree of the target, in reverse order from the closest ancestor
|
|
344
|
-
* to the root event target. May be null if the target has no ancestor.
|
|
345
|
-
* @return {boolean} If anyone called preventDefault on the event object (or
|
|
346
|
-
* if any of the listeners returns false) this will also return false.
|
|
347
|
-
* @private
|
|
348
|
-
*/
|
|
349
|
-
goog.events.EventTarget.dispatchEventInternal_ = function(
|
|
350
|
-
target, e, opt_ancestorsTree) {
|
|
351
|
-
var type = e.type || /** @type {string} */ (e);
|
|
352
|
-
|
|
353
|
-
// If accepting a string or object, create a custom event object so that
|
|
354
|
-
// preventDefault and stopPropagation work with the event.
|
|
355
|
-
if (goog.isString(e)) {
|
|
356
|
-
e = new goog.events.Event(e, target);
|
|
357
|
-
} else if (!(e instanceof goog.events.Event)) {
|
|
358
|
-
var oldEvent = e;
|
|
359
|
-
e = new goog.events.Event(type, target);
|
|
360
|
-
goog.object.extend(e, oldEvent);
|
|
361
|
-
} else {
|
|
362
|
-
e.target = e.target || target;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
var rv = true, currentTarget;
|
|
366
|
-
|
|
367
|
-
// Executes all capture listeners on the ancestors, if any.
|
|
368
|
-
if (opt_ancestorsTree) {
|
|
369
|
-
for (var i = opt_ancestorsTree.length - 1; !e.propagationStopped_ && i >= 0;
|
|
370
|
-
i--) {
|
|
371
|
-
currentTarget = e.currentTarget = opt_ancestorsTree[i];
|
|
372
|
-
rv = currentTarget.fireListeners(type, true, e) && rv;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
// Executes capture and bubble listeners on the target.
|
|
377
|
-
if (!e.propagationStopped_) {
|
|
378
|
-
currentTarget = e.currentTarget = target;
|
|
379
|
-
rv = currentTarget.fireListeners(type, true, e) && rv;
|
|
380
|
-
if (!e.propagationStopped_) {
|
|
381
|
-
rv = currentTarget.fireListeners(type, false, e) && rv;
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
// Executes all bubble listeners on the ancestors, if any.
|
|
386
|
-
if (opt_ancestorsTree) {
|
|
387
|
-
for (i = 0; !e.propagationStopped_ && i < opt_ancestorsTree.length; i++) {
|
|
388
|
-
currentTarget = e.currentTarget = opt_ancestorsTree[i];
|
|
389
|
-
rv = currentTarget.fireListeners(type, false, e) && rv;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
return rv;
|
|
394
|
-
};
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
// Copyright 2010 The Closure Library Authors. All Rights Reserved.
|
|
2
|
-
//
|
|
3
|
-
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
// you may not use this file except in compliance with the License.
|
|
5
|
-
// You may obtain a copy of the License at
|
|
6
|
-
//
|
|
7
|
-
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
//
|
|
9
|
-
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
// distributed under the License is distributed on an "AS-IS" BASIS,
|
|
11
|
-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
// See the License for the specific language governing permissions and
|
|
13
|
-
// limitations under the License.
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @fileoverview Event Types.
|
|
17
|
-
*
|
|
18
|
-
* @author arv@google.com (Erik Arvidsson)
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
goog.provide('goog.events.EventType');
|
|
23
|
-
|
|
24
|
-
goog.require('goog.userAgent');
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Returns a prefixed event name for the current browser.
|
|
29
|
-
* @param {string} eventName The name of the event.
|
|
30
|
-
* @return {string} The prefixed event name.
|
|
31
|
-
* @suppress {missingRequire|missingProvide}
|
|
32
|
-
* @private
|
|
33
|
-
*/
|
|
34
|
-
goog.events.getVendorPrefixedName_ = function(eventName) {
|
|
35
|
-
return goog.userAgent.WEBKIT ? 'webkit' + eventName :
|
|
36
|
-
(goog.userAgent.OPERA ? 'o' + eventName.toLowerCase() :
|
|
37
|
-
eventName.toLowerCase());
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Constants for event names.
|
|
43
|
-
* @enum {string}
|
|
44
|
-
*/
|
|
45
|
-
goog.events.EventType = {
|
|
46
|
-
// Mouse events
|
|
47
|
-
CLICK: 'click',
|
|
48
|
-
RIGHTCLICK: 'rightclick',
|
|
49
|
-
DBLCLICK: 'dblclick',
|
|
50
|
-
MOUSEDOWN: 'mousedown',
|
|
51
|
-
MOUSEUP: 'mouseup',
|
|
52
|
-
MOUSEOVER: 'mouseover',
|
|
53
|
-
MOUSEOUT: 'mouseout',
|
|
54
|
-
MOUSEMOVE: 'mousemove',
|
|
55
|
-
MOUSEENTER: 'mouseenter',
|
|
56
|
-
MOUSELEAVE: 'mouseleave',
|
|
57
|
-
// Select start is non-standard.
|
|
58
|
-
// See http://msdn.microsoft.com/en-us/library/ie/ms536969(v=vs.85).aspx.
|
|
59
|
-
SELECTSTART: 'selectstart', // IE, Safari, Chrome
|
|
60
|
-
|
|
61
|
-
// Wheel events
|
|
62
|
-
// http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
|
|
63
|
-
WHEEL: 'wheel',
|
|
64
|
-
|
|
65
|
-
// Key events
|
|
66
|
-
KEYPRESS: 'keypress',
|
|
67
|
-
KEYDOWN: 'keydown',
|
|
68
|
-
KEYUP: 'keyup',
|
|
69
|
-
|
|
70
|
-
// Focus
|
|
71
|
-
BLUR: 'blur',
|
|
72
|
-
FOCUS: 'focus',
|
|
73
|
-
DEACTIVATE: 'deactivate', // IE only
|
|
74
|
-
// NOTE: The following two events are not stable in cross-browser usage.
|
|
75
|
-
// WebKit and Opera implement DOMFocusIn/Out.
|
|
76
|
-
// IE implements focusin/out.
|
|
77
|
-
// Gecko implements neither see bug at
|
|
78
|
-
// https://bugzilla.mozilla.org/show_bug.cgi?id=396927.
|
|
79
|
-
// The DOM Events Level 3 Draft deprecates DOMFocusIn in favor of focusin:
|
|
80
|
-
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
|
|
81
|
-
// You can use FOCUS in Capture phase until implementations converge.
|
|
82
|
-
FOCUSIN: goog.userAgent.IE ? 'focusin' : 'DOMFocusIn',
|
|
83
|
-
FOCUSOUT: goog.userAgent.IE ? 'focusout' : 'DOMFocusOut',
|
|
84
|
-
|
|
85
|
-
// Forms
|
|
86
|
-
CHANGE: 'change',
|
|
87
|
-
RESET: 'reset',
|
|
88
|
-
SELECT: 'select',
|
|
89
|
-
SUBMIT: 'submit',
|
|
90
|
-
INPUT: 'input',
|
|
91
|
-
PROPERTYCHANGE: 'propertychange', // IE only
|
|
92
|
-
|
|
93
|
-
// Drag and drop
|
|
94
|
-
DRAGSTART: 'dragstart',
|
|
95
|
-
DRAG: 'drag',
|
|
96
|
-
DRAGENTER: 'dragenter',
|
|
97
|
-
DRAGOVER: 'dragover',
|
|
98
|
-
DRAGLEAVE: 'dragleave',
|
|
99
|
-
DROP: 'drop',
|
|
100
|
-
DRAGEND: 'dragend',
|
|
101
|
-
|
|
102
|
-
// Touch events
|
|
103
|
-
// Note that other touch events exist, but we should follow the W3C list here.
|
|
104
|
-
// http://www.w3.org/TR/touch-events/#list-of-touchevent-types
|
|
105
|
-
TOUCHSTART: 'touchstart',
|
|
106
|
-
TOUCHMOVE: 'touchmove',
|
|
107
|
-
TOUCHEND: 'touchend',
|
|
108
|
-
TOUCHCANCEL: 'touchcancel',
|
|
109
|
-
|
|
110
|
-
// Misc
|
|
111
|
-
BEFOREUNLOAD: 'beforeunload',
|
|
112
|
-
CONSOLEMESSAGE: 'consolemessage',
|
|
113
|
-
CONTEXTMENU: 'contextmenu',
|
|
114
|
-
DOMCONTENTLOADED: 'DOMContentLoaded',
|
|
115
|
-
ERROR: 'error',
|
|
116
|
-
HELP: 'help',
|
|
117
|
-
LOAD: 'load',
|
|
118
|
-
LOSECAPTURE: 'losecapture',
|
|
119
|
-
ORIENTATIONCHANGE: 'orientationchange',
|
|
120
|
-
READYSTATECHANGE: 'readystatechange',
|
|
121
|
-
RESIZE: 'resize',
|
|
122
|
-
SCROLL: 'scroll',
|
|
123
|
-
UNLOAD: 'unload',
|
|
124
|
-
|
|
125
|
-
// HTML 5 History events
|
|
126
|
-
// See http://www.w3.org/TR/html5/history.html#event-definitions
|
|
127
|
-
HASHCHANGE: 'hashchange',
|
|
128
|
-
PAGEHIDE: 'pagehide',
|
|
129
|
-
PAGESHOW: 'pageshow',
|
|
130
|
-
POPSTATE: 'popstate',
|
|
131
|
-
|
|
132
|
-
// Copy and Paste
|
|
133
|
-
// Support is limited. Make sure it works on your favorite browser
|
|
134
|
-
// before using.
|
|
135
|
-
// http://www.quirksmode.org/dom/events/cutcopypaste.html
|
|
136
|
-
COPY: 'copy',
|
|
137
|
-
PASTE: 'paste',
|
|
138
|
-
CUT: 'cut',
|
|
139
|
-
BEFORECOPY: 'beforecopy',
|
|
140
|
-
BEFORECUT: 'beforecut',
|
|
141
|
-
BEFOREPASTE: 'beforepaste',
|
|
142
|
-
|
|
143
|
-
// HTML5 online/offline events.
|
|
144
|
-
// http://www.w3.org/TR/offline-webapps/#related
|
|
145
|
-
ONLINE: 'online',
|
|
146
|
-
OFFLINE: 'offline',
|
|
147
|
-
|
|
148
|
-
// HTML 5 worker events
|
|
149
|
-
MESSAGE: 'message',
|
|
150
|
-
CONNECT: 'connect',
|
|
151
|
-
|
|
152
|
-
// CSS animation events.
|
|
153
|
-
/** @suppress {missingRequire} */
|
|
154
|
-
ANIMATIONSTART: goog.events.getVendorPrefixedName_('AnimationStart'),
|
|
155
|
-
/** @suppress {missingRequire} */
|
|
156
|
-
ANIMATIONEND: goog.events.getVendorPrefixedName_('AnimationEnd'),
|
|
157
|
-
/** @suppress {missingRequire} */
|
|
158
|
-
ANIMATIONITERATION: goog.events.getVendorPrefixedName_('AnimationIteration'),
|
|
159
|
-
|
|
160
|
-
// CSS transition events. Based on the browser support described at:
|
|
161
|
-
// https://developer.mozilla.org/en/css/css_transitions#Browser_compatibility
|
|
162
|
-
/** @suppress {missingRequire} */
|
|
163
|
-
TRANSITIONEND: goog.events.getVendorPrefixedName_('TransitionEnd'),
|
|
164
|
-
|
|
165
|
-
// W3C Pointer Events
|
|
166
|
-
// http://www.w3.org/TR/pointerevents/
|
|
167
|
-
POINTERDOWN: 'pointerdown',
|
|
168
|
-
POINTERUP: 'pointerup',
|
|
169
|
-
POINTERCANCEL: 'pointercancel',
|
|
170
|
-
POINTERMOVE: 'pointermove',
|
|
171
|
-
POINTEROVER: 'pointerover',
|
|
172
|
-
POINTEROUT: 'pointerout',
|
|
173
|
-
POINTERENTER: 'pointerenter',
|
|
174
|
-
POINTERLEAVE: 'pointerleave',
|
|
175
|
-
GOTPOINTERCAPTURE: 'gotpointercapture',
|
|
176
|
-
LOSTPOINTERCAPTURE: 'lostpointercapture',
|
|
177
|
-
|
|
178
|
-
// IE specific events.
|
|
179
|
-
// See http://msdn.microsoft.com/en-us/library/ie/hh772103(v=vs.85).aspx
|
|
180
|
-
// Note: these events will be supplanted in IE11.
|
|
181
|
-
MSGESTURECHANGE: 'MSGestureChange',
|
|
182
|
-
MSGESTUREEND: 'MSGestureEnd',
|
|
183
|
-
MSGESTUREHOLD: 'MSGestureHold',
|
|
184
|
-
MSGESTURESTART: 'MSGestureStart',
|
|
185
|
-
MSGESTURETAP: 'MSGestureTap',
|
|
186
|
-
MSGOTPOINTERCAPTURE: 'MSGotPointerCapture',
|
|
187
|
-
MSINERTIASTART: 'MSInertiaStart',
|
|
188
|
-
MSLOSTPOINTERCAPTURE: 'MSLostPointerCapture',
|
|
189
|
-
MSPOINTERCANCEL: 'MSPointerCancel',
|
|
190
|
-
MSPOINTERDOWN: 'MSPointerDown',
|
|
191
|
-
MSPOINTERENTER: 'MSPointerEnter',
|
|
192
|
-
MSPOINTERHOVER: 'MSPointerHover',
|
|
193
|
-
MSPOINTERLEAVE: 'MSPointerLeave',
|
|
194
|
-
MSPOINTERMOVE: 'MSPointerMove',
|
|
195
|
-
MSPOINTEROUT: 'MSPointerOut',
|
|
196
|
-
MSPOINTEROVER: 'MSPointerOver',
|
|
197
|
-
MSPOINTERUP: 'MSPointerUp',
|
|
198
|
-
|
|
199
|
-
// Native IMEs/input tools events.
|
|
200
|
-
TEXT: 'text',
|
|
201
|
-
TEXTINPUT: 'textInput',
|
|
202
|
-
COMPOSITIONSTART: 'compositionstart',
|
|
203
|
-
COMPOSITIONUPDATE: 'compositionupdate',
|
|
204
|
-
COMPOSITIONEND: 'compositionend',
|
|
205
|
-
|
|
206
|
-
// Webview tag events
|
|
207
|
-
// See http://developer.chrome.com/dev/apps/webview_tag.html
|
|
208
|
-
EXIT: 'exit',
|
|
209
|
-
LOADABORT: 'loadabort',
|
|
210
|
-
LOADCOMMIT: 'loadcommit',
|
|
211
|
-
LOADREDIRECT: 'loadredirect',
|
|
212
|
-
LOADSTART: 'loadstart',
|
|
213
|
-
LOADSTOP: 'loadstop',
|
|
214
|
-
RESPONSIVE: 'responsive',
|
|
215
|
-
SIZECHANGED: 'sizechanged',
|
|
216
|
-
UNRESPONSIVE: 'unresponsive',
|
|
217
|
-
|
|
218
|
-
// HTML5 Page Visibility API. See details at
|
|
219
|
-
// {@code goog.labs.dom.PageVisibilityMonitor}.
|
|
220
|
-
VISIBILITYCHANGE: 'visibilitychange',
|
|
221
|
-
|
|
222
|
-
// LocalStorage event.
|
|
223
|
-
STORAGE: 'storage',
|
|
224
|
-
|
|
225
|
-
// DOM Level 2 mutation events (deprecated).
|
|
226
|
-
DOMSUBTREEMODIFIED: 'DOMSubtreeModified',
|
|
227
|
-
DOMNODEINSERTED: 'DOMNodeInserted',
|
|
228
|
-
DOMNODEREMOVED: 'DOMNodeRemoved',
|
|
229
|
-
DOMNODEREMOVEDFROMDOCUMENT: 'DOMNodeRemovedFromDocument',
|
|
230
|
-
DOMNODEINSERTEDINTODOCUMENT: 'DOMNodeInsertedIntoDocument',
|
|
231
|
-
DOMATTRMODIFIED: 'DOMAttrModified',
|
|
232
|
-
DOMCHARACTERDATAMODIFIED: 'DOMCharacterDataModified'
|
|
233
|
-
};
|