зеркало из https://github.com/mozilla/gecko-dev.git
merge mozilla-central to autoland. r=merge a=merge
This commit is contained in:
Коммит
4359a8ac3b
|
@ -3467,18 +3467,9 @@ Element::GetTokenList(nsAtom* aAtom,
|
|||
Element*
|
||||
Element::Closest(const nsAString& aSelector, ErrorResult& aResult)
|
||||
{
|
||||
return WithSelectorList<Element*>(
|
||||
aSelector,
|
||||
aResult,
|
||||
[&](const RawServoSelectorList* aList) -> Element* {
|
||||
if (!aList) {
|
||||
return nullptr;
|
||||
}
|
||||
return const_cast<Element*>(Servo_SelectorList_Closest(this, aList));
|
||||
},
|
||||
[&](nsCSSSelectorList* aList) -> Element* {
|
||||
if (!aList) {
|
||||
// Either we failed (and aError already has the exception), or this
|
||||
nsCSSSelectorList* selectorList = ParseSelectorList(aSelector, aResult);
|
||||
if (!selectorList) {
|
||||
// Either we failed (and aResult already has the exception), or this
|
||||
// is a pseudo-element-only selector that matches nothing.
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -3492,13 +3483,11 @@ Element::Closest(const nsAString& aSelector, ErrorResult& aResult)
|
|||
if (node->IsElement() &&
|
||||
nsCSSRuleProcessor::SelectorListMatches(node->AsElement(),
|
||||
matchingContext,
|
||||
aList)) {
|
||||
selectorList)) {
|
||||
return node->AsElement();
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
@ -1174,21 +1174,21 @@ var interfaceNamesInGlobalScope =
|
|||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"VideoStreamTrack",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRDisplay", releaseNonWindows: false},
|
||||
{name: "VRDisplay", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRDisplayCapabilities", releaseNonWindows: false},
|
||||
{name: "VRDisplayCapabilities", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRDisplayEvent", releaseNonWindows: false},
|
||||
{name: "VRDisplayEvent", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VREyeParameters", releaseNonWindows: false},
|
||||
{name: "VREyeParameters", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRFieldOfView", releaseNonWindows: false},
|
||||
{name: "VRFieldOfView", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRFrameData", releaseNonWindows: false},
|
||||
{name: "VRFrameData", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRPose", releaseNonWindows: false},
|
||||
{name: "VRPose", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
{name: "VRStageParameters", releaseNonWindows: false},
|
||||
{name: "VRStageParameters", releaseNonWindowsAndMac: false},
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
"VTTCue",
|
||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||
|
@ -1317,12 +1317,12 @@ function createInterfaceMap(isXBLScope) {
|
|||
(entry.xbl === !isXBLScope) ||
|
||||
(entry.desktop === !isDesktop) ||
|
||||
(entry.windows === !isWindows) ||
|
||||
(entry.releaseNonWindows === !isRelease && !isWindows) ||
|
||||
(entry.mac === !isMac) ||
|
||||
(entry.linux === !isLinux) ||
|
||||
(entry.android === !isAndroid && !entry.nightlyAndroid) ||
|
||||
(entry.stylo === !isStylo) ||
|
||||
(entry.release === !isRelease) ||
|
||||
(entry.releaseNonWindowsAndMac === !(isRelease && !isWindows && !isMac)) ||
|
||||
(entry.isSecureContext === !isSecureContext) ||
|
||||
entry.disabled) {
|
||||
interfaceMap[entry.name] = false;
|
||||
|
|
|
@ -6814,8 +6814,8 @@ HTMLEditRules::ReturnInListItem(Selection& aSelection,
|
|||
}
|
||||
|
||||
nsCOMPtr<Element> brNode;
|
||||
rv = htmlEditor->CopyLastEditableChildStyles(GetAsDOMNode(prevItem),
|
||||
GetAsDOMNode(&aListItem),
|
||||
rv = htmlEditor->CopyLastEditableChildStyles(prevItem,
|
||||
&aListItem,
|
||||
getter_AddRefs(brNode));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
if (brNode) {
|
||||
|
|
|
@ -3853,20 +3853,6 @@ HTMLEditor::GetPriorHTMLSibling(nsINode* aNode)
|
|||
return node;
|
||||
}
|
||||
|
||||
nsresult
|
||||
HTMLEditor::GetPriorHTMLSibling(nsIDOMNode* inNode,
|
||||
nsCOMPtr<nsIDOMNode>* outNode)
|
||||
{
|
||||
NS_ENSURE_TRUE(outNode, NS_ERROR_NULL_POINTER);
|
||||
*outNode = nullptr;
|
||||
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(inNode);
|
||||
NS_ENSURE_TRUE(node, NS_ERROR_NULL_POINTER);
|
||||
|
||||
*outNode = do_QueryInterface(GetPriorHTMLSibling(node));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetNextHTMLSibling() returns the next editable sibling, if there is
|
||||
* one within the parent.
|
||||
|
@ -3884,20 +3870,6 @@ HTMLEditor::GetNextHTMLSibling(nsINode* aNode)
|
|||
return node;
|
||||
}
|
||||
|
||||
nsresult
|
||||
HTMLEditor::GetNextHTMLSibling(nsIDOMNode* inNode,
|
||||
nsCOMPtr<nsIDOMNode>* outNode)
|
||||
{
|
||||
NS_ENSURE_TRUE(outNode, NS_ERROR_NULL_POINTER);
|
||||
*outNode = nullptr;
|
||||
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(inNode);
|
||||
NS_ENSURE_TRUE(node, NS_ERROR_NULL_POINTER);
|
||||
|
||||
*outNode = do_QueryInterface(GetNextHTMLSibling(node));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetPriorHTMLNode() returns the previous editable leaf node, if there is
|
||||
* one within the <body>.
|
||||
|
@ -3915,20 +3887,6 @@ HTMLEditor::GetPriorHTMLNode(nsINode* aNode,
|
|||
return GetPriorNode(aNode, true, aNoBlockCrossing);
|
||||
}
|
||||
|
||||
nsresult
|
||||
HTMLEditor::GetPriorHTMLNode(nsIDOMNode* aNode,
|
||||
nsCOMPtr<nsIDOMNode>* aResultNode,
|
||||
bool aNoBlockCrossing)
|
||||
{
|
||||
NS_ENSURE_TRUE(aResultNode, NS_ERROR_NULL_POINTER);
|
||||
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
|
||||
NS_ENSURE_TRUE(node, NS_ERROR_NULL_POINTER);
|
||||
|
||||
*aResultNode = do_QueryInterface(GetPriorHTMLNode(node, aNoBlockCrossing));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetPriorHTMLNode() is same as above but takes {parent,offset} instead of
|
||||
* node.
|
||||
|
@ -3967,20 +3925,6 @@ HTMLEditor::GetNextHTMLNode(nsINode* aNode,
|
|||
return result;
|
||||
}
|
||||
|
||||
nsresult
|
||||
HTMLEditor::GetNextHTMLNode(nsIDOMNode* aNode,
|
||||
nsCOMPtr<nsIDOMNode>* aResultNode,
|
||||
bool aNoBlockCrossing)
|
||||
{
|
||||
NS_ENSURE_TRUE(aResultNode, NS_ERROR_NULL_POINTER);
|
||||
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
|
||||
NS_ENSURE_TRUE(node, NS_ERROR_NULL_POINTER);
|
||||
|
||||
*aResultNode = do_QueryInterface(GetNextHTMLNode(node, aNoBlockCrossing));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* GetNextHTMLNode() is same as above but takes {parent,offset} instead of node.
|
||||
*/
|
||||
|
@ -4554,44 +4498,39 @@ HTMLEditor::AreNodesSameType(nsIContent* aNode1,
|
|||
}
|
||||
|
||||
nsresult
|
||||
HTMLEditor::CopyLastEditableChildStyles(nsIDOMNode* aPreviousBlock,
|
||||
nsIDOMNode* aNewBlock,
|
||||
HTMLEditor::CopyLastEditableChildStyles(nsINode* aPreviousBlock,
|
||||
nsINode* aNewBlock,
|
||||
Element** aOutBrNode)
|
||||
{
|
||||
nsCOMPtr<nsINode> newBlock = do_QueryInterface(aNewBlock);
|
||||
NS_ENSURE_STATE(newBlock || !aNewBlock);
|
||||
*aOutBrNode = nullptr;
|
||||
nsCOMPtr<nsIDOMNode> child, tmp;
|
||||
nsCOMPtr<nsINode> child, tmp;
|
||||
// first, clear out aNewBlock. Contract is that we want only the styles from previousBlock.
|
||||
nsresult rv = aNewBlock->GetFirstChild(getter_AddRefs(child));
|
||||
while (NS_SUCCEEDED(rv) && child) {
|
||||
rv = DeleteNode(child);
|
||||
child = aNewBlock->GetFirstChild();
|
||||
while (child) {
|
||||
nsresult rv = DeleteNode(child);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
rv = aNewBlock->GetFirstChild(getter_AddRefs(child));
|
||||
child = aNewBlock->GetFirstChild();
|
||||
}
|
||||
// now find and clone the styles
|
||||
child = aPreviousBlock;
|
||||
tmp = aPreviousBlock;
|
||||
while (tmp) {
|
||||
child = tmp;
|
||||
nsCOMPtr<nsINode> child_ = do_QueryInterface(child);
|
||||
NS_ENSURE_STATE(child_ || !child);
|
||||
tmp = GetAsDOMNode(GetLastEditableChild(*child_));
|
||||
tmp = GetLastEditableChild(*child);
|
||||
}
|
||||
while (child && TextEditUtils::IsBreak(child)) {
|
||||
nsCOMPtr<nsIDOMNode> priorNode;
|
||||
rv = GetPriorHTMLNode(child, address_of(priorNode));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
child = priorNode;
|
||||
child = GetPriorHTMLNode(child);
|
||||
}
|
||||
nsCOMPtr<Element> newStyles, deepestStyle;
|
||||
nsCOMPtr<nsINode> childNode = do_QueryInterface(child);
|
||||
nsCOMPtr<nsINode> childNode = child;
|
||||
nsCOMPtr<Element> childElement;
|
||||
if (childNode) {
|
||||
childElement = childNode->IsElement() ? childNode->AsElement()
|
||||
: childNode->GetParentElement();
|
||||
}
|
||||
while (childElement && (childElement->AsDOMNode() != aPreviousBlock)) {
|
||||
while (childElement && (childElement != aPreviousBlock)) {
|
||||
if (HTMLEditUtils::IsInlineStyle(childElement) ||
|
||||
childElement->IsHTMLElement(nsGkAtoms::span)) {
|
||||
if (newStyles) {
|
||||
|
|
|
@ -152,8 +152,8 @@ public:
|
|||
NS_DECL_NSIHTMLINLINETABLEEDITOR
|
||||
|
||||
// XXX Following methods are not overriding but defined here...
|
||||
nsresult CopyLastEditableChildStyles(nsIDOMNode* aPreviousBlock,
|
||||
nsIDOMNode* aNewBlock,
|
||||
nsresult CopyLastEditableChildStyles(nsINode* aPreviousBlock,
|
||||
nsINode* aNewBlock,
|
||||
Element** aOutBrNode);
|
||||
|
||||
nsresult LoadHTML(const nsAString& aInputString);
|
||||
|
@ -770,23 +770,15 @@ protected:
|
|||
nsresult RemoveBlockContainer(nsIContent& aNode);
|
||||
|
||||
nsIContent* GetPriorHTMLSibling(nsINode* aNode);
|
||||
nsresult GetPriorHTMLSibling(nsIDOMNode*inNode,
|
||||
nsCOMPtr<nsIDOMNode>* outNode);
|
||||
|
||||
nsIContent* GetNextHTMLSibling(nsINode* aNode);
|
||||
nsresult GetNextHTMLSibling(nsIDOMNode* inNode,
|
||||
nsCOMPtr<nsIDOMNode>* outNode);
|
||||
|
||||
nsIContent* GetPriorHTMLNode(nsINode* aNode, bool aNoBlockCrossing = false);
|
||||
nsresult GetPriorHTMLNode(nsIDOMNode* inNode, nsCOMPtr<nsIDOMNode>* outNode,
|
||||
bool bNoBlockCrossing = false);
|
||||
nsIContent* GetPriorHTMLNode(nsINode* aParent, int32_t aOffset,
|
||||
nsINode* aChildAtOffset,
|
||||
bool aNoBlockCrossing = false);
|
||||
|
||||
nsIContent* GetNextHTMLNode(nsINode* aNode, bool aNoBlockCrossing = false);
|
||||
nsresult GetNextHTMLNode(nsIDOMNode* inNode, nsCOMPtr<nsIDOMNode>* outNode,
|
||||
bool bNoBlockCrossing = false);
|
||||
nsIContent* GetNextHTMLNode(nsINode* aParent, int32_t aOffset,
|
||||
nsINode* aChildAtOffset,
|
||||
bool aNoBlockCrossing = false);
|
||||
|
|
|
@ -84,6 +84,9 @@ using namespace mozilla::widget;
|
|||
static bool
|
||||
CreateConfig(EGLConfig* aConfig, bool aEnableDepthBuffer);
|
||||
|
||||
static bool
|
||||
CreateConfig(EGLConfig* aConfig, int32_t depth, bool aEnableDepthBuffer);
|
||||
|
||||
// append three zeros at the end of attribs list to work around
|
||||
// EGL implementation bugs that iterate until they find 0, instead of
|
||||
// EGL_NONE. See bug 948406.
|
||||
|
@ -177,10 +180,20 @@ GLContextEGLFactory::Create(EGLNativeWindowType aWindow,
|
|||
bool doubleBuffered = true;
|
||||
|
||||
EGLConfig config;
|
||||
if (aWebRender && sEGLLibrary.IsANGLE()) {
|
||||
// Force enable alpha channel to make sure ANGLE use correct framebuffer formart
|
||||
const int bpp = 32;
|
||||
const bool withDepth = true;
|
||||
if (!CreateConfig(&config, bpp, withDepth)) {
|
||||
gfxCriticalNote << "Failed to create EGLConfig for WebRender ANGLE!";
|
||||
return nullptr;
|
||||
}
|
||||
} else {
|
||||
if (!CreateConfig(&config, aWebRender)) {
|
||||
gfxCriticalNote << "Failed to create EGLConfig!";
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
EGLSurface surface = mozilla::gl::CreateSurfaceFromNativeWindow(aWindow, config);
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ TEST_FILES = \
|
|||
js1_8_1/ \
|
||||
js1_8_5/ \
|
||||
shell/ \
|
||||
test/ \
|
||||
test262/ \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
# Manifest entries for imported test suites whose individual test cases
|
||||
# we don't want to change.
|
||||
|
||||
# Skip the folder with tests for the scripts
|
||||
skip include test/jstests.list
|
||||
|
||||
skip script ecma_6/String/normalize-generateddata-input.js # input data for other test
|
||||
|
||||
# Skip intl402 tests when Intl isn't available.
|
||||
|
@ -121,6 +124,7 @@ skip script test262/built-ins/TypedArrays/internals/HasProperty/detached-buffer-
|
|||
skip script test262/built-ins/TypedArrays/internals/HasProperty/detached-buffer.js
|
||||
skip script test262/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js
|
||||
skip script test262/built-ins/TypedArrays/internals/Set/detached-buffer.js
|
||||
skip script test262/harness/detachArrayBuffer.js
|
||||
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1129202
|
||||
skip script test262/built-ins/TypedArrays/internals/DefineOwnProperty/key-is-greater-than-last-index.js
|
||||
|
@ -488,12 +492,28 @@ skip script test262/language/statements/async-generator/yield-star-async-next.js
|
|||
skip script test262/language/statements/class/async-gen-method-yield-star-async-next.js
|
||||
skip script test262/language/statements/class/async-gen-method-static-yield-star-async-next.js
|
||||
|
||||
# Optional Catch Binding
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1380881
|
||||
skip script test262/language/statements/try/optional-catch-binding-lexical.js
|
||||
skip script test262/language/statements/try/optional-catch-binding-throws.js
|
||||
skip script test262/language/statements/try/optional-catch-binding-finally.js
|
||||
skip script test262/language/statements/try/optional-catch-binding.js
|
||||
|
||||
# Promise.prototype.finally
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1019116
|
||||
skip script test262/built-ins/Promise/prototype/finally/invokes-then-with-function.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/invokes-then-with-non-function.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/is-a-function.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/length.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/name.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/prop-desc.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/rejected-observable-then-calls.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/rejection-reason-no-fulfill.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/rejection-reason-override-with-throw.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/resolution-value-no-override.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/resolved-observable-then-calls.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/this-value-then-poisoned.js
|
||||
skip script test262/built-ins/Promise/prototype/finally/this-value-then-throws.js
|
||||
|
||||
###########################################################
|
||||
# Tests disabled due to issues in test262 importer script #
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
PyYAML==3.12
|
|
@ -0,0 +1,25 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
info: |
|
||||
foo bar baz
|
||||
description: |
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration variable
|
||||
name. Therefore ASI doesn't apply, and so the |0| where a |=| was expected is a
|
||||
syntax error.
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags:
|
||||
- module
|
||||
esid: sec-let-and-const-declarations
|
||||
features:
|
||||
- foobar
|
||||
---*/
|
||||
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
|
||||
/*---
|
||||
esid: sec-let-and-const-declarations
|
||||
features: []
|
||||
negative:
|
||||
phase: runtime
|
||||
type: SyntaxError
|
||||
description: |
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration variable
|
||||
name. Therefore ASI doesn't apply, and so the |0| where a |=| was expected is a
|
||||
syntax error.
|
||||
---*/
|
||||
|
||||
eval(`
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
||||
`);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
|
||||
/*---
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
features: []
|
||||
description: |
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration variable
|
||||
name. Therefore ASI doesn't apply, and so the |0| where a |=| was expected is a
|
||||
syntax error.
|
||||
esid: sec-let-and-const-declarations
|
||||
---*/
|
||||
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
description: |
|
||||
'|await| is excluded from LexicalDeclaration by grammar parameter, in AsyncFunction. Therefore
|
||||
|let| followed by |await| inside AsyncFunction is an ASI opportunity, and this code
|
||||
must parse without error.'
|
||||
esid: sec-let-and-const-declarations
|
||||
---*/
|
||||
|
||||
async function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
||||
|
||||
assert.sameValue(true, f instanceof Function);
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
description: |
|
||||
assert.sameValue
|
||||
esid: pending
|
||||
---*/
|
||||
|
||||
|
||||
var a = 42;
|
||||
|
||||
// comment
|
||||
assert.sameValue(trueish, true, "ok");
|
||||
|
||||
assert.sameValue ( true, /*lol*/true, "ok");
|
||||
|
||||
assert.sameValue(true, f instanceof Function);
|
||||
assert.sameValue(true, true, "don't crash");
|
||||
assert.sameValue(42, foo);
|
||||
|
||||
// this was a assert.sameValue Line
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
// |reftest| error:SyntaxError module
|
||||
// Copyright (C) 2017 André Bargull. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-grammar-notation
|
||||
description: >
|
||||
The `default` keyword must not contain Unicode escape sequences.
|
||||
info: >
|
||||
Terminal symbols of the lexical, RegExp, and numeric string grammars are shown
|
||||
in fixed width font, both in the productions of the grammars and throughout this
|
||||
specification whenever the text directly refers to such a terminal symbol. These
|
||||
are to appear in a script exactly as written. All terminal symbol code points
|
||||
specified in this way are to be understood as the appropriate Unicode code points
|
||||
from the Basic Latin range, as opposed to any similar-looking code points from
|
||||
other Unicode ranges.
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
flags: [module]
|
||||
---*/
|
||||
|
||||
throw "Test262: This statement should not be evaluated.";
|
||||
|
||||
export d\u0065fault 0;
|
|
@ -0,0 +1,561 @@
|
|||
// file: assert.js
|
||||
// Copyright (C) 2017 Ecma International. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
description: |
|
||||
Collection of assertion functions used throughout test262
|
||||
---*/
|
||||
|
||||
function assert(mustBeTrue, message) {
|
||||
if (mustBeTrue === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (message === undefined) {
|
||||
message = 'Expected true but got ' + String(mustBeTrue);
|
||||
}
|
||||
$ERROR(message);
|
||||
}
|
||||
|
||||
assert._isSameValue = function (a, b) {
|
||||
if (a === b) {
|
||||
// Handle +/-0 vs. -/+0
|
||||
return a !== 0 || 1 / a === 1 / b;
|
||||
}
|
||||
|
||||
// Handle NaN vs. NaN
|
||||
return a !== a && b !== b;
|
||||
};
|
||||
|
||||
assert.sameValue = function (actual, expected, message) {
|
||||
if (assert._isSameValue(actual, expected)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (message === undefined) {
|
||||
message = '';
|
||||
} else {
|
||||
message += ' ';
|
||||
}
|
||||
|
||||
message += 'Expected SameValue(«' + String(actual) + '», «' + String(expected) + '») to be true';
|
||||
|
||||
$ERROR(message);
|
||||
};
|
||||
|
||||
assert.notSameValue = function (actual, unexpected, message) {
|
||||
if (!assert._isSameValue(actual, unexpected)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (message === undefined) {
|
||||
message = '';
|
||||
} else {
|
||||
message += ' ';
|
||||
}
|
||||
|
||||
message += 'Expected SameValue(«' + String(actual) + '», «' + String(unexpected) + '») to be false';
|
||||
|
||||
$ERROR(message);
|
||||
};
|
||||
|
||||
assert.throws = function (expectedErrorConstructor, func, message) {
|
||||
if (typeof func !== "function") {
|
||||
$ERROR('assert.throws requires two arguments: the error constructor ' +
|
||||
'and a function to run');
|
||||
return;
|
||||
}
|
||||
if (message === undefined) {
|
||||
message = '';
|
||||
} else {
|
||||
message += ' ';
|
||||
}
|
||||
|
||||
try {
|
||||
func();
|
||||
} catch (thrown) {
|
||||
if (typeof thrown !== 'object' || thrown === null) {
|
||||
message += 'Thrown value was not an object!';
|
||||
$ERROR(message);
|
||||
} else if (thrown.constructor !== expectedErrorConstructor) {
|
||||
message += 'Expected a ' + expectedErrorConstructor.name + ' but got a ' + thrown.constructor.name;
|
||||
$ERROR(message);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
message += 'Expected a ' + expectedErrorConstructor.name + ' to be thrown but no exception was thrown at all';
|
||||
$ERROR(message);
|
||||
};
|
||||
|
||||
assert.throws.early = function(err, code) {
|
||||
let wrappedCode = `function wrapperFn() { ${code} }`;
|
||||
let ieval = eval;
|
||||
|
||||
assert.throws(err, () => { Function(wrappedCode); }, `Function: ${code}`);
|
||||
};
|
||||
|
||||
// file: compareArray.js
|
||||
// Copyright (C) 2017 Ecma International. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
description: |
|
||||
Compare the contents of two arrays
|
||||
---*/
|
||||
|
||||
function compareArray(a, b) {
|
||||
if (b.length !== a.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (var i = 0; i < a.length; i++) {
|
||||
if (b[i] !== a[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
assert.compareArray = function(actual, expected, message) {
|
||||
assert(compareArray(actual, expected),
|
||||
`Expected [${actual.join(", ")}] and [${expected.join(", ")}] to have the same contents. ${message}`);
|
||||
};
|
||||
|
||||
// file: propertyHelper.js
|
||||
// Copyright (C) 2017 Ecma International. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
description: |
|
||||
Collection of functions used to safely verify the correctness of
|
||||
property descriptors.
|
||||
---*/
|
||||
|
||||
function verifyProperty(obj, name, desc, options) {
|
||||
assert(
|
||||
arguments.length > 2,
|
||||
'verifyProperty should receive at least 3 arguments: obj, name, and descriptor'
|
||||
);
|
||||
|
||||
var originalDesc = Object.getOwnPropertyDescriptor(obj, name);
|
||||
var nameStr = String(name);
|
||||
|
||||
// Allows checking for undefined descriptor if it's explicitly given.
|
||||
if (desc === undefined) {
|
||||
assert.sameValue(
|
||||
originalDesc,
|
||||
undefined,
|
||||
`obj['${nameStr}'] descriptor should be undefined`
|
||||
);
|
||||
|
||||
// desc and originalDesc are both undefined, problem solved;
|
||||
return true;
|
||||
}
|
||||
|
||||
assert(
|
||||
Object.prototype.hasOwnProperty.call(obj, name),
|
||||
`obj should have an own property ${nameStr}`
|
||||
);
|
||||
|
||||
assert.notSameValue(
|
||||
desc,
|
||||
null,
|
||||
`The desc argument should be an object or undefined, null`
|
||||
);
|
||||
|
||||
assert.sameValue(
|
||||
typeof desc,
|
||||
"object",
|
||||
`The desc argument should be an object or undefined, ${String(desc)}`
|
||||
);
|
||||
|
||||
var failures = [];
|
||||
|
||||
if (Object.prototype.hasOwnProperty.call(desc, 'value')) {
|
||||
if (desc.value !== originalDesc.value) {
|
||||
failures.push(`descriptor value should be ${desc.value}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.prototype.hasOwnProperty.call(desc, 'enumerable')) {
|
||||
if (desc.enumerable !== originalDesc.enumerable ||
|
||||
desc.enumerable !== isEnumerable(obj, name)) {
|
||||
failures.push(`descriptor should ${desc.enumerable ? '' : 'not '}be enumerable`);
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.prototype.hasOwnProperty.call(desc, 'writable')) {
|
||||
if (desc.writable !== originalDesc.writable ||
|
||||
desc.writable !== isWritable(obj, name)) {
|
||||
failures.push(`descriptor should ${desc.writable ? '' : 'not '}be writable`);
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.prototype.hasOwnProperty.call(desc, 'configurable')) {
|
||||
if (desc.configurable !== originalDesc.configurable ||
|
||||
desc.configurable !== isConfigurable(obj, name)) {
|
||||
failures.push(`descriptor should ${desc.configurable ? '' : 'not '}be configurable`);
|
||||
}
|
||||
}
|
||||
|
||||
assert.sameValue(failures.length, 0, failures.join('; '));
|
||||
|
||||
if (options && options.restore) {
|
||||
Object.defineProperty(obj, name, originalDesc);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function isConfigurable(obj, name) {
|
||||
try {
|
||||
delete obj[name];
|
||||
} catch (e) {
|
||||
if (!(e instanceof TypeError)) {
|
||||
$ERROR("Expected TypeError, got " + e);
|
||||
}
|
||||
}
|
||||
return !Object.prototype.hasOwnProperty.call(obj, name);
|
||||
}
|
||||
|
||||
function isEnumerable(obj, name) {
|
||||
var stringCheck = false;
|
||||
|
||||
if (typeof name === "string") {
|
||||
for (var x in obj) {
|
||||
if (x === name) {
|
||||
stringCheck = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// skip it if name is not string, works for Symbol names.
|
||||
stringCheck = true;
|
||||
}
|
||||
|
||||
return stringCheck &&
|
||||
Object.prototype.hasOwnProperty.call(obj, name) &&
|
||||
Object.prototype.propertyIsEnumerable.call(obj, name);
|
||||
}
|
||||
|
||||
function isEqualTo(obj, name, expectedValue) {
|
||||
var actualValue = obj[name];
|
||||
|
||||
return assert._isSameValue(actualValue, expectedValue);
|
||||
}
|
||||
|
||||
function isWritable(obj, name, verifyProp, value) {
|
||||
var newValue = value || "unlikelyValue";
|
||||
var hadValue = Object.prototype.hasOwnProperty.call(obj, name);
|
||||
var oldValue = obj[name];
|
||||
var writeSucceeded;
|
||||
|
||||
try {
|
||||
obj[name] = newValue;
|
||||
} catch (e) {
|
||||
if (!(e instanceof TypeError)) {
|
||||
$ERROR("Expected TypeError, got " + e);
|
||||
}
|
||||
}
|
||||
|
||||
writeSucceeded = isEqualTo(obj, verifyProp || name, newValue);
|
||||
|
||||
// Revert the change only if it was successful (in other cases, reverting
|
||||
// is unnecessary and may trigger exceptions for certain property
|
||||
// configurations)
|
||||
if (writeSucceeded) {
|
||||
if (hadValue) {
|
||||
obj[name] = oldValue;
|
||||
} else {
|
||||
delete obj[name];
|
||||
}
|
||||
}
|
||||
|
||||
return writeSucceeded;
|
||||
}
|
||||
|
||||
function verifyEqualTo(obj, name, value) {
|
||||
if (!isEqualTo(obj, name, value)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] to equal " + value +
|
||||
", actually " + obj[name]);
|
||||
}
|
||||
}
|
||||
|
||||
function verifyWritable(obj, name, verifyProp, value) {
|
||||
if (!verifyProp) {
|
||||
assert(Object.getOwnPropertyDescriptor(obj, name).writable,
|
||||
"Expected obj[" + String(name) + "] to have writable:true.");
|
||||
}
|
||||
if (!isWritable(obj, name, verifyProp, value)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] to be writable, but was not.");
|
||||
}
|
||||
}
|
||||
|
||||
function verifyNotWritable(obj, name, verifyProp, value) {
|
||||
if (!verifyProp) {
|
||||
assert(!Object.getOwnPropertyDescriptor(obj, name).writable,
|
||||
"Expected obj[" + String(name) + "] to have writable:false.");
|
||||
}
|
||||
if (isWritable(obj, name, verifyProp)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] NOT to be writable, but was.");
|
||||
}
|
||||
}
|
||||
|
||||
function verifyEnumerable(obj, name) {
|
||||
assert(Object.getOwnPropertyDescriptor(obj, name).enumerable,
|
||||
"Expected obj[" + String(name) + "] to have enumerable:true.");
|
||||
if (!isEnumerable(obj, name)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] to be enumerable, but was not.");
|
||||
}
|
||||
}
|
||||
|
||||
function verifyNotEnumerable(obj, name) {
|
||||
assert(!Object.getOwnPropertyDescriptor(obj, name).enumerable,
|
||||
"Expected obj[" + String(name) + "] to have enumerable:false.");
|
||||
if (isEnumerable(obj, name)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] NOT to be enumerable, but was.");
|
||||
}
|
||||
}
|
||||
|
||||
function verifyConfigurable(obj, name) {
|
||||
assert(Object.getOwnPropertyDescriptor(obj, name).configurable,
|
||||
"Expected obj[" + String(name) + "] to have configurable:true.");
|
||||
if (!isConfigurable(obj, name)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] to be configurable, but was not.");
|
||||
}
|
||||
}
|
||||
|
||||
function verifyNotConfigurable(obj, name) {
|
||||
assert(!Object.getOwnPropertyDescriptor(obj, name).configurable,
|
||||
"Expected obj[" + String(name) + "] to have configurable:false.");
|
||||
if (isConfigurable(obj, name)) {
|
||||
$ERROR("Expected obj[" + String(name) + "] NOT to be configurable, but was.");
|
||||
}
|
||||
}
|
||||
|
||||
// file: sta.js
|
||||
// Copyright (c) 2012 Ecma International. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
description: |
|
||||
Provides both:
|
||||
|
||||
- An error class to avoid false positives when testing for thrown exceptions
|
||||
- A function to explicitly throw an exception using the Test262Error class
|
||||
---*/
|
||||
|
||||
|
||||
function Test262Error(message) {
|
||||
this.message = message || "";
|
||||
}
|
||||
|
||||
Test262Error.prototype.toString = function () {
|
||||
return "Test262Error: " + this.message;
|
||||
};
|
||||
|
||||
var $ERROR;
|
||||
$ERROR = function $ERROR(message) {
|
||||
throw new Test262Error(message);
|
||||
};
|
||||
|
||||
// file: test262-host.js
|
||||
// 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/.
|
||||
|
||||
// https://github.com/tc39/test262/blob/master/INTERPRETING.md#host-defined-functions
|
||||
;(function createHostObject(global) {
|
||||
var FunctionToString = global.Function.prototype.toString;
|
||||
var ReflectApply = global.Reflect.apply;
|
||||
var NewGlobal = global.newGlobal;
|
||||
var Atomics = global.Atomics;
|
||||
var SharedArrayBuffer = global.SharedArrayBuffer;
|
||||
var Int32Array = global.Int32Array;
|
||||
var setSharedArrayBuffer = global.setSharedArrayBuffer;
|
||||
var getSharedArrayBuffer = global.getSharedArrayBuffer;
|
||||
var evalInWorker = global.evalInWorker;
|
||||
var hasThreads = ("helperThreadCount" in global ? global.helperThreadCount() > 0 : true);
|
||||
var hasMailbox = typeof setSharedArrayBuffer == "function" && typeof getSharedArrayBuffer == "function";
|
||||
var hasEvalInWorker = typeof evalInWorker == "function";
|
||||
|
||||
// The $262.agent framework is not appropriate for browsers yet, and some
|
||||
// test cases can't work in browsers (they block the main thread).
|
||||
|
||||
var shellCode = hasMailbox && hasEvalInWorker;
|
||||
var sabTestable = Atomics && SharedArrayBuffer && hasThreads && shellCode;
|
||||
|
||||
global.$262 = {
|
||||
__proto__: null,
|
||||
createRealm() {
|
||||
var newGlobalObject = NewGlobal();
|
||||
var createHostObjectFn = ReflectApply(FunctionToString, createHostObject, []);
|
||||
newGlobalObject.Function(`${createHostObjectFn} createHostObject(this);`)();
|
||||
return newGlobalObject.$262;
|
||||
},
|
||||
detachArrayBuffer: global.detachArrayBuffer,
|
||||
evalScript: global.evaluateScript || global.evaluate,
|
||||
global,
|
||||
agent: (function () {
|
||||
|
||||
// SpiderMonkey complication: With run-time argument --no-threads
|
||||
// our test runner will not properly filter test cases that can't be
|
||||
// run because agents can't be started, and so we do a little
|
||||
// filtering here: We will quietly succeed and exit if an agent test
|
||||
// should not have been run because threads cannot be started.
|
||||
//
|
||||
// Firefox complication: The test cases that use $262.agent can't
|
||||
// currently work in the browser, so for now we rely on them not
|
||||
// being run at all.
|
||||
|
||||
if (!sabTestable) {
|
||||
return {
|
||||
_notAvailable() {
|
||||
// See comment above.
|
||||
if (!hasThreads && shellCode) {
|
||||
global.reportCompare(0,0);
|
||||
global.quit(0);
|
||||
}
|
||||
throw new Error("Agents not available");
|
||||
},
|
||||
start(script) { this._notAvailable() },
|
||||
broadcast(sab, id) { this._notAvailable() },
|
||||
getReport() { this._notAvailable() },
|
||||
sleep(s) { this._notAvailable() }
|
||||
}
|
||||
}
|
||||
|
||||
// The SpiderMonkey implementation uses a designated shared buffer _ia
|
||||
// for coordination, and spinlocks for everything except sleeping.
|
||||
|
||||
var _MSG_LOC = 0; // Low bit set: broadcast available; High bits: seq #
|
||||
var _ID_LOC = 1; // ID sent with broadcast
|
||||
var _ACK_LOC = 2; // Worker increments this to ack that broadcast was received
|
||||
var _RDY_LOC = 3; // Worker increments this to ack that worker is up and running
|
||||
var _LOCKTXT_LOC = 4; // Writer lock for the text buffer: 0=open, 1=closed
|
||||
var _NUMTXT_LOC = 5; // Count of messages in text buffer
|
||||
var _NEXT_LOC = 6; // First free location in the buffer
|
||||
var _SLEEP_LOC = 7; // Used for sleeping
|
||||
|
||||
var _FIRST = 10; // First location of first message
|
||||
|
||||
var _ia = new Int32Array(new SharedArrayBuffer(65536));
|
||||
_ia[_NEXT_LOC] = _FIRST;
|
||||
|
||||
var _worker_prefix =
|
||||
// BEGIN WORKER PREFIX
|
||||
`if (typeof $262 == 'undefined')
|
||||
$262 = {};
|
||||
$262.agent = (function () {
|
||||
var _ia = new Int32Array(getSharedArrayBuffer());
|
||||
var agent = {
|
||||
receiveBroadcast(receiver) {
|
||||
var k;
|
||||
while (((k = Atomics.load(_ia, ${_MSG_LOC})) & 1) == 0)
|
||||
;
|
||||
var received_sab = getSharedArrayBuffer();
|
||||
var received_id = Atomics.load(_ia, ${_ID_LOC});
|
||||
Atomics.add(_ia, ${_ACK_LOC}, 1);
|
||||
while (Atomics.load(_ia, ${_MSG_LOC}) == k)
|
||||
;
|
||||
receiver(received_sab, received_id);
|
||||
},
|
||||
|
||||
report(msg) {
|
||||
while (Atomics.compareExchange(_ia, ${_LOCKTXT_LOC}, 0, 1) == 1)
|
||||
;
|
||||
msg = "" + msg;
|
||||
var i = _ia[${_NEXT_LOC}];
|
||||
_ia[i++] = msg.length;
|
||||
for ( let j=0 ; j < msg.length ; j++ )
|
||||
_ia[i++] = msg.charCodeAt(j);
|
||||
_ia[${_NEXT_LOC}] = i;
|
||||
Atomics.add(_ia, ${_NUMTXT_LOC}, 1);
|
||||
Atomics.store(_ia, ${_LOCKTXT_LOC}, 0);
|
||||
},
|
||||
|
||||
sleep(s) {
|
||||
Atomics.wait(_ia, ${_SLEEP_LOC}, 0, s);
|
||||
},
|
||||
|
||||
leaving() {}
|
||||
};
|
||||
Atomics.add(_ia, ${_RDY_LOC}, 1);
|
||||
return agent;
|
||||
})();`;
|
||||
// END WORKER PREFIX
|
||||
|
||||
return {
|
||||
_numWorkers: 0,
|
||||
_numReports: 0,
|
||||
_reportPtr: _FIRST,
|
||||
|
||||
_bailIfNotAvailable() {
|
||||
if (!sabTestable) {
|
||||
// See comment above.
|
||||
if (!hasThreads && shellCode) {
|
||||
global.reportCompare(0,0);
|
||||
global.quit(0);
|
||||
}
|
||||
throw new Error("Agents not available");
|
||||
}
|
||||
},
|
||||
|
||||
start(script) {
|
||||
this._bailIfNotAvailable();
|
||||
setSharedArrayBuffer(_ia.buffer);
|
||||
var oldrdy = Atomics.load(_ia, _RDY_LOC);
|
||||
evalInWorker(_worker_prefix + script);
|
||||
while (Atomics.load(_ia, _RDY_LOC) == oldrdy)
|
||||
;
|
||||
this._numWorkers++;
|
||||
},
|
||||
|
||||
broadcast(sab, id) {
|
||||
this._bailIfNotAvailable();
|
||||
setSharedArrayBuffer(sab);
|
||||
Atomics.store(_ia, _ID_LOC, id);
|
||||
Atomics.store(_ia, _ACK_LOC, 0);
|
||||
Atomics.add(_ia, _MSG_LOC, 1);
|
||||
while (Atomics.load(_ia, _ACK_LOC) < this._numWorkers)
|
||||
;
|
||||
Atomics.add(_ia, _MSG_LOC, 1);
|
||||
},
|
||||
|
||||
getReport() {
|
||||
this._bailIfNotAvailable();
|
||||
if (this._numReports == Atomics.load(_ia, _NUMTXT_LOC))
|
||||
return null;
|
||||
var s = "";
|
||||
var i = this._reportPtr;
|
||||
var len = _ia[i++];
|
||||
for ( let j=0 ; j < len ; j++ )
|
||||
s += String.fromCharCode(_ia[i++]);
|
||||
this._reportPtr = i;
|
||||
this._numReports++;
|
||||
return s;
|
||||
},
|
||||
|
||||
sleep(s) {
|
||||
this._bailIfNotAvailable();
|
||||
Atomics.wait(_ia, _SLEEP_LOC, 0, s);
|
||||
},
|
||||
};
|
||||
})()
|
||||
};
|
||||
})(this);
|
||||
|
||||
var $mozAsyncTestDone = false;
|
||||
function $DONE(failure) {
|
||||
// This function is generally called from within a Promise handler, so any
|
||||
// exception thrown by this method will be swallowed and most likely
|
||||
// ignored by the Promise machinery.
|
||||
if ($mozAsyncTestDone) {
|
||||
reportFailure("$DONE() already called");
|
||||
return;
|
||||
}
|
||||
$mozAsyncTestDone = true;
|
||||
|
||||
if (failure)
|
||||
reportFailure(failure);
|
||||
else
|
||||
reportCompare(0, 0);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
reportCompare(0, 0);
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
reportCompare(0, 0);
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
reportCompare(0, 0);
|
|
@ -0,0 +1,14 @@
|
|||
From the branch smTempBranch in {{folder}}
|
||||
|
||||
Files being copied to the local folder:
|
||||
test/language/export/escaped-foobarbaz.js
|
||||
test/temp42/bar.js
|
||||
test/temp42/baz.js
|
||||
test/temp42/foo.js
|
||||
|
||||
Deleted files (use this list to update the skip list):
|
||||
test/language/export/escaped-from.js
|
||||
|
||||
Renamed files (already added with the new names):
|
||||
rename test/language/export/{escaped-default.js => escaped-foobarbaz.js} (100%)
|
||||
|
|
@ -0,0 +1 @@
|
|||
.
|
|
@ -0,0 +1 @@
|
|||
// not an empty file
|
|
@ -0,0 +1 @@
|
|||
.
|
|
@ -0,0 +1,20 @@
|
|||
// |reftest| skip-if(!this.hasOwnProperty('foobar')||outro()) error:SyntaxError module -- foo bar baz
|
||||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
esid: sec-let-and-const-declarations
|
||||
description: >
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration
|
||||
variable name. Therefore ASI doesn't apply, and so the |0| where a |=| was
|
||||
expected is a syntax error.
|
||||
negative:
|
||||
phase: early
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
// |reftest| error:SyntaxError
|
||||
|
||||
/*---
|
||||
esid: sec-let-and-const-declarations
|
||||
description: >
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration
|
||||
variable name. Therefore ASI doesn't apply, and so the |0| where a |=| was
|
||||
expected is a syntax error.
|
||||
negative:
|
||||
phase: runtime
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
eval(`
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
||||
`);
|
|
@ -0,0 +1,15 @@
|
|||
// |reftest| error:SyntaxError
|
||||
|
||||
/*---
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
esid: sec-let-and-const-declarations
|
||||
description: >
|
||||
Outside AsyncFunction, |await| is a perfectly cromulent LexicalDeclaration
|
||||
variable name. Therefore ASI doesn't apply, and so the |0| where a |=| was
|
||||
expected is a syntax error.
|
||||
---*/
|
||||
|
||||
function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
author: Jeff Walden <jwalden+code@mit.edu>
|
||||
esid: sec-let-and-const-declarations
|
||||
description: >
|
||||
|await| is excluded from LexicalDeclaration by grammar parameter, in
|
||||
AsyncFunction. Therefore |let| followed by |await| inside AsyncFunction is
|
||||
an ASI opportunity, and this code must parse without error.
|
||||
---*/
|
||||
|
||||
async function f() {
|
||||
let
|
||||
await 0;
|
||||
}
|
||||
|
||||
reportCompare(true, f instanceof Function);
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright (C) 2017 Mozilla Corporation. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
description: reportCompare
|
||||
---*/
|
||||
|
||||
|
||||
var a = 42;
|
||||
|
||||
reportCompare(0, 0)
|
||||
reportCompare(0, 0);
|
||||
reportCompare(0, 0, "ok")
|
||||
reportCompare(true, true, "ok"); // comment
|
||||
reportCompare(trueish, true, "ok");
|
||||
|
||||
reportCompare ( 0 , 0 ) ;
|
||||
reportCompare ( 0 , 0, "ok")
|
||||
reportCompare ( true, /*lol*/true, "ok");
|
||||
|
||||
reportCompare(null, null, "test");
|
||||
reportCompare(true, f instanceof Function);
|
||||
reportCompare(true, true)
|
||||
reportCompare(true, true);
|
||||
reportCompare(true, true, "don't crash");
|
||||
reportCompare(true,true);
|
||||
this.reportCompare && reportCompare(0, 0, "ok");
|
||||
this.reportCompare && reportCompare(true, true);
|
||||
this.reportCompare && reportCompare(true,true);
|
||||
|
||||
reportCompare(42, foo);
|
||||
|
||||
reportCompare(0, 0); // this was a reportCompare Line
|
||||
|
||||
reportCompare(
|
||||
true,
|
||||
true
|
||||
);
|
|
@ -0,0 +1 @@
|
|||
// not an empty file
|
|
@ -0,0 +1,133 @@
|
|||
#!/usr/bin/env python
|
||||
# Adapted from https://github.com/tc39/test262/blob/master/tools/generation/test/run.py
|
||||
|
||||
import shutil, subprocess, contextlib, tempfile, sys, os, unittest
|
||||
|
||||
testDir = os.path.dirname(os.path.relpath(__file__))
|
||||
OUT_DIR = os.path.join(testDir, 'out')
|
||||
EXPECTED_DIR = os.path.join(testDir, 'expected')
|
||||
ex = os.path.join(testDir, '..', 'test262-export.py')
|
||||
importExec = os.path.join(testDir, '..', 'test262-update.py')
|
||||
test262Url = 'git://github.com/tc39/test262.git'
|
||||
|
||||
@contextlib.contextmanager
|
||||
def TemporaryDirectory():
|
||||
tmpDir = tempfile.mkdtemp()
|
||||
try:
|
||||
yield tmpDir
|
||||
finally:
|
||||
shutil.rmtree(tmpDir)
|
||||
|
||||
class TestExport(unittest.TestCase):
|
||||
maxDiff = None
|
||||
|
||||
def exportScript(self):
|
||||
relpath = os.path.relpath(os.path.join(testDir, 'fixtures', 'export'))
|
||||
sp = subprocess.Popen(
|
||||
[ex, relpath, '--out', OUT_DIR],
|
||||
stdout=subprocess.PIPE)
|
||||
stdout, stderr = sp.communicate()
|
||||
return dict(stdout=stdout, stderr=stderr, returncode=sp.returncode)
|
||||
|
||||
def importLocal(self):
|
||||
with TemporaryDirectory() as cloneDir:
|
||||
branch = 'smTempBranch'
|
||||
# Clone Test262 to a local branch
|
||||
subprocess.check_call(
|
||||
['git', 'clone', '--depth=1', test262Url, cloneDir]
|
||||
)
|
||||
# Checkout to a new branch
|
||||
subprocess.check_call(
|
||||
['git', '-C', cloneDir, 'checkout', '-b', branch]
|
||||
)
|
||||
# Make changes on the new branch
|
||||
# Remove test/language/export/escaped-from.js
|
||||
subprocess.check_call(
|
||||
['git', '-C', cloneDir, 'rm',
|
||||
'test/language/export/escaped-from.js']
|
||||
)
|
||||
# Rename test/language/export/escaped-default.js
|
||||
subprocess.check_call(
|
||||
['git', '-C', cloneDir, 'mv',
|
||||
'test/language/export/escaped-default.js',
|
||||
'test/language/export/escaped-foobarbaz.js',
|
||||
]
|
||||
)
|
||||
# Copy fixtures files
|
||||
fixturesDir = os.path.join(testDir, 'fixtures', 'import', 'files')
|
||||
shutil.copytree(fixturesDir, os.path.join(cloneDir, 'test', 'temp42'))
|
||||
# Stage and Commit changes
|
||||
subprocess.check_call(['git', '-C', cloneDir, 'add', '.'])
|
||||
subprocess.check_call(['git', '-C', cloneDir, 'commit', '-m', '"local foo"'])
|
||||
|
||||
# Run import script
|
||||
print("%s --local %s --out %s" % (importExec, cloneDir, OUT_DIR))
|
||||
sp = subprocess.Popen(
|
||||
[importExec, '--local', cloneDir, '--out', OUT_DIR],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE
|
||||
)
|
||||
stdoutdata, _ = sp.communicate()
|
||||
|
||||
return stdoutdata, sp.returncode, cloneDir
|
||||
|
||||
def isTestFile(self, filename):
|
||||
return not (
|
||||
filename.startswith('.') or
|
||||
filename.startswith('#') or
|
||||
filename.endswith('~')
|
||||
)
|
||||
|
||||
def getFiles(self, path):
|
||||
names = []
|
||||
for root, _, fileNames in os.walk(path):
|
||||
for fileName in filter(self.isTestFile, fileNames):
|
||||
names.append(os.path.join(root, fileName))
|
||||
names.sort()
|
||||
return names
|
||||
|
||||
def compareTrees(self, targetName):
|
||||
expectedPath = os.path.join(EXPECTED_DIR, targetName)
|
||||
actualPath = OUT_DIR
|
||||
|
||||
expectedFiles = self.getFiles(expectedPath)
|
||||
actualFiles = self.getFiles(actualPath)
|
||||
|
||||
self.assertListEqual(
|
||||
map(lambda x: os.path.relpath(x, expectedPath), expectedFiles),
|
||||
map(lambda x: os.path.relpath(x, actualPath), actualFiles))
|
||||
|
||||
for expectedFile, actualFile in zip(expectedFiles, actualFiles):
|
||||
with open(expectedFile) as expectedHandle:
|
||||
with open(actualFile) as actualHandle:
|
||||
self.assertMultiLineEqual(
|
||||
expectedHandle.read(),
|
||||
actualHandle.read())
|
||||
|
||||
def compareContents(self, output, filePath, folder):
|
||||
with open(filePath, "rb") as file:
|
||||
expected = file.read()
|
||||
|
||||
expected = expected.replace('{{folder}}', folder)
|
||||
self.assertMultiLineEqual(output, expected)
|
||||
|
||||
def tearDown(self):
|
||||
shutil.rmtree(OUT_DIR, ignore_errors=True)
|
||||
|
||||
def test_export(self):
|
||||
result = self.exportScript()
|
||||
self.assertEqual(result['returncode'], 0)
|
||||
self.compareTrees('export')
|
||||
|
||||
def test_import_local(self):
|
||||
output, returncode, folder = self.importLocal()
|
||||
self.assertEqual(returncode, 0)
|
||||
self.compareTrees(os.path.join('import', 'files'))
|
||||
self.compareContents(
|
||||
output,
|
||||
os.path.join(testDir, 'expected', 'import', 'output.txt'),
|
||||
folder
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
|
@ -0,0 +1,359 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# 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/.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import contextlib
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import shutil
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
from functools import partial
|
||||
from itertools import chain, imap
|
||||
|
||||
# Skip all common files used to support tests for jstests
|
||||
# These files are listed in the README.txt
|
||||
SUPPORT_FILES = set(["browser.js", "shell.js", "template.js", "user.js",
|
||||
"js-test-driver-begin.js", "js-test-driver-end.js"])
|
||||
|
||||
FRONTMATTER_WRAPPER_PATTERN = re.compile(
|
||||
r'/\*\---\n([\s]*)((?:\s|\S)*)[\n\s*]---\*/', flags=re.DOTALL)
|
||||
|
||||
def convertTestFile(source):
|
||||
"""
|
||||
Convert a jstest test to a compatible Test262 test file.
|
||||
"""
|
||||
|
||||
source = convertReportCompare(source)
|
||||
source = updateMeta(source)
|
||||
source = insertCopyrightLines(source)
|
||||
|
||||
return source
|
||||
|
||||
def convertReportCompare(source):
|
||||
"""
|
||||
Captures all the reportCompare and convert them accordingly.
|
||||
|
||||
Cases with reportCompare calls where the arguments are the same and one of
|
||||
0, true, or null, will be discarded as they are not necessary for Test262.
|
||||
|
||||
Otherwise, reportCompare will be replaced with assert.sameValue, as the
|
||||
equivalent in Test262
|
||||
"""
|
||||
|
||||
def replaceFn(matchobj):
|
||||
actual = matchobj.group(1)
|
||||
expected = matchobj.group(2)
|
||||
|
||||
if actual == expected and actual in ["0", "true", "null"]:
|
||||
return ""
|
||||
|
||||
return matchobj.group()
|
||||
|
||||
newSource = re.sub(
|
||||
r'.*reportCompare\s*\(\s*(\w*)\s*,\s*(\w*)\s*(,\s*\S*)?\s*\)\s*;*\s*',
|
||||
replaceFn,
|
||||
source
|
||||
)
|
||||
|
||||
return re.sub(r'\breportCompare\b', "assert.sameValue", newSource)
|
||||
|
||||
def fetchReftestEntries(reftest):
|
||||
"""
|
||||
Collects and stores the entries from the reftest header.
|
||||
"""
|
||||
|
||||
# TODO: fails, slow, skip, random, random-if
|
||||
|
||||
features = []
|
||||
error = None
|
||||
comments = None
|
||||
module = False
|
||||
|
||||
# should capture conditions to skip
|
||||
matchesSkip = re.search(r'skip-if\((.*)\)', reftest)
|
||||
if matchesSkip:
|
||||
matches = matchesSkip.group(1).split("||")
|
||||
for match in matches:
|
||||
# captures a features list
|
||||
dependsOnProp = re.search(
|
||||
r'!this.hasOwnProperty\([\'\"](.*?)[\'\"]\)', match)
|
||||
if dependsOnProp:
|
||||
features.append(dependsOnProp.group(1))
|
||||
else:
|
||||
print("# Can't parse the following skip-if rule: %s" % match)
|
||||
|
||||
# should capture the expected error
|
||||
matchesError = re.search(r'error:\s*(\w*)', reftest)
|
||||
if matchesError:
|
||||
# The metadata from the reftests won't say if it's a runtime or an
|
||||
# early error. This specification is required for the frontmatter tags.
|
||||
error = matchesError.group(1)
|
||||
|
||||
# just tells if it's a module
|
||||
matchesModule = re.search(r'\bmodule\b', reftest)
|
||||
if matchesModule:
|
||||
module = True
|
||||
|
||||
# captures any comments
|
||||
matchesComments = re.search(r' -- (.*)', reftest)
|
||||
if matchesComments:
|
||||
comments = matchesComments.group(1)
|
||||
|
||||
return {
|
||||
"features": features,
|
||||
"error": error,
|
||||
"module": module,
|
||||
"info": comments
|
||||
}
|
||||
|
||||
def parseHeader(source):
|
||||
"""
|
||||
Parse the source to return it with the extracted the header
|
||||
"""
|
||||
from lib.manifest import TEST_HEADER_PATTERN_INLINE
|
||||
|
||||
# Bail early if we do not start with a single comment.
|
||||
if not source.startswith("//"):
|
||||
return (source, {})
|
||||
|
||||
# Extract the token.
|
||||
part, _, _ = source.partition("\n")
|
||||
matches = TEST_HEADER_PATTERN_INLINE.match(part)
|
||||
|
||||
if matches and matches.group(0):
|
||||
reftest = matches.group(0)
|
||||
|
||||
# Remove the found header from the source;
|
||||
# Fetch and return the reftest entries
|
||||
return (source.replace(reftest + "\n", ""), fetchReftestEntries(reftest))
|
||||
|
||||
return (source, {})
|
||||
|
||||
def extractMeta(source):
|
||||
"""
|
||||
Capture the frontmatter metadata as yaml if it exists.
|
||||
Returns a new dict if it doesn't.
|
||||
"""
|
||||
|
||||
match = FRONTMATTER_WRAPPER_PATTERN.search(source)
|
||||
if not match:
|
||||
return {}
|
||||
|
||||
indent, frontmatter_lines = match.groups()
|
||||
|
||||
unindented = re.sub('^%s' % indent, '', frontmatter_lines)
|
||||
|
||||
return yaml.safe_load(unindented)
|
||||
|
||||
def updateMeta(source):
|
||||
"""
|
||||
Captures the reftest meta and a pre-existing meta if any and merge them
|
||||
into a single dict.
|
||||
"""
|
||||
|
||||
# Extract the reftest data from the source
|
||||
source, reftest = parseHeader(source)
|
||||
|
||||
# Extract the frontmatter data from the source
|
||||
frontmatter = extractMeta(source)
|
||||
|
||||
# Merge the reftest and frontmatter
|
||||
merged = mergeMeta(reftest, frontmatter)
|
||||
|
||||
# Cleanup the metadata
|
||||
properData = cleanupMeta(merged)
|
||||
|
||||
return insertMeta(source, properData)
|
||||
|
||||
def cleanupMeta(meta):
|
||||
"""
|
||||
Clean up all the frontmatter meta tags. This is not a lint tool, just a
|
||||
simple cleanup to remove trailing spaces and duplicate entries from lists.
|
||||
"""
|
||||
|
||||
# Populate required tags
|
||||
for tag in ("description", "esid"):
|
||||
meta.setdefault(tag, "pending")
|
||||
|
||||
# Trim values on each string tag
|
||||
for tag in ("description", "esid", "es5id", "es6id", "info", "author"):
|
||||
if tag in meta:
|
||||
meta[tag] = meta[tag].strip()
|
||||
|
||||
# Remove duplicate entries on each list tag
|
||||
for tag in ("features", "flags", "includes"):
|
||||
if tag in meta:
|
||||
# We need the list back for the yaml dump
|
||||
meta[tag] = list(set(meta[tag]))
|
||||
|
||||
if "negative" in meta:
|
||||
# If the negative tag exists, phase needs to be present and set
|
||||
if meta["negative"].get("phase") not in ("early", "runtime"):
|
||||
print("Warning: the negative.phase is not properly set.\n" + \
|
||||
"Ref https://github.com/tc39/test262/blob/master/INTERPRETING.md#negative")
|
||||
# If the negative tag exists, type is required
|
||||
if "type" not in meta["negative"]:
|
||||
print("Warning: the negative.type is not set.\n" + \
|
||||
"Ref https://github.com/tc39/test262/blob/master/INTERPRETING.md#negative")
|
||||
|
||||
return meta
|
||||
|
||||
def mergeMeta(reftest, frontmatter):
|
||||
"""
|
||||
Merge the metadata from reftest and an existing frontmatter and populate
|
||||
required frontmatter fields properly.
|
||||
"""
|
||||
|
||||
# Merge the meta from reftest to the frontmatter
|
||||
|
||||
if "features" in reftest:
|
||||
frontmatter.setdefault("features", []) \
|
||||
.extend(reftest.get("features", []))
|
||||
|
||||
# Only add the module flag if the value from reftest is truish
|
||||
if reftest.get("module"):
|
||||
frontmatter.setdefault("flags", []).append("module")
|
||||
|
||||
# Add any comments to the info tag
|
||||
info = reftest.get("info")
|
||||
if info:
|
||||
# Open some space in an existing info text
|
||||
if "info" in frontmatter:
|
||||
frontmatter["info"] += "\n\n \%" % info
|
||||
else:
|
||||
frontmatter["info"] = info
|
||||
|
||||
# Set the negative flags
|
||||
if "error" in reftest:
|
||||
error = reftest["error"]
|
||||
if "negative" not in frontmatter:
|
||||
frontmatter["negative"] = {
|
||||
# This code is assuming error tags are early errors, but they
|
||||
# might be runtime errors as well.
|
||||
# From this point, this code can also print a warning asking to
|
||||
# specify the error phase in the generated code or fill the
|
||||
# phase with an empty string.
|
||||
"phase": "early",
|
||||
"type": error
|
||||
}
|
||||
# Print a warning if the errors don't match
|
||||
elif frontmatter["negative"].get("type") != error:
|
||||
print("Warning: The reftest error doesn't match the existing " + \
|
||||
"frontmatter error. %s != %s" % (error,
|
||||
frontmatter["negative"]["type"]))
|
||||
|
||||
return frontmatter
|
||||
|
||||
def insertCopyrightLines(source):
|
||||
"""
|
||||
Insert the copyright lines into the file.
|
||||
"""
|
||||
from datetime import date
|
||||
|
||||
lines = []
|
||||
|
||||
if not re.match(r'\/\/\s+Copyright.*\. All rights reserved.', source):
|
||||
year = date.today().year
|
||||
lines.append("// Copyright (C) %s Mozilla Corporation. All rights reserved." % year)
|
||||
lines.append("// This code is governed by the BSD license found in the LICENSE file.")
|
||||
lines.append("\n")
|
||||
|
||||
return "\n".join(lines) + source
|
||||
|
||||
def insertMeta(source, frontmatter):
|
||||
"""
|
||||
Insert the formatted frontmatter into the file, use the current existing
|
||||
space if any
|
||||
"""
|
||||
lines = []
|
||||
|
||||
lines.append("/*---")
|
||||
|
||||
for (key, value) in frontmatter.items():
|
||||
if key in ("description", "info"):
|
||||
lines.append("%s: |" % key)
|
||||
lines.append(" " + yaml.dump(value, encoding="utf8",
|
||||
).strip().replace('\n...', ''))
|
||||
else:
|
||||
lines.append(yaml.dump({key: value}, encoding="utf8",
|
||||
default_flow_style=False).strip())
|
||||
|
||||
lines.append("---*/")
|
||||
|
||||
match = FRONTMATTER_WRAPPER_PATTERN.search(source)
|
||||
|
||||
if match:
|
||||
return source.replace(match.group(0), "\n".join(lines))
|
||||
else:
|
||||
return "\n".join(lines) + source
|
||||
|
||||
def exportTest262(args):
|
||||
src = os.path.abspath(args.src[0])
|
||||
outDir = os.path.abspath(args.out)
|
||||
|
||||
# Create the output directory from scratch.
|
||||
if os.path.isdir(outDir):
|
||||
shutil.rmtree(outDir)
|
||||
|
||||
# Process all test directories recursively.
|
||||
for (dirPath, _, fileNames) in os.walk(src):
|
||||
relPath = os.path.relpath(dirPath, src)
|
||||
|
||||
relOutDir = os.path.join(outDir, relPath)
|
||||
|
||||
# This also creates the own outDir folder
|
||||
if not os.path.exists(relOutDir):
|
||||
os.makedirs(relOutDir)
|
||||
|
||||
for fileName in fileNames:
|
||||
# Skip browser.js and shell.js files
|
||||
if fileName == "browser.js" or fileName == "shell.js":
|
||||
continue
|
||||
|
||||
filePath = os.path.join(dirPath, fileName)
|
||||
testName = os.path.relpath(filePath, src) # captures folder/fileName
|
||||
|
||||
# Copy non-test files as is.
|
||||
(_, fileExt) = os.path.splitext(fileName)
|
||||
if fileExt != ".js":
|
||||
shutil.copyfile(filePath, os.path.join(outDir, testName))
|
||||
print("C %s" % testName)
|
||||
continue
|
||||
|
||||
# Read the original test source and preprocess it for Test262
|
||||
with open(filePath, "rb") as testFile:
|
||||
testSource = testFile.read()
|
||||
|
||||
if not testSource:
|
||||
print("SKIPPED %s" % testName)
|
||||
continue
|
||||
|
||||
newSource = convertTestFile(testSource)
|
||||
|
||||
with open(os.path.join(outDir, testName), "wb") as output:
|
||||
output.write(newSource)
|
||||
|
||||
print("SAVED %s" % testName)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import argparse
|
||||
|
||||
# This script must be run from js/src/tests to work correctly.
|
||||
if "/".join(os.path.normpath(os.getcwd()).split(os.sep)[-3:]) != "js/src/tests":
|
||||
raise RuntimeError("%s must be run from js/src/tests" % sys.argv[0])
|
||||
|
||||
parser = argparse.ArgumentParser(description="Export tests to match Test262 file compliance.")
|
||||
parser.add_argument("--out", default="test262/export",
|
||||
help="Output directory. Any existing directory will be removed! (default: %(default)s)")
|
||||
parser.add_argument("src", nargs="+", help="Source folder with test files to export")
|
||||
parser.set_defaults(func=exportTest262)
|
||||
args = parser.parse_args()
|
||||
args.func(args)
|
|
@ -331,7 +331,7 @@ def process_test262(test262Dir, test262OutDir, strictTests):
|
|||
continue
|
||||
|
||||
# Skip creating a "prs" directory if it already exists
|
||||
if relPath != "prs" or not os.path.exists(os.path.join(test262OutDir, relPath)):
|
||||
if relPath not in ("prs", "local") and not os.path.exists(os.path.join(test262OutDir, relPath)):
|
||||
os.makedirs(os.path.join(test262OutDir, relPath))
|
||||
|
||||
includeSet = set()
|
||||
|
@ -361,13 +361,101 @@ def process_test262(test262Dir, test262OutDir, strictTests):
|
|||
# Add shell.js and browers.js files for the current directory.
|
||||
writeShellAndBrowserFiles(test262OutDir, harnessDir, includesMap, localIncludesMap, relPath)
|
||||
|
||||
def fetch_pr_files(outDir, inDir, prNumber):
|
||||
def fetch_local_changes(inDir, outDir, srcDir, strictTests):
|
||||
"""
|
||||
Fetch the changes from a local clone of Test262.
|
||||
|
||||
1. Get the list of file changes made by the current branch used on Test262 (srcDir).
|
||||
2. Copy only the (A)dded, (C)opied, (M)odified, and (R)enamed files to inDir.
|
||||
3. inDir is treated like a Test262 checkout, where files will be converted.
|
||||
4. Fetches the current branch name to set the outDir.
|
||||
5. Processed files will be added to `<outDir>/local/<branchName>`.
|
||||
"""
|
||||
import subprocess
|
||||
|
||||
# TOOD: fail if it's in the master branch? or require a branch name?
|
||||
|
||||
# Checks for unstaged or non committed files. A clean branch provides a clean status.
|
||||
status = subprocess.check_output(
|
||||
("git -C %s status --porcelain" % srcDir).split(" ")
|
||||
)
|
||||
|
||||
if status.strip():
|
||||
raise RuntimeError(
|
||||
"Please commit files and cleanup the local test262 folder before importing files.\nCurrent status: \n%s"
|
||||
% status)
|
||||
|
||||
# Captures the branch name to be used on the output
|
||||
branchName = subprocess.check_output(
|
||||
("git -C %s rev-parse --abbrev-ref HEAD" % srcDir).split(" ")).split("\n")[0]
|
||||
|
||||
# Fetches the file names to import
|
||||
files = subprocess.check_output(
|
||||
("git -C %s diff master --diff-filter=ACMR --name-only" % srcDir).split(" ")
|
||||
)
|
||||
|
||||
# Fetches the deleted files to print an output log. This can be used to
|
||||
# set up the skip list, if necessary.
|
||||
deletedFiles = subprocess.check_output(
|
||||
("git -C %s diff master --diff-filter=D --name-only" % srcDir).split(" ")
|
||||
)
|
||||
|
||||
# Fetches the modified files as well for logging to support maintenance
|
||||
# in the skip list.
|
||||
modifiedFiles = subprocess.check_output(
|
||||
("git -C %s diff master --diff-filter=M --name-only" % srcDir).split(" ")
|
||||
)
|
||||
|
||||
# Fetches the renamed files for the same reason, this avoids duplicate
|
||||
# tests if running the new local folder and the general imported Test262
|
||||
# files.
|
||||
renamedFiles = subprocess.check_output(
|
||||
("git -C %s diff master --diff-filter=R --summary" % srcDir).split(" ")
|
||||
)
|
||||
|
||||
# Print some friendly output
|
||||
print("From the branch %s in %s \n" % (branchName, srcDir))
|
||||
print("Files being copied to the local folder: \n%s" % files)
|
||||
if deletedFiles:
|
||||
print("Deleted files (use this list to update the skip list): \n%s" % deletedFiles)
|
||||
if modifiedFiles:
|
||||
print("Modified files (use this list to update the skip list): \n%s" % modifiedFiles)
|
||||
if renamedFiles:
|
||||
print("Renamed files (already added with the new names): \n%s" % renamedFiles)
|
||||
|
||||
for f in files.splitlines():
|
||||
# Capture the subdirectories names to recreate the file tree
|
||||
# TODO: join the file tree with -- instead of multiple subfolders?
|
||||
fileTree = os.path.join(inDir, os.path.dirname(f))
|
||||
if not os.path.exists(fileTree):
|
||||
os.makedirs(fileTree)
|
||||
|
||||
shutil.copyfile(
|
||||
os.path.join(srcDir, f),
|
||||
os.path.join(fileTree, os.path.basename(f))
|
||||
)
|
||||
|
||||
# Extras from Test262. Copy the current support folders - including the
|
||||
# harness - for a proper conversion process
|
||||
shutil.copytree(os.path.join(srcDir, "tools"), os.path.join(inDir, "tools"))
|
||||
shutil.copytree(os.path.join(srcDir, "harness"), os.path.join(inDir, "harness"))
|
||||
|
||||
# Reset any older directory in the output using the same branch name
|
||||
outDir = os.path.join(outDir, "local", branchName)
|
||||
if os.path.isdir(outDir):
|
||||
shutil.rmtree(outDir)
|
||||
os.makedirs(outDir)
|
||||
|
||||
process_test262(inDir, outDir, strictTests)
|
||||
|
||||
def fetch_pr_files(inDir, outDir, prNumber, strictTests):
|
||||
import requests
|
||||
|
||||
prTestsOutDir = os.path.join(outDir, prNumber)
|
||||
prTestsOutDir = os.path.join(outDir, "prs", prNumber)
|
||||
if os.path.isdir(prTestsOutDir):
|
||||
print("Removing folder %s" % prTestsOutDir)
|
||||
shutil.rmtree(prTestsOutDir)
|
||||
os.makedirs(prTestsOutDir)
|
||||
|
||||
# Reuses current Test262 clone's harness and tools folders only, the clone's test/
|
||||
# folder can be discarded from here
|
||||
|
@ -380,8 +468,8 @@ def fetch_pr_files(outDir, inDir, prNumber):
|
|||
|
||||
if (pr["state"] != "open"):
|
||||
# Closed PR, remove respective files from folder
|
||||
print("PR %s is closed" % prNumber)
|
||||
else:
|
||||
return print("PR %s is closed" % prNumber)
|
||||
|
||||
files = requests.get("https://api.github.com/repos/tc39/test262/pulls/%s/files" % prNumber)
|
||||
files.raise_for_status()
|
||||
|
||||
|
@ -403,52 +491,24 @@ def fetch_pr_files(outDir, inDir, prNumber):
|
|||
|
||||
fileText = contents.text
|
||||
|
||||
# Prefix the PRs tests dir with test/ so files are processed as Test262 files
|
||||
prsTestsDir = "test/prs/%s" % prNumber
|
||||
filePathDirs = os.path.join(inDir, prsTestsDir, *filename.split("/")[1:-1])
|
||||
filePathDirs = os.path.join(inDir, *filename.split("/")[:-1])
|
||||
|
||||
if not os.path.isdir(filePathDirs):
|
||||
os.makedirs(filePathDirs)
|
||||
|
||||
filenameInDir = os.path.join(inDir, prsTestsDir, *filename.split("/")[1:])
|
||||
|
||||
with io.open(filenameInDir, "wb") as output_file:
|
||||
with io.open(os.path.join(inDir, *filename.split("/")), "wb") as output_file:
|
||||
output_file.write(fileText.encode('utf8'))
|
||||
|
||||
def update_test262(args):
|
||||
process_test262(inDir, prTestsOutDir, strictTests)
|
||||
|
||||
def general_update(inDir, outDir, strictTests):
|
||||
import subprocess
|
||||
|
||||
url = args.url
|
||||
branch = args.branch
|
||||
revision = args.revision
|
||||
outDir = args.out
|
||||
prNumber = args.pull
|
||||
|
||||
if not os.path.isabs(outDir):
|
||||
outDir = os.path.join(os.getcwd(), outDir)
|
||||
|
||||
strictTests = args.strict
|
||||
restoreLocalTestsDir = False
|
||||
restorePrsTestsDir = False
|
||||
localTestsOutDir = os.path.join(outDir, "local")
|
||||
prsTestsOutDir = os.path.join(outDir, "prs")
|
||||
|
||||
# Download the requested branch in a temporary directory.
|
||||
with TemporaryDirectory() as inDir:
|
||||
restoreLocalTestsDir = False
|
||||
restorePrsTestsDir = False
|
||||
|
||||
if revision == "HEAD":
|
||||
subprocess.check_call(["git", "clone", "--depth=1", "--branch=%s" % branch, url, inDir])
|
||||
else:
|
||||
subprocess.check_call(["git", "clone", "--single-branch", "--branch=%s" % branch, url, inDir])
|
||||
subprocess.check_call(["git", "-C", inDir, "reset", "--hard", revision])
|
||||
|
||||
# If a PR number is provided, fetches only the new and modified files from that PR.
|
||||
# It also creates a new folder for that PR or replaces if it already exists, without
|
||||
# updating the regular Test262 tests.
|
||||
if prNumber:
|
||||
fetch_pr_files(prsTestsOutDir, inDir, prNumber)
|
||||
# Without a specific PR, follows through a regular copy.
|
||||
else:
|
||||
# Stash test262/local and test262/prs. Currently the Test262 repo does not have any
|
||||
# top-level subdirectories named "local" or "prs".
|
||||
# This prevents these folders from being removed during the update process.
|
||||
|
@ -483,6 +543,42 @@ def update_test262(args):
|
|||
if restorePrsTestsDir:
|
||||
shutil.move(os.path.join(inDir, "prs"), outDir)
|
||||
|
||||
def update_test262(args):
|
||||
import subprocess
|
||||
|
||||
url = args.url
|
||||
branch = args.branch
|
||||
revision = args.revision
|
||||
outDir = args.out
|
||||
prNumber = args.pull
|
||||
srcDir = args.local
|
||||
|
||||
if not os.path.isabs(outDir):
|
||||
outDir = os.path.join(os.getcwd(), outDir)
|
||||
|
||||
strictTests = args.strict
|
||||
|
||||
# Download the requested branch in a temporary directory.
|
||||
with TemporaryDirectory() as inDir:
|
||||
# If it's a local import, skip the git clone parts.
|
||||
if srcDir:
|
||||
return fetch_local_changes(inDir, outDir, srcDir, strictTests)
|
||||
|
||||
if revision == "HEAD":
|
||||
subprocess.check_call(["git", "clone", "--depth=1", "--branch=%s" % branch, url, inDir])
|
||||
else:
|
||||
subprocess.check_call(["git", "clone", "--single-branch", "--branch=%s" % branch, url, inDir])
|
||||
subprocess.check_call(["git", "-C", inDir, "reset", "--hard", revision])
|
||||
|
||||
# If a PR number is provided, fetches only the new and modified files
|
||||
# from that PR. It also creates a new folder for that PR or replaces if
|
||||
# it already exists, without updating the regular Test262 tests.
|
||||
if prNumber:
|
||||
return fetch_pr_files(inDir, outDir, prNumber, strictTests)
|
||||
|
||||
# Without a PR or a local import, follows through a regular copy.
|
||||
general_update(inDir, outDir, strictTests)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import argparse
|
||||
|
||||
|
|
|
@ -10715,6 +10715,15 @@ nsIFrame::AddSizeOfExcludingThisForTree(nsWindowSizes& aSizes) const
|
|||
sc->AddSizeOfIncludingThis(aSizes,
|
||||
&aSizes.mLayoutComputedValuesNonDom);
|
||||
}
|
||||
|
||||
// And our additional style contexts.
|
||||
int32_t index = 0;
|
||||
while (auto* extra = GetAdditionalStyleContext(index++)) {
|
||||
if (!aSizes.mState.HaveSeenPtr(extra)) {
|
||||
extra->AsServo()->AddSizeOfIncludingThis(aSizes,
|
||||
&aSizes.mLayoutComputedValuesNonDom);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FrameChildListIterator iter(this);
|
||||
|
|
|
@ -136,8 +136,6 @@ SERVO_BINDING_FUNC(Servo_SelectorList_Parse,
|
|||
const nsACString* selector_list)
|
||||
SERVO_BINDING_FUNC(Servo_SelectorList_Matches, bool,
|
||||
RawGeckoElementBorrowed, RawServoSelectorListBorrowed)
|
||||
SERVO_BINDING_FUNC(Servo_SelectorList_Closest, RawGeckoElementBorrowedOrNull,
|
||||
RawGeckoElementBorrowed, RawServoSelectorListBorrowed)
|
||||
SERVO_BINDING_FUNC(Servo_StyleSet_AddSizeOfExcludingThis, void,
|
||||
mozilla::MallocSizeOf malloc_size_of,
|
||||
mozilla::MallocSizeOf malloc_enclosing_size_of,
|
||||
|
|
|
@ -79,7 +79,7 @@ DIRS += [
|
|||
'third_party/python',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] or not CONFIG['MOZ_BUILD_APP']:
|
||||
# These python manifests are included here so they get picked up without an objdir
|
||||
PYTHON_UNITTEST_MANIFESTS += [
|
||||
'layout/tools/reftest/selftest/python.ini',
|
||||
|
|
|
@ -1158,4 +1158,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1516383825734000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1516429901251000);
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
0day.su: could not connect to host
|
||||
0i0.nl: could not connect to host
|
||||
125m125.de: could not connect to host
|
||||
174.net.nz: could not connect to host
|
||||
300mbmovie24.com: could not connect to host
|
||||
360live.fr: could not connect to host
|
||||
47tech.com: could not connect to host
|
||||
4d2.xyz: could not connect to host
|
||||
4loc.us: could not connect to host
|
||||
4winds.pt: could not connect to host
|
||||
4x4.lk: could not connect to host
|
||||
68277.me: could not connect to host
|
||||
724go.com: could not connect to host
|
||||
|
@ -25,8 +23,10 @@ agowa338.de: could not connect to host
|
|||
aivd.lol: could not connect to host
|
||||
akoww.de: could not connect to host
|
||||
akul.co.in: could not connect to host
|
||||
alexmol.tk: could not connect to host
|
||||
alrait.com: could not connect to host
|
||||
altahrim.net: could not connect to host
|
||||
ameho.me: could not connect to host
|
||||
amua.fr: could not connect to host
|
||||
anoneko.com: could not connect to host
|
||||
arent.kz: could not connect to host
|
||||
|
@ -35,12 +35,15 @@ artisense.de: could not connect to host
|
|||
askmagicconch.com: could not connect to host
|
||||
assdecoeur.org: could not connect to host
|
||||
astral.gq: could not connect to host
|
||||
autostop-occasions.be: could not connect to host
|
||||
avi9526.pp.ua: could not connect to host
|
||||
aviv.nyc: could not connect to host
|
||||
awan.tech: could not connect to host
|
||||
azabani.com: could not connect to host
|
||||
baitulongbaycruises.com: could not connect to host
|
||||
balonmano.co: could not connect to host
|
||||
bbdos.ru: could not connect to host
|
||||
beasel.biz: could not connect to host
|
||||
beijinglug.club: could not connect to host
|
||||
bencorby.com: could not connect to host
|
||||
benjamin-horvath.com: could not connect to host
|
||||
|
@ -48,13 +51,11 @@ berna.fr: could not connect to host
|
|||
binkconsulting.be: could not connect to host
|
||||
bip.gov.sa: could not connect to host
|
||||
black-khat.com: could not connect to host
|
||||
blockified.io: could not connect to host
|
||||
blumen-garage.de: could not connect to host
|
||||
blumiges-fischbachtal.de: could not connect to host
|
||||
bodrumfarm.com: could not connect to host
|
||||
bowlsheet.com: could not connect to host
|
||||
brettabel.com: could not connect to host
|
||||
brio-ukraine.store: could not connect to host
|
||||
businessfurs.info: could not connect to host
|
||||
buyshoe.org: could not connect to host
|
||||
by1898.com: could not connect to host
|
||||
|
@ -62,9 +63,14 @@ cais.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FA
|
|||
cake-time.co.uk: could not connect to host
|
||||
calculatoaresecondhand.xyz: could not connect to host
|
||||
callabs.net: could not connect to host
|
||||
cannarobotics.com: could not connect to host
|
||||
capekeen.com: could not connect to host
|
||||
capellidipremoli.com: could not connect to host
|
||||
carloshmm.stream: could not connect to host
|
||||
casperpanel.com: could not connect to host
|
||||
catsmagic.pp.ua: could not connect to host
|
||||
cbdev.de: could not connect to host
|
||||
ceml.ch: could not connect to host
|
||||
charr.xyz: could not connect to host
|
||||
checkmateshoes.com: could not connect to host
|
||||
china-line.org: could not connect to host
|
||||
|
@ -74,8 +80,14 @@ christina-quast.de: could not connect to host
|
|||
chua.family: could not connect to host
|
||||
cielly.com: could not connect to host
|
||||
clearviewwealthprojector.com.au: could not connect to host
|
||||
closelinksecurity.co.uk: could not connect to host
|
||||
cloudbleed.info: could not connect to host
|
||||
cmacacias.ch: could not connect to host
|
||||
cmcressy.ch: could not connect to host
|
||||
cmlachapelle.ch: could not connect to host
|
||||
cmlancy.ch: could not connect to host
|
||||
cmlignon.ch: could not connect to host
|
||||
cmplainpalais.ch: could not connect to host
|
||||
cmpr.es: could not connect to host
|
||||
cnlic.com: could not connect to host
|
||||
coinmewallet.com: could not connect to host
|
||||
|
@ -89,9 +101,10 @@ criticalaim.com: could not connect to host
|
|||
cryptopartyutah.org: could not connect to host
|
||||
cselzer.com: could not connect to host
|
||||
csgo77.com: could not connect to host
|
||||
cybersecurity.nz: could not connect to host
|
||||
cyber-konzept.de: could not connect to host
|
||||
cypherpunk.ws: could not connect to host
|
||||
dahlberg.cologne: could not connect to host
|
||||
danielmoch.com: could not connect to host
|
||||
dataprotectionadvisors.com: could not connect to host
|
||||
datorb.com: could not connect to host
|
||||
dawnsonb.com: could not connect to host
|
||||
|
@ -104,15 +117,19 @@ derrickemery.com: could not connect to host
|
|||
dev-talk.eu: could not connect to host
|
||||
devops.moe: could not connect to host
|
||||
diagnocentro.cl: could not connect to host
|
||||
dianurse.com: could not connect to host
|
||||
dick.red: could not connect to host
|
||||
digioccumss.ddns.net: could not connect to host
|
||||
digitalcloud.ovh: could not connect to host
|
||||
dijks.com: could not connect to host
|
||||
dingcc.org: could not connect to host
|
||||
dingcc.xyz: could not connect to host
|
||||
disadattamentolavorativo.it: could not connect to host
|
||||
disco-crazy-world.de: could not connect to host
|
||||
dkravchenko.su: could not connect to host
|
||||
dlld.com: could not connect to host
|
||||
dotacni-parazit.cz: could not connect to host
|
||||
dredgepress.com: could not connect to host
|
||||
dreizwosechs.de: could not connect to host
|
||||
drkmtrx.xyz: could not connect to host
|
||||
duch.cloud: could not connect to host
|
||||
|
@ -122,6 +139,7 @@ dynts.pro: could not connect to host
|
|||
edit.yahoo.com: could not connect to host
|
||||
educatoys.com.br: could not connect to host
|
||||
eeb98.com: could not connect to host
|
||||
egg-ortho.ch: could not connect to host
|
||||
ehuber.info: could not connect to host
|
||||
endlessdiy.ca: could not connect to host
|
||||
erinaceinae.com: could not connect to host
|
||||
|
@ -130,8 +148,9 @@ eurostrategy.vn.ua: could not connect to host
|
|||
exceed.global: could not connect to host
|
||||
expatads.com: could not connect to host
|
||||
exploit.cz: could not connect to host
|
||||
familletouret.fr: could not connect to host
|
||||
farm24.co.uk: could not connect to host
|
||||
fcprovadia.com: could not connect to host
|
||||
felixhefner.de: could not connect to host
|
||||
filhomes.ph: could not connect to host
|
||||
firebaseio.com: could not connect to host
|
||||
firexarxa.de: could not connect to host
|
||||
|
@ -141,6 +160,7 @@ fixmyglitch.com: could not connect to host
|
|||
fossewayflowers.co.uk: could not connect to host
|
||||
fossewayflowers.com: could not connect to host
|
||||
foxmay.co.uk: could not connect to host
|
||||
franksiler.com: could not connect to host
|
||||
freaksites.dk: could not connect to host
|
||||
fsf.moe: could not connect to host
|
||||
fukuko.biz: could not connect to host
|
||||
|
@ -160,19 +180,19 @@ gchq.wtf: could not connect to host
|
|||
gdhzcgs.com: could not connect to host
|
||||
geeks.berlin: could not connect to host
|
||||
geneve.guide: could not connect to host
|
||||
get-refer.com: could not connect to host
|
||||
getwarden.net: could not connect to host
|
||||
gevaulug.fr: could not connect to host
|
||||
gfoss.gr: could not connect to host
|
||||
ggs.jp: could not connect to host
|
||||
ggx.us: could not connect to host
|
||||
globalgivingtime.com: could not connect to host
|
||||
gnom.me: could not connect to host
|
||||
google: could not connect to host
|
||||
gottfridsberg.org: could not connect to host
|
||||
gritte.net: could not connect to host
|
||||
gtdgo.com: could not connect to host
|
||||
gvt2.com: could not connect to host
|
||||
gvt3.com: could not connect to host
|
||||
h2cdn.cloud: could not connect to host
|
||||
heijblok.com: could not connect to host
|
||||
hejahanif.se: could not connect to host
|
||||
helsingfors.guide: could not connect to host
|
||||
|
@ -182,17 +202,21 @@ hm773.net: could not connect to host
|
|||
hoodoo.io: could not connect to host
|
||||
hoodoo.tech: could not connect to host
|
||||
hundter.com: could not connect to host
|
||||
ifengge.cn: could not connect to host
|
||||
ifengge.me: could not connect to host
|
||||
ifxnet.com: could not connect to host
|
||||
ilya.pp.ua: could not connect to host
|
||||
industreiler.com: could not connect to host
|
||||
industreiler.com.br: could not connect to host
|
||||
inexpensivecomputers.net: could not connect to host
|
||||
injust.eu.org: could not connect to host
|
||||
injust.me: could not connect to host
|
||||
installgentoo.net: could not connect to host
|
||||
invitescene.com: could not connect to host
|
||||
ipal.pl: could not connect to host
|
||||
ipv6.watch: could not connect to host
|
||||
iskai.net: could not connect to host
|
||||
islief.com: could not connect to host
|
||||
issuesofconcern.in: could not connect to host
|
||||
itochan.jp: could not connect to host
|
||||
ixio.cz: could not connect to host
|
||||
jaredfraser.com: could not connect to host
|
||||
javascriptlab.fr: could not connect to host
|
||||
|
@ -200,22 +224,20 @@ jcyz.cf: could not connect to host
|
|||
jeffreymagee.com: could not connect to host
|
||||
jhburton.co.uk: could not connect to host
|
||||
jie.dance: could not connect to host
|
||||
jigsawdevelopments.com: could not connect to host
|
||||
johnblackbourn.com: could not connect to host
|
||||
jonpads.com: could not connect to host
|
||||
just-pools.co.za: could not connect to host
|
||||
justmy.website: could not connect to host
|
||||
k-wallet.com: could not connect to host
|
||||
kabus.org: could not connect to host
|
||||
kamikaichimaru.com: could not connect to host
|
||||
kapo.info: could not connect to host
|
||||
karanlyons.com: could not connect to host
|
||||
kayleen.net: could not connect to host
|
||||
kenrogers.co: could not connect to host
|
||||
kenvix.com: could not connect to host
|
||||
kevinmeijer.nl: could not connect to host
|
||||
kieranweightman.me: could not connect to host
|
||||
kinepolis-studio.ga: could not connect to host
|
||||
kiraboshi.xyz: could not connect to host
|
||||
knownsec.cf: could not connect to host
|
||||
kollawat.me: could not connect to host
|
||||
kousaku.jp: could not connect to host
|
||||
|
@ -226,15 +248,18 @@ lachawoj.de: could not connect to host
|
|||
lathamlabs.com: could not connect to host
|
||||
lathamlabs.net: could not connect to host
|
||||
lathamlabs.org: could not connect to host
|
||||
latour-managedcare.ch: could not connect to host
|
||||
legitaxi.com: could not connect to host
|
||||
leninalbertop.com.ve: could not connect to host
|
||||
lezdomsm.com: could not connect to host
|
||||
lheinrich.org: could not connect to host
|
||||
linksanitizer.com: could not connect to host
|
||||
lisowski-photography.com: could not connect to host
|
||||
lissabon.guide: could not connect to host
|
||||
littleservice.cn: could not connect to host
|
||||
liukang.tech: could not connect to host
|
||||
livnev.me: could not connect to host
|
||||
loancompare.co.za: could not connect to host
|
||||
logcat.info: could not connect to host
|
||||
logimagine.com: could not connect to host
|
||||
lovelytimes.net: could not connect to host
|
||||
|
@ -243,9 +268,11 @@ luenwarneke.com: could not connect to host
|
|||
lunix.io: could not connect to host
|
||||
lustin.fr: could not connect to host
|
||||
lwl.moe: could not connect to host
|
||||
maartenterpstra.xyz: could not connect to host
|
||||
macedopesca.com.br: could not connect to host
|
||||
mail4geek.com: could not connect to host
|
||||
marjoleindens.be: could not connect to host
|
||||
markus-ullmann.de: could not connect to host
|
||||
martin-mattel.com: could not connect to host
|
||||
martinrogalla.com: could not connect to host
|
||||
mastd.me: could not connect to host
|
||||
|
@ -257,12 +284,14 @@ mchopkins.net: could not connect to host
|
|||
meanevo.com: could not connect to host
|
||||
metachris.com: could not connect to host
|
||||
mhjuma.com: could not connect to host
|
||||
minakov.pro: could not connect to host
|
||||
mingy.ddns.net: could not connect to host
|
||||
modded-minecraft-server-list.com: could not connect to host
|
||||
mosaique-lachenaie.fr: could not connect to host
|
||||
moskva.guide: could not connect to host
|
||||
mowalls.net: could not connect to host
|
||||
muguayuan.com: could not connect to host
|
||||
mrliu.me: could not connect to host
|
||||
muahahahaha.co.uk: could not connect to host
|
||||
muj-svet.cz: could not connect to host
|
||||
munduch.cz: could not connect to host
|
||||
narodsovety.ru: could not connect to host
|
||||
|
@ -270,11 +299,13 @@ navdeep.ca: could not connect to host
|
|||
ncdesigns-studio.com: could not connect to host
|
||||
nedcf.org.uk: could not connect to host
|
||||
negai.moe: could not connect to host
|
||||
netica.fr: could not connect to host
|
||||
nevolution.me: could not connect to host
|
||||
nikolasbradshaw.com: could not connect to host
|
||||
niva.synology.me: could not connect to host
|
||||
nkb.in.th: could not connect to host
|
||||
nnote.net: could not connect to host
|
||||
norrkemi.se: could not connect to host
|
||||
nostraspace.com: could not connect to host
|
||||
notesforpebble.com: could not connect to host
|
||||
nsa.lol: could not connect to host
|
||||
|
@ -292,7 +323,6 @@ oscsdp.cz: could not connect to host
|
|||
osterkraenzchen.de: could not connect to host
|
||||
oxygaming.com: could not connect to host
|
||||
oxymc.com: could not connect to host
|
||||
pandymic.com: could not connect to host
|
||||
paragon.edu: could not connect to host
|
||||
pascalchristen.ch: could not connect to host
|
||||
pbytes.com: could not connect to host
|
||||
|
@ -319,10 +349,10 @@ qoqo.us: could not connect to host
|
|||
qto.net: could not connect to host
|
||||
rainbin.com: could not connect to host
|
||||
real-compare.com: could not connect to host
|
||||
rebootmc.com: could not connect to host
|
||||
reignsphere.net: could not connect to host
|
||||
reinaertvandecruys.me: could not connect to host
|
||||
reykjavik.guide: could not connect to host
|
||||
rideaudiscount.com: could not connect to host
|
||||
rofrank.space: could not connect to host
|
||||
roguesignal.net: could not connect to host
|
||||
rolodato.com: could not connect to host
|
||||
|
@ -330,7 +360,6 @@ rubyist.today: could not connect to host
|
|||
s1mplescripts.de: could not connect to host
|
||||
saferedirectlink.com: could not connect to host
|
||||
sallysubs.com: could not connect to host
|
||||
salon-minipli.de: could not connect to host
|
||||
sanatrans.com: could not connect to host
|
||||
santojuken.co.jp: could not connect to host
|
||||
sarndipity.com: could not connect to host
|
||||
|
@ -338,6 +367,7 @@ scrumbleship.com: could not connect to host
|
|||
securitymap.wiki: could not connect to host
|
||||
sellmoretires.com: could not connect to host
|
||||
semantheme.fr: could not connect to host
|
||||
sgcaccounts.co.uk: could not connect to host
|
||||
shadowplus.net: could not connect to host
|
||||
shadowrocket.net: could not connect to host
|
||||
sharevari.com: could not connect to host
|
||||
|
@ -347,8 +377,8 @@ shirakaba-cc.com: could not connect to host
|
|||
shoemuse.com: could not connect to host
|
||||
shopifycloud.com: could not connect to host
|
||||
simbolo.co.uk: could not connect to host
|
||||
simnovo.net: could not connect to host
|
||||
simplerses.com: could not connect to host
|
||||
sistemy48.ru: could not connect to host
|
||||
sky-aroma.com: could not connect to host
|
||||
sl1pkn07.wtf: could not connect to host
|
||||
socialworkout.com: could not connect to host
|
||||
|
@ -367,6 +397,8 @@ spom.net: could not connect to host
|
|||
sputnik1net.org: could not connect to host
|
||||
sqzryang.com: could not connect to host
|
||||
sss3s.com: could not connect to host
|
||||
stamonicatourandtravel.com: could not connect to host
|
||||
statgram.me: could not connect to host
|
||||
stitthappens.com: could not connect to host
|
||||
stpip.com: could not connect to host
|
||||
stytt.com: could not connect to host
|
||||
|
@ -376,7 +408,7 @@ sviz.pro: could not connect to host
|
|||
tcpweb.net: could not connect to host
|
||||
tenispopular.com: could not connect to host
|
||||
terminalvelocity.co.nz: could not connect to host
|
||||
thelefthand.org: could not connect to host
|
||||
texasllcpros.com: could not connect to host
|
||||
theprivacysolution.com: could not connect to host
|
||||
thesehighsandlows.com: could not connect to host
|
||||
thinkcash.nl: could not connect to host
|
||||
|
@ -389,6 +421,7 @@ transcendmotor.sg: could not connect to host
|
|||
turn-sticks.com: could not connect to host
|
||||
tusb.ml: could not connect to host
|
||||
twiri.net: could not connect to host
|
||||
underskatten.tk: could not connect to host
|
||||
varta.io: could not connect to host
|
||||
vcelin-na-doliku.cz: could not connect to host
|
||||
venmos.com: could not connect to host
|
||||
|
@ -397,8 +430,7 @@ vilog.me: could not connect to host
|
|||
vitapingu.de: could not connect to host
|
||||
vmgirls.com: could not connect to host
|
||||
wachter.biz: could not connect to host
|
||||
warezaddict.com: could not connect to host
|
||||
warhaggis.com: could not connect to host
|
||||
warlions.info: could not connect to host
|
||||
watchweasel.com: could not connect to host
|
||||
weareincognito.org: could not connect to host
|
||||
web-wave.jp: could not connect to host
|
||||
|
@ -415,18 +447,20 @@ wipc.net: could not connect to host
|
|||
wm-talk.net: could not connect to host
|
||||
wnnc.co.uk: could not connect to host
|
||||
wolfemg.com: could not connect to host
|
||||
wonderbooks.club: could not connect to host
|
||||
wordpresspro.cl: could not connect to host
|
||||
wormdisk.net: could not connect to host
|
||||
wtf.ninja: could not connect to host
|
||||
www-68277.com: could not connect to host
|
||||
www-8887999.com: could not connect to host
|
||||
www.re: could not connect to host
|
||||
www.sb: could not connect to host
|
||||
www.simbolo.co.uk: could not connect to host
|
||||
wyzwaniemilosci.com: could not connect to host
|
||||
xa1.uk: could not connect to host
|
||||
xia100.xyz: could not connect to host
|
||||
xing.ml: could not connect to host
|
||||
xtremenutrition.com.br: could not connect to host
|
||||
yoitsu.moe: could not connect to host
|
||||
yux.fr: could not connect to host
|
||||
yveshield.com: could not connect to host
|
||||
zaoext.com: could not connect to host
|
||||
zenfusion.fr: could not connect to host
|
||||
zenghx.tk: could not connect to host
|
||||
|
@ -438,7 +472,7 @@ zzw.ca: could not connect to host
|
|||
0005aa.com: could not connect to host
|
||||
007sascha.de: did not receive HSTS header
|
||||
020wifi.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 119" data: no]
|
||||
0222aa.com: could not connect to host
|
||||
0222aa.com: did not receive HSTS header
|
||||
048.ag: could not connect to host
|
||||
050508.com: could not connect to host
|
||||
0f.io: could not connect to host
|
||||
|
@ -476,6 +510,7 @@ zzw.ca: could not connect to host
|
|||
1396.net: could not connect to host
|
||||
1536.cf: could not connect to host
|
||||
163pwd.com: could not connect to host
|
||||
1644091933.rsc.cdn77.org: did not receive HSTS header
|
||||
166166.com: could not connect to host
|
||||
16deza.com: did not receive HSTS header
|
||||
16packets.com: could not connect to host
|
||||
|
@ -515,6 +550,7 @@ zzw.ca: could not connect to host
|
|||
2ss.jp: could not connect to host
|
||||
300651.ru: did not receive HSTS header
|
||||
300m.com: did not receive HSTS header
|
||||
300mbmovie24.com: did not receive HSTS header
|
||||
300mbmovies4u.cc: could not connect to host
|
||||
301.website: could not connect to host
|
||||
302.nyc: could not connect to host
|
||||
|
@ -558,7 +594,7 @@ zzw.ca: could not connect to host
|
|||
4w-performers.link: could not connect to host
|
||||
50millionablaze.org: could not connect to host
|
||||
513vpn.net: did not receive HSTS header
|
||||
517vpn.cn: could not connect to host
|
||||
517vpn.cn: did not receive HSTS header
|
||||
540.co: did not receive HSTS header
|
||||
54bf.com: could not connect to host
|
||||
55558522.com: could not connect to host
|
||||
|
@ -629,9 +665,9 @@ a1-autopartsglasgow.com: did not receive HSTS header
|
|||
a3workshop.swiss: could not connect to host
|
||||
a9c.co: could not connect to host
|
||||
aa7733.com: could not connect to host
|
||||
aaeblog.com: could not connect to host
|
||||
aaeblog.net: could not connect to host
|
||||
aaeblog.org: could not connect to host
|
||||
aaeblog.com: did not receive HSTS header
|
||||
aaeblog.net: did not receive HSTS header
|
||||
aaeblog.org: did not receive HSTS header
|
||||
aaoo.net: could not connect to host
|
||||
aapp.space: could not connect to host
|
||||
aaron-gustafson.com: did not receive HSTS header
|
||||
|
@ -900,7 +936,6 @@ andrewmichaud.me: could not connect to host
|
|||
andrewregan.me: could not connect to host
|
||||
andrewx.net: could not connect to host
|
||||
andreypopp.com: could not connect to host
|
||||
andro4all.com: did not receive HSTS header
|
||||
androidprosmart.com: could not connect to host
|
||||
androoz.se: could not connect to host
|
||||
andyclark.io: could not connect to host
|
||||
|
@ -909,7 +944,7 @@ anfsanchezo.co: could not connect to host
|
|||
anfsanchezo.me: could not connect to host
|
||||
angeloroberto.ch: did not receive HSTS header
|
||||
anghami.com: did not receive HSTS header
|
||||
anglesya.win: did not receive HSTS header
|
||||
anglesya.win: could not connect to host
|
||||
anglictinatabor.cz: could not connect to host
|
||||
angryroute.com: could not connect to host
|
||||
anime1video.tk: could not connect to host
|
||||
|
@ -961,13 +996,14 @@ apachelounge.com: did not receive HSTS header
|
|||
apaginastore.com.br: did not receive HSTS header
|
||||
apeasternpower.com: could not connect to host
|
||||
api.mega.co.nz: could not connect to host
|
||||
apiary.shop: did not receive HSTS header
|
||||
apibot.de: could not connect to host
|
||||
apis.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
apis.world: could not connect to host
|
||||
apm.com.tw: did not receive HSTS header
|
||||
apmg-certified.com: did not receive HSTS header
|
||||
apmg-cyber.com: did not receive HSTS header
|
||||
apnakliyat.com: could not connect to host
|
||||
apnakliyat.com: did not receive HSTS header
|
||||
apolloyl.com: could not connect to host
|
||||
aponkral.site: could not connect to host
|
||||
aponkralsunucu.com: could not connect to host
|
||||
|
@ -987,6 +1023,7 @@ approlys.fr: did not receive HSTS header
|
|||
apps-for-fishing.com: could not connect to host
|
||||
appsbystudio.co.uk: did not receive HSTS header
|
||||
appsdash.io: could not connect to host
|
||||
appuro.com: did not receive HSTS header
|
||||
aquariumaccessories.shop: did not receive HSTS header
|
||||
aquilalab.com: could not connect to host
|
||||
arabdigitalexpression.org: did not receive HSTS header
|
||||
|
@ -1362,6 +1399,7 @@ bitwrought.net: could not connect to host
|
|||
bivsi.com: could not connect to host
|
||||
bizcms.com: did not receive HSTS header
|
||||
bizon.sk: did not receive HSTS header
|
||||
bjs.gov: did not receive HSTS header
|
||||
bkb-skandal.ch: could not connect to host
|
||||
black-armada.com: could not connect to host
|
||||
black-armada.com.pl: could not connect to host
|
||||
|
@ -1670,7 +1708,7 @@ catalin.pw: could not connect to host
|
|||
catarsisvr.com: could not connect to host
|
||||
catinmay.com: did not receive HSTS header
|
||||
catnapstudios.com: could not connect to host
|
||||
cavaleria.ro: did not receive HSTS header
|
||||
cavaleria.ro: could not connect to host
|
||||
caveclan.org: did not receive HSTS header
|
||||
cavedevs.de: could not connect to host
|
||||
cavedroid.xyz: could not connect to host
|
||||
|
@ -1845,7 +1883,6 @@ cloudimproved.com: could not connect to host
|
|||
cloudimprovedtest.com: could not connect to host
|
||||
cloudlink.club: could not connect to host
|
||||
cloudns.com.au: could not connect to host
|
||||
cloudopt.net: did not receive HSTS header
|
||||
clouds.webcam: could not connect to host
|
||||
cloudspotterapp.com: did not receive HSTS header
|
||||
cloudstoragemaus.com: could not connect to host
|
||||
|
@ -2023,7 +2060,6 @@ creaescola.com: did not receive HSTS header
|
|||
create-test-publish.co.uk: could not connect to host
|
||||
creativephysics.ml: could not connect to host
|
||||
creativeplayuk.com: did not receive HSTS header
|
||||
creativeweb.biz: max-age too low: 0
|
||||
crecket.me: could not connect to host
|
||||
crendontech.com: could not connect to host
|
||||
crestoncottage.com: could not connect to host
|
||||
|
@ -2210,7 +2246,6 @@ dcuofriends.net: could not connect to host
|
|||
dcurt.is: did not receive HSTS header
|
||||
dcw.io: did not receive HSTS header
|
||||
ddatsh.com: did not receive HSTS header
|
||||
ddepot.us: did not receive HSTS header
|
||||
debank.tv: did not receive HSTS header
|
||||
debatch.se: could not connect to host
|
||||
debian-vhost.de: did not receive HSTS header
|
||||
|
@ -2222,6 +2257,7 @@ decesus.com: could not connect to host
|
|||
decibelios.li: could not connect to host
|
||||
decloverly.com: did not receive HSTS header
|
||||
deco.me: could not connect to host
|
||||
decoratrix.com: did not receive HSTS header
|
||||
dedicatutiempo.es: could not connect to host
|
||||
deepcovelabs.net: could not connect to host
|
||||
deepearth.uk: could not connect to host
|
||||
|
@ -2239,11 +2275,11 @@ deinserverhost.de: did not receive HSTS header
|
|||
dekasan.ru: could not connect to host
|
||||
delayrefunds.co.uk: could not connect to host
|
||||
deliverance.co.uk: could not connect to host
|
||||
delta-data.ch: did not receive HSTS header
|
||||
delta-smart.ch: did not receive HSTS header
|
||||
delta-data.ch: could not connect to host
|
||||
delta-smart.ch: could not connect to host
|
||||
deltaconcepts.de: did not receive HSTS header
|
||||
deltadata.ch: could not connect to host
|
||||
deltasmart.ch: did not receive HSTS header
|
||||
deltasmart.ch: could not connect to host
|
||||
delvj.org: could not connect to host
|
||||
demdis.org: could not connect to host
|
||||
demilitarized.ninja: could not connect to host
|
||||
|
@ -2479,7 +2515,7 @@ dubik.su: did not receive HSTS header
|
|||
duelysthub.com: could not connect to host
|
||||
duerls.de: did not receive HSTS header
|
||||
dukec.me: could not connect to host
|
||||
dullsir.com: did not receive HSTS header
|
||||
dullsir.com: could not connect to host
|
||||
dungi.org: could not connect to host
|
||||
duongpho.com: did not receive HSTS header
|
||||
duskopy.top: could not connect to host
|
||||
|
@ -2632,6 +2668,7 @@ emanatepixels.com: could not connect to host
|
|||
emanga.su: did not receive HSTS header
|
||||
embroidered-stuff.com: could not connect to host
|
||||
emeldi-commerce.com: max-age too low: 0
|
||||
emesolutions.net: did not receive HSTS header
|
||||
emiele.com.br: did not receive HSTS header
|
||||
emilyhorsman.com: did not receive HSTS header
|
||||
eminovic.me: could not connect to host
|
||||
|
@ -2828,6 +2865,7 @@ fadilus.com: did not receive HSTS header
|
|||
faesser.com: did not receive HSTS header
|
||||
fail4free.de: did not receive HSTS header
|
||||
failproof.be: max-age too low: 604800
|
||||
fairedeseconomies.info: did not receive HSTS header
|
||||
fairkey.dk: did not receive HSTS header
|
||||
fairlyoddtreasures.com: did not receive HSTS header
|
||||
faizan.xyz: did not receive HSTS header
|
||||
|
@ -2972,6 +3010,7 @@ flukethoughts.com: could not connect to host
|
|||
flurrybridge.com: did not receive HSTS header
|
||||
flushstudios.com: did not receive HSTS header
|
||||
flyaces.com: could not connect to host
|
||||
flyspace.ml: did not receive HSTS header
|
||||
fm83.nl: could not connect to host
|
||||
fmi.gov: did not receive HSTS header
|
||||
fnvsecurity.com: could not connect to host
|
||||
|
@ -3306,6 +3345,7 @@ gorillow.com: could not connect to host
|
|||
goshop.cz: did not receive HSTS header
|
||||
gotgenes.com: could not connect to host
|
||||
goto.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
goto.msk.ru: did not receive HSTS header
|
||||
gotocloud.ru: did not receive HSTS header
|
||||
gotowned.org: max-age too low: 0
|
||||
gotspot.com: could not connect to host
|
||||
|
@ -3508,7 +3548,7 @@ haurumcraft.net: could not connect to host
|
|||
hausarzt-stader-str.de: did not receive HSTS header
|
||||
haveeruexaminer.com: could not connect to host
|
||||
havenmoon.com: could not connect to host
|
||||
havenswift-hosting.co.uk: did not receive HSTS header
|
||||
havenswift-hosting.co.uk: could not connect to host
|
||||
hawthornharpist.com: could not connect to host
|
||||
haxoff.com: could not connect to host
|
||||
haxon.me: could not connect to host
|
||||
|
@ -3736,7 +3776,7 @@ id-conf.com: did not receive HSTS header
|
|||
ideal-envelopes.co.uk: did not receive HSTS header
|
||||
idealmoto.com: did not receive HSTS header
|
||||
idealmykonos.com: did not receive HSTS header
|
||||
ideaman924.com: did not receive HSTS header
|
||||
ideaman924.com: could not connect to host
|
||||
ideaplus.me: could not connect to host
|
||||
ideasmeetingpoint.com: could not connect to host
|
||||
ideation-inc.co.jp: could not connect to host
|
||||
|
@ -4038,7 +4078,7 @@ jartza.org: could not connect to host
|
|||
jasmineconseil.com: did not receive HSTS header
|
||||
jasoncosper.com: did not receive HSTS header
|
||||
jasonroe.me: did not receive HSTS header
|
||||
jasperespejo.com: did not receive HSTS header
|
||||
jasperespejo.com: could not connect to host
|
||||
jastoria.pl: could not connect to host
|
||||
jav-collective.com: could not connect to host
|
||||
java-board.com: could not connect to host
|
||||
|
@ -4132,7 +4172,6 @@ jonn.me: could not connect to host
|
|||
jonnichols.info: did not receive HSTS header
|
||||
jonsno.ws: could not connect to host
|
||||
joostbovee.nl: did not receive HSTS header
|
||||
jordanhamilton.me: could not connect to host
|
||||
jordanstrustcompany.cn: could not connect to host
|
||||
jordanstrustcompany.ru: could not connect to host
|
||||
joretapo.fr: could not connect to host
|
||||
|
@ -4159,7 +4198,6 @@ jsg-technologies.de: did not receive HSTS header
|
|||
jualautoclave.com: did not receive HSTS header
|
||||
jualssh.com: could not connect to host
|
||||
juandesouza.com: did not receive HSTS header
|
||||
juka.pp.ua: did not receive HSTS header
|
||||
juku-info.top: could not connect to host
|
||||
juku-wing.jp: could not connect to host
|
||||
juliamweber.de: could not connect to host
|
||||
|
@ -4391,7 +4429,7 @@ ksfh-mail.de: could not connect to host
|
|||
kstan.me: could not connect to host
|
||||
kswriter.com: could not connect to host
|
||||
kuba.guide: could not connect to host
|
||||
kucom.it: did not receive HSTS header
|
||||
kucom.it: could not connect to host
|
||||
kuechenplan.online: did not receive HSTS header
|
||||
kueulangtahunanak.net: could not connect to host
|
||||
kum.com: could not connect to host
|
||||
|
@ -4461,7 +4499,7 @@ langhun.me: did not receive HSTS header
|
|||
laniakean.com: did not receive HSTS header
|
||||
lanzainc.xyz: did not receive HSTS header
|
||||
laobox.fr: could not connect to host
|
||||
laospage.com: could not connect to host
|
||||
laospage.com: max-age too low: 2592000
|
||||
laplaceduvillage.net: could not connect to host
|
||||
laplanetebleue.com: did not receive HSTS header
|
||||
laquack.com: could not connect to host
|
||||
|
@ -4806,7 +4844,7 @@ manageforall.com: could not connect to host
|
|||
manageforall.de: could not connect to host
|
||||
managemynetsuite.com: did not receive HSTS header
|
||||
manageprojects.com: did not receive HSTS header
|
||||
manantial.mx: could not connect to host
|
||||
manantial.mx: did not receive HSTS header
|
||||
mandpress.com: did not receive HSTS header
|
||||
maniadeprazer.com.br: could not connect to host
|
||||
manifestbin.com: did not receive HSTS header
|
||||
|
@ -4921,6 +4959,7 @@ mclab.su: could not connect to host
|
|||
mclist.it: could not connect to host
|
||||
mclyr.com: max-age too low: 7776000
|
||||
mcooperlaw.com: did not receive HSTS header
|
||||
md5hashing.net: did not receive HSTS header
|
||||
mdfnet.se: did not receive HSTS header
|
||||
mdkr.nl: did not receive HSTS header
|
||||
mdscomp.net: did not receive HSTS header
|
||||
|
@ -5347,6 +5386,7 @@ nanokamo.com: did not receive HSTS header
|
|||
nanrenba.net: could not connect to host
|
||||
nansay.cn: could not connect to host
|
||||
nanto.eu: could not connect to host
|
||||
narada.com.ua: did not receive HSTS header
|
||||
narodniki.com: did not receive HSTS header
|
||||
nashira.cz: did not receive HSTS header
|
||||
nasralmabrooka.com: did not receive HSTS header
|
||||
|
@ -5449,7 +5489,7 @@ ni.search.yahoo.com: did not receive HSTS header
|
|||
niagarafalls.ca: did not receive HSTS header
|
||||
nibiisclaim.com: could not connect to host
|
||||
nicestresser.fr: could not connect to host
|
||||
nicic.gov: did not receive HSTS header
|
||||
nicic.gov: could not connect to host
|
||||
nicky.io: did not receive HSTS header
|
||||
nicoborghuis.nl: could not connect to host
|
||||
nicolasbettag.me: did not receive HSTS header
|
||||
|
@ -5496,6 +5536,7 @@ nolimitsbook.de: did not receive HSTS header
|
|||
nolte.work: could not connect to host
|
||||
nomorebytes.de: could not connect to host
|
||||
noodlesandwich.com: did not receive HSTS header
|
||||
nootropicsource.com: did not receive HSTS header
|
||||
nope.website: could not connect to host
|
||||
nopex.no: could not connect to host
|
||||
nopol.de: could not connect to host
|
||||
|
@ -5513,7 +5554,7 @@ nothing.net.nz: max-age too low: 7776000
|
|||
nothing.org.uk: did not receive HSTS header
|
||||
noticia.do: did not receive HSTS header
|
||||
notjustbitchy.com: did not receive HSTS header
|
||||
nottheonion.net: could not connect to host
|
||||
nottheonion.net: did not receive HSTS header
|
||||
nou.si: could not connect to host
|
||||
nouvelle-vague-saint-cast.fr: did not receive HSTS header
|
||||
nova-elearning.com: did not receive HSTS header
|
||||
|
@ -5691,7 +5732,6 @@ open-mx.de: could not connect to host
|
|||
open-to-repair.fr: did not receive HSTS header
|
||||
openas.org: could not connect to host
|
||||
opendesk.cc: did not receive HSTS header
|
||||
openfitapi-falke.azurewebsites.net: did not receive HSTS header
|
||||
opengateway.fr: did not receive HSTS header
|
||||
openmind-shop.de: did not receive HSTS header
|
||||
openmtbmap.org: did not receive HSTS header
|
||||
|
@ -5726,6 +5766,7 @@ originpc.com: did not receive HSTS header
|
|||
orion-universe.com: did not receive HSTS header
|
||||
orioncustompcs.com: could not connect to host
|
||||
orionfcu.com: did not receive HSTS header
|
||||
oriongames.eu: did not receive HSTS header
|
||||
orionrebellion.com: could not connect to host
|
||||
orleika.ml: could not connect to host
|
||||
oroweatorganic.com: could not connect to host
|
||||
|
@ -5803,7 +5844,7 @@ panamaequity.com: did not receive HSTS header
|
|||
panamateakforestry.com: did not receive HSTS header
|
||||
panelomix.net: did not receive HSTS header
|
||||
panni.me: could not connect to host
|
||||
panoranordic.net: could not connect to host
|
||||
panoranordic.net: did not receive HSTS header
|
||||
pansu.space: could not connect to host
|
||||
pants-off.xyz: could not connect to host
|
||||
pantsu.cat: did not receive HSTS header
|
||||
|
@ -6088,7 +6129,7 @@ povitria.net: could not connect to host
|
|||
powdersnow.top: could not connect to host
|
||||
power-l.ch: did not receive HSTS header
|
||||
power-of-interest.com: could not connect to host
|
||||
power99press.com: could not connect to host
|
||||
power99press.com: did not receive HSTS header
|
||||
poweroff.win: could not connect to host
|
||||
powerplannerapp.com: did not receive HSTS header
|
||||
powershift.ne.jp: did not receive HSTS header
|
||||
|
@ -6299,7 +6340,6 @@ rannseier.org: did not receive HSTS header
|
|||
rany.duckdns.org: could not connect to host
|
||||
rany.io: could not connect to host
|
||||
rany.pw: could not connect to host
|
||||
rapido.nu: did not receive HSTS header
|
||||
rapidresearch.me: could not connect to host
|
||||
rapidthunder.io: could not connect to host
|
||||
rasing.me: did not receive HSTS header
|
||||
|
@ -6347,6 +6387,7 @@ realraghavgupta.com: could not connect to host
|
|||
reaper.rip: could not connect to host
|
||||
reardenporn.com: could not connect to host
|
||||
rebekaesgabor.online: could not connect to host
|
||||
rebootmc.com: did not receive HSTS header
|
||||
recommended.reviews: could not connect to host
|
||||
redar.xyz: could not connect to host
|
||||
reddit.com: did not receive HSTS header
|
||||
|
@ -6612,7 +6653,7 @@ sarahsweetlife.com: could not connect to host
|
|||
sarahsweger.com: could not connect to host
|
||||
sarakas.com: could not connect to host
|
||||
sarangsemutbandung.com: could not connect to host
|
||||
sarisonproductions.com: could not connect to host
|
||||
sarisonproductions.com: did not receive HSTS header
|
||||
saruwebshop.co.za: could not connect to host
|
||||
satanichia.moe: could not connect to host
|
||||
satmep.com: did not receive HSTS header
|
||||
|
@ -6638,6 +6679,7 @@ sbox-archives.com: could not connect to host
|
|||
sby.de: did not receive HSTS header
|
||||
sc4le.com: could not connect to host
|
||||
scannabi.com: could not connect to host
|
||||
schachburg.de: did not receive HSTS header
|
||||
schadegarant.net: could not connect to host
|
||||
schauer.so: could not connect to host
|
||||
schermreparatierotterdam.nl: did not receive HSTS header
|
||||
|
@ -6859,7 +6901,6 @@ shv25.se: could not connect to host
|
|||
shwongacc.com: could not connect to host
|
||||
shypp.it: could not connect to host
|
||||
shyrydan.es: could not connect to host
|
||||
si.to: could not connect to host
|
||||
siammedia.co: could not connect to host
|
||||
sianimacion.com: could not connect to host
|
||||
sichere-kartenakzeptanz.de: could not connect to host
|
||||
|
@ -6940,6 +6981,7 @@ slashdesign.it: did not receive HSTS header
|
|||
slashem.me: did not receive HSTS header
|
||||
slattery.co: could not connect to host
|
||||
slauber.de: did not receive HSTS header
|
||||
sleeklounge.com: did not receive HSTS header
|
||||
sleep10.com: could not connect to host
|
||||
slicketl.com: did not receive HSTS header
|
||||
slightfuture.click: could not connect to host
|
||||
|
@ -7135,6 +7177,8 @@ stassi.ch: did not receive HSTS header
|
|||
state-sponsored-actors.net: could not connect to host
|
||||
statementinsertsforless.com: did not receive HSTS header
|
||||
stateofexception.io: could not connect to host
|
||||
static-myfxee-808795.c.cdn77.org: did not receive HSTS header
|
||||
static-myfxouk-808795.c.cdn77.org: did not receive HSTS header
|
||||
static.or.at: did not receive HSTS header
|
||||
staticanime.net: could not connect to host
|
||||
stationaryjourney.com: did not receive HSTS header
|
||||
|
@ -7255,6 +7299,7 @@ supersecurefancydomain.com: could not connect to host
|
|||
supertramp-dafonseca.com: did not receive HSTS header
|
||||
superuser.fi: could not connect to host
|
||||
superwally.org: could not connect to host
|
||||
supes.io: did not receive HSTS header
|
||||
support4server.de: did not receive HSTS header
|
||||
suprlink.net: could not connect to host
|
||||
supweb.ovh: did not receive HSTS header
|
||||
|
@ -7269,6 +7314,7 @@ svenluijten.com: did not receive HSTS header
|
|||
svenskacasino.com: did not receive HSTS header
|
||||
svenskaservern.se: did not receive HSTS header
|
||||
svetjakonadlani.cz: did not receive HSTS header
|
||||
svjvn.cz: did not receive HSTS header
|
||||
swaleacademiestrust.org.uk: max-age too low: 2592000
|
||||
swdatlantico.pt: could not connect to host
|
||||
sweetair.com: did not receive HSTS header
|
||||
|
@ -7383,7 +7429,6 @@ tdsbhack.ml: could not connect to host
|
|||
teachforcanada.ca: did not receive HSTS header
|
||||
tealdrones.com: did not receive HSTS header
|
||||
team-teasers.com: did not receive HSTS header
|
||||
teambakchod.com: did not receive HSTS header
|
||||
teamblueridge.org: could not connect to host
|
||||
teamhood.io: did not receive HSTS header
|
||||
teampoint.cz: could not connect to host
|
||||
|
@ -7463,7 +7508,7 @@ thanhthinhbui.com: did not receive HSTS header
|
|||
the-construct.com: could not connect to host
|
||||
the-delta.net.eu.org: could not connect to host
|
||||
the-sky-of-valkyries.com: could not connect to host
|
||||
theamateurs.net: could not connect to host
|
||||
theamateurs.net: did not receive HSTS header
|
||||
theamp.com: did not receive HSTS header
|
||||
theater.cf: could not connect to host
|
||||
thebasementguys.com: could not connect to host
|
||||
|
@ -7571,6 +7616,7 @@ ti.blog.br: could not connect to host
|
|||
tianxing.pro: could not connect to host
|
||||
tianxingvpn.pro: could not connect to host
|
||||
tibbitshall.ca: did not receive HSTS header
|
||||
ticketoplichting.nl: did not receive HSTS header
|
||||
tickopa.co.uk: could not connect to host
|
||||
tickreport.com: did not receive HSTS header
|
||||
ticktock.today: did not receive HSTS header
|
||||
|
@ -7742,7 +7788,7 @@ treeby.net: could not connect to host
|
|||
treeremovaljohannesburg.co.za: could not connect to host
|
||||
treino.blog.br: could not connect to host
|
||||
trell.co.in: did not receive HSTS header
|
||||
trendberry.ru: did not receive HSTS header
|
||||
trendberry.ru: could not connect to host
|
||||
trileg.net: could not connect to host
|
||||
trinityaffirmations.com: max-age too low: 0
|
||||
trinitycore.org: max-age too low: 2592000
|
||||
|
@ -7818,6 +7864,7 @@ twinkseason.org: could not connect to host
|
|||
twinkseason.xyz: could not connect to host
|
||||
twisata.com: did not receive HSTS header
|
||||
twist.party: could not connect to host
|
||||
twittelzie.nl: did not receive HSTS header
|
||||
twogo.com: did not receive HSTS header
|
||||
twolinepassbrewing.com: could not connect to host
|
||||
twolivelife.com: could not connect to host
|
||||
|
@ -7836,7 +7883,7 @@ tyskland.guide: could not connect to host
|
|||
tzappa.net: could not connect to host
|
||||
u-blox.com: max-age too low: 0
|
||||
u.nu: could not connect to host
|
||||
u5b.de: max-age too low: 3153
|
||||
u5b.de: could not connect to host
|
||||
ua.search.yahoo.com: did not receive HSTS header
|
||||
uadp.pw: did not receive HSTS header
|
||||
uber.com.au: did not receive HSTS header
|
||||
|
@ -8030,7 +8077,7 @@ vendigital.com: did not receive HSTS header
|
|||
venicecomputerrepair.com: did not receive HSTS header
|
||||
venixplays-stream.ml: could not connect to host
|
||||
vennet.fr: did not receive HSTS header
|
||||
venturepro.com: did not receive HSTS header
|
||||
venturepro.com: could not connect to host
|
||||
ventzke.com: did not receive HSTS header
|
||||
venzocrm.com: did not receive HSTS header
|
||||
verifikatorindonesia.com: could not connect to host
|
||||
|
@ -8082,6 +8129,7 @@ vipmusic.ga: could not connect to host
|
|||
vipnettikasinoklubi.com: could not connect to host
|
||||
viral8.jp: could not connect to host
|
||||
virginiacrimeanalysisnetwork.org: did not receive HSTS header
|
||||
virgopolymer.com: did not receive HSTS header
|
||||
virtualstrongbox.ca: did not receive HSTS header
|
||||
visanhigia.com: did not receive HSTS header
|
||||
viserproject.com: did not receive HSTS header
|
||||
|
@ -8177,6 +8225,7 @@ wapt.fr: did not receive HSTS header
|
|||
warandpeace.xyz: could not connect to host
|
||||
wardsegers.be: did not receive HSTS header
|
||||
warehost.de: did not receive HSTS header
|
||||
warhaggis.com: did not receive HSTS header
|
||||
warhistoryonline.com: max-age too low: 0
|
||||
warped.com: did not receive HSTS header
|
||||
warrencreative.com: did not receive HSTS header
|
||||
|
@ -8187,7 +8236,6 @@ waterforlife.net.au: did not receive HSTS header
|
|||
waterpoint.com.br: did not receive HSTS header
|
||||
watersportmarkt.net: did not receive HSTS header
|
||||
watsonhall.uk: could not connect to host
|
||||
wattechweb.com: did not receive HSTS header
|
||||
wave.is: could not connect to host
|
||||
wavefloatrooms.com: did not receive HSTS header
|
||||
wavefrontsystemstech.com: could not connect to host
|
||||
|
@ -8270,6 +8318,8 @@ wetttipps.com: did not receive HSTS header
|
|||
wetttipps.de: could not connect to host
|
||||
wevahoo.com: could not connect to host
|
||||
wevolver.com: did not receive HSTS header
|
||||
wewillgo.com: did not receive HSTS header
|
||||
wewillgo.org: did not receive HSTS header
|
||||
wewlad.me: could not connect to host
|
||||
wftda.com: did not receive HSTS header
|
||||
whatnext.limited: did not receive HSTS header
|
||||
|
@ -8349,7 +8399,7 @@ woording.com: could not connect to host
|
|||
wootton95.com: could not connect to host
|
||||
wooviet.com: could not connect to host
|
||||
word-grabber.com: did not receive HSTS header
|
||||
work-and-jockel.de: did not receive HSTS header
|
||||
work-and-jockel.de: could not connect to host
|
||||
workfone.io: did not receive HSTS header
|
||||
workpermit.com.vn: could not connect to host
|
||||
worldlist.org: could not connect to host
|
||||
|
@ -8502,6 +8552,7 @@ xn--mgbbh2a9fub.xn--ngbc5azd: could not connect to host
|
|||
xn--milchaufschumer-test-lzb.de: could not connect to host
|
||||
xn--neb-tma3u8u.xyz: could not connect to host
|
||||
xn--qckqc0nxbyc4cdb4527err7c.biz: did not receive HSTS header
|
||||
xn--sdkwa9azd389v01ya.com: did not receive HSTS header
|
||||
xn--xdtx3pfzbiw3ar8e7yedqrhui.com: could not connect to host
|
||||
xn--yoamomisuasbcn-ynb.com: could not connect to host
|
||||
xn--zck9a4b352yuua.jp: did not receive HSTS header
|
||||
|
@ -8590,7 +8641,6 @@ ypiresia.fr: could not connect to host
|
|||
ytcuber.xyz: could not connect to host
|
||||
ytvwld.de: did not receive HSTS header
|
||||
yu7.jp: did not receive HSTS header
|
||||
yufan.me: did not receive HSTS header
|
||||
yugege.cf: could not connect to host
|
||||
yuhen.ru: did not receive HSTS header
|
||||
yukiminami.net: could not connect to host
|
||||
|
@ -8687,7 +8737,6 @@ zmy.im: did not receive HSTS header
|
|||
zocken.com: did not receive HSTS header
|
||||
zoe.vc: could not connect to host
|
||||
zohar.link: could not connect to host
|
||||
zolotoy-standart.com.ua: did not receive HSTS header
|
||||
zomiac.pp.ua: could not connect to host
|
||||
zoneminder.com: did not receive HSTS header
|
||||
zoners.si: could not connect to host
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
/*****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1518803015565000);
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1518849091134000);
|
||||
%%
|
||||
0.me.uk, 1
|
||||
00001.am, 1
|
||||
|
@ -130,7 +130,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1518803015565000);
|
|||
1590284872.rsc.cdn77.org, 1
|
||||
1600esplanade.com, 1
|
||||
16164f.com, 1
|
||||
1644091933.rsc.cdn77.org, 1
|
||||
174.net.nz, 1
|
||||
1750studios.com, 0
|
||||
17hats.com, 1
|
||||
|
@ -234,7 +233,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1518803015565000);
|
|||
2programmers.net, 1
|
||||
2stv.net, 1
|
||||
2ulcceria.nl, 1
|
||||
300mbmovie24.com, 1
|
||||
3133780x.com, 1
|
||||
314chan.org, 1
|
||||
31klabs.com, 1
|
||||
|
@ -1430,6 +1428,7 @@ andrewvoce.com, 1
|
|||
andrewyg.net, 1
|
||||
andrezadnik.com, 1
|
||||
andro2id.com, 1
|
||||
andro4all.com, 1
|
||||
android.re, 1
|
||||
androide.com, 1
|
||||
androidhry.cz, 1
|
||||
|
@ -1638,7 +1637,6 @@ api.simple.com, 0
|
|||
api.xero.com, 0
|
||||
apiary.blog, 1
|
||||
apiary.clothing, 1
|
||||
apiary.shop, 1
|
||||
apiary.store, 1
|
||||
apiary.supplies, 1
|
||||
apiary.supply, 1
|
||||
|
@ -1707,7 +1705,6 @@ apptomics.com, 1
|
|||
apptoutou.com, 1
|
||||
appuals.com, 1
|
||||
appui-de-fenetre.fr, 1
|
||||
appuro.com, 1
|
||||
appzoojoo.be, 1
|
||||
aprefix.com, 1
|
||||
apretatuercas.es, 1
|
||||
|
@ -1771,7 +1768,7 @@ arcaik.net, 1
|
|||
arcenergy.co.uk, 1
|
||||
archii.ca, 1
|
||||
archimedicx.com, 1
|
||||
architectdirect.nl, 1
|
||||
architectdirect.nl, 0
|
||||
architecte-interieur.be, 1
|
||||
archivesdelavieordinaire.ch, 1
|
||||
archlinux.de, 1
|
||||
|
@ -3219,7 +3216,6 @@ bjarnerest.de, 1
|
|||
bjgongyi.com, 1
|
||||
bjornhelmersson.se, 1
|
||||
bjornjohansen.no, 1
|
||||
bjs.gov, 1
|
||||
bjtxl.cn, 1
|
||||
bkhpilates.co.uk, 1
|
||||
bl4ckb0x.biz, 1
|
||||
|
@ -4569,7 +4565,7 @@ champions.co, 1
|
|||
championweb.com.au, 1
|
||||
champonthis.de, 1
|
||||
champserver.net, 1
|
||||
chancat.blog, 1
|
||||
chancat.blog, 0
|
||||
chandr1000.ga, 1
|
||||
changecopyright.ru, 1
|
||||
changelab.cc, 1
|
||||
|
@ -5087,6 +5083,7 @@ cloudia.org, 1
|
|||
cloudily.com, 1
|
||||
cloudlight.biz, 1
|
||||
cloudmigrator365.com, 1
|
||||
cloudopt.net, 0
|
||||
cloudoptimizedsmb.com, 1
|
||||
cloudoptimus.com, 1
|
||||
cloudpagesforwork.com, 1
|
||||
|
@ -5746,6 +5743,7 @@ creativeink.de, 1
|
|||
creativelaw.eu, 1
|
||||
creativeliquid.com, 1
|
||||
creativesurvey.com, 1
|
||||
creativeweb.biz, 1
|
||||
creators-design.com, 1
|
||||
creators.co, 1
|
||||
credential.eu, 1
|
||||
|
@ -6415,6 +6413,7 @@ ddel.de, 1
|
|||
dden.ca, 0
|
||||
dden.website, 1
|
||||
dden.xyz, 1
|
||||
ddepot.us, 1
|
||||
ddfreedish.site, 0
|
||||
ddhosted.com, 1
|
||||
ddmeportal.com, 1
|
||||
|
@ -6479,7 +6478,6 @@ decomplify.com, 1
|
|||
deconsolutions.com, 1
|
||||
decor-d.com, 1
|
||||
decoraid.com, 1
|
||||
decoratrix.com, 1
|
||||
decorestilo.com.br, 1
|
||||
decorincasa.com.br, 1
|
||||
decorland.com.ua, 1
|
||||
|
@ -8081,7 +8079,6 @@ emergencyessay.com, 1
|
|||
emergentvisiontec.com, 1
|
||||
emergenzalavoro.com, 1
|
||||
emero.de, 1
|
||||
emesolutions.net, 1
|
||||
emi-air-comprime.com, 1
|
||||
emi.im, 1
|
||||
emielraaijmakers.nl, 1
|
||||
|
@ -8830,7 +8827,6 @@ failover.de, 1
|
|||
failover.eu, 1
|
||||
fairbill.com, 1
|
||||
faircom.co.za, 1
|
||||
fairedeseconomies.info, 1
|
||||
fairviewmotel-simcoe.com, 1
|
||||
faithmissionaries.com, 1
|
||||
faithwatch.org, 1
|
||||
|
@ -9416,7 +9412,6 @@ flymns.fr, 1
|
|||
flynn.io, 1
|
||||
flyserver.co.il, 1
|
||||
flyspace.ga, 1
|
||||
flyspace.ml, 1
|
||||
flyss.net, 1
|
||||
flyssh.net, 1
|
||||
flyt.online, 1
|
||||
|
@ -10658,7 +10653,6 @@ gothamlimo.com, 1
|
|||
gothic.dating, 1
|
||||
gotirupati.com, 1
|
||||
goto.google.com, 1
|
||||
goto.msk.ru, 1
|
||||
goto.world, 1
|
||||
gotomi.info, 1
|
||||
gotoxy.at, 1
|
||||
|
@ -12181,7 +12175,7 @@ idexxpublicationportal.com, 1
|
|||
idgard.de, 1
|
||||
idhosts.co.id, 1
|
||||
idid.tk, 1
|
||||
idinby.dk, 0
|
||||
idinby.dk, 1
|
||||
idiopolis.org, 1
|
||||
idiotentruppe.de, 1
|
||||
idmanagement.gov, 1
|
||||
|
@ -13562,6 +13556,7 @@ joostvanderlaan.nl, 1
|
|||
jooto.com, 1
|
||||
jopsens.de, 1
|
||||
joran.org, 1
|
||||
jordanhamilton.me, 1
|
||||
jordankmportal.com, 1
|
||||
jordans.co.uk, 1
|
||||
jordanscorporatelaw.com, 1
|
||||
|
@ -13667,6 +13662,7 @@ juergenspecht.de, 1
|
|||
jugendsuenden.info, 1
|
||||
juhakoho.com, 1
|
||||
juice.codes, 1
|
||||
juka.pp.ua, 1
|
||||
julegoerke.de, 1
|
||||
julian-weigle.de, 1
|
||||
juliangonggrijp.com, 1
|
||||
|
@ -14987,7 +14983,7 @@ leaseit24.de, 1
|
|||
leasit.at, 1
|
||||
leasit.de, 1
|
||||
leatherfurnitureexpo.com, 1
|
||||
leaversmith.com, 0
|
||||
leaversmith.com, 1
|
||||
leavesofchangeweekly.org, 1
|
||||
lebal.se, 1
|
||||
lebanesearmy.gov.lb, 1
|
||||
|
@ -16555,7 +16551,6 @@ mcuong.tk, 0
|
|||
mcynews.com, 1
|
||||
mcyukon.com, 1
|
||||
md5file.com, 1
|
||||
md5hashing.net, 1
|
||||
mdcloudpracticesolutions.com, 1
|
||||
mdcloudps.com, 1
|
||||
mdek.at, 1
|
||||
|
@ -18008,7 +18003,6 @@ naphex.rocks, 1
|
|||
napisynapomniky.cz, 1
|
||||
napolinissanctparts.com, 1
|
||||
narach.com, 1
|
||||
narada.com.ua, 1
|
||||
naralogics.com, 1
|
||||
narfation.org, 1
|
||||
nargele.eu, 1
|
||||
|
@ -18676,7 +18670,6 @@ noop.ch, 1
|
|||
noordsee.de, 1
|
||||
noorsolidarity.com, 1
|
||||
nootropic.com, 1
|
||||
nootropicsource.com, 1
|
||||
nopaste.xyz, 1
|
||||
nord-sud.be, 1
|
||||
nordakademie.de, 1
|
||||
|
@ -19244,6 +19237,7 @@ openconnect.com.au, 1
|
|||
opendataincubator.eu, 1
|
||||
openevic.info, 1
|
||||
openfir.st, 1
|
||||
openfitapi-falke.azurewebsites.net, 1
|
||||
opengg.me, 1
|
||||
openings.ninja, 1
|
||||
openintelligence.uk, 1
|
||||
|
@ -19351,7 +19345,6 @@ origami.to, 1
|
|||
originalmockups.com, 1
|
||||
originalniknihy.cz, 1
|
||||
orimex-mebel.ru, 1
|
||||
oriongames.eu, 1
|
||||
orkestar-krizevci.hr, 1
|
||||
orleika.io, 1
|
||||
orlives.de, 0
|
||||
|
@ -21403,6 +21396,7 @@ rapenroer.nl, 1
|
|||
raphael.li, 1
|
||||
raphaelcasazza.ch, 1
|
||||
rapidapp.io, 1
|
||||
rapido.nu, 1
|
||||
rapidshit.net, 1
|
||||
rapidstone.com, 1
|
||||
raraflora.com.au, 1
|
||||
|
@ -21529,7 +21523,6 @@ reaven.nl, 1
|
|||
rebelessex.com, 1
|
||||
rebelz.se, 1
|
||||
rebirthia.me, 1
|
||||
rebootmc.com, 1
|
||||
reboxetine.com, 1
|
||||
reboxonline.com, 1
|
||||
recantoshop.com, 1
|
||||
|
@ -22738,7 +22731,6 @@ scenicbyways.info, 1
|
|||
scepticism.com, 1
|
||||
sceptique.eu, 1
|
||||
schaafenstrasse.koeln, 1
|
||||
schachburg.de, 1
|
||||
schadevergoedingen.eu, 1
|
||||
schallert.com, 1
|
||||
schamlosharmlos.de, 1
|
||||
|
@ -23445,7 +23437,7 @@ shishlik.net, 1
|
|||
shitagi-shop.com, 1
|
||||
shitbeast.institute, 1
|
||||
shitfest.info, 1
|
||||
shitmybradsays.com, 1
|
||||
shitmybradsays.com, 0
|
||||
shitposts.se, 1
|
||||
shitproductions.org, 1
|
||||
shitsta.in, 1
|
||||
|
@ -23511,6 +23503,7 @@ shux.pro, 1
|
|||
shuzicai.cn, 1
|
||||
shymeck.pw, 1
|
||||
si-benelux.nl, 1
|
||||
si.to, 1
|
||||
siamega.com, 1
|
||||
siamojo.com, 1
|
||||
siamsnus.com, 1
|
||||
|
@ -23874,7 +23867,6 @@ slash64.uk, 1
|
|||
slashbits.no, 1
|
||||
slaughterhouse.fr, 1
|
||||
slaws.io, 1
|
||||
sleeklounge.com, 1
|
||||
sleeplessbeastie.eu, 1
|
||||
sleepmap.de, 1
|
||||
sleepstar.co.uk, 1
|
||||
|
@ -24598,9 +24590,7 @@ statecollegemortgages.com, 1
|
|||
statgram.me, 1
|
||||
static-692b8c32.de, 1
|
||||
static-assets.io, 1
|
||||
static-myfxee-808795.c.cdn77.org, 1
|
||||
static-myfxoau-808795.c.cdn77.org, 1
|
||||
static-myfxouk-808795.c.cdn77.org, 1
|
||||
static.hosting, 1
|
||||
static.wepay.com, 0
|
||||
staticisnoise.com, 1
|
||||
|
@ -24994,7 +24984,6 @@ supersonnigfestival.de, 1
|
|||
supersu.kr, 1
|
||||
superswingtrainer.com, 1
|
||||
supertasker.org, 1
|
||||
supes.io, 1
|
||||
supeuro.com, 1
|
||||
supplementler.com, 1
|
||||
supplies24.at, 1
|
||||
|
@ -25068,7 +25057,6 @@ svetzitrka.cz, 0
|
|||
svijet-medija.hr, 1
|
||||
sviz.pro, 1
|
||||
svj-stochovska.cz, 1
|
||||
svjvn.cz, 1
|
||||
svm-basketball.de, 1
|
||||
svm-it.eu, 1
|
||||
sw-servers.net, 1
|
||||
|
@ -26063,7 +26051,6 @@ tibovanheule.site, 1
|
|||
ticfleet.com, 1
|
||||
ticketluck.com, 1
|
||||
ticketmates.com.au, 1
|
||||
ticketoplichting.nl, 1
|
||||
ticketslover.com, 1
|
||||
ticketsmate.com, 1
|
||||
ticketsource.co.uk, 1
|
||||
|
@ -26903,7 +26890,6 @@ twisted-brains.org, 1
|
|||
twistedwave.com, 1
|
||||
twisto.cz, 1
|
||||
twit-guide.com, 1
|
||||
twittelzie.nl, 1
|
||||
twitter.ax, 1
|
||||
twitter.com, 0
|
||||
twitteroauth.com, 1
|
||||
|
@ -27706,7 +27692,6 @@ viptamin.eu, 1
|
|||
vir-tec.eu, 1
|
||||
viralboombox.xyz, 1
|
||||
viralpop.it, 1
|
||||
virgopolymer.com, 1
|
||||
virial.de, 1
|
||||
viridis-milites.cz, 1
|
||||
virtualdesignmedia.com, 0
|
||||
|
@ -28019,7 +28004,6 @@ warekon.dk, 1
|
|||
warenits.at, 1
|
||||
warezaddict.com, 1
|
||||
wargameexclusive.com, 1
|
||||
warhaggis.com, 1
|
||||
warlions.info, 0
|
||||
warmestwishes.ca, 1
|
||||
warmlyyours.com, 0
|
||||
|
@ -28056,6 +28040,7 @@ watermonitor.gov, 1
|
|||
watersb.org, 1
|
||||
watertrails.io, 1
|
||||
watsonwork.me, 1
|
||||
wattechweb.com, 1
|
||||
wave-ola.es, 1
|
||||
wavesboardshop.com, 1
|
||||
wavesoftime.com, 1
|
||||
|
@ -28351,8 +28336,6 @@ wetofu.top, 1
|
|||
wettbonus.info, 1
|
||||
wetthost.com, 1
|
||||
wevenues.com, 1
|
||||
wewillgo.com, 1
|
||||
wewillgo.org, 1
|
||||
weyland-yutani.org, 1
|
||||
weyland.tech, 1
|
||||
wf-bigsky-master.appspot.com, 1
|
||||
|
@ -29114,7 +29097,6 @@ xn--rt-cja.eu, 1
|
|||
xn--rt-cja.ie, 1
|
||||
xn--rtter-kva.eu, 1
|
||||
xn--ruanmller-u9a.com, 1
|
||||
xn--sdkwa9azd389v01ya.com, 1
|
||||
xn--seelenwchter-mcb.eu, 1
|
||||
xn--spenijmazania-yhc.pl, 1
|
||||
xn--srenpind-54a.dk, 1
|
||||
|
@ -29490,6 +29472,7 @@ yudan.com.br, 1
|
|||
yude.ml, 1
|
||||
yue.la, 1
|
||||
yue2.net, 1
|
||||
yufan.me, 1
|
||||
yuhuo.org, 1
|
||||
yuka.one, 1
|
||||
yuki.xyz, 1
|
||||
|
@ -29724,6 +29707,7 @@ zojadravai.com, 1
|
|||
zoki.art, 1
|
||||
zokster.net, 1
|
||||
zolokar.xyz, 1
|
||||
zolotoy-standart.com.ua, 1
|
||||
zombiesecured.com, 1
|
||||
zomerschoen.nl, 1
|
||||
zone-produkte.de, 1
|
||||
|
|
|
@ -301,7 +301,7 @@ linux64-android-gradle-dependencies:
|
|||
- linux64-android-sdk-linux-repack
|
||||
- linux64-proguard-jar-repack
|
||||
|
||||
linux64-rust-1.19:
|
||||
linux64-rust-1.20:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -318,7 +318,7 @@ linux64-rust-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'i686-unknown-linux-gnu',
|
||||
|
@ -326,7 +326,31 @@ linux64-rust-1.19:
|
|||
toolchain-alias: linux64-rust
|
||||
toolchain-artifact: public/build/rustc.tar.xz
|
||||
|
||||
linux64-rust-macos-1.19:
|
||||
linux64-rust-1.19:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TL(rust-1.19)
|
||||
tier: 1
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 7200
|
||||
env:
|
||||
UPLOAD_DIR: artifacts
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'i686-unknown-linux-gnu',
|
||||
]
|
||||
toolchain-artifact: public/build/rustc.tar.xz
|
||||
|
||||
linux64-rust-macos-1.20:
|
||||
description: "rust repack with macos-cross support"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -343,7 +367,7 @@ linux64-rust-macos-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-apple-darwin',
|
||||
|
@ -351,7 +375,7 @@ linux64-rust-macos-1.19:
|
|||
toolchain-alias: linux64-rust-macos
|
||||
toolchain-artifact: public/build/rustc.tar.xz
|
||||
|
||||
linux64-rust-android-1.19:
|
||||
linux64-rust-android-1.20:
|
||||
description: "rust repack with android-cross support"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -368,7 +392,7 @@ linux64-rust-android-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
'--target', 'armv7-linux-androideabi',
|
||||
|
|
|
@ -94,7 +94,7 @@ win64-clang-tidy:
|
|||
- 'taskcluster/scripts/misc/build-clang-windows-helper64.sh'
|
||||
toolchain-artifact: public/build/clang-tidy.tar.bz2
|
||||
|
||||
win64-rust-1.19:
|
||||
win64-rust-1.20:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -111,14 +111,37 @@ win64-rust-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'x86_64-pc-windows-msvc',
|
||||
'--target', 'x86_64-pc-windows-msvc',
|
||||
]
|
||||
toolchain-alias: win64-rust
|
||||
toolchain-artifact: public/build/rustc.tar.bz2
|
||||
|
||||
win32-rust-1.19:
|
||||
win64-rust-1.19:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TW64(rust-1.19)
|
||||
tier: 1
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 7200
|
||||
env:
|
||||
UPLOAD_DIR: artifacts
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--host', 'x86_64-pc-windows-msvc',
|
||||
'--target', 'x86_64-pc-windows-msvc',
|
||||
]
|
||||
toolchain-artifact: public/build/rustc.tar.bz2
|
||||
|
||||
win32-rust-1.20:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -135,14 +158,14 @@ win32-rust-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'i686-pc-windows-msvc',
|
||||
'--target', 'i686-pc-windows-msvc',
|
||||
]
|
||||
toolchain-alias: win32-rust
|
||||
toolchain-artifact: public/build/rustc.tar.bz2
|
||||
|
||||
mingw32-rust-1.19:
|
||||
mingw32-rust-1.20:
|
||||
description: "rust repack"
|
||||
treeherder:
|
||||
kind: build
|
||||
|
@ -159,7 +182,7 @@ mingw32-rust-1.19:
|
|||
using: toolchain-script
|
||||
script: repack_rust.py
|
||||
arguments: [
|
||||
'--channel', '1.19.0',
|
||||
'--channel', '1.20.0',
|
||||
'--host', 'i686-unknown-linux-gnu',
|
||||
'--target', 'i686-pc-windows-gnu',
|
||||
'--target', 'x86_64-unknown-linux-gnu',
|
||||
|
|
|
@ -46,7 +46,7 @@ bool CrashGenerationClient::RequestDumpForException(
|
|||
MachSendMessage message(kDumpRequestMessage);
|
||||
message.AddDescriptor(mach_task_self()); // this task
|
||||
message.AddDescriptor(crashing_thread); // crashing thread
|
||||
message.AddDescriptor(mach_thread_self()); // handler thread
|
||||
message.AddDescriptor(MACH_PORT_NULL); // handler thread
|
||||
message.AddDescriptor(acknowledge_port.GetPort()); // message receive port
|
||||
|
||||
ExceptionInfo info;
|
||||
|
|
Загрузка…
Ссылка в новой задаче