зеркало из https://github.com/mozilla/gecko-dev.git
Merge mozilla-central to autoland. a=merge CLOSED TREE
This commit is contained in:
Коммит
b882212938
|
@ -843,7 +843,7 @@ nsresult Loader::CreateSheet(
|
|||
css::SheetParsingMode aParsingMode, CORSMode aCORSMode,
|
||||
nsIReferrerInfo* aLoadingReferrerInfo, const nsAString& aIntegrity,
|
||||
bool aSyncLoad, StyleSheetState& aSheetState, RefPtr<StyleSheet>* aSheet) {
|
||||
LOG(("css::Loader::CreateSheet"));
|
||||
LOG(("css::Loader::CreateSheet(%s)", aURI ? aURI->GetSpecOrDefault().get() : "inline"));
|
||||
MOZ_ASSERT(aSheet, "Null out param!");
|
||||
|
||||
if (!mSheets) {
|
||||
|
@ -897,8 +897,8 @@ nsresult Loader::CreateSheet(
|
|||
sheet->ParsingMode() != aParsingMode) {
|
||||
LOG(
|
||||
(" Not cloning completed sheet %p because it has a "
|
||||
"forced unique inner or the wrong parsing mode",
|
||||
sheet.get()));
|
||||
"forced unique inner (%d) or the wrong parsing mode",
|
||||
sheet.get(), sheet->HasForcedUniqueInner()));
|
||||
sheet = nullptr;
|
||||
fromCompleteSheets = false;
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
a31fc0eefc4c
|
||||
777b6070fe76
|
||||
|
|
|
@ -66,7 +66,7 @@ SEC_GetPassword(FILE *input, FILE *output, char *prompt,
|
|||
int infd = fileno(input);
|
||||
int isTTY = isatty(infd);
|
||||
#endif
|
||||
char phrase[200] = { '\0' }; /* ensure EOF doesn't return junk */
|
||||
char phrase[500] = { '\0' }; /* ensure EOF doesn't return junk */
|
||||
|
||||
for (;;) {
|
||||
/* Prompt for password */
|
||||
|
|
|
@ -5229,7 +5229,7 @@ PKM_Digest(CK_FUNCTION_LIST_PTR pFunctionList,
|
|||
char *
|
||||
PKM_FilePasswd(char *pwFile)
|
||||
{
|
||||
unsigned char phrase[200];
|
||||
unsigned char phrase[500];
|
||||
PRFileDesc *fd;
|
||||
PRInt32 nb;
|
||||
int i;
|
||||
|
|
|
@ -614,7 +614,7 @@ cleanup:
|
|||
static char *
|
||||
filePasswd(char *pwFile)
|
||||
{
|
||||
unsigned char phrase[200];
|
||||
unsigned char phrase[500];
|
||||
PRFileDesc *fd;
|
||||
PRInt32 nb;
|
||||
int i;
|
||||
|
|
|
@ -10,4 +10,3 @@
|
|||
*/
|
||||
|
||||
#error "Do not include this header file."
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "nspr.h"
|
||||
#include "nss.h"
|
||||
#include "pk11pub.h"
|
||||
#include "secmod.h"
|
||||
#include "secerr.h"
|
||||
|
||||
#include "nss_scoped_ptrs.h"
|
||||
|
@ -119,6 +120,27 @@ TEST_F(SoftokenTest, CreateObjectChangePassword) {
|
|||
EXPECT_EQ(nullptr, obj);
|
||||
}
|
||||
|
||||
/* The size limit for a password is 500 characters as defined in pkcs11i.h */
|
||||
TEST_F(SoftokenTest, CreateObjectChangeToBigPassword) {
|
||||
ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||
ASSERT_TRUE(slot);
|
||||
EXPECT_EQ(SECSuccess, PK11_InitPin(slot.get(), nullptr, nullptr));
|
||||
EXPECT_EQ(
|
||||
SECSuccess,
|
||||
PK11_ChangePW(slot.get(), "",
|
||||
"rUIFIFr2bxKnbJbitsfkyqttpk6vCJzlYMNxcxXcaN37gSZKbLk763X7iR"
|
||||
"yeVNWZHQ02lSF69HYjzTyPW3318ZD0DBFMMbALZ8ZPZP73CIo5uIQlaowV"
|
||||
"IbP8eOhRYtGUqoLGlcIFNEYogV8Q3GN58VeBMs0KxrIOvPQ9s8SnYYkqvt"
|
||||
"zzgntmAvCgvk64x6eQf0okHwegd5wi6m0WVJytEepWXkP9J629FSa5kNT8"
|
||||
"FvL3jvslkiImzTNuTvl32fQDXXMSc8vVk5Q3mH7trMZM0VDdwHWYERjHbz"
|
||||
"kGxFgp0VhediHx7p9kkz6H6ac4et9sW4UkTnN7xhYc1Zr17wRSk2heQtcX"
|
||||
"oZJGwuzhiKm8A8wkuVxms6zO56P4JORIk8oaUW6lyNTLo2kWWnTA"));
|
||||
EXPECT_EQ(SECSuccess, PK11_Logout(slot.get()));
|
||||
ScopedPK11GenericObject obj(PK11_CreateGenericObject(
|
||||
slot.get(), attributes, PR_ARRAY_SIZE(attributes), true));
|
||||
EXPECT_EQ(nullptr, obj);
|
||||
}
|
||||
|
||||
TEST_F(SoftokenTest, CreateObjectChangeToEmptyPassword) {
|
||||
ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||
ASSERT_TRUE(slot);
|
||||
|
@ -265,6 +287,100 @@ TEST_F(SoftokenNoDBTest, NeedUserInitNoDB) {
|
|||
ASSERT_EQ(SECSuccess, NSS_Shutdown());
|
||||
}
|
||||
|
||||
#ifndef NSS_FIPS_DISABLED
|
||||
|
||||
class SoftokenFipsTest : public SoftokenTest {
|
||||
protected:
|
||||
SoftokenFipsTest() : SoftokenTest("SoftokenFipsTest.d-") {}
|
||||
|
||||
virtual void SetUp() {
|
||||
SoftokenTest::SetUp();
|
||||
|
||||
// Turn on FIPS mode (code borrowed from FipsMode in modutil/pk11.c)
|
||||
char *internal_name;
|
||||
ASSERT_FALSE(PK11_IsFIPS());
|
||||
internal_name = PR_smprintf("%s", SECMOD_GetInternalModule()->commonName);
|
||||
ASSERT_EQ(SECSuccess, SECMOD_DeleteInternalModule(internal_name));
|
||||
PR_smprintf_free(internal_name);
|
||||
ASSERT_TRUE(PK11_IsFIPS());
|
||||
}
|
||||
};
|
||||
|
||||
const std::vector<std::string> kFipsPasswordCases[] = {
|
||||
// FIPS level1 -> level1 -> level1
|
||||
{"", "", ""},
|
||||
// FIPS level1 -> level1 -> level2
|
||||
{"", "", "strong-_123"},
|
||||
// FIXME: this should work: FIPS level1 -> level2 -> level2
|
||||
// {"", "strong-_123", "strong-_456"},
|
||||
// FIPS level2 -> level2 -> level2
|
||||
{"strong-_123", "strong-_456", "strong-_123"}};
|
||||
|
||||
const std::vector<std::string> kFipsPasswordBadCases[] = {
|
||||
// FIPS level1 -> level2 -> level1
|
||||
{"", "strong-_123", ""},
|
||||
// FIPS level2 -> level1 -> level1
|
||||
{"strong-_123", ""},
|
||||
// FIPS level2 -> level2 -> level1
|
||||
{"strong-_123", "strong-_456", ""},
|
||||
// initialize with a weak password
|
||||
{"weak"},
|
||||
// FIPS level1 -> weak password
|
||||
{"", "weak"},
|
||||
// FIPS level2 -> weak password
|
||||
{"strong-_123", "weak"}};
|
||||
|
||||
class SoftokenFipsPasswordTest
|
||||
: public SoftokenFipsTest,
|
||||
public ::testing::WithParamInterface<std::vector<std::string>> {};
|
||||
|
||||
class SoftokenFipsBadPasswordTest
|
||||
: public SoftokenFipsTest,
|
||||
public ::testing::WithParamInterface<std::vector<std::string>> {};
|
||||
|
||||
TEST_P(SoftokenFipsPasswordTest, SetPassword) {
|
||||
const std::vector<std::string> &passwords = GetParam();
|
||||
ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||
ASSERT_TRUE(slot);
|
||||
|
||||
auto it = passwords.begin();
|
||||
auto prev_it = it;
|
||||
EXPECT_EQ(SECSuccess, PK11_InitPin(slot.get(), nullptr, (*it).c_str()));
|
||||
for (it++; it != passwords.end(); it++, prev_it++) {
|
||||
EXPECT_EQ(SECSuccess,
|
||||
PK11_ChangePW(slot.get(), (*prev_it).c_str(), (*it).c_str()));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(SoftokenFipsBadPasswordTest, SetBadPassword) {
|
||||
const std::vector<std::string> &passwords = GetParam();
|
||||
ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||
ASSERT_TRUE(slot);
|
||||
|
||||
auto it = passwords.begin();
|
||||
auto prev_it = it;
|
||||
SECStatus rv = PK11_InitPin(slot.get(), nullptr, (*it).c_str());
|
||||
if (it + 1 == passwords.end())
|
||||
EXPECT_EQ(SECFailure, rv);
|
||||
else
|
||||
EXPECT_EQ(SECSuccess, rv);
|
||||
for (it++; it != passwords.end(); it++, prev_it++) {
|
||||
rv = PK11_ChangePW(slot.get(), (*prev_it).c_str(), (*it).c_str());
|
||||
if (it + 1 == passwords.end())
|
||||
EXPECT_EQ(SECFailure, rv);
|
||||
else
|
||||
EXPECT_EQ(SECSuccess, rv);
|
||||
}
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(FipsPasswordCases, SoftokenFipsPasswordTest,
|
||||
::testing::ValuesIn(kFipsPasswordCases));
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(BadFipsPasswordCases, SoftokenFipsBadPasswordTest,
|
||||
::testing::ValuesIn(kFipsPasswordBadCases));
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace nss_test
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
|
|
@ -890,7 +890,7 @@ findQfromSeed(
|
|||
pqgGenType *typePtr, /* output. Generation Type used */
|
||||
unsigned int *qgen_counter) /* output. q_counter */
|
||||
{
|
||||
HASH_HashType hashtype;
|
||||
HASH_HashType hashtype = HASH_AlgNULL;
|
||||
SECItem firstseed = { 0, 0, 0 };
|
||||
SECItem qseed = { 0, 0, 0 };
|
||||
SECStatus rv;
|
||||
|
@ -1239,7 +1239,7 @@ pqg_ParamGen(unsigned int L, unsigned int N, pqgGenType type,
|
|||
unsigned int offset; /* Per FIPS 186, app 2.2. 186-3 app A.1.1.2 */
|
||||
unsigned int outlen; /* Per FIPS 186-3, appendix A.1.1.2. */
|
||||
unsigned int maxCount;
|
||||
HASH_HashType hashtype;
|
||||
HASH_HashType hashtype = HASH_AlgNULL;
|
||||
SECItem *seed; /* Per FIPS 186, app 2.2. 186-3 app A.1.1.2 */
|
||||
PLArenaPool *arena = NULL;
|
||||
PQGParams *params = NULL;
|
||||
|
@ -1630,8 +1630,8 @@ PQG_VerifyParams(const PQGParams *params,
|
|||
unsigned int qseed_len;
|
||||
unsigned int qgen_counter_ = 0;
|
||||
SECItem pseed_ = { 0, 0, 0 };
|
||||
HASH_HashType hashtype;
|
||||
pqgGenType type;
|
||||
HASH_HashType hashtype = HASH_AlgNULL;
|
||||
pqgGenType type = FIPS186_1_TYPE;
|
||||
|
||||
#define CHECKPARAM(cond) \
|
||||
if (!(cond)) { \
|
||||
|
|
|
@ -645,17 +645,37 @@ FC_SetPIN(CK_SESSION_HANDLE hSession, CK_CHAR_PTR pOldPin,
|
|||
|
||||
CHECK_FORK();
|
||||
|
||||
if ((rv = sftk_fipsCheck()) == CKR_OK &&
|
||||
(rv = sftk_newPinCheck(pNewPin, usNewLen)) == CKR_OK) {
|
||||
rv = sftk_fipsCheck();
|
||||
if (rv != CKR_OK) {
|
||||
goto loser;
|
||||
}
|
||||
|
||||
if (isLevel2 || usNewLen > 0) {
|
||||
rv = sftk_newPinCheck(pNewPin, usNewLen);
|
||||
if (rv != CKR_OK) {
|
||||
goto loser;
|
||||
}
|
||||
rv = NSC_SetPIN(hSession, pOldPin, usOldLen, pNewPin, usNewLen);
|
||||
if ((rv == CKR_OK) &&
|
||||
(sftk_SlotIDFromSessionHandle(hSession) == FIPS_SLOT_ID)) {
|
||||
if (rv != CKR_OK) {
|
||||
goto loser;
|
||||
}
|
||||
if (sftk_SlotIDFromSessionHandle(hSession) == FIPS_SLOT_ID) {
|
||||
/* if we set the password in level1 we now go
|
||||
* to level2. NOTE: we don't allow the user to
|
||||
* go from level2 to level1 */
|
||||
isLevel2 = PR_TRUE;
|
||||
}
|
||||
} else {
|
||||
/* here both old and new passwords are empty, but we need to
|
||||
* call NSC_SetPIN to force rekey the database entries */
|
||||
PORT_Assert(usNewLen == 0);
|
||||
rv = NSC_SetPIN(hSession, pOldPin, usOldLen, pNewPin, usNewLen);
|
||||
if (rv != CKR_OK) {
|
||||
goto loser;
|
||||
}
|
||||
}
|
||||
|
||||
loser:
|
||||
if (sftk_audit_enabled) {
|
||||
char msg[128];
|
||||
NSSAuditSeverity severity = (rv == CKR_OK) ? NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
|
||||
|
|
|
@ -3900,7 +3900,10 @@ NSC_SetPIN(CK_SESSION_HANDLE hSession, CK_CHAR_PTR pOldPin,
|
|||
crv = CKR_PIN_LEN_RANGE;
|
||||
goto loser;
|
||||
}
|
||||
if (ulNewLen < (CK_ULONG)slot->minimumPinLen) {
|
||||
/* check the length of new pin, unless both old and new passwords
|
||||
* are empty */
|
||||
if ((ulNewLen != 0 || ulOldLen != 0) &&
|
||||
ulNewLen < (CK_ULONG)slot->minimumPinLen) {
|
||||
crv = CKR_PIN_LEN_RANGE;
|
||||
goto loser;
|
||||
}
|
||||
|
|
|
@ -459,7 +459,7 @@ struct SFTKItemTemplateStr {
|
|||
|
||||
#define SFTK_TOKEN_KRL_HANDLE (SFTK_TOKEN_MAGIC | SFTK_TOKEN_TYPE_CRL | 1)
|
||||
/* how big (in bytes) a password/pin we can deal with */
|
||||
#define SFTK_MAX_PIN 255
|
||||
#define SFTK_MAX_PIN 500
|
||||
/* minimum password/pin length (in Unicode characters) in FIPS mode */
|
||||
#define FIPS_MIN_PIN 7
|
||||
|
||||
|
|
|
@ -197,6 +197,13 @@ class coverityAction(argparse.Action):
|
|||
|
||||
def dump_cov_artifact(self, cov_results, source, output):
|
||||
import json
|
||||
|
||||
def relpath(path):
|
||||
'''Build path relative to repository root'''
|
||||
if path.startswith(cwd):
|
||||
return os.path.relpath(path, cwd)
|
||||
return path
|
||||
|
||||
# Parse Coverity json into structured issues
|
||||
with open(cov_results) as f:
|
||||
result = json.load(f)
|
||||
|
@ -223,7 +230,7 @@ class coverityAction(argparse.Action):
|
|||
|
||||
# Embed all events into extra message
|
||||
for event in issue['events']:
|
||||
dict_issue['extra']['stack'].append({'file_path': event['strippedFilePathname'],
|
||||
dict_issue['extra']['stack'].append({'file_path': relpath(event['strippedFilePathname']),
|
||||
'line_number': event['lineNumber'],
|
||||
'path_type': event['eventTag'],
|
||||
'description': event['eventDescription']})
|
||||
|
@ -237,6 +244,7 @@ class coverityAction(argparse.Action):
|
|||
print('Skipping CID: {0} from file: {1} since it\'s not related with the current patch.'.format(
|
||||
issue['stateOnServer']['cid'], issue['strippedMainEventFilePathname']))
|
||||
continue
|
||||
path = relpath(path)
|
||||
if path in files_list:
|
||||
files_list[path]['warnings'].append(build_element(issue))
|
||||
else:
|
||||
|
|
|
@ -83,6 +83,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $cbc_kat_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -56,6 +56,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $gcm_decrypt_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -59,6 +59,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
request=KeyPair.req
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -50,6 +50,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
request=KeyPair.req
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -31,6 +31,9 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
done
|
||||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $hmac_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -33,6 +33,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
request=ikev1_dsa.req
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -68,6 +68,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
request=KASFunctionTest_ECCEphemeralUnified_NOKC_ZZOnly_init.req
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -30,6 +30,9 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
done
|
||||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $drbg_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -38,6 +38,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
request=SigGen15_186-3.req
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -51,6 +51,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $sha_ShortMsg_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -77,6 +77,8 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $cbc_kat_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -30,6 +30,9 @@ if [ ${COMMAND} = "verify" ]; then
|
|||
done
|
||||
exit $result
|
||||
fi
|
||||
|
||||
test -d "${RSPDIR}" || mkdir "${RSPDIR}"
|
||||
|
||||
for request in $tls_requests; do
|
||||
response=`echo $request | sed -e "s/req/rsp/"`
|
||||
echo $request $response
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
[structured-clone.any.worker.html]
|
||||
[Indexed DB and Structured Serializing/Deserializing]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[structured-clone.any.html]
|
||||
[Indexed DB and Structured Serializing/Deserializing]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[cookieStore_delete_insecure.tentative.https.window.html]
|
||||
[cookieStore.delete(name) can delete an insecure cookie]
|
||||
expected: FAIL
|
||||
|
||||
[cookieStore.delete(options) can delete an insecure cookie]
|
||||
expected: FAIL
|
||||
|
|
@ -101,3 +101,48 @@
|
|||
[Credential interface: new FederatedCredential({\n id: "id",\n provider: "https://example.com",\n iconURL: "https://example.com/",\n name: "name"\n }) must inherit property "type" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[PasswordCredential interface: passwordCredential must inherit property "name" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of passwordCredential]
|
||||
expected: FAIL
|
||||
|
||||
[FederatedCredential interface: federatedCredential must inherit property "protocol" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Credential interface: federatedCredential must inherit property "type" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of federatedCredential]
|
||||
expected: FAIL
|
||||
|
||||
[Credential interface: passwordCredential must inherit property "type" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[FederatedCredential interface: federatedCredential must inherit property "provider" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[PasswordCredential interface: passwordCredential must inherit property "password" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[PasswordCredential must be primary interface of passwordCredential]
|
||||
expected: FAIL
|
||||
|
||||
[FederatedCredential must be primary interface of federatedCredential]
|
||||
expected: FAIL
|
||||
|
||||
[PasswordCredential interface: passwordCredential must inherit property "iconURL" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[FederatedCredential interface: federatedCredential must inherit property "iconURL" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[FederatedCredential interface: federatedCredential must inherit property "name" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Credential interface: federatedCredential must inherit property "id" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Credential interface: passwordCredential must inherit property "id" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
[dominant-baseline-computed.html]
|
||||
[Property dominant-baseline value 'text-bottom' computes to 'text-bottom']
|
||||
expected: FAIL
|
||||
|
||||
[Property dominant-baseline value 'text-top' computes to 'text-top']
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[dominant-baseline-valid.html]
|
||||
[e.style['dominant-baseline'\] = "text-top" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['dominant-baseline'\] = "text-bottom" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[overflow-body-propagation-002.tentative.html]
|
||||
expected:
|
||||
if os == "android": PASS
|
||||
FAIL
|
|
@ -0,0 +1,4 @@
|
|||
[overflow-body-propagation-003.tentative.html]
|
||||
expected:
|
||||
if os == "android": PASS
|
||||
FAIL
|
|
@ -11,3 +11,6 @@
|
|||
[A var() cycle between a syntax:'*' property and an unregistered property is handled correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[Invalid at computed-value time triggers 'unset' behavior]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[perspective-transforms-equivalence.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
|||
[set-var-reference-crash.html]
|
||||
[Do not crash when referencing a variable with CSSVariableReferenceValue]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
[get-auto-min-size.html]
|
||||
[An absolute grid-child computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[An inflow grid-item computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[An absolute flex-child computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[An inflow flex-item computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[An absolute block computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
||||
[An inflow block computed StylePropertyMap.get reports the auto minimum size correctly.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[tcy-white-space-processing-001.html]
|
||||
expected: FAIL
|
|
@ -1,7 +1,8 @@
|
|||
[text-orientation-script-001i.html]
|
||||
[Default orientation for vo=R]
|
||||
expected:
|
||||
if (os == "win"): PASS
|
||||
if (os == "win") and debug and (processor == "x86_64"): PASS
|
||||
if (os == "win") and not debug: PASS
|
||||
FAIL
|
||||
|
||||
[Orientation=Upright]
|
||||
|
@ -9,6 +10,6 @@
|
|||
|
||||
[Orientation=Rotated]
|
||||
expected:
|
||||
if (os == "win"): PASS
|
||||
if os == "win": PASS
|
||||
FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[text-orientation-script-001m.html]
|
||||
max-asserts: 2
|
||||
[Default orientation for vo=U]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -7,6 +8,6 @@
|
|||
|
||||
[Orientation=Rotated]
|
||||
expected:
|
||||
if (os == "win"): PASS
|
||||
if os == "win": PASS
|
||||
FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-001.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-002.html]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[wm-propagation-body-006.xht]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[wm-propagation-body-008.xht]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[wm-propagation-body-010.xht]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[wm-propagation-body-011.xht]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[wm-propagation-body-015.xht]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-032.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-033.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-034.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-035.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-036.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-037.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-038.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-039.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-040.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-041.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-042.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-043.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-044.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-045.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-046.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-047.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-048.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-049.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-050.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-051.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-052.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-053.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-054.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[wm-propagation-body-055.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,23 @@
|
|||
[scrollIntoView-sideways-lr-writing-mode-and-rtl-direction.html]
|
||||
[scrollIntoView({"block":"center","inline":"center"})]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[scrollIntoView-sideways-lr-writing-mode.html]
|
||||
[scrollIntoView({"block":"center","inline":"center"})]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
[scrollIntoView-sideways-rl-writing-mode-and-rtl-direction.html]
|
||||
[scrollIntoView({"block":"center","inline":"center"})]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
[scrollIntoView-sideways-rl-writing-mode.html]
|
||||
[scrollIntoView({"block":"center","inline":"center"})]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"start"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"center"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"end","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"start","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
||||
[scrollIntoView({"block":"center","inline":"end"})]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[element-only-when-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[Only expose element attribute for fully active documents]
|
||||
expected: NOTRUN
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[fixed-id-identifier.html]
|
||||
[PerformanceElementTiming id and identifier do not change when Element changes.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
[idlharness.window.html]
|
||||
[PerformanceElementTiming interface: attribute intersectionRect]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute identifier]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute loadTime]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute naturalWidth]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute id]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute element]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute naturalHeight]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute url]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: attribute renderTime]
|
||||
expected: FAIL
|
||||
|
||||
[Element interface: attribute elementTiming]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceElementTiming interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
prefs: [dom.security.featurePolicy.enabled:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true]
|
||||
lsan-allowed: [Alloc, CreateCDMProxy, MakeUnique, Malloc, NewPage, Realloc, mozilla::EMEDecryptor::EMEDecryptor, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::dom::MediaKeys::CreateCDMProxy, mozilla::dom::ContentChild::GetConstructedEventTarget]
|
||||
leak-threshold: [default:51200]
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
lsan-allowed: [Alloc, Create, Malloc, Realloc, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::WeakPtr, mozilla::net::CookieSettings::Create, mozilla::net::nsStandardURL::TemplatedMutator, nsNodeSupportsWeakRefTearoff::GetWeakReference, nsPrefetchService::EnqueueURI]
|
||||
lsan-allowed: [Alloc, Create, Malloc, Realloc, mozilla::BasePrincipal::CreateContentPrincipal, mozilla::SchedulerGroup::CreateEventTargetFor, mozilla::WeakPtr, mozilla::dom::Link::TryDNSPrefetchOrPreconnectOrPrefetchOrPreloadOrPrerender, mozilla::net::CookieSettings::Create, mozilla::net::nsStandardURL::TemplatedMutator, nsNodeSupportsWeakRefTearoff::GetWeakReference, nsPrefetchService::EnqueueURI]
|
||||
leak-threshold: [tab:51200]
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
expected: NOTRUN
|
||||
|
||||
[Https downgrade prefetch => No headers]
|
||||
bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1568717, https://bugzilla.mozilla.org/show_bug.cgi?id=1569098]
|
||||
expected:
|
||||
if os == "android": PASS
|
||||
[FAIL, TIMEOUT, PASS]
|
||||
bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1568717, https://bugzilla.mozilla.org/show_bug.cgi?id=1569098]
|
||||
if (os == "linux") and debug and webrender: TIMEOUT
|
||||
FAIL
|
||||
|
||||
[Https downgrade stylesheet => No headers]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[new_window_same_origin.tentative.html]
|
||||
expected:
|
||||
if (os == "mac") and debug: ["OK", "ERROR"]
|
||||
if (os == "linux") and sw-e10s: ["OK", "TIMEOUT"]
|
||||
if (os == "mac") and debug: [OK, ERROR]
|
||||
if (os == "linux") and sw-e10s: [OK, TIMEOUT]
|
||||
[same-origin document opening popup to http://www1.web-platform.test:8000 with COOP: "same-site unsafe-allow-outgoing"]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
|
|
@ -107,6 +107,18 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
|||
[Document interface: attribute onformdata]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: documentWithHandlers must inherit property "onsecuritypolicyviolation" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: documentWithHandlers must inherit property "onformdata" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: documentWithHandlers must inherit property "all" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[Document interface: documentWithHandlers must inherit property "oncancel" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[interfaces.https.html?include=HTML.*]
|
||||
[HTMLAllCollection must be primary interface of document.all]
|
||||
|
@ -277,9 +289,6 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
|||
[HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1161,7 +1170,7 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
|||
[SVGAElement interface: attribute port]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onpopstate]
|
||||
[SVGSVGElement interface: attribute onbeforeunload]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onmessageerror]
|
||||
|
@ -1194,7 +1203,10 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
|||
[SVGAElement interface: attribute origin]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onbeforeunload]
|
||||
[SVGSVGElement interface: attribute onpopstate]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onpagehide]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onafterprint]
|
||||
|
@ -1206,9 +1218,6 @@ prefs: [dom.security.featurePolicy.enabled:true]
|
|||
[SVGAElement interface: attribute href]
|
||||
expected: FAIL
|
||||
|
||||
[SVGSVGElement interface: attribute onpagehide]
|
||||
expected: FAIL
|
||||
|
||||
[SVGAElement interface: attribute password]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[element-only-when-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[Only expose element attribute for fully active documents]
|
||||
expected: NOTRUN
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
[idlharness.html]
|
||||
[LargestContentfulPaint interface: lcp must inherit property "loadTime" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: lcp must inherit property "id" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[idl_test setup]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute size]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: lcp must inherit property "size" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint must be primary interface of lcp]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute renderTime]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute url]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute id]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: lcp must inherit property "renderTime" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: lcp must inherit property "url" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: lcp must inherit property "element" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of lcp]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute loadTime]
|
||||
expected: FAIL
|
||||
|
||||
[LargestContentfulPaint interface: attribute element]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[image-TAO.sub.html]
|
||||
[Cross-origin elements with valid TAO have correct renderTime, with invalid TAO have renderTime set to 0.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
[observe-after-untrusted-scroll.html]
|
||||
[Same-origin image is observable.]
|
||||
expected: FAIL
|
||||
|
||||
[Same-origin image after a JS initiated scroll event is observable.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[idlharness.window.html]
|
||||
[LayoutShift interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: attribute value]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: attribute lastInputTime]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: attribute hadRecentInput]
|
||||
expected: FAIL
|
||||
|
||||
[LayoutShift interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
|
@ -59,6 +59,9 @@
|
|||
[idl_test setup]
|
||||
expected: FAIL
|
||||
|
||||
[TaskAttributionTiming interface: operation toJSON()]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceLongTaskTiming interface: operation toJSON()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[frac-numalign-denomalign-001.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,25 @@
|
|||
[embellished-operator-001.html]
|
||||
[mphantom (not embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mpadded (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mstyle (not embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mstyle (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mrow (not embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mrow (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mpadded (not embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mphantom (embellished operator)]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
[embellished-operator-002.html]
|
||||
[mmultiscripts (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[munderover (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[msub (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[munder (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mover (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[msubsup (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[mfrac (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[maction (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[msup (embellished operator)]
|
||||
expected: FAIL
|
||||
|
||||
[semantics (embellished operator)]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[mo-movablelimits.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,8 @@
|
|||
[space-like-003.html]
|
||||
[mi is not space-like]
|
||||
expected:
|
||||
if os == "android": FAIL
|
||||
|
||||
[merror is not space-like]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,220 @@
|
|||
[attribute-mapping-001.html]
|
||||
[mathsize on the msub element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the msup element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mstyle element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the math element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the munder element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the munderover element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the maction element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mi element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathcolor on the mmultiscripts element is mapped to CSS color]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mover element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mtable element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mn element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the msqrt element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mtr element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the msqrt element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mrow element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mfrac element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the munder element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mtr element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the annotation-xml element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the none element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the merror element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathcolor on the annotation element is mapped to CSS color]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mfrac element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the menclose element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mroot element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the munderover element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathcolor on the merror element is mapped to CSS color]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the msubsup element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mtd element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mprescripts element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the maction element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the annotation-xml element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the ms element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mstyle element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mtext element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mspace element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mphantom element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathbackground on the annotation element is mapped to CSS background-color]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the annotation element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the none element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mrow element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the menclose element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mspace element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mroot element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mo element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mprescripts element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the math element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mover element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mtd element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the merror element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathbackground on the mmultiscripts element is mapped to CSS background-color]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the msub element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathbackground on the annotation-xml element is mapped to CSS background-color]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mmultiscripts element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mmultiscripts element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mi element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mn element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the msup element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mphantom element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathcolor on the annotation-xml element is mapped to CSS color]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mo element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the msubsup element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mtext element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the ms element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mpadded element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the annotation element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the mpadded element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the mtable element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[dir on the semantics element is mapped to CSS direction]
|
||||
expected: FAIL
|
||||
|
||||
[mathcolor on the semantics element is mapped to CSS color]
|
||||
expected: FAIL
|
||||
|
||||
[mathsize on the semantics element is mapped to CSS font-size]
|
||||
expected: FAIL
|
||||
|
||||
[mathbackground on the semantics element is mapped to CSS background-color]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,289 @@
|
|||
[attribute-mapping-002.html]
|
||||
[displaystyle on the mphantom element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the munder element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the menclose element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mspace element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mtd element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the munderover element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the merror element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the maction element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the munderover element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the msup element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the msub element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the munder element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mrow element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the msqrt element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mo element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the ms element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mtr element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the munderover element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mtr element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the annotation element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mtd element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mo element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mtable element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the maction element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mpadded element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the msqrt element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mstyle element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mn element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mprescripts element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mo element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the annotation element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the menclose element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the merror element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the menclose element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the ms element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mspace element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mover element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the msup element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mphantom element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mover element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mi element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mtext element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mmultiscripts element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the msubsup element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the merror element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the msubsup element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the munder element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the msub element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mtd element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mtable element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mfrac element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the none element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mmultiscripts element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mn element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mi element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mroot element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mtext element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mtr element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mprescripts element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the math element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mmultiscripts element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the annotation-xml element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mstyle element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mtext element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mphantom element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mfrac element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mpadded element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mfrac element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the msubsup element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mrow element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mtable element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the annotation-xml element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the none element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the msub element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mrow element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the none element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mroot element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the math element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the math element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mover element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mspace element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the msqrt element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mroot element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mprescripts element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the maction element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the mn element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the msup element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the mpadded element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the ms element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the annotation-xml element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the annotation element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mstyle element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the mi element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
||||
[displaystyle on the semantics element is mapped to CSS math-style]
|
||||
expected: FAIL
|
||||
|
||||
[mathvariant on the semantics element is mapped to CSS text-transform]
|
||||
expected: FAIL
|
||||
|
||||
[scriptlevel on the semantics element is mapped to CSS math-script-level]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
[color-001.html]
|
||||
expected:
|
||||
if webrender and (os == "win"): FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[color-002.html]
|
||||
expected:
|
||||
if webrender and (os == "win"): FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[color-003.html]
|
||||
expected:
|
||||
if webrender and (os == "win"): FAIL
|
|
@ -0,0 +1,5 @@
|
|||
[color-004.html]
|
||||
expected:
|
||||
if (os == "win") and not webrender: PASS
|
||||
if os == "android": PASS
|
||||
FAIL
|
|
@ -1,5 +0,0 @@
|
|||
[color-1.html]
|
||||
expected:
|
||||
if (os == "linux") and not debug and webrender: "FAIL"
|
||||
if (os == "linux") and debug and webrender: "FAIL"
|
||||
if os == "win": "FAIL"
|
|
@ -0,0 +1,22 @@
|
|||
[displaystyle-2.html]
|
||||
[msubsup element]
|
||||
expected: FAIL
|
||||
|
||||
[munderover element]
|
||||
expected: FAIL
|
||||
|
||||
[munder element]
|
||||
expected: FAIL
|
||||
|
||||
[msup element]
|
||||
expected: FAIL
|
||||
|
||||
[msub element]
|
||||
expected: FAIL
|
||||
|
||||
[mroot element]
|
||||
expected: FAIL
|
||||
|
||||
[mover element]
|
||||
expected: FAIL
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче