зеркало из https://github.com/mozilla/gecko-dev.git
Merge m-c to inbound, a=merge
MozReview-Commit-ID: 3ZzrFonZOIV
This commit is contained in:
Коммит
b0b1d367ca
|
@ -2143,16 +2143,12 @@
|
|||
<versionRange maxVersion="13.0.0.302" minVersion="13.0.0.302" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1495" os="Linux">
|
||||
<match exp="" name="name"/>
|
||||
<match exp="libflashplayer\.so" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="24.0.0.186" minVersion="23.0.0.207" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1420" os="">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p1420">
|
||||
<match exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="23.0.0.205" minVersion="23.0.0.185" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
@ -2206,9 +2202,7 @@
|
|||
<versionRange maxVersion="*" minVersion="0"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1419" os="Linux">
|
||||
<match exp="" name="name"/>
|
||||
<match exp="libflashplayer\.so" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="11.2.202.643" minVersion="11.2.202.637" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
@ -2465,10 +2459,8 @@
|
|||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="18.0.0.232" minVersion="18.0.0.204" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1274" os="">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p1274">
|
||||
<match exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="22.0.0.211" minVersion="22.0.0.192" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
@ -2579,10 +2571,8 @@
|
|||
</targetApplication>
|
||||
</versionRange>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1494" os="">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p1494">
|
||||
<match exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="24.0.0.186" minVersion="23.0.0.207" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
@ -2650,10 +2640,8 @@
|
|||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="18.0.0.352" minVersion="18.0.0.343" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p160" os="">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p160">
|
||||
<match exp="NPSWF32\.dll" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="10.2.9999" minVersion="0" severity="0" vulnerabilitystatus="1">
|
||||
<targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}">
|
||||
|
@ -2821,10 +2809,8 @@
|
|||
<pluginItem blockID="p28">
|
||||
<match exp="NPFFAddOn.dll" name="filename"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1421" os="Linux">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p1421">
|
||||
<match exp="libflashplayer\.so" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="23.0.0.207" minVersion="11.2.202.643" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
@ -3020,10 +3006,8 @@
|
|||
<infoURL>https://get.adobe.com/reader</infoURL>
|
||||
<versionRange maxVersion="15.006.30174" minVersion="15.006.30174" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1422" os="">
|
||||
<match exp="" name="name"/>
|
||||
<pluginItem blockID="p1422">
|
||||
<match exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" name="filename"/>
|
||||
<match exp="" name="description"/>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
<versionRange maxVersion="23.0.0.207" minVersion="23.0.0.205" severity="0" vulnerabilitystatus="1"/>
|
||||
</pluginItem>
|
||||
|
|
|
@ -136,20 +136,34 @@ function getQuotaUsage(origin) {
|
|||
});
|
||||
}
|
||||
|
||||
function getCacheUsage() {
|
||||
return new Promise(resolve => {
|
||||
let obs = {
|
||||
onNetworkCacheDiskConsumption(usage) {
|
||||
resolve(usage);
|
||||
},
|
||||
QueryInterface: XPCOMUtils.generateQI([
|
||||
Components.interfaces.nsICacheStorageConsumptionObserver,
|
||||
Components.interfaces.nsISupportsWeakReference
|
||||
]),
|
||||
};
|
||||
Services.cache2.asyncGetDiskConsumption(obs);
|
||||
});
|
||||
}
|
||||
// XXX: The intermittent bug 1331851
|
||||
// The implementation of nsICacheStorageConsumptionObserver must be passed as weak referenced,
|
||||
// so we must hold this observer here well. If we didn't, there would be a chance that
|
||||
// in Linux debug test run the observer was released before the operation at gecko was completed
|
||||
// (may be because of a relatively quicker GC cycle or a relatively slower operation).
|
||||
// As a result of that, we would never get the cache usage we want so the test would fail from timeout.
|
||||
const cacheUsageGetter = {
|
||||
_promise: null,
|
||||
_resolve: null,
|
||||
get() {
|
||||
if (!this._promise) {
|
||||
this._promise = new Promise(resolve => {
|
||||
this._resolve = resolve;
|
||||
Services.cache2.asyncGetDiskConsumption(this);
|
||||
});
|
||||
}
|
||||
return this._promise;
|
||||
},
|
||||
// nsICacheStorageConsumptionObserver implementations
|
||||
onNetworkCacheDiskConsumption(usage) {
|
||||
cacheUsageGetter._promise = null;
|
||||
cacheUsageGetter._resolve(usage);
|
||||
},
|
||||
QueryInterface: XPCOMUtils.generateQI([
|
||||
Components.interfaces.nsICacheStorageConsumptionObserver,
|
||||
Components.interfaces.nsISupportsWeakReference
|
||||
]),
|
||||
};
|
||||
|
||||
function openSettingsDialog() {
|
||||
let doc = gBrowser.selectedBrowser.contentDocument;
|
||||
|
@ -222,7 +236,7 @@ add_task(function* () {
|
|||
yield openPreferencesViaOpenPreferencesAPI("advanced", "networkTab", { leaveOpen: true });
|
||||
|
||||
// Test the initial states
|
||||
let cacheUsage = yield getCacheUsage();
|
||||
let cacheUsage = yield cacheUsageGetter.get();
|
||||
let quotaUsage = yield getQuotaUsage(TEST_ORIGIN);
|
||||
let totalUsage = yield SiteDataManager.getTotalUsage();
|
||||
Assert.greater(cacheUsage, 0, "The cache usage should not be 0");
|
||||
|
@ -241,7 +255,7 @@ add_task(function* () {
|
|||
let status = getPersistentStoragePermStatus(TEST_ORIGIN);
|
||||
is(status, Ci.nsIPermissionManager.ALLOW_ACTION, "Should not remove permission");
|
||||
|
||||
cacheUsage = yield getCacheUsage();
|
||||
cacheUsage = yield cacheUsageGetter.get();
|
||||
quotaUsage = yield getQuotaUsage(TEST_ORIGIN);
|
||||
totalUsage = yield SiteDataManager.getTotalUsage();
|
||||
Assert.greater(cacheUsage, 0, "The cache usage should not be 0");
|
||||
|
@ -269,7 +283,7 @@ add_task(function* () {
|
|||
status = getPersistentStoragePermStatus(TEST_ORIGIN);
|
||||
is(status, Ci.nsIPermissionManager.UNKNOWN_ACTION, "Should remove permission");
|
||||
|
||||
cacheUsage = yield getCacheUsage();
|
||||
cacheUsage = yield cacheUsageGetter.get();
|
||||
quotaUsage = yield getQuotaUsage(TEST_ORIGIN);
|
||||
totalUsage = yield SiteDataManager.getTotalUsage();
|
||||
is(cacheUsage, 0, "The cahce usage should be removed");
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
let db = e.target.result;
|
||||
let tx = db.transaction("TestStore", "readwrite");
|
||||
let store = tx.objectStore("TestStore");
|
||||
tx.oncomplete = () => window.dispatchEvent(new Event("test-indexedDB-done"));
|
||||
store.put({ id: "test_id", description: "Site Data Test"});
|
||||
window.dispatchEvent(new Event("test-indexedDB-done"));
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
/* exported startup, shutdown, install, uninstall */
|
||||
|
||||
const {classes: Cc, interfaces: Ci, results: Cr, utils: Cu} = Components;
|
||||
const STYLESHEET_URI = "chrome://formautofill/content/formautofill.css";
|
||||
const CACHED_STYLESHEETS = new WeakMap();
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
@ -14,6 +16,30 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
|||
XPCOMUtils.defineLazyModuleGetter(this, "FormAutofillParent",
|
||||
"resource://formautofill/FormAutofillParent.jsm");
|
||||
|
||||
function insertStyleSheet(domWindow, url) {
|
||||
let doc = domWindow.document;
|
||||
let styleSheetAttr = `href="${url}" type="text/css"`;
|
||||
let styleSheet = doc.createProcessingInstruction("xml-stylesheet", styleSheetAttr);
|
||||
|
||||
doc.insertBefore(styleSheet, doc.documentElement);
|
||||
|
||||
if (CACHED_STYLESHEETS.has(domWindow)) {
|
||||
CACHED_STYLESHEETS.get(domWindow).push(styleSheet);
|
||||
} else {
|
||||
CACHED_STYLESHEETS.set(domWindow, [styleSheet]);
|
||||
}
|
||||
}
|
||||
|
||||
let windowListener = {
|
||||
onOpenWindow(aWindow) {
|
||||
let domWindow = aWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);
|
||||
|
||||
domWindow.addEventListener("load", function onWindowLoaded() {
|
||||
insertStyleSheet(domWindow, STYLESHEET_URI);
|
||||
}, {once: true});
|
||||
},
|
||||
};
|
||||
|
||||
function startup() {
|
||||
// Besides this pref, we'll need dom.forms.autocomplete.experimental enabled
|
||||
// as well to make sure form autocomplete works correctly.
|
||||
|
@ -22,10 +48,40 @@ function startup() {
|
|||
}
|
||||
|
||||
let parent = new FormAutofillParent();
|
||||
let enumerator = Services.wm.getEnumerator("navigator:browser");
|
||||
// Load stylesheet to already opened windows
|
||||
while (enumerator.hasMoreElements()) {
|
||||
let win = enumerator.getNext();
|
||||
let domWindow = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);
|
||||
|
||||
insertStyleSheet(domWindow, STYLESHEET_URI);
|
||||
}
|
||||
|
||||
Services.wm.addListener(windowListener);
|
||||
|
||||
parent.init();
|
||||
Services.mm.loadFrameScript("chrome://formautofill/content/FormAutofillFrameScript.js", true);
|
||||
}
|
||||
|
||||
function shutdown() {}
|
||||
function shutdown() {
|
||||
Services.wm.removeListener(windowListener);
|
||||
|
||||
let enumerator = Services.wm.getEnumerator("navigator:browser");
|
||||
|
||||
while (enumerator.hasMoreElements()) {
|
||||
let win = enumerator.getNext();
|
||||
let domWindow = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindow);
|
||||
let cachedStyleSheets = CACHED_STYLESHEETS.get(domWindow);
|
||||
|
||||
if (!cachedStyleSheets) {
|
||||
continue;
|
||||
}
|
||||
|
||||
while (cachedStyleSheets.length !== 0) {
|
||||
cachedStyleSheets.pop().remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function install() {}
|
||||
function uninstall() {}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
/* 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/. */
|
||||
|
||||
.autocomplete-richlistitem[originaltype="autofill-profile"] {
|
||||
-moz-binding: url("chrome://formautofill/content/formautofill.xml#autocomplete-profile-listitem");
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- 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/. -->
|
||||
|
||||
<bindings id="formautofillBindings"
|
||||
xmlns="http://www.mozilla.org/xbl"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:xbl="http://www.mozilla.org/xbl">
|
||||
|
||||
<binding id="autocomplete-profile-listitem" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
|
||||
<xbl:content xmlns="http://www.w3.org/1999/xhtml">
|
||||
<div anonid="profile-item-box" class="profile-item-box">
|
||||
<div class="profile-label-col profile-item-col">
|
||||
<span anonid="profile-label" class="profile-label"></span>
|
||||
</div>
|
||||
<div class="profile-comment-col profile-item-col">
|
||||
<span anonid="profile-comment" class="profile-comment"></span>
|
||||
</div>
|
||||
</div>
|
||||
</xbl:content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement">
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
this._itemBox = document.getAnonymousElementByAttribute(
|
||||
this, "anonid", "profile-item-box"
|
||||
);
|
||||
this._label = document.getAnonymousElementByAttribute(
|
||||
this, "anonid", "profile-label"
|
||||
);
|
||||
this._comment = document.getAnonymousElementByAttribute(
|
||||
this, "anonid", "profile-comment"
|
||||
);
|
||||
|
||||
this._adjustAcItem();
|
||||
]]>
|
||||
</constructor>
|
||||
|
||||
<method name="_cleanup">
|
||||
<body>
|
||||
<![CDATA[
|
||||
this._itemBox.removeAttribute("size");
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="_onOverflow">
|
||||
<body></body>
|
||||
</method>
|
||||
|
||||
<method name="_onUnderflow">
|
||||
<body></body>
|
||||
</method>
|
||||
|
||||
<method name="_adjustAcItem">
|
||||
<body>
|
||||
<![CDATA[
|
||||
let outerBoxRect = this.parentNode.getBoundingClientRect();
|
||||
let value = this.getAttribute("ac-value");
|
||||
let comment = this.getAttribute("ac-comment");
|
||||
|
||||
this._comment.textContent = comment;
|
||||
this._label.textContent = value;
|
||||
|
||||
// Use two-lines layout when width is smaller than 150px
|
||||
if (outerBoxRect.width <= 150) {
|
||||
this._itemBox.setAttribute("size", "small");
|
||||
} else {
|
||||
this._itemBox.removeAttribute("size");
|
||||
}
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
|
@ -0,0 +1,13 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
|
||||
<span style="filter: url(#f);">
|
||||
<div style="transform: matrix(2, 1, 0, 2, 50, 50);"></div>
|
||||
</span>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<filter id="f"/>
|
||||
</svg>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -432,6 +432,7 @@ load 813372-1.html
|
|||
load 817219.html
|
||||
load 818454.html
|
||||
load 822865.html
|
||||
load 824300.html
|
||||
asserts-if(stylo,1) load 824862.html # bug 1324704
|
||||
load 826163.html
|
||||
load 833604-1.html
|
||||
|
|
|
@ -6182,7 +6182,7 @@ nsDisplayTransform::GetDeltaToTransformOrigin(const nsIFrame* aFrame,
|
|||
}
|
||||
|
||||
/* Allows us to access dimension getters by index. */
|
||||
float coords[2];
|
||||
float transformOrigin[2];
|
||||
TransformReferenceBox::DimensionGetter dimensionGetter[] =
|
||||
{ &TransformReferenceBox::Width, &TransformReferenceBox::Height };
|
||||
TransformReferenceBox::DimensionGetter offsetGetter[] =
|
||||
|
@ -6192,33 +6192,35 @@ nsDisplayTransform::GetDeltaToTransformOrigin(const nsIFrame* aFrame,
|
|||
/* If the transform-origin specifies a percentage, take the percentage
|
||||
* of the size of the box.
|
||||
*/
|
||||
const nsStyleCoord &coord = display->mTransformOrigin[index];
|
||||
if (coord.GetUnit() == eStyleUnit_Calc) {
|
||||
const nsStyleCoord::Calc *calc = coord.GetCalcValue();
|
||||
coords[index] =
|
||||
const nsStyleCoord& originValue = display->mTransformOrigin[index];
|
||||
if (originValue.GetUnit() == eStyleUnit_Calc) {
|
||||
const nsStyleCoord::Calc *calc = originValue.GetCalcValue();
|
||||
transformOrigin[index] =
|
||||
NSAppUnitsToFloatPixels((refBox.*dimensionGetter[index])(), aAppUnitsPerPixel) *
|
||||
calc->mPercent +
|
||||
NSAppUnitsToFloatPixels(calc->mLength, aAppUnitsPerPixel);
|
||||
} else if (coord.GetUnit() == eStyleUnit_Percent) {
|
||||
coords[index] =
|
||||
} else if (originValue.GetUnit() == eStyleUnit_Percent) {
|
||||
transformOrigin[index] =
|
||||
NSAppUnitsToFloatPixels((refBox.*dimensionGetter[index])(), aAppUnitsPerPixel) *
|
||||
coord.GetPercentValue();
|
||||
originValue.GetPercentValue();
|
||||
} else {
|
||||
MOZ_ASSERT(coord.GetUnit() == eStyleUnit_Coord, "unexpected unit");
|
||||
coords[index] =
|
||||
NSAppUnitsToFloatPixels(coord.GetCoordValue(), aAppUnitsPerPixel);
|
||||
MOZ_ASSERT(originValue.GetUnit() == eStyleUnit_Coord,
|
||||
"unexpected unit");
|
||||
transformOrigin[index] =
|
||||
NSAppUnitsToFloatPixels(originValue.GetCoordValue(),
|
||||
aAppUnitsPerPixel);
|
||||
}
|
||||
|
||||
if (aFrame->GetStateBits() & NS_FRAME_SVG_LAYOUT) {
|
||||
// SVG frames (unlike other frames) have a reference box that can be (and
|
||||
// typically is) offset from the TopLeft() of the frame. We need to
|
||||
// account for that here.
|
||||
coords[index] +=
|
||||
transformOrigin[index] +=
|
||||
NSAppUnitsToFloatPixels((refBox.*offsetGetter[index])(), aAppUnitsPerPixel);
|
||||
}
|
||||
}
|
||||
|
||||
return Point3D(coords[0], coords[1],
|
||||
return Point3D(transformOrigin[0], transformOrigin[1],
|
||||
NSAppUnitsToFloatPixels(display->mTransformOrigin[2].GetCoordValue(),
|
||||
aAppUnitsPerPixel));
|
||||
}
|
||||
|
@ -6385,12 +6387,12 @@ nsDisplayTransform::GetResultingTransformMatrixInternal(const FrameTransformProp
|
|||
bool dummyBool;
|
||||
Matrix4x4 result;
|
||||
// Call IsSVGTransformed() regardless of the value of
|
||||
// disp->mSpecifiedTransform, since we still need any transformFromSVGParent.
|
||||
Matrix svgTransform, transformFromSVGParent;
|
||||
// disp->mSpecifiedTransform, since we still need any
|
||||
// parentsChildrenOnlyTransform.
|
||||
Matrix svgTransform, parentsChildrenOnlyTransform;
|
||||
bool hasSVGTransforms =
|
||||
frame && frame->IsSVGTransformed(&svgTransform, &transformFromSVGParent);
|
||||
bool hasTransformFromSVGParent =
|
||||
hasSVGTransforms && !transformFromSVGParent.IsIdentity();
|
||||
frame && frame->IsSVGTransformed(&svgTransform,
|
||||
&parentsChildrenOnlyTransform);
|
||||
/* Transformed frames always have a transform, or are preserving 3d (and might still have perspective!) */
|
||||
if (aProperties.mTransformList) {
|
||||
result = nsStyleTransformMatrix::ReadTransforms(aProperties.mTransformList->mHead,
|
||||
|
@ -6407,47 +6409,36 @@ nsDisplayTransform::GetResultingTransformMatrixInternal(const FrameTransformProp
|
|||
result = Matrix4x4::From2D(svgTransform);
|
||||
}
|
||||
|
||||
// Apply any translation due to 'transform-origin' and/or 'transform-box':
|
||||
result.ChangeBasis(aProperties.mToTransformOrigin);
|
||||
|
||||
// See the comment for nsSVGContainerFrame::HasChildrenOnlyTransform for
|
||||
// an explanation of what children-only transforms are.
|
||||
bool parentHasChildrenOnlyTransform =
|
||||
hasSVGTransforms && !parentsChildrenOnlyTransform.IsIdentity();
|
||||
|
||||
if (parentHasChildrenOnlyTransform) {
|
||||
float pixelsPerCSSPx =
|
||||
frame->PresContext()->AppUnitsPerCSSPixel() / aAppUnitsPerPixel;
|
||||
parentsChildrenOnlyTransform._31 *= pixelsPerCSSPx;
|
||||
parentsChildrenOnlyTransform._32 *= pixelsPerCSSPx;
|
||||
|
||||
Point3D frameOffset(
|
||||
NSAppUnitsToFloatPixels(-frame->GetPosition().x, aAppUnitsPerPixel),
|
||||
NSAppUnitsToFloatPixels(-frame->GetPosition().y, aAppUnitsPerPixel),
|
||||
0);
|
||||
Matrix4x4 parentsChildrenOnlyTransform3D =
|
||||
Matrix4x4::From2D(parentsChildrenOnlyTransform).ChangeBasis(frameOffset);
|
||||
|
||||
result *= parentsChildrenOnlyTransform3D;
|
||||
}
|
||||
|
||||
Matrix4x4 perspectiveMatrix;
|
||||
bool hasPerspective = aFlags & INCLUDE_PERSPECTIVE;
|
||||
if (hasPerspective) {
|
||||
hasPerspective = ComputePerspectiveMatrix(frame, aAppUnitsPerPixel,
|
||||
perspectiveMatrix);
|
||||
}
|
||||
|
||||
if (!hasSVGTransforms || !hasTransformFromSVGParent) {
|
||||
// This is a simplification of the following |else| block, the
|
||||
// simplification being possible because we don't need to apply
|
||||
// mToTransformOrigin between two transforms.
|
||||
result.ChangeBasis(aProperties.mToTransformOrigin);
|
||||
} else {
|
||||
Point3D refBoxOffset(NSAppUnitsToFloatPixels(refBox.X(), aAppUnitsPerPixel),
|
||||
NSAppUnitsToFloatPixels(refBox.Y(), aAppUnitsPerPixel),
|
||||
0);
|
||||
// We have both a transform and children-only transform. The
|
||||
// 'transform-origin' must apply between the two, so we need to apply it
|
||||
// now before we apply transformFromSVGParent. Since mToTransformOrigin is
|
||||
// relative to the frame's TopLeft(), we need to convert it to SVG user
|
||||
// space by subtracting refBoxOffset. (Then after applying
|
||||
// transformFromSVGParent we have to reapply refBoxOffset below.)
|
||||
result.ChangeBasis(aProperties.mToTransformOrigin - refBoxOffset);
|
||||
|
||||
// Now apply the children-only transforms, converting the translation
|
||||
// components to device pixels:
|
||||
float pixelsPerCSSPx =
|
||||
frame->PresContext()->AppUnitsPerCSSPixel() / aAppUnitsPerPixel;
|
||||
transformFromSVGParent._31 *= pixelsPerCSSPx;
|
||||
transformFromSVGParent._32 *= pixelsPerCSSPx;
|
||||
result = result * Matrix4x4::From2D(transformFromSVGParent);
|
||||
|
||||
// Similar to the code in the |if| block above, but since we've accounted
|
||||
// for mToTransformOrigin so we don't include that. We also need to reapply
|
||||
// refBoxOffset.
|
||||
result.ChangeBasis(refBoxOffset);
|
||||
}
|
||||
|
||||
if (hasPerspective) {
|
||||
result = result * perspectiveMatrix;
|
||||
if (ComputePerspectiveMatrix(frame, aAppUnitsPerPixel, perspectiveMatrix)) {
|
||||
result *= perspectiveMatrix;
|
||||
}
|
||||
}
|
||||
|
||||
if ((aFlags & INCLUDE_PRESERVE3D_ANCESTORS) &&
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<title>Testcase reference file for generic pass condition</title>
|
||||
<rect width="100%" height="100%" fill="lime"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 297 B |
|
@ -129,6 +129,7 @@ pref(svg.transform-box.enabled,true) == transform-box-svg-1a.svg transform-box-s
|
|||
pref(svg.transform-box.enabled,true) == transform-box-svg-1b.svg transform-box-svg-1-ref.svg
|
||||
pref(svg.transform-box.enabled,true) == transform-box-svg-2a.svg transform-box-svg-2-ref.svg
|
||||
pref(svg.transform-box.enabled,true) == transform-box-svg-2b.svg transform-box-svg-2-ref.svg
|
||||
pref(svg.transform-box.enabled,true) == transform-box-svg-3a.svg pass.svg
|
||||
== transform-origin-svg-1a.svg transform-origin-svg-1-ref.svg
|
||||
== transform-origin-svg-1b.svg transform-origin-svg-1-ref.svg
|
||||
== transform-origin-svg-2a.svg transform-origin-svg-2-ref.svg
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="none">
|
||||
<style>
|
||||
/* <![CDATA[ */
|
||||
.ref {
|
||||
fill: red;
|
||||
}
|
||||
.test {
|
||||
fill: lime;
|
||||
}
|
||||
/* ]]> */
|
||||
</style>
|
||||
<rect width="100%" height="100%" fill="lime"/>
|
||||
<!-- all rect.test rects should be covered by the corresponded rest.ref rect-->
|
||||
<!-- 1st row: transform-box only. -->
|
||||
<rect class="ref"
|
||||
x="11" y="11" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: view-box"
|
||||
x="10" y="10" width="10" height="10"/>
|
||||
<rect class="ref"
|
||||
x="26" y="11" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: fill-box"
|
||||
x="25" y="10" width="10" height="10"/>
|
||||
<rect class="ref"
|
||||
x="41" y="11" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: border-box"
|
||||
x="40" y="10" width="10" height="10"/>
|
||||
|
||||
<!-- 2nd row: transform-box plus transform-origin. -->
|
||||
<rect class="ref"
|
||||
x="11" y="26" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: view-box; tansform-origin: 40% 60%"
|
||||
x="10" y="25" width="10" height="10"/>
|
||||
<rect class="ref"
|
||||
x="26" y="26" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: fill-box; tansform-origin: 20px 10px"
|
||||
x="25" y="25" width="10" height="10"/>
|
||||
<rect class="ref"
|
||||
x="41" y="26" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: border-box; tansform-origin: 40% 60%"
|
||||
x="40" y="25" width="10" height="10"/>
|
||||
|
||||
<!-- 2nd row: transform-box, transform-origin and transform. -->
|
||||
<rect class="ref"
|
||||
x="11" y="46" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: fill-box; tansform-origin: 0% 0%; transform: scale(2);"
|
||||
x="10" y="45" width="5" height="5"/>
|
||||
<rect class="ref"
|
||||
x="26" y="46" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: fill-box; transform-origin: 50% 50%; transform:rotate(45deg);"
|
||||
x="24" y="44" width="12" height="12"/>
|
||||
<rect class="ref"
|
||||
x="41" y="46" width="8" height="8"/>
|
||||
<rect class="test"
|
||||
style="transform-box: border-box; tansform-origin: 100% 100%; transform: scale(1);"
|
||||
x="40" y="45" width="10" height="10"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 2.3 KiB |
|
@ -134,10 +134,18 @@ private:
|
|||
nsCSSAnonBoxes::mozAnonymousBlock,
|
||||
"How did we getting here, then?");
|
||||
}
|
||||
|
||||
bool hasEffect = nsSVGIntegrationUtils::UsingEffectsForFrame(aFrame);
|
||||
nsOverflowAreas* preTransformOverflows =
|
||||
aFrame->Properties().Get(aFrame->PreTransformOverflowAreasProperty());
|
||||
// Having PreTransformOverflowAreasProperty means GetVisualOverflowRect()
|
||||
// will return post-effect rect, which is not what we want, this function
|
||||
// intentional reports pre-effect rect. But it does not matter if there is
|
||||
// no SVG effect on this frame, since no effect means post-effect rect
|
||||
// matches pre-effect rect.
|
||||
MOZ_ASSERT(!hasEffect || !preTransformOverflows,
|
||||
"GetVisualOverflowRect() won't return the pre-effects rect!");
|
||||
#endif
|
||||
NS_ASSERTION(!aFrame->Properties().Get(
|
||||
aFrame->PreTransformOverflowAreasProperty()),
|
||||
"GetVisualOverflowRect() won't return the pre-effects rect!");
|
||||
return aFrame->GetVisualOverflowRect();
|
||||
}
|
||||
|
||||
|
|
|
@ -116,8 +116,11 @@ AltSvcMapping::ProcessHeader(const nsCString &buf, const nsCString &originScheme
|
|||
}
|
||||
|
||||
if (clearEntry) {
|
||||
LOG(("Alt Svc clearing mapping for %s:%d", originHost.get(), originPort));
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(originHost, originPort);
|
||||
nsCString suffix;
|
||||
originAttributes.CreateSuffix(suffix);
|
||||
LOG(("Alt Svc clearing mapping for %s:%d:%s", originHost.get(),
|
||||
originPort, suffix.get()));
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(originHost, originPort, originAttributes);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -140,13 +143,14 @@ AltSvcMapping::ProcessHeader(const nsCString &buf, const nsCString &originScheme
|
|||
originHost, originPort,
|
||||
username, privateBrowsing,
|
||||
NowInSeconds() + maxage,
|
||||
hostname, portno, npnToken);
|
||||
hostname, portno, npnToken,
|
||||
originAttributes);
|
||||
if (mapping->TTL() <= 0) {
|
||||
LOG(("Alt Svc invalid map"));
|
||||
mapping = nullptr;
|
||||
// since this isn't a parse error, let's clear any existing mapping
|
||||
// as that would have happened if we had accepted the parameters.
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(originHost, originPort);
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(originHost, originPort, originAttributes);
|
||||
} else {
|
||||
gHttpHandler->UpdateAltServiceMapping(mapping, proxyInfo, callbacks, caps,
|
||||
originAttributes);
|
||||
|
@ -163,7 +167,8 @@ AltSvcMapping::AltSvcMapping(DataStorage *storage, int32_t epoch,
|
|||
uint32_t expiresAt,
|
||||
const nsACString &alternateHost,
|
||||
int32_t alternatePort,
|
||||
const nsACString &npnToken)
|
||||
const nsACString &npnToken,
|
||||
const OriginAttributes &originAttributes)
|
||||
: mStorage(storage)
|
||||
, mStorageEpoch(epoch)
|
||||
, mAlternateHost(alternateHost)
|
||||
|
@ -176,6 +181,7 @@ AltSvcMapping::AltSvcMapping(DataStorage *storage, int32_t epoch,
|
|||
, mValidated(false)
|
||||
, mMixedScheme(false)
|
||||
, mNPNToken(npnToken)
|
||||
, mOriginAttributes(originAttributes)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
|
@ -206,7 +212,8 @@ AltSvcMapping::AltSvcMapping(DataStorage *storage, int32_t epoch,
|
|||
}
|
||||
|
||||
if (mExpiresAt) {
|
||||
MakeHashKey(mHashKey, originScheme, mOriginHost, mOriginPort, mPrivate);
|
||||
MakeHashKey(mHashKey, originScheme, mOriginHost, mOriginPort, mPrivate,
|
||||
mOriginAttributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -215,7 +222,8 @@ AltSvcMapping::MakeHashKey(nsCString &outKey,
|
|||
const nsACString &originScheme,
|
||||
const nsACString &originHost,
|
||||
int32_t originPort,
|
||||
bool privateBrowsing)
|
||||
bool privateBrowsing,
|
||||
const OriginAttributes &originAttributes)
|
||||
{
|
||||
outKey.Truncate();
|
||||
|
||||
|
@ -231,6 +239,10 @@ AltSvcMapping::MakeHashKey(nsCString &outKey,
|
|||
outKey.AppendInt(originPort);
|
||||
outKey.Append(':');
|
||||
outKey.Append(privateBrowsing ? 'P' : '.');
|
||||
outKey.Append(':');
|
||||
nsAutoCString suffix;
|
||||
originAttributes.CreateSuffix(suffix);
|
||||
outKey.Append(suffix);
|
||||
}
|
||||
|
||||
int32_t
|
||||
|
@ -353,6 +365,10 @@ AltSvcMapping::Serialize(nsCString &out)
|
|||
out.Append(':');
|
||||
out.Append(mMixedScheme ? 'y' : 'n');
|
||||
out.Append(':');
|
||||
nsAutoCString suffix;
|
||||
mOriginAttributes.CreateSuffix(suffix);
|
||||
out.Append(suffix);
|
||||
out.Append(':');
|
||||
}
|
||||
|
||||
AltSvcMapping::AltSvcMapping(DataStorage *storage, int32_t epoch, const nsCString &str)
|
||||
|
@ -394,10 +410,12 @@ COMPILER ERROR
|
|||
mStorageEpoch = nsCString(Substring(str, start, idx - start)).ToInteger(&code);
|
||||
_NS_NEXT_TOKEN;
|
||||
mMixedScheme = Substring(str, start, idx - start).Equals(NS_LITERAL_CSTRING("y"));
|
||||
_NS_NEXT_TOKEN;
|
||||
Unused << mOriginAttributes.PopulateFromSuffix(Substring(str, start, idx - start));
|
||||
#undef _NS_NEXT_TOKEN
|
||||
|
||||
MakeHashKey(mHashKey, mHttps ? NS_LITERAL_CSTRING("https") : NS_LITERAL_CSTRING("http"),
|
||||
mOriginHost, mOriginPort, mPrivate);
|
||||
mOriginHost, mOriginPort, mPrivate, mOriginAttributes);
|
||||
} while (false);
|
||||
}
|
||||
|
||||
|
@ -913,7 +931,8 @@ AltSvcCache::UpdateAltServiceMapping(AltSvcMapping *map, nsProxyInfo *pi,
|
|||
|
||||
already_AddRefed<AltSvcMapping>
|
||||
AltSvcCache::GetAltServiceMapping(const nsACString &scheme, const nsACString &host,
|
||||
int32_t port, bool privateBrowsing)
|
||||
int32_t port, bool privateBrowsing,
|
||||
const OriginAttributes &originAttributes)
|
||||
{
|
||||
bool isHTTPS;
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
@ -945,7 +964,7 @@ AltSvcCache::GetAltServiceMapping(const nsACString &scheme, const nsACString &ho
|
|||
}
|
||||
|
||||
nsAutoCString key;
|
||||
AltSvcMapping::MakeHashKey(key, scheme, host, port, privateBrowsing);
|
||||
AltSvcMapping::MakeHashKey(key, scheme, host, port, privateBrowsing, originAttributes);
|
||||
RefPtr<AltSvcMapping> existing = LookupMapping(key, privateBrowsing);
|
||||
LOG(("AltSvcCache::GetAltServiceMapping %p key=%s "
|
||||
"existing=%p validated=%d ttl=%d",
|
||||
|
@ -959,52 +978,60 @@ AltSvcCache::GetAltServiceMapping(const nsACString &scheme, const nsACString &ho
|
|||
|
||||
class ProxyClearHostMapping : public Runnable {
|
||||
public:
|
||||
explicit ProxyClearHostMapping(const nsACString &host, int32_t port)
|
||||
explicit ProxyClearHostMapping(const nsACString &host, int32_t port,
|
||||
const OriginAttributes &originAttributes)
|
||||
: mHost(host)
|
||||
, mPort(port)
|
||||
, mOriginAttributes(originAttributes)
|
||||
{}
|
||||
|
||||
NS_IMETHOD Run() override
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(mHost, mPort);
|
||||
gHttpHandler->ConnMgr()->ClearHostMapping(mHost, mPort, mOriginAttributes);
|
||||
return NS_OK;
|
||||
}
|
||||
private:
|
||||
nsCString mHost;
|
||||
int32_t mPort;
|
||||
OriginAttributes mOriginAttributes;
|
||||
};
|
||||
|
||||
void
|
||||
AltSvcCache::ClearHostMapping(const nsACString &host, int32_t port)
|
||||
AltSvcCache::ClearHostMapping(const nsACString &host, int32_t port,
|
||||
const OriginAttributes &originAttributes)
|
||||
{
|
||||
if (!NS_IsMainThread()) {
|
||||
nsCOMPtr<nsIRunnable> event = new ProxyClearHostMapping(host, port);
|
||||
nsCOMPtr<nsIRunnable> event = new ProxyClearHostMapping(host, port, originAttributes);
|
||||
if (event) {
|
||||
NS_DispatchToMainThread(event);
|
||||
}
|
||||
return;
|
||||
}
|
||||
nsAutoCString key;
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("http"), host, port, true);
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("http"), host, port, true,
|
||||
originAttributes);
|
||||
RefPtr<AltSvcMapping> existing = LookupMapping(key, true);
|
||||
if (existing) {
|
||||
existing->SetExpired();
|
||||
}
|
||||
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("https"), host, port, true);
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("https"), host, port, true,
|
||||
originAttributes);
|
||||
existing = LookupMapping(key, true);
|
||||
if (existing) {
|
||||
existing->SetExpired();
|
||||
}
|
||||
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("http"), host, port, false);
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("http"), host, port, false,
|
||||
originAttributes);
|
||||
existing = LookupMapping(key, false);
|
||||
if (existing) {
|
||||
existing->SetExpired();
|
||||
}
|
||||
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("https"), host, port, false);
|
||||
AltSvcMapping::MakeHashKey(key, NS_LITERAL_CSTRING("https"), host, port, false,
|
||||
originAttributes);
|
||||
existing = LookupMapping(key, false);
|
||||
if (existing) {
|
||||
existing->SetExpired();
|
||||
|
@ -1015,7 +1042,7 @@ void
|
|||
AltSvcCache::ClearHostMapping(nsHttpConnectionInfo *ci)
|
||||
{
|
||||
if (!ci->GetOrigin().IsEmpty()) {
|
||||
ClearHostMapping(ci->GetOrigin(), ci->OriginPort());
|
||||
ClearHostMapping(ci->GetOrigin(), ci->OriginPort(), ci->GetOriginAttributes());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,8 @@ private: // ctor from ProcessHeader
|
|||
uint32_t expiresAt,
|
||||
const nsACString &alternateHost,
|
||||
int32_t alternatePort,
|
||||
const nsACString &npnToken);
|
||||
const nsACString &npnToken,
|
||||
const OriginAttributes &originAttributes);
|
||||
public:
|
||||
AltSvcMapping(DataStorage *storage, int32_t storageEpoch, const nsCString &serialized);
|
||||
|
||||
|
@ -92,7 +93,8 @@ public:
|
|||
const nsACString &originScheme,
|
||||
const nsACString &originHost,
|
||||
int32_t originPort,
|
||||
bool privateBrowsing);
|
||||
bool privateBrowsing,
|
||||
const OriginAttributes &originAttributes);
|
||||
|
||||
private:
|
||||
virtual ~AltSvcMapping() {};
|
||||
|
@ -120,6 +122,8 @@ private:
|
|||
MOZ_INIT_OUTSIDE_CTOR bool mMixedScheme; // .wk allows http and https on same con
|
||||
|
||||
nsCString mNPNToken;
|
||||
|
||||
OriginAttributes mOriginAttributes;
|
||||
};
|
||||
|
||||
class AltSvcOverride : public nsIInterfaceRequestor
|
||||
|
@ -172,9 +176,10 @@ public:
|
|||
const OriginAttributes &originAttributes); // main thread
|
||||
already_AddRefed<AltSvcMapping> GetAltServiceMapping(const nsACString &scheme,
|
||||
const nsACString &host,
|
||||
int32_t port, bool pb);
|
||||
int32_t port, bool pb,
|
||||
const OriginAttributes &originAttributes);
|
||||
void ClearAltServiceMappings();
|
||||
void ClearHostMapping(const nsACString &host, int32_t port);
|
||||
void ClearHostMapping(const nsACString &host, int32_t port, const OriginAttributes &originAttributes);
|
||||
void ClearHostMapping(nsHttpConnectionInfo *ci);
|
||||
DataStorage *GetStoragePtr() { return mStorage.get(); }
|
||||
int32_t StorageEpoch() { return mStorageEpoch; }
|
||||
|
|
|
@ -5949,7 +5949,8 @@ nsHttpChannel::BeginConnect()
|
|||
(!proxyInfo || proxyInfo->IsDirect()) &&
|
||||
(mapping = gHttpHandler->GetAltServiceMapping(scheme,
|
||||
host, port,
|
||||
mPrivateBrowsing))) {
|
||||
mPrivateBrowsing,
|
||||
originAttributes))) {
|
||||
LOG(("nsHttpChannel %p Alt Service Mapping Found %s://%s:%d [%s]\n",
|
||||
this, scheme.get(), mapping->AlternateHost().get(),
|
||||
mapping->AlternatePort(), mapping->HashKey().get()));
|
||||
|
|
|
@ -253,9 +253,10 @@ public:
|
|||
|
||||
already_AddRefed<AltSvcMapping> GetAltServiceMapping(const nsACString &scheme,
|
||||
const nsACString &host,
|
||||
int32_t port, bool pb)
|
||||
int32_t port, bool pb,
|
||||
const OriginAttributes &originAttributes)
|
||||
{
|
||||
return mConnMgr->GetAltServiceMapping(scheme, host, port, pb);
|
||||
return mConnMgr->GetAltServiceMapping(scheme, host, port, pb, originAttributes);
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -145,6 +145,7 @@ var loadWithoutClearingMappings = false;
|
|||
var nextTest;
|
||||
var expectPass = true;
|
||||
var waitFor = 0;
|
||||
var originAttributes = {};
|
||||
|
||||
var Listener = function() {};
|
||||
Listener.prototype = {
|
||||
|
@ -222,6 +223,7 @@ function doTest()
|
|||
Ci.nsIChannel.LOAD_INITIAL_DOCUMENT_URI;
|
||||
}
|
||||
loadWithoutClearingMappings = false;
|
||||
chan.loadInfo.originAttributes = originAttributes;
|
||||
chan.asyncOpen2(listener);
|
||||
}
|
||||
|
||||
|
@ -367,8 +369,75 @@ function doTest11()
|
|||
xaltsvc = h2FooRoute;
|
||||
expectPass = true;
|
||||
waitFor = 500;
|
||||
nextTest = testsDone;
|
||||
nextTest = doTest12;
|
||||
do_test_pending();
|
||||
doTest();
|
||||
}
|
||||
|
||||
// Test 12-15:
|
||||
// Insert a cache of http://foo served from h2=:port with origin attributes.
|
||||
function doTest12()
|
||||
{
|
||||
dump("doTest12()\n");
|
||||
origin = httpFooOrigin;
|
||||
xaltsvc = h2Route;
|
||||
originAttributes = {
|
||||
userContextId: 1,
|
||||
firstPartyDomain: "a.com",
|
||||
};
|
||||
nextTest = doTest13;
|
||||
do_test_pending();
|
||||
doTest();
|
||||
xaltsvc = h2FooRoute;
|
||||
}
|
||||
|
||||
// Make sure we get a cache miss with a different userContextId.
|
||||
function doTest13()
|
||||
{
|
||||
dump("doTest13()\n");
|
||||
origin = httpFooOrigin;
|
||||
xaltsvc = 'NA';
|
||||
originAttributes = {
|
||||
userContextId: 2,
|
||||
firstPartyDomain: "a.com",
|
||||
};
|
||||
loadWithoutClearingMappings = true;
|
||||
nextTest = doTest14;
|
||||
do_test_pending();
|
||||
doTest();
|
||||
}
|
||||
|
||||
// Make sure we get a cache miss with a different firstPartyDomain.
|
||||
function doTest14()
|
||||
{
|
||||
dump("doTest14()\n");
|
||||
origin = httpFooOrigin;
|
||||
xaltsvc = 'NA';
|
||||
originAttributes = {
|
||||
userContextId: 1,
|
||||
firstPartyDomain: "b.com",
|
||||
};
|
||||
loadWithoutClearingMappings = true;
|
||||
nextTest = doTest15;
|
||||
do_test_pending();
|
||||
doTest();
|
||||
}
|
||||
//
|
||||
// Make sure we get a cache hit with the same origin attributes.
|
||||
function doTest15()
|
||||
{
|
||||
dump("doTest15()\n");
|
||||
origin = httpFooOrigin;
|
||||
xaltsvc = 'NA';
|
||||
originAttributes = {
|
||||
userContextId: 1,
|
||||
firstPartyDomain: "a.com",
|
||||
};
|
||||
loadWithoutClearingMappings = true;
|
||||
nextTest = testsDone;
|
||||
do_test_pending();
|
||||
doTest();
|
||||
// This ensures a cache hit.
|
||||
xaltsvc = h2FooRoute;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,8 +15,10 @@ nsWifiScannerDBus::nsWifiScannerDBus(nsCOMArray<nsWifiAccessPoint> *aAccessPoint
|
|||
|
||||
mConnection =
|
||||
already_AddRefed<DBusConnection>(dbus_bus_get(DBUS_BUS_SYSTEM, nullptr));
|
||||
MOZ_ASSERT(mConnection);
|
||||
dbus_connection_set_exit_on_disconnect(mConnection, false);
|
||||
|
||||
if (mConnection) {
|
||||
dbus_connection_set_exit_on_disconnect(mConnection, false);
|
||||
}
|
||||
|
||||
MOZ_COUNT_CTOR(nsWifiScannerDBus);
|
||||
}
|
||||
|
@ -29,6 +31,9 @@ nsWifiScannerDBus::~nsWifiScannerDBus()
|
|||
nsresult
|
||||
nsWifiScannerDBus::Scan()
|
||||
{
|
||||
if (!mConnection) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
return SendMessage("org.freedesktop.NetworkManager",
|
||||
"/org/freedesktop/NetworkManager",
|
||||
"GetDevices");
|
||||
|
|
|
@ -1157,4 +1157,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1495638976632000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1495728091984000);
|
||||
|
|
|
@ -79,6 +79,7 @@ abeestrada.com: did not receive HSTS header
|
|||
abilitylist.org: did not receive HSTS header
|
||||
abioniere.de: could not connect to host
|
||||
abnarnro.com: could not connect to host
|
||||
abolitionistsociety.com: could not connect to host
|
||||
about.ge: could not connect to host
|
||||
aboutmyip.info: did not receive HSTS header
|
||||
aboutmyproperty.ca: [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 121" data: no]
|
||||
|
@ -143,6 +144,7 @@ ahmedabadflowermall.com: did not receive HSTS header
|
|||
ahoynetwork.com: could not connect to host
|
||||
ahri.ovh: could not connect to host
|
||||
aidanwoods.com: did not receive HSTS header
|
||||
airbnb.com: did not receive HSTS header
|
||||
aircomms.com: did not receive HSTS header
|
||||
airproto.com: did not receive HSTS header
|
||||
aishnair.com: could not connect to host
|
||||
|
@ -288,6 +290,7 @@ ars-design.net: could not connect to host
|
|||
ars.toscana.it: max-age too low: 0
|
||||
artiming.com: could not connect to host
|
||||
artistnetwork.nl: did not receive HSTS header
|
||||
artofeyes.nl: did not receive HSTS header
|
||||
arturkohut.com: could not connect to host
|
||||
arvamus.eu: could not connect to host
|
||||
as.se: could not connect to host
|
||||
|
@ -361,9 +364,8 @@ axeny.com: did not receive HSTS header
|
|||
az.search.yahoo.com: did not receive HSTS header
|
||||
azprep.us: could not connect to host
|
||||
azuxul.fr: could not connect to host
|
||||
b303.me: did not receive HSTS header
|
||||
b3orion.com: max-age too low: 0
|
||||
baby-click.de: could not connect to host
|
||||
baby-click.de: did not receive HSTS header
|
||||
babybic.hu: did not receive HSTS header
|
||||
babyhouse.xyz: could not connect to host
|
||||
babysaying.me: could not connect to host
|
||||
|
@ -502,7 +504,6 @@ blog-ritaline.com: could not connect to host
|
|||
blog.cyveillance.com: did not receive HSTS header
|
||||
blog.lookout.com: did not receive HSTS header
|
||||
bloglikepro.com: could not connect to host
|
||||
blogreen.org: could not connect to host
|
||||
blubbablasen.de: could not connect to host
|
||||
blucas.org: did not receive HSTS header
|
||||
blueglobalmedia.com: max-age too low: 0
|
||||
|
@ -529,6 +530,7 @@ bonigo.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_
|
|||
bonitabrazilian.co.nz: did not receive HSTS header
|
||||
bookcelerator.com: did not receive HSTS header
|
||||
booked.holiday: could not connect to host
|
||||
bookingapp.nl: did not receive HSTS header
|
||||
bookourdjs.com: [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 121" data: no]
|
||||
boomerang.com: could not connect to host
|
||||
boosterlearnpro.com: did not receive HSTS header
|
||||
|
@ -574,6 +576,7 @@ budgetthostels.nl: did not receive HSTS header
|
|||
budskap.eu: could not connect to host
|
||||
bugs.chromium.org: did not receive HSTS header (error ignored - included regardless)
|
||||
bugtrack.io: did not receive HSTS header
|
||||
bugwie.com: did not receive HSTS header
|
||||
buhler.pro: did not receive HSTS header
|
||||
buildci.asia: could not connect to host
|
||||
buildsaver.co.za: did not receive HSTS header
|
||||
|
@ -597,9 +600,12 @@ buttercoin.com: could not connect to host
|
|||
butterfieldstraining.com: did not receive HSTS header
|
||||
buybaby.eu: did not receive HSTS header
|
||||
buyfox.de: did not receive HSTS header
|
||||
bw.codes: could not connect to host
|
||||
bws16.de: did not receive HSTS header
|
||||
by4cqb.cn: could not connect to host
|
||||
bypassed.press: could not connect to host
|
||||
bypassed.today: did not receive HSTS header
|
||||
bypassed.works: did not receive HSTS header
|
||||
bypassed.world: did not receive HSTS header
|
||||
bypro.xyz: could not connect to host
|
||||
bysymphony.com: max-age too low: 0
|
||||
|
@ -620,6 +626,7 @@ cake.care: could not connect to host
|
|||
calendarr.com: did not receive HSTS header
|
||||
calgaryconstructionjobs.com: did not receive HSTS header
|
||||
calix.com: max-age too low: 0
|
||||
call.me: did not receive HSTS header
|
||||
calltrackingreports.com: could not connect to host
|
||||
calvin.me: max-age too low: 2592000
|
||||
calvinallen.net: did not receive HSTS header
|
||||
|
@ -630,7 +637,6 @@ cancelmyprofile.com: did not receive HSTS header
|
|||
candicontrols.com: did not receive HSTS header
|
||||
candratech.com: could not connect to host
|
||||
candylion.rocks: could not connect to host
|
||||
canfly.org: did not receive HSTS header
|
||||
cannyfoxx.me: could not connect to host
|
||||
canyonshoa.com: did not receive HSTS header
|
||||
capecycles.co.za: did not receive HSTS header
|
||||
|
@ -734,6 +740,7 @@ christianbro.gq: could not connect to host
|
|||
christophercolumbusfoundation.gov: could not connect to host
|
||||
christophheich.me: could not connect to host
|
||||
chrisupjohn.com: could not connect to host
|
||||
chromaryu.net: could not connect to host
|
||||
chrome-devtools-frontend.appspot.com: did not receive HSTS header (error ignored - included regardless)
|
||||
chrome.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
chromiumbugs.appspot.com: did not receive HSTS header (error ignored - included regardless)
|
||||
|
@ -758,7 +765,6 @@ clara-baumert.de: could not connect to host
|
|||
classicsandexotics.com: did not receive HSTS header
|
||||
classicspublishing.com: could not connect to host
|
||||
clcleaningco.com: could not connect to host
|
||||
cldly.com: could not connect to host
|
||||
cleanexperts.co.uk: could not connect to host
|
||||
cleaningsquad.ca: could not connect to host
|
||||
cleanmta.com: could not connect to host
|
||||
|
@ -780,7 +786,6 @@ cloudcy.net: could not connect to host
|
|||
clouddesktop.co.nz: could not connect to host
|
||||
cloudey.net: did not receive HSTS header
|
||||
cloudflare.com: did not receive HSTS header
|
||||
cloudily.com: could not connect to host
|
||||
cloudimag.es: could not connect to host
|
||||
cloudlink.club: could not connect to host
|
||||
cloudns.com.au: could not connect to host
|
||||
|
@ -814,11 +819,11 @@ codeco.pw: could not connect to host
|
|||
codeforce.io: could not connect to host
|
||||
codelayer.ca: could not connect to host
|
||||
codepoet.de: could not connect to host
|
||||
codepult.com: could not connect to host
|
||||
codepx.com: did not receive HSTS header
|
||||
codereview.appspot.com: did not receive HSTS header (error ignored - included regardless)
|
||||
codereview.chromium.org: did not receive HSTS header (error ignored - included regardless)
|
||||
codiva.io: max-age too low: 2592000
|
||||
codymoniz.com: could not connect to host
|
||||
coffeeetc.co.uk: did not receive HSTS header
|
||||
coffeestrategies.com: max-age too low: 2592000
|
||||
coiffeurschnittstelle.ch: did not receive HSTS header
|
||||
|
@ -840,6 +845,7 @@ compalytics.com: could not connect to host
|
|||
comparejewelleryprices.co.uk: could not connect to host
|
||||
completeid.com: max-age too low: 86400
|
||||
completionist.audio: could not connect to host
|
||||
compraneta.com: could not connect to host
|
||||
compucorner.com.mx: could not connect to host
|
||||
concord-group.co.jp: did not receive HSTS header
|
||||
condesaelectronics.com: max-age too low: 0
|
||||
|
@ -854,7 +860,6 @@ contarkos.xyz: could not connect to host
|
|||
content-api-dev.azurewebsites.net: could not connect to host
|
||||
continuumgaming.com: could not connect to host
|
||||
controlcenter.gigahost.dk: did not receive HSTS header
|
||||
convert.zone: could not connect to host
|
||||
coolchevy.org.ua: did not receive HSTS header
|
||||
cor-ser.es: could not connect to host
|
||||
coralproject.net: did not receive HSTS header
|
||||
|
@ -920,7 +925,9 @@ csgoelemental.com: could not connect to host
|
|||
csgokings.eu: could not connect to host
|
||||
csohack.tk: could not connect to host
|
||||
cspbuilder.info: could not connect to host
|
||||
csru.net: could not connect to host
|
||||
csvape.com: did not receive HSTS header
|
||||
ct-status.org: could not connect to host
|
||||
ct.search.yahoo.com: did not receive HSTS header
|
||||
cthulhuden.com: could not connect to host
|
||||
cubeserver.eu: could not connect to host
|
||||
|
@ -941,6 +948,7 @@ cycleluxembourg.lu: did not receive HSTS header
|
|||
cydia-search.io: could not connect to host
|
||||
cyph.com: did not receive HSTS header
|
||||
cyphertite.com: could not connect to host
|
||||
czerno.com: could not connect to host
|
||||
czlx.co: could not connect to host
|
||||
dad256.tk: could not connect to host
|
||||
dadtheimpaler.com: could not connect to host
|
||||
|
@ -1009,6 +1017,7 @@ debian-vhost.de: did not receive HSTS header
|
|||
debiton.dk: could not connect to host
|
||||
debtkit.co.uk: did not receive HSTS header
|
||||
decafu.co: could not connect to host
|
||||
decesus.com: could not connect to host
|
||||
decibelios.li: could not connect to host
|
||||
deco.me: could not connect to host
|
||||
dedicatutiempo.es: could not connect to host
|
||||
|
@ -1045,13 +1054,14 @@ designgears.com: did not receive HSTS header
|
|||
designthinking.or.jp: did not receive HSTS header
|
||||
despora.de: [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 121" data: no]
|
||||
destinationbijoux.fr: could not connect to host
|
||||
destom.be: could not connect to host
|
||||
detector.exposed: could not connect to host
|
||||
devcu.net: did not receive HSTS header
|
||||
deviltracks.net: could not connect to host
|
||||
devincrow.me: could not connect to host
|
||||
devtub.com: did not receive HSTS header
|
||||
devuan.org: did not receive HSTS header
|
||||
dhpcs.com: did not receive HSTS header
|
||||
dhpiggott.net: did not receive HSTS header
|
||||
diablotine.rocks: could not connect to host
|
||||
diarbag.us: did not receive HSTS header
|
||||
diasp.cz: [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 121" data: no]
|
||||
|
@ -1093,6 +1103,7 @@ docset.io: could not connect to host
|
|||
docufiel.com: could not connect to host
|
||||
doeswindowssuckforeveryoneorjustme.com: could not connect to host
|
||||
dogbox.se: did not receive HSTS header
|
||||
dogmap.jp: could not connect to host
|
||||
dohosting.ru: could not connect to host
|
||||
dokan.online: could not connect to host
|
||||
dollarstore24.com: could not connect to host
|
||||
|
@ -1134,8 +1145,6 @@ drtroyhendrickson.com: could not connect to host
|
|||
drumbandesperanto.nl: could not connect to host
|
||||
ds-christiansen.de: did not receive HSTS header
|
||||
dshiv.io: could not connect to host
|
||||
dubrovskiy.net: could not connect to host
|
||||
dubrovskiy.pro: could not connect to host
|
||||
duesee.org: could not connect to host
|
||||
dullsir.com: did not receive HSTS header
|
||||
duria.de: max-age too low: 3600
|
||||
|
@ -1150,7 +1159,6 @@ dymersion.com: did not receive HSTS header
|
|||
dzimejl.sk: did not receive HSTS header
|
||||
dzlibs.io: could not connect to host
|
||||
dzndk.org: could not connect to host
|
||||
dzyabchenko.com: could not connect to host
|
||||
e-aut.net: did not receive HSTS header
|
||||
e-deca2.org: did not receive HSTS header
|
||||
e-sa.com: did not receive HSTS header
|
||||
|
@ -1194,7 +1202,6 @@ ehito.ovh: could not connect to host
|
|||
ehrenamt-skpfcw.de: could not connect to host
|
||||
eicfood.com: could not connect to host
|
||||
eidolonhost.com: did not receive HSTS header
|
||||
eimanavicius.lt: could not connect to host
|
||||
ekbanden.nl: could not connect to host
|
||||
elaintehtaat.fi: did not receive HSTS header
|
||||
elan-organics.com: did not receive HSTS header
|
||||
|
@ -1216,10 +1223,11 @@ elnutricionista.es: did not receive HSTS header
|
|||
eloanpersonal.com: max-age too low: 0
|
||||
elpo.xyz: could not connect to host
|
||||
elsamakhin.com: could not connect to host
|
||||
elsitar.com: did not receive HSTS header
|
||||
elsitar.com: could not connect to host
|
||||
email.lookout.com: could not connect to host
|
||||
emanatepixels.com: could not connect to host
|
||||
emeldi-commerce.com: max-age too low: 0
|
||||
emilyhorsman.com: could not connect to host
|
||||
eminovic.me: could not connect to host
|
||||
emjainteractive.com: did not receive HSTS header
|
||||
emjimadhu.com: could not connect to host
|
||||
|
@ -1291,7 +1299,7 @@ estoic.net: could not connect to host
|
|||
et-buchholz.de: could not connect to host
|
||||
etdonline.co.uk: could not connect to host
|
||||
eternitylove.us: could not connect to host
|
||||
ethanfaust.com: could not connect to host
|
||||
eth9.net: max-age too low: 0
|
||||
ethicalexploiting.com: could not connect to host
|
||||
etsysecure.com: could not connect to host
|
||||
etula.ga: could not connect to host
|
||||
|
@ -1307,7 +1315,6 @@ everybooks.com: max-age too low: 60
|
|||
everything.place: could not connect to host
|
||||
evin.ml: could not connect to host
|
||||
evites.me: could not connect to host
|
||||
evolutionlending.co.uk: could not connect to host
|
||||
evomon.com: could not connect to host
|
||||
evossd.tk: could not connect to host
|
||||
ewuchuan.com: could not connect to host
|
||||
|
@ -1349,7 +1356,6 @@ falkp.no: did not receive HSTS header
|
|||
fallenangelspirits.uk: could not connect to host
|
||||
familie-sprink.de: could not connect to host
|
||||
familie-zimmermann.at: could not connect to host
|
||||
fantopia.club: could not connect to host
|
||||
fanyl.cn: could not connect to host
|
||||
farhadexchange.com: did not receive HSTS header
|
||||
farhood.org: could not connect to host
|
||||
|
@ -1402,7 +1408,6 @@ fireorbit.de: did not receive HSTS header
|
|||
firstdogonthemoon.com.au: did not receive HSTS header
|
||||
firstforex.co.uk: did not receive HSTS header
|
||||
fish2.me: did not receive HSTS header
|
||||
fistu.la: could not connect to host
|
||||
fit4medien.de: did not receive HSTS header
|
||||
fitbylo.com: did not receive HSTS header
|
||||
fitiapp.com: could not connect to host
|
||||
|
@ -1427,7 +1432,6 @@ florianlillpopp.de: max-age too low: 10
|
|||
floridaescapes.co.uk: did not receive HSTS header
|
||||
flouartistique.ch: could not connect to host
|
||||
flow.pe: could not connect to host
|
||||
flow.su: could not connect to host
|
||||
flowersandclouds.com: could not connect to host
|
||||
flowlo.me: could not connect to host
|
||||
flushstudios.com: did not receive HSTS header
|
||||
|
@ -1475,7 +1479,6 @@ freesounding.com: could not connect to host
|
|||
freesounding.ru: could not connect to host
|
||||
freethought.org.au: could not connect to host
|
||||
freeutopia.org: did not receive HSTS header
|
||||
freezion.com: could not connect to host
|
||||
frenzel.dk: could not connect to host
|
||||
freqlabs.com: could not connect to host
|
||||
freshfind.xyz: could not connect to host
|
||||
|
@ -1534,6 +1537,7 @@ gamehacks.me: could not connect to host
|
|||
gameink.net: max-age too low: 0
|
||||
gamenected.com: could not connect to host
|
||||
gamenected.de: could not connect to host
|
||||
gamepader.com: could not connect to host
|
||||
gameparade.de: could not connect to host
|
||||
gamepiece.com: could not connect to host
|
||||
gamerslair.org: did not receive HSTS header
|
||||
|
@ -1651,7 +1655,6 @@ googleplex.com: did not receive HSTS header (error ignored - included regardless
|
|||
goolok.com: could not connect to host
|
||||
gorilla-gym.site: could not connect to host
|
||||
goto.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
goto.world: did not receive HSTS header
|
||||
gotowned.org: did not receive HSTS header
|
||||
gotspot.com: could not connect to host
|
||||
gottcode.org: did not receive HSTS header
|
||||
|
@ -1667,6 +1670,8 @@ granary-demo.appspot.com: did not receive HSTS header
|
|||
grandmascookieblog.com: did not receive HSTS header
|
||||
grantedby.me: could not connect to host
|
||||
graph.no: did not receive HSTS header
|
||||
graphire.io: could not connect to host
|
||||
graphsearchengine.com: could not connect to host
|
||||
gravito.nl: did not receive HSTS header
|
||||
gravity-net.de: could not connect to host
|
||||
graycell.net: could not connect to host
|
||||
|
@ -1677,7 +1682,7 @@ greenhillantiques.co.uk: did not receive HSTS header
|
|||
greenvines.com.tw: did not receive HSTS header
|
||||
greg.red: could not connect to host
|
||||
gregorytlee.me: did not receive HSTS header
|
||||
gremots.com: did not receive HSTS header
|
||||
gremots.com: could not connect to host
|
||||
greplin.com: could not connect to host
|
||||
gresb.com: did not receive HSTS header
|
||||
gribani.com: could not connect to host
|
||||
|
@ -1701,7 +1706,6 @@ guilde-vindicta.fr: did not receive HSTS header
|
|||
gulenet.com: could not connect to host
|
||||
gunnarhafdal.com: did not receive HSTS header
|
||||
gurom.lv: could not connect to host
|
||||
gurueffect.com: did not receive HSTS header
|
||||
gurusupe.com: could not connect to host
|
||||
gussi.is: did not receive HSTS header
|
||||
gvt2.com: could not connect to host (error ignored - included regardless)
|
||||
|
@ -1715,7 +1719,6 @@ gyboche.science: could not connect to host
|
|||
gycis.me: could not connect to host
|
||||
gypthecat.com: max-age too low: 604800
|
||||
gyz.io: could not connect to host
|
||||
gzitech.com: could not connect to host
|
||||
h2check.org: could not connect to host
|
||||
haarkliniek.com: did not receive HSTS header
|
||||
habanaavenue.com: did not receive HSTS header
|
||||
|
@ -1726,7 +1729,6 @@ hack.li: did not receive HSTS header
|
|||
hacker.one: could not connect to host
|
||||
hackerforever.com: did not receive HSTS header
|
||||
hackerone-ext-adroll.com: could not connect to host
|
||||
hackerpoints.com: could not connect to host
|
||||
hackest.org: did not receive HSTS header
|
||||
hackit.im: could not connect to host
|
||||
hadzic.co: could not connect to host
|
||||
|
@ -1745,7 +1747,6 @@ hang333.pw: did not receive HSTS header
|
|||
hansen.hn: could not connect to host
|
||||
hao2taiwan.com: max-age too low: 0
|
||||
haoyugao.com: could not connect to host
|
||||
haozi.me: could not connect to host
|
||||
hapissl.com: could not connect to host
|
||||
happyfabric.me: did not receive HSTS header
|
||||
happygastro.com: could not connect to host
|
||||
|
@ -1811,9 +1812,9 @@ hillcity.org.nz: did not receive HSTS header
|
|||
hilnu.tk: could not connect to host
|
||||
hipercultura.com: did not receive HSTS header
|
||||
hiphopconvention.nl: could not connect to host
|
||||
hirake55.com: could not connect to host
|
||||
hitoy.org: did not receive HSTS header
|
||||
hittipps.com: did not receive HSTS header
|
||||
hjw-kunstwerk.de: could not connect to host
|
||||
hlyue.com: did not receive HSTS header
|
||||
hmm.nyc: could not connect to host
|
||||
hn.search.yahoo.com: did not receive HSTS header
|
||||
|
@ -1844,7 +1845,6 @@ hotchoc.io: did not receive HSTS header
|
|||
houkago-step.com: did not receive HSTS header
|
||||
housemaadiah.org: did not receive HSTS header
|
||||
housingstudents.org.uk: could not connect to host
|
||||
howbigismybuilding.com: [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 121" data: no]
|
||||
howrandom.org: could not connect to host
|
||||
howtocuremysciatica.com: could not connect to host
|
||||
hr-intranet.com: did not receive HSTS header
|
||||
|
@ -1874,7 +1874,6 @@ hydronium.ga: could not connect to host
|
|||
hydronium.me: could not connect to host
|
||||
hydronium.tk: could not connect to host
|
||||
hyper69.com: did not receive HSTS header
|
||||
hypnoresults.com.au: did not receive HSTS header
|
||||
i-jp.net: could not connect to host
|
||||
i-partners.sk: did not receive HSTS header
|
||||
iamokay.nl: did not receive HSTS header
|
||||
|
@ -1928,7 +1927,6 @@ imakepoems.net: could not connect to host
|
|||
ime.moe: could not connect to host
|
||||
imguoguo.com: did not receive HSTS header
|
||||
imim.pw: did not receive HSTS header
|
||||
imjiangtao.com: did not receive HSTS header
|
||||
immersionwealth.com: could not connect to host
|
||||
immoprotect.ca: did not receive HSTS header
|
||||
immortals-co.com: did not receive HSTS header
|
||||
|
@ -1936,7 +1934,9 @@ immoverkauf24.at: did not receive HSTS header
|
|||
immoverkauf24.de: did not receive HSTS header
|
||||
immunicity.info: could not connect to host
|
||||
immunicity.press: could not connect to host
|
||||
immunicity.today: did not receive HSTS header
|
||||
immunicity.top: could not connect to host
|
||||
immunicity.works: did not receive HSTS header
|
||||
immunicity.world: did not receive HSTS header
|
||||
imolug.org: did not receive HSTS header
|
||||
imouto.my: max-age too low: 5184000
|
||||
|
@ -2044,6 +2044,7 @@ izzzorgconcerten.nl: could not connect to host
|
|||
ja-publications.com: did not receive HSTS header
|
||||
jabbari.io: did not receive HSTS header
|
||||
jackalworks.com: could not connect to host
|
||||
jackyyf.com: could not connect to host
|
||||
jacobparry.ca: did not receive HSTS header
|
||||
jagido.de: did not receive HSTS header
|
||||
jahliveradio.com: could not connect to host
|
||||
|
@ -2082,7 +2083,7 @@ jasonsansone.com: [Exception... "Component returned failure code: 0x80004005 (NS
|
|||
jastoria.pl: could not connect to host
|
||||
jayblock.com: did not receive HSTS header
|
||||
jayschulman.com: could not connect to host
|
||||
jayscoaching.com: could not connect to host
|
||||
jayscoaching.com: did not receive HSTS header
|
||||
jayshao.com: did not receive HSTS header
|
||||
jazzinutrecht.info: [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 121" data: no]
|
||||
jazzncheese.com: could not connect to host
|
||||
|
@ -2156,6 +2157,7 @@ junaos.xyz: did not receive HSTS header
|
|||
junge-selbsthilfe.info: could not connect to host
|
||||
junqtion.com: could not connect to host
|
||||
jupp0r.de: did not receive HSTS header
|
||||
justanothercompany.name: could not connect to host
|
||||
justlikethat.hosting: did not receive HSTS header
|
||||
justnaw.co.uk: could not connect to host
|
||||
justudin.com: did not receive HSTS header
|
||||
|
@ -2167,7 +2169,6 @@ jznet.org: max-age too low: 86400
|
|||
k-dev.de: could not connect to host
|
||||
ka-clan.com: could not connect to host
|
||||
kabuabc.com: did not receive HSTS header
|
||||
kabus.org: could not connect to host
|
||||
kadioglumakina.com.tr: did not receive HSTS header
|
||||
kaela.design: could not connect to host
|
||||
kahopoon.net: could not connect to host
|
||||
|
@ -2200,6 +2201,7 @@ keeley.gq: could not connect to host
|
|||
keeley.ml: could not connect to host
|
||||
keeleysam.me: could not connect to host
|
||||
keepclean.me: could not connect to host
|
||||
kellyandantony.com: could not connect to host
|
||||
kenderbeton-magyarorszag.hu: did not receive HSTS header
|
||||
kenderbetonmagyarorszag.hu: did not receive HSTS header
|
||||
kenderhaz-magyarorszag.hu: did not receive HSTS header
|
||||
|
@ -2276,7 +2278,6 @@ krayx.com: could not connect to host
|
|||
kreavis.com: did not receive HSTS header
|
||||
kredite.sale: could not connect to host
|
||||
kriegt.es: could not connect to host
|
||||
kristikala.nl: could not connect to host
|
||||
kristjanrang.eu: did not receive HSTS header
|
||||
krmela.com: could not connect to host
|
||||
kroetenfuchs.de: could not connect to host
|
||||
|
@ -2313,7 +2314,6 @@ labordata.io: did not receive HSTS header
|
|||
labrador-retrievers.com.au: did not receive HSTS header
|
||||
labs.moscow: did not receive HSTS header
|
||||
lachlankidson.net: did not receive HSTS header
|
||||
lacicloud.net: could not connect to host
|
||||
lacledeslan.ninja: could not connect to host
|
||||
lacocinadelila.com: did not receive HSTS header
|
||||
ladbroke.net: did not receive HSTS header
|
||||
|
@ -2345,7 +2345,7 @@ leadership9.com: could not connect to host
|
|||
leardev.de: did not receive HSTS header
|
||||
learnfrenchfluently.com: did not receive HSTS header
|
||||
learningorder.com: could not connect to host
|
||||
learntube.cz: could not connect to host
|
||||
lebal.se: could not connect to host
|
||||
lechiennoir.net: did not receive HSTS header
|
||||
ledgerscope.net: could not connect to host
|
||||
leermotorrijden.nl: max-age too low: 300
|
||||
|
@ -2371,6 +2371,7 @@ les-corsaires.net: could not connect to host
|
|||
lesdouceursdeliyana.com: could not connect to host
|
||||
lesperlesdunet.fr: could not connect to host
|
||||
letras.mus.br: did not receive HSTS header
|
||||
lets.ninja: could not connect to host
|
||||
letsmultiplayerplay.com: did not receive HSTS header
|
||||
letustravel.tk: could not connect to host
|
||||
levelum.com: did not receive HSTS header
|
||||
|
@ -2396,14 +2397,12 @@ librechan.net: could not connect to host
|
|||
libscode.com: could not connect to host
|
||||
lidl-selection.at: could not connect to host
|
||||
lidow.eu: could not connect to host
|
||||
lifebetweenlives.com.au: did not receive HSTS header
|
||||
lifeguard.aecom.com: did not receive HSTS header
|
||||
lifeinitsownway.com: did not receive HSTS header
|
||||
lifeskillsdirect.com: did not receive HSTS header
|
||||
lifestylehunter.co.uk: did not receive HSTS header
|
||||
lifetimemoneymachine.com: did not receive HSTS header
|
||||
lifi.digital: did not receive HSTS header
|
||||
lifi.is: could not connect to host
|
||||
lightarmory.com: could not connect to host
|
||||
lightpaste.com: could not connect to host
|
||||
lightworx.io: did not receive HSTS header
|
||||
|
@ -2516,6 +2515,7 @@ madebymagnitude.com: did not receive HSTS header
|
|||
maderwin.com: could not connect to host
|
||||
mae-berlinistanbul.com: could not connect to host
|
||||
mafamane.com: could not connect to host
|
||||
maff.scot: did not receive HSTS header
|
||||
mafiareturns.com: max-age too low: 2592000
|
||||
magenx.com: did not receive HSTS header
|
||||
magicbroccoli.de: [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 121" data: no]
|
||||
|
@ -2542,7 +2542,6 @@ manifestbin.com: did not receive HSTS header
|
|||
manningbrothers.com: did not receive HSTS header
|
||||
mannsolutions.co.uk: did not receive HSTS header
|
||||
mansion-note.com: did not receive HSTS header
|
||||
manufacturing.gov: could not connect to host
|
||||
maomaofuli.vip: could not connect to host
|
||||
marchagen.nl: did not receive HSTS header
|
||||
marcontrol.com: did not receive HSTS header
|
||||
|
@ -2551,11 +2550,11 @@ marcuskoh.com: could not connect to host
|
|||
mariannematthew.com: could not connect to host
|
||||
marie-curie.fr: could not connect to host
|
||||
marie-elisabeth.dk: did not receive HSTS header
|
||||
marie.club: could not connect to host
|
||||
mario.party: did not receive HSTS header
|
||||
markaconnor.com: could not connect to host
|
||||
markayapilandirma.com: could not connect to host
|
||||
market.android.com: did not receive HSTS header (error ignored - included regardless)
|
||||
markprof.ru: could not connect to host
|
||||
markrego.com: could not connect to host
|
||||
marktboten.de: did not receive HSTS header
|
||||
markus-dev.com: did not receive HSTS header
|
||||
|
@ -2624,7 +2623,6 @@ mein-gesundheitsmanager.com: did not receive HSTS header
|
|||
meincenter-meinemeinung.de: [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 121" data: no]
|
||||
meincloudspeicher.de: could not connect to host
|
||||
meinebo.it: could not connect to host
|
||||
meizufans.eu: did not receive HSTS header
|
||||
melted.pw: could not connect to host
|
||||
members.mayfirst.org: did not receive HSTS header
|
||||
mensmaximus.de: did not receive HSTS header
|
||||
|
@ -2641,6 +2639,7 @@ mesmoque.com: did not receive HSTS header
|
|||
metagrader.com: could not connect to host
|
||||
metebalci.com: did not receive HSTS header
|
||||
meteorapp.space: could not connect to host
|
||||
meteosherbrooke.com: could not connect to host
|
||||
meteosky.net: could not connect to host
|
||||
metin2blog.de: did not receive HSTS header
|
||||
metis.pw: could not connect to host
|
||||
|
@ -2759,7 +2758,6 @@ moy-gorod.od.ua: did not receive HSTS header
|
|||
moy.cat: did not receive HSTS header
|
||||
mp3juices.is: could not connect to host
|
||||
mqas.net: could not connect to host
|
||||
mremallin.ca: could not connect to host
|
||||
mrettich.org: did not receive HSTS header
|
||||
mrnonz.com: max-age too low: 0
|
||||
mrpopat.in: did not receive HSTS header
|
||||
|
@ -2817,7 +2815,6 @@ myphonebox.de: could not connect to host
|
|||
myraytech.net: did not receive HSTS header
|
||||
mysecretrewards.com: did not receive HSTS header
|
||||
mystery-science-theater-3000.de: did not receive HSTS header
|
||||
mythslegendscollection.com: did not receive HSTS header
|
||||
myvirtualserver.com: max-age too low: 2592000
|
||||
myzone.com: did not receive HSTS header
|
||||
n0psled.nl: could not connect to host
|
||||
|
@ -2840,7 +2837,6 @@ nanogeneinc.com: could not connect to host
|
|||
nanto.eu: could not connect to host
|
||||
narada.com.ua: could not connect to host
|
||||
nargileh.nl: could not connect to host
|
||||
nassi.me: could not connect to host
|
||||
natalia-fadeeva.ru: could not connect to host
|
||||
natalia.io: could not connect to host
|
||||
natalt.org: did not receive HSTS header
|
||||
|
@ -2866,7 +2862,7 @@ neilgreen.net: did not receive HSTS header
|
|||
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: did not receive HSTS header
|
||||
nemovement.org: could not connect to host
|
||||
neonisi.com: could not connect to host
|
||||
nepustil.net: did not receive HSTS header
|
||||
netba.net: could not connect to host
|
||||
|
@ -3041,6 +3037,7 @@ onlinepollsph.com: could not connect to host
|
|||
onlinespielothek.com: did not receive HSTS header
|
||||
onlinewetten.de: could not connect to host
|
||||
onlyshopstation.com: did not receive HSTS header
|
||||
onlyzero.net: could not connect to host
|
||||
ononpay.com: did not receive HSTS header
|
||||
onpatient.com: did not receive HSTS header
|
||||
ontras.com: could not connect to host
|
||||
|
@ -3082,6 +3079,7 @@ orionfcu.com: did not receive HSTS header
|
|||
orleika.ml: could not connect to host
|
||||
orthodoxy.lt: did not receive HSTS header
|
||||
osaiyuwu.com: could not connect to host
|
||||
oshell.me: could not connect to host
|
||||
oslfoundation.org: could not connect to host
|
||||
oslinux.net: did not receive HSTS header
|
||||
osp.cx: could not connect to host
|
||||
|
@ -3154,7 +3152,6 @@ passwordbox.com: did not receive HSTS header
|
|||
passwordrevelator.net: did not receive HSTS header
|
||||
passwords.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
pastaf.com: could not connect to host
|
||||
paste.fedoraproject.org: did not receive HSTS header
|
||||
paste.linode.com: could not connect to host
|
||||
pastebin.linode.com: could not connect to host
|
||||
pastenib.com: could not connect to host
|
||||
|
@ -3222,7 +3219,7 @@ pickr.co: could not connect to host
|
|||
picotronic.biz: could not connect to host
|
||||
picscare.co.uk: did not receive HSTS header
|
||||
pieperhome.de: could not connect to host
|
||||
pijuice.com: could not connect to host
|
||||
piggott.me.uk: did not receive HSTS header
|
||||
pilgermaske.org: did not receive HSTS header
|
||||
piligrimname.com: could not connect to host
|
||||
pillowandpepper.com: did not receive HSTS header
|
||||
|
@ -3252,6 +3249,7 @@ plaettliaktion.ch: did not receive HSTS header
|
|||
planpharmacy.com: could not connect to host
|
||||
platform.lookout.com: could not connect to host
|
||||
play.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
playflick.com: did not receive HSTS header
|
||||
playkh.com: did not receive HSTS header
|
||||
playmaker.io: could not connect to host
|
||||
playmyplay.com: did not receive HSTS header
|
||||
|
@ -3287,9 +3285,9 @@ pontualcomp.com: max-age too low: 2592000
|
|||
poolsandstuff.com: did not receive HSTS header
|
||||
poon.tech: could not connect to host
|
||||
portalplatform.net: did not receive HSTS header
|
||||
portalzine.de: did not receive HSTS header
|
||||
poshpak.com: max-age too low: 86400
|
||||
postcodewise.co.uk: did not receive HSTS header
|
||||
posterspy.com: did not receive HSTS header
|
||||
postscheduler.org: could not connect to host
|
||||
posylka.de: did not receive HSTS header
|
||||
poussinooz.fr: could not connect to host
|
||||
|
@ -3319,7 +3317,6 @@ pro-zone.com: could not connect to host
|
|||
prodpad.com: did not receive HSTS header
|
||||
professionalboundaries.com: did not receive HSTS header
|
||||
profi-durchgangsmelder.de: did not receive HSTS header
|
||||
profpay.com: could not connect to host
|
||||
profundr.com: could not connect to host
|
||||
progblog.net: could not connect to host
|
||||
progg.no: could not connect to host
|
||||
|
@ -3331,6 +3328,7 @@ prontocleaners.co.uk: could not connect to host
|
|||
prontolight.com: did not receive HSTS header
|
||||
prontomovers.co.uk: could not connect to host
|
||||
propactrading.com: could not connect to host
|
||||
proposalonline.com: did not receive HSTS header
|
||||
prosocialmachines.com: could not connect to host
|
||||
prosoft.sk: did not receive HSTS header
|
||||
prosperident.com: did not receive HSTS header
|
||||
|
@ -3354,7 +3352,7 @@ puneflowermall.com: did not receive HSTS header
|
|||
purewebmasters.com: could not connect to host
|
||||
purplemoon.mobi: did not receive HSTS header
|
||||
purplestar.mobi: did not receive HSTS header
|
||||
pushapp.org: did not receive HSTS header
|
||||
pushapp.org: could not connect to host
|
||||
pwd.ovh: could not connect to host
|
||||
pwdgen.net: could not connect to host
|
||||
pwnies.dk: could not connect to host
|
||||
|
@ -3411,6 +3409,7 @@ raspass.me: could not connect to host
|
|||
rastreador.com.es: did not receive HSTS header
|
||||
ratajczak.fr: could not connect to host
|
||||
rate-esport.de: could not connect to host
|
||||
rationalism.com: could not connect to host
|
||||
raulfraile.net: could not connect to host
|
||||
raven.lipetsk.ru: could not connect to host
|
||||
rawet.se: did not receive HSTS header
|
||||
|
@ -3429,6 +3428,7 @@ realmic.net: could not connect to host
|
|||
realmofespionage.com: could not connect to host
|
||||
reardenporn.com: could not connect to host
|
||||
recommended.reviews: could not connect to host
|
||||
redable.hosting: could not connect to host
|
||||
redar.xyz: did not receive HSTS header
|
||||
reddiseals.com: [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 121" data: no]
|
||||
reddit.com: did not receive HSTS header
|
||||
|
@ -3469,6 +3469,7 @@ reserve-online.net: did not receive HSTS header
|
|||
respice.xyz: could not connect to host
|
||||
respostas.com.br: did not receive HSTS header
|
||||
restchart.com: did not receive HSTS header
|
||||
reth.ch: could not connect to host
|
||||
retrotracks.net: max-age too low: 0
|
||||
revealdata.com: did not receive HSTS header
|
||||
revello.org: did not receive HSTS header
|
||||
|
@ -3476,7 +3477,6 @@ reverie.pw: could not connect to host
|
|||
reviews.anime.my: max-age too low: 5184000
|
||||
revtut.net: did not receive HSTS header
|
||||
rewardstock.com: max-age too low: 0
|
||||
rezun.cloud: did not receive HSTS header
|
||||
rhapsodhy.hu: could not connect to host
|
||||
rhdigital.pro: could not connect to host
|
||||
rhering.de: could not connect to host
|
||||
|
@ -3618,7 +3618,11 @@ schadegarant.net: could not connect to host
|
|||
schmitz.link: could not connect to host
|
||||
schnell-gold.com: could not connect to host
|
||||
schoop.me: [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 121" data: no]
|
||||
schrauger.run: could not connect to host
|
||||
schrauger.com: did not receive HSTS header
|
||||
schrauger.info: did not receive HSTS header
|
||||
schrauger.net: did not receive HSTS header
|
||||
schrauger.org: did not receive HSTS header
|
||||
schrauger.run: did not receive HSTS header
|
||||
schreiber-netzwerk.eu: did not receive HSTS header
|
||||
schrodinger.io: could not connect to host
|
||||
schulterglatzen-altenwalde.de: could not connect to host
|
||||
|
@ -3739,7 +3743,6 @@ siddhant.me: could not connect to host
|
|||
siebens.net: could not connect to host
|
||||
sifls.com: could not connect to host
|
||||
sig6.org: could not connect to host
|
||||
sigabrt.org: could not connect to host
|
||||
sigterm.no: [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 121" data: no]
|
||||
silentcircle.com: did not receive HSTS header
|
||||
silentcircle.org: could not connect to host
|
||||
|
@ -3779,6 +3782,7 @@ skullhouse.nyc: did not receive HSTS header
|
|||
skyflix.me: did not receive HSTS header
|
||||
skyoy.com: did not receive HSTS header
|
||||
slash-dev.de: did not receive HSTS header
|
||||
slashand.co: did not receive HSTS header
|
||||
slashem.me: did not receive HSTS header
|
||||
slattery.co: could not connect to host
|
||||
sleep10.com: could not connect to host
|
||||
|
@ -3789,6 +3793,7 @@ slope.haus: could not connect to host
|
|||
slovakiana.sk: did not receive HSTS header
|
||||
sluitkampzeist.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 121" data: no]
|
||||
slycurity.de: did not receive HSTS header
|
||||
sm.ms: did not receive HSTS header
|
||||
smart-mirror.de: did not receive HSTS header
|
||||
smart-ov.nl: could not connect to host
|
||||
smartcoin.com.br: could not connect to host
|
||||
|
@ -3806,6 +3811,7 @@ smove.sg: did not receive HSTS header
|
|||
smusg.com: did not receive HSTS header
|
||||
snailing.org: could not connect to host
|
||||
snakehosting.dk: did not receive HSTS header
|
||||
snapappointments.com: did not receive HSTS header
|
||||
snapappts.com: could not connect to host
|
||||
snapworks.net: did not receive HSTS header
|
||||
sneberger.cz: [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 121" data: no]
|
||||
|
@ -3827,7 +3833,7 @@ socialhams.net: did not receive HSTS header
|
|||
socialhead.io: could not connect to host
|
||||
socialspirit.com.br: did not receive HSTS header
|
||||
sockeye.cc: could not connect to host
|
||||
socomponents.co.uk: could not connect to host
|
||||
socomponents.co.uk: did not receive HSTS header
|
||||
sodacore.com: could not connect to host
|
||||
soe-server.com: could not connect to host
|
||||
sogeek.me: did not receive HSTS header
|
||||
|
@ -3923,6 +3929,10 @@ stderr.cc: could not connect to host
|
|||
stefanweiser.de: did not receive HSTS header
|
||||
stephanierxo.com: did not receive HSTS header
|
||||
stephenandburns.com: did not receive HSTS header
|
||||
stephenschrauger.com: did not receive HSTS header
|
||||
stephenschrauger.info: did not receive HSTS header
|
||||
stephenschrauger.net: did not receive HSTS header
|
||||
stephenschrauger.org: did not receive HSTS header
|
||||
stevensononthe.net: did not receive HSTS header
|
||||
stewartremodelingadvantage.com: did not receive HSTS header
|
||||
stig.io: did not receive HSTS header
|
||||
|
@ -3944,7 +3954,6 @@ stpatricksguild.com: did not receive HSTS header
|
|||
stqry.com: did not receive HSTS header
|
||||
str0.at: did not receive HSTS header
|
||||
strasweb.fr: did not receive HSTS header
|
||||
streamchan.org: could not connect to host
|
||||
streamingeverywhere.com: did not receive HSTS header
|
||||
streamingmagazin.de: could not connect to host
|
||||
streampanel.net: did not receive HSTS header
|
||||
|
@ -3979,7 +3988,6 @@ suksit.com: could not connect to host
|
|||
sumoatm.com: did not receive HSTS header
|
||||
sumoscout.de: did not receive HSTS header
|
||||
suncountrymarine.com: did not receive HSTS header
|
||||
sunflyer.cn: did not receive HSTS header
|
||||
sunnyfruit.ru: did not receive HSTS header
|
||||
sunshinepress.org: could not connect to host
|
||||
supcro.com: could not connect to host
|
||||
|
@ -4082,6 +4090,7 @@ tegelsensanitaironline.nl: did not receive HSTS header
|
|||
tekshrek.com: did not receive HSTS header
|
||||
telefonnummer.online: could not connect to host
|
||||
telefoonnummerinfo.nl: could not connect to host
|
||||
telling.xyz: could not connect to host
|
||||
temehu.com: did not receive HSTS header
|
||||
tempcraft.net: could not connect to host
|
||||
tendertool.nl: could not connect to host
|
||||
|
@ -4162,12 +4171,11 @@ thirty5.net: did not receive HSTS header
|
|||
thisisacompletetest.ga: could not connect to host
|
||||
thisisforager.com: did not receive HSTS header
|
||||
thiswebhost.com: did not receive HSTS header
|
||||
thomasgriffin.io: [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 121" data: no]
|
||||
thomaskliszowski.fr: did not receive HSTS header
|
||||
thomaswoo.com: could not connect to host
|
||||
thorncreek.net: did not receive HSTS header
|
||||
thriveapproach.co.uk: did not receive HSTS header
|
||||
thrx.net: could not connect to host
|
||||
throughthelookingglasslens.co.uk: could not connect to host
|
||||
thumbtack.com: did not receive HSTS header
|
||||
thusoy.com: did not receive HSTS header
|
||||
tibbitshall.ca: did not receive HSTS header
|
||||
|
@ -4183,6 +4191,7 @@ tikutiku.pl: max-age too low: 0
|
|||
tildebot.com: could not connect to host
|
||||
tilkah.com.au: could not connect to host
|
||||
tillcraft.com: could not connect to host
|
||||
tillseasyscore.com: could not connect to host
|
||||
timbeilby.com: could not connect to host
|
||||
timbuktutimber.com: did not receive HSTS header
|
||||
timcamara.com: did not receive HSTS header
|
||||
|
@ -4202,6 +4211,7 @@ titouan.co: did not receive HSTS header
|
|||
tittelbach.at: did not receive HSTS header
|
||||
titties.ml: could not connect to host
|
||||
tkarstens.de: did not receive HSTS header
|
||||
tkn.tokyo: could not connect to host
|
||||
tlo.hosting: could not connect to host
|
||||
tlo.link: did not receive HSTS header
|
||||
tlo.network: could not connect to host
|
||||
|
@ -4262,15 +4272,16 @@ transportal.sk: did not receive HSTS header
|
|||
travelinsurance.co.nz: did not receive HSTS header
|
||||
treeby.net: could not connect to host
|
||||
trendberry.ru: could not connect to host
|
||||
trik.es: [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 121" data: no]
|
||||
trinityaffirmations.com: max-age too low: 0
|
||||
trinitycore.org: max-age too low: 2592000
|
||||
tripdelta.com: did not receive HSTS header
|
||||
trixies-wish.nz: could not connect to host
|
||||
trollme.me: could not connect to host
|
||||
trufflemonkey.co.uk: did not receive HSTS header
|
||||
trunkjunk.co: did not receive HSTS header
|
||||
trusteecar.com: did not receive HSTS header
|
||||
trustmeimfancy.com: could not connect to host
|
||||
truthmessages.pw: could not connect to host
|
||||
trybind.com: could not connect to host
|
||||
tryoneday.co: did not receive HSTS header
|
||||
ts2.se: could not connect to host
|
||||
|
@ -4309,7 +4320,6 @@ txclimbers.com: could not connect to host
|
|||
txf.pw: could not connect to host
|
||||
ty2u.com: did not receive HSTS header
|
||||
tylian.net: max-age too low: 0
|
||||
typingrevolution.com: did not receive HSTS header
|
||||
tyrelius.com: did not receive HSTS header
|
||||
tyroproducts.eu: did not receive HSTS header
|
||||
tzappa.net: could not connect to host
|
||||
|
@ -4324,7 +4334,6 @@ uega.net: did not receive HSTS header
|
|||
ueu.me: could not connect to host
|
||||
ufgaming.com: did not receive HSTS header
|
||||
ufotable.uk: did not receive HSTS header
|
||||
uhm.io: did not receive HSTS header
|
||||
ui8.net: max-age too low: 86400
|
||||
ukas.com: did not receive HSTS header
|
||||
ukdropshipment.co.uk: did not receive HSTS header
|
||||
|
@ -4336,10 +4345,10 @@ ulmo.dk: could not connect to host
|
|||
ultros.io: did not receive HSTS header
|
||||
umidev.com: did not receive HSTS header
|
||||
umie.cc: did not receive HSTS header
|
||||
umwandeln-online.de: could not connect to host
|
||||
unbanthe.net: could not connect to host
|
||||
unblocked-networks.org: could not connect to host
|
||||
unblocked.host: could not connect to host
|
||||
unblocked.today: did not receive HSTS header
|
||||
unblocked.win: could not connect to host
|
||||
unblocked.works: did not receive HSTS header
|
||||
unblocked.world: did not receive HSTS header
|
||||
|
@ -4380,6 +4389,7 @@ uscitizenship.info: did not receive HSTS header
|
|||
uscurrency.gov: did not receive HSTS header
|
||||
used-in.jp: did not receive HSTS header
|
||||
usercare.com: did not receive HSTS header
|
||||
userify.com: max-age too low: 0
|
||||
ustr.gov: max-age too low: 86400
|
||||
utleieplassen.no: could not connect to host
|
||||
utopiagalaxy.space: could not connect to host
|
||||
|
@ -4415,6 +4425,7 @@ vbulletin-russia.com: could not connect to host
|
|||
vbulletinrussia.com: could not connect to host
|
||||
vcdove.com: did not receive HSTS header
|
||||
vcr.re: could not connect to host
|
||||
ve3oat.ca: could not connect to host
|
||||
veblen.com: could not connect to host
|
||||
vechkasov.ru: did not receive HSTS header
|
||||
vehent.org: did not receive HSTS header
|
||||
|
@ -4441,6 +4452,7 @@ vincentkooijman.at: did not receive HSTS header
|
|||
vincentkooijman.nl: did not receive HSTS header
|
||||
vincentpancol.com: could not connect to host
|
||||
vintageheartcoffee.com: did not receive HSTS header
|
||||
vinyculture.com: could not connect to host
|
||||
vio.no: did not receive HSTS header
|
||||
viperdns.com: could not connect to host
|
||||
vipi.es: could not connect to host
|
||||
|
@ -4456,7 +4468,6 @@ vlora.city: could not connect to host
|
|||
vm0.eu: did not receive HSTS header
|
||||
vmrdev.com: could not connect to host
|
||||
voceinveste.com: did not receive HSTS header
|
||||
vodpay.com: could not connect to host
|
||||
vodpay.net: could not connect to host
|
||||
vodpay.org: could not connect to host
|
||||
voicesuk.co.uk: did not receive HSTS header
|
||||
|
@ -4465,6 +4476,7 @@ voidpay.net: could not connect to host
|
|||
voidpay.org: could not connect to host
|
||||
volcrado.com: did not receive HSTS header
|
||||
vortexhobbies.com: did not receive HSTS header
|
||||
voshod.org: [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 121" data: no]
|
||||
vosjesweb.nl: could not connect to host
|
||||
vox.vg: did not receive HSTS header
|
||||
vpl.me: did not receive HSTS header
|
||||
|
@ -4480,7 +4492,6 @@ w4a.fr: did not receive HSTS header
|
|||
w4xzr.top: could not connect to host
|
||||
w4xzr.xyz: could not connect to host
|
||||
wachtwoordencheck.nl: could not connect to host
|
||||
waixingrenfuli.vip: could not connect to host
|
||||
waixingrenfuli7.vip: could not connect to host
|
||||
wakapp.de: could not connect to host
|
||||
walkeryoung.ca: could not connect to host
|
||||
|
@ -4508,6 +4519,7 @@ wavefrontsystemstech.com: could not connect to host
|
|||
wayne.cloud: did not receive HSTS header
|
||||
wealthfactory.com: [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 121" data: no]
|
||||
wear2work.nl: did not receive HSTS header
|
||||
wearepapermill.co: did not receive HSTS header
|
||||
weaverhairextensions.nl: could not connect to host
|
||||
web-industry.fr: could not connect to host
|
||||
web-torrent.com: max-age too low: 0
|
||||
|
@ -4532,14 +4544,13 @@ webmaniabr.com: did not receive HSTS header
|
|||
webmarketingfestival.it: did not receive HSTS header
|
||||
webnosql.com: could not connect to host
|
||||
webperformance.ru: max-age too low: 3600
|
||||
websenat.de: [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 121" data: no]
|
||||
webstory.xyz: could not connect to host
|
||||
webswitch.io: could not connect to host
|
||||
webtechgadgetry.com: did not receive HSTS header
|
||||
webtiles.co.uk: could not connect to host
|
||||
webtobesocial.de: could not connect to host
|
||||
webwork.pw: could not connect to host
|
||||
weddingenvelopes.co.uk: did not receive HSTS header
|
||||
weissman.agency: did not receive HSTS header
|
||||
weizenke.im: could not connect to host
|
||||
wellastore.ru: did not receive HSTS header
|
||||
wellsolveit.com: [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 121" data: no]
|
||||
|
@ -4598,7 +4609,6 @@ winaes.com: did not receive HSTS header
|
|||
winclient.cn: could not connect to host
|
||||
winecodeavocado.com: could not connect to host
|
||||
winged.io: could not connect to host
|
||||
wingos.net: could not connect to host
|
||||
wingumd.net: could not connect to host
|
||||
winpack.cf: could not connect to host
|
||||
winpack.eu.org: could not connect to host
|
||||
|
@ -4638,7 +4648,6 @@ wowapi.org: could not connect to host
|
|||
wphostingspot.com: did not receive HSTS header
|
||||
wpmetadatastandardsproject.org: could not connect to host
|
||||
writeapp.me: did not receive HSTS header
|
||||
wsa.poznan.pl: could not connect to host
|
||||
wsscompany.com.ve: could not connect to host
|
||||
wufu.org: did not receive HSTS header
|
||||
wuhengmin.com: did not receive HSTS header
|
||||
|
@ -4702,6 +4711,7 @@ xn--80aaihqncaejjobbu6v.xn--p1ai: max-age too low: 6000
|
|||
xn--9pr52k0p5a.com: did not receive HSTS header
|
||||
xn--datenrettung-mnchen-jbc.com: did not receive HSTS header
|
||||
xn--dmonenjger-q5ag.net: could not connect to host
|
||||
xn--jp-6l5cs1yf3ivjsglphyv.net: could not connect to host
|
||||
xn--lgb3a8bcpn.cf: could not connect to host
|
||||
xn--lgb3a8bcpn.ga: could not connect to host
|
||||
xn--lgb3a8bcpn.gq: could not connect to host
|
||||
|
@ -4716,7 +4726,6 @@ xobox.me: could not connect to host
|
|||
xoffy.com: did not receive HSTS header
|
||||
xombra.com: [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 121" data: no]
|
||||
xpi.fr: could not connect to host
|
||||
xps2pdf.co.uk: could not connect to host
|
||||
xsmobile.de: could not connect to host
|
||||
xtream-hosting.com: could not connect to host
|
||||
xtream-hosting.de: could not connect to host
|
||||
|
@ -4760,6 +4769,7 @@ yoloprod.fr: could not connect to host
|
|||
yoloseo.com: could not connect to host
|
||||
youcontrol.ru: could not connect to host
|
||||
youngandunited.nl: did not receive HSTS header
|
||||
yourcomputer.expert: did not receive HSTS header
|
||||
yoursecondphone.co: could not connect to host
|
||||
yourstrongbox.com: could not connect to host
|
||||
ypiresia.fr: could not connect to host
|
||||
|
@ -4782,7 +4792,7 @@ zachgibbens.org: could not connect to host
|
|||
zadieheimlich.com: did not receive HSTS header
|
||||
zamorano.edu: could not connect to host
|
||||
zap.yt: could not connect to host
|
||||
zarooba.com: did not receive HSTS header
|
||||
zarooba.com: could not connect to host
|
||||
zbigniewgalucki.eu: did not receive HSTS header
|
||||
zbp.at: did not receive HSTS header
|
||||
zebrababy.cn: did not receive HSTS header
|
||||
|
@ -4820,7 +4830,6 @@ zqhong.com: could not connect to host
|
|||
ztan.tk: could not connect to host
|
||||
ztcaoll222.cn: did not receive HSTS header
|
||||
zten.org: could not connect to host
|
||||
zulu7.com: could not connect to host
|
||||
zuolan.me: did not receive HSTS header
|
||||
zvncloud.com: did not receive HSTS header
|
||||
zwollemagazine.nl: did not receive HSTS header
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1304,66 +1304,67 @@ extends="chrome://global/content/bindings/popup.xml#popup">
|
|||
|
||||
// Process maxRows per chunk to improve performance and user experience
|
||||
for (let i = 0; i < this.maxRows; i++) {
|
||||
if (this._currentIndex >= matchCount)
|
||||
if (this._currentIndex >= matchCount) {
|
||||
break;
|
||||
}
|
||||
let item;
|
||||
let reusable = false;
|
||||
let itemExists = this._currentIndex < existingItemsCount;
|
||||
|
||||
var item;
|
||||
|
||||
let originalValue, originalText;
|
||||
let value = controller.getValueAt(this._currentIndex);
|
||||
let label = controller.getLabelAt(this._currentIndex);
|
||||
let comment = controller.getCommentAt(this._currentIndex);
|
||||
let style = controller.getStyleAt(this._currentIndex);
|
||||
let image = controller.getImageAt(this._currentIndex);
|
||||
// trim the leading/trailing whitespace
|
||||
var trimmedSearchString = controller.searchString.replace(/^\s+/, "").replace(/\s+$/, "");
|
||||
let trimmedSearchString = controller.searchString.replace(/^\s+/, "").replace(/\s+$/, "");
|
||||
|
||||
let url = controller.getValueAt(this._currentIndex);
|
||||
|
||||
if (this._currentIndex < existingItemsCount) {
|
||||
// re-use the existing item
|
||||
if (itemExists) {
|
||||
item = this.richlistbox.childNodes[this._currentIndex];
|
||||
item.setAttribute("dir", this.style.direction);
|
||||
|
||||
// Completely reuse the existing richlistitem for invalidation
|
||||
// due to new results, but only when: the item is the same, *OR*
|
||||
// we are about to replace the currently mouse-selected item, to
|
||||
// avoid surprising the user.
|
||||
let iface = Components.interfaces.nsIAutoCompletePopup;
|
||||
if (item.getAttribute("text") == trimmedSearchString &&
|
||||
invalidateReason == iface.INVALIDATE_REASON_NEW_RESULT &&
|
||||
(item.getAttribute("url") == url ||
|
||||
this.richlistbox.mouseSelectedIndex === this._currentIndex)) {
|
||||
// Additionally, if the item is a searchengine action, then it
|
||||
// should only be reused if the engine name is the same as the
|
||||
// popup's override engine name, if any.
|
||||
let action = item._parseActionUrl(url);
|
||||
if (!action ||
|
||||
action.type != "searchengine" ||
|
||||
!this.overrideSearchEngineName ||
|
||||
action.params.engineName == this.overrideSearchEngineName) {
|
||||
item.collapsed = false;
|
||||
// Call adjustSiteIconStart only after setting collapsed=
|
||||
// false. The calculations it does may be wrong otherwise.
|
||||
item.adjustSiteIconStart(this._siteIconStart);
|
||||
// The popup may have changed size between now and the last
|
||||
// time the item was shown, so always handle over/underflow.
|
||||
item.handleOverUnderflow();
|
||||
this._currentIndex++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
originalValue = item.getAttribute("ac-value");
|
||||
originalText = item.getAttribute("ac-text");
|
||||
|
||||
reusable = item.getAttribute("originaltype") === style;
|
||||
} else {
|
||||
// need to create a new item
|
||||
item = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "richlistitem");
|
||||
item.setAttribute("dir", this.style.direction);
|
||||
}
|
||||
|
||||
// set these attributes before we set the class
|
||||
// so that we can use them from the constructor
|
||||
let iconURI = controller.getImageAt(this._currentIndex);
|
||||
item.setAttribute("image", iconURI);
|
||||
item.setAttribute("url", url);
|
||||
item.setAttribute("title", controller.getCommentAt(this._currentIndex));
|
||||
item.setAttribute("originaltype", controller.getStyleAt(this._currentIndex));
|
||||
item.setAttribute("text", trimmedSearchString);
|
||||
item.setAttribute("dir", this.style.direction);
|
||||
item.setAttribute("ac-image", image);
|
||||
item.setAttribute("ac-value", value);
|
||||
item.setAttribute("ac-label", label);
|
||||
item.setAttribute("ac-comment", comment);
|
||||
item.setAttribute("ac-text", trimmedSearchString);
|
||||
|
||||
if (this._currentIndex < existingItemsCount) {
|
||||
// re-use the existing item
|
||||
// Completely reuse the existing richlistitem for invalidation
|
||||
// due to new results, but only when: the item is the same, *OR*
|
||||
// we are about to replace the currently mouse-selected item, to
|
||||
// avoid surprising the user.
|
||||
let iface = Components.interfaces.nsIAutoCompletePopup;
|
||||
if (reusable &&
|
||||
originalText == trimmedSearchString &&
|
||||
invalidateReason == iface.INVALIDATE_REASON_NEW_RESULT &&
|
||||
(originalValue == value ||
|
||||
this.richlistbox.mouseSelectedIndex === this._currentIndex)) {
|
||||
|
||||
// try to re-use the existing item
|
||||
let reused = item._reuseAcItem();
|
||||
if (reused) {
|
||||
this._currentIndex++;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (typeof item._cleanup == "function") {
|
||||
item._cleanup();
|
||||
}
|
||||
|
||||
item.setAttribute("originaltype", style);
|
||||
}
|
||||
|
||||
if (itemExists) {
|
||||
item._adjustAcItem();
|
||||
item.collapsed = false;
|
||||
} else {
|
||||
|
@ -1373,13 +1374,12 @@ extends="chrome://global/content/bindings/popup.xml#popup">
|
|||
this.richlistbox.appendChild(item);
|
||||
}
|
||||
|
||||
// The binding may have not been applied yet.
|
||||
setTimeout(() => {
|
||||
let changed = item.adjustSiteIconStart(this._siteIconStart);
|
||||
if (changed) {
|
||||
item.handleOverUnderflow();
|
||||
}
|
||||
}, 0);
|
||||
if (typeof item.onChanged == "function") {
|
||||
// The binding may have not been applied yet.
|
||||
setTimeout(() => {
|
||||
item.onChanged();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
this._currentIndex++;
|
||||
}
|
||||
|
@ -1646,6 +1646,18 @@ extends="chrome://global/content/bindings/popup.xml#popup">
|
|||
]]>
|
||||
</constructor>
|
||||
|
||||
<method name="_cleanup">
|
||||
<body>
|
||||
<![CDATA[
|
||||
this.removeAttribute("url");
|
||||
this.removeAttribute("image");
|
||||
this.removeAttribute("title");
|
||||
this.removeAttribute("text");
|
||||
this.removeAttribute("displayurl");
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<property name="label" readonly="true">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
|
@ -2032,9 +2044,58 @@ extends="chrome://global/content/bindings/popup.xml#popup">
|
|||
</body>
|
||||
</method>
|
||||
|
||||
<method name="_onChanged">
|
||||
<body>
|
||||
<![CDATA[
|
||||
let iconChanged = item.adjustSiteIconStart(this.popup._siteIconStart);
|
||||
|
||||
if (iconChanged) {
|
||||
item.handleOverUnderflow();
|
||||
}
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
|
||||
<method name="_reuseAcItem">
|
||||
<body>
|
||||
<![CDATA[
|
||||
let action = this._parseActionUrl(this.getAttribute("url"));
|
||||
let popup = this.parentNode.parentNode;
|
||||
|
||||
// If the item is a searchengine action, then it should
|
||||
// only be reused if the engine name is the same as the
|
||||
// popup's override engine name, if any.
|
||||
if (!action ||
|
||||
action.type != "searchengine" ||
|
||||
!popup.overrideSearchEngineName ||
|
||||
action.params.engineName == popup.overrideSearchEngineName) {
|
||||
|
||||
this.collapsed = false;
|
||||
// Call adjustSiteIconStart only after setting collapsed=
|
||||
// false. The calculations it does may be wrong otherwise.
|
||||
this.adjustSiteIconStart(popup._siteIconStart);
|
||||
// The popup may have changed size between now and the last
|
||||
// time the item was shown, so always handle over/underflow.
|
||||
this.handleOverUnderflow();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
|
||||
<method name="_adjustAcItem">
|
||||
<body>
|
||||
<![CDATA[
|
||||
this.setAttribute("url", this.getAttribute("ac-value"));
|
||||
this.setAttribute("image", this.getAttribute("ac-image"));
|
||||
this.setAttribute("title", this.getAttribute("ac-comment"));
|
||||
this.setAttribute("text", this.getAttribute("ac-text"));
|
||||
|
||||
let popup = this.parentNode.parentNode;
|
||||
if (!popup.popupOpen) {
|
||||
// Removing the max-width and resetting it later when overflow is
|
||||
|
|
|
@ -20,6 +20,10 @@ function DatePicker(context) {
|
|||
* {Number} year [optional]
|
||||
* {Number} month [optional]
|
||||
* {Number} date [optional]
|
||||
* {Number} firstDayOfWeek
|
||||
* {Array<Number>} weekends
|
||||
* {Array<String>} monthStrings
|
||||
* {Array<String>} weekdayStrings
|
||||
* {String} locale [optional]: User preferred locale
|
||||
* }
|
||||
*/
|
||||
|
@ -40,6 +44,8 @@ function DatePicker(context) {
|
|||
day = now.getDate(),
|
||||
firstDayOfWeek,
|
||||
weekends,
|
||||
monthStrings,
|
||||
weekdayStrings,
|
||||
locale } = this.props;
|
||||
const dateKeeper = new DateKeeper({
|
||||
year, month, day
|
||||
|
@ -57,8 +63,8 @@ function DatePicker(context) {
|
|||
isMonthSet: false,
|
||||
isDateSet: false,
|
||||
getDayString: new Intl.NumberFormat(locale).format,
|
||||
// TODO: use calendar terms when available (Bug 1287677)
|
||||
getWeekHeaderString: weekday => ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][weekday],
|
||||
getWeekHeaderString: weekday => weekdayStrings[weekday],
|
||||
getMonthString: month => monthStrings[month],
|
||||
setValue: ({ dateValue, selectionValue }) => {
|
||||
dateKeeper.setValue(dateValue);
|
||||
this.state.selectionValue = selectionValue;
|
||||
|
@ -103,6 +109,7 @@ function DatePicker(context) {
|
|||
monthYear: new MonthYear({
|
||||
setYear: this.state.setYear,
|
||||
setMonth: this.state.setMonth,
|
||||
getMonthString: this.state.getMonthString,
|
||||
locale: this.state.locale
|
||||
}, {
|
||||
monthYear: this.context.monthYear,
|
||||
|
@ -279,12 +286,12 @@ function DatePicker(context) {
|
|||
* {String} locale
|
||||
* {Function} setYear
|
||||
* {Function} setMonth
|
||||
* {Function} getMonthString
|
||||
* }
|
||||
* @param {DOMElement} context
|
||||
*/
|
||||
function MonthYear(options, context) {
|
||||
const spinnerSize = 5;
|
||||
const monthFormat = new Intl.DateTimeFormat(options.locale, { month: "short", timeZone: "UTC" }).format;
|
||||
const yearFormat = new Intl.DateTimeFormat(options.locale, { year: "numeric" }).format;
|
||||
const dateFormat = new Intl.DateTimeFormat(options.locale, { year: "numeric", month: "long" }).format;
|
||||
|
||||
|
@ -297,7 +304,7 @@ function DatePicker(context) {
|
|||
this.state.isMonthSet = true;
|
||||
options.setMonth(month);
|
||||
},
|
||||
getDisplayString: month => monthFormat(new Date(Date.UTC(0, month))),
|
||||
getDisplayString: options.getMonthString,
|
||||
viewportSize: spinnerSize
|
||||
}, context.monthYearView),
|
||||
year: new Spinner({
|
||||
|
|
|
@ -22,6 +22,13 @@
|
|||
<field name="TIME_PICKER_HEIGHT" readonly="true">"21em"</field>
|
||||
<field name="DATE_PICKER_WIDTH" readonly="true">"23.1em"</field>
|
||||
<field name="DATE_PICKER_HEIGHT" readonly="true">"20.7em"</field>
|
||||
<constructor><![CDATA[
|
||||
this.l10n = {};
|
||||
const mozIntl = Components.classes["@mozilla.org/mozintl;1"]
|
||||
.getService(Components.interfaces.mozIMozIntl);
|
||||
mozIntl.addGetCalendarInfo(l10n);
|
||||
mozIntl.addGetDisplayNames(l10n);
|
||||
]]></constructor>
|
||||
<method name="loadPicker">
|
||||
<parameter name="type"/>
|
||||
<parameter name="detail"/>
|
||||
|
@ -117,6 +124,31 @@
|
|||
const { year, month, day } = detail.value;
|
||||
const { firstDayOfWeek, weekends } =
|
||||
this.getCalendarInfo(locale);
|
||||
const monthStrings = this.getDisplayNames(
|
||||
locale, [
|
||||
"dates/gregorian/months/january",
|
||||
"dates/gregorian/months/february",
|
||||
"dates/gregorian/months/march",
|
||||
"dates/gregorian/months/april",
|
||||
"dates/gregorian/months/may",
|
||||
"dates/gregorian/months/june",
|
||||
"dates/gregorian/months/july",
|
||||
"dates/gregorian/months/august",
|
||||
"dates/gregorian/months/september",
|
||||
"dates/gregorian/months/october",
|
||||
"dates/gregorian/months/november",
|
||||
"dates/gregorian/months/december",
|
||||
], "short");
|
||||
const weekdayStrings = this.getDisplayNames(
|
||||
locale, [
|
||||
"dates/gregorian/weekdays/sunday",
|
||||
"dates/gregorian/weekdays/monday",
|
||||
"dates/gregorian/weekdays/tuesday",
|
||||
"dates/gregorian/weekdays/wednesday",
|
||||
"dates/gregorian/weekdays/thursday",
|
||||
"dates/gregorian/weekdays/friday",
|
||||
"dates/gregorian/weekdays/saturday",
|
||||
], "short");
|
||||
|
||||
this.postMessageToPicker({
|
||||
name: "PickerInit",
|
||||
|
@ -127,6 +159,8 @@
|
|||
day,
|
||||
firstDayOfWeek,
|
||||
weekends,
|
||||
monthStrings,
|
||||
weekdayStrings,
|
||||
locale
|
||||
}
|
||||
});
|
||||
|
@ -192,11 +226,7 @@
|
|||
<method name="getCalendarInfo">
|
||||
<parameter name="locale"/>
|
||||
<body><![CDATA[
|
||||
const l10n = {};
|
||||
const mozIntl = Components.classes["@mozilla.org/mozintl;1"]
|
||||
.getService(Components.interfaces.mozIMozIntl);
|
||||
mozIntl.addGetCalendarInfo(l10n);
|
||||
const calendarInfo = l10n.getCalendarInfo(locale);
|
||||
const calendarInfo = this.l10n.getCalendarInfo(locale);
|
||||
|
||||
// Day of week from calendarInfo starts from 1 as Sunday to 7 as Saturday,
|
||||
// so they need to be mapped to JavaScript convention with 0 as Sunday
|
||||
|
@ -224,6 +254,15 @@
|
|||
}
|
||||
]]></body>
|
||||
</method>
|
||||
<method name="getDisplayNames">
|
||||
<parameter name="locale"/>
|
||||
<parameter name="keys"/>
|
||||
<parameter name="style"/>
|
||||
<body><![CDATA[
|
||||
const displayNames = this.l10n.getDisplayNames(locale, {keys, style});
|
||||
return keys.map(key => displayNames.values[key]);
|
||||
]]></body>
|
||||
</method>
|
||||
<method name="handleEvent">
|
||||
<parameter name="aEvent"/>
|
||||
<body><![CDATA[
|
||||
|
|
|
@ -19,6 +19,16 @@
|
|||
#include "nsTArray.h"
|
||||
#include "nsThreadUtils.h"
|
||||
|
||||
#if defined(DEBUG) || !defined(RELEASE_OR_BETA)
|
||||
#define PROMISE_DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef PROMISE_DEBUG
|
||||
#define PROMISE_ASSERT MOZ_RELEASE_ASSERT
|
||||
#else
|
||||
#define PROMISE_ASSERT(...) do { } while (0)
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
extern LazyLogModule gMozPromiseLog;
|
||||
|
@ -120,6 +130,8 @@ template<typename T> class MozPromiseRequestHolder;
|
|||
template<typename ResolveValueT, typename RejectValueT, bool IsExclusive>
|
||||
class MozPromise : public MozPromiseRefcountable
|
||||
{
|
||||
static const uint32_t sMagic = 0xcecace11;
|
||||
|
||||
public:
|
||||
typedef ResolveValueT ResolveValueType;
|
||||
typedef RejectValueT RejectValueType;
|
||||
|
@ -176,6 +188,9 @@ protected:
|
|||
, mMutex("MozPromise Mutex")
|
||||
, mHaveRequest(false)
|
||||
, mIsCompletionPromise(aIsCompletionPromise)
|
||||
#ifdef PROMISE_DEBUG
|
||||
, mMagic4(mMutex.mLock)
|
||||
#endif
|
||||
{
|
||||
PROMISE_LOG("%s creating MozPromise (%p)", mCreationSite, this);
|
||||
}
|
||||
|
@ -278,11 +293,6 @@ public:
|
|||
{
|
||||
public:
|
||||
virtual void Disconnect() = 0;
|
||||
|
||||
// MSVC complains when an inner class (ThenValueBase::{Resolve,Reject}Runnable)
|
||||
// tries to access an inherited protected member.
|
||||
bool IsDisconnected() const { return mDisconnected; }
|
||||
|
||||
virtual void AssertIsDead() = 0;
|
||||
|
||||
protected:
|
||||
|
@ -304,6 +314,7 @@ protected:
|
|||
class ThenValueBase : public Request
|
||||
{
|
||||
friend class MozPromise;
|
||||
static const uint32_t sMagic = 0xfadece11;
|
||||
|
||||
public:
|
||||
class ResolveOrRejectRunnable : public Runnable
|
||||
|
@ -343,8 +354,17 @@ protected:
|
|||
, mCallSite(aCallSite)
|
||||
{ }
|
||||
|
||||
#ifdef PROMISE_DEBUG
|
||||
~ThenValueBase()
|
||||
{
|
||||
mMagic1 = 0;
|
||||
mMagic2 = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
void AssertIsDead() override
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic);
|
||||
// We want to assert that this ThenValues is dead - that is to say, that
|
||||
// there are no consumers waiting for the result. In the case of a normal
|
||||
// ThenValue, we check that it has been disconnected, which is the way
|
||||
|
@ -361,25 +381,25 @@ protected:
|
|||
|
||||
void Dispatch(MozPromise *aPromise)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic);
|
||||
aPromise->mMutex.AssertCurrentThreadOwns();
|
||||
MOZ_ASSERT(!aPromise->IsPending());
|
||||
|
||||
RefPtr<Runnable> runnable =
|
||||
static_cast<Runnable*>(new (typename ThenValueBase::ResolveOrRejectRunnable)(this, aPromise));
|
||||
nsCOMPtr<nsIRunnable> r = new ResolveOrRejectRunnable(this, aPromise);
|
||||
PROMISE_LOG("%s Then() call made from %s [Runnable=%p, Promise=%p, ThenValue=%p]",
|
||||
aPromise->mValue.IsResolve() ? "Resolving" : "Rejecting", ThenValueBase::mCallSite,
|
||||
runnable.get(), aPromise, this);
|
||||
aPromise->mValue.IsResolve() ? "Resolving" : "Rejecting", mCallSite,
|
||||
r.get(), aPromise, this);
|
||||
|
||||
// Promise consumers are allowed to disconnect the Request object and
|
||||
// then shut down the thread or task queue that the promise result would
|
||||
// be dispatched on. So we unfortunately can't assert that promise
|
||||
// dispatch succeeds. :-(
|
||||
mResponseTarget->Dispatch(runnable.forget(), AbstractThread::DontAssertDispatchSuccess);
|
||||
mResponseTarget->Dispatch(r.forget(), AbstractThread::DontAssertDispatchSuccess);
|
||||
}
|
||||
|
||||
void Disconnect() override
|
||||
{
|
||||
MOZ_ASSERT(ThenValueBase::mResponseTarget->IsCurrentThreadIn());
|
||||
MOZ_DIAGNOSTIC_ASSERT(mResponseTarget->IsCurrentThreadIn());
|
||||
MOZ_DIAGNOSTIC_ASSERT(!Request::mComplete);
|
||||
Request::mDisconnected = true;
|
||||
|
||||
|
@ -395,6 +415,8 @@ protected:
|
|||
|
||||
void DoResolveOrReject(const ResolveOrRejectValue& aValue)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic);
|
||||
MOZ_DIAGNOSTIC_ASSERT(mResponseTarget->IsCurrentThreadIn());
|
||||
Request::mComplete = true;
|
||||
if (Request::mDisconnected) {
|
||||
PROMISE_LOG("ThenValue::DoResolveOrReject disconnected - bailing out [this=%p]", this);
|
||||
|
@ -416,7 +438,13 @@ protected:
|
|||
}
|
||||
|
||||
RefPtr<AbstractThread> mResponseTarget; // May be released on any thread.
|
||||
#ifdef PROMISE_DEBUG
|
||||
uint32_t mMagic1 = sMagic;
|
||||
#endif
|
||||
RefPtr<Private> mCompletionPromise;
|
||||
#ifdef PROMISE_DEBUG
|
||||
uint32_t mMagic2 = sMagic;
|
||||
#endif
|
||||
const char* mCallSite;
|
||||
};
|
||||
|
||||
|
@ -666,6 +694,7 @@ public:
|
|||
void ThenInternal(AbstractThread* aResponseThread, ThenValueBase* aThenValue,
|
||||
const char* aCallSite)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic && mMagic3 == sMagic && mMagic4 == mMutex.mLock);
|
||||
MutexAutoLock lock(mMutex);
|
||||
MOZ_ASSERT(aResponseThread->IsDispatchReliable());
|
||||
MOZ_DIAGNOSTIC_ASSERT(!IsExclusive || !mHaveRequest);
|
||||
|
@ -819,6 +848,7 @@ public:
|
|||
// AssertIsDead() only.
|
||||
void AssertIsDead()
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic && mMagic3 == sMagic && mMagic4 == mMutex.mLock);
|
||||
MutexAutoLock lock(mMutex);
|
||||
for (auto&& then : mThenValues) {
|
||||
then->AssertIsDead();
|
||||
|
@ -873,15 +903,33 @@ protected:
|
|||
MOZ_ASSERT(mThenValues.IsEmpty());
|
||||
MOZ_ASSERT(mChainedPromises.IsEmpty());
|
||||
}
|
||||
#ifdef PROMISE_DEBUG
|
||||
mMagic1 = 0;
|
||||
mMagic2 = 0;
|
||||
mMagic3 = 0;
|
||||
mMagic4 = nullptr;
|
||||
#endif
|
||||
};
|
||||
|
||||
const char* mCreationSite; // For logging
|
||||
Mutex mMutex;
|
||||
ResolveOrRejectValue mValue;
|
||||
#ifdef PROMISE_DEBUG
|
||||
uint32_t mMagic1 = sMagic;
|
||||
#endif
|
||||
nsTArray<RefPtr<ThenValueBase>> mThenValues;
|
||||
#ifdef PROMISE_DEBUG
|
||||
uint32_t mMagic2 = sMagic;
|
||||
#endif
|
||||
nsTArray<RefPtr<Private>> mChainedPromises;
|
||||
#ifdef PROMISE_DEBUG
|
||||
uint32_t mMagic3 = sMagic;
|
||||
#endif
|
||||
bool mHaveRequest;
|
||||
const bool mIsCompletionPromise;
|
||||
#ifdef PROMISE_DEBUG
|
||||
void* mMagic4;
|
||||
#endif
|
||||
};
|
||||
|
||||
template<typename ResolveValueT, typename RejectValueT, bool IsExclusive>
|
||||
|
@ -895,6 +943,7 @@ public:
|
|||
template<typename ResolveValueT_>
|
||||
void Resolve(ResolveValueT_&& aResolveValue, const char* aResolveSite)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic && mMagic3 == sMagic && mMagic4 == mMutex.mLock);
|
||||
MutexAutoLock lock(mMutex);
|
||||
MOZ_ASSERT(IsPending());
|
||||
PROMISE_LOG("%s resolving MozPromise (%p created at %s)", aResolveSite, this, mCreationSite);
|
||||
|
@ -905,6 +954,7 @@ public:
|
|||
template<typename RejectValueT_>
|
||||
void Reject(RejectValueT_&& aRejectValue, const char* aRejectSite)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic && mMagic3 == sMagic && mMagic4 == mMutex.mLock);
|
||||
MutexAutoLock lock(mMutex);
|
||||
MOZ_ASSERT(IsPending());
|
||||
PROMISE_LOG("%s rejecting MozPromise (%p created at %s)", aRejectSite, this, mCreationSite);
|
||||
|
@ -915,6 +965,7 @@ public:
|
|||
template<typename ResolveOrRejectValue_>
|
||||
void ResolveOrReject(ResolveOrRejectValue_&& aValue, const char* aSite)
|
||||
{
|
||||
PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic && mMagic3 == sMagic && mMagic4 == mMutex.mLock);
|
||||
MutexAutoLock lock(mMutex);
|
||||
MOZ_ASSERT(IsPending());
|
||||
PROMISE_LOG("%s resolveOrRejecting MozPromise (%p created at %s)", aSite, this, mCreationSite);
|
||||
|
@ -1344,6 +1395,8 @@ InvokeAsync(AbstractThread* aTarget, const char* aCallerName,
|
|||
}
|
||||
|
||||
#undef PROMISE_LOG
|
||||
#undef PROMISE_ASSERT
|
||||
#undef PROMISE_DEBUG
|
||||
|
||||
} // namespace mozilla
|
||||
|
||||
|
|
|
@ -110,6 +110,10 @@ private:
|
|||
PRLock* mLock;
|
||||
|
||||
friend class CondVar;
|
||||
|
||||
// MozPromise needs to access mLock for debugging purpose.
|
||||
template<typename, typename, bool>
|
||||
friend class MozPromise;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче