mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 22:32:46 +00:00
d36e5a4ea5
Dictionaries that we never initialize with JS values don't need a full-featured Init() method. Instead, we output a cut-down Init() method that doesn't even take a JSContext and Value as argument, and skips as much work as it can. It uses constant-false for "is the value present?", but also, to avoid compilation errors due to use of `cx` and `val` in now-dead conversion code, it tells the native-to-JS conversion machinery that the value is always missing, which lets it skip most of the the work it would normally try to do and just output initialization to the default value. We only need to do this for members that have default values; the others either remain no-passed or are required members with no default-initialization behavior. This saves about 330KB of codesize on Linux64 without PGO and 285KB with PGO. Differential Revision: https://phabricator.services.mozilla.com/D48007 --HG-- extra : moz-landing-system : lando
40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* The origin of this WebIDL file is
|
|
* https://www.w3.org/TR/payment-method-basic-card/
|
|
*/
|
|
|
|
[GenerateInit]
|
|
dictionary BasicCardRequest {
|
|
sequence<DOMString> supportedNetworks = [];
|
|
boolean requestSecurityCode = true;
|
|
};
|
|
|
|
[GenerateConversionToJS]
|
|
dictionary BasicCardResponse {
|
|
DOMString cardholderName = "";
|
|
required DOMString cardNumber;
|
|
DOMString expiryMonth = "";
|
|
DOMString expiryYear = "";
|
|
DOMString cardSecurityCode = "";
|
|
PaymentAddress? billingAddress = null;
|
|
};
|
|
|
|
[GenerateConversionToJS]
|
|
dictionary BasicCardChangeDetails {
|
|
PaymentAddress? billingAddress = null;
|
|
};
|
|
|
|
[GenerateInit]
|
|
dictionary BasicCardErrors {
|
|
DOMString cardNumber;
|
|
DOMString cardholderName;
|
|
DOMString cardSecurityCode;
|
|
DOMString expiryMonth;
|
|
DOMString expiryYear;
|
|
AddressErrors billingAddress;
|
|
};
|