Commit 8f01e285 authored by Glen Robertson's avatar Glen Robertson Committed by Commit Bot

digitalgoods:Make GetDigitalGoodsService return null not undefined.

This matches the explainer and makes it more explicit that the service
was not available intentionally.

Bug: 1131747
Change-Id: I9afca606f000d969b05b1e5cff9f95b124617b83
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2497944Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Commit-Queue: Glen Robertson <glenrob@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821629}
parent a6ff22fd
...@@ -26,7 +26,7 @@ void OnCreateDigitalGoodsResponse( ...@@ -26,7 +26,7 @@ void OnCreateDigitalGoodsResponse(
if (code != CreateDigitalGoodsResponseCode::kOk) { if (code != CreateDigitalGoodsResponseCode::kOk) {
DCHECK(!pending_remote); DCHECK(!pending_remote);
DVLOG(1) << "CreateDigitalGoodsResponseCode " << code; DVLOG(1) << "CreateDigitalGoodsResponseCode " << code;
resolver->Resolve(); resolver->Resolve(v8::Null(resolver->GetScriptState()->GetIsolate()));
return; return;
} }
DCHECK(pending_remote); DCHECK(pending_remote);
...@@ -55,11 +55,11 @@ ScriptPromise DOMWindowDigitalGoods::GetDigitalGoodsService( ...@@ -55,11 +55,11 @@ ScriptPromise DOMWindowDigitalGoods::GetDigitalGoodsService(
auto promise = resolver->Promise(); auto promise = resolver->Promise();
if (payment_method.IsEmpty()) { if (payment_method.IsEmpty()) {
resolver->Resolve(); resolver->Resolve(v8::Null(script_state->GetIsolate()));
return promise; return promise;
} }
if (payment_method != known_payment_method_) { if (payment_method != known_payment_method_) {
resolver->Resolve(); resolver->Resolve(v8::Null(script_state->GetIsolate()));
return promise; return promise;
} }
......
...@@ -14,16 +14,20 @@ ...@@ -14,16 +14,20 @@
<script> <script>
'use strict'; 'use strict';
digital_goods_test( digital_goods_test(async service => {
async service => assert_not_equals(service, undefined), assert_not_equals(service, undefined);
{title: 'Digital goods service exists.'}); }, {title: 'Digital goods service exists.'});
digital_goods_test( digital_goods_test(async service => {
async service => assert_equals(service, undefined), assert_not_equals(service, null);
{ }, {title: 'Digital goods service is available.'});
paymentMethod: 'https://not.known/payment/method',
title: 'Digital goods service null for unknown payment method.' digital_goods_test(async service => {
}); assert_equals(service, null);
}, {
paymentMethod: 'https://not.known/payment/method',
title: 'Digital goods service null for unknown payment method.'
});
digital_goods_test(async service => { digital_goods_test(async service => {
const response = await service.getDetails(['id2']); const response = await service.getDetails(['id2']);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment