Revision 8d877aacda3215c8ef53f1bb787c7c1d1b5d2fe5 authored by Fredrik Söderquist on 07 November 2018, 09:00:38 UTC, committed by Chromium WPT Sync on 07 November 2018, 09:00:38 UTC
In css_properties.json5 we list these keywords but we didn't recognize
them when parsing. Synchronize the two lists.

CSS Images L3 says the following about these two values:

  "This property previously accepted the values optimizeSpeed and
   optimizeQuality. These are now deprecated; a user agent must accept
   them as valid values but must treat them as having the same behavior
   as pixelated and auto respectively, and authors must not use them."

(https://drafts.csswg.org/css-images-3/#propdef-image-rendering)

Bug: 901669
Change-Id: Iecc4f38e711b14fa7b6fd4beb550abdaf99d5b46
1 parent e0e8196
Raw File
createcredential-pubkeycredparams.https.html
<!DOCTYPE html>
<meta charset="utf-8">
<title>WebAuthn navigator.credentials.create() pubKeyCredParams Tests</title>
<link rel="author" title="Adam Powers" href="mailto:adam@fidoalliance.org">
<link rel="help" href="https://w3c.github.io/webauthn/#iface-credential">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=helpers.js></script>
<body></body>
<script>
standardSetup(function() {
    "use strict";

    var badType = {
        type: "something-else",
        alg: cose_alg_ECDSA_w_SHA512
    };
    var badTypeEmptyString = cloneObject(badType);
    badTypeEmptyString.type = "";
    var badTypeNull = cloneObject(badType);
    badTypeNull.type = null;
    var badTypeEmptyObj = cloneObject(badType);
    badTypeEmptyObj.type = {};

    var badAlg = {
        type: "public-key",
        alg: 42
    };
    var badAlgZero = cloneObject(badAlg);
    badAlgZero.alg = 0;

    // bad pubKeyCredParams values
    new CreateCredentialsTest({path: "options.publicKey.pubKeyCredParams", value: undefined}).runTest("Bad pubKeyCredParams: pubKeyCredParams is undefined", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", "hi mom").runTest("Bad pubKeyCredParams: pubKeyCredParams is string", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", null).runTest("Bad pubKeyCredParams: pubKeyCredParams is null", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badType]).runTest("Bad pubKeyCredParams: first param has bad type (\"something-else\")", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyString]).runTest("Bad pubKeyCredParams: first param has bad type (\"\")", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeNull]).runTest("Bad pubKeyCredParams: first param has bad type (null)", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badTypeEmptyObj]).runTest("Bad pubKeyCredParams: first param has bad type (empty object)", new TypeError());
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badAlg]).runTest("Bad pubKeyCredParams: first param has bad alg (42)", "NotSupportedError");
    new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [badAlgZero]).runTest("Bad pubKeyCredParams: first param has bad alg (0)", "NotSupportedError");

    // TODO: come back to this when mock authenticators support multiple cryptos so that we can test the preference ranking
    // function verifyEC256(res) {
    //     debug ("verifyEC256 got", res);
    //     debug ("client data JSON", ab2str(res.response.clientDataJSON));
    //     parseAuthenticatorData(res.response.attestationObject);
    // }
    // new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [pkParamEC256, pkParamEC512])
    //     .afterTest(verifyEC256)
    //     .runTest("EC256, EC512 pubKeyCredParams");
    // function verifyEC512(res) {
    //     debug ("verifyEC512 got", res);
    //     debug ("client data JSON", ab2str(res.response.clientDataJSON));
    //     // parseAuthenticatorData(res.response.attestationObject);
    //     printHex ("clientDataJSON", res.response.clientDataJSON);
    //     printHex ("attestationObject", res.response.attestationObject);
    // }
    // new CreateCredentialsTest("options.publicKey.pubKeyCredParams", [pkParamEC512, pkParamEC256])
    //     .afterTest(verifyEC512)
    //     .runTest("EC512, EC256 pubKeyCredParams");
});

/* JSHINT */
/* globals standardSetup, CreateCredentialsTest, cose_alg_ECDSA_w_SHA512, cloneObject */
</script>
back to top