Chrome Version: (copy from chrome://version)
OS: iOS 10.0
What steps will reproduce the problem?
(1) Run EG tests from the target ios_chrome_payments_egtests on iOS 10.0 or below.
What is the expected result?
All tests should pass.
What happens instead?
The following tests fail:
PaymentRequestOpenAndCloseEGTest.testOpenAndCancel
PaymentRequestOpenAndCloseEGTest.testOpenAndNavigateToSettings
PaymentRequestCanMakePaymentExceedsQueryQuotaBasicaCardEGTest.testCanMakePaymentExceedsQueryQuotaBasicaCard
PaymentRequestDataURLEGTest.testShowDataURL
PaymentRequestCanMakePaymentExceedsQueryQuotaEGTest.testCanMakePaymentExceedsQueryQuota
Relevant stack trace:
PaymentRequestOpenAndCloseEGTest/testOpenAndCancel:
[0810/060242.886727:ERROR:crw_web_controller.mm(2652)] JavaScript error: TypeError: function is not a constructor (evaluating 'new DOMException("Request cancelled", "AbortError")') URL:http://127.0.0.1:51158/components/test/data/payments/payment_request_abort_test.html
../../ios/chrome/test/earl_grey/chrome_earl_grey.mm:192: error: -[PaymentRequestOpenAndCloseEGTest testOpenAndCancel] : Exception: AssertionFailedException
Exception Name: AssertionFailedException
Exception Reason: ((([condition waitWithTimeout:testing::kWaitForUIElementTimeout])) is true) failed
Exception Details: Failed waiting for web view containing AbortError
The failures are caused by unavailability of DOMException in the JS environment in WKWebKit on iOS versions 10.3 and below. The tests expect exceptions to be thrown and caught and certain error names and messages to be printed in the DOM. Due to unavailability DOMException, a JS error is produced instead.
Comment 1 by mahmadi@chromium.org
, Aug 11 2017