зеркало из https://github.com/mozilla/gecko-dev.git
merge mozilla-central to mozilla-inbound. r=merge a=merge
This commit is contained in:
Коммит
7abe8d7079
|
@ -187,10 +187,14 @@ HandlerProvider::BuildIA2Data(IA2Data* aOutIA2Data)
|
|||
MOZ_ASSERT(mTargetUnk);
|
||||
MOZ_ASSERT(IsTargetInterfaceCacheable());
|
||||
|
||||
RefPtr<NEWEST_IA2_INTERFACE>
|
||||
target(static_cast<NEWEST_IA2_INTERFACE*>(mTargetUnk.get()));
|
||||
RefPtr<NEWEST_IA2_INTERFACE> target;
|
||||
HRESULT hr = mTargetUnk.get()->QueryInterface(NEWEST_IA2_IID,
|
||||
getter_AddRefs(target));
|
||||
if (FAILED(hr)) {
|
||||
return;
|
||||
}
|
||||
|
||||
HRESULT hr = E_UNEXPECTED;
|
||||
hr = E_UNEXPECTED;
|
||||
|
||||
auto hasFailed = [&hr]() -> bool {
|
||||
return FAILED(hr);
|
||||
|
@ -294,7 +298,8 @@ HandlerProvider::ClearIA2Data(IA2Data& aData)
|
|||
bool
|
||||
HandlerProvider::IsTargetInterfaceCacheable()
|
||||
{
|
||||
return MarshalAs(mTargetUnkIid) == NEWEST_IA2_IID;
|
||||
return MarshalAs(mTargetUnkIid) == NEWEST_IA2_IID ||
|
||||
mTargetUnkIid == IID_IAccessibleHyperlink;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "Accessible2_i.c"
|
||||
#include "Accessible2_2_i.c"
|
||||
#include "Accessible2_3_i.c"
|
||||
#include "AccessibleHyperlink_i.c"
|
||||
|
||||
namespace mozilla {
|
||||
namespace a11y {
|
||||
|
@ -60,6 +61,7 @@ AccessibleHandler::AccessibleHandler(IUnknown* aOuter, HRESULT* aResult)
|
|||
, mDispatch(nullptr)
|
||||
, mIA2PassThru(nullptr)
|
||||
, mServProvPassThru(nullptr)
|
||||
, mIAHyperlinkPassThru(nullptr)
|
||||
, mCachedData()
|
||||
, mCacheGen(0)
|
||||
{
|
||||
|
@ -104,6 +106,29 @@ AccessibleHandler::ResolveIA2()
|
|||
return hr;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::ResolveIAHyperlink()
|
||||
{
|
||||
if (mIAHyperlinkPassThru) {
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
RefPtr<IUnknown> proxy(GetProxy());
|
||||
if (!proxy) {
|
||||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
HRESULT hr = proxy->QueryInterface(IID_IAccessibleHyperlink,
|
||||
reinterpret_cast<void**>(&mIAHyperlinkPassThru));
|
||||
if (SUCCEEDED(hr)) {
|
||||
// mIAHyperlinkPassThru is a weak reference
|
||||
// (see comments in AccesssibleHandler.h)
|
||||
mIAHyperlinkPassThru->Release();
|
||||
}
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::MaybeUpdateCachedData()
|
||||
{
|
||||
|
@ -392,6 +417,8 @@ CopyBSTR(BSTR aSrc)
|
|||
assignTo = CopyBSTR(mCachedData.mData.member); \
|
||||
}
|
||||
|
||||
/*** IAccessible ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_accParent(IDispatch **ppdispParent)
|
||||
{
|
||||
|
@ -709,6 +736,8 @@ AccessibleHandler::put_accValue(VARIANT varChild, BSTR szValue)
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
/*** IAccessible2 ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_nRelations(long* nRelations)
|
||||
{
|
||||
|
@ -966,6 +995,8 @@ AccessibleHandler::get_attributes(BSTR* attributes)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
/*** IAccessible2_2 ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_attribute(BSTR name, VARIANT* attribute)
|
||||
{
|
||||
|
@ -1000,6 +1031,8 @@ AccessibleHandler::get_relationTargetsOfType(BSTR type, long maxTargets,
|
|||
nTargets);
|
||||
}
|
||||
|
||||
/*** IAccessible2_3 ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_selectionRanges(IA2Range** ranges, long* nRanges)
|
||||
{
|
||||
|
@ -1023,6 +1056,8 @@ static const GUID kUnsupportedServices[] = {
|
|||
{0xb96fdb85, 0x7204, 0x4724, { 0x84, 0x2b, 0xc7, 0x05, 0x9d, 0xed, 0xb9, 0xd0 }}
|
||||
};
|
||||
|
||||
/*** IServiceProvider ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::QueryService(REFGUID aServiceId, REFIID aIid,
|
||||
void** aOutInterface)
|
||||
|
@ -1064,6 +1099,8 @@ AccessibleHandler::QueryService(REFGUID aServiceId, REFIID aIid,
|
|||
return mServProvPassThru->QueryService(aServiceId, aIid, aOutInterface);
|
||||
}
|
||||
|
||||
/*** IProvideClassInfo ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::GetClassInfo(ITypeInfo** aOutTypeInfo)
|
||||
{
|
||||
|
@ -1075,6 +1112,124 @@ AccessibleHandler::GetClassInfo(ITypeInfo** aOutTypeInfo)
|
|||
return ctl->GetHandlerTypeInfo(aOutTypeInfo);
|
||||
}
|
||||
|
||||
/*** IAccessibleAction ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::nActions(long* nActions)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->nActions(nActions);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::doAction(long actionIndex)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->doAction(actionIndex);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_description(long actionIndex, BSTR* description)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_description(actionIndex, description);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_keyBinding(long actionIndex,
|
||||
long nMaxBindings,
|
||||
BSTR** keyBindings,
|
||||
long* nBindings)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_keyBinding(
|
||||
actionIndex, nMaxBindings, keyBindings, nBindings);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_name(long actionIndex, BSTR* name)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_name(actionIndex, name);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_localizedName(long actionIndex, BSTR* localizedName)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_localizedName(actionIndex, localizedName);
|
||||
}
|
||||
|
||||
/*** IAccessibleHyperlink ***/
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_anchor(long index, VARIANT* anchor)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_anchor(index, anchor);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_anchorTarget(long index, VARIANT* anchorTarget)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_anchorTarget(index, anchorTarget);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_startIndex(long* index)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_startIndex(index);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_endIndex(long* index)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_endIndex(index);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
AccessibleHandler::get_valid(boolean* valid)
|
||||
{
|
||||
HRESULT hr = ResolveIAHyperlink();
|
||||
if (FAILED(hr)) {
|
||||
return hr;
|
||||
}
|
||||
return mIAHyperlinkPassThru->get_valid(valid);
|
||||
}
|
||||
|
||||
} // namespace a11y
|
||||
} // namespace mozilla
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import NEWEST_IA2_IDL;
|
|||
#if !defined(MOZILLA_INTERNAL_API)
|
||||
|
||||
#include "Accessible2_3.h"
|
||||
#include "AccessibleHyperlink.h"
|
||||
#include "Handler.h"
|
||||
#include "mozilla/mscom/StructStream.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
|
@ -49,6 +50,7 @@ class AccessibleHandler final : public mscom::Handler
|
|||
, public NEWEST_IA2_INTERFACE
|
||||
, public IServiceProvider
|
||||
, public IProvideClassInfo
|
||||
, public IAccessibleHyperlink
|
||||
{
|
||||
public:
|
||||
static HRESULT Create(IUnknown* aOuter, REFIID aIid, void** aOutInterface);
|
||||
|
@ -152,12 +154,32 @@ public:
|
|||
// IProvideClassInfo
|
||||
STDMETHODIMP GetClassInfo(ITypeInfo** aOutTypeInfo) override;
|
||||
|
||||
// IAccessibleAction
|
||||
STDMETHODIMP nActions(long* nActions) override;
|
||||
STDMETHODIMP doAction(long actionIndex) override;
|
||||
STDMETHODIMP get_description(long actionIndex, BSTR* description) override;
|
||||
STDMETHODIMP get_keyBinding(long actionIndex,
|
||||
long nMaxBindings,
|
||||
BSTR** keyBindings,
|
||||
long* nBindings) override;
|
||||
STDMETHODIMP get_name(long actionIndex, BSTR* name) override;
|
||||
STDMETHODIMP get_localizedName(long actionIndex,
|
||||
BSTR* localizedName) override;
|
||||
|
||||
// IAccessibleHyperlink
|
||||
STDMETHODIMP get_anchor(long index, VARIANT* anchor) override;
|
||||
STDMETHODIMP get_anchorTarget(long index, VARIANT* anchorTarget) override;
|
||||
STDMETHODIMP get_startIndex(long* index) override;
|
||||
STDMETHODIMP get_endIndex(long* index) override;
|
||||
STDMETHODIMP get_valid(boolean* valid) override;
|
||||
|
||||
private:
|
||||
AccessibleHandler(IUnknown* aOuter, HRESULT* aResult);
|
||||
virtual ~AccessibleHandler();
|
||||
|
||||
HRESULT ResolveIA2();
|
||||
HRESULT ResolveIDispatch();
|
||||
HRESULT ResolveIAHyperlink();
|
||||
HRESULT MaybeUpdateCachedData();
|
||||
|
||||
RefPtr<IUnknown> mDispatchUnk;
|
||||
|
@ -183,6 +205,7 @@ private:
|
|||
IDispatch* mDispatch; // weak
|
||||
NEWEST_IA2_INTERFACE* mIA2PassThru; // weak
|
||||
IServiceProvider* mServProvPassThru; // weak
|
||||
IAccessibleHyperlink* mIAHyperlinkPassThru; // weak
|
||||
IA2Payload mCachedData;
|
||||
UniquePtr<mscom::StructToStream> mSerializer;
|
||||
uint32_t mCacheGen;
|
||||
|
|
|
@ -9,3 +9,7 @@
|
|||
background: var(--chrome-background-color);
|
||||
}
|
||||
|
||||
#TabsToolbar:-moz-lwtheme-darktext {
|
||||
-moz-appearance: -moz-mac-vibrancy-light;
|
||||
-moz-font-smoothing-background-color: -moz-mac-vibrancy-light;
|
||||
}
|
||||
|
|
|
@ -75,10 +75,6 @@ toolbar[brighttext] .toolbarbutton-1 {
|
|||
color: var(--chrome-color);
|
||||
}
|
||||
|
||||
#TabsToolbar:-moz-lwtheme-darktext {
|
||||
-moz-appearance: -moz-mac-vibrancy-light;
|
||||
}
|
||||
|
||||
#navigator-toolbox > toolbar:not(#TabsToolbar):not(#toolbar-menubar),
|
||||
.browserContainer > findbar,
|
||||
#browser-bottombox {
|
||||
|
|
|
@ -290,7 +290,7 @@ fuzzy-if(skiaContent,1,5) == 262998-1.html 262998-1-ref.html
|
|||
== 269908-5.html 269908-5-ref.html
|
||||
== 271747-1a.html 271747-1-ref.html
|
||||
== 271747-1b.html 271747-1-ref.html
|
||||
fails-if(stylo&&cocoaWidget) == 272646-1.xul 272646-1-ref.xul # bug 1410787
|
||||
== 272646-1.xul 272646-1-ref.xul
|
||||
== 272646-2a.xul 272646-2-ref.xul
|
||||
== 272646-2b.xul 272646-2-ref.xul
|
||||
== 272646-2c.xul 272646-2-ref.xul
|
||||
|
|
|
@ -15,3 +15,5 @@ pref(dom.webcomponents.enabled,true) == dynamic-insertion-point-distribution-2.h
|
|||
pref(dom.webcomponents.enabled,true) == remove-append-shadow-host-1.html remove-append-shadow-host-1-ref.html
|
||||
pref(dom.webcomponents.enabled,true) == reframe-shadow-child-1.html reframe-shadow-child-ref.html
|
||||
pref(dom.webcomponents.enabled,true) == reframe-shadow-child-2.html reframe-shadow-child-ref.html
|
||||
pref(dom.webcomponents.enabled,true) == style-sharing.html style-sharing-ref.html
|
||||
pref(dom.webcomponents.enabled,true) skip-if(!stylo||styloVsGecko) == style-sharing-across-shadow.html style-sharing-ref.html # bug 1412400
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
<!doctype html>
|
||||
<style>
|
||||
div { display: contents }
|
||||
</style>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<script>
|
||||
let divs = document.querySelectorAll('div');
|
||||
divs[0].createShadowRoot().innerHTML = `
|
||||
<style>
|
||||
* { color: green; }
|
||||
</style>
|
||||
<span>Should be green</span>
|
||||
`;
|
||||
divs[1].createShadowRoot().innerHTML = `
|
||||
<style>
|
||||
* { color: initial; }
|
||||
[foo] { }
|
||||
</style>
|
||||
<span>Should not be green</span>
|
||||
`;
|
||||
</script>
|
|
@ -0,0 +1,5 @@
|
|||
<!doctype html>
|
||||
<div>
|
||||
<span style="color: green">Should be green</span>
|
||||
<span>Should not be green</span>
|
||||
</div>
|
|
@ -0,0 +1,14 @@
|
|||
<!doctype html>
|
||||
<div id="host"></div>
|
||||
<script>
|
||||
let root = host.createShadowRoot();
|
||||
root.innerHTML = `
|
||||
<style>
|
||||
#test {
|
||||
color: green;
|
||||
}
|
||||
</style>
|
||||
<span id="test">Should be green</span>
|
||||
<span id="test2">Should not be green</span>
|
||||
`;
|
||||
</script>
|
|
@ -1468,27 +1468,27 @@ AuthCertificate(CertVerifier& certVerifier,
|
|||
infoObject->SetSSLStatus(status);
|
||||
}
|
||||
|
||||
if (!status->HasServerCert()) {
|
||||
EVStatus evStatus;
|
||||
if (evOidPolicy == SEC_OID_UNKNOWN) {
|
||||
evStatus = EVStatus::NotEV;
|
||||
} else {
|
||||
evStatus = EVStatus::EV;
|
||||
}
|
||||
|
||||
RefPtr<nsNSSCertificate> nsc = nsNSSCertificate::Create(cert.get());
|
||||
status->SetServerCert(nsc, evStatus);
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug,
|
||||
("AuthCertificate setting NEW cert %p", nsc.get()));
|
||||
EVStatus evStatus;
|
||||
if (evOidPolicy == SEC_OID_UNKNOWN) {
|
||||
evStatus = EVStatus::NotEV;
|
||||
} else {
|
||||
evStatus = EVStatus::EV;
|
||||
}
|
||||
|
||||
RefPtr<nsNSSCertificate> nsc = nsNSSCertificate::Create(cert.get());
|
||||
status->SetServerCert(nsc, evStatus);
|
||||
|
||||
status->SetSucceededCertChain(Move(certList));
|
||||
MOZ_LOG(gPIPNSSLog, LogLevel::Debug,
|
||||
("AuthCertificate setting NEW cert %p", nsc.get()));
|
||||
|
||||
status->SetCertificateTransparencyInfo(certificateTransparencyInfo);
|
||||
}
|
||||
|
||||
if (rv != Success) {
|
||||
// Certificate validation failed; store the peer certificate chain on
|
||||
// infoObject so it can be used for error reporting.
|
||||
infoObject->SetFailedCertChain(Move(peerCertChain));
|
||||
infoObject->SetFailedCertChain(Move(certList));
|
||||
PR_SetError(MapResultToPRErrorCode(rv), 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -1158,4 +1158,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517596541822000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517682914510000);
|
||||
|
|
|
@ -1012,6 +1012,7 @@ TransportSecurityInfo::SetStatusErrorBits(nsNSSCertificate* cert,
|
|||
}
|
||||
|
||||
mSSLStatus->SetServerCert(cert, EVStatus::NotEV);
|
||||
mSSLStatus->SetFailedCertChain(mFailedCertChain);
|
||||
|
||||
mSSLStatus->mHaveCertErrorBits = true;
|
||||
mSSLStatus->mIsDomainMismatch =
|
||||
|
|
|
@ -7,10 +7,13 @@
|
|||
#include "nsISupports.idl"
|
||||
|
||||
interface nsIX509Cert;
|
||||
interface nsIX509CertList;
|
||||
|
||||
[scriptable, uuid(fa9ba95b-ca3b-498a-b889-7c79cf28fee8)]
|
||||
interface nsISSLStatus : nsISupports {
|
||||
readonly attribute nsIX509Cert serverCert;
|
||||
readonly attribute nsIX509CertList failedCertChain;
|
||||
readonly attribute nsIX509CertList succeededCertChain;
|
||||
|
||||
[must_use]
|
||||
readonly attribute ACString cipherName;
|
||||
|
|
|
@ -1221,7 +1221,7 @@ DetermineEVAndCTStatusAndSetNewCert(RefPtr<nsSSLStatus> sslStatus,
|
|||
|
||||
SECOidTag evOidPolicy;
|
||||
CertificateTransparencyInfo certificateTransparencyInfo;
|
||||
UniqueCERTCertList unusedBuiltChain;
|
||||
UniqueCERTCertList builtChain;
|
||||
const bool saveIntermediates = false;
|
||||
mozilla::pkix::Result rv = certVerifier->VerifySSLServerCert(
|
||||
cert,
|
||||
|
@ -1230,7 +1230,7 @@ DetermineEVAndCTStatusAndSetNewCert(RefPtr<nsSSLStatus> sslStatus,
|
|||
mozilla::pkix::Now(),
|
||||
infoObject,
|
||||
infoObject->GetHostName(),
|
||||
unusedBuiltChain,
|
||||
builtChain,
|
||||
saveIntermediates,
|
||||
flags,
|
||||
infoObject->GetOriginAttributes(),
|
||||
|
@ -1255,6 +1255,7 @@ DetermineEVAndCTStatusAndSetNewCert(RefPtr<nsSSLStatus> sslStatus,
|
|||
|
||||
if (rv == Success) {
|
||||
sslStatus->SetCertificateTransparencyInfo(certificateTransparencyInfo);
|
||||
sslStatus->SetSucceededCertChain(Move(builtChain));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,8 +11,15 @@
|
|||
#include "nsIObjectOutputStream.h"
|
||||
#include "nsIObjectInputStream.h"
|
||||
#include "nsNSSCertificate.h"
|
||||
#include "nsNSSShutDown.h"
|
||||
#include "ssl.h"
|
||||
|
||||
|
||||
void
|
||||
nsSSLStatus::virtualDestroyNSSReference()
|
||||
{
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSSLStatus::GetServerCert(nsIX509Cert** aServerCert)
|
||||
{
|
||||
|
@ -225,6 +232,23 @@ nsSSLStatus::Read(nsIObjectInputStream* aStream)
|
|||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
}
|
||||
|
||||
// Added in version 3 (see bug 1406856).
|
||||
if (streamFormatVersion >= 3) {
|
||||
nsCOMPtr<nsISupports> succeededCertChainSupports;
|
||||
rv = NS_ReadOptionalObject(aStream, true, getter_AddRefs(succeededCertChainSupports));
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
mSucceededCertChain = do_QueryInterface(succeededCertChainSupports);
|
||||
|
||||
nsCOMPtr<nsISupports> failedCertChainSupports;
|
||||
rv = NS_ReadOptionalObject(aStream, true, getter_AddRefs(failedCertChainSupports));
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
mFailedCertChain = do_QueryInterface(failedCertChainSupports);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -232,7 +256,7 @@ NS_IMETHODIMP
|
|||
nsSSLStatus::Write(nsIObjectOutputStream* aStream)
|
||||
{
|
||||
// The current version of the binary stream format.
|
||||
const uint8_t STREAM_FORMAT_VERSION = 2;
|
||||
const uint8_t STREAM_FORMAT_VERSION = 3;
|
||||
|
||||
nsresult rv = aStream->WriteCompoundObject(mServerCert,
|
||||
NS_GET_IID(nsIX509Cert),
|
||||
|
@ -275,6 +299,23 @@ nsSSLStatus::Write(nsIObjectOutputStream* aStream)
|
|||
rv = aStream->WriteStringZ(mSignatureSchemeName.get());
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// Added in version 3.
|
||||
rv = NS_WriteOptionalCompoundObject(aStream,
|
||||
mSucceededCertChain,
|
||||
NS_GET_IID(nsIX509CertList),
|
||||
true);
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = NS_WriteOptionalCompoundObject(aStream,
|
||||
mFailedCertChain,
|
||||
NS_GET_IID(nsIX509CertList),
|
||||
true);
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -354,6 +395,11 @@ NS_IMPL_ISUPPORTS(nsSSLStatus, nsISSLStatus, nsISerializable, nsIClassInfo)
|
|||
|
||||
nsSSLStatus::~nsSSLStatus()
|
||||
{
|
||||
nsNSSShutDownPreventionLock locker;
|
||||
if (isAlreadyShutDown()) {
|
||||
return;
|
||||
}
|
||||
shutdown(ShutdownCalledFrom::Object);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -366,6 +412,48 @@ nsSSLStatus::SetServerCert(nsNSSCertificate* aServerCert, EVStatus aEVStatus)
|
|||
mHasIsEVStatus = true;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsSSLStatus::SetSucceededCertChain(UniqueCERTCertList aCertList)
|
||||
{
|
||||
nsNSSShutDownPreventionLock lock;
|
||||
if (isAlreadyShutDown()) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
// nsNSSCertList takes ownership of certList
|
||||
mSucceededCertChain = new nsNSSCertList(Move(aCertList), lock);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
nsSSLStatus::SetFailedCertChain(nsIX509CertList* aX509CertList)
|
||||
{
|
||||
mFailedCertChain = aX509CertList;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSSLStatus::GetSucceededCertChain(nsIX509CertList** _result)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(_result);
|
||||
|
||||
nsCOMPtr<nsIX509CertList> tmpList = mSucceededCertChain;
|
||||
tmpList.forget(_result);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSSLStatus::GetFailedCertChain(nsIX509CertList** _result)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(_result);
|
||||
|
||||
nsCOMPtr<nsIX509CertList> tmpList = mFailedCertChain;
|
||||
tmpList.forget(_result);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
nsSSLStatus::SetCertificateTransparencyInfo(
|
||||
const mozilla::psm::CertificateTransparencyInfo& info)
|
||||
|
|
|
@ -12,8 +12,11 @@
|
|||
#include "nsCOMPtr.h"
|
||||
#include "nsString.h"
|
||||
#include "nsIX509Cert.h"
|
||||
#include "nsIX509CertList.h"
|
||||
#include "nsISerializable.h"
|
||||
#include "nsIClassInfo.h"
|
||||
#include "nsNSSCertificate.h"
|
||||
#include "ScopedNSSTypes.h"
|
||||
|
||||
class nsNSSCertificate;
|
||||
|
||||
|
@ -26,6 +29,7 @@ class nsSSLStatus final
|
|||
: public nsISSLStatus
|
||||
, public nsISerializable
|
||||
, public nsIClassInfo
|
||||
, public nsNSSShutDownObject
|
||||
{
|
||||
protected:
|
||||
virtual ~nsSSLStatus();
|
||||
|
@ -39,6 +43,9 @@ public:
|
|||
|
||||
void SetServerCert(nsNSSCertificate* aServerCert, EVStatus aEVStatus);
|
||||
|
||||
nsresult SetSucceededCertChain(mozilla::UniqueCERTCertList certList);
|
||||
void SetFailedCertChain(nsIX509CertList* x509CertList);
|
||||
|
||||
bool HasServerCert() {
|
||||
return mServerCert != nullptr;
|
||||
}
|
||||
|
@ -46,6 +53,8 @@ public:
|
|||
void SetCertificateTransparencyInfo(
|
||||
const mozilla::psm::CertificateTransparencyInfo& info);
|
||||
|
||||
virtual void virtualDestroyNSSReference() override;
|
||||
|
||||
/* public for initilization in this file */
|
||||
uint16_t mCipherSuite;
|
||||
uint16_t mProtocolVersion;
|
||||
|
@ -67,6 +76,8 @@ public:
|
|||
|
||||
private:
|
||||
nsCOMPtr<nsIX509Cert> mServerCert;
|
||||
nsCOMPtr<nsIX509CertList> mSucceededCertChain;
|
||||
nsCOMPtr<nsIX509CertList> mFailedCertChain;
|
||||
};
|
||||
|
||||
#define NS_SSLSTATUS_CID \
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
47tech.com: could not connect to host
|
||||
4loc.us: could not connect to host
|
||||
4x4.lk: could not connect to host
|
||||
68277.me: could not connect to host
|
||||
8560.be: could not connect to host
|
||||
87577.com: could not connect to host
|
||||
8887999.com: could not connect to host
|
||||
|
@ -11,11 +10,13 @@
|
|||
8ox.ru: could not connect to host
|
||||
8t88.biz: could not connect to host
|
||||
91-freedom.com: could not connect to host
|
||||
9ss6.com: could not connect to host
|
||||
aaronmcguire.me: could not connect to host
|
||||
abolition.co: could not connect to host
|
||||
accwing.com: could not connect to host
|
||||
acrossgw.com: could not connect to host
|
||||
adamgold.net: could not connect to host
|
||||
adzie.xyz: could not connect to host
|
||||
aevpn.org: could not connect to host
|
||||
afrikarl.de: could not connect to host
|
||||
agowa.eu: could not connect to host
|
||||
|
@ -24,6 +25,7 @@ akoww.de: could not connect to host
|
|||
akul.co.in: could not connect to host
|
||||
al-f.net: could not connect to host
|
||||
alauda-home.de: could not connect to host
|
||||
alertboxx.com: could not connect to host
|
||||
alexmol.tk: could not connect to host
|
||||
alexperry.io: could not connect to host
|
||||
alilialili.ga: could not connect to host
|
||||
|
@ -38,27 +40,34 @@ andrepicard.de: could not connect to host
|
|||
andrewhowden.com: could not connect to host
|
||||
annetaan.fi: could not connect to host
|
||||
anoneko.com: could not connect to host
|
||||
answers-online.ru: could not connect to host
|
||||
anyways.at: could not connect to host
|
||||
aoku3d.com: could not connect to host
|
||||
apkoyunlar.club: could not connect to host
|
||||
arent.kz: could not connect to host
|
||||
arksan.com.tr: could not connect to host
|
||||
artisense.de: could not connect to host
|
||||
artyland.ru: could not connect to host
|
||||
asdyx.de: could not connect to host
|
||||
askmagicconch.com: could not connect to host
|
||||
assdecoeur.org: could not connect to host
|
||||
astutikhonda.com: could not connect to host
|
||||
at1.co: could not connect to host
|
||||
athi.pl: could not connect to host
|
||||
austinsutphin.com: could not connect to host
|
||||
australiancattle.dog: could not connect to host
|
||||
auto-anleitung.de: could not connect to host
|
||||
autostop-occasions.be: could not connect to host
|
||||
avi9526.pp.ua: could not connect to host
|
||||
awan.tech: could not connect to host
|
||||
awf0.xyz: could not connect to host
|
||||
b422edu.com: could not connect to host
|
||||
baitulongbaycruises.com: could not connect to host
|
||||
balonmano.co: could not connect to host
|
||||
bandarifamily.com: could not connect to host
|
||||
batfoundry.com: could not connect to host
|
||||
bbdos.ru: could not connect to host
|
||||
beasel.biz: could not connect to host
|
||||
bellavistaoutdoor.com: could not connect to host
|
||||
belua.com: could not connect to host
|
||||
bencorby.com: could not connect to host
|
||||
benjamin-horvath.com: could not connect to host
|
||||
|
@ -91,19 +100,21 @@ carlandfaith.com: could not connect to host
|
|||
catgirl.me: could not connect to host
|
||||
centos.pub: could not connect to host
|
||||
challengeskins.com: could not connect to host
|
||||
chaoslab.org: could not connect to host
|
||||
chaoticlaw.com: could not connect to host
|
||||
cheah.xyz: could not connect to host
|
||||
cheesefusion.com: could not connect to host
|
||||
childrendeservebetter.org: could not connect to host
|
||||
chima.us: could not connect to host
|
||||
china-line.org: could not connect to host
|
||||
chloehorler.com: could not connect to host
|
||||
chosenplaintext.org: could not connect to host
|
||||
chrisself.xyz: could not connect to host
|
||||
christiangaetano.com: could not connect to host
|
||||
chromaryu.net: could not connect to host
|
||||
chziyue.com: could not connect to host
|
||||
clearviewwealthprojector.com.au: could not connect to host
|
||||
cloudbleed.info: could not connect to host
|
||||
cloudimproved.com: could not connect to host
|
||||
cmahy.be: could not connect to host
|
||||
cmpr.es: could not connect to host
|
||||
cnlic.com: could not connect to host
|
||||
cocaine-import.agency: could not connect to host
|
||||
|
@ -113,14 +124,10 @@ colleencornez.com: could not connect to host
|
|||
colo-tech.com: could not connect to host
|
||||
comprehensiveihc.com: could not connect to host
|
||||
conception.sk: could not connect to host
|
||||
conflux.tw: could not connect to host
|
||||
conniesacademy.com: could not connect to host
|
||||
corinnanese.de: could not connect to host
|
||||
cosmeticasimple.com: could not connect to host
|
||||
cosplayer.com: could not connect to host
|
||||
cpaneltips.com: could not connect to host
|
||||
crescent.gr.jp: could not connect to host
|
||||
crestasantos.com: could not connect to host
|
||||
criticalaim.com: could not connect to host
|
||||
crystalmachine.net: could not connect to host
|
||||
csgo77.com: could not connect to host
|
||||
|
@ -131,7 +138,6 @@ d-bood.site: could not connect to host
|
|||
dahlberg.cologne: could not connect to host
|
||||
daniel-stahl.net: could not connect to host
|
||||
danielzuzevich.com: could not connect to host
|
||||
dannyrohde.de: could not connect to host
|
||||
darlo.co.uk: could not connect to host
|
||||
datorb.com: could not connect to host
|
||||
davros.eu: could not connect to host
|
||||
|
@ -146,8 +152,8 @@ derivativeshub.pro: could not connect to host
|
|||
detroit-english.de: could not connect to host
|
||||
dev-talk.eu: could not connect to host
|
||||
devkid.net: could not connect to host
|
||||
devops.moe: could not connect to host
|
||||
dick.red: could not connect to host
|
||||
die-blahuts.de: could not connect to host
|
||||
digioccumss.ddns.net: could not connect to host
|
||||
diguass.us: could not connect to host
|
||||
dijks.com: could not connect to host
|
||||
|
@ -164,6 +170,7 @@ duch.cloud: could not connect to host
|
|||
duelsow.eu: could not connect to host
|
||||
duks.com.br: could not connect to host
|
||||
duo.money: could not connect to host
|
||||
e-wishlist.net: could not connect to host
|
||||
eagleridgecampground.com: could not connect to host
|
||||
eatfitoutlet.com.br: could not connect to host
|
||||
eeb98.com: could not connect to host
|
||||
|
@ -174,6 +181,7 @@ elexel.ru: could not connect to host
|
|||
endlessdiy.ca: could not connect to host
|
||||
energy-drink-magazin.de: could not connect to host
|
||||
engg.ca: could not connect to host
|
||||
enriquepiraces.com: could not connect to host
|
||||
esibun.net: could not connect to host
|
||||
estan.cn: could not connect to host
|
||||
eurostrategy.vn.ua: could not connect to host
|
||||
|
@ -198,7 +206,7 @@ firexarxa.de: could not connect to host
|
|||
first-time-offender.com: could not connect to host
|
||||
fixmyglitch.com: could not connect to host
|
||||
flam.io: could not connect to host
|
||||
fleximus.org: could not connect to host
|
||||
fletchto99.com: could not connect to host
|
||||
foodserve.in: could not connect to host
|
||||
fossewayflowers.co.uk: could not connect to host
|
||||
fossewayflowers.com: could not connect to host
|
||||
|
@ -209,7 +217,6 @@ freaksites.dk: could not connect to host
|
|||
fredliang.cn: could not connect to host
|
||||
fredtec.ru: could not connect to host
|
||||
freesounding.ru: could not connect to host
|
||||
frino.de: could not connect to host
|
||||
fromlemaytoz.com: could not connect to host
|
||||
frosty-gaming.xyz: could not connect to host
|
||||
fsck.cz: could not connect to host
|
||||
|
@ -223,11 +230,12 @@ fyol.pw: could not connect to host
|
|||
g4w.co: could not connect to host
|
||||
gam3rs.de: could not connect to host
|
||||
game-gentle.com: could not connect to host
|
||||
garagemhermetica.org: could not connect to host
|
||||
gasbarkenora.com: could not connect to host
|
||||
gasnews.net: could not connect to host
|
||||
gautham.it: could not connect to host
|
||||
gaygeeks.de: could not connect to host
|
||||
gbcsummercamps.com: could not connect to host
|
||||
gdevpenze.ru: 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
|
||||
|
@ -237,6 +245,9 @@ getwarden.net: could not connect to host
|
|||
gevaulug.fr: could not connect to host
|
||||
gfoss.gr: could not connect to host
|
||||
ggss.cf: could not connect to host
|
||||
ghostblog.info: could not connect to host
|
||||
giveme.online: could not connect to host
|
||||
gizmo.ovh: could not connect to host
|
||||
gnom.me: could not connect to host
|
||||
godrealms.com: could not connect to host
|
||||
google: could not connect to host
|
||||
|
@ -271,10 +282,11 @@ hoodoo.io: could not connect to host
|
|||
hoodoo.tech: could not connect to host
|
||||
horvathd.eu: could not connect to host
|
||||
hotchillibox.co.za: could not connect to host
|
||||
hotplug.gr: could not connect to host
|
||||
hukkatavara.com: could not connect to host
|
||||
hundter.com: could not connect to host
|
||||
huntshomeinspections.com: could not connect to host
|
||||
ibase.com: could not connect to host
|
||||
icbemp.gov: could not connect to host
|
||||
ifxnet.com: could not connect to host
|
||||
ikenmeyer.eu: could not connect to host
|
||||
ileat.com: could not connect to host
|
||||
|
@ -286,7 +298,9 @@ injust.me: could not connect to host
|
|||
insouciant.org: could not connect to host
|
||||
investorloanshub.com: could not connect to host
|
||||
iris-insa.com: could not connect to host
|
||||
isaacman.tech: could not connect to host
|
||||
issuesofconcern.in: could not connect to host
|
||||
itmanie.cz: could not connect to host
|
||||
itpro-mg.de: could not connect to host
|
||||
itproject.guru: could not connect to host
|
||||
ivanpolchenko.com: could not connect to host
|
||||
|
@ -302,16 +316,15 @@ jiyuu-ni.com: could not connect to host
|
|||
jiyuu-ni.net: could not connect to host
|
||||
jobmedic.com: could not connect to host
|
||||
joecod.es: could not connect to host
|
||||
johnmh.me: could not connect to host
|
||||
jonathansanchez.pro: could not connect to host
|
||||
jonpads.com: could not connect to host
|
||||
jons.org: could not connect to host
|
||||
joostbovee.nl: 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
|
||||
k82.org: could not connect to host
|
||||
kamikaichimaru.com: could not connect to host
|
||||
kanaanonline.org: could not connect to host
|
||||
kanjo.de: could not connect to host
|
||||
kapo.info: could not connect to host
|
||||
karanlyons.com: could not connect to host
|
||||
|
@ -319,9 +332,9 @@ karuneshjohri.com: could not connect to host
|
|||
katzen.me: could not connect to host
|
||||
kawaiiku.com: could not connect to host
|
||||
kawaiiku.de: could not connect to host
|
||||
kbfl.org: could not connect to host
|
||||
kenrogers.co: could not connect to host
|
||||
kenvix.com: could not connect to host
|
||||
kibibit.net: could not connect to host
|
||||
kieranweightman.me: could not connect to host
|
||||
kinepolis-studio.ga: could not connect to host
|
||||
kjoglum.me: could not connect to host
|
||||
|
@ -332,8 +345,10 @@ kousaku.jp: could not connect to host
|
|||
kozmik.co: could not connect to host
|
||||
kteen.info: could not connect to host
|
||||
kylling.io: could not connect to host
|
||||
laboutiquemarocaineduconvoyeur.ma: could not connect to host
|
||||
lacasa.fr: could not connect to host
|
||||
lachawoj.de: could not connect to host
|
||||
lafosseobservatoire.be: 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
|
||||
|
@ -347,7 +362,6 @@ lenkunz.me: could not connect to host
|
|||
leveredge.net: could not connect to host
|
||||
lezdomsm.com: could not connect to host
|
||||
lheinrich.org: could not connect to host
|
||||
libbitcoin.org: could not connect to host
|
||||
lifenexto.com: could not connect to host
|
||||
lingerieonline.com.br: could not connect to host
|
||||
linksanitizer.com: could not connect to host
|
||||
|
@ -366,7 +380,6 @@ lovelytimes.net: could not connect to host
|
|||
luav.org: could not connect to host
|
||||
lubomirkazakov.com: could not connect to host
|
||||
luenwarneke.com: could not connect to host
|
||||
maartenterpstra.xyz: could not connect to host
|
||||
macedopesca.com.br: could not connect to host
|
||||
madrants.net: could not connect to host
|
||||
magnacumlaude.co: could not connect to host
|
||||
|
@ -402,8 +415,6 @@ mpserver12.org: could not connect to host
|
|||
mrliu.me: could not connect to host
|
||||
mtn.cc: could not connect to host
|
||||
munduch.cz: could not connect to host
|
||||
musearchengine.com: could not connect to host
|
||||
mygallery.homelinux.net: could not connect to host
|
||||
myrent.quebec: could not connect to host
|
||||
naphex.rocks: could not connect to host
|
||||
narodsovety.ru: could not connect to host
|
||||
|
@ -419,8 +430,8 @@ nikolasbradshaw.com: could not connect to host
|
|||
niouininon.eu: could not connect to host
|
||||
niva.synology.me: could not connect to host
|
||||
nkb.in.th: could not connect to host
|
||||
nlegall.fr: could not connect to host
|
||||
nodelab-it.de: could not connect to host
|
||||
notadd.store: could not connect to host
|
||||
notcompletelycorrect.com: could not connect to host
|
||||
notesforpebble.com: could not connect to host
|
||||
novascan.net: could not connect to host
|
||||
|
@ -428,9 +439,9 @@ novelabs.eu: could not connect to host
|
|||
nowcost.com: could not connect to host
|
||||
nowremindme.com: could not connect to host
|
||||
nup.pw: could not connect to host
|
||||
oasisim.net: could not connect to host
|
||||
obdolbacca.ru: could not connect to host
|
||||
oberhof.co: could not connect to host
|
||||
octal.es: could not connect to host
|
||||
octosys.net: could not connect to host
|
||||
octosys.org: could not connect to host
|
||||
octosys.ru: could not connect to host
|
||||
|
@ -446,14 +457,14 @@ oscsdp.cz: could not connect to host
|
|||
outetc.com: could not connect to host
|
||||
oxygaming.com: could not connect to host
|
||||
oxymc.com: could not connect to host
|
||||
ozonitron.com: could not connect to host
|
||||
ozonitron.de: could not connect to host
|
||||
ozonitron.eu: could not connect to host
|
||||
palmavile.us: could not connect to host
|
||||
palmaville.com: could not connect to host
|
||||
pascalchristen.ch: could not connect to host
|
||||
pear2pear.de: could not connect to host
|
||||
perkbrian.com: could not connect to host
|
||||
persjrp.ca: could not connect to host
|
||||
persoform.ch: could not connect to host
|
||||
peter.org.ua: could not connect to host
|
||||
pgpmail.cc: could not connect to host
|
||||
philippa.cool: could not connect to host
|
||||
php-tuning.de: could not connect to host
|
||||
|
@ -483,6 +494,7 @@ reignsphere.net: could not connect to host
|
|||
reinaertvandecruys.me: could not connect to host
|
||||
reismil.ch: could not connect to host
|
||||
repaxan.com: could not connect to host
|
||||
reporting.gov: could not connect to host
|
||||
reqognize.com: could not connect to host
|
||||
reth.ch: could not connect to host
|
||||
retube.ga: could not connect to host
|
||||
|
@ -508,7 +520,6 @@ samaritan.tech: could not connect to host
|
|||
sanatrans.com: could not connect to host
|
||||
sanmuding.com: could not connect to host
|
||||
sarndipity.com: could not connect to host
|
||||
savecashindia.com: could not connect to host
|
||||
schamlosharmlos.de: could not connect to host
|
||||
scm-2017.org: could not connect to host
|
||||
seanstrout.com: could not connect to host
|
||||
|
@ -521,7 +532,6 @@ semantheme.fr: could not connect to host
|
|||
servecrypt.com: could not connect to host
|
||||
servfefe.com: could not connect to host
|
||||
sesha.co.za: could not connect to host
|
||||
sgtsnookums.net: 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
|
||||
|
@ -530,6 +540,7 @@ sheratan.web.id: could not connect to host
|
|||
sheying.tm: could not connect to host
|
||||
shirakaba-cc.com: could not connect to host
|
||||
shopifycloud.com: could not connect to host
|
||||
shoppingreview.org: could not connect to host
|
||||
shotonwhat.com: could not connect to host
|
||||
siliconchip.me: could not connect to host
|
||||
simbolo.co.uk: could not connect to host
|
||||
|
@ -548,28 +559,32 @@ socialworkout.net: could not connect to host
|
|||
socialworkout.org: could not connect to host
|
||||
socialworkout.tv: could not connect to host
|
||||
socketize.com: could not connect to host
|
||||
sodiao.cc: could not connect to host
|
||||
solos.im: could not connect to host
|
||||
somali-derp.com: could not connect to host
|
||||
soulema.com: could not connect to host
|
||||
sowingseasons.com: could not connect to host
|
||||
spacountryexplorer.org.au: could not connect to host
|
||||
spdf.net: could not connect to host
|
||||
spha.info: could not connect to host
|
||||
spicywombat.com: could not connect to host
|
||||
spom.net: could not connect to host
|
||||
sportsmanadvisor.com: could not connect to host
|
||||
stadtgartenla.com: could not connect to host
|
||||
statgram.me: could not connect to host
|
||||
static-assets.io: could not connect to host
|
||||
stefanovski.io: could not connect to host
|
||||
stickswag.cf: could not connect to host
|
||||
stpip.com: could not connect to host
|
||||
stylle.me: could not connect to host
|
||||
surdam.casa: could not connect to host
|
||||
sussexwebdesigns.com: could not connect to host
|
||||
sviz.pro: could not connect to host
|
||||
takusan.ru: could not connect to host
|
||||
talktwincities.com: could not connect to host
|
||||
tbarter.com: could not connect to host
|
||||
tdsb.cf: could not connect to host
|
||||
tdsbhack.tk: could not connect to host
|
||||
techask.it: could not connect to host
|
||||
technoinfogroup.it: could not connect to host
|
||||
techpit.us: could not connect to host
|
||||
telugu4u.net: could not connect to host
|
||||
tenispopular.com: could not connect to host
|
||||
|
@ -578,15 +593,18 @@ theresa-mayer.eu: could not connect to host
|
|||
thesehighsandlows.com: could not connect to host
|
||||
thinkcash.nl: could not connect to host
|
||||
thinktux.net: could not connect to host
|
||||
thynx.io: could not connect to host
|
||||
tierarztpraxis-weinert.de: could not connect to host
|
||||
tiliaze.info: could not connect to host
|
||||
tiliaze.net: could not connect to host
|
||||
timysewyn.be: could not connect to host
|
||||
tobi-mayer.de: could not connect to host
|
||||
totallynotaserver.com: could not connect to host
|
||||
totch.de: could not connect to host
|
||||
totot.net: could not connect to host
|
||||
traces.ml: could not connect to host
|
||||
transcendmotor.sg: could not connect to host
|
||||
treebaglia.xyz: could not connect to host
|
||||
troianet.com.br: could not connect to host
|
||||
tucidi.net: could not connect to host
|
||||
turn-sticks.com: could not connect to host
|
||||
tusb.ml: could not connect to host
|
||||
|
@ -600,8 +618,8 @@ umsapi.com: could not connect to host
|
|||
unicorn.li: could not connect to host
|
||||
uniformehumboldt.com.br: could not connect to host
|
||||
unterschicht.tv: could not connect to host
|
||||
upr.com.ua: could not connect to host
|
||||
vadik.me: could not connect to host
|
||||
valshamar.is: could not connect to host
|
||||
vanderstraeten.dynv6.net: could not connect to host
|
||||
vapehour.com: could not connect to host
|
||||
vapeshopsupply.com: could not connect to host
|
||||
|
@ -653,13 +671,13 @@ yobbelwobbel.de: could not connect to host
|
|||
youyoulemon.com: could not connect to host
|
||||
yum0.cn: could not connect to host
|
||||
yux.fr: could not connect to host
|
||||
z33.ch: could not connect to host
|
||||
zaoext.com: could not connect to host
|
||||
zberger.com: could not connect to host
|
||||
zellari.ru: could not connect to host
|
||||
zenfusion.fr: could not connect to host
|
||||
zenghx.tk: could not connect to host
|
||||
zerosource.net: could not connect to host
|
||||
zeug.co: could not connect to host
|
||||
zopyx.com: could not connect to host
|
||||
zorz.info: could not connect to host
|
||||
ztytian.com: could not connect to host
|
||||
|
@ -671,7 +689,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: did not receive HSTS header
|
||||
0222aa.com: could not connect to host
|
||||
048.ag: could not connect to host
|
||||
050508.com: could not connect to host
|
||||
0f.io: could not connect to host
|
||||
|
@ -692,6 +710,7 @@ zzw.ca: could not connect to host
|
|||
1018hosting.nl: did not receive HSTS header
|
||||
1022996493.rsc.cdn77.org: could not connect to host
|
||||
1091.jp: could not connect to host
|
||||
10ppm.com: did not receive HSTS header
|
||||
10seos.com: did not receive HSTS header
|
||||
10tacle.io: could not connect to host
|
||||
12.net: did not receive HSTS header
|
||||
|
@ -1107,6 +1126,7 @@ amigogeek.net: could not connect to host
|
|||
amilx.com: could not connect to host
|
||||
amilx.org: could not connect to host
|
||||
amimoto-ami.com: max-age too low: 3153600
|
||||
amin.one: did not receive HSTS header
|
||||
amishsecurity.com: could not connect to host
|
||||
amitse.com: did not receive HSTS header
|
||||
amitube.com: did not receive HSTS header
|
||||
|
@ -1191,7 +1211,6 @@ antoineschaller.ch: did not receive HSTS header
|
|||
antoniomarques.eu: did not receive HSTS header
|
||||
antoniorequena.com.ve: could not connect to host
|
||||
antscript.com: did not receive HSTS header
|
||||
anttitenhunen.com: could not connect to host
|
||||
anycoin.me: could not connect to host
|
||||
anymetrix.io: did not receive HSTS header
|
||||
aocast.info: could not connect to host
|
||||
|
@ -1247,6 +1266,7 @@ areyouever.me: did not receive HSTS header
|
|||
argennon.xyz: could not connect to host
|
||||
arguggi.co.uk: could not connect to host
|
||||
ariacreations.net: did not receive HSTS header
|
||||
arislight.com: did not receive HSTS header
|
||||
aristilabs.com: did not receive HSTS header
|
||||
arlen.io: could not connect to host
|
||||
arlen.se: could not connect to host
|
||||
|
@ -1348,7 +1368,7 @@ autobedarf.net: did not receive HSTS header
|
|||
autodeploy.it: could not connect to host
|
||||
autoecolebudget.ch: did not receive HSTS header
|
||||
autoeet.cz: did not receive HSTS header
|
||||
autoepc.ro: could not connect to host
|
||||
autoepc.ro: did not receive HSTS header
|
||||
autojuhos.sk: could not connect to host
|
||||
autokovrik-diskont.ru: did not receive HSTS header
|
||||
automobiles5.com: could not connect to host
|
||||
|
@ -1479,6 +1499,7 @@ bedabox.com: max-age too low: 0
|
|||
bedeta.de: could not connect to host
|
||||
bedreid.dk: did not receive HSTS header
|
||||
bedrijvenadministratie.nl: could not connect to host
|
||||
beepan.com: did not receive HSTS header
|
||||
beerboutique.com.br: could not connect to host
|
||||
beetleroadstories.com: could not connect to host
|
||||
befundup.com: could not connect to host
|
||||
|
@ -1715,7 +1736,6 @@ bratteng.xyz: could not connect to host
|
|||
bravz.de: could not connect to host
|
||||
bremensaki.com: max-age too low: 2592000
|
||||
brenden.net.au: did not receive HSTS header
|
||||
brfvh24.se: could not connect to host
|
||||
brickoo.com: could not connect to host
|
||||
brickyardbuffalo.com: did not receive HSTS header
|
||||
bridholm.se: could not connect to host
|
||||
|
@ -1799,7 +1819,6 @@ buzzconcert.com: could not connect to host
|
|||
buzztelco.com.au: did not receive HSTS header
|
||||
bw81.xyz: could not connect to host
|
||||
bwear4all.de: could not connect to host
|
||||
by1896.com: did not receive HSTS header
|
||||
by4cqb.cn: could not connect to host
|
||||
bydisk.com: could not connect to host
|
||||
byken.cn: did not receive HSTS header
|
||||
|
@ -1878,7 +1897,6 @@ canadiangamblingchoice.com: did not receive HSTS header
|
|||
candicontrols.com: did not receive HSTS header
|
||||
candratech.com: could not connect to host
|
||||
candygirl.shop: could not connect to host
|
||||
canlidoviz.com: did not receive HSTS header
|
||||
canyonshoa.com: did not receive HSTS header
|
||||
capecycles.co.za: did not receive HSTS header
|
||||
capeyorkfire.com.au: did not receive HSTS header
|
||||
|
@ -1910,7 +1928,7 @@ casefall.com: could not connect to host
|
|||
cash-pos.com: could not connect to host
|
||||
cashmyphone.ch: could not connect to host
|
||||
casino-cashflow.ru: did not receive HSTS header
|
||||
casinostest.com: did not receive HSTS header
|
||||
casinostest.com: could not connect to host
|
||||
casioshop.eu: did not receive HSTS header
|
||||
casovi.cf: could not connect to host
|
||||
castagnonavocats.com: did not receive HSTS header
|
||||
|
@ -2047,7 +2065,6 @@ cintdirect.com: could not connect to host
|
|||
cioconference.co.nz: could not connect to host
|
||||
ciplanutrition.com: did not receive HSTS header
|
||||
cirrohost.com: did not receive HSTS header
|
||||
cirrus0.de: did not receive HSTS header
|
||||
ciscohomeanalytics.com: could not connect to host
|
||||
ciscommerce.net: [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]
|
||||
citiagent.cz: could not connect to host
|
||||
|
@ -2170,7 +2187,6 @@ comfortticket.de: did not receive HSTS header
|
|||
comfy.cafe: did not receive HSTS header
|
||||
comfy.moe: did not receive HSTS header
|
||||
comicspines.com: could not connect to host
|
||||
comicspornos.com: max-age too low: 2592000
|
||||
comitesaustria.at: could not connect to host
|
||||
comiteshopping.com: could not connect to host
|
||||
commercialplanet.eu: could not connect to host
|
||||
|
@ -2186,6 +2202,7 @@ compiledworks.com: could not connect to host
|
|||
completionist.audio: could not connect to host
|
||||
complymd.com: did not receive HSTS header
|
||||
compraneta.com: did not receive HSTS header
|
||||
compubench.com: did not receive HSTS header
|
||||
compucorner.com.mx: could not connect to host
|
||||
computeremergency.com.au: did not receive HSTS header
|
||||
computersystems.guru: did not receive HSTS header
|
||||
|
@ -2193,6 +2210,7 @@ computertal.de: could not connect to host
|
|||
concentrade.de: did not receive HSTS header
|
||||
concord-group.co.jp: did not receive HSTS header
|
||||
confirm365.com: could not connect to host
|
||||
conflux.tw: did not receive HSTS header
|
||||
conformal.com: could not connect to host
|
||||
cong5.net: could not connect to host
|
||||
congz.me: could not connect to host
|
||||
|
@ -2420,7 +2438,6 @@ darkpony.ru: could not connect to host
|
|||
darksideof.it: could not connect to host
|
||||
darkstance.org: could not connect to host
|
||||
darktree.in: could not connect to host
|
||||
darkwater.info: did not receive HSTS header
|
||||
daropia.org: could not connect to host
|
||||
darrenellis.xyz: did not receive HSTS header
|
||||
dash-board.jp: did not receive HSTS header
|
||||
|
@ -2458,7 +2475,7 @@ dcl.re: did not receive HSTS header
|
|||
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
|
||||
ddatsh.com: could not connect to host
|
||||
debank.tv: did not receive HSTS header
|
||||
debatch.se: could not connect to host
|
||||
debian-vhost.de: did not receive HSTS header
|
||||
|
@ -2553,6 +2570,7 @@ diannaobos.com: did not receive HSTS header
|
|||
dicando.com: max-age too low: 2592000
|
||||
dicelab.co.uk: could not connect to host
|
||||
dicionariofinanceiro.com: did not receive HSTS header
|
||||
dicoding.com: did not receive HSTS header
|
||||
dieb.photo: could not connect to host
|
||||
dierenkruiden.nl: could not connect to host
|
||||
diewebstube.de: could not connect to host
|
||||
|
@ -2724,6 +2742,7 @@ dshiv.io: could not connect to host
|
|||
dtub.co: could not connect to host
|
||||
dualias.xyz: could not connect to host
|
||||
dubik.su: did not receive HSTS header
|
||||
dudesunderwear.com.br: 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
|
||||
|
@ -2773,6 +2792,7 @@ ebiografia.com: did not receive HSTS header
|
|||
ebiografias.com.br: did not receive HSTS header
|
||||
ebolsa.com.br: did not receive HSTS header
|
||||
ebolsas.com.br: did not receive HSTS header
|
||||
ebooksgratuits.org: did not receive HSTS header
|
||||
ebp2p.com: did not receive HSTS header
|
||||
ebpglobal.com: did not receive HSTS header
|
||||
ebraph.com: could not connect to host
|
||||
|
@ -2976,7 +2996,6 @@ esko.bar: could not connect to host
|
|||
esln.org: did not receive HSTS header
|
||||
esn-ypci.com: could not connect to host
|
||||
esocweb.com: could not connect to host
|
||||
esp.community: did not receive HSTS header
|
||||
esp8285.store: could not connect to host
|
||||
espacemontmorency.com: did not receive HSTS header
|
||||
especificosba.com.mx: could not connect to host
|
||||
|
@ -3102,6 +3121,7 @@ fanflow.com: did not receive HSTS header
|
|||
fantasyfootballpundit.com: did not receive HSTS header
|
||||
fanyl.cn: could not connect to host
|
||||
farces.com: did not receive HSTS header
|
||||
farhadexchange.com: did not receive HSTS header
|
||||
farwat.ru: did not receive HSTS header
|
||||
fashion.net: did not receive HSTS header
|
||||
fashioncare.cz: did not receive HSTS header
|
||||
|
@ -3129,7 +3149,6 @@ feedthebot.com: did not receive HSTS header
|
|||
feezmodo.com: did not receive HSTS header
|
||||
fefore.com: could not connect to host
|
||||
fegans.org.uk: did not receive HSTS header
|
||||
feirlane.org: could not connect to host
|
||||
felisslovakia.sk: [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]
|
||||
feliwyn.fr: did not receive HSTS header
|
||||
felixrr.pro: could not connect to host
|
||||
|
@ -3289,6 +3308,7 @@ frasesytarjetas.com: did not receive HSTS header
|
|||
frasys.io: did not receive HSTS header
|
||||
frau-inge.de: could not connect to host
|
||||
fraudempire.com: could not connect to host
|
||||
frederik-braun.com: did not receive HSTS header
|
||||
freeflow.tv: could not connect to host
|
||||
freelanced.co.za: could not connect to host
|
||||
freelo.cz: did not receive HSTS header
|
||||
|
@ -3412,10 +3432,11 @@ gatapro.net: could not connect to host
|
|||
gatorsa.es: did not receive HSTS header
|
||||
gaussorgues.me: could not connect to host
|
||||
gdegem.org: did not receive HSTS header
|
||||
gdz.tv: did not receive HSTS header
|
||||
gebn.co.uk: did not receive HSTS header
|
||||
gebn.uk: could not connect to host
|
||||
gedankenbude.info: could not connect to host
|
||||
geek.com.tw: did not receive HSTS header
|
||||
geek.tw: did not receive HSTS header
|
||||
geekcast.co.uk: did not receive HSTS header
|
||||
geekmind.org: max-age too low: 172800
|
||||
geeks.lgbt: could not connect to host
|
||||
|
@ -3473,7 +3494,7 @@ getwashdaddy.com: could not connect to host
|
|||
gfm.tech: could not connect to host
|
||||
gfournier.ca: could not connect to host
|
||||
gfwsb.ml: could not connect to host
|
||||
ggs-marschallstrasse.de: did not receive HSTS header
|
||||
gfxbench.com: did not receive HSTS header
|
||||
ggss.ml: could not connect to host
|
||||
gh16.com.ar: could not connect to host
|
||||
gheorghe-sarcov.ga: could not connect to host
|
||||
|
@ -3655,6 +3676,7 @@ gtanda.tk: could not connect to host
|
|||
gtech.work: did not receive HSTS header
|
||||
gtldna.com: could not connect to host
|
||||
gtlfsonlinepay.com: did not receive HSTS header
|
||||
gtopala.com: did not receive HSTS header
|
||||
gtraxapp.com: could not connect to host
|
||||
gts-schulsoftware.de: did not receive HSTS header
|
||||
guava.studio: did not receive HSTS header
|
||||
|
@ -3858,7 +3880,6 @@ hikinggearlab.com: did not receive HSTS header
|
|||
hilinemerchandising.com: did not receive HSTS header
|
||||
hillcity.org.nz: did not receive HSTS header
|
||||
hilnu.tk: could not connect to host
|
||||
himens.com: did not receive HSTS header
|
||||
hintergedanken.com: did not receive HSTS header
|
||||
hipercultura.com: did not receive HSTS header
|
||||
hiphopconvention.nl: could not connect to host
|
||||
|
@ -3969,7 +3990,6 @@ hydronium.ga: could not connect to host
|
|||
hydronium.me: could not connect to host
|
||||
hydronium.ml: could not connect to host
|
||||
hydronium.tk: could not connect to host
|
||||
hydronyx.me: could not connect to host
|
||||
hypa.net.au: did not receive HSTS header
|
||||
hyper69.com: did not receive HSTS header
|
||||
hypnoresults.com.au: did not receive HSTS header
|
||||
|
@ -4035,11 +4055,10 @@ ihrlotto.de: could not connect to host
|
|||
ihrnationalrat.ch: could not connect to host
|
||||
ihsbsd.me: could not connect to host
|
||||
ihsbsd.tk: could not connect to host
|
||||
iiong.com: did not receive HSTS header
|
||||
iispeed.com: did not receive HSTS header
|
||||
ijn-dd.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]
|
||||
ijoda.com: did not receive HSTS header
|
||||
ikon.name: could not connect to host
|
||||
ikon.name: did not receive HSTS header
|
||||
ikwilguidobellen.nl: could not connect to host
|
||||
ilbuongiorno.it: did not receive HSTS header
|
||||
ilgi.work: could not connect to host
|
||||
|
@ -4135,6 +4154,7 @@ inspiroinc.com: could not connect to host
|
|||
instacart.com: did not receive HSTS header
|
||||
instant-hack.com: did not receive HSTS header
|
||||
instantdev.io: could not connect to host
|
||||
instantkhabar.com: did not receive HSTS header
|
||||
instinctiveads.com: did not receive HSTS header
|
||||
institutoflordelavida.com: could not connect to host
|
||||
instruktor.io: could not connect to host
|
||||
|
@ -4165,6 +4185,7 @@ inverselink-user-content.com: could not connect to host
|
|||
inverselink.com: could not connect to host
|
||||
investnext.com: max-age too low: 43200
|
||||
invictusmc.uk: could not connect to host
|
||||
inviosolutions.com: max-age too low: 0
|
||||
invite24.pro: could not connect to host
|
||||
iolife.dk: could not connect to host
|
||||
ionas-law.ro: did not receive HSTS header
|
||||
|
@ -4267,7 +4288,6 @@ jackdoan.com: did not receive HSTS header
|
|||
jackfahnestock.com: could not connect to host
|
||||
jacobparry.ca: did not receive HSTS header
|
||||
jagido.de: did not receive HSTS header
|
||||
jaguarwong.xyz: could not connect to host
|
||||
jahliveradio.com: could not connect to host
|
||||
jamanji.com.ng: could not connect to host
|
||||
james-parker.com: did not receive HSTS header
|
||||
|
@ -4453,6 +4473,7 @@ justlikethat.hosting: did not receive HSTS header
|
|||
justnaw.co.uk: could not connect to host
|
||||
justudin.com: did not receive HSTS header
|
||||
justwood.cz: did not receive HSTS header
|
||||
jutella.de: did not receive HSTS header
|
||||
juvenex.co: could not connect to host
|
||||
juwairen.cn: could not connect to host
|
||||
jvoice.net: could not connect to host
|
||||
|
@ -4593,7 +4614,7 @@ kletterkater.com: did not receive HSTS header
|
|||
klicktojob.de: could not connect to host
|
||||
klunkergarten.org: could not connect to host
|
||||
knapen.io: max-age too low: 604800
|
||||
knccloud.com: did not receive HSTS header
|
||||
knccloud.com: could not connect to host
|
||||
kngk-transavto.ru: could not connect to host
|
||||
knigadel.com: did not receive HSTS header
|
||||
knightsbridgegroup.org: could not connect to host
|
||||
|
@ -4618,6 +4639,7 @@ kolozsvaricsuhe.hu: did not receive HSTS header
|
|||
komikito.com: could not connect to host
|
||||
kompetenzwerft.de: did not receive HSTS header
|
||||
konata.us: could not connect to host
|
||||
konkurs.ba: did not receive HSTS header
|
||||
kontaxis.network: could not connect to host
|
||||
koopjesnel.nl: could not connect to host
|
||||
koordinate.net: could not connect to host
|
||||
|
@ -4729,7 +4751,6 @@ 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: did not receive HSTS header
|
||||
laplaceduvillage.net: could not connect to host
|
||||
laplanetebleue.com: did not receive HSTS header
|
||||
laquack.com: could not connect to host
|
||||
|
@ -4817,6 +4838,7 @@ lgts.se: could not connect to host
|
|||
liaillustr.at: did not receive HSTS header
|
||||
liam-w.com: did not receive HSTS header
|
||||
liamjack.fr: could not connect to host
|
||||
liangji.com.tw: did not receive HSTS header
|
||||
lianye.in: did not receive HSTS header
|
||||
lianyexiuchang.in: could not connect to host
|
||||
liaoshuma.com: could not connect to host
|
||||
|
@ -5164,7 +5186,6 @@ matthewprenger.com: could not connect to host
|
|||
matthiassteen.be: max-age too low: 0
|
||||
mattressinsider.com: max-age too low: 3153600
|
||||
mattsvensson.com: max-age too low: 0
|
||||
mattwservices.co.uk: did not receive HSTS header
|
||||
matty.digital: did not receive HSTS header
|
||||
maultrom.ml: could not connect to host
|
||||
maupiknik.com: did not receive HSTS header
|
||||
|
@ -5179,6 +5200,7 @@ maxserver.com: did not receive HSTS header
|
|||
maya.mg: could not connect to host
|
||||
mazyun.com: max-age too low: 3600
|
||||
mazz-tech.com: could not connect to host
|
||||
mazzotta.me: did not receive HSTS header
|
||||
mbconsultancy.nu: did not receive HSTS header
|
||||
mc81.com: could not connect to host
|
||||
mca2017.org: did not receive HSTS header
|
||||
|
@ -5654,6 +5676,7 @@ neko-life.com: did not receive HSTS header
|
|||
neko-system.com: did not receive HSTS header
|
||||
nemno.de: could not connect to host
|
||||
nemovement.org: could not connect to host
|
||||
neo19.com: did not receive HSTS header
|
||||
neoani.me: could not connect to host
|
||||
neofelhz.space: could not connect to host
|
||||
neonisi.com: could not connect to host
|
||||
|
@ -5870,7 +5893,7 @@ offshorefirma-gruenden.com: could not connect to host
|
|||
offshoremarineparts.com: did not receive HSTS header
|
||||
oficinadocelular.com.br: could not connect to host
|
||||
oganek.ie: could not connect to host
|
||||
oganime.com: did not receive HSTS header
|
||||
oganime.com: could not connect to host
|
||||
ogogoshop.com: could not connect to host
|
||||
ohling.org: could not connect to host
|
||||
ohm2013.org: did not receive HSTS header
|
||||
|
@ -5880,6 +5903,7 @@ oiepoie.nl: could not connect to host
|
|||
oishioffice.com: did not receive HSTS header
|
||||
ojls.co: could not connect to host
|
||||
okane.love: could not connect to host
|
||||
oke.com.tw: did not receive HSTS header
|
||||
okok-rent.com: could not connect to host
|
||||
okok.rent: could not connect to host
|
||||
okutama.in.th: could not connect to host
|
||||
|
@ -5897,7 +5921,6 @@ ominto.com: did not receive HSTS header
|
|||
omniscimus.net: could not connect to host
|
||||
omniti.com: max-age too low: 1
|
||||
omquote.gq: could not connect to host
|
||||
omsdieppe.fr: did not receive HSTS header
|
||||
omskit.ru: did not receive HSTS header
|
||||
omyogarishikesh.com: did not receive HSTS header
|
||||
one-pe.com: did not receive HSTS header
|
||||
|
@ -5998,7 +6021,6 @@ oscloud.com.ua: could not connect to host
|
|||
oscreen.me: could not connect to host
|
||||
oscreen.org: could not connect to host
|
||||
osdls.gov: could not connect to host
|
||||
oshrc.gov: did not receive HSTS header
|
||||
oslfoundation.org: could not connect to host
|
||||
osp.cx: could not connect to host
|
||||
ossan-kobe-gourmet.com: did not receive HSTS header
|
||||
|
@ -6028,7 +6050,6 @@ ovvy.net: did not receive HSTS header
|
|||
owennelson.me: could not connect to host
|
||||
owncloud.help: could not connect to host
|
||||
ownmovies.fr: could not connect to host
|
||||
oxro.co: did not receive HSTS header
|
||||
oxygenabsorbers.com: did not receive HSTS header
|
||||
oxynux.fr: could not connect to host
|
||||
oyste.in: could not connect to host
|
||||
|
@ -6125,6 +6146,7 @@ payments-reference.org: could not connect to host
|
|||
payments.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
payroll.ch: could not connect to host
|
||||
paytwopay.com: could not connect to host
|
||||
pback.se: did not receive HSTS header
|
||||
pbapp.net: did not receive HSTS header
|
||||
pbbr.com: did not receive HSTS header
|
||||
pbprint.ru: did not receive HSTS header
|
||||
|
@ -6280,6 +6302,7 @@ playnation.io: could not connect to host
|
|||
pleasure.forsale: could not connect to host
|
||||
pleier-it.de: did not receive HSTS header
|
||||
pleier.it: did not receive HSTS header
|
||||
plextv.de: did not receive HSTS header
|
||||
plfgr.eu.org: could not connect to host
|
||||
plhdb.org: did not receive HSTS header
|
||||
plirt.ru: could not connect to host
|
||||
|
@ -6346,6 +6369,7 @@ potatoheads.net: could not connect to host
|
|||
potbar.com: could not connect to host
|
||||
potlytics.com: could not connect to host
|
||||
potsky.com: did not receive HSTS header
|
||||
pourmesloisirs.com: did not receive HSTS header
|
||||
poussinooz.fr: could not connect to host
|
||||
povitria.net: could not connect to host
|
||||
power-l.ch: did not receive HSTS header
|
||||
|
@ -6472,7 +6496,7 @@ pwd.ovh: could not connect to host
|
|||
pwm.jp: could not connect to host
|
||||
pwnsdx.pw: could not connect to host
|
||||
pyol.org: could not connect to host
|
||||
pypi-mirrors.org: did not receive HSTS header
|
||||
pypi-mirrors.org: could not connect to host
|
||||
pypi-status.org: could not connect to host
|
||||
pyplo.org: did not receive HSTS header
|
||||
pypt.lt: did not receive HSTS header
|
||||
|
@ -6795,7 +6819,6 @@ rubyshop.nl: max-age too low: 604800
|
|||
rudeotter.com: did not receive HSTS header
|
||||
rugirlfriend.com: could not connect to host
|
||||
rugs.ca: did not receive HSTS header
|
||||
ruhr3.de: did not receive HSTS header
|
||||
ruig.jp: could not connect to host
|
||||
ruiming.me: did not receive HSTS header
|
||||
ruitershoponline.nl: did not receive HSTS header
|
||||
|
@ -7041,6 +7064,7 @@ servercode.ca: did not receive HSTS header
|
|||
serverdensity.io: did not receive HSTS header
|
||||
servergno.me: did not receive HSTS header
|
||||
servermonkey.nl: could not connect to host
|
||||
servicevie.com: did not receive HSTS header
|
||||
servious.org: could not connect to host
|
||||
servu.de: did not receive HSTS header
|
||||
seryo.moe: could not connect to host
|
||||
|
@ -7176,6 +7200,7 @@ sitesforward.com: did not receive HSTS header
|
|||
sitesten.com: did not receive HSTS header
|
||||
sixtwentyten.com: did not receive HSTS header
|
||||
sizingservers.be: did not receive HSTS header
|
||||
skei.org: did not receive HSTS header
|
||||
ski-insurance.com.au: did not receive HSTS header
|
||||
skidstresser.com: did not receive HSTS header
|
||||
skillproxy.com: could not connect to host
|
||||
|
@ -7386,7 +7411,6 @@ stabletoken.com: could not connect to host
|
|||
stackfiles.io: could not connect to host
|
||||
stadjerspasonline.nl: could not connect to host
|
||||
stadtbauwerk.at: did not receive HSTS header
|
||||
stadterneuerung-hwb.de: did not receive HSTS header
|
||||
staffjoy.com: did not receive HSTS header
|
||||
staffjoystaging.com: could not connect to host
|
||||
stahl.xyz: could not connect to host
|
||||
|
@ -7480,6 +7504,7 @@ studydrive.net: did not receive HSTS header
|
|||
studyhub.cf: did not receive HSTS header
|
||||
stugb.de: did not receive HSTS header
|
||||
sturbock.me: did not receive HSTS header
|
||||
sturdio.com.br: did not receive HSTS header
|
||||
stylenda.com: could not connect to host
|
||||
stytt.com: could not connect to host
|
||||
subbing.work: could not connect to host
|
||||
|
@ -7533,7 +7558,7 @@ supweb.ovh: did not receive HSTS header
|
|||
surfeasy.com: did not receive HSTS header
|
||||
surfone-leucate.com: did not receive HSTS header
|
||||
survivalistplanet.com: could not connect to host
|
||||
sussexwebdesigns.info: did not receive HSTS header
|
||||
sussexwebdesigns.info: could not connect to host
|
||||
suzukikenichi.com: did not receive HSTS header
|
||||
svatba-frantovi.cz: could not connect to host
|
||||
svenluijten.com: did not receive HSTS header
|
||||
|
@ -7633,6 +7658,7 @@ tauchkater.de: could not connect to host
|
|||
tavoittaja.fi: did not receive HSTS header
|
||||
tavopica.lt: did not receive HSTS header
|
||||
taxbench.com: could not connect to host
|
||||
taxi-24std.de: did not receive HSTS header
|
||||
taxiindenbosch.nl: did not receive HSTS header
|
||||
taxsnaps.co.nz: did not receive HSTS header
|
||||
tazz.in: could not connect to host
|
||||
|
@ -7760,6 +7786,7 @@ thedystance.com: could not connect to host
|
|||
theelitebuzz.com: did not receive HSTS header
|
||||
theendofzion.com: did not receive HSTS header
|
||||
theescapistswiki.com: could not connect to host
|
||||
theeyeopener.com: did not receive HSTS header
|
||||
thefarbeyond.com: could not connect to host
|
||||
theflowerbasketonline.com: could not connect to host
|
||||
thefootballanalyst.com: did not receive HSTS header
|
||||
|
@ -7875,7 +7902,6 @@ timeserver1.de: could not connect to host
|
|||
timeserver2.de: could not connect to host
|
||||
timeserver3.de: could not connect to host
|
||||
timestamp.io: did not receive HSTS header
|
||||
timetab.org: could not connect to host
|
||||
timhjalpen.se: could not connect to host
|
||||
timnash.co.uk: did not receive HSTS header
|
||||
timotrans.de: did not receive HSTS header
|
||||
|
@ -7942,7 +7968,6 @@ tolud.com: did not receive HSTS header
|
|||
tom.horse: did not receive HSTS header
|
||||
tomeara.net: could not connect to host
|
||||
tomevans.io: did not receive HSTS header
|
||||
tomharris.tech: did not receive HSTS header
|
||||
tomlankhorst.nl: did not receive HSTS header
|
||||
tomli.me: could not connect to host
|
||||
tommsy.com: did not receive HSTS header
|
||||
|
@ -8212,6 +8237,7 @@ urandom.eu.org: did not receive HSTS header
|
|||
urban-garden.lt: could not connect to host
|
||||
urban-garden.lv: could not connect to host
|
||||
urbanfi.sh: did not receive HSTS header
|
||||
urbanstylestaging.com: did not receive HSTS header
|
||||
urbpic.com: could not connect to host
|
||||
urlchomp.com: did not receive HSTS header
|
||||
urphp.com: could not connect to host
|
||||
|
@ -8258,6 +8284,7 @@ v789xl.com: did not receive HSTS header
|
|||
vaalmarketplace.co.za: did not receive HSTS header
|
||||
vacationality.com: could not connect to host
|
||||
vackerbetong.se: could not connect to host
|
||||
vacuumreviewcenter.com: did not receive HSTS header
|
||||
vaddder.com: could not connect to host
|
||||
vadodesign.nl: did not receive HSTS header
|
||||
valenscaelum.com: could not connect to host
|
||||
|
@ -8443,7 +8470,7 @@ walnutgaming.co.uk: could not connect to host
|
|||
walterlynnmosley.com: did not receive HSTS header
|
||||
wan.pp.ua: could not connect to host
|
||||
wanban.io: could not connect to host
|
||||
wangjun.me: did not receive HSTS header
|
||||
wangjun.me: could not connect to host
|
||||
wangkezun.com: could not connect to host
|
||||
wangqiliang.cn: did not receive HSTS header
|
||||
wangqiliang.org: did not receive HSTS header
|
||||
|
@ -8707,7 +8734,7 @@ www.sandbox.mydigipass.com: could not connect to host
|
|||
www.surfeasy.com: did not receive HSTS header
|
||||
www.viasinc.com: did not receive HSTS header
|
||||
www.zenpayroll.com: did not receive HSTS header
|
||||
www3.info: could not connect to host
|
||||
www3.info: did not receive HSTS header
|
||||
wxukang.cn: could not connect to host
|
||||
wybmabiity.com: could not connect to host
|
||||
wygluszanie.eu: did not receive HSTS header
|
||||
|
@ -8796,7 +8823,6 @@ xor-a.net: could not connect to host
|
|||
xperiacodes.com: did not receive HSTS header
|
||||
xpi.fr: could not connect to host
|
||||
xpj.sx: could not connect to host
|
||||
xpjcunkuan.com: did not receive HSTS header
|
||||
xrp.pw: could not connect to host
|
||||
xsmobile.de: could not connect to host
|
||||
xtom.email: could not connect to host
|
||||
|
@ -8823,7 +8849,7 @@ yaporn.tv: did not receive HSTS header
|
|||
yard-fu.com: could not connect to host
|
||||
yardbird.us: could not connect to host
|
||||
yarnhookup.com: did not receive HSTS header
|
||||
yasinaydin.net: max-age too low: 2592000
|
||||
yasinaydin.net: could not connect to host
|
||||
yasutomonodokoiko.com: did not receive HSTS header
|
||||
yatesun.com: did not receive HSTS header
|
||||
ycc.wtf: could not connect to host
|
||||
|
@ -8836,6 +8862,8 @@ yenniferallulli.es: did not receive HSTS header
|
|||
yenniferallulli.moda: could not connect to host
|
||||
yenniferallulli.nl: could not connect to host
|
||||
yesdevnull.net: did not receive HSTS header
|
||||
yesonline.asia: did not receive HSTS header
|
||||
yesonline.me: did not receive HSTS header
|
||||
yestees.com: did not receive HSTS header
|
||||
yetcore.io: could not connect to host
|
||||
yhrd.org: did not receive HSTS header
|
||||
|
@ -8900,13 +8928,11 @@ zahyantechnologies.com: could not connect to host
|
|||
zakoncontrol.com: did not receive HSTS header
|
||||
zamorano.edu: could not connect to host
|
||||
zamos.ru: max-age too low: 0
|
||||
zandcell.com: did not receive HSTS header
|
||||
zaneweb.org: could not connect to host
|
||||
zao.fi: could not connect to host
|
||||
zaoshanghao-dajia.rhcloud.com: could not connect to host
|
||||
zap.yt: did not receive HSTS header
|
||||
zarooba.com: could not connect to host
|
||||
zary.me: did not receive HSTS header
|
||||
zavca.com: did not receive HSTS header
|
||||
zbigniewgalucki.eu: did not receive HSTS header
|
||||
zcon.nl: could not connect to host
|
||||
|
@ -8929,7 +8955,7 @@ zentraler-kreditausschuss.de: did not receive HSTS header
|
|||
zentralwolke.de: did not receive HSTS header
|
||||
zenwears.com: did not receive HSTS header
|
||||
zera.com.au: could not connect to host
|
||||
zerekin.net: could not connect to host
|
||||
zerekin.net: did not receive HSTS header
|
||||
zeroday.sk: did not receive HSTS header
|
||||
zerofox.gq: could not connect to host
|
||||
zeroml.ml: could not connect to host
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
/*****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1520015729201000);
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1520102102086000);
|
||||
%%
|
||||
0.me.uk, 1
|
||||
00001.am, 1
|
||||
|
@ -58,7 +58,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1520015729201000);
|
|||
0x.sk, 1
|
||||
0x00ff00ff.com, 1
|
||||
0x17.de, 1
|
||||
0x52.net, 0
|
||||
0x52.net, 1
|
||||
0x52.org, 1
|
||||
0x539.be, 1
|
||||
0x65.net, 1
|
||||
|
@ -95,7 +95,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1520015729201000);
|
|||
10gbit.ovh, 1
|
||||
10hz.de, 1
|
||||
10og.de, 1
|
||||
10ppm.com, 1
|
||||
10x.ooo, 1
|
||||
1100.so, 1
|
||||
1116pay.com, 1
|
||||
|
@ -1348,7 +1347,6 @@ amiciidogrescue.org.uk, 1
|
|||
amicsdelbus.com, 1
|
||||
amihub.com, 1
|
||||
amilum.org, 1
|
||||
amin.one, 1
|
||||
aminafrance.com, 1
|
||||
amineptine.com, 1
|
||||
amisharingstuff.com, 1
|
||||
|
@ -1613,6 +1611,7 @@ antonchen.com, 1
|
|||
antonellabb.eu, 1
|
||||
antons.io, 1
|
||||
antragsgruen.de, 1
|
||||
anttitenhunen.com, 1
|
||||
anvartay.com, 1
|
||||
anwaltsindex.com, 1
|
||||
anxietyspace.com, 1
|
||||
|
@ -1843,7 +1842,6 @@ arigato-java.download, 1
|
|||
arijitdg.net, 1
|
||||
arikar.eu, 1
|
||||
arima.co.ke, 1
|
||||
arislight.com, 1
|
||||
aristocrates.co, 1
|
||||
aristocratps.com, 1
|
||||
aritec-la.com, 1
|
||||
|
@ -2734,7 +2732,6 @@ beekeeping.clothing, 1
|
|||
beekeeping.tools, 1
|
||||
beeksnetwork.nl, 1
|
||||
beelen.fr, 1
|
||||
beepan.com, 0
|
||||
beercandle.com, 1
|
||||
beergazetteer.com, 1
|
||||
beerians.com, 1
|
||||
|
@ -3774,6 +3771,7 @@ bretzner.fr, 1
|
|||
brevboxar.se, 1
|
||||
brewsouth.com, 1
|
||||
brewtrackr.com, 1
|
||||
brfvh24.se, 1
|
||||
brgins.com, 1
|
||||
brianalaway.com, 1
|
||||
brianalawayconsulting.com, 1
|
||||
|
@ -4056,6 +4054,7 @@ bwwb.nu, 1
|
|||
bx-n.de, 1
|
||||
bxdev.me, 1
|
||||
bxp40.at, 1
|
||||
by1896.com, 1
|
||||
by1898.com, 1
|
||||
by1899.com, 1
|
||||
by77.com, 1
|
||||
|
@ -4250,6 +4249,7 @@ candyout.com, 1
|
|||
canhazip.com, 1
|
||||
canifis.net, 1
|
||||
canihavesome.coffee, 1
|
||||
canlidoviz.com, 1
|
||||
cannabis-marijuana.com, 1
|
||||
cannarobotics.com, 1
|
||||
cannyfoxx.me, 1
|
||||
|
@ -5018,6 +5018,7 @@ circlebox.rocks, 1
|
|||
circu.ml, 1
|
||||
cirfi.com, 1
|
||||
cirope.com, 1
|
||||
cirrus0.de, 1
|
||||
cirugiasplasticas.com.mx, 1
|
||||
cirurgicagervasio.com.br, 1
|
||||
cirurgicalucena.com.br, 1
|
||||
|
@ -5455,6 +5456,7 @@ comfypc.com, 1
|
|||
comhack.com, 1
|
||||
comico.info, 1
|
||||
comicrelief.com, 1
|
||||
comicspornos.com, 1
|
||||
comicwiki.dk, 1
|
||||
comiq.io, 1
|
||||
comiteaintriathlon.fr, 1
|
||||
|
@ -5511,7 +5513,6 @@ compredietlight.com.br, 1
|
|||
comprefitasadere.com.br, 1
|
||||
comprehensiveihc.com, 1
|
||||
compsmag.com, 1
|
||||
compubench.com, 1
|
||||
compucastell.ch, 1
|
||||
compucorner.mx, 1
|
||||
compuplast.cz, 1
|
||||
|
@ -5548,7 +5549,6 @@ confiancefoundation.org, 1
|
|||
confidential.network, 1
|
||||
config.schokokeks.org, 0
|
||||
confiwall.de, 1
|
||||
conflux.tw, 1
|
||||
conformax.com.br, 1
|
||||
conformist.jp, 1
|
||||
confucio.cl, 1
|
||||
|
@ -6359,6 +6359,7 @@ darkshop.nl, 1
|
|||
darkside.re, 1
|
||||
darkspacelab.com, 1
|
||||
darktime.ru, 1
|
||||
darkwater.info, 1
|
||||
darkx.me, 1
|
||||
darlastudio66.com, 1
|
||||
darlo.co.uk, 0
|
||||
|
@ -6958,7 +6959,6 @@ dicionarioetimologico.com.br, 1
|
|||
dicionariopopular.com, 1
|
||||
dick.red, 1
|
||||
dickieslife.com, 1
|
||||
dicoding.com, 1
|
||||
didacte.com, 1
|
||||
didche.net, 1
|
||||
diddens.de, 1
|
||||
|
@ -7625,7 +7625,6 @@ duckbase.com, 1
|
|||
duckduckstart.com, 1
|
||||
duckinc.net, 1
|
||||
ducohosting.com, 1
|
||||
dudesunderwear.com.br, 1
|
||||
duelsow.eu, 1
|
||||
duernberg.at, 1
|
||||
duesee.org, 1
|
||||
|
@ -7837,7 +7836,6 @@ ebermannstadt.de, 0
|
|||
eboek.info, 1
|
||||
ebonyriddle.com, 1
|
||||
ebooki.eu.org, 1
|
||||
ebooksgratuits.org, 1
|
||||
ebop.ch, 1
|
||||
eboyer.com, 1
|
||||
ebrnd.de, 1
|
||||
|
@ -8423,7 +8421,7 @@ epistas.de, 1
|
|||
epizentrum.work, 1
|
||||
epizentrum.works, 1
|
||||
epmcentroitalia.it, 1
|
||||
epoch.com, 0
|
||||
epoch.com, 1
|
||||
epolitiker.com, 1
|
||||
epos-distributor.co.uk, 1
|
||||
eposbirmingham.co.uk, 1
|
||||
|
@ -8580,6 +8578,7 @@ esono.de, 1
|
|||
esoterik.link, 1
|
||||
esoterikerforum.de, 1
|
||||
esp-berlin.de, 1
|
||||
esp.community, 1
|
||||
espace-caen.fr, 1
|
||||
espace-gestion.fr, 1
|
||||
espacetemps.ch, 1
|
||||
|
@ -9079,7 +9078,6 @@ faretravel.co.uk, 1
|
|||
farfallapets.com.br, 1
|
||||
farfetchos.com, 1
|
||||
fargtorget.se, 1
|
||||
farhadexchange.com, 1
|
||||
farhood.org, 1
|
||||
farid.is, 1
|
||||
farkas.bz, 1
|
||||
|
@ -9197,6 +9195,7 @@ fehngarten.de, 1
|
|||
fehnladen.de, 1
|
||||
feigling.net, 1
|
||||
feilen.de, 1
|
||||
feirlane.org, 0
|
||||
feisbed.com, 1
|
||||
feisim.com, 1
|
||||
feisim.org, 1
|
||||
|
@ -9842,7 +9841,6 @@ freaksites.dk, 1
|
|||
frebi.org, 1
|
||||
frebib.net, 1
|
||||
freddythechick.uk, 1
|
||||
frederik-braun.com, 1
|
||||
frederikschoell.de, 0
|
||||
fredliang.cn, 1
|
||||
fredloya.com, 1
|
||||
|
@ -10332,6 +10330,7 @@ gdutnic.com, 1
|
|||
gdv.me, 1
|
||||
gdz-otvety.com, 1
|
||||
gdz-spishy.com, 1
|
||||
gdz.tv, 1
|
||||
ge1.me, 0
|
||||
ge3k.net, 0
|
||||
gear-acquisition-syndrome.community, 1
|
||||
|
@ -10350,8 +10349,6 @@ geder.at, 1
|
|||
gee.is, 1
|
||||
geek-hub.de, 1
|
||||
geek.ch, 1
|
||||
geek.com.tw, 0
|
||||
geek.tw, 0
|
||||
geekabit.nl, 1
|
||||
geekandi.com, 1
|
||||
geekariom.com, 1
|
||||
|
@ -10558,7 +10555,6 @@ gflclan.ru, 1
|
|||
gforce.ninja, 1
|
||||
gfoss.eu, 1
|
||||
gfoss.gr, 1
|
||||
gfxbench.com, 1
|
||||
ggdcpt.com, 1
|
||||
gginin.today, 1
|
||||
ggl-luzern.ch, 1
|
||||
|
@ -10566,6 +10562,7 @@ gglks.com, 1
|
|||
ggmmontascale.it, 1
|
||||
ggp2.com, 1
|
||||
ggrks-asano.com, 1
|
||||
ggs-marschallstrasse.de, 1
|
||||
ggs.jp, 1
|
||||
ggservers.com, 1
|
||||
ggss.cf, 1
|
||||
|
@ -10890,7 +10887,7 @@ gpsvideocanada.com, 1
|
|||
gpws.ovh, 1
|
||||
gr.search.yahoo.com, 0
|
||||
gra2.com, 1
|
||||
graasp.net, 1
|
||||
graasp.net, 0
|
||||
grabi.ga, 1
|
||||
grace-wan.com, 1
|
||||
gracebaking.com, 1
|
||||
|
@ -11106,7 +11103,6 @@ gtcprojects.com, 1
|
|||
gtdgo.com, 1
|
||||
gtmasterclub.it, 0
|
||||
gtmetrix.com, 1
|
||||
gtopala.com, 1
|
||||
gtour.info, 1
|
||||
gtravers-basketmaker.co.uk, 1
|
||||
gtts.space, 1
|
||||
|
@ -11794,6 +11790,7 @@ hilti.kz, 0
|
|||
hilti.lv, 0
|
||||
hiltonarubabeachservices.com, 1
|
||||
hiltonhyland.com, 1
|
||||
himens.com, 0
|
||||
hindmanfuneralhomes.com, 1
|
||||
hingle.me, 1
|
||||
hinkel-sohn.de, 1
|
||||
|
@ -12262,6 +12259,7 @@ hydrante.ch, 1
|
|||
hydrasolutions.de, 1
|
||||
hydroagro.pl, 1
|
||||
hydrocloud.net, 1
|
||||
hydronyx.me, 1
|
||||
hydroturbine.info, 1
|
||||
hydrozone.fr, 1
|
||||
hygo.com, 1
|
||||
|
@ -12500,6 +12498,7 @@ ihotel.io, 1
|
|||
ihrhost.com, 1
|
||||
iideaz.org, 1
|
||||
iilin.com, 1
|
||||
iiong.com, 0
|
||||
iirii.com, 1
|
||||
ijohan.nl, 1
|
||||
ijsclubtilburg.nl, 1
|
||||
|
@ -12851,7 +12850,6 @@ instagramtweet.com, 1
|
|||
installgentoo.net, 1
|
||||
instant-hack.io, 1
|
||||
instant.io, 1
|
||||
instantkhabar.com, 1
|
||||
instantsubs.de, 1
|
||||
instasex.ch, 1
|
||||
instava.cz, 1
|
||||
|
@ -12979,7 +12977,6 @@ investpay.ru, 1
|
|||
invinsec.cloud, 1
|
||||
invinsec.com, 1
|
||||
invioinc.com, 1
|
||||
inviosolutions.com, 1
|
||||
invis.net, 1
|
||||
invisible-college.com, 1
|
||||
invisibles.ch, 1
|
||||
|
@ -13364,6 +13361,7 @@ jaegerlacke.de, 1
|
|||
jagerman.com, 1
|
||||
jaguarlandrover-asse.be, 1
|
||||
jaguarlandrover-occasions.be, 1
|
||||
jaguarwong.xyz, 1
|
||||
jahanaisamu.com, 1
|
||||
jahner.xyz, 1
|
||||
jahofmann.de, 1
|
||||
|
@ -14007,7 +14005,6 @@ justpaste.it, 1
|
|||
justupdate.me, 1
|
||||
justyy.com, 1
|
||||
justzz.xyz, 1
|
||||
jutella.de, 1
|
||||
jutlander-netbank.dk, 1
|
||||
jutlander.dk, 1
|
||||
juventusmania1897.com, 1
|
||||
|
@ -14714,7 +14711,6 @@ konijntjes.nl, 1
|
|||
konings.it, 1
|
||||
koningskwartiertje.nl, 1
|
||||
konklone.com, 1
|
||||
konkurs.ba, 1
|
||||
konoe.studio, 1
|
||||
konosuke.jp, 1
|
||||
konsertoversikt.no, 1
|
||||
|
@ -15108,6 +15104,7 @@ lanyang.tk, 1
|
|||
lanzamientovirtual.es, 1
|
||||
lanzarote-online.info, 1
|
||||
laos.dating, 1
|
||||
laospage.com, 1
|
||||
laozhu.me, 1
|
||||
lapassiondutrading.com, 1
|
||||
lapetition.be, 1
|
||||
|
@ -15303,7 +15300,7 @@ leebiblestudycentre.co.uk, 1
|
|||
leebiblestudycentre.com, 1
|
||||
leebiblestudycentre.net, 1
|
||||
leebiblestudycentre.org, 1
|
||||
leech360.com, 1
|
||||
leech360.com, 0
|
||||
leeclemens.net, 1
|
||||
leedev.org, 1
|
||||
leefindlow.com, 1
|
||||
|
@ -15506,7 +15503,6 @@ lheinrich.de, 1
|
|||
lheinrich.org, 1
|
||||
li-ke.co.jp, 1
|
||||
li.search.yahoo.com, 0
|
||||
liangji.com.tw, 0
|
||||
lianwen.kim, 1
|
||||
lianye1.cc, 1
|
||||
lianye2.cc, 1
|
||||
|
@ -16740,6 +16736,7 @@ mattli.us, 1
|
|||
mattmccutchen.net, 1
|
||||
mattonline.me, 1
|
||||
mattwb65.com, 1
|
||||
mattwservices.co.uk, 1
|
||||
matviet.vn, 1
|
||||
matze.co, 1
|
||||
matze.org, 1
|
||||
|
@ -16800,7 +16797,6 @@ mazda626.net, 1
|
|||
maze.fr, 1
|
||||
mazternet.ru, 1
|
||||
mazurlabs.tk, 1
|
||||
mazzotta.me, 1
|
||||
mb-is.info, 1
|
||||
mbaestlein.de, 1
|
||||
mbardot.com, 1
|
||||
|
@ -17833,7 +17829,7 @@ mplicka.cz, 1
|
|||
mplusm.eu, 1
|
||||
mpn.poker, 1
|
||||
mpnpokertour.com, 1
|
||||
mpreserver.com, 0
|
||||
mpreserver.com, 1
|
||||
mpserver12.org, 1
|
||||
mpsgarage.com.au, 1
|
||||
mpsoundcraft.com, 1
|
||||
|
@ -18576,7 +18572,6 @@ nemez.net, 1
|
|||
nemo.run, 1
|
||||
nemumu.com, 1
|
||||
nemunai.re, 1
|
||||
neo19.com, 0
|
||||
neo2shyalien.eu, 0
|
||||
neobits.nl, 1
|
||||
neocities.org, 1
|
||||
|
@ -19414,7 +19409,6 @@ okay.coffee, 1
|
|||
okaz.de, 1
|
||||
okburrito.com, 1
|
||||
okchicas.com, 1
|
||||
oke.com.tw, 0
|
||||
okeeferanch.ca, 1
|
||||
okhrana.agency, 1
|
||||
okin-jp.net, 1
|
||||
|
@ -19485,6 +19479,7 @@ omniverse.ru, 1
|
|||
omorashi.org, 1
|
||||
omranic.com, 1
|
||||
omronwellness.com, 1
|
||||
omsdieppe.fr, 1
|
||||
on-te.ch, 1
|
||||
on-tech.co.uk, 1
|
||||
onaboat.se, 1
|
||||
|
@ -19756,6 +19751,7 @@ oshanko.de, 1
|
|||
oshayr.com, 1
|
||||
oshell.me, 1
|
||||
oshinagaki.jp, 1
|
||||
oshrc.gov, 1
|
||||
oskrba.net, 1
|
||||
oskuro.net, 1
|
||||
oslinux.net, 1
|
||||
|
@ -19850,6 +19846,7 @@ ownspec.com, 1
|
|||
oxanababy.com, 1
|
||||
oxborrow.ca, 1
|
||||
oxelie.com, 1
|
||||
oxro.co, 1
|
||||
oxygaming.com, 1
|
||||
oxymc.com, 1
|
||||
oxynux.xyz, 1
|
||||
|
@ -19923,7 +19920,7 @@ paint-it.pink, 1
|
|||
paio2-rec.com, 1
|
||||
paio2.com, 1
|
||||
paipuman.jp, 1
|
||||
paizinhovirgula.com, 1
|
||||
paizinhovirgula.com, 0
|
||||
pajadam.me, 1
|
||||
pajowu.de, 1
|
||||
pajuvuo.fi, 1
|
||||
|
@ -20215,7 +20212,6 @@ paystack.com, 1
|
|||
paytm.in, 1
|
||||
payupay.ru, 1
|
||||
payzang.com, 1
|
||||
pback.se, 1
|
||||
pbcknd.ml, 1
|
||||
pbosquet.com, 1
|
||||
pbraunschdash.com, 1
|
||||
|
@ -20787,7 +20783,6 @@ plen.io, 1
|
|||
plenigo.com, 1
|
||||
plexhome13.ddns.net, 1
|
||||
plexi.dyndns.tv, 1
|
||||
plextv.de, 1
|
||||
plexusmd.com, 1
|
||||
plinc.co, 1
|
||||
pliosoft.com, 1
|
||||
|
@ -21037,7 +21032,6 @@ pouet.it, 1
|
|||
pouets.ovh, 1
|
||||
poupatempo.org, 1
|
||||
pourlesenfants.info, 1
|
||||
pourmesloisirs.com, 1
|
||||
pourout.org, 1
|
||||
povareschka.ru, 1
|
||||
powdersnow.top, 1
|
||||
|
@ -22760,6 +22754,7 @@ rugby.video, 1
|
|||
rugk.dedyn.io, 1
|
||||
rugstorene.co.uk, 1
|
||||
ruh-veit.de, 1
|
||||
ruhr3.de, 1
|
||||
ruhrmobil-e.de, 1
|
||||
ruhrnalist.de, 1
|
||||
ruht.ro, 1
|
||||
|
@ -23697,7 +23692,6 @@ servfefe.com, 1
|
|||
servgate.jp, 1
|
||||
service.gov.uk, 1
|
||||
serviceboss.de, 1
|
||||
servicevie.com, 1
|
||||
serviettenhaus.de, 1
|
||||
servingbaby.com, 1
|
||||
servpanel.de, 1
|
||||
|
@ -24256,7 +24250,6 @@ skatn.de, 1
|
|||
skazka.ru, 1
|
||||
skday.com, 1
|
||||
skeeley.com, 1
|
||||
skei.org, 1
|
||||
skepticalsports.com, 1
|
||||
sketchmyroom.com, 1
|
||||
sketchywebsite.net, 1
|
||||
|
@ -25002,6 +24995,7 @@ stacktile.io, 0
|
|||
stadionmanager.com, 1
|
||||
stadm.com, 1
|
||||
stadt-apotheke-muensingen.de, 1
|
||||
stadterneuerung-hwb.de, 1
|
||||
stadtgartenla.com, 1
|
||||
stadtpapa.de, 1
|
||||
stadtplan-ilmenau.de, 1
|
||||
|
@ -25369,7 +25363,6 @@ stuntmen.xyz, 1
|
|||
stupendous.net, 1
|
||||
stupidstatetricks.com, 1
|
||||
sturbi.de, 1
|
||||
sturdio.com.br, 1
|
||||
sturge.co.uk, 1
|
||||
stutelage.com, 1
|
||||
stuttgart-gablenberg.de, 1
|
||||
|
@ -25841,7 +25834,6 @@ tattvaayoga.com, 1
|
|||
tavolaquadrada.com.br, 1
|
||||
tavsys.net, 1
|
||||
taxaroo.com, 1
|
||||
taxi-24std.de, 1
|
||||
taxi-chamonix.fr, 1
|
||||
taxi-collectif.ch, 1
|
||||
taxicollectif.ch, 1
|
||||
|
@ -26283,7 +26275,6 @@ theeducationchannel.info, 1
|
|||
theeducationdirectory.org, 1
|
||||
theevergreen.me, 1
|
||||
theexpatriate.de, 1
|
||||
theeyeopener.com, 1
|
||||
thefbstalker.com, 1
|
||||
theferrarista.com, 1
|
||||
theflyingbear.net, 1
|
||||
|
@ -26617,6 +26608,7 @@ timebox.tk, 1
|
|||
timeglass.de, 1
|
||||
timer.fit, 1
|
||||
timersuite.com, 1
|
||||
timetab.org, 1
|
||||
timetotrade.com, 1
|
||||
timewasters.nl, 1
|
||||
timfiedler.net, 1
|
||||
|
@ -26825,6 +26817,7 @@ tomend.es, 1
|
|||
tomfisher.eu, 1
|
||||
tomharling.co.uk, 1
|
||||
tomharling.uk, 1
|
||||
tomharris.tech, 1
|
||||
tomi.cc, 1
|
||||
tomica.me, 1
|
||||
tomiler.com, 1
|
||||
|
@ -27749,7 +27742,6 @@ urbanietz-immobilien.de, 1
|
|||
urbanmelbourne.info, 1
|
||||
urbannewsservice.com, 1
|
||||
urbansparrow.in, 1
|
||||
urbanstylestaging.com, 1
|
||||
urbanwildlifealliance.org, 1
|
||||
urbexdk.nl, 1
|
||||
urcentral.com, 1
|
||||
|
@ -27851,7 +27843,6 @@ vacationscostarica.com, 1
|
|||
vaccines.gov, 1
|
||||
vaclavambroz.cz, 1
|
||||
vacuumpump.co.id, 1
|
||||
vacuumreviewcenter.com, 1
|
||||
vadennissanofhiltonheadparts.com, 1
|
||||
vadennissanofhinesvilleparts.com, 1
|
||||
vadik.me, 1
|
||||
|
@ -29714,6 +29705,7 @@ xpd.se, 1
|
|||
xpenology-fr.net, 1
|
||||
xperidia.com, 1
|
||||
xpj.bet, 1
|
||||
xpjcunkuan.com, 1
|
||||
xpletus.nl, 1
|
||||
xplore-dna.net, 1
|
||||
xpressprint.com.br, 1
|
||||
|
@ -29860,8 +29852,6 @@ yepbitcoin.com, 1
|
|||
yephy.com, 1
|
||||
yesfone.com.br, 1
|
||||
yesiammaisey.me, 1
|
||||
yesonline.asia, 0
|
||||
yesonline.me, 0
|
||||
yeswehack.com, 1
|
||||
yetii.net, 1
|
||||
yetzt.me, 0
|
||||
|
@ -30113,6 +30103,7 @@ zalan.do, 1
|
|||
zamis.net, 1
|
||||
zamocosmeticos.com.br, 1
|
||||
zamow.co, 1
|
||||
zandcell.com, 1
|
||||
zanthra.com, 1
|
||||
zaoext.com, 1
|
||||
zapier.com, 1
|
||||
|
@ -30120,6 +30111,7 @@ zappbuildapps.com, 1
|
|||
zaratan.fr, 1
|
||||
zarmarket.org, 1
|
||||
zarpo.com.br, 1
|
||||
zary.me, 1
|
||||
zaufanatrzeciastrona.pl, 1
|
||||
zavec.com.ec, 1
|
||||
zavetaji.lv, 1
|
||||
|
|
|
@ -121,6 +121,16 @@ function pemToBase64(pem) {
|
|||
.replace(/[\r\n]/g, "");
|
||||
}
|
||||
|
||||
function build_cert_chain(certNames) {
|
||||
let certList = Cc["@mozilla.org/security/x509certlist;1"]
|
||||
.createInstance(Ci.nsIX509CertList);
|
||||
certNames.forEach(function(certName) {
|
||||
let cert = constructCertFromFile("bad_certs/" + certName + ".pem");
|
||||
certList.addCert(cert);
|
||||
});
|
||||
return certList;
|
||||
}
|
||||
|
||||
function readFile(file) {
|
||||
let fstream = Cc["@mozilla.org/network/file-input-stream;1"]
|
||||
.createInstance(Ci.nsIFileInputStream);
|
||||
|
@ -702,6 +712,7 @@ function add_cert_override(aHost, aExpectedBits, aExpectedErrorRegexp,
|
|||
(sslstatus.isUntrusted ? Ci.nsICertOverrideService.ERROR_UNTRUSTED : 0) |
|
||||
(sslstatus.isDomainMismatch ? Ci.nsICertOverrideService.ERROR_MISMATCH : 0) |
|
||||
(sslstatus.isNotValidAtThisTime ? Ci.nsICertOverrideService.ERROR_TIME : 0);
|
||||
|
||||
Assert.equal(bits, aExpectedBits,
|
||||
"Actual and expected override bits should match");
|
||||
let cert = sslstatus.serverCert;
|
||||
|
@ -717,7 +728,8 @@ function add_cert_override(aHost, aExpectedBits, aExpectedErrorRegexp,
|
|||
// with the expected errors and that adding an override results in a subsequent
|
||||
// connection succeeding.
|
||||
function add_cert_override_test(aHost, aExpectedBits, aExpectedError,
|
||||
aExpectedErrorRegexp = undefined) {
|
||||
aExpectedErrorRegexp = undefined,
|
||||
aExpectedSSLStatus = undefined) {
|
||||
add_connection_test(aHost, aExpectedError, null,
|
||||
add_cert_override.bind(this, aHost, aExpectedBits,
|
||||
aExpectedErrorRegexp));
|
||||
|
@ -725,6 +737,13 @@ function add_cert_override_test(aHost, aExpectedBits, aExpectedError,
|
|||
Assert.ok(aSecurityInfo.securityState &
|
||||
Ci.nsIWebProgressListener.STATE_CERT_USER_OVERRIDDEN,
|
||||
"Cert override flag should be set on the security state");
|
||||
if (aExpectedSSLStatus) {
|
||||
let sslstatus = aSecurityInfo.QueryInterface(Ci.nsISSLStatusProvider)
|
||||
.SSLStatus;
|
||||
if (aExpectedSSLStatus.failedCertChain) {
|
||||
ok(aExpectedSSLStatus.failedCertChain.equals(sslstatus.failedCertChain));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -5,16 +5,6 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
function build_cert_chain(certNames) {
|
||||
let certList = Cc["@mozilla.org/security/x509certlist;1"]
|
||||
.createInstance(Ci.nsIX509CertList);
|
||||
certNames.forEach(function(certName) {
|
||||
let cert = constructCertFromFile("bad_certs/" + certName + ".pem");
|
||||
certList.addCert(cert);
|
||||
});
|
||||
return certList;
|
||||
}
|
||||
|
||||
function test_cert_equals() {
|
||||
let certA = constructCertFromFile("bad_certs/default-ee.pem");
|
||||
let certB = constructCertFromFile("bad_certs/default-ee.pem");
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
"use strict";
|
||||
|
||||
do_get_profile();
|
||||
|
||||
function run_test() {
|
||||
Services.prefs.setIntPref("security.OCSP.enabled", 1);
|
||||
add_tls_server_setup("BadCertServer", "bad_certs");
|
||||
|
||||
let fakeOCSPResponder = new HttpServer();
|
||||
fakeOCSPResponder.registerPrefixHandler("/", function (request, response) {
|
||||
response.setStatusLine(request.httpVersion, 500, "Internal Server Error");
|
||||
});
|
||||
fakeOCSPResponder.start(8888);
|
||||
|
||||
// Test successful connection (failedCertChain should be null,
|
||||
// succeededCertChain should be set as expected)
|
||||
add_connection_test(
|
||||
"good.include-subdomains.pinning.example.com", PRErrorCodeSuccess, null,
|
||||
function withSecurityInfo(aSSLStatus) {
|
||||
let sslstatus = aSSLStatus.QueryInterface(Ci.nsISSLStatusProvider).SSLStatus;
|
||||
equal(sslstatus.failedCertChain, null,
|
||||
"failedCertChain for a successful connection should be null");
|
||||
ok(sslstatus.succeededCertChain.equals(build_cert_chain(["default-ee", "test-ca"])),
|
||||
"succeededCertChain for a successful connection should be as expected");
|
||||
}
|
||||
);
|
||||
|
||||
// Test failed connection (failedCertChain should be set as expected,
|
||||
// succeededCertChain should be null)
|
||||
add_connection_test(
|
||||
"expired.example.com", SEC_ERROR_EXPIRED_CERTIFICATE, null,
|
||||
function withSecurityInfo(aSSLStatus) {
|
||||
let sslstatus = aSSLStatus.QueryInterface(Ci.nsISSLStatusProvider).SSLStatus;
|
||||
equal(sslstatus.succeededCertChain, null,
|
||||
"succeededCertChain for a failed connection should be null");
|
||||
ok(sslstatus.failedCertChain.equals(build_cert_chain(["expired-ee", "test-ca"])),
|
||||
"failedCertChain for a failed connection should be as expected");
|
||||
}
|
||||
);
|
||||
|
||||
// Ensure the correct failed cert chain is set on cert override
|
||||
let overrideStatus = {
|
||||
failedCertChain: build_cert_chain(["expired-ee", "test-ca"])
|
||||
};
|
||||
add_cert_override_test("expired.example.com",
|
||||
Ci.nsICertOverrideService.ERROR_TIME,
|
||||
SEC_ERROR_EXPIRED_CERTIFICATE, undefined,
|
||||
overrideStatus);
|
||||
|
||||
run_next_test();
|
||||
}
|
|
@ -151,6 +151,7 @@ run-sequentially = hardcoded ports
|
|||
[test_signed_apps.js]
|
||||
[test_signed_dir.js]
|
||||
tags = addons psm
|
||||
[test_ssl_status.js]
|
||||
[test_sss_enumerate.js]
|
||||
[test_sss_eviction.js]
|
||||
[test_sss_originAttributes.js]
|
||||
|
|
|
@ -388,6 +388,15 @@ pub trait TElement
|
|||
depth
|
||||
}
|
||||
|
||||
/// The style scope of this element is a node that represents which rules
|
||||
/// apply to the element.
|
||||
///
|
||||
/// In Servo, where we don't know about Shadow DOM or XBL, the style scope
|
||||
/// is always the document.
|
||||
fn style_scope(&self) -> Self::ConcreteNode {
|
||||
self.as_node().owner_doc().as_node()
|
||||
}
|
||||
|
||||
/// Get this node's parent element from the perspective of a restyle
|
||||
/// traversal.
|
||||
fn traversal_parent(&self) -> Option<Self> {
|
||||
|
@ -738,14 +747,16 @@ pub trait TElement
|
|||
None
|
||||
}
|
||||
|
||||
/// Returns the rule hash target given an element.
|
||||
/// Return the element which we can use to look up rules in the selector
|
||||
/// maps.
|
||||
///
|
||||
/// This is always the element itself, except in the case where we are an
|
||||
/// element-backed pseudo-element, in which case we return the originating
|
||||
/// element.
|
||||
fn rule_hash_target(&self) -> Self {
|
||||
let is_implemented_pseudo =
|
||||
self.implemented_pseudo_element().is_some();
|
||||
|
||||
// NB: This causes use to rule has pseudo selectors based on the
|
||||
// properties of the originating element (which is fine, given the
|
||||
// find_first_from_right usage).
|
||||
if is_implemented_pseudo {
|
||||
self.closest_non_native_anonymous_ancestor().unwrap()
|
||||
} else {
|
||||
|
|
|
@ -518,9 +518,14 @@ impl<'le> GeckoElement<'le> {
|
|||
.and_then(|s| unsafe { s.mExtendedSlots.mPtr.as_ref() })
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn may_be_in_binding_manager(&self) -> bool {
|
||||
self.flags() & (structs::NODE_MAY_BE_IN_BINDING_MNGR as u32) != 0
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn get_xbl_binding(&self) -> Option<GeckoXBLBinding<'le>> {
|
||||
if self.flags() & (structs::NODE_MAY_BE_IN_BINDING_MNGR as u32) == 0 {
|
||||
if !self.may_be_in_binding_manager() {
|
||||
return None;
|
||||
}
|
||||
|
||||
|
@ -553,9 +558,11 @@ impl<'le> GeckoElement<'le> {
|
|||
} else {
|
||||
let binding_parent = unsafe {
|
||||
self.get_non_xul_xbl_binding_parent_raw_content().as_ref()
|
||||
}.map(GeckoNode::from_content)
|
||||
.and_then(|n| n.as_element());
|
||||
debug_assert!(binding_parent == unsafe { bindings::Gecko_GetBindingParent(self.0).map(GeckoElement) });
|
||||
}.map(GeckoNode::from_content).and_then(|n| n.as_element());
|
||||
|
||||
debug_assert!(binding_parent == unsafe {
|
||||
bindings::Gecko_GetBindingParent(self.0).map(GeckoElement)
|
||||
});
|
||||
binding_parent
|
||||
}
|
||||
}
|
||||
|
@ -925,6 +932,28 @@ impl<'le> TElement for GeckoElement<'le> {
|
|||
self.get_before_or_after_pseudo(/* is_before = */ false)
|
||||
}
|
||||
|
||||
/// Ensure this accurately represents the rules that an element may ever
|
||||
/// match, even in the native anonymous content case.
|
||||
fn style_scope(&self) -> Self::ConcreteNode {
|
||||
if self.implemented_pseudo_element().is_some() {
|
||||
return self.closest_non_native_anonymous_ancestor().unwrap().style_scope();
|
||||
}
|
||||
|
||||
if self.is_in_native_anonymous_subtree() {
|
||||
return self.as_node().owner_doc().as_node();
|
||||
}
|
||||
|
||||
if self.get_xbl_binding().is_some() {
|
||||
return self.as_node();
|
||||
}
|
||||
|
||||
if let Some(parent) = self.get_xbl_binding_parent() {
|
||||
return parent.as_node();
|
||||
}
|
||||
|
||||
self.as_node().owner_doc().as_node()
|
||||
}
|
||||
|
||||
/// Execute `f` for each anonymous content child element (apart from
|
||||
/// ::before and ::after) whose originating element is `self`.
|
||||
fn each_anonymous_content_child<F>(&self, mut f: F)
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
//! quickly whether it's worth to share style, and whether two different
|
||||
//! elements can indeed share the same style.
|
||||
|
||||
use Atom;
|
||||
use bloom::StyleBloom;
|
||||
use context::{SelectorFlagsMap, SharedStyleContext};
|
||||
use dom::TElement;
|
||||
|
@ -96,14 +95,16 @@ pub fn have_same_class<E>(target: &mut StyleSharingTarget<E>,
|
|||
/// :first-child, etc, or on attributes that we don't check off-hand (pretty
|
||||
/// much every attribute selector except `id` and `class`.
|
||||
#[inline]
|
||||
pub fn revalidate<E>(target: &mut StyleSharingTarget<E>,
|
||||
candidate: &mut StyleSharingCandidate<E>,
|
||||
shared_context: &SharedStyleContext,
|
||||
bloom: &StyleBloom<E>,
|
||||
nth_index_cache: &mut NthIndexCache,
|
||||
selector_flags_map: &mut SelectorFlagsMap<E>)
|
||||
-> bool
|
||||
where E: TElement,
|
||||
pub fn revalidate<E>(
|
||||
target: &mut StyleSharingTarget<E>,
|
||||
candidate: &mut StyleSharingCandidate<E>,
|
||||
shared_context: &SharedStyleContext,
|
||||
bloom: &StyleBloom<E>,
|
||||
nth_index_cache: &mut NthIndexCache,
|
||||
selector_flags_map: &mut SelectorFlagsMap<E>,
|
||||
) -> bool
|
||||
where
|
||||
E: TElement,
|
||||
{
|
||||
let stylist = &shared_context.stylist;
|
||||
|
||||
|
@ -130,16 +131,25 @@ pub fn revalidate<E>(target: &mut StyleSharingTarget<E>,
|
|||
|
||||
/// Checks whether we might have rules for either of the two ids.
|
||||
#[inline]
|
||||
pub fn may_have_rules_for_ids(shared_context: &SharedStyleContext,
|
||||
element_id: Option<&Atom>,
|
||||
candidate_id: Option<&Atom>) -> bool
|
||||
pub fn may_match_different_id_rules<E>(
|
||||
shared_context: &SharedStyleContext,
|
||||
element: E,
|
||||
candidate: E,
|
||||
) -> bool
|
||||
where
|
||||
E: TElement,
|
||||
{
|
||||
// We shouldn't be called unless the ids are different.
|
||||
debug_assert!(element_id.is_some() || candidate_id.is_some());
|
||||
let element_id = element.get_id();
|
||||
let candidate_id = candidate.get_id();
|
||||
|
||||
if element_id == candidate_id {
|
||||
return false;
|
||||
}
|
||||
|
||||
let stylist = &shared_context.stylist;
|
||||
|
||||
let may_have_rules_for_element = match element_id {
|
||||
Some(id) => stylist.may_have_rules_for_id(id),
|
||||
Some(ref id) => stylist.may_have_rules_for_id(id, element),
|
||||
None => false
|
||||
};
|
||||
|
||||
|
@ -148,7 +158,7 @@ pub fn may_have_rules_for_ids(shared_context: &SharedStyleContext,
|
|||
}
|
||||
|
||||
match candidate_id {
|
||||
Some(id) => stylist.may_have_rules_for_id(id),
|
||||
Some(ref id) => stylist.may_have_rules_for_id(id, candidate),
|
||||
None => false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -206,10 +206,11 @@ impl ValidationData {
|
|||
bloom: &StyleBloom<E>,
|
||||
nth_index_cache: &mut NthIndexCache,
|
||||
bloom_known_valid: bool,
|
||||
flags_setter: &mut F
|
||||
flags_setter: &mut F,
|
||||
) -> &SmallBitVec
|
||||
where E: TElement,
|
||||
F: FnMut(&E, ElementSelectorFlags),
|
||||
where
|
||||
E: TElement,
|
||||
F: FnMut(&E, ElementSelectorFlags),
|
||||
{
|
||||
if self.revalidation_match_results.is_none() {
|
||||
// The bloom filter may already be set up for our element.
|
||||
|
@ -230,10 +231,12 @@ impl ValidationData {
|
|||
}
|
||||
};
|
||||
self.revalidation_match_results =
|
||||
Some(stylist.match_revalidation_selectors(&element,
|
||||
bloom_to_use,
|
||||
nth_index_cache,
|
||||
flags_setter));
|
||||
Some(stylist.match_revalidation_selectors(
|
||||
element,
|
||||
bloom_to_use,
|
||||
nth_index_cache,
|
||||
flags_setter,
|
||||
));
|
||||
}
|
||||
|
||||
self.revalidation_match_results.as_ref().unwrap()
|
||||
|
@ -661,6 +664,15 @@ impl<E: TElement> StyleSharingCache<E> {
|
|||
return None;
|
||||
}
|
||||
|
||||
// Note that in the XBL case, we should be able to assert that the
|
||||
// scopes are different, since two elements with different XBL bindings
|
||||
// need to necessarily have different style (and thus children of them
|
||||
// would never pass the parent check).
|
||||
if target.element.style_scope() != candidate.element.style_scope() {
|
||||
trace!("Miss: Different style scopes");
|
||||
return None;
|
||||
}
|
||||
|
||||
if *target.get_local_name() != *candidate.element.get_local_name() {
|
||||
trace!("Miss: Local Name");
|
||||
return None;
|
||||
|
@ -690,15 +702,17 @@ impl<E: TElement> StyleSharingCache<E> {
|
|||
return None;
|
||||
}
|
||||
|
||||
let element_id = target.element.get_id();
|
||||
let candidate_id = candidate.element.get_id();
|
||||
if element_id != candidate_id {
|
||||
// It's possible that there are no styles for either id.
|
||||
if checks::may_have_rules_for_ids(shared, element_id.as_ref(),
|
||||
candidate_id.as_ref()) {
|
||||
trace!("Miss: ID Attr");
|
||||
return None;
|
||||
}
|
||||
// It's possible that there are no styles for either id.
|
||||
let may_match_different_id_rules =
|
||||
checks::may_match_different_id_rules(
|
||||
shared,
|
||||
target.element,
|
||||
candidate.element,
|
||||
);
|
||||
|
||||
if may_match_different_id_rules {
|
||||
trace!("Miss: ID Attr");
|
||||
return None;
|
||||
}
|
||||
|
||||
if !checks::have_same_style_attribute(target, candidate) {
|
||||
|
|
|
@ -1409,10 +1409,29 @@ impl Stylist {
|
|||
/// Given an id, returns whether there might be any rules for that id in any
|
||||
/// of our rule maps.
|
||||
#[inline]
|
||||
pub fn may_have_rules_for_id(&self, id: &Atom) -> bool {
|
||||
self.cascade_data
|
||||
.iter_origins()
|
||||
.any(|(d, _)| d.mapped_ids.might_contain_hash(id.get_hash()))
|
||||
pub fn may_have_rules_for_id<E>(
|
||||
&self,
|
||||
id: &Atom,
|
||||
element: E,
|
||||
) -> bool
|
||||
where
|
||||
E: TElement,
|
||||
{
|
||||
let hash = id.get_hash();
|
||||
for (data, _) in self.cascade_data.iter_origins() {
|
||||
if data.mapped_ids.might_contain_hash(hash) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
let mut xbl_rules_may_contain = false;
|
||||
|
||||
element.each_xbl_stylist(|stylist| {
|
||||
xbl_rules_may_contain = xbl_rules_may_contain ||
|
||||
stylist.cascade_data.author.mapped_ids.might_contain_hash(hash)
|
||||
});
|
||||
|
||||
xbl_rules_may_contain
|
||||
}
|
||||
|
||||
/// Returns the registered `@keyframes` animation for the specified name.
|
||||
|
@ -1428,7 +1447,7 @@ impl Stylist {
|
|||
/// revalidation selectors.
|
||||
pub fn match_revalidation_selectors<E, F>(
|
||||
&self,
|
||||
element: &E,
|
||||
element: E,
|
||||
bloom: Option<&BloomFilter>,
|
||||
nth_index_cache: &mut NthIndexCache,
|
||||
flags_setter: &mut F
|
||||
|
@ -1454,14 +1473,14 @@ impl Stylist {
|
|||
let mut results = SmallBitVec::new();
|
||||
for (data, _) in self.cascade_data.iter_origins() {
|
||||
data.selectors_for_cache_revalidation.lookup(
|
||||
*element,
|
||||
element,
|
||||
self.quirks_mode,
|
||||
&mut |selector_and_hashes| {
|
||||
results.push(matches_selector(
|
||||
&selector_and_hashes.selector,
|
||||
selector_and_hashes.selector_offset,
|
||||
Some(&selector_and_hashes.hashes),
|
||||
element,
|
||||
&element,
|
||||
&mut matching_context,
|
||||
flags_setter
|
||||
));
|
||||
|
@ -1470,6 +1489,24 @@ impl Stylist {
|
|||
);
|
||||
}
|
||||
|
||||
element.each_xbl_stylist(|stylist| {
|
||||
stylist.cascade_data.author.selectors_for_cache_revalidation.lookup(
|
||||
element,
|
||||
stylist.quirks_mode,
|
||||
&mut |selector_and_hashes| {
|
||||
results.push(matches_selector(
|
||||
&selector_and_hashes.selector,
|
||||
selector_and_hashes.selector_offset,
|
||||
Some(&selector_and_hashes.hashes),
|
||||
&element,
|
||||
&mut matching_context,
|
||||
flags_setter
|
||||
));
|
||||
true
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
results
|
||||
}
|
||||
|
||||
|
|
|
@ -14,12 +14,14 @@
|
|||
|
||||
var helpers = require("../helpers");
|
||||
|
||||
// Note: we match to the end of the string as well as the beginning, to avoid
|
||||
// multiple reports from MemberExpression statements.
|
||||
var cpows = [
|
||||
/^gBrowser\.contentWindow/,
|
||||
/^gBrowser\.contentDocument/,
|
||||
/^gBrowser\.selectedBrowser.contentWindow/,
|
||||
/^browser\.contentDocument/,
|
||||
/^window\.content/
|
||||
/^gBrowser\.contentWindow$/,
|
||||
/^gBrowser\.contentDocument$/,
|
||||
/^gBrowser\.selectedBrowser\.contentWindow$/,
|
||||
/^browser\.contentDocument$/,
|
||||
/^window\.content$/
|
||||
];
|
||||
|
||||
var isInContentTask = false;
|
||||
|
@ -86,7 +88,6 @@ module.exports = function(context) {
|
|||
if (!someCpowFound && helpers.getIsGlobalScope(context.getAncestors())) {
|
||||
if (/^content\./.test(expression)) {
|
||||
showError(node, expression);
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -96,17 +97,46 @@ module.exports = function(context) {
|
|||
return;
|
||||
}
|
||||
|
||||
var expression = context.getSource(node);
|
||||
if (expression == "content" || /^content\./.test(expression)) {
|
||||
if (node.parent.type === "MemberExpression" &&
|
||||
node.parent.object &&
|
||||
node.parent.object.type === "Identifier" &&
|
||||
node.parent.object.name != "content") {
|
||||
return;
|
||||
}
|
||||
showError(node, expression);
|
||||
|
||||
if (node.name !== "content" ||
|
||||
// Don't complain if this is part of a member expression - the
|
||||
// MemberExpression() function will handle those.
|
||||
node.parent.type === "MemberExpression" ||
|
||||
// If this is a declared variable in a function, then don't complain.
|
||||
node.parent.type === "FunctionDeclaration") {
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't error in the case of `let content = foo`.
|
||||
if (node.parent.type === "VariableDeclarator" &&
|
||||
node.parent.id && node.parent.id.name === "content") {
|
||||
return;
|
||||
}
|
||||
|
||||
// Walk up the parents, see if we can find if this is a local variable.
|
||||
let parent = node;
|
||||
do {
|
||||
parent = parent.parent;
|
||||
|
||||
// Don't error if 'content' is one of the function parameters.
|
||||
if (parent.type === "FunctionDeclaration" &&
|
||||
context.getDeclaredVariables(parent).some(variable => variable.name === "content")) {
|
||||
return;
|
||||
} else if (parent.type === "BlockStatement" || parent.type === "Program") {
|
||||
// Don't error if the block or program includes their own definition of content.
|
||||
for (let item of parent.body) {
|
||||
if (item.type === "VariableDeclaration" && item.declarations.length) {
|
||||
for (let declaration of item.declarations) {
|
||||
if (declaration.id && declaration.id.name === "content") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (parent.parent);
|
||||
|
||||
var expression = context.getSource(node);
|
||||
showError(node, expression);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "eslint-plugin-mozilla",
|
||||
"version": "0.4.5",
|
||||
"version": "0.4.6",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -28,27 +28,27 @@
|
|||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz",
|
||||
"integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=",
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz",
|
||||
"integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"co": "4.6.0",
|
||||
"fast-deep-equal": "1.0.0",
|
||||
"json-schema-traverse": "0.3.1",
|
||||
"json-stable-stringify": "1.0.1"
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1"
|
||||
}
|
||||
},
|
||||
"ajv-keywords": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
|
||||
"integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=",
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz",
|
||||
"integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-escapes": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz",
|
||||
"integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=",
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
|
||||
"integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-regex": {
|
||||
|
@ -102,6 +102,30 @@
|
|||
"chalk": "1.1.3",
|
||||
"esutils": "2.0.2",
|
||||
"js-tokens": "3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"balanced-match": {
|
||||
|
@ -142,16 +166,34 @@
|
|||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
|
||||
"integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"ansi-styles": "3.2.0",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
"supports-color": "4.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
|
||||
"integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "1.9.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
|
||||
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"circular-json": {
|
||||
|
@ -197,13 +239,10 @@
|
|||
"dev": true
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
|
||||
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-readlink": "1.0.1"
|
||||
}
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
|
||||
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
|
||||
"dev": true
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
|
@ -228,10 +267,21 @@
|
|||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"dev": true
|
||||
},
|
||||
"cross-spawn": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
|
||||
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "4.1.1",
|
||||
"shebang-command": "1.2.0",
|
||||
"which": "1.3.0"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.8",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
|
||||
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
|
@ -259,9 +309,9 @@
|
|||
}
|
||||
},
|
||||
"diff": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
|
||||
"integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
|
||||
"integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==",
|
||||
"dev": true
|
||||
},
|
||||
"doctrine": {
|
||||
|
@ -281,16 +331,17 @@
|
|||
"dev": true
|
||||
},
|
||||
"eslint": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.2.0.tgz",
|
||||
"integrity": "sha1-orMYQRGxmOAunH88ymJaXgHFaz0=",
|
||||
"version": "4.9.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.9.0.tgz",
|
||||
"integrity": "sha1-doedJ0BoJhsZH+Dy9Wx0wvQgjos=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "5.2.2",
|
||||
"ajv": "5.3.0",
|
||||
"babel-code-frame": "6.26.0",
|
||||
"chalk": "1.1.3",
|
||||
"chalk": "2.3.0",
|
||||
"concat-stream": "1.6.0",
|
||||
"debug": "2.6.8",
|
||||
"cross-spawn": "5.1.0",
|
||||
"debug": "3.1.0",
|
||||
"doctrine": "2.0.0",
|
||||
"eslint-scope": "3.7.1",
|
||||
"espree": "3.5.1",
|
||||
|
@ -298,11 +349,12 @@
|
|||
"estraverse": "4.2.0",
|
||||
"esutils": "2.0.2",
|
||||
"file-entry-cache": "2.0.0",
|
||||
"functional-red-black-tree": "1.0.1",
|
||||
"glob": "7.1.2",
|
||||
"globals": "9.18.0",
|
||||
"ignore": "3.3.5",
|
||||
"ignore": "3.3.7",
|
||||
"imurmurhash": "0.1.4",
|
||||
"inquirer": "3.2.3",
|
||||
"inquirer": "3.3.0",
|
||||
"is-resolvable": "1.0.0",
|
||||
"js-yaml": "3.10.0",
|
||||
"json-stable-stringify": "1.0.1",
|
||||
|
@ -313,11 +365,13 @@
|
|||
"natural-compare": "1.4.0",
|
||||
"optionator": "0.8.2",
|
||||
"path-is-inside": "1.0.2",
|
||||
"pluralize": "4.0.0",
|
||||
"pluralize": "7.0.0",
|
||||
"progress": "2.0.0",
|
||||
"require-uncached": "1.0.3",
|
||||
"semver": "5.4.1",
|
||||
"strip-ansi": "4.0.0",
|
||||
"strip-json-comments": "2.0.1",
|
||||
"table": "4.0.1",
|
||||
"table": "4.0.2",
|
||||
"text-table": "0.2.0"
|
||||
}
|
||||
},
|
||||
|
@ -379,14 +433,14 @@
|
|||
"dev": true
|
||||
},
|
||||
"external-editor": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz",
|
||||
"integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=",
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz",
|
||||
"integrity": "sha512-Msjo64WT5W+NhOpQXh0nOHm+n0RfU1QUwDnKYvJ8dEJ8zlwLrqXNTv5mSUTJpepf41PDJGyhueTw2vNZW+Fr/w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"iconv-lite": "0.4.19",
|
||||
"jschardet": "1.5.1",
|
||||
"tmp": "0.0.31"
|
||||
"jschardet": "1.6.0",
|
||||
"tmp": "0.0.33"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
|
@ -395,6 +449,12 @@
|
|||
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
|
||||
"dev": true
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
|
||||
"dev": true
|
||||
},
|
||||
"fast-levenshtein": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
|
||||
|
@ -416,14 +476,14 @@
|
|||
"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"flat-cache": "1.2.2",
|
||||
"flat-cache": "1.3.0",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
},
|
||||
"flat-cache": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz",
|
||||
"integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=",
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
|
||||
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"circular-json": "0.3.3",
|
||||
|
@ -438,6 +498,12 @@
|
|||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
},
|
||||
"functional-red-black-tree": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
|
||||
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
|
||||
"dev": true
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
|
@ -478,16 +544,10 @@
|
|||
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
|
||||
"dev": true
|
||||
},
|
||||
"graceful-readlink": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
|
||||
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
|
||||
"dev": true
|
||||
},
|
||||
"growl": {
|
||||
"version": "1.9.2",
|
||||
"resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
|
||||
"integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
|
||||
"version": "1.10.3",
|
||||
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
|
||||
"integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==",
|
||||
"dev": true
|
||||
},
|
||||
"has-ansi": {
|
||||
|
@ -505,6 +565,12 @@
|
|||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
||||
"dev": true
|
||||
},
|
||||
"he": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
|
||||
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
|
||||
"dev": true
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.19",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
|
||||
|
@ -512,9 +578,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"ignore": {
|
||||
"version": "3.3.5",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz",
|
||||
"integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==",
|
||||
"version": "3.3.7",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
|
||||
"integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
|
||||
"dev": true
|
||||
},
|
||||
"imurmurhash": {
|
||||
|
@ -545,16 +611,16 @@
|
|||
"integrity": "sha1-+kF4flZ3Y7P/Zdel2alO23QHh+8="
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.3.tgz",
|
||||
"integrity": "sha512-Bc3KbimpDTOeQdDj18Ir/rlsGuhBSSNqdOnxaAuKhpkdnMMuKsEGbZD2v5KFF9oso2OU+BPh7+/u5obmFDRmWw==",
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
|
||||
"integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-escapes": "2.0.0",
|
||||
"chalk": "2.1.0",
|
||||
"ansi-escapes": "3.0.0",
|
||||
"chalk": "2.3.0",
|
||||
"cli-cursor": "2.1.0",
|
||||
"cli-width": "2.2.0",
|
||||
"external-editor": "2.0.4",
|
||||
"external-editor": "2.0.5",
|
||||
"figures": "2.0.0",
|
||||
"lodash": "4.17.4",
|
||||
"mute-stream": "0.0.7",
|
||||
|
@ -564,52 +630,6 @@
|
|||
"string-width": "2.1.1",
|
||||
"strip-ansi": "4.0.0",
|
||||
"through": "2.3.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
|
||||
"integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "1.9.0"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
|
||||
"integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "3.2.0",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"supports-color": "4.4.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "3.0.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
|
||||
"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
|
@ -663,6 +683,12 @@
|
|||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
|
||||
"dev": true
|
||||
},
|
||||
"isexe": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
|
||||
"dev": true
|
||||
},
|
||||
"js-tokens": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
|
||||
|
@ -680,9 +706,9 @@
|
|||
}
|
||||
},
|
||||
"jschardet": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz",
|
||||
"integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==",
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz",
|
||||
"integrity": "sha512-xYuhvQ7I9PDJIGBWev9xm0+SMSed3ZDBAmvVjbFR1ZRLAF+vlXcQu6cRI9uAlj81rzikElRVteehwV7DuX2ZmQ==",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
|
@ -700,12 +726,6 @@
|
|||
"jsonify": "0.0.0"
|
||||
}
|
||||
},
|
||||
"json3": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
|
||||
"integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
|
||||
"dev": true
|
||||
},
|
||||
"jsonify": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
|
||||
|
@ -728,72 +748,14 @@
|
|||
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash._baseassign": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
|
||||
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
|
||||
"lru-cache": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
|
||||
"integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash._basecopy": "3.0.1",
|
||||
"lodash.keys": "3.1.2"
|
||||
}
|
||||
},
|
||||
"lodash._basecopy": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
|
||||
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash._basecreate": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
|
||||
"integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash._getnative": {
|
||||
"version": "3.9.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
|
||||
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash._isiterateecall": {
|
||||
"version": "3.0.9",
|
||||
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
|
||||
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.create": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
|
||||
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash._baseassign": "3.2.0",
|
||||
"lodash._basecreate": "3.0.3",
|
||||
"lodash._isiterateecall": "3.0.9"
|
||||
}
|
||||
},
|
||||
"lodash.isarguments": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
|
||||
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.isarray": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
|
||||
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash.keys": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
|
||||
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash._getnative": "3.9.1",
|
||||
"lodash.isarguments": "3.1.0",
|
||||
"lodash.isarray": "3.0.4"
|
||||
"pseudomap": "1.0.2",
|
||||
"yallist": "2.1.2"
|
||||
}
|
||||
},
|
||||
"mimic-fn": {
|
||||
|
@ -827,66 +789,30 @@
|
|||
}
|
||||
},
|
||||
"mocha": {
|
||||
"version": "3.4.2",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz",
|
||||
"integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz",
|
||||
"integrity": "sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"browser-stdout": "1.3.0",
|
||||
"commander": "2.9.0",
|
||||
"debug": "2.6.0",
|
||||
"diff": "3.2.0",
|
||||
"commander": "2.11.0",
|
||||
"debug": "3.1.0",
|
||||
"diff": "3.3.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"glob": "7.1.1",
|
||||
"growl": "1.9.2",
|
||||
"json3": "3.3.2",
|
||||
"lodash.create": "3.1.1",
|
||||
"glob": "7.1.2",
|
||||
"growl": "1.10.3",
|
||||
"he": "1.1.1",
|
||||
"mkdirp": "0.5.1",
|
||||
"supports-color": "3.1.2"
|
||||
"supports-color": "4.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz",
|
||||
"integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "0.7.2"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
|
||||
"integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "1.0.0",
|
||||
"inflight": "1.0.6",
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "3.0.4",
|
||||
"once": "1.4.0",
|
||||
"path-is-absolute": "1.0.1"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
|
||||
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
|
||||
"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
|
||||
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
|
||||
"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "1.0.0"
|
||||
"has-flag": "2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -987,9 +913,9 @@
|
|||
}
|
||||
},
|
||||
"pluralize": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz",
|
||||
"integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
|
||||
"integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
|
||||
"dev": true
|
||||
},
|
||||
"prelude-ls": {
|
||||
|
@ -1010,6 +936,12 @@
|
|||
"integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
|
||||
"dev": true
|
||||
},
|
||||
"pseudomap": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
|
||||
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
|
||||
|
@ -1095,6 +1027,27 @@
|
|||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.4.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
|
||||
"integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
|
||||
"dev": true
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"shebang-regex": "1.0.0"
|
||||
}
|
||||
},
|
||||
"shebang-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
|
||||
"dev": true
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
|
||||
|
@ -1102,10 +1055,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"slice-ansi": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
|
||||
"integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
|
||||
"dev": true
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
|
||||
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-fullwidth-code-point": "2.0.0"
|
||||
}
|
||||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
|
@ -1121,23 +1077,6 @@
|
|||
"requires": {
|
||||
"is-fullwidth-code-point": "2.0.0",
|
||||
"strip-ansi": "4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"dev": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
|
@ -1150,12 +1089,20 @@
|
|||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
"ansi-regex": "3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
|
@ -1171,29 +1118,17 @@
|
|||
"dev": true
|
||||
},
|
||||
"table": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz",
|
||||
"integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
|
||||
"integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "4.11.8",
|
||||
"ajv-keywords": "1.5.1",
|
||||
"chalk": "1.1.3",
|
||||
"ajv": "5.3.0",
|
||||
"ajv-keywords": "2.1.0",
|
||||
"chalk": "2.3.0",
|
||||
"lodash": "4.17.4",
|
||||
"slice-ansi": "0.0.4",
|
||||
"slice-ansi": "1.0.0",
|
||||
"string-width": "2.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "4.11.8",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
|
||||
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"co": "4.6.0",
|
||||
"json-stable-stringify": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"text-table": {
|
||||
|
@ -1209,9 +1144,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.31",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
|
||||
"integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"os-tmpdir": "1.0.2"
|
||||
|
@ -1244,6 +1179,15 @@
|
|||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
|
||||
"dev": true
|
||||
},
|
||||
"which": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
|
||||
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"isexe": "2.0.0"
|
||||
}
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||
|
@ -1264,6 +1208,12 @@
|
|||
"requires": {
|
||||
"mkdirp": "0.5.1"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "eslint-plugin-mozilla",
|
||||
"version": "0.4.5",
|
||||
"version": "0.4.6",
|
||||
"description": "A collection of rules that help enforce JavaScript coding standard in the Mozilla project.",
|
||||
"keywords": [
|
||||
"eslint",
|
||||
|
@ -24,8 +24,8 @@
|
|||
"sax": "1.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "4.2.0",
|
||||
"mocha": "3.4.2"
|
||||
"eslint": "4.9.0",
|
||||
"mocha": "4.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "^3.0.0 || ^4.0.0",
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
"use strict";
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
var rule = require("../lib/rules/no-cpows-in-tests");
|
||||
var RuleTester = require("eslint/lib/testers/rule-tester");
|
||||
|
||||
const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Tests
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
function wrapCode(code, filename = "browser_fake.js") {
|
||||
return {code, filename};
|
||||
}
|
||||
|
||||
function invalidCode(code, item, type = "MemberExpression") {
|
||||
let message = `${item} is a possible Cross Process Object Wrapper (CPOW).`;
|
||||
let obj = wrapCode(code);
|
||||
obj.errors = [{message, type}];
|
||||
return obj;
|
||||
}
|
||||
|
||||
ruleTester.run("no-cpows-in-tests", rule, {
|
||||
valid: [
|
||||
"window.document",
|
||||
wrapCode("ContentTask.spawn(browser, null, () => { content.document; });"),
|
||||
wrapCode("let x = cssDocs.tooltip.content.contentDocument;"),
|
||||
wrapCode("function test(content) { let x = content; }"),
|
||||
wrapCode('let content = "content"; foo(content);')
|
||||
],
|
||||
invalid: [
|
||||
invalidCode("let x = gBrowser.contentWindow;", "gBrowser.contentWindow"),
|
||||
invalidCode("let x = gBrowser.contentDocument;", "gBrowser.contentDocument"),
|
||||
invalidCode("let x = gBrowser.selectedBrowser.contentWindow;", "gBrowser.selectedBrowser.contentWindow"),
|
||||
invalidCode("let x = browser.contentDocument;", "browser.contentDocument"),
|
||||
invalidCode("let x = window.content;", "window.content"),
|
||||
invalidCode("content.document;", "content.document"),
|
||||
invalidCode("let x = content;", "content", "Identifier"),
|
||||
invalidCode("let x = gBrowser.contentWindow.wrappedJSObject", "gBrowser.contentWindow")
|
||||
]
|
||||
});
|
Загрузка…
Ссылка в новой задаче