| Index: chrome/browser/ui/views/payments/payment_request_data_url_browsertest.cc
|
| diff --git a/chrome/browser/ui/views/payments/payment_request_data_url_browsertest.cc b/chrome/browser/ui/views/payments/payment_request_data_url_browsertest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a2e6e05ed28906ff8356d44fc41f8b9898955956
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/views/payments/payment_request_data_url_browsertest.cc
|
| @@ -0,0 +1,35 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/ui/views/payments/payment_request_browsertest_base.h"
|
| +#include "content/public/test/browser_test.h"
|
| +#include "content/public/test/browser_test_utils.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace payments {
|
| +
|
| +class PaymentRequestDataUrlTest : public PaymentRequestBrowserTestBase {
|
| + protected:
|
| + PaymentRequestDataUrlTest()
|
| + : PaymentRequestBrowserTestBase(
|
| + "data:text/html,<html><head><meta name=\"viewport\" "
|
| + "content=\"width=device-width, initial-scale=1, "
|
| + "maximum-scale=1\"></head><body><button id=\"buy\" onclick=\"try { "
|
| + "(new PaymentRequest([{supportedMethods: ['basic-card']}], {total: "
|
| + "{label: 'Total', amount: {currency: 'USD', value: "
|
| + "'1.00'}}})).show(); } catch(e) { "
|
| + "document.getElementById('result').innerHTML = e; }\">Data URL "
|
| + "Test</button><div id='result'></div></body></html>") {}
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(PaymentRequestDataUrlTest, SecurityError) {
|
| + ASSERT_TRUE(content::ExecuteScript(
|
| + GetActiveWebContents(),
|
| + "(function() { document.getElementById('buy').click(); })();"));
|
| + ExpectBodyContains(
|
| + {"SecurityError: Failed to construct 'PaymentRequest': Must be in a "
|
| + "secure context"});
|
| +}
|
| +
|
| +} // namespace payments
|
|
|