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
package/lib/safari/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var COMPILED = !0, goog = goog || {};
|
|
1
|
+
'use strict';var COMPILED = !0, goog = goog || {};
|
|
2
2
|
goog.global = this;
|
|
3
3
|
goog.isDef = function(a) {
|
|
4
4
|
return void 0 !== a;
|
|
@@ -68,12 +68,6 @@ goog.moduleLoaderState_ = null;
|
|
|
68
68
|
goog.isInModuleLoader_ = function() {
|
|
69
69
|
return null != goog.moduleLoaderState_;
|
|
70
70
|
};
|
|
71
|
-
goog.module.declareTestMethods = function() {
|
|
72
|
-
if (!goog.isInModuleLoader_()) {
|
|
73
|
-
throw Error("goog.module.declareTestMethods must be called from within a goog.module");
|
|
74
|
-
}
|
|
75
|
-
goog.moduleLoaderState_.declareTestMethods = !0;
|
|
76
|
-
};
|
|
77
71
|
goog.module.declareLegacyNamespace = function() {
|
|
78
72
|
if (!COMPILED && !goog.isInModuleLoader_()) {
|
|
79
73
|
throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");
|
|
@@ -134,7 +128,7 @@ goog.require = function(a) {
|
|
|
134
128
|
if (goog.ENABLE_DEBUG_LOADER) {
|
|
135
129
|
var b = goog.getPathFromDeps_(a);
|
|
136
130
|
if (b) {
|
|
137
|
-
return goog.
|
|
131
|
+
return goog.writeScripts_(b), null;
|
|
138
132
|
}
|
|
139
133
|
}
|
|
140
134
|
a = "goog.require could not find: " + a;
|
|
@@ -162,11 +156,11 @@ goog.LOAD_MODULE_USING_EVAL = !0;
|
|
|
162
156
|
goog.SEAL_MODULE_EXPORTS = goog.DEBUG;
|
|
163
157
|
goog.loadedModules_ = {};
|
|
164
158
|
goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;
|
|
165
|
-
goog.DEPENDENCIES_ENABLED && (goog.
|
|
159
|
+
goog.DEPENDENCIES_ENABLED && (goog.dependencies_ = {pathIsModule:{}, nameToPath:{}, requires:{}, visited:{}, written:{}, deferred:{}}, goog.inHtmlDocument_ = function() {
|
|
166
160
|
var a = goog.global.document;
|
|
167
|
-
return
|
|
161
|
+
return null != a && "write" in a;
|
|
168
162
|
}, goog.findBasePath_ = function() {
|
|
169
|
-
if (goog.global.CLOSURE_BASE_PATH) {
|
|
163
|
+
if (goog.isDef(goog.global.CLOSURE_BASE_PATH)) {
|
|
170
164
|
goog.basePath = goog.global.CLOSURE_BASE_PATH;
|
|
171
165
|
} else {
|
|
172
166
|
if (goog.inHtmlDocument_()) {
|
|
@@ -181,7 +175,7 @@ goog.DEPENDENCIES_ENABLED && (goog.included_ = {}, goog.dependencies_ = {pathIsM
|
|
|
181
175
|
}
|
|
182
176
|
}, goog.importScript_ = function(a, b) {
|
|
183
177
|
(goog.global.CLOSURE_IMPORT_SCRIPT || goog.writeScriptTag_)(a, b) && (goog.dependencies_.written[a] = !0);
|
|
184
|
-
}, goog.IS_OLD_IE_ = !goog.global.atob
|
|
178
|
+
}, goog.IS_OLD_IE_ = !(goog.global.atob || !goog.global.document || !goog.global.document.all), goog.importModule_ = function(a) {
|
|
185
179
|
goog.importScript_("", 'goog.retrieveAndExecModule_("' + a + '");') && (goog.dependencies_.written[a] = !0);
|
|
186
180
|
}, goog.queuedModules_ = [], goog.wrapModule_ = function(a, b) {
|
|
187
181
|
return goog.LOAD_MODULE_USING_EVAL && goog.isDef(goog.global.JSON) ? "goog.loadModule(" + goog.global.JSON.stringify(b + "\n//# sourceURL=" + a + "\n") + ");" : 'goog.loadModule(function(exports) {"use strict";' + b + "\n;return exports});\n//# sourceURL=" + a + "\n";
|
|
@@ -213,10 +207,12 @@ goog.DEPENDENCIES_ENABLED && (goog.included_ = {}, goog.dependencies_ = {pathIsM
|
|
|
213
207
|
delete goog.dependencies_.deferred[a];
|
|
214
208
|
goog.globalEval(b);
|
|
215
209
|
}
|
|
210
|
+
}, goog.loadModuleFromUrl = function(a) {
|
|
211
|
+
goog.retrieveAndExecModule_(a);
|
|
216
212
|
}, goog.loadModule = function(a) {
|
|
217
213
|
var b = goog.moduleLoaderState_;
|
|
218
214
|
try {
|
|
219
|
-
goog.moduleLoaderState_ = {moduleName:void 0,
|
|
215
|
+
goog.moduleLoaderState_ = {moduleName:void 0, declareLegacyNamespace:!1};
|
|
220
216
|
var c;
|
|
221
217
|
if (goog.isFunction(a)) {
|
|
222
218
|
c = a.call(goog.global, {});
|
|
@@ -233,13 +229,6 @@ goog.DEPENDENCIES_ENABLED && (goog.included_ = {}, goog.dependencies_ = {pathIsM
|
|
|
233
229
|
}
|
|
234
230
|
goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(d, c) : goog.SEAL_MODULE_EXPORTS && Object.seal && Object.seal(c);
|
|
235
231
|
goog.loadedModules_[d] = c;
|
|
236
|
-
if (goog.moduleLoaderState_.declareTestMethods) {
|
|
237
|
-
for (var e in c) {
|
|
238
|
-
if (0 === e.indexOf("test", 0) || "tearDown" == e || "setUp" == e || "setUpPage" == e || "tearDownPage" == e) {
|
|
239
|
-
goog.global[e] = c[e];
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
232
|
} finally {
|
|
244
233
|
goog.moduleLoaderState_ = b;
|
|
245
234
|
}
|
|
@@ -272,35 +261,35 @@ goog.DEPENDENCIES_ENABLED && (goog.included_ = {}, goog.dependencies_ = {pathIsM
|
|
|
272
261
|
}, goog.lastNonModuleScriptIndex_ = 0, goog.onScriptLoad_ = function(a, b) {
|
|
273
262
|
"complete" == a.readyState && goog.lastNonModuleScriptIndex_ == b && goog.loadQueuedModules_();
|
|
274
263
|
return !0;
|
|
275
|
-
}, goog.writeScripts_ = function() {
|
|
276
|
-
function a
|
|
277
|
-
if (!(e in
|
|
278
|
-
|
|
279
|
-
|
|
264
|
+
}, goog.writeScripts_ = function(a) {
|
|
265
|
+
function b(a) {
|
|
266
|
+
if (!(a in e.written || a in e.visited)) {
|
|
267
|
+
e.visited[a] = !0;
|
|
268
|
+
if (a in e.requires) {
|
|
269
|
+
for (var f in e.requires[a]) {
|
|
280
270
|
if (!goog.isProvided_(f)) {
|
|
281
|
-
if (f in
|
|
282
|
-
|
|
271
|
+
if (f in e.nameToPath) {
|
|
272
|
+
b(e.nameToPath[f]);
|
|
283
273
|
} else {
|
|
284
274
|
throw Error("Undefined nameToPath for " + f);
|
|
285
275
|
}
|
|
286
276
|
}
|
|
287
277
|
}
|
|
288
278
|
}
|
|
289
|
-
|
|
279
|
+
a in d || (d[a] = !0, c.push(a));
|
|
290
280
|
}
|
|
291
281
|
}
|
|
292
|
-
var
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
e = b[f], goog.dependencies_.written[e] = !0;
|
|
282
|
+
var c = [], d = {}, e = goog.dependencies_;
|
|
283
|
+
b(a);
|
|
284
|
+
for (a = 0;a < c.length;a++) {
|
|
285
|
+
var f = c[a];
|
|
286
|
+
goog.dependencies_.written[f] = !0;
|
|
298
287
|
}
|
|
299
288
|
var g = goog.moduleLoaderState_;
|
|
300
289
|
goog.moduleLoaderState_ = null;
|
|
301
|
-
for (
|
|
302
|
-
if (
|
|
303
|
-
|
|
290
|
+
for (a = 0;a < c.length;a++) {
|
|
291
|
+
if (f = c[a]) {
|
|
292
|
+
e.pathIsModule[f] ? goog.importModule_(goog.basePath + f) : goog.importScript_(goog.basePath + f);
|
|
304
293
|
} else {
|
|
305
294
|
throw goog.moduleLoaderState_ = g, Error("Undefined script input");
|
|
306
295
|
}
|
|
@@ -474,15 +463,26 @@ goog.globalEval = function(a) {
|
|
|
474
463
|
goog.global.execScript(a, "JavaScript");
|
|
475
464
|
} else {
|
|
476
465
|
if (goog.global.eval) {
|
|
477
|
-
if (null == goog.evalWorksForGlobals_
|
|
466
|
+
if (null == goog.evalWorksForGlobals_) {
|
|
467
|
+
if (goog.global.eval("var _evalTest_ = 1;"), "undefined" != typeof goog.global._evalTest_) {
|
|
468
|
+
try {
|
|
469
|
+
delete goog.global._evalTest_;
|
|
470
|
+
} catch (b) {
|
|
471
|
+
}
|
|
472
|
+
goog.evalWorksForGlobals_ = !0;
|
|
473
|
+
} else {
|
|
474
|
+
goog.evalWorksForGlobals_ = !1;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
if (goog.evalWorksForGlobals_) {
|
|
478
478
|
goog.global.eval(a);
|
|
479
479
|
} else {
|
|
480
|
-
var
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
480
|
+
var c = goog.global.document, d = c.createElement("SCRIPT");
|
|
481
|
+
d.type = "text/javascript";
|
|
482
|
+
d.defer = !1;
|
|
483
|
+
d.appendChild(c.createTextNode(a));
|
|
484
|
+
c.body.appendChild(d);
|
|
485
|
+
c.body.removeChild(d);
|
|
486
486
|
}
|
|
487
487
|
} else {
|
|
488
488
|
throw Error("goog.globalEval not available");
|
|
@@ -511,7 +511,7 @@ goog.setCssNameMapping = function(a, b) {
|
|
|
511
511
|
!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING);
|
|
512
512
|
goog.getMsg = function(a, b) {
|
|
513
513
|
b && (a = a.replace(/\{\$([^}]+)}/g, function(a, d) {
|
|
514
|
-
return d in b ? b[d] : a;
|
|
514
|
+
return null != b && d in b ? b[d] : a;
|
|
515
515
|
}));
|
|
516
516
|
return a;
|
|
517
517
|
};
|
|
@@ -716,8 +716,7 @@ goog.string.caseInsensitiveCompare = function(a, b) {
|
|
|
716
716
|
var c = String(a).toLowerCase(), d = String(b).toLowerCase();
|
|
717
717
|
return c < d ? -1 : c == d ? 0 : 1;
|
|
718
718
|
};
|
|
719
|
-
goog.string.
|
|
720
|
-
goog.string.numerateCompare = function(a, b) {
|
|
719
|
+
goog.string.numberAwareCompare_ = function(a, b, c) {
|
|
721
720
|
if (a == b) {
|
|
722
721
|
return 0;
|
|
723
722
|
}
|
|
@@ -727,14 +726,22 @@ goog.string.numerateCompare = function(a, b) {
|
|
|
727
726
|
if (!b) {
|
|
728
727
|
return 1;
|
|
729
728
|
}
|
|
730
|
-
for (var
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
729
|
+
for (var d = a.toLowerCase().match(c), e = b.toLowerCase().match(c), f = Math.min(d.length, e.length), g = 0;g < f;g++) {
|
|
730
|
+
c = d[g];
|
|
731
|
+
var h = e[g];
|
|
732
|
+
if (c != h) {
|
|
733
|
+
return a = parseInt(c, 10), !isNaN(a) && (b = parseInt(h, 10), !isNaN(b) && a - b) ? a - b : c < h ? -1 : 1;
|
|
734
734
|
}
|
|
735
735
|
}
|
|
736
|
-
return
|
|
736
|
+
return d.length != e.length ? d.length - e.length : a < b ? -1 : 1;
|
|
737
|
+
};
|
|
738
|
+
goog.string.intAwareCompare = function(a, b) {
|
|
739
|
+
return goog.string.numberAwareCompare_(a, b, /\d+|\D+/g);
|
|
737
740
|
};
|
|
741
|
+
goog.string.floatAwareCompare = function(a, b) {
|
|
742
|
+
return goog.string.numberAwareCompare_(a, b, /\d+|\.\d+|\D+/g);
|
|
743
|
+
};
|
|
744
|
+
goog.string.numerateCompare = goog.string.floatAwareCompare;
|
|
738
745
|
goog.string.urlEncode = function(a) {
|
|
739
746
|
return encodeURIComponent(String(a));
|
|
740
747
|
};
|
|
@@ -847,13 +854,10 @@ goog.string.truncateMiddle = function(a, b, c, d) {
|
|
|
847
854
|
c && (a = goog.string.htmlEscape(a));
|
|
848
855
|
return a;
|
|
849
856
|
};
|
|
850
|
-
goog.string.specialEscapeChars_ = {"\x00":"\\0", "\b":"\\b", "\f":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\x0B":"\\x0B", '"':'\\"', "\\":"\\\\"};
|
|
857
|
+
goog.string.specialEscapeChars_ = {"\x00":"\\0", "\b":"\\b", "\f":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\x0B":"\\x0B", '"':'\\"', "\\":"\\\\", "<":"<"};
|
|
851
858
|
goog.string.jsEscapeCache_ = {"'":"\\'"};
|
|
852
859
|
goog.string.quote = function(a) {
|
|
853
860
|
a = String(a);
|
|
854
|
-
if (a.quote) {
|
|
855
|
-
return a.quote();
|
|
856
|
-
}
|
|
857
861
|
for (var b = ['"'], c = 0;c < a.length;c++) {
|
|
858
862
|
var d = a.charAt(c), e = d.charCodeAt(0);
|
|
859
863
|
b[c + 1] = goog.string.specialEscapeChars_[d] || (31 < e && 127 > e ? d : goog.string.escapeChar(d));
|
|
@@ -914,7 +918,9 @@ goog.string.removeAll = function(a, b) {
|
|
|
914
918
|
goog.string.regExpEscape = function(a) {
|
|
915
919
|
return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08");
|
|
916
920
|
};
|
|
917
|
-
goog.string.repeat = function(a, b) {
|
|
921
|
+
goog.string.repeat = String.prototype.repeat ? function(a, b) {
|
|
922
|
+
return a.repeat(b);
|
|
923
|
+
} : function(a, b) {
|
|
918
924
|
return Array(b + 1).join(a);
|
|
919
925
|
};
|
|
920
926
|
goog.string.padNumber = function(a, b, c) {
|
|
@@ -934,7 +940,7 @@ goog.string.getRandomString = function() {
|
|
|
934
940
|
};
|
|
935
941
|
goog.string.compareVersions = function(a, b) {
|
|
936
942
|
for (var c = 0, d = goog.string.trim(String(a)).split("."), e = goog.string.trim(String(b)).split("."), f = Math.max(d.length, e.length), g = 0;0 == c && g < f;g++) {
|
|
937
|
-
var h = d[g] || "", k = e[g] || "", l =
|
|
943
|
+
var h = d[g] || "", k = e[g] || "", l = /(\d*)(\D*)/g, p = /(\d*)(\D*)/g;
|
|
938
944
|
do {
|
|
939
945
|
var m = l.exec(h) || ["", "", ""], n = p.exec(k) || ["", "", ""];
|
|
940
946
|
if (0 == m[0].length && 0 == n[0].length) {
|
|
@@ -948,10 +954,9 @@ goog.string.compareVersions = function(a, b) {
|
|
|
948
954
|
goog.string.compareElements_ = function(a, b) {
|
|
949
955
|
return a < b ? -1 : a > b ? 1 : 0;
|
|
950
956
|
};
|
|
951
|
-
goog.string.HASHCODE_MAX_ = 4294967296;
|
|
952
957
|
goog.string.hashCode = function(a) {
|
|
953
958
|
for (var b = 0, c = 0;c < a.length;++c) {
|
|
954
|
-
b = 31 * b + a.charCodeAt(c)
|
|
959
|
+
b = 31 * b + a.charCodeAt(c) >>> 0;
|
|
955
960
|
}
|
|
956
961
|
return b;
|
|
957
962
|
};
|
|
@@ -1331,7 +1336,7 @@ goog.array.slice = function(a, b, c) {
|
|
|
1331
1336
|
goog.array.removeDuplicates = function(a, b, c) {
|
|
1332
1337
|
b = b || a;
|
|
1333
1338
|
var d = function(a) {
|
|
1334
|
-
return goog.isObject(
|
|
1339
|
+
return goog.isObject(a) ? "o" + goog.getUid(a) : (typeof a).charAt(0) + a;
|
|
1335
1340
|
};
|
|
1336
1341
|
c = c || d;
|
|
1337
1342
|
for (var d = {}, e = 0, f = 0;f < a.length;) {
|
|
@@ -1498,16 +1503,16 @@ goog.array.zip = function(a) {
|
|
|
1498
1503
|
if (!arguments.length) {
|
|
1499
1504
|
return [];
|
|
1500
1505
|
}
|
|
1501
|
-
for (var b = [], c = 0
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
d.push(f[c]);
|
|
1506
|
+
for (var b = [], c = arguments[0].length, d = 1;d < arguments.length;d++) {
|
|
1507
|
+
arguments[d].length < c && (c = arguments[d].length);
|
|
1508
|
+
}
|
|
1509
|
+
for (d = 0;d < c;d++) {
|
|
1510
|
+
for (var e = [], f = 0;f < arguments.length;f++) {
|
|
1511
|
+
e.push(arguments[f][d]);
|
|
1508
1512
|
}
|
|
1509
|
-
b.push(
|
|
1513
|
+
b.push(e);
|
|
1510
1514
|
}
|
|
1515
|
+
return b;
|
|
1511
1516
|
};
|
|
1512
1517
|
goog.array.shuffle = function(a, b) {
|
|
1513
1518
|
for (var c = b || Math.random, d = a.length - 1;0 < d;d--) {
|
|
@@ -1599,7 +1604,7 @@ goog.object.getValueByKeys = function(a, b) {
|
|
|
1599
1604
|
return a;
|
|
1600
1605
|
};
|
|
1601
1606
|
goog.object.containsKey = function(a, b) {
|
|
1602
|
-
return b in a;
|
|
1607
|
+
return null !== a && b in a;
|
|
1603
1608
|
};
|
|
1604
1609
|
goog.object.containsValue = function(a, b) {
|
|
1605
1610
|
for (var c in a) {
|
|
@@ -1636,13 +1641,13 @@ goog.object.remove = function(a, b) {
|
|
|
1636
1641
|
return c;
|
|
1637
1642
|
};
|
|
1638
1643
|
goog.object.add = function(a, b, c) {
|
|
1639
|
-
if (b in a) {
|
|
1644
|
+
if (null !== a && b in a) {
|
|
1640
1645
|
throw Error('The object already contains the key "' + b + '"');
|
|
1641
1646
|
}
|
|
1642
1647
|
goog.object.set(a, b, c);
|
|
1643
1648
|
};
|
|
1644
1649
|
goog.object.get = function(a, b, c) {
|
|
1645
|
-
return b in a ? a[b] : c;
|
|
1650
|
+
return null !== a && b in a ? a[b] : c;
|
|
1646
1651
|
};
|
|
1647
1652
|
goog.object.set = function(a, b, c) {
|
|
1648
1653
|
a[b] = c;
|
|
@@ -1680,7 +1685,7 @@ goog.object.clone = function(a) {
|
|
|
1680
1685
|
goog.object.unsafeClone = function(a) {
|
|
1681
1686
|
var b = goog.typeOf(a);
|
|
1682
1687
|
if ("object" == b || "array" == b) {
|
|
1683
|
-
if (a.clone) {
|
|
1688
|
+
if (goog.isFunction(a.clone)) {
|
|
1684
1689
|
return a.clone();
|
|
1685
1690
|
}
|
|
1686
1691
|
var b = "array" == b ? [] : {}, c;
|
|
@@ -1743,10 +1748,10 @@ goog.object.isImmutableView = function(a) {
|
|
|
1743
1748
|
};
|
|
1744
1749
|
goog.structs = {};
|
|
1745
1750
|
goog.structs.getCount = function(a) {
|
|
1746
|
-
return "function" == typeof a.getCount ? a.getCount() : goog.isArrayLike(a) || goog.isString(a) ? a.length : goog.object.getCount(a);
|
|
1751
|
+
return a.getCount && "function" == typeof a.getCount ? a.getCount() : goog.isArrayLike(a) || goog.isString(a) ? a.length : goog.object.getCount(a);
|
|
1747
1752
|
};
|
|
1748
1753
|
goog.structs.getValues = function(a) {
|
|
1749
|
-
if ("function" == typeof a.getValues) {
|
|
1754
|
+
if (a.getValues && "function" == typeof a.getValues) {
|
|
1750
1755
|
return a.getValues();
|
|
1751
1756
|
}
|
|
1752
1757
|
if (goog.isString(a)) {
|
|
@@ -1761,10 +1766,10 @@ goog.structs.getValues = function(a) {
|
|
|
1761
1766
|
return goog.object.getValues(a);
|
|
1762
1767
|
};
|
|
1763
1768
|
goog.structs.getKeys = function(a) {
|
|
1764
|
-
if ("function" == typeof a.getKeys) {
|
|
1769
|
+
if (a.getKeys && "function" == typeof a.getKeys) {
|
|
1765
1770
|
return a.getKeys();
|
|
1766
1771
|
}
|
|
1767
|
-
if ("function" != typeof a.getValues) {
|
|
1772
|
+
if (!a.getValues || "function" != typeof a.getValues) {
|
|
1768
1773
|
if (goog.isArrayLike(a) || goog.isString(a)) {
|
|
1769
1774
|
var b = [];
|
|
1770
1775
|
a = a.length;
|
|
@@ -1777,16 +1782,16 @@ goog.structs.getKeys = function(a) {
|
|
|
1777
1782
|
}
|
|
1778
1783
|
};
|
|
1779
1784
|
goog.structs.contains = function(a, b) {
|
|
1780
|
-
return "function" == typeof a.contains ? a.contains(b) : "function" == typeof a.containsValue ? a.containsValue(b) : goog.isArrayLike(a) || goog.isString(a) ? goog.array.contains(a, b) : goog.object.containsValue(a, b);
|
|
1785
|
+
return a.contains && "function" == typeof a.contains ? a.contains(b) : a.containsValue && "function" == typeof a.containsValue ? a.containsValue(b) : goog.isArrayLike(a) || goog.isString(a) ? goog.array.contains(a, b) : goog.object.containsValue(a, b);
|
|
1781
1786
|
};
|
|
1782
1787
|
goog.structs.isEmpty = function(a) {
|
|
1783
|
-
return "function" == typeof a.isEmpty ? a.isEmpty() : goog.isArrayLike(a) || goog.isString(a) ? goog.array.isEmpty(a) : goog.object.isEmpty(a);
|
|
1788
|
+
return a.isEmpty && "function" == typeof a.isEmpty ? a.isEmpty() : goog.isArrayLike(a) || goog.isString(a) ? goog.array.isEmpty(a) : goog.object.isEmpty(a);
|
|
1784
1789
|
};
|
|
1785
1790
|
goog.structs.clear = function(a) {
|
|
1786
|
-
"function" == typeof a.clear ? a.clear() : goog.isArrayLike(a) ? goog.array.clear(a) : goog.object.clear(a);
|
|
1791
|
+
a.clear && "function" == typeof a.clear ? a.clear() : goog.isArrayLike(a) ? goog.array.clear(a) : goog.object.clear(a);
|
|
1787
1792
|
};
|
|
1788
1793
|
goog.structs.forEach = function(a, b, c) {
|
|
1789
|
-
if ("function" == typeof a.forEach) {
|
|
1794
|
+
if (a.forEach && "function" == typeof a.forEach) {
|
|
1790
1795
|
a.forEach(b, c);
|
|
1791
1796
|
} else {
|
|
1792
1797
|
if (goog.isArrayLike(a) || goog.isString(a)) {
|
|
@@ -1973,6 +1978,41 @@ goog.functions.cacheReturnValue = function(a) {
|
|
|
1973
1978
|
return c;
|
|
1974
1979
|
};
|
|
1975
1980
|
};
|
|
1981
|
+
goog.functions.once = function(a) {
|
|
1982
|
+
var b = a;
|
|
1983
|
+
return function() {
|
|
1984
|
+
if (b) {
|
|
1985
|
+
var a = b;
|
|
1986
|
+
b = null;
|
|
1987
|
+
a();
|
|
1988
|
+
}
|
|
1989
|
+
};
|
|
1990
|
+
};
|
|
1991
|
+
goog.functions.debounce = function(a, b, c) {
|
|
1992
|
+
c && (a = goog.bind(a, c));
|
|
1993
|
+
var d = null;
|
|
1994
|
+
return function(c) {
|
|
1995
|
+
goog.global.clearTimeout(d);
|
|
1996
|
+
var f = arguments;
|
|
1997
|
+
d = goog.global.setTimeout(function() {
|
|
1998
|
+
a.apply(null, f);
|
|
1999
|
+
}, b);
|
|
2000
|
+
};
|
|
2001
|
+
};
|
|
2002
|
+
goog.functions.throttle = function(a, b, c) {
|
|
2003
|
+
c && (a = goog.bind(a, c));
|
|
2004
|
+
var d = null, e = !1, f = [], g = function() {
|
|
2005
|
+
d = null;
|
|
2006
|
+
e && (e = !1, h());
|
|
2007
|
+
}, h = function() {
|
|
2008
|
+
d = goog.global.setTimeout(g, b);
|
|
2009
|
+
a.apply(null, f);
|
|
2010
|
+
};
|
|
2011
|
+
return function(a) {
|
|
2012
|
+
f = arguments;
|
|
2013
|
+
d ? e = !0 : h();
|
|
2014
|
+
};
|
|
2015
|
+
};
|
|
1976
2016
|
goog.math = {};
|
|
1977
2017
|
goog.math.randomInt = function(a) {
|
|
1978
2018
|
return Math.floor(Math.random() * a);
|
|
@@ -2078,7 +2118,7 @@ goog.math.isNegativeZero = function(a) {
|
|
|
2078
2118
|
goog.math.log10Floor = function(a) {
|
|
2079
2119
|
if (0 < a) {
|
|
2080
2120
|
var b = Math.round(Math.log(a) * Math.LOG10E);
|
|
2081
|
-
return b - (parseFloat("1e" + b) > a);
|
|
2121
|
+
return b - (parseFloat("1e" + b) > a ? 1 : 0);
|
|
2082
2122
|
}
|
|
2083
2123
|
return 0 == a ? -Infinity : NaN;
|
|
2084
2124
|
};
|
|
@@ -2692,442 +2732,131 @@ goog.structs.Map.prototype.__iterator__ = function(a) {
|
|
|
2692
2732
|
goog.structs.Map.hasKey_ = function(a, b) {
|
|
2693
2733
|
return Object.prototype.hasOwnProperty.call(a, b);
|
|
2694
2734
|
};
|
|
2695
|
-
goog.
|
|
2696
|
-
goog.
|
|
2697
|
-
goog.
|
|
2698
|
-
goog.
|
|
2699
|
-
var
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
goog.labs.userAgent.util.setUserAgent = function(a) {
|
|
2707
|
-
goog.labs.userAgent.util.userAgent_ = a || goog.labs.userAgent.util.getNativeUserAgentString_();
|
|
2735
|
+
goog.uri = {};
|
|
2736
|
+
goog.uri.utils = {};
|
|
2737
|
+
goog.uri.utils.CharCode_ = {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};
|
|
2738
|
+
goog.uri.utils.buildFromEncodedParts = function(a, b, c, d, e, f, g) {
|
|
2739
|
+
var h = "";
|
|
2740
|
+
a && (h += a + ":");
|
|
2741
|
+
c && (h += "//", b && (h += b + "@"), h += c, d && (h += ":" + d));
|
|
2742
|
+
e && (h += e);
|
|
2743
|
+
f && (h += "?" + f);
|
|
2744
|
+
g && (h += "#" + g);
|
|
2745
|
+
return h;
|
|
2708
2746
|
};
|
|
2709
|
-
goog.
|
|
2710
|
-
|
|
2747
|
+
goog.uri.utils.splitRe_ = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;
|
|
2748
|
+
goog.uri.utils.ComponentIndex = {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};
|
|
2749
|
+
goog.uri.utils.split = function(a) {
|
|
2750
|
+
return a.match(goog.uri.utils.splitRe_);
|
|
2711
2751
|
};
|
|
2712
|
-
goog.
|
|
2713
|
-
|
|
2714
|
-
return goog.string.contains(b, a);
|
|
2752
|
+
goog.uri.utils.decodeIfPossible_ = function(a, b) {
|
|
2753
|
+
return a ? b ? decodeURI(a) : decodeURIComponent(a) : a;
|
|
2715
2754
|
};
|
|
2716
|
-
goog.
|
|
2717
|
-
|
|
2718
|
-
return goog.string.caseInsensitiveContains(b, a);
|
|
2755
|
+
goog.uri.utils.getComponentByIndex_ = function(a, b) {
|
|
2756
|
+
return goog.uri.utils.split(b)[a] || null;
|
|
2719
2757
|
};
|
|
2720
|
-
goog.
|
|
2721
|
-
|
|
2722
|
-
c.push([d[1], d[2], d[3] || void 0]);
|
|
2723
|
-
}
|
|
2724
|
-
return c;
|
|
2758
|
+
goog.uri.utils.getScheme = function(a) {
|
|
2759
|
+
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, a);
|
|
2725
2760
|
};
|
|
2726
|
-
goog.
|
|
2727
|
-
goog.
|
|
2728
|
-
|
|
2761
|
+
goog.uri.utils.getEffectiveScheme = function(a) {
|
|
2762
|
+
a = goog.uri.utils.getScheme(a);
|
|
2763
|
+
!a && goog.global.self && goog.global.self.location && (a = goog.global.self.location.protocol, a = a.substr(0, a.length - 1));
|
|
2764
|
+
return a ? a.toLowerCase() : "";
|
|
2729
2765
|
};
|
|
2730
|
-
goog.
|
|
2731
|
-
return goog.
|
|
2766
|
+
goog.uri.utils.getUserInfoEncoded = function(a) {
|
|
2767
|
+
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, a);
|
|
2732
2768
|
};
|
|
2733
|
-
goog.
|
|
2734
|
-
return goog.
|
|
2769
|
+
goog.uri.utils.getUserInfo = function(a) {
|
|
2770
|
+
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a));
|
|
2735
2771
|
};
|
|
2736
|
-
goog.
|
|
2737
|
-
return goog.
|
|
2772
|
+
goog.uri.utils.getDomainEncoded = function(a) {
|
|
2773
|
+
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, a);
|
|
2738
2774
|
};
|
|
2739
|
-
goog.
|
|
2740
|
-
return goog.
|
|
2775
|
+
goog.uri.utils.getDomain = function(a) {
|
|
2776
|
+
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a), !0);
|
|
2741
2777
|
};
|
|
2742
|
-
goog.
|
|
2743
|
-
return (goog.
|
|
2778
|
+
goog.uri.utils.getPort = function(a) {
|
|
2779
|
+
return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, a)) || null;
|
|
2744
2780
|
};
|
|
2745
|
-
goog.
|
|
2746
|
-
return
|
|
2781
|
+
goog.uri.utils.getPathEncoded = function(a) {
|
|
2782
|
+
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, a);
|
|
2747
2783
|
};
|
|
2748
|
-
goog.
|
|
2749
|
-
return goog.
|
|
2784
|
+
goog.uri.utils.getPath = function(a) {
|
|
2785
|
+
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a), !0);
|
|
2750
2786
|
};
|
|
2751
|
-
goog.
|
|
2752
|
-
goog.
|
|
2753
|
-
goog.labs.userAgent.browser.isFirefox = goog.labs.userAgent.browser.matchFirefox_;
|
|
2754
|
-
goog.labs.userAgent.browser.isSafari = goog.labs.userAgent.browser.matchSafari_;
|
|
2755
|
-
goog.labs.userAgent.browser.isCoast = goog.labs.userAgent.browser.matchCoast_;
|
|
2756
|
-
goog.labs.userAgent.browser.isIosWebview = goog.labs.userAgent.browser.matchIosWebview_;
|
|
2757
|
-
goog.labs.userAgent.browser.isChrome = goog.labs.userAgent.browser.matchChrome_;
|
|
2758
|
-
goog.labs.userAgent.browser.isAndroidBrowser = goog.labs.userAgent.browser.matchAndroidBrowser_;
|
|
2759
|
-
goog.labs.userAgent.browser.isSilk = function() {
|
|
2760
|
-
return goog.labs.userAgent.util.matchUserAgent("Silk");
|
|
2787
|
+
goog.uri.utils.getQueryData = function(a) {
|
|
2788
|
+
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, a);
|
|
2761
2789
|
};
|
|
2762
|
-
goog.
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
return c[a] || "";
|
|
2766
|
-
}
|
|
2767
|
-
var b = goog.labs.userAgent.util.getUserAgent();
|
|
2768
|
-
if (goog.labs.userAgent.browser.isIE()) {
|
|
2769
|
-
return goog.labs.userAgent.browser.getIEVersion_(b);
|
|
2770
|
-
}
|
|
2771
|
-
var b = goog.labs.userAgent.util.extractVersionTuples(b), c = {};
|
|
2772
|
-
goog.array.forEach(b, function(a) {
|
|
2773
|
-
c[a[0]] = a[1];
|
|
2774
|
-
});
|
|
2775
|
-
var d = goog.partial(goog.object.containsKey, c);
|
|
2776
|
-
return goog.labs.userAgent.browser.isOpera() ? a(["Version", "Opera", "OPR"]) : goog.labs.userAgent.browser.isChrome() ? a(["Chrome", "CriOS"]) : (b = b[2]) && b[1] || "";
|
|
2790
|
+
goog.uri.utils.getFragmentEncoded = function(a) {
|
|
2791
|
+
var b = a.indexOf("#");
|
|
2792
|
+
return 0 > b ? null : a.substr(b + 1);
|
|
2777
2793
|
};
|
|
2778
|
-
goog.
|
|
2779
|
-
return
|
|
2794
|
+
goog.uri.utils.setFragmentEncoded = function(a, b) {
|
|
2795
|
+
return goog.uri.utils.removeFragment(a) + (b ? "#" + b : "");
|
|
2780
2796
|
};
|
|
2781
|
-
goog.
|
|
2782
|
-
|
|
2783
|
-
if (b && b[1] || (b = /Edge\/([\d\.]+)/.exec(a))) {
|
|
2784
|
-
return b[1];
|
|
2785
|
-
}
|
|
2786
|
-
var b = "", c = /MSIE +([\d\.]+)/.exec(a);
|
|
2787
|
-
if (c && c[1]) {
|
|
2788
|
-
if (a = /Trident\/(\d.\d)/.exec(a), "7.0" == c[1]) {
|
|
2789
|
-
if (a && a[1]) {
|
|
2790
|
-
switch(a[1]) {
|
|
2791
|
-
case "4.0":
|
|
2792
|
-
b = "8.0";
|
|
2793
|
-
break;
|
|
2794
|
-
case "5.0":
|
|
2795
|
-
b = "9.0";
|
|
2796
|
-
break;
|
|
2797
|
-
case "6.0":
|
|
2798
|
-
b = "10.0";
|
|
2799
|
-
break;
|
|
2800
|
-
case "7.0":
|
|
2801
|
-
b = "11.0";
|
|
2802
|
-
}
|
|
2803
|
-
} else {
|
|
2804
|
-
b = "7.0";
|
|
2805
|
-
}
|
|
2806
|
-
} else {
|
|
2807
|
-
b = c[1];
|
|
2808
|
-
}
|
|
2809
|
-
}
|
|
2810
|
-
return b;
|
|
2797
|
+
goog.uri.utils.getFragment = function(a) {
|
|
2798
|
+
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a));
|
|
2811
2799
|
};
|
|
2812
|
-
goog.
|
|
2813
|
-
goog.
|
|
2814
|
-
return goog.
|
|
2800
|
+
goog.uri.utils.getHost = function(a) {
|
|
2801
|
+
a = goog.uri.utils.split(a);
|
|
2802
|
+
return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME], a[goog.uri.utils.ComponentIndex.USER_INFO], a[goog.uri.utils.ComponentIndex.DOMAIN], a[goog.uri.utils.ComponentIndex.PORT]);
|
|
2815
2803
|
};
|
|
2816
|
-
goog.
|
|
2817
|
-
|
|
2804
|
+
goog.uri.utils.getPathAndAfter = function(a) {
|
|
2805
|
+
a = goog.uri.utils.split(a);
|
|
2806
|
+
return goog.uri.utils.buildFromEncodedParts(null, null, null, null, a[goog.uri.utils.ComponentIndex.PATH], a[goog.uri.utils.ComponentIndex.QUERY_DATA], a[goog.uri.utils.ComponentIndex.FRAGMENT]);
|
|
2818
2807
|
};
|
|
2819
|
-
goog.
|
|
2820
|
-
|
|
2808
|
+
goog.uri.utils.removeFragment = function(a) {
|
|
2809
|
+
var b = a.indexOf("#");
|
|
2810
|
+
return 0 > b ? a : a.substr(0, b);
|
|
2821
2811
|
};
|
|
2822
|
-
goog.
|
|
2823
|
-
|
|
2812
|
+
goog.uri.utils.haveSameDomain = function(a, b) {
|
|
2813
|
+
var c = goog.uri.utils.split(a), d = goog.uri.utils.split(b);
|
|
2814
|
+
return c[goog.uri.utils.ComponentIndex.DOMAIN] == d[goog.uri.utils.ComponentIndex.DOMAIN] && c[goog.uri.utils.ComponentIndex.SCHEME] == d[goog.uri.utils.ComponentIndex.SCHEME] && c[goog.uri.utils.ComponentIndex.PORT] == d[goog.uri.utils.ComponentIndex.PORT];
|
|
2824
2815
|
};
|
|
2825
|
-
goog.
|
|
2826
|
-
|
|
2816
|
+
goog.uri.utils.assertNoFragmentsOrQueries_ = function(a) {
|
|
2817
|
+
if (goog.DEBUG && (0 <= a.indexOf("#") || 0 <= a.indexOf("?"))) {
|
|
2818
|
+
throw Error("goog.uri.utils: Fragment or query identifiers are not supported: [" + a + "]");
|
|
2819
|
+
}
|
|
2827
2820
|
};
|
|
2828
|
-
goog.
|
|
2829
|
-
var a = goog.labs.userAgent.util.getUserAgent();
|
|
2821
|
+
goog.uri.utils.parseQueryData = function(a, b) {
|
|
2830
2822
|
if (a) {
|
|
2831
|
-
var
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
var a = a[0], c;
|
|
2836
|
-
if (a && (c = a[2]) && (c = /Trident\/([^\s;]+)/.exec(c))) {
|
|
2837
|
-
return c[1];
|
|
2823
|
+
for (var c = a.split("&"), d = 0;d < c.length;d++) {
|
|
2824
|
+
var e = c[d].indexOf("="), f = null, g = null;
|
|
2825
|
+
0 <= e ? (f = c[d].substring(0, e), g = c[d].substring(e + 1)) : f = c[d];
|
|
2826
|
+
b(f, g ? goog.string.urlDecode(g) : "");
|
|
2838
2827
|
}
|
|
2839
2828
|
}
|
|
2840
|
-
return "";
|
|
2841
2829
|
};
|
|
2842
|
-
goog.
|
|
2843
|
-
if (
|
|
2844
|
-
|
|
2830
|
+
goog.uri.utils.appendQueryData_ = function(a) {
|
|
2831
|
+
if (a[1]) {
|
|
2832
|
+
var b = a[0], c = b.indexOf("#");
|
|
2833
|
+
0 <= c && (a.push(b.substr(c)), a[0] = b = b.substr(0, c));
|
|
2834
|
+
c = b.indexOf("?");
|
|
2835
|
+
0 > c ? a[1] = "?" : c == b.length - 1 && (a[1] = void 0);
|
|
2845
2836
|
}
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2837
|
+
return a.join("");
|
|
2838
|
+
};
|
|
2839
|
+
goog.uri.utils.appendKeyValuePairs_ = function(a, b, c) {
|
|
2840
|
+
if (goog.isArray(b)) {
|
|
2841
|
+
goog.asserts.assertArray(b);
|
|
2842
|
+
for (var d = 0;d < b.length;d++) {
|
|
2843
|
+
goog.uri.utils.appendKeyValuePairs_(a, String(b[d]), c);
|
|
2850
2844
|
}
|
|
2845
|
+
} else {
|
|
2846
|
+
null != b && c.push("&", a, "" === b ? "" : "=", goog.string.urlEncode(b));
|
|
2851
2847
|
}
|
|
2852
2848
|
};
|
|
2853
|
-
goog.
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
goog.
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
});
|
|
2860
|
-
return c && c[1] || "";
|
|
2849
|
+
goog.uri.utils.buildQueryDataBuffer_ = function(a, b, c) {
|
|
2850
|
+
goog.asserts.assert(0 == Math.max(b.length - (c || 0), 0) % 2, "goog.uri.utils: Key/value lists must be even in length.");
|
|
2851
|
+
for (c = c || 0;c < b.length;c += 2) {
|
|
2852
|
+
goog.uri.utils.appendKeyValuePairs_(b[c], b[c + 1], a);
|
|
2853
|
+
}
|
|
2854
|
+
return a;
|
|
2861
2855
|
};
|
|
2862
|
-
goog.
|
|
2863
|
-
goog.
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
goog.labs.userAgent.platform.isIpod = function() {
|
|
2867
|
-
return goog.labs.userAgent.util.matchUserAgent("iPod");
|
|
2868
|
-
};
|
|
2869
|
-
goog.labs.userAgent.platform.isIphone = function() {
|
|
2870
|
-
return goog.labs.userAgent.util.matchUserAgent("iPhone") && !goog.labs.userAgent.util.matchUserAgent("iPod") && !goog.labs.userAgent.util.matchUserAgent("iPad");
|
|
2871
|
-
};
|
|
2872
|
-
goog.labs.userAgent.platform.isIpad = function() {
|
|
2873
|
-
return goog.labs.userAgent.util.matchUserAgent("iPad");
|
|
2874
|
-
};
|
|
2875
|
-
goog.labs.userAgent.platform.isIos = function() {
|
|
2876
|
-
return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpad() || goog.labs.userAgent.platform.isIpod();
|
|
2877
|
-
};
|
|
2878
|
-
goog.labs.userAgent.platform.isMacintosh = function() {
|
|
2879
|
-
return goog.labs.userAgent.util.matchUserAgent("Macintosh");
|
|
2880
|
-
};
|
|
2881
|
-
goog.labs.userAgent.platform.isLinux = function() {
|
|
2882
|
-
return goog.labs.userAgent.util.matchUserAgent("Linux");
|
|
2883
|
-
};
|
|
2884
|
-
goog.labs.userAgent.platform.isWindows = function() {
|
|
2885
|
-
return goog.labs.userAgent.util.matchUserAgent("Windows");
|
|
2886
|
-
};
|
|
2887
|
-
goog.labs.userAgent.platform.isChromeOS = function() {
|
|
2888
|
-
return goog.labs.userAgent.util.matchUserAgent("CrOS");
|
|
2889
|
-
};
|
|
2890
|
-
goog.labs.userAgent.platform.getVersion = function() {
|
|
2891
|
-
var a = goog.labs.userAgent.util.getUserAgent(), b = "";
|
|
2892
|
-
goog.labs.userAgent.platform.isWindows() ? (b = /Windows (?:NT|Phone) ([0-9.]+)/, b = (a = b.exec(a)) ? a[1] : "0.0") : goog.labs.userAgent.platform.isIos() ? (b = /(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/, b = (a = b.exec(a)) && a[1].replace(/_/g, ".")) : goog.labs.userAgent.platform.isMacintosh() ? (b = /Mac OS X ([0-9_.]+)/, b = (a = b.exec(a)) ? a[1].replace(/_/g, ".") : "10") : goog.labs.userAgent.platform.isAndroid() ? (b = /Android\s+([^\);]+)(\)|;)/, b = (a = b.exec(a)) && a[1]) : goog.labs.userAgent.platform.isChromeOS() &&
|
|
2893
|
-
(b = /(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/, b = (a = b.exec(a)) && a[1]);
|
|
2894
|
-
return b || "";
|
|
2895
|
-
};
|
|
2896
|
-
goog.labs.userAgent.platform.isVersionOrHigher = function(a) {
|
|
2897
|
-
return 0 <= goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(), a);
|
|
2898
|
-
};
|
|
2899
|
-
goog.userAgent = {};
|
|
2900
|
-
goog.userAgent.ASSUME_IE = !1;
|
|
2901
|
-
goog.userAgent.ASSUME_GECKO = !1;
|
|
2902
|
-
goog.userAgent.ASSUME_WEBKIT = !0;
|
|
2903
|
-
goog.userAgent.ASSUME_MOBILE_WEBKIT = !1;
|
|
2904
|
-
goog.userAgent.ASSUME_OPERA = !1;
|
|
2905
|
-
goog.userAgent.ASSUME_ANY_VERSION = !1;
|
|
2906
|
-
goog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;
|
|
2907
|
-
goog.userAgent.getUserAgentString = function() {
|
|
2908
|
-
return goog.labs.userAgent.util.getUserAgent();
|
|
2909
|
-
};
|
|
2910
|
-
goog.userAgent.getNavigator = function() {
|
|
2911
|
-
return goog.global.navigator || null;
|
|
2912
|
-
};
|
|
2913
|
-
goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();
|
|
2914
|
-
goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();
|
|
2915
|
-
goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();
|
|
2916
|
-
goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();
|
|
2917
|
-
goog.userAgent.isMobile_ = function() {
|
|
2918
|
-
return goog.userAgent.WEBKIT && goog.labs.userAgent.util.matchUserAgent("Mobile");
|
|
2919
|
-
};
|
|
2920
|
-
goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();
|
|
2921
|
-
goog.userAgent.SAFARI = goog.userAgent.WEBKIT;
|
|
2922
|
-
goog.userAgent.determinePlatform_ = function() {
|
|
2923
|
-
var a = goog.userAgent.getNavigator();
|
|
2924
|
-
return a && a.platform || "";
|
|
2925
|
-
};
|
|
2926
|
-
goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();
|
|
2927
|
-
goog.userAgent.ASSUME_MAC = !1;
|
|
2928
|
-
goog.userAgent.ASSUME_WINDOWS = !1;
|
|
2929
|
-
goog.userAgent.ASSUME_LINUX = !1;
|
|
2930
|
-
goog.userAgent.ASSUME_X11 = !1;
|
|
2931
|
-
goog.userAgent.ASSUME_ANDROID = !1;
|
|
2932
|
-
goog.userAgent.ASSUME_IPHONE = !1;
|
|
2933
|
-
goog.userAgent.ASSUME_IPAD = !1;
|
|
2934
|
-
goog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD;
|
|
2935
|
-
goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();
|
|
2936
|
-
goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();
|
|
2937
|
-
goog.userAgent.isLegacyLinux_ = function() {
|
|
2938
|
-
return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();
|
|
2939
|
-
};
|
|
2940
|
-
goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();
|
|
2941
|
-
goog.userAgent.isX11_ = function() {
|
|
2942
|
-
var a = goog.userAgent.getNavigator();
|
|
2943
|
-
return !!a && goog.string.contains(a.appVersion || "", "X11");
|
|
2944
|
-
};
|
|
2945
|
-
goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();
|
|
2946
|
-
goog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();
|
|
2947
|
-
goog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();
|
|
2948
|
-
goog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();
|
|
2949
|
-
goog.userAgent.determineVersion_ = function() {
|
|
2950
|
-
if (goog.userAgent.OPERA && goog.global.opera) {
|
|
2951
|
-
var a = goog.global.opera.version;
|
|
2952
|
-
return goog.isFunction(a) ? a() : a;
|
|
2953
|
-
}
|
|
2954
|
-
var a = "", b = goog.userAgent.getVersionRegexResult_();
|
|
2955
|
-
b && (a = b ? b[1] : "");
|
|
2956
|
-
return goog.userAgent.IE && !goog.labs.userAgent.engine.isEdge() && (b = goog.userAgent.getDocumentMode_(), b > parseFloat(a)) ? String(b) : a;
|
|
2957
|
-
};
|
|
2958
|
-
goog.userAgent.getVersionRegexResult_ = function() {
|
|
2959
|
-
var a = goog.userAgent.getUserAgentString();
|
|
2960
|
-
if (goog.userAgent.GECKO) {
|
|
2961
|
-
return /rv\:([^\);]+)(\)|;)/.exec(a);
|
|
2962
|
-
}
|
|
2963
|
-
if (goog.userAgent.IE && goog.labs.userAgent.engine.isEdge()) {
|
|
2964
|
-
return /Edge\/([\d\.]+)/.exec(a);
|
|
2965
|
-
}
|
|
2966
|
-
if (goog.userAgent.IE) {
|
|
2967
|
-
return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);
|
|
2968
|
-
}
|
|
2969
|
-
if (goog.userAgent.WEBKIT) {
|
|
2970
|
-
return /WebKit\/(\S+)/.exec(a);
|
|
2971
|
-
}
|
|
2972
|
-
};
|
|
2973
|
-
goog.userAgent.getDocumentMode_ = function() {
|
|
2974
|
-
var a = goog.global.document;
|
|
2975
|
-
return a ? a.documentMode : void 0;
|
|
2976
|
-
};
|
|
2977
|
-
goog.userAgent.VERSION = goog.userAgent.determineVersion_();
|
|
2978
|
-
goog.userAgent.compare = function(a, b) {
|
|
2979
|
-
return goog.string.compareVersions(a, b);
|
|
2980
|
-
};
|
|
2981
|
-
goog.userAgent.isVersionOrHigherCache_ = {};
|
|
2982
|
-
goog.userAgent.isVersionOrHigher = function(a) {
|
|
2983
|
-
return goog.userAgent.ASSUME_ANY_VERSION || goog.userAgent.isVersionOrHigherCache_[a] || (goog.userAgent.isVersionOrHigherCache_[a] = 0 <= goog.string.compareVersions(goog.userAgent.VERSION, a));
|
|
2984
|
-
};
|
|
2985
|
-
goog.userAgent.isVersion = goog.userAgent.isVersionOrHigher;
|
|
2986
|
-
goog.userAgent.isDocumentModeOrHigher = function(a) {
|
|
2987
|
-
return goog.userAgent.IE && (goog.labs.userAgent.engine.isEdge() || goog.userAgent.DOCUMENT_MODE >= a);
|
|
2988
|
-
};
|
|
2989
|
-
goog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;
|
|
2990
|
-
goog.userAgent.DOCUMENT_MODE = function() {
|
|
2991
|
-
var a = goog.global.document, b = goog.userAgent.getDocumentMode_();
|
|
2992
|
-
return !a || !goog.userAgent.IE || !b && goog.labs.userAgent.engine.isEdge() ? void 0 : b || ("CSS1Compat" == a.compatMode ? parseInt(goog.userAgent.VERSION, 10) : 5);
|
|
2993
|
-
}();
|
|
2994
|
-
goog.uri = {};
|
|
2995
|
-
goog.uri.utils = {};
|
|
2996
|
-
goog.uri.utils.CharCode_ = {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};
|
|
2997
|
-
goog.uri.utils.buildFromEncodedParts = function(a, b, c, d, e, f, g) {
|
|
2998
|
-
var h = "";
|
|
2999
|
-
a && (h += a + ":");
|
|
3000
|
-
c && (h += "//", b && (h += b + "@"), h += c, d && (h += ":" + d));
|
|
3001
|
-
e && (h += e);
|
|
3002
|
-
f && (h += "?" + f);
|
|
3003
|
-
g && (h += "#" + g);
|
|
3004
|
-
return h;
|
|
3005
|
-
};
|
|
3006
|
-
goog.uri.utils.splitRe_ = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;
|
|
3007
|
-
goog.uri.utils.ComponentIndex = {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};
|
|
3008
|
-
goog.uri.utils.split = function(a) {
|
|
3009
|
-
goog.uri.utils.phishingProtection_();
|
|
3010
|
-
return a.match(goog.uri.utils.splitRe_);
|
|
3011
|
-
};
|
|
3012
|
-
goog.uri.utils.needsPhishingProtection_ = goog.userAgent.WEBKIT;
|
|
3013
|
-
goog.uri.utils.phishingProtection_ = function() {
|
|
3014
|
-
if (goog.uri.utils.needsPhishingProtection_) {
|
|
3015
|
-
goog.uri.utils.needsPhishingProtection_ = !1;
|
|
3016
|
-
var a = goog.global.location;
|
|
3017
|
-
if (a) {
|
|
3018
|
-
var b = a.href;
|
|
3019
|
-
if (b && (b = goog.uri.utils.getDomain(b)) && b != a.hostname) {
|
|
3020
|
-
throw goog.uri.utils.needsPhishingProtection_ = !0, Error();
|
|
3021
|
-
}
|
|
3022
|
-
}
|
|
3023
|
-
}
|
|
3024
|
-
};
|
|
3025
|
-
goog.uri.utils.decodeIfPossible_ = function(a, b) {
|
|
3026
|
-
return a ? b ? decodeURI(a) : decodeURIComponent(a) : a;
|
|
3027
|
-
};
|
|
3028
|
-
goog.uri.utils.getComponentByIndex_ = function(a, b) {
|
|
3029
|
-
return goog.uri.utils.split(b)[a] || null;
|
|
3030
|
-
};
|
|
3031
|
-
goog.uri.utils.getScheme = function(a) {
|
|
3032
|
-
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, a);
|
|
3033
|
-
};
|
|
3034
|
-
goog.uri.utils.getEffectiveScheme = function(a) {
|
|
3035
|
-
a = goog.uri.utils.getScheme(a);
|
|
3036
|
-
!a && self.location && (a = self.location.protocol, a = a.substr(0, a.length - 1));
|
|
3037
|
-
return a ? a.toLowerCase() : "";
|
|
3038
|
-
};
|
|
3039
|
-
goog.uri.utils.getUserInfoEncoded = function(a) {
|
|
3040
|
-
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, a);
|
|
3041
|
-
};
|
|
3042
|
-
goog.uri.utils.getUserInfo = function(a) {
|
|
3043
|
-
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(a));
|
|
3044
|
-
};
|
|
3045
|
-
goog.uri.utils.getDomainEncoded = function(a) {
|
|
3046
|
-
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, a);
|
|
3047
|
-
};
|
|
3048
|
-
goog.uri.utils.getDomain = function(a) {
|
|
3049
|
-
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(a), !0);
|
|
3050
|
-
};
|
|
3051
|
-
goog.uri.utils.getPort = function(a) {
|
|
3052
|
-
return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, a)) || null;
|
|
3053
|
-
};
|
|
3054
|
-
goog.uri.utils.getPathEncoded = function(a) {
|
|
3055
|
-
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, a);
|
|
3056
|
-
};
|
|
3057
|
-
goog.uri.utils.getPath = function(a) {
|
|
3058
|
-
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(a), !0);
|
|
3059
|
-
};
|
|
3060
|
-
goog.uri.utils.getQueryData = function(a) {
|
|
3061
|
-
return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, a);
|
|
3062
|
-
};
|
|
3063
|
-
goog.uri.utils.getFragmentEncoded = function(a) {
|
|
3064
|
-
var b = a.indexOf("#");
|
|
3065
|
-
return 0 > b ? null : a.substr(b + 1);
|
|
3066
|
-
};
|
|
3067
|
-
goog.uri.utils.setFragmentEncoded = function(a, b) {
|
|
3068
|
-
return goog.uri.utils.removeFragment(a) + (b ? "#" + b : "");
|
|
3069
|
-
};
|
|
3070
|
-
goog.uri.utils.getFragment = function(a) {
|
|
3071
|
-
return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(a));
|
|
3072
|
-
};
|
|
3073
|
-
goog.uri.utils.getHost = function(a) {
|
|
3074
|
-
a = goog.uri.utils.split(a);
|
|
3075
|
-
return goog.uri.utils.buildFromEncodedParts(a[goog.uri.utils.ComponentIndex.SCHEME], a[goog.uri.utils.ComponentIndex.USER_INFO], a[goog.uri.utils.ComponentIndex.DOMAIN], a[goog.uri.utils.ComponentIndex.PORT]);
|
|
3076
|
-
};
|
|
3077
|
-
goog.uri.utils.getPathAndAfter = function(a) {
|
|
3078
|
-
a = goog.uri.utils.split(a);
|
|
3079
|
-
return goog.uri.utils.buildFromEncodedParts(null, null, null, null, a[goog.uri.utils.ComponentIndex.PATH], a[goog.uri.utils.ComponentIndex.QUERY_DATA], a[goog.uri.utils.ComponentIndex.FRAGMENT]);
|
|
3080
|
-
};
|
|
3081
|
-
goog.uri.utils.removeFragment = function(a) {
|
|
3082
|
-
var b = a.indexOf("#");
|
|
3083
|
-
return 0 > b ? a : a.substr(0, b);
|
|
3084
|
-
};
|
|
3085
|
-
goog.uri.utils.haveSameDomain = function(a, b) {
|
|
3086
|
-
var c = goog.uri.utils.split(a), d = goog.uri.utils.split(b);
|
|
3087
|
-
return c[goog.uri.utils.ComponentIndex.DOMAIN] == d[goog.uri.utils.ComponentIndex.DOMAIN] && c[goog.uri.utils.ComponentIndex.SCHEME] == d[goog.uri.utils.ComponentIndex.SCHEME] && c[goog.uri.utils.ComponentIndex.PORT] == d[goog.uri.utils.ComponentIndex.PORT];
|
|
3088
|
-
};
|
|
3089
|
-
goog.uri.utils.assertNoFragmentsOrQueries_ = function(a) {
|
|
3090
|
-
if (goog.DEBUG && (0 <= a.indexOf("#") || 0 <= a.indexOf("?"))) {
|
|
3091
|
-
throw Error("goog.uri.utils: Fragment or query identifiers are not supported: [" + a + "]");
|
|
3092
|
-
}
|
|
3093
|
-
};
|
|
3094
|
-
goog.uri.utils.parseQueryData = function(a, b) {
|
|
3095
|
-
for (var c = a.split("&"), d = 0;d < c.length;d++) {
|
|
3096
|
-
var e = c[d].indexOf("="), f = null, g = null;
|
|
3097
|
-
0 <= e ? (f = c[d].substring(0, e), g = c[d].substring(e + 1)) : f = c[d];
|
|
3098
|
-
b(f, g ? goog.string.urlDecode(g) : "");
|
|
3099
|
-
}
|
|
3100
|
-
};
|
|
3101
|
-
goog.uri.utils.appendQueryData_ = function(a) {
|
|
3102
|
-
if (a[1]) {
|
|
3103
|
-
var b = a[0], c = b.indexOf("#");
|
|
3104
|
-
0 <= c && (a.push(b.substr(c)), a[0] = b = b.substr(0, c));
|
|
3105
|
-
c = b.indexOf("?");
|
|
3106
|
-
0 > c ? a[1] = "?" : c == b.length - 1 && (a[1] = void 0);
|
|
3107
|
-
}
|
|
3108
|
-
return a.join("");
|
|
3109
|
-
};
|
|
3110
|
-
goog.uri.utils.appendKeyValuePairs_ = function(a, b, c) {
|
|
3111
|
-
if (goog.isArray(b)) {
|
|
3112
|
-
goog.asserts.assertArray(b);
|
|
3113
|
-
for (var d = 0;d < b.length;d++) {
|
|
3114
|
-
goog.uri.utils.appendKeyValuePairs_(a, String(b[d]), c);
|
|
3115
|
-
}
|
|
3116
|
-
} else {
|
|
3117
|
-
null != b && c.push("&", a, "" === b ? "" : "=", goog.string.urlEncode(b));
|
|
3118
|
-
}
|
|
3119
|
-
};
|
|
3120
|
-
goog.uri.utils.buildQueryDataBuffer_ = function(a, b, c) {
|
|
3121
|
-
goog.asserts.assert(0 == Math.max(b.length - (c || 0), 0) % 2, "goog.uri.utils: Key/value lists must be even in length.");
|
|
3122
|
-
for (c = c || 0;c < b.length;c += 2) {
|
|
3123
|
-
goog.uri.utils.appendKeyValuePairs_(b[c], b[c + 1], a);
|
|
3124
|
-
}
|
|
3125
|
-
return a;
|
|
3126
|
-
};
|
|
3127
|
-
goog.uri.utils.buildQueryData = function(a, b) {
|
|
3128
|
-
var c = goog.uri.utils.buildQueryDataBuffer_([], a, b);
|
|
3129
|
-
c[0] = "";
|
|
3130
|
-
return c.join("");
|
|
2856
|
+
goog.uri.utils.buildQueryData = function(a, b) {
|
|
2857
|
+
var c = goog.uri.utils.buildQueryDataBuffer_([], a, b);
|
|
2858
|
+
c[0] = "";
|
|
2859
|
+
return c.join("");
|
|
3131
2860
|
};
|
|
3132
2861
|
goog.uri.utils.buildQueryDataBufferFromMap_ = function(a, b) {
|
|
3133
2862
|
for (var c in b) {
|
|
@@ -3230,19 +2959,15 @@ goog.Uri.RANDOM_PARAM = goog.uri.utils.StandardQueryParam.RANDOM;
|
|
|
3230
2959
|
goog.Uri.prototype.toString = function() {
|
|
3231
2960
|
var a = [], b = this.getScheme();
|
|
3232
2961
|
b && a.push(goog.Uri.encodeSpecialChars_(b, goog.Uri.reDisallowedInSchemeOrUserInfo_, !0), ":");
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
this.hasDomain() && "/" != b.charAt(0) && a.push("/"), a.push(goog.Uri.encodeSpecialChars_(b, "/" == b.charAt(0) ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, !0));
|
|
3243
|
-
}
|
|
3244
|
-
(b = this.getEncodedQuery()) && a.push("?", b);
|
|
3245
|
-
(b = this.getFragment()) && a.push("#", goog.Uri.encodeSpecialChars_(b, goog.Uri.reDisallowedInFragment_));
|
|
2962
|
+
var c = this.getDomain();
|
|
2963
|
+
if (c || "file" == b) {
|
|
2964
|
+
a.push("//"), (b = this.getUserInfo()) && a.push(goog.Uri.encodeSpecialChars_(b, goog.Uri.reDisallowedInSchemeOrUserInfo_, !0), "@"), a.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(c))), c = this.getPort(), null != c && a.push(":", String(c));
|
|
2965
|
+
}
|
|
2966
|
+
if (c = this.getPath()) {
|
|
2967
|
+
this.hasDomain() && "/" != c.charAt(0) && a.push("/"), a.push(goog.Uri.encodeSpecialChars_(c, "/" == c.charAt(0) ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, !0));
|
|
2968
|
+
}
|
|
2969
|
+
(c = this.getEncodedQuery()) && a.push("?", c);
|
|
2970
|
+
(c = this.getFragment()) && a.push("#", goog.Uri.encodeSpecialChars_(c, goog.Uri.reDisallowedInFragment_));
|
|
3246
2971
|
return a.join("");
|
|
3247
2972
|
};
|
|
3248
2973
|
goog.Uri.prototype.resolve = function(a) {
|
|
@@ -3650,7 +3375,7 @@ DIALOG:"DIALOG", DIR:"DIR", DIV:"DIV", DL:"DL", DT:"DT", EM:"EM", EMBED:"EMBED",
|
|
|
3650
3375
|
MAP:"MAP", MARK:"MARK", MATH:"MATH", MENU:"MENU", META:"META", METER:"METER", NAV:"NAV", NOFRAMES:"NOFRAMES", NOSCRIPT:"NOSCRIPT", OBJECT:"OBJECT", OL:"OL", OPTGROUP:"OPTGROUP", OPTION:"OPTION", OUTPUT:"OUTPUT", P:"P", PARAM:"PARAM", PRE:"PRE", PROGRESS:"PROGRESS", Q:"Q", RP:"RP", RT:"RT", RUBY:"RUBY", S:"S", SAMP:"SAMP", SCRIPT:"SCRIPT", SECTION:"SECTION", SELECT:"SELECT", SMALL:"SMALL", SOURCE:"SOURCE", SPAN:"SPAN", STRIKE:"STRIKE", STRONG:"STRONG", STYLE:"STYLE", SUB:"SUB", SUMMARY:"SUMMARY",
|
|
3651
3376
|
SUP:"SUP", SVG:"SVG", TABLE:"TABLE", TBODY:"TBODY", TD:"TD", TEMPLATE:"TEMPLATE", TEXTAREA:"TEXTAREA", TFOOT:"TFOOT", TH:"TH", THEAD:"THEAD", TIME:"TIME", TITLE:"TITLE", TR:"TR", TRACK:"TRACK", TT:"TT", U:"U", UL:"UL", VAR:"VAR", VIDEO:"VIDEO", WBR:"WBR"};
|
|
3652
3377
|
goog.dom.tags = {};
|
|
3653
|
-
goog.dom.tags.VOID_TAGS_ =
|
|
3378
|
+
goog.dom.tags.VOID_TAGS_ = {area:!0, base:!0, br:!0, col:!0, command:!0, embed:!0, hr:!0, img:!0, input:!0, keygen:!0, link:!0, meta:!0, param:!0, source:!0, track:!0, wbr:!0};
|
|
3654
3379
|
goog.dom.tags.isVoidTag = function(a) {
|
|
3655
3380
|
return !0 === goog.dom.tags.VOID_TAGS_[a];
|
|
3656
3381
|
};
|
|
@@ -3977,32 +3702,25 @@ goog.html.SafeUrl.unwrap = function(a) {
|
|
|
3977
3702
|
goog.html.SafeUrl.fromConstant = function(a) {
|
|
3978
3703
|
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a));
|
|
3979
3704
|
};
|
|
3980
|
-
goog.html.
|
|
3705
|
+
goog.html.SAFE_MIME_TYPE_PATTERN_ = /^(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm))$/i;
|
|
3981
3706
|
goog.html.SafeUrl.fromBlob = function(a) {
|
|
3982
|
-
a = goog.html.
|
|
3707
|
+
a = goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type) ? goog.fs.url.createObjectUrl(a) : goog.html.SafeUrl.INNOCUOUS_STRING;
|
|
3983
3708
|
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a);
|
|
3984
3709
|
};
|
|
3710
|
+
goog.html.DATA_URL_PATTERN_ = /^data:([^;,]*);base64,[a-z0-9+\/]+=*$/i;
|
|
3711
|
+
goog.html.SafeUrl.fromDataUrl = function(a) {
|
|
3712
|
+
var b = a.match(goog.html.DATA_URL_PATTERN_), b = b && goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);
|
|
3713
|
+
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b ? a : goog.html.SafeUrl.INNOCUOUS_STRING);
|
|
3714
|
+
};
|
|
3985
3715
|
goog.html.SAFE_URL_PATTERN_ = /^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i;
|
|
3986
3716
|
goog.html.SafeUrl.sanitize = function(a) {
|
|
3987
3717
|
if (a instanceof goog.html.SafeUrl) {
|
|
3988
3718
|
return a;
|
|
3989
3719
|
}
|
|
3990
3720
|
a = a.implementsGoogStringTypedString ? a.getTypedStringValue() : String(a);
|
|
3991
|
-
|
|
3721
|
+
goog.html.SAFE_URL_PATTERN_.test(a) || (a = goog.html.SafeUrl.INNOCUOUS_STRING);
|
|
3992
3722
|
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a);
|
|
3993
3723
|
};
|
|
3994
|
-
goog.html.SafeUrl.normalize_ = function(a) {
|
|
3995
|
-
try {
|
|
3996
|
-
var b = encodeURI(a);
|
|
3997
|
-
} catch (c) {
|
|
3998
|
-
return goog.html.SafeUrl.INNOCUOUS_STRING;
|
|
3999
|
-
}
|
|
4000
|
-
return b.replace(goog.html.SafeUrl.NORMALIZE_MATCHER_, function(a) {
|
|
4001
|
-
return goog.html.SafeUrl.NORMALIZE_REPLACER_MAP_[a];
|
|
4002
|
-
});
|
|
4003
|
-
};
|
|
4004
|
-
goog.html.SafeUrl.NORMALIZE_MATCHER_ = /[()']|%5B|%5D|%25/g;
|
|
4005
|
-
goog.html.SafeUrl.NORMALIZE_REPLACER_MAP_ = {"'":"%27", "(":"%28", ")":"%29", "%5B":"[", "%5D":"]", "%25":"%"};
|
|
4006
3724
|
goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {};
|
|
4007
3725
|
goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse = function(a) {
|
|
4008
3726
|
var b = new goog.html.SafeUrl;
|
|
@@ -4132,7 +3850,11 @@ goog.html.SafeHtml.getAttrNameAndValue_ = function(a, b, c) {
|
|
|
4132
3850
|
if (c instanceof goog.html.SafeUrl) {
|
|
4133
3851
|
c = goog.html.SafeUrl.unwrap(c);
|
|
4134
3852
|
} else {
|
|
4135
|
-
|
|
3853
|
+
if (goog.isString(c)) {
|
|
3854
|
+
c = goog.html.SafeUrl.sanitize(c).getTypedStringValue();
|
|
3855
|
+
} else {
|
|
3856
|
+
throw Error('Attribute "' + b + '" on tag "' + a + '" requires goog.html.SafeUrl, goog.string.Const, or string, value "' + c + '" given.');
|
|
3857
|
+
}
|
|
4136
3858
|
}
|
|
4137
3859
|
}
|
|
4138
3860
|
}
|
|
@@ -4209,149 +3931,462 @@ goog.html.SafeHtml.combineAttributes = function(a, b, c) {
|
|
|
4209
3931
|
}
|
|
4210
3932
|
return d;
|
|
4211
3933
|
};
|
|
4212
|
-
goog.html.SafeHtml.DOCTYPE_HTML = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>", goog.i18n.bidi.Dir.NEUTRAL);
|
|
4213
|
-
goog.html.SafeHtml.EMPTY = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("", goog.i18n.bidi.Dir.NEUTRAL);
|
|
4214
|
-
goog.html.SafeScript = function() {
|
|
4215
|
-
this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = "";
|
|
4216
|
-
this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
|
3934
|
+
goog.html.SafeHtml.DOCTYPE_HTML = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>", goog.i18n.bidi.Dir.NEUTRAL);
|
|
3935
|
+
goog.html.SafeHtml.EMPTY = goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("", goog.i18n.bidi.Dir.NEUTRAL);
|
|
3936
|
+
goog.html.SafeScript = function() {
|
|
3937
|
+
this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = "";
|
|
3938
|
+
this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;
|
|
3939
|
+
};
|
|
3940
|
+
goog.html.SafeScript.prototype.implementsGoogStringTypedString = !0;
|
|
3941
|
+
goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {};
|
|
3942
|
+
goog.html.SafeScript.fromConstant = function(a) {
|
|
3943
|
+
a = goog.string.Const.unwrap(a);
|
|
3944
|
+
return 0 === a.length ? goog.html.SafeScript.EMPTY : goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a);
|
|
3945
|
+
};
|
|
3946
|
+
goog.html.SafeScript.prototype.getTypedStringValue = function() {
|
|
3947
|
+
return this.privateDoNotAccessOrElseSafeScriptWrappedValue_;
|
|
3948
|
+
};
|
|
3949
|
+
goog.DEBUG && (goog.html.SafeScript.prototype.toString = function() {
|
|
3950
|
+
return "SafeScript{" + this.privateDoNotAccessOrElseSafeScriptWrappedValue_ + "}";
|
|
3951
|
+
});
|
|
3952
|
+
goog.html.SafeScript.unwrap = function(a) {
|
|
3953
|
+
if (a instanceof goog.html.SafeScript && a.constructor === goog.html.SafeScript && a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_) {
|
|
3954
|
+
return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;
|
|
3955
|
+
}
|
|
3956
|
+
goog.asserts.fail("expected object of type SafeScript, got '" + a + "'");
|
|
3957
|
+
return "type_error:SafeScript";
|
|
3958
|
+
};
|
|
3959
|
+
goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse = function(a) {
|
|
3960
|
+
return (new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a);
|
|
3961
|
+
};
|
|
3962
|
+
goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_ = function(a) {
|
|
3963
|
+
this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = a;
|
|
3964
|
+
return this;
|
|
3965
|
+
};
|
|
3966
|
+
goog.html.SafeScript.EMPTY = goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");
|
|
3967
|
+
goog.html.uncheckedconversions = {};
|
|
3968
|
+
goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract = function(a, b, c) {
|
|
3969
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3970
|
+
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3971
|
+
return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b, c || null);
|
|
3972
|
+
};
|
|
3973
|
+
goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract = function(a, b) {
|
|
3974
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3975
|
+
goog.asserts.assert(!goog.string.isEmpty(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3976
|
+
return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b);
|
|
3977
|
+
};
|
|
3978
|
+
goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract = function(a, b) {
|
|
3979
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3980
|
+
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3981
|
+
return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b);
|
|
3982
|
+
};
|
|
3983
|
+
goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract = function(a, b) {
|
|
3984
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3985
|
+
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3986
|
+
return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b);
|
|
3987
|
+
};
|
|
3988
|
+
goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract = function(a, b) {
|
|
3989
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3990
|
+
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3991
|
+
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b);
|
|
3992
|
+
};
|
|
3993
|
+
goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract = function(a, b) {
|
|
3994
|
+
goog.asserts.assertString(goog.string.Const.unwrap(a), "must provide justification");
|
|
3995
|
+
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
3996
|
+
return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b);
|
|
3997
|
+
};
|
|
3998
|
+
goog.structs.Collection = function() {
|
|
3999
|
+
};
|
|
4000
|
+
goog.structs.Set = function(a) {
|
|
4001
|
+
this.map_ = new goog.structs.Map;
|
|
4002
|
+
a && this.addAll(a);
|
|
4003
|
+
};
|
|
4004
|
+
goog.structs.Set.getKey_ = function(a) {
|
|
4005
|
+
var b = typeof a;
|
|
4006
|
+
return "object" == b && a || "function" == b ? "o" + goog.getUid(a) : b.substr(0, 1) + a;
|
|
4007
|
+
};
|
|
4008
|
+
goog.structs.Set.prototype.getCount = function() {
|
|
4009
|
+
return this.map_.getCount();
|
|
4010
|
+
};
|
|
4011
|
+
goog.structs.Set.prototype.add = function(a) {
|
|
4012
|
+
this.map_.set(goog.structs.Set.getKey_(a), a);
|
|
4013
|
+
};
|
|
4014
|
+
goog.structs.Set.prototype.addAll = function(a) {
|
|
4015
|
+
a = goog.structs.getValues(a);
|
|
4016
|
+
for (var b = a.length, c = 0;c < b;c++) {
|
|
4017
|
+
this.add(a[c]);
|
|
4018
|
+
}
|
|
4019
|
+
};
|
|
4020
|
+
goog.structs.Set.prototype.removeAll = function(a) {
|
|
4021
|
+
a = goog.structs.getValues(a);
|
|
4022
|
+
for (var b = a.length, c = 0;c < b;c++) {
|
|
4023
|
+
this.remove(a[c]);
|
|
4024
|
+
}
|
|
4025
|
+
};
|
|
4026
|
+
goog.structs.Set.prototype.remove = function(a) {
|
|
4027
|
+
return this.map_.remove(goog.structs.Set.getKey_(a));
|
|
4028
|
+
};
|
|
4029
|
+
goog.structs.Set.prototype.clear = function() {
|
|
4030
|
+
this.map_.clear();
|
|
4031
|
+
};
|
|
4032
|
+
goog.structs.Set.prototype.isEmpty = function() {
|
|
4033
|
+
return this.map_.isEmpty();
|
|
4034
|
+
};
|
|
4035
|
+
goog.structs.Set.prototype.contains = function(a) {
|
|
4036
|
+
return this.map_.containsKey(goog.structs.Set.getKey_(a));
|
|
4037
|
+
};
|
|
4038
|
+
goog.structs.Set.prototype.containsAll = function(a) {
|
|
4039
|
+
return goog.structs.every(a, this.contains, this);
|
|
4040
|
+
};
|
|
4041
|
+
goog.structs.Set.prototype.intersection = function(a) {
|
|
4042
|
+
var b = new goog.structs.Set;
|
|
4043
|
+
a = goog.structs.getValues(a);
|
|
4044
|
+
for (var c = 0;c < a.length;c++) {
|
|
4045
|
+
var d = a[c];
|
|
4046
|
+
this.contains(d) && b.add(d);
|
|
4047
|
+
}
|
|
4048
|
+
return b;
|
|
4049
|
+
};
|
|
4050
|
+
goog.structs.Set.prototype.difference = function(a) {
|
|
4051
|
+
var b = this.clone();
|
|
4052
|
+
b.removeAll(a);
|
|
4053
|
+
return b;
|
|
4054
|
+
};
|
|
4055
|
+
goog.structs.Set.prototype.getValues = function() {
|
|
4056
|
+
return this.map_.getValues();
|
|
4057
|
+
};
|
|
4058
|
+
goog.structs.Set.prototype.clone = function() {
|
|
4059
|
+
return new goog.structs.Set(this);
|
|
4060
|
+
};
|
|
4061
|
+
goog.structs.Set.prototype.equals = function(a) {
|
|
4062
|
+
return this.getCount() == goog.structs.getCount(a) && this.isSubsetOf(a);
|
|
4063
|
+
};
|
|
4064
|
+
goog.structs.Set.prototype.isSubsetOf = function(a) {
|
|
4065
|
+
var b = goog.structs.getCount(a);
|
|
4066
|
+
if (this.getCount() > b) {
|
|
4067
|
+
return !1;
|
|
4068
|
+
}
|
|
4069
|
+
!(a instanceof goog.structs.Set) && 5 < b && (a = new goog.structs.Set(a));
|
|
4070
|
+
return goog.structs.every(this, function(b) {
|
|
4071
|
+
return goog.structs.contains(a, b);
|
|
4072
|
+
});
|
|
4073
|
+
};
|
|
4074
|
+
goog.structs.Set.prototype.__iterator__ = function(a) {
|
|
4075
|
+
return this.map_.__iterator__(!1);
|
|
4076
|
+
};
|
|
4077
|
+
goog.labs = {};
|
|
4078
|
+
goog.labs.userAgent = {};
|
|
4079
|
+
goog.labs.userAgent.util = {};
|
|
4080
|
+
goog.labs.userAgent.util.getNativeUserAgentString_ = function() {
|
|
4081
|
+
var a = goog.labs.userAgent.util.getNavigator_();
|
|
4082
|
+
return a && (a = a.userAgent) ? a : "";
|
|
4083
|
+
};
|
|
4084
|
+
goog.labs.userAgent.util.getNavigator_ = function() {
|
|
4085
|
+
return goog.global.navigator;
|
|
4086
|
+
};
|
|
4087
|
+
goog.labs.userAgent.util.userAgent_ = goog.labs.userAgent.util.getNativeUserAgentString_();
|
|
4088
|
+
goog.labs.userAgent.util.setUserAgent = function(a) {
|
|
4089
|
+
goog.labs.userAgent.util.userAgent_ = a || goog.labs.userAgent.util.getNativeUserAgentString_();
|
|
4090
|
+
};
|
|
4091
|
+
goog.labs.userAgent.util.getUserAgent = function() {
|
|
4092
|
+
return goog.labs.userAgent.util.userAgent_;
|
|
4093
|
+
};
|
|
4094
|
+
goog.labs.userAgent.util.matchUserAgent = function(a) {
|
|
4095
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
|
4096
|
+
return goog.string.contains(b, a);
|
|
4097
|
+
};
|
|
4098
|
+
goog.labs.userAgent.util.matchUserAgentIgnoreCase = function(a) {
|
|
4099
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
|
4100
|
+
return goog.string.caseInsensitiveContains(b, a);
|
|
4101
|
+
};
|
|
4102
|
+
goog.labs.userAgent.util.extractVersionTuples = function(a) {
|
|
4103
|
+
for (var b = /(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g, c = [], d;d = b.exec(a);) {
|
|
4104
|
+
c.push([d[1], d[2], d[3] || void 0]);
|
|
4105
|
+
}
|
|
4106
|
+
return c;
|
|
4107
|
+
};
|
|
4108
|
+
goog.labs.userAgent.browser = {};
|
|
4109
|
+
goog.labs.userAgent.browser.matchOpera_ = function() {
|
|
4110
|
+
return goog.labs.userAgent.util.matchUserAgent("Opera") || goog.labs.userAgent.util.matchUserAgent("OPR");
|
|
4111
|
+
};
|
|
4112
|
+
goog.labs.userAgent.browser.matchIE_ = function() {
|
|
4113
|
+
return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs.userAgent.util.matchUserAgent("MSIE");
|
|
4114
|
+
};
|
|
4115
|
+
goog.labs.userAgent.browser.matchEdge_ = function() {
|
|
4116
|
+
return goog.labs.userAgent.util.matchUserAgent("Edge");
|
|
4117
|
+
};
|
|
4118
|
+
goog.labs.userAgent.browser.matchFirefox_ = function() {
|
|
4119
|
+
return goog.labs.userAgent.util.matchUserAgent("Firefox");
|
|
4120
|
+
};
|
|
4121
|
+
goog.labs.userAgent.browser.matchSafari_ = function() {
|
|
4122
|
+
return goog.labs.userAgent.util.matchUserAgent("Safari") && !(goog.labs.userAgent.browser.matchChrome_() || goog.labs.userAgent.browser.matchCoast_() || goog.labs.userAgent.browser.matchOpera_() || goog.labs.userAgent.browser.matchEdge_() || goog.labs.userAgent.browser.isSilk() || goog.labs.userAgent.util.matchUserAgent("Android"));
|
|
4123
|
+
};
|
|
4124
|
+
goog.labs.userAgent.browser.matchCoast_ = function() {
|
|
4125
|
+
return goog.labs.userAgent.util.matchUserAgent("Coast");
|
|
4126
|
+
};
|
|
4127
|
+
goog.labs.userAgent.browser.matchIosWebview_ = function() {
|
|
4128
|
+
return (goog.labs.userAgent.util.matchUserAgent("iPad") || goog.labs.userAgent.util.matchUserAgent("iPhone")) && !goog.labs.userAgent.browser.matchSafari_() && !goog.labs.userAgent.browser.matchChrome_() && !goog.labs.userAgent.browser.matchCoast_() && goog.labs.userAgent.util.matchUserAgent("AppleWebKit");
|
|
4129
|
+
};
|
|
4130
|
+
goog.labs.userAgent.browser.matchChrome_ = function() {
|
|
4131
|
+
return (goog.labs.userAgent.util.matchUserAgent("Chrome") || goog.labs.userAgent.util.matchUserAgent("CriOS")) && !goog.labs.userAgent.browser.matchOpera_() && !goog.labs.userAgent.browser.matchEdge_();
|
|
4132
|
+
};
|
|
4133
|
+
goog.labs.userAgent.browser.matchAndroidBrowser_ = function() {
|
|
4134
|
+
return goog.labs.userAgent.util.matchUserAgent("Android") && !(goog.labs.userAgent.browser.isChrome() || goog.labs.userAgent.browser.isFirefox() || goog.labs.userAgent.browser.isOpera() || goog.labs.userAgent.browser.isSilk());
|
|
4135
|
+
};
|
|
4136
|
+
goog.labs.userAgent.browser.isOpera = goog.labs.userAgent.browser.matchOpera_;
|
|
4137
|
+
goog.labs.userAgent.browser.isIE = goog.labs.userAgent.browser.matchIE_;
|
|
4138
|
+
goog.labs.userAgent.browser.isEdge = goog.labs.userAgent.browser.matchEdge_;
|
|
4139
|
+
goog.labs.userAgent.browser.isFirefox = goog.labs.userAgent.browser.matchFirefox_;
|
|
4140
|
+
goog.labs.userAgent.browser.isSafari = goog.labs.userAgent.browser.matchSafari_;
|
|
4141
|
+
goog.labs.userAgent.browser.isCoast = goog.labs.userAgent.browser.matchCoast_;
|
|
4142
|
+
goog.labs.userAgent.browser.isIosWebview = goog.labs.userAgent.browser.matchIosWebview_;
|
|
4143
|
+
goog.labs.userAgent.browser.isChrome = goog.labs.userAgent.browser.matchChrome_;
|
|
4144
|
+
goog.labs.userAgent.browser.isAndroidBrowser = goog.labs.userAgent.browser.matchAndroidBrowser_;
|
|
4145
|
+
goog.labs.userAgent.browser.isSilk = function() {
|
|
4146
|
+
return goog.labs.userAgent.util.matchUserAgent("Silk");
|
|
4147
|
+
};
|
|
4148
|
+
goog.labs.userAgent.browser.getVersion = function() {
|
|
4149
|
+
function a(a) {
|
|
4150
|
+
a = goog.array.find(a, d);
|
|
4151
|
+
return c[a] || "";
|
|
4152
|
+
}
|
|
4153
|
+
var b = goog.labs.userAgent.util.getUserAgent();
|
|
4154
|
+
if (goog.labs.userAgent.browser.isIE()) {
|
|
4155
|
+
return goog.labs.userAgent.browser.getIEVersion_(b);
|
|
4156
|
+
}
|
|
4157
|
+
var b = goog.labs.userAgent.util.extractVersionTuples(b), c = {};
|
|
4158
|
+
goog.array.forEach(b, function(a) {
|
|
4159
|
+
c[a[0]] = a[1];
|
|
4160
|
+
});
|
|
4161
|
+
var d = goog.partial(goog.object.containsKey, c);
|
|
4162
|
+
return goog.labs.userAgent.browser.isOpera() ? a(["Version", "Opera", "OPR"]) : goog.labs.userAgent.browser.isEdge() ? a(["Edge"]) : goog.labs.userAgent.browser.isChrome() ? a(["Chrome", "CriOS"]) : (b = b[2]) && b[1] || "";
|
|
4163
|
+
};
|
|
4164
|
+
goog.labs.userAgent.browser.isVersionOrHigher = function(a) {
|
|
4165
|
+
return 0 <= goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(), a);
|
|
4166
|
+
};
|
|
4167
|
+
goog.labs.userAgent.browser.getIEVersion_ = function(a) {
|
|
4168
|
+
var b = /rv: *([\d\.]*)/.exec(a);
|
|
4169
|
+
if (b && b[1]) {
|
|
4170
|
+
return b[1];
|
|
4171
|
+
}
|
|
4172
|
+
var b = "", c = /MSIE +([\d\.]+)/.exec(a);
|
|
4173
|
+
if (c && c[1]) {
|
|
4174
|
+
if (a = /Trident\/(\d.\d)/.exec(a), "7.0" == c[1]) {
|
|
4175
|
+
if (a && a[1]) {
|
|
4176
|
+
switch(a[1]) {
|
|
4177
|
+
case "4.0":
|
|
4178
|
+
b = "8.0";
|
|
4179
|
+
break;
|
|
4180
|
+
case "5.0":
|
|
4181
|
+
b = "9.0";
|
|
4182
|
+
break;
|
|
4183
|
+
case "6.0":
|
|
4184
|
+
b = "10.0";
|
|
4185
|
+
break;
|
|
4186
|
+
case "7.0":
|
|
4187
|
+
b = "11.0";
|
|
4188
|
+
}
|
|
4189
|
+
} else {
|
|
4190
|
+
b = "7.0";
|
|
4191
|
+
}
|
|
4192
|
+
} else {
|
|
4193
|
+
b = c[1];
|
|
4194
|
+
}
|
|
4195
|
+
}
|
|
4196
|
+
return b;
|
|
4197
|
+
};
|
|
4198
|
+
goog.labs.userAgent.engine = {};
|
|
4199
|
+
goog.labs.userAgent.engine.isPresto = function() {
|
|
4200
|
+
return goog.labs.userAgent.util.matchUserAgent("Presto");
|
|
4201
|
+
};
|
|
4202
|
+
goog.labs.userAgent.engine.isTrident = function() {
|
|
4203
|
+
return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs.userAgent.util.matchUserAgent("MSIE");
|
|
4217
4204
|
};
|
|
4218
|
-
goog.
|
|
4219
|
-
goog.
|
|
4220
|
-
goog.html.SafeScript.fromConstant = function(a) {
|
|
4221
|
-
a = goog.string.Const.unwrap(a);
|
|
4222
|
-
return 0 === a.length ? goog.html.SafeScript.EMPTY : goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a);
|
|
4205
|
+
goog.labs.userAgent.engine.isEdge = function() {
|
|
4206
|
+
return goog.labs.userAgent.util.matchUserAgent("Edge");
|
|
4223
4207
|
};
|
|
4224
|
-
goog.
|
|
4225
|
-
return
|
|
4208
|
+
goog.labs.userAgent.engine.isWebKit = function() {
|
|
4209
|
+
return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit") && !goog.labs.userAgent.engine.isEdge();
|
|
4226
4210
|
};
|
|
4227
|
-
goog.
|
|
4228
|
-
return "
|
|
4229
|
-
}
|
|
4230
|
-
goog.
|
|
4231
|
-
|
|
4232
|
-
|
|
4211
|
+
goog.labs.userAgent.engine.isGecko = function() {
|
|
4212
|
+
return goog.labs.userAgent.util.matchUserAgent("Gecko") && !goog.labs.userAgent.engine.isWebKit() && !goog.labs.userAgent.engine.isTrident() && !goog.labs.userAgent.engine.isEdge();
|
|
4213
|
+
};
|
|
4214
|
+
goog.labs.userAgent.engine.getVersion = function() {
|
|
4215
|
+
var a = goog.labs.userAgent.util.getUserAgent();
|
|
4216
|
+
if (a) {
|
|
4217
|
+
var a = goog.labs.userAgent.util.extractVersionTuples(a), b = goog.labs.userAgent.engine.getEngineTuple_(a);
|
|
4218
|
+
if (b) {
|
|
4219
|
+
return "Gecko" == b[0] ? goog.labs.userAgent.engine.getVersionForKey_(a, "Firefox") : b[1];
|
|
4220
|
+
}
|
|
4221
|
+
var a = a[0], c;
|
|
4222
|
+
if (a && (c = a[2]) && (c = /Trident\/([^\s;]+)/.exec(c))) {
|
|
4223
|
+
return c[1];
|
|
4224
|
+
}
|
|
4233
4225
|
}
|
|
4234
|
-
|
|
4235
|
-
return "type_error:SafeScript";
|
|
4226
|
+
return "";
|
|
4236
4227
|
};
|
|
4237
|
-
goog.
|
|
4238
|
-
|
|
4228
|
+
goog.labs.userAgent.engine.getEngineTuple_ = function(a) {
|
|
4229
|
+
if (!goog.labs.userAgent.engine.isEdge()) {
|
|
4230
|
+
return a[1];
|
|
4231
|
+
}
|
|
4232
|
+
for (var b = 0;b < a.length;b++) {
|
|
4233
|
+
var c = a[b];
|
|
4234
|
+
if ("Edge" == c[0]) {
|
|
4235
|
+
return c;
|
|
4236
|
+
}
|
|
4237
|
+
}
|
|
4239
4238
|
};
|
|
4240
|
-
goog.
|
|
4241
|
-
|
|
4242
|
-
return this;
|
|
4239
|
+
goog.labs.userAgent.engine.isVersionOrHigher = function(a) {
|
|
4240
|
+
return 0 <= goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(), a);
|
|
4243
4241
|
};
|
|
4244
|
-
goog.
|
|
4245
|
-
goog.
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b, c || null);
|
|
4242
|
+
goog.labs.userAgent.engine.getVersionForKey_ = function(a, b) {
|
|
4243
|
+
var c = goog.array.find(a, function(a) {
|
|
4244
|
+
return b == a[0];
|
|
4245
|
+
});
|
|
4246
|
+
return c && c[1] || "";
|
|
4250
4247
|
};
|
|
4251
|
-
goog.
|
|
4252
|
-
|
|
4253
|
-
goog.
|
|
4254
|
-
return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b);
|
|
4248
|
+
goog.labs.userAgent.platform = {};
|
|
4249
|
+
goog.labs.userAgent.platform.isAndroid = function() {
|
|
4250
|
+
return goog.labs.userAgent.util.matchUserAgent("Android");
|
|
4255
4251
|
};
|
|
4256
|
-
goog.
|
|
4257
|
-
goog.
|
|
4258
|
-
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
4259
|
-
return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b);
|
|
4252
|
+
goog.labs.userAgent.platform.isIpod = function() {
|
|
4253
|
+
return goog.labs.userAgent.util.matchUserAgent("iPod");
|
|
4260
4254
|
};
|
|
4261
|
-
goog.
|
|
4262
|
-
goog.
|
|
4263
|
-
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
4264
|
-
return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b);
|
|
4255
|
+
goog.labs.userAgent.platform.isIphone = function() {
|
|
4256
|
+
return goog.labs.userAgent.util.matchUserAgent("iPhone") && !goog.labs.userAgent.util.matchUserAgent("iPod") && !goog.labs.userAgent.util.matchUserAgent("iPad");
|
|
4265
4257
|
};
|
|
4266
|
-
goog.
|
|
4267
|
-
goog.
|
|
4268
|
-
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
4269
|
-
return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b);
|
|
4258
|
+
goog.labs.userAgent.platform.isIpad = function() {
|
|
4259
|
+
return goog.labs.userAgent.util.matchUserAgent("iPad");
|
|
4270
4260
|
};
|
|
4271
|
-
goog.
|
|
4272
|
-
goog.
|
|
4273
|
-
goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)), "must provide non-empty justification");
|
|
4274
|
-
return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b);
|
|
4261
|
+
goog.labs.userAgent.platform.isIos = function() {
|
|
4262
|
+
return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpad() || goog.labs.userAgent.platform.isIpod();
|
|
4275
4263
|
};
|
|
4276
|
-
goog.
|
|
4264
|
+
goog.labs.userAgent.platform.isMacintosh = function() {
|
|
4265
|
+
return goog.labs.userAgent.util.matchUserAgent("Macintosh");
|
|
4277
4266
|
};
|
|
4278
|
-
goog.
|
|
4279
|
-
|
|
4280
|
-
a && this.addAll(a);
|
|
4267
|
+
goog.labs.userAgent.platform.isLinux = function() {
|
|
4268
|
+
return goog.labs.userAgent.util.matchUserAgent("Linux");
|
|
4281
4269
|
};
|
|
4282
|
-
goog.
|
|
4283
|
-
|
|
4284
|
-
return "object" == b && a || "function" == b ? "o" + goog.getUid(a) : b.substr(0, 1) + a;
|
|
4270
|
+
goog.labs.userAgent.platform.isWindows = function() {
|
|
4271
|
+
return goog.labs.userAgent.util.matchUserAgent("Windows");
|
|
4285
4272
|
};
|
|
4286
|
-
goog.
|
|
4287
|
-
return
|
|
4273
|
+
goog.labs.userAgent.platform.isChromeOS = function() {
|
|
4274
|
+
return goog.labs.userAgent.util.matchUserAgent("CrOS");
|
|
4288
4275
|
};
|
|
4289
|
-
goog.
|
|
4290
|
-
|
|
4276
|
+
goog.labs.userAgent.platform.getVersion = function() {
|
|
4277
|
+
var a = goog.labs.userAgent.util.getUserAgent(), b = "";
|
|
4278
|
+
goog.labs.userAgent.platform.isWindows() ? (b = /Windows (?:NT|Phone) ([0-9.]+)/, b = (a = b.exec(a)) ? a[1] : "0.0") : goog.labs.userAgent.platform.isIos() ? (b = /(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/, b = (a = b.exec(a)) && a[1].replace(/_/g, ".")) : goog.labs.userAgent.platform.isMacintosh() ? (b = /Mac OS X ([0-9_.]+)/, b = (a = b.exec(a)) ? a[1].replace(/_/g, ".") : "10") : goog.labs.userAgent.platform.isAndroid() ? (b = /Android\s+([^\);]+)(\)|;)/, b = (a = b.exec(a)) && a[1]) : goog.labs.userAgent.platform.isChromeOS() &&
|
|
4279
|
+
(b = /(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/, b = (a = b.exec(a)) && a[1]);
|
|
4280
|
+
return b || "";
|
|
4291
4281
|
};
|
|
4292
|
-
goog.
|
|
4293
|
-
|
|
4294
|
-
for (var b = a.length, c = 0;c < b;c++) {
|
|
4295
|
-
this.add(a[c]);
|
|
4296
|
-
}
|
|
4282
|
+
goog.labs.userAgent.platform.isVersionOrHigher = function(a) {
|
|
4283
|
+
return 0 <= goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(), a);
|
|
4297
4284
|
};
|
|
4298
|
-
goog.
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4285
|
+
goog.userAgent = {};
|
|
4286
|
+
goog.userAgent.ASSUME_IE = !1;
|
|
4287
|
+
goog.userAgent.ASSUME_EDGE = !1;
|
|
4288
|
+
goog.userAgent.ASSUME_GECKO = !1;
|
|
4289
|
+
goog.userAgent.ASSUME_WEBKIT = !0;
|
|
4290
|
+
goog.userAgent.ASSUME_MOBILE_WEBKIT = !1;
|
|
4291
|
+
goog.userAgent.ASSUME_OPERA = !1;
|
|
4292
|
+
goog.userAgent.ASSUME_ANY_VERSION = !1;
|
|
4293
|
+
goog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;
|
|
4294
|
+
goog.userAgent.getUserAgentString = function() {
|
|
4295
|
+
return goog.labs.userAgent.util.getUserAgent();
|
|
4303
4296
|
};
|
|
4304
|
-
goog.
|
|
4305
|
-
return
|
|
4297
|
+
goog.userAgent.getNavigator = function() {
|
|
4298
|
+
return goog.global.navigator || null;
|
|
4306
4299
|
};
|
|
4307
|
-
goog.
|
|
4308
|
-
|
|
4300
|
+
goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();
|
|
4301
|
+
goog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();
|
|
4302
|
+
goog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();
|
|
4303
|
+
goog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;
|
|
4304
|
+
goog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();
|
|
4305
|
+
goog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();
|
|
4306
|
+
goog.userAgent.isMobile_ = function() {
|
|
4307
|
+
return goog.userAgent.WEBKIT && goog.labs.userAgent.util.matchUserAgent("Mobile");
|
|
4309
4308
|
};
|
|
4310
|
-
goog.
|
|
4311
|
-
|
|
4309
|
+
goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();
|
|
4310
|
+
goog.userAgent.SAFARI = goog.userAgent.WEBKIT;
|
|
4311
|
+
goog.userAgent.determinePlatform_ = function() {
|
|
4312
|
+
var a = goog.userAgent.getNavigator();
|
|
4313
|
+
return a && a.platform || "";
|
|
4312
4314
|
};
|
|
4313
|
-
goog.
|
|
4314
|
-
|
|
4315
|
+
goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();
|
|
4316
|
+
goog.userAgent.ASSUME_MAC = !1;
|
|
4317
|
+
goog.userAgent.ASSUME_WINDOWS = !1;
|
|
4318
|
+
goog.userAgent.ASSUME_LINUX = !1;
|
|
4319
|
+
goog.userAgent.ASSUME_X11 = !1;
|
|
4320
|
+
goog.userAgent.ASSUME_ANDROID = !1;
|
|
4321
|
+
goog.userAgent.ASSUME_IPHONE = !1;
|
|
4322
|
+
goog.userAgent.ASSUME_IPAD = !1;
|
|
4323
|
+
goog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD;
|
|
4324
|
+
goog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();
|
|
4325
|
+
goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();
|
|
4326
|
+
goog.userAgent.isLegacyLinux_ = function() {
|
|
4327
|
+
return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();
|
|
4315
4328
|
};
|
|
4316
|
-
goog.
|
|
4317
|
-
|
|
4329
|
+
goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();
|
|
4330
|
+
goog.userAgent.isX11_ = function() {
|
|
4331
|
+
var a = goog.userAgent.getNavigator();
|
|
4332
|
+
return !!a && goog.string.contains(a.appVersion || "", "X11");
|
|
4318
4333
|
};
|
|
4319
|
-
goog.
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4334
|
+
goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();
|
|
4335
|
+
goog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();
|
|
4336
|
+
goog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();
|
|
4337
|
+
goog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();
|
|
4338
|
+
goog.userAgent.operaVersion_ = function() {
|
|
4339
|
+
var a = goog.global.opera.version;
|
|
4340
|
+
try {
|
|
4341
|
+
return a();
|
|
4342
|
+
} catch (b) {
|
|
4343
|
+
return a;
|
|
4325
4344
|
}
|
|
4326
|
-
return b;
|
|
4327
4345
|
};
|
|
4328
|
-
goog.
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4346
|
+
goog.userAgent.determineVersion_ = function() {
|
|
4347
|
+
if (goog.userAgent.OPERA && goog.global.opera) {
|
|
4348
|
+
return goog.userAgent.operaVersion_();
|
|
4349
|
+
}
|
|
4350
|
+
var a = "", b = goog.userAgent.getVersionRegexResult_();
|
|
4351
|
+
b && (a = b ? b[1] : "");
|
|
4352
|
+
return goog.userAgent.IE && (b = goog.userAgent.getDocumentMode_(), b > parseFloat(a)) ? String(b) : a;
|
|
4332
4353
|
};
|
|
4333
|
-
goog.
|
|
4334
|
-
|
|
4354
|
+
goog.userAgent.getVersionRegexResult_ = function() {
|
|
4355
|
+
var a = goog.userAgent.getUserAgentString();
|
|
4356
|
+
if (goog.userAgent.GECKO) {
|
|
4357
|
+
return /rv\:([^\);]+)(\)|;)/.exec(a);
|
|
4358
|
+
}
|
|
4359
|
+
if (goog.userAgent.EDGE) {
|
|
4360
|
+
return /Edge\/([\d\.]+)/.exec(a);
|
|
4361
|
+
}
|
|
4362
|
+
if (goog.userAgent.IE) {
|
|
4363
|
+
return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);
|
|
4364
|
+
}
|
|
4365
|
+
if (goog.userAgent.WEBKIT) {
|
|
4366
|
+
return /WebKit\/(\S+)/.exec(a);
|
|
4367
|
+
}
|
|
4335
4368
|
};
|
|
4336
|
-
goog.
|
|
4337
|
-
|
|
4369
|
+
goog.userAgent.getDocumentMode_ = function() {
|
|
4370
|
+
var a = goog.global.document;
|
|
4371
|
+
return a ? a.documentMode : void 0;
|
|
4338
4372
|
};
|
|
4339
|
-
goog.
|
|
4340
|
-
|
|
4373
|
+
goog.userAgent.VERSION = goog.userAgent.determineVersion_();
|
|
4374
|
+
goog.userAgent.compare = function(a, b) {
|
|
4375
|
+
return goog.string.compareVersions(a, b);
|
|
4341
4376
|
};
|
|
4342
|
-
goog.
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
return !1;
|
|
4346
|
-
}
|
|
4347
|
-
!(a instanceof goog.structs.Set) && 5 < b && (a = new goog.structs.Set(a));
|
|
4348
|
-
return goog.structs.every(this, function(b) {
|
|
4349
|
-
return goog.structs.contains(a, b);
|
|
4350
|
-
});
|
|
4377
|
+
goog.userAgent.isVersionOrHigherCache_ = {};
|
|
4378
|
+
goog.userAgent.isVersionOrHigher = function(a) {
|
|
4379
|
+
return goog.userAgent.ASSUME_ANY_VERSION || goog.userAgent.isVersionOrHigherCache_[a] || (goog.userAgent.isVersionOrHigherCache_[a] = 0 <= goog.string.compareVersions(goog.userAgent.VERSION, a));
|
|
4351
4380
|
};
|
|
4352
|
-
goog.
|
|
4353
|
-
|
|
4381
|
+
goog.userAgent.isVersion = goog.userAgent.isVersionOrHigher;
|
|
4382
|
+
goog.userAgent.isDocumentModeOrHigher = function(a) {
|
|
4383
|
+
return goog.userAgent.DOCUMENT_MODE >= a;
|
|
4354
4384
|
};
|
|
4385
|
+
goog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;
|
|
4386
|
+
goog.userAgent.DOCUMENT_MODE = function() {
|
|
4387
|
+
var a = goog.global.document, b = goog.userAgent.getDocumentMode_();
|
|
4388
|
+
return a && goog.userAgent.IE ? b || ("CSS1Compat" == a.compatMode ? parseInt(goog.userAgent.VERSION, 10) : 5) : void 0;
|
|
4389
|
+
}();
|
|
4355
4390
|
goog.debug.LOGGING_ENABLED = goog.DEBUG;
|
|
4356
4391
|
goog.debug.catchErrors = function(a, b, c) {
|
|
4357
4392
|
c = c || goog.global;
|
|
@@ -5240,7 +5275,7 @@ goog.dom.getElementsByTagNameAndClass_ = function(a, b, c, d) {
|
|
|
5240
5275
|
goog.dom.$$ = goog.dom.getElementsByTagNameAndClass;
|
|
5241
5276
|
goog.dom.setProperties = function(a, b) {
|
|
5242
5277
|
goog.object.forEach(b, function(b, d) {
|
|
5243
|
-
"style" == d ? a.style.cssText = b : "class" == d ? a.className = b : "for" == d ? a.htmlFor = b :
|
|
5278
|
+
"style" == d ? a.style.cssText = b : "class" == d ? a.className = b : "for" == d ? a.htmlFor = b : goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d) ? a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d], b) : goog.string.startsWith(d, "aria-") || goog.string.startsWith(d, "data-") ? a.setAttribute(d, b) : a[d] = b;
|
|
5244
5279
|
});
|
|
5245
5280
|
};
|
|
5246
5281
|
goog.dom.DIRECT_ATTRIBUTE_MAP_ = {cellpadding:"cellPadding", cellspacing:"cellSpacing", colspan:"colSpan", frameborder:"frameBorder", height:"height", maxlength:"maxLength", role:"role", rowspan:"rowSpan", type:"type", usemap:"useMap", valign:"vAlign", width:"width"};
|
|
@@ -5483,16 +5518,16 @@ goog.dom.getChildren = function(a) {
|
|
|
5483
5518
|
});
|
|
5484
5519
|
};
|
|
5485
5520
|
goog.dom.getFirstElementChild = function(a) {
|
|
5486
|
-
return
|
|
5521
|
+
return goog.isDef(a.firstElementChild) ? a.firstElementChild : goog.dom.getNextElementNode_(a.firstChild, !0);
|
|
5487
5522
|
};
|
|
5488
5523
|
goog.dom.getLastElementChild = function(a) {
|
|
5489
|
-
return
|
|
5524
|
+
return goog.isDef(a.lastElementChild) ? a.lastElementChild : goog.dom.getNextElementNode_(a.lastChild, !1);
|
|
5490
5525
|
};
|
|
5491
5526
|
goog.dom.getNextElementSibling = function(a) {
|
|
5492
|
-
return
|
|
5527
|
+
return goog.isDef(a.nextElementSibling) ? a.nextElementSibling : goog.dom.getNextElementNode_(a.nextSibling, !0);
|
|
5493
5528
|
};
|
|
5494
5529
|
goog.dom.getPreviousElementSibling = function(a) {
|
|
5495
|
-
return
|
|
5530
|
+
return goog.isDef(a.previousElementSibling) ? a.previousElementSibling : goog.dom.getNextElementNode_(a.previousSibling, !1);
|
|
5496
5531
|
};
|
|
5497
5532
|
goog.dom.getNextElementNode_ = function(a, b) {
|
|
5498
5533
|
for (;a && a.nodeType != goog.dom.NodeType.ELEMENT;) {
|
|
@@ -5826,8 +5861,8 @@ goog.dom.getActiveElement = function(a) {
|
|
|
5826
5861
|
return null;
|
|
5827
5862
|
};
|
|
5828
5863
|
goog.dom.getPixelRatio = function() {
|
|
5829
|
-
var a = goog.dom.getWindow()
|
|
5830
|
-
return goog.isDef(a.devicePixelRatio)
|
|
5864
|
+
var a = goog.dom.getWindow();
|
|
5865
|
+
return goog.isDef(a.devicePixelRatio) ? a.devicePixelRatio : a.matchMedia ? goog.dom.matchesPixelRatio_(.75) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(3) || 1 : 1;
|
|
5831
5866
|
};
|
|
5832
5867
|
goog.dom.matchesPixelRatio_ = function(a) {
|
|
5833
5868
|
return goog.dom.getWindow().matchMedia("(-webkit-min-device-pixel-ratio: " + a + "),(min--moz-device-pixel-ratio: " + a + "),(min-resolution: " + a + "dppx)").matches ? a : 0;
|
|
@@ -5970,11 +6005,7 @@ goog.math.Box = function(a, b, c, d) {
|
|
|
5970
6005
|
};
|
|
5971
6006
|
goog.math.Box.boundingBox = function(a) {
|
|
5972
6007
|
for (var b = new goog.math.Box(arguments[0].y, arguments[0].x, arguments[0].y, arguments[0].x), c = 1;c < arguments.length;c++) {
|
|
5973
|
-
|
|
5974
|
-
b.top = Math.min(b.top, d.y);
|
|
5975
|
-
b.right = Math.max(b.right, d.x);
|
|
5976
|
-
b.bottom = Math.max(b.bottom, d.y);
|
|
5977
|
-
b.left = Math.min(b.left, d.x);
|
|
6008
|
+
b.expandToIncludeCoordinate(arguments[c]);
|
|
5978
6009
|
}
|
|
5979
6010
|
return b;
|
|
5980
6011
|
};
|
|
@@ -6003,6 +6034,12 @@ goog.math.Box.prototype.expandToInclude = function(a) {
|
|
|
6003
6034
|
this.right = Math.max(this.right, a.right);
|
|
6004
6035
|
this.bottom = Math.max(this.bottom, a.bottom);
|
|
6005
6036
|
};
|
|
6037
|
+
goog.math.Box.prototype.expandToIncludeCoordinate = function(a) {
|
|
6038
|
+
this.top = Math.min(this.top, a.y);
|
|
6039
|
+
this.right = Math.max(this.right, a.x);
|
|
6040
|
+
this.bottom = Math.max(this.bottom, a.y);
|
|
6041
|
+
this.left = Math.min(this.left, a.x);
|
|
6042
|
+
};
|
|
6006
6043
|
goog.math.Box.equals = function(a, b) {
|
|
6007
6044
|
return a == b ? !0 : a && b ? a.top == b.top && a.right == b.right && a.bottom == b.bottom && a.left == b.left : !1;
|
|
6008
6045
|
};
|
|
@@ -6326,16 +6363,17 @@ goog.style.getVisibleRectForElement = function(a) {
|
|
|
6326
6363
|
return 0 <= b.top && 0 <= b.left && b.bottom > b.top && b.right > b.left ? b : null;
|
|
6327
6364
|
};
|
|
6328
6365
|
goog.style.getContainerOffsetToScrollInto = function(a, b, c) {
|
|
6329
|
-
var d = goog.
|
|
6330
|
-
|
|
6331
|
-
|
|
6332
|
-
|
|
6333
|
-
|
|
6334
|
-
|
|
6335
|
-
c ? (
|
|
6336
|
-
return new goog.math.Coordinate(
|
|
6366
|
+
var d = b || goog.dom.getDocumentScrollElement(), e = goog.style.getPageOffset(a), f = goog.style.getPageOffset(d), g = goog.style.getBorderBox(d);
|
|
6367
|
+
d == goog.dom.getDocumentScrollElement() ? (b = e.x - d.scrollLeft, e = e.y - d.scrollTop, goog.userAgent.IE && !goog.userAgent.isDocumentModeOrHigher(10) && (b += g.left, e += g.top)) : (b = e.x - f.x - g.left, e = e.y - f.y - g.top);
|
|
6368
|
+
g = d.clientWidth - a.offsetWidth;
|
|
6369
|
+
a = d.clientHeight - a.offsetHeight;
|
|
6370
|
+
f = d.scrollLeft;
|
|
6371
|
+
d = d.scrollTop;
|
|
6372
|
+
c ? (f += b - g / 2, d += e - a / 2) : (f += Math.min(b, Math.max(b - g, 0)), d += Math.min(e, Math.max(e - a, 0)));
|
|
6373
|
+
return new goog.math.Coordinate(f, d);
|
|
6337
6374
|
};
|
|
6338
6375
|
goog.style.scrollIntoContainerView = function(a, b, c) {
|
|
6376
|
+
b = b || goog.dom.getDocumentScrollElement();
|
|
6339
6377
|
a = goog.style.getContainerOffsetToScrollInto(a, b, c);
|
|
6340
6378
|
b.scrollLeft = a.x;
|
|
6341
6379
|
b.scrollTop = a.y;
|
|
@@ -6394,9 +6432,8 @@ goog.style.getClientPosition = function(a) {
|
|
|
6394
6432
|
if (a.nodeType == goog.dom.NodeType.ELEMENT) {
|
|
6395
6433
|
return goog.style.getClientPositionForElement_(a);
|
|
6396
6434
|
}
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
return new goog.math.Coordinate(c.clientX, c.clientY);
|
|
6435
|
+
a = a.changedTouches ? a.changedTouches[0] : a;
|
|
6436
|
+
return new goog.math.Coordinate(a.clientX, a.clientY);
|
|
6400
6437
|
};
|
|
6401
6438
|
goog.style.setPageOffset = function(a, b, c) {
|
|
6402
6439
|
var d = goog.style.getPageOffset(a);
|
|
@@ -6681,8 +6718,8 @@ goog.style.getFontSize = function(a) {
|
|
|
6681
6718
|
goog.style.parseStyleAttribute = function(a) {
|
|
6682
6719
|
var b = {};
|
|
6683
6720
|
goog.array.forEach(a.split(/\s*;\s*/), function(a) {
|
|
6684
|
-
|
|
6685
|
-
|
|
6721
|
+
var d = a.match(/\s*([\w-]+)\s*\:(.+)/);
|
|
6722
|
+
d && (a = d[1], d = goog.string.trim(d[2]), b[goog.string.toCamelCase(a.toLowerCase())] = d);
|
|
6686
6723
|
});
|
|
6687
6724
|
return b;
|
|
6688
6725
|
};
|
|
@@ -6693,12 +6730,11 @@ goog.style.toStyleAttribute = function(a) {
|
|
|
6693
6730
|
});
|
|
6694
6731
|
return b.join("");
|
|
6695
6732
|
};
|
|
6696
|
-
goog.style.FLOAT_CSS_PROPERTY_NAME_ = goog.userAgent.IE && !goog.userAgent.isVersionOrHigher(12) ? "styleFloat" : "cssFloat";
|
|
6697
6733
|
goog.style.setFloat = function(a, b) {
|
|
6698
|
-
a.style[goog.
|
|
6734
|
+
a.style[goog.userAgent.IE ? "styleFloat" : "cssFloat"] = b;
|
|
6699
6735
|
};
|
|
6700
6736
|
goog.style.getFloat = function(a) {
|
|
6701
|
-
return a.style[goog.
|
|
6737
|
+
return a.style[goog.userAgent.IE ? "styleFloat" : "cssFloat"] || "";
|
|
6702
6738
|
};
|
|
6703
6739
|
goog.style.getScrollbarWidth = function(a) {
|
|
6704
6740
|
var b = goog.dom.createElement(goog.dom.TagName.DIV);
|
|
@@ -6801,9 +6837,10 @@ goog.userAgent.product.ASSUME_IPAD = !1;
|
|
|
6801
6837
|
goog.userAgent.product.ASSUME_ANDROID = !1;
|
|
6802
6838
|
goog.userAgent.product.ASSUME_CHROME = !1;
|
|
6803
6839
|
goog.userAgent.product.ASSUME_SAFARI = !0;
|
|
6804
|
-
goog.userAgent.product.PRODUCT_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;
|
|
6840
|
+
goog.userAgent.product.PRODUCT_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;
|
|
6805
6841
|
goog.userAgent.product.OPERA = goog.userAgent.OPERA;
|
|
6806
6842
|
goog.userAgent.product.IE = goog.userAgent.IE;
|
|
6843
|
+
goog.userAgent.product.EDGE = goog.userAgent.EDGE;
|
|
6807
6844
|
goog.userAgent.product.FIREFOX = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox();
|
|
6808
6845
|
goog.userAgent.product.isIphoneOrIpod_ = function() {
|
|
6809
6846
|
return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpod();
|
|
@@ -6820,7 +6857,7 @@ goog.userAgent.product.determineVersion_ = function() {
|
|
|
6820
6857
|
if (goog.userAgent.product.FIREFOX) {
|
|
6821
6858
|
return goog.userAgent.product.getFirstRegExpGroup_(/Firefox\/([0-9.]+)/);
|
|
6822
6859
|
}
|
|
6823
|
-
if (goog.userAgent.product.IE || goog.userAgent.product.OPERA) {
|
|
6860
|
+
if (goog.userAgent.product.IE || goog.userAgent.product.EDGE || goog.userAgent.product.OPERA) {
|
|
6824
6861
|
return goog.userAgent.VERSION;
|
|
6825
6862
|
}
|
|
6826
6863
|
if (goog.userAgent.product.CHROME) {
|
|
@@ -6953,9 +6990,10 @@ goog.json.Serializer.prototype.serializeInternal = function(a, b) {
|
|
|
6953
6990
|
this.serializeNumber_(a, b);
|
|
6954
6991
|
break;
|
|
6955
6992
|
case "boolean":
|
|
6956
|
-
b.push(a);
|
|
6993
|
+
b.push(String(a));
|
|
6957
6994
|
break;
|
|
6958
6995
|
case "function":
|
|
6996
|
+
b.push("null");
|
|
6959
6997
|
break;
|
|
6960
6998
|
default:
|
|
6961
6999
|
throw Error("Unknown type: " + typeof a);;
|
|
@@ -6972,7 +7010,7 @@ goog.json.Serializer.prototype.serializeString_ = function(a, b) {
|
|
|
6972
7010
|
}), '"');
|
|
6973
7011
|
};
|
|
6974
7012
|
goog.json.Serializer.prototype.serializeNumber_ = function(a, b) {
|
|
6975
|
-
b.push(isFinite(a) && !isNaN(a) ? a : "null");
|
|
7013
|
+
b.push(isFinite(a) && !isNaN(a) ? String(a) : "null");
|
|
6976
7014
|
};
|
|
6977
7015
|
goog.json.Serializer.prototype.serializeArray = function(a, b) {
|
|
6978
7016
|
var c = a.length;
|