зеркало из https://github.com/mozilla/gecko-dev.git
Merge mozilla-central to b2g-inbound
This commit is contained in:
Коммит
760c01b77a
|
@ -1091,22 +1091,50 @@ window.addEventListener('ContentStart', function update_onContentStart() {
|
|||
|
||||
updatePrompt.wrappedJSObject.handleContentStart(shell);
|
||||
});
|
||||
/* The "GPSChipOn" is to indicate that GPS engine is turned ON by the modem.
|
||||
During this GPS engine is turned ON by the modem, we make the location tracking icon visible to user.
|
||||
Once GPS engine is turned OFF, the location icon will disappear.
|
||||
If GPS engine is not turned ON by the modem or GPS location service is triggered,
|
||||
we let GPS service take over the control of showing the location tracking icon.
|
||||
The regular sequence of the geolocation-device-events is: starting-> GPSStarting-> shutdown-> GPSShutdown
|
||||
*/
|
||||
|
||||
|
||||
(function geolocationStatusTracker() {
|
||||
let gGeolocationActive = false;
|
||||
let GPSChipOn = false;
|
||||
|
||||
Services.obs.addObserver(function(aSubject, aTopic, aData) {
|
||||
let oldState = gGeolocationActive;
|
||||
if (aData == "starting") {
|
||||
gGeolocationActive = true;
|
||||
} else if (aData == "shutdown") {
|
||||
gGeolocationActive = false;
|
||||
let promptWarning = false;
|
||||
switch (aData) {
|
||||
case "GPSStarting":
|
||||
if (!gGeolocationActive) {
|
||||
gGeolocationActive = true;
|
||||
GPSChipOn = true;
|
||||
promptWarning = true;
|
||||
}
|
||||
break;
|
||||
case "GPSShutdown":
|
||||
if (GPSChipOn) {
|
||||
gGeolocationActive = false;
|
||||
GPSChipOn = false;
|
||||
}
|
||||
break;
|
||||
case "starting":
|
||||
gGeolocationActive = true;
|
||||
GPSChipOn = false;
|
||||
break;
|
||||
case "shutdown":
|
||||
gGeolocationActive = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (gGeolocationActive != oldState) {
|
||||
shell.sendChromeEvent({
|
||||
type: 'geolocation-status',
|
||||
active: gGeolocationActive
|
||||
active: gGeolocationActive,
|
||||
prompt: promptWarning
|
||||
});
|
||||
}
|
||||
}, "geolocation-device-events", false);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1450229633000">
|
||||
<blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist" lastupdate="1450742506000">
|
||||
<emItems>
|
||||
<emItem blockID="i58" id="webmaster@buzzzzvideos.info">
|
||||
<versionRange minVersion="0" maxVersion="*">
|
||||
|
@ -3339,6 +3339,18 @@
|
|||
<match name="name" exp="Java(\(TM\))? Plug-in 11\.(4[6-9]|5\d|6[0-4])(\.[0-9]+)?([^\d\._]|$)" /> <match name="filename" exp="libnpjp2\.so" /> <versionRange severity="0" vulnerabilitystatus="1"></versionRange>
|
||||
<infoURL>https://java.com/</infoURL>
|
||||
</pluginItem>
|
||||
<pluginItem os="Linux" blockID="p1065">
|
||||
<match name="filename" exp="libflashplayer\.so" /> <versionRange minVersion="11.2.202.540" maxVersion="11.2.202.548" severity="0" vulnerabilitystatus="1"></versionRange>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1066">
|
||||
<match name="filename" exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" /> <versionRange minVersion="18.0.0.255" maxVersion="18.0.0.261" severity="0" vulnerabilitystatus="1"></versionRange>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
</pluginItem>
|
||||
<pluginItem blockID="p1067">
|
||||
<match name="filename" exp="(NPSWF32.*\.dll)|(NPSWF64.*\.dll)|(Flash\ Player\.plugin)" /> <versionRange minVersion="19.0.0.226" maxVersion="19.0.0.245" severity="0" vulnerabilitystatus="1"></versionRange>
|
||||
<infoURL>https://get.adobe.com/flashplayer/</infoURL>
|
||||
</pluginItem>
|
||||
</pluginItems>
|
||||
|
||||
<gfxItems>
|
||||
|
@ -3435,6 +3447,54 @@
|
|||
</devices>
|
||||
<feature>DIRECT2D</feature> <featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>15.201.1151.0</driverVersion> <driverVersionComparator>LESS_THAN</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1057"> <os>WINNT 5.1</os> <vendor>0x8086</vendor> <feature>WEBGL_ANGLE</feature> <featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>6.14.10.5218</driverVersion> <driverVersionComparator>LESS_THAN</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1068"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1851</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1069"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1855</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1070"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1872</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1071"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1883</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1072"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1892</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
<gfxBlacklistEntry blockID="g1073"> <vendor>0x8086</vendor> <devices>
|
||||
<device>0x2a42</device>
|
||||
<device>0x2e22</device>
|
||||
<device>0x2e12</device>
|
||||
<device>0x2e32</device>
|
||||
<device>0x0046</device>
|
||||
</devices>
|
||||
<featureStatus>BLOCKED_DRIVER_VERSION</featureStatus> <driverVersion>8.15.10.1994</driverVersion> <driverVersionComparator>EQUAL</driverVersionComparator> </gfxBlacklistEntry>
|
||||
</gfxItems>
|
||||
|
||||
<certItems>
|
||||
|
|
|
@ -997,35 +997,17 @@ var gBrowserInit = {
|
|||
|
||||
// Set a sane starting width/height for all resolutions on new profiles.
|
||||
if (!document.documentElement.hasAttribute("width")) {
|
||||
let defaultWidth;
|
||||
let defaultHeight;
|
||||
const TARGET_WIDTH = 1280;
|
||||
const TARGET_HEIGHT = 1040;
|
||||
let width = Math.min(screen.availWidth * .9, TARGET_WIDTH);
|
||||
let height = Math.min(screen.availHeight * .9, TARGET_HEIGHT);
|
||||
|
||||
// Very small: maximize the window
|
||||
// Portrait : use about full width and 3/4 height, to view entire pages
|
||||
// at once (without being obnoxiously tall)
|
||||
// Widescreen: use about half width, to suggest side-by-side page view
|
||||
// Otherwise : use 3/4 height and width
|
||||
if (screen.availHeight <= 600) {
|
||||
document.documentElement.setAttribute("width", width);
|
||||
document.documentElement.setAttribute("height", height);
|
||||
|
||||
if (width < TARGET_WIDTH && height < TARGET_HEIGHT) {
|
||||
document.documentElement.setAttribute("sizemode", "maximized");
|
||||
defaultWidth = 610;
|
||||
defaultHeight = 450;
|
||||
}
|
||||
else {
|
||||
if (screen.availWidth <= screen.availHeight) {
|
||||
defaultWidth = screen.availWidth * .9;
|
||||
defaultHeight = screen.availHeight * .75;
|
||||
}
|
||||
else if (screen.availWidth >= 2048) {
|
||||
defaultWidth = (screen.availWidth / 2) - 20;
|
||||
defaultHeight = screen.availHeight - 10;
|
||||
}
|
||||
else {
|
||||
defaultWidth = screen.availWidth * .75;
|
||||
defaultHeight = screen.availHeight * .75;
|
||||
}
|
||||
}
|
||||
document.documentElement.setAttribute("width", defaultWidth);
|
||||
document.documentElement.setAttribute("height", defaultHeight);
|
||||
}
|
||||
|
||||
if (!window.toolbar.visible) {
|
||||
|
|
|
@ -154,10 +154,14 @@ var SessionHistoryInternal = {
|
|||
if (shEntry.contentType)
|
||||
entry.contentType = shEntry.contentType;
|
||||
|
||||
let x = {}, y = {};
|
||||
shEntry.getScrollPosition(x, y);
|
||||
if (x.value != 0 || y.value != 0)
|
||||
entry.scroll = x.value + "," + y.value;
|
||||
if (shEntry.scrollRestorationIsManual) {
|
||||
entry.scrollRestorationIsManual = true;
|
||||
} else {
|
||||
let x = {}, y = {};
|
||||
shEntry.getScrollPosition(x, y);
|
||||
if (x.value != 0 || y.value != 0)
|
||||
entry.scroll = x.value + "," + y.value;
|
||||
}
|
||||
|
||||
// Collect owner data for the current history entry.
|
||||
try {
|
||||
|
@ -338,7 +342,9 @@ var SessionHistoryInternal = {
|
|||
entry.structuredCloneVersion);
|
||||
}
|
||||
|
||||
if (entry.scroll) {
|
||||
if (entry.scrollRestorationIsManual) {
|
||||
shEntry.scrollRestorationIsManual = true;
|
||||
} else if (entry.scroll) {
|
||||
var scrollPos = (entry.scroll || "0,0").split(",");
|
||||
scrollPos = [parseInt(scrollPos[0]) || 0, parseInt(scrollPos[1]) || 0];
|
||||
shEntry.setScrollPosition(scrollPos[0], scrollPos[1]);
|
||||
|
|
|
@ -100,10 +100,6 @@ dnl Picked from autoconf 2.13
|
|||
trap '' 1 2 15
|
||||
AC_CACHE_SAVE
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
# Let make expand exec_prefix.
|
||||
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||
|
||||
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
|
||||
|
|
|
@ -15,6 +15,11 @@ define([_MOZ_AC_INIT_PREPARE], defn([AC_INIT_PREPARE]))
|
|||
define([AC_INIT_PREPARE],
|
||||
[_MOZ_AC_INIT_PREPARE($1)
|
||||
MOZ_CONFIG_LOG_TRAP
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
# Let make expand exec_prefix.
|
||||
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||
|
||||
> subconfigures
|
||||
> skip_subconfigures
|
||||
])
|
||||
|
|
|
@ -13,6 +13,7 @@ support-files =
|
|||
[browser_animation_animated_properties_displayed.js]
|
||||
[browser_animation_click_selects_animation.js]
|
||||
[browser_animation_controller_exposes_document_currentTime.js]
|
||||
skip-if = os == "linux" && !debug # Bug 1234567
|
||||
[browser_animation_empty_on_invalid_nodes.js]
|
||||
[browser_animation_keyframe_click_to_set_time.js]
|
||||
[browser_animation_keyframe_markers.js]
|
||||
|
@ -24,6 +25,7 @@ support-files =
|
|||
[browser_animation_playerWidgets_target_nodes.js]
|
||||
[browser_animation_refresh_on_added_animation.js]
|
||||
[browser_animation_refresh_on_removed_animation.js]
|
||||
skip-if = os == "linux" && !debug # Bug 1227792
|
||||
[browser_animation_refresh_when_active.js]
|
||||
[browser_animation_running_on_compositor.js]
|
||||
[browser_animation_same_nb_of_playerWidgets_and_playerFronts.js]
|
||||
|
|
|
@ -55,6 +55,7 @@ support-files =
|
|||
browser_cmd_csscoverage_sheetD.css
|
||||
[browser_cmd_folder.js]
|
||||
[browser_cmd_highlight_01.js]
|
||||
skip-if = os == "linux" && debug # Bug 1210208
|
||||
[browser_cmd_highlight_02.js]
|
||||
[browser_cmd_inject.js]
|
||||
support-files =
|
||||
|
|
|
@ -2483,7 +2483,6 @@ NetworkDetailsView.prototype = {
|
|||
}));
|
||||
this._params = new VariablesView($("#request-params"),
|
||||
Heritage.extend(GENERIC_VARIABLES_VIEW_SETTINGS, {
|
||||
onlyEnumVisible: true,
|
||||
emptyText: L10N.getStr("paramsEmptyText"),
|
||||
searchPlaceholder: L10N.getStr("paramsFilterText")
|
||||
}));
|
||||
|
@ -2866,6 +2865,8 @@ NetworkDetailsView.prototype = {
|
|||
let formDataSections = yield RequestsMenuView.prototype._getFormDataSections(
|
||||
aHeaders, aUploadHeaders, aPostData);
|
||||
|
||||
this._params.onlyEnumVisible = false;
|
||||
|
||||
// Handle urlencoded form data sections (e.g. "?foo=bar&baz=42").
|
||||
if (formDataSections.length > 0) {
|
||||
formDataSections.forEach(section => {
|
||||
|
@ -2881,6 +2882,7 @@ NetworkDetailsView.prototype = {
|
|||
jsonVal = JSON.parse(postData);
|
||||
} catch (ex) { }
|
||||
if (jsonVal) {
|
||||
this._params.onlyEnumVisible = true;
|
||||
let jsonScopeName = L10N.getStr("jsonScopeName");
|
||||
let jsonVar = { label: jsonScopeName, rawObject: jsonVal };
|
||||
let jsonScope = this._params.addScope(jsonScopeName);
|
||||
|
|
|
@ -14,6 +14,7 @@ support-files =
|
|||
[browser_perf-categories-js-calltree.js]
|
||||
[browser_perf-clear-01.js]
|
||||
[browser_perf-clear-02.js]
|
||||
skip-if = os == "linux" # Bug 1230031
|
||||
[browser_perf-columns-js-calltree.js]
|
||||
[browser_perf-columns-memory-calltree.js]
|
||||
[browser_perf-console-record-01.js]
|
||||
|
|
|
@ -20,6 +20,25 @@ function test() {
|
|||
|
||||
waitForExplicitFinish();
|
||||
|
||||
if (window.windowState == window.STATE_MAXIMIZED) {
|
||||
registerCleanupFunction(function () {
|
||||
window.maximize();
|
||||
});
|
||||
|
||||
window.addEventListener("resize", function onResize(event) {
|
||||
if (event.target == window) {
|
||||
window.removeEventListener("resize", onResize, false);
|
||||
executeSoon(testTilt);
|
||||
}
|
||||
}, false);
|
||||
|
||||
window.restore();
|
||||
} else {
|
||||
testTilt();
|
||||
}
|
||||
}
|
||||
|
||||
function testTilt() {
|
||||
createTab(function() {
|
||||
TiltUtils.setDocumentZoom(window, ZOOM);
|
||||
|
||||
|
@ -51,10 +70,17 @@ function test() {
|
|||
ok(isApprox(contentWindow.innerHeight * ZOOM, arcball.height, 1),
|
||||
"The arcball height wasn't set correctly before the resize.");
|
||||
|
||||
|
||||
window.addEventListener("resize", onResize, false);
|
||||
window.resizeBy(-RESIZE * ZOOM, -RESIZE * ZOOM);
|
||||
|
||||
executeSoon(function() {
|
||||
function onResize(event) {
|
||||
if (event.target == window) {
|
||||
window.removeEventListener("resize", onResize, false);
|
||||
executeSoon(afterResize);
|
||||
}
|
||||
}
|
||||
|
||||
function afterResize() {
|
||||
ok(isApprox(contentWindow.innerWidth + RESIZE, initialWidth, 1),
|
||||
"The content window width wasn't set correctly after the resize.");
|
||||
ok(isApprox(contentWindow.innerHeight + RESIZE, initialHeight, 1),
|
||||
|
@ -70,13 +96,11 @@ function test() {
|
|||
ok(isApprox(contentWindow.innerHeight * ZOOM, arcball.height, 1),
|
||||
"The arcball height wasn't set correctly after the resize.");
|
||||
|
||||
|
||||
window.resizeBy(RESIZE * ZOOM, RESIZE * ZOOM);
|
||||
|
||||
|
||||
Services.obs.addObserver(cleanup, DESTROYED, false);
|
||||
Tilt.destroy(Tilt.currentWindowId);
|
||||
});
|
||||
}
|
||||
}
|
||||
}, false, function suddenDeath()
|
||||
{
|
||||
|
|
|
@ -10043,9 +10043,11 @@ nsDocShell::InternalLoad(nsIURI* aURI,
|
|||
nsCOMPtr<nsIInputStream> postData;
|
||||
nsCOMPtr<nsISupports> cacheKey;
|
||||
|
||||
bool scrollRestorationIsManual = false;
|
||||
if (mOSHE) {
|
||||
/* save current position of scroller(s) (bug 59774) */
|
||||
mOSHE->SetScrollPosition(cx, cy);
|
||||
mOSHE->GetScrollRestorationIsManual(&scrollRestorationIsManual);
|
||||
// Get the postdata and page ident from the current page, if
|
||||
// the new load is being done via normal means. Note that
|
||||
// "normal means" can be checked for just by checking for
|
||||
|
@ -10060,6 +10062,11 @@ nsDocShell::InternalLoad(nsIURI* aURI,
|
|||
// cache data, since the two SHEntries correspond to the
|
||||
// same document.
|
||||
if (mLSHE) {
|
||||
if (!aSHEntry) {
|
||||
// If we're not doing a history load, scroll restoration
|
||||
// should be inherited from the previous session history entry.
|
||||
mLSHE->SetScrollRestorationIsManual(scrollRestorationIsManual);
|
||||
}
|
||||
mLSHE->AdoptBFCacheEntry(mOSHE);
|
||||
}
|
||||
}
|
||||
|
@ -10132,10 +10139,12 @@ nsDocShell::InternalLoad(nsIURI* aURI,
|
|||
/* restore previous position of scroller(s), if we're moving
|
||||
* back in history (bug 59774)
|
||||
*/
|
||||
nscoord bx, by;
|
||||
nscoord bx = 0;
|
||||
nscoord by = 0;
|
||||
bool needsScrollPosUpdate = false;
|
||||
if (mOSHE && (aLoadType == LOAD_HISTORY ||
|
||||
aLoadType == LOAD_RELOAD_NORMAL)) {
|
||||
aLoadType == LOAD_RELOAD_NORMAL) &&
|
||||
!scrollRestorationIsManual) {
|
||||
needsScrollPosUpdate = true;
|
||||
mOSHE->GetScrollPosition(&bx, &by);
|
||||
}
|
||||
|
@ -11624,6 +11633,9 @@ nsDocShell::AddState(JS::Handle<JS::Value> aData, const nsAString& aTitle,
|
|||
GetCurScrollPos(ScrollOrientation_Y, &cy);
|
||||
mOSHE->SetScrollPosition(cx, cy);
|
||||
|
||||
bool scrollRestorationIsManual = false;
|
||||
mOSHE->GetScrollRestorationIsManual(&scrollRestorationIsManual);
|
||||
|
||||
// Since we're not changing which page we have loaded, pass
|
||||
// true for aCloneChildren.
|
||||
rv = AddToSessionHistory(newURI, nullptr, nullptr, true,
|
||||
|
@ -11632,6 +11644,10 @@ nsDocShell::AddState(JS::Handle<JS::Value> aData, const nsAString& aTitle,
|
|||
|
||||
NS_ENSURE_TRUE(newSHEntry, NS_ERROR_FAILURE);
|
||||
|
||||
// Session history entries created by pushState inherit scroll restoration
|
||||
// mode from the current entry.
|
||||
newSHEntry->SetScrollRestorationIsManual(scrollRestorationIsManual);
|
||||
|
||||
// Link the new SHEntry to the old SHEntry's BFCache entry, since the
|
||||
// two entries correspond to the same document.
|
||||
NS_ENSURE_SUCCESS(newSHEntry->AdoptBFCacheEntry(oldOSHE), NS_ERROR_FAILURE);
|
||||
|
@ -11740,6 +11756,27 @@ nsDocShell::AddState(JS::Handle<JS::Value> aData, const nsAString& aTitle,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocShell::GetCurrentScrollRestorationIsManual(bool* aIsManual)
|
||||
{
|
||||
*aIsManual = false;
|
||||
if (mOSHE) {
|
||||
mOSHE->GetScrollRestorationIsManual(aIsManual);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocShell::SetCurrentScrollRestorationIsManual(bool aIsManual)
|
||||
{
|
||||
if (mOSHE) {
|
||||
mOSHE->SetScrollRestorationIsManual(aIsManual);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool
|
||||
nsDocShell::ShouldAddToSessionHistory(nsIURI* aURI)
|
||||
{
|
||||
|
@ -12140,10 +12177,21 @@ nsDocShell::PersistLayoutHistoryState()
|
|||
nsresult rv = NS_OK;
|
||||
|
||||
if (mOSHE) {
|
||||
bool scrollRestorationIsManual = false;
|
||||
mOSHE->GetScrollRestorationIsManual(&scrollRestorationIsManual);
|
||||
|
||||
nsCOMPtr<nsIPresShell> shell = GetPresShell();
|
||||
nsCOMPtr<nsILayoutHistoryState> layoutState;
|
||||
if (shell) {
|
||||
nsCOMPtr<nsILayoutHistoryState> layoutState;
|
||||
rv = shell->CaptureHistoryState(getter_AddRefs(layoutState));
|
||||
} else if (scrollRestorationIsManual) {
|
||||
// Even if we don't have layout anymore, we may want to reset the current
|
||||
// scroll state in layout history.
|
||||
GetLayoutHistoryState(getter_AddRefs(layoutState));
|
||||
}
|
||||
|
||||
if (scrollRestorationIsManual && layoutState) {
|
||||
layoutState->ResetScrollState();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ interface nsITabParent;
|
|||
|
||||
typedef unsigned long nsLoadFlags;
|
||||
|
||||
[scriptable, builtinclass, uuid(bc3524bd-023c-4fc8-ace1-472bc999fb12)]
|
||||
[scriptable, builtinclass, uuid(811aa3e1-7c4d-45ae-89da-ea1b107c60ed)]
|
||||
interface nsIDocShell : nsIDocShellTreeItem
|
||||
{
|
||||
/**
|
||||
|
@ -1090,4 +1090,10 @@ interface nsIDocShell : nsIDocShellTreeItem
|
|||
* top level chrome docshell.
|
||||
*/
|
||||
attribute boolean windowDraggingAllowed;
|
||||
|
||||
/**
|
||||
* Sets/gets the current scroll restoration mode.
|
||||
* @see https://html.spec.whatwg.org/#dom-history-scroll-restoration
|
||||
*/
|
||||
attribute boolean currentScrollRestorationIsManual;
|
||||
};
|
||||
|
|
|
@ -30,7 +30,7 @@ class nsSHEntryShared;
|
|||
[ptr] native nsDocShellEditorDataPtr(nsDocShellEditorData);
|
||||
[ptr] native nsSHEntryShared(nsSHEntryShared);
|
||||
|
||||
[scriptable, uuid(3a5e5fa0-5364-4fbb-a87a-3f12a6b51903)]
|
||||
[scriptable, uuid(0dad26b8-a259-42c7-93f1-2fa7fc076e45)]
|
||||
interface nsISHEntry : nsISupports
|
||||
{
|
||||
/**
|
||||
|
@ -301,6 +301,12 @@ interface nsISHEntry : nsISupports
|
|||
* for example with view-source.
|
||||
*/
|
||||
attribute nsIURI baseURI;
|
||||
|
||||
/**
|
||||
* Sets/gets the current scroll restoration state,
|
||||
* if true == "manual", false == "auto".
|
||||
*/
|
||||
attribute boolean scrollRestorationIsManual;
|
||||
};
|
||||
|
||||
[scriptable, uuid(bb66ac35-253b-471f-a317-3ece940f04c5)]
|
||||
|
|
|
@ -33,6 +33,7 @@ nsSHEntry::nsSHEntry()
|
|||
, mParent(nullptr)
|
||||
, mURIWasModified(false)
|
||||
, mIsSrcdocEntry(false)
|
||||
, mScrollRestorationIsManual(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -53,6 +54,7 @@ nsSHEntry::nsSHEntry(const nsSHEntry& aOther)
|
|||
, mURIWasModified(aOther.mURIWasModified)
|
||||
, mStateData(aOther.mStateData)
|
||||
, mIsSrcdocEntry(aOther.mIsSrcdocEntry)
|
||||
, mScrollRestorationIsManual(false)
|
||||
, mSrcdocData(aOther.mSrcdocData)
|
||||
, mBaseURI(aOther.mBaseURI)
|
||||
{
|
||||
|
@ -598,6 +600,20 @@ nsSHEntry::SetBaseURI(nsIURI* aBaseURI)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSHEntry::GetScrollRestorationIsManual(bool* aIsManual)
|
||||
{
|
||||
*aIsManual = mScrollRestorationIsManual;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSHEntry::SetScrollRestorationIsManual(bool aIsManual)
|
||||
{
|
||||
mScrollRestorationIsManual = aIsManual;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsSHEntry::GetChildCount(int32_t* aCount)
|
||||
{
|
||||
|
|
|
@ -64,6 +64,7 @@ private:
|
|||
bool mURIWasModified;
|
||||
nsCOMPtr<nsIStructuredCloneContainer> mStateData;
|
||||
bool mIsSrcdocEntry;
|
||||
bool mScrollRestorationIsManual;
|
||||
nsString mSrcdocData;
|
||||
nsCOMPtr<nsIURI> mBaseURI;
|
||||
};
|
||||
|
|
|
@ -0,0 +1,128 @@
|
|||
<html>
|
||||
<head>
|
||||
<script>
|
||||
var oldHistoryObject = null;
|
||||
|
||||
function test(event) {
|
||||
if (!opener.scrollRestorationTest) {
|
||||
opener.scrollRestorationTest = 0;
|
||||
}
|
||||
++opener.scrollRestorationTest;
|
||||
|
||||
switch (opener.scrollRestorationTest) {
|
||||
case 1: {
|
||||
opener.is(event.persisted, false, "Shouldn't have persisted session history entry.");
|
||||
opener.ok(history.scrollRestoration, "History object has scrollRestoration property.");
|
||||
opener.ok(history.scrollRestoration, "auto", "history.scrollRestoration's default value should be 'auto'.");
|
||||
history.scrollRestoration = "foobar";
|
||||
opener.ok(history.scrollRestoration, "auto", "Invalid enum value should not change the value of an attribute.");
|
||||
history.scrollRestoration = "manual";
|
||||
opener.ok(history.scrollRestoration, "manual", "Valid enum value should change the value of an attribute.");
|
||||
history.scrollRestoration = "auto";
|
||||
opener.ok(history.scrollRestoration, "auto", "Valid enum value should change the value of an attribute.");
|
||||
document.getElementById("bottom").scrollIntoView();
|
||||
window.location.reload(false);
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
opener.is(event.persisted, false, "Shouldn't have persisted session history entry.");
|
||||
opener.isnot(window.scrollY, 0, "Should have restored scrolling.");
|
||||
opener.is(history.scrollRestoration, "auto", "Should have the same scrollRestoration as before reload.");
|
||||
history.scrollRestoration = "manual";
|
||||
window.onunload = function() {} // Disable bfcache.
|
||||
window.location.reload(false);
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
opener.is(event.persisted, false, "Shouldn't have persisted session history entry.");
|
||||
opener.is(window.scrollY, 0, "Should not have restored scrolling.");
|
||||
opener.is(history.scrollRestoration, "manual", "Should have the same scrollRestoration as before reload.");
|
||||
document.getElementById("bottom").scrollIntoView();
|
||||
window.onunload = null; // Should get bfcache behavior.
|
||||
opener.setTimeout("testWindow.history.back();", 250);
|
||||
window.location.href = 'data:text/html,';
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
opener.is(event.persisted, true, "Should have persisted session history entry.");
|
||||
opener.isnot(window.scrollY, 0, "Should have kept the old scroll position.");
|
||||
opener.is(history.scrollRestoration, "manual", "Should have the same scrollRestoration as before reload.");
|
||||
window.scrollTo(0, 0);
|
||||
window.location.hash = "hash";
|
||||
requestAnimationFrame(test);
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
opener.isnot(window.scrollY, 0, "Should have scrolled to #hash.");
|
||||
opener.is(history.scrollRestoration, "manual", "Should have the same scrollRestoration mode as before fragment navigation.");
|
||||
window.onunload = function() {} // Disable bfcache.
|
||||
opener.setTimeout("is(testWindow.history.scrollRestoration, 'auto'); testWindow.history.back();", 250);
|
||||
window.location.href = 'data:text/html,';
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
opener.is(event.persisted, false, "Shouldn't have persisted session history entry.");
|
||||
opener.is(window.scrollY, 0, "Shouldn't have kept the old scroll position.");
|
||||
opener.is(history.scrollRestoration, "manual", "Should have the same scrollRestoration mode as before fragment navigation.");
|
||||
history.scrollRestoration = "auto";
|
||||
document.getElementById("bottom").scrollIntoView();
|
||||
history.pushState({ state: "state1" }, "state1");
|
||||
history.pushState({ state: "state2" }, "state2");
|
||||
window.scrollTo(0, 0);
|
||||
history.back();
|
||||
opener.isnot(window.scrollY, 0, "Should have scrolled back to the state1's position");
|
||||
opener.is(history.state.state, "state1", "Unexpected state.");
|
||||
|
||||
history.scrollRestoration = "manual";
|
||||
document.getElementById("bottom").scrollIntoView();
|
||||
history.pushState({ state: "state3" }, "state3");
|
||||
history.pushState({ state: "state4" }, "state4");
|
||||
window.scrollTo(0, 0);
|
||||
history.back();
|
||||
opener.is(window.scrollY, 0, "Shouldn't have scrolled back to the state3's position");
|
||||
opener.is(history.state.state, "state3", "Unexpected state.");
|
||||
|
||||
var ifr = document.createElement("iframe");
|
||||
ifr.src = "data:text/html,";
|
||||
document.body.appendChild(ifr);
|
||||
ifr.onload = test;
|
||||
break;
|
||||
}
|
||||
case 7: {
|
||||
oldHistoryObject = event.target.contentWindow.history;
|
||||
event.target.src = "about:blank";
|
||||
break;
|
||||
}
|
||||
case 8: {
|
||||
try {
|
||||
var sr = oldHistoryObject.scrollRestoration;
|
||||
opener.ok(false, "Should have thrown an exception.");
|
||||
} catch(ex) {
|
||||
opener.isnot(ex, null, "Did get an exception");
|
||||
}
|
||||
try {
|
||||
oldHistoryObject.scrollRestoration = "auto";
|
||||
opener.ok(false, "Should have thrown an exception.");
|
||||
} catch(ex) {
|
||||
opener.isnot(ex, null, "Did get an exception");
|
||||
}
|
||||
opener.nextTest();
|
||||
window.close();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("pageshow",
|
||||
function(e) {
|
||||
setTimeout(test, 0, e);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="border: 1px solid black; height: 5000px;">
|
||||
</div>
|
||||
<div id="bottom">Hello world</div>
|
||||
<a href="#hash" name="hash">hash</a>
|
||||
</body>
|
||||
</html>
|
|
@ -10,6 +10,7 @@ support-files =
|
|||
file_document_write_1.html
|
||||
file_fragment_handling_during_load.html
|
||||
file_nested_frames.html
|
||||
file_scrollRestoration.html
|
||||
file_shiftReload_and_pushState.html
|
||||
file_static_and_dynamic_1.html
|
||||
frame0.html
|
||||
|
|
|
@ -29,7 +29,8 @@ var testFiles =
|
|||
"file_bug534178.html", // Session history transaction clean-up.
|
||||
"file_fragment_handling_during_load.html",
|
||||
"file_nested_frames.html",
|
||||
"file_shiftReload_and_pushState.html"
|
||||
"file_shiftReload_and_pushState.html",
|
||||
"file_scrollRestoration.html"
|
||||
];
|
||||
var testCount = 0; // Used by the test files.
|
||||
|
||||
|
|
|
@ -2016,6 +2016,11 @@ KeyframeEffectReadOnly::ShouldBlockCompositorAnimations(const nsIFrame*
|
|||
bool shouldLog = nsLayoutUtils::IsAnimationLoggingEnabled();
|
||||
|
||||
for (const AnimationProperty& property : mProperties) {
|
||||
// If a property is overridden in the CSS cascade, it should not block other
|
||||
// animations from running on the compositor.
|
||||
if (!property.mWinsInCascade) {
|
||||
continue;
|
||||
}
|
||||
// Check for geometric properties
|
||||
if (IsGeometricProperty(property.mProperty)) {
|
||||
if (shouldLog) {
|
||||
|
|
|
@ -20,6 +20,10 @@
|
|||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
@keyframes rotate_and_opacity {
|
||||
from { transform: rotate(0deg); opacity: 1;}
|
||||
to { transform: rotate(360deg); opacity: 0;}
|
||||
}
|
||||
div {
|
||||
/* Element needs geometry to be eligible for layerization */
|
||||
width: 100px;
|
||||
|
@ -265,5 +269,22 @@ promise_test(function(t) {
|
|||
}));
|
||||
}, 'isRunningOnCompositor for transitions');
|
||||
|
||||
promise_test(function(t) {
|
||||
var div = addDiv(t, { style: 'animation: rotate_and_opacity 100s; ' +
|
||||
'backface-visibility: hidden; ' +
|
||||
'transform: none !important;' });
|
||||
var animation = div.getAnimations()[0];
|
||||
|
||||
return animation.ready.then(t.step_func(function() {
|
||||
assert_equals(animation.isRunningOnCompositor, omtaEnabled,
|
||||
'If an animation has a property that can run on the compositor and a '
|
||||
+ 'property that cannot (due to Gecko limitations) but where the latter'
|
||||
+ 'property is overridden in the CSS cascade, the animation should '
|
||||
+ 'still report that it is running on the compositor');
|
||||
}));
|
||||
}, 'isRunningOnCompositor is true when a property that would otherwise block ' +
|
||||
'running on the compositor is overridden in the CSS cascade');
|
||||
|
||||
</script>
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include "nsHistory.h"
|
||||
|
||||
#include "jsapi.h"
|
||||
#include "mozilla/dom/HistoryBinding.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsPIDOMWindow.h"
|
||||
#include "nsIDocument.h"
|
||||
|
@ -96,6 +95,38 @@ nsHistory::GetLength(ErrorResult& aRv) const
|
|||
return len >= 0 ? len : 0;
|
||||
}
|
||||
|
||||
ScrollRestoration
|
||||
nsHistory::GetScrollRestoration(mozilla::ErrorResult& aRv)
|
||||
{
|
||||
nsCOMPtr<nsPIDOMWindow> win(do_QueryReferent(mInnerWindow));
|
||||
if (!win || !win->HasActiveDocument() || !win->GetDocShell()) {
|
||||
aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
|
||||
return mozilla::dom::ScrollRestoration::Auto;
|
||||
}
|
||||
|
||||
bool currentScrollRestorationIsManual = false;
|
||||
win->GetDocShell()->
|
||||
GetCurrentScrollRestorationIsManual(¤tScrollRestorationIsManual);
|
||||
return currentScrollRestorationIsManual ?
|
||||
mozilla::dom::ScrollRestoration::Manual :
|
||||
mozilla::dom::ScrollRestoration::Auto;
|
||||
}
|
||||
|
||||
void
|
||||
nsHistory::SetScrollRestoration(mozilla::dom::ScrollRestoration aMode,
|
||||
mozilla::ErrorResult& aRv)
|
||||
{
|
||||
nsCOMPtr<nsPIDOMWindow> win(do_QueryReferent(mInnerWindow));
|
||||
if (!win || !win->HasActiveDocument() || !win->GetDocShell()) {
|
||||
aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
|
||||
return;
|
||||
}
|
||||
|
||||
win->GetDocShell()->
|
||||
SetCurrentScrollRestorationIsManual(
|
||||
aMode == mozilla::dom::ScrollRestoration::Manual);
|
||||
}
|
||||
|
||||
void
|
||||
nsHistory::GetState(JSContext* aCx, JS::MutableHandle<JS::Value> aResult,
|
||||
ErrorResult& aRv) const
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/ErrorResult.h"
|
||||
#include "mozilla/dom/HistoryBinding.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsIDOMHistory.h"
|
||||
|
@ -36,6 +37,9 @@ public:
|
|||
virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
uint32_t GetLength(mozilla::ErrorResult& aRv) const;
|
||||
mozilla::dom::ScrollRestoration GetScrollRestoration(mozilla::ErrorResult& aRv);
|
||||
void SetScrollRestoration(mozilla::dom::ScrollRestoration aMode,
|
||||
mozilla::ErrorResult& aRv);
|
||||
void GetState(JSContext* aCx, JS::MutableHandle<JS::Value> aResult,
|
||||
mozilla::ErrorResult& aRv) const;
|
||||
void Go(int32_t aDelta, mozilla::ErrorResult& aRv);
|
||||
|
|
|
@ -153,30 +153,53 @@ GonkGPSGeolocationProvider::LocationCallback(GpsLocation* location)
|
|||
#endif
|
||||
}
|
||||
|
||||
class NotifyObserversGPSTask final : public nsRunnable
|
||||
{
|
||||
public:
|
||||
explicit NotifyObserversGPSTask(const char16_t* aData)
|
||||
: mData(aData)
|
||||
{}
|
||||
NS_IMETHOD Run() override {
|
||||
RefPtr<nsIGeolocationProvider> provider =
|
||||
GonkGPSGeolocationProvider::GetSingleton();
|
||||
nsCOMPtr<nsIObserverService> obsService = services::GetObserverService();
|
||||
obsService->NotifyObservers(provider, "geolocation-device-events", mData);
|
||||
return NS_OK;
|
||||
}
|
||||
private:
|
||||
const char16_t* mData;
|
||||
};
|
||||
|
||||
|
||||
|
||||
void
|
||||
GonkGPSGeolocationProvider::StatusCallback(GpsStatus* status)
|
||||
{
|
||||
if (gDebug_isLoggingEnabled) {
|
||||
switch (status->status) {
|
||||
case GPS_STATUS_NONE:
|
||||
nsContentUtils::LogMessageToConsole("geo: GPS_STATUS_NONE\n");
|
||||
break;
|
||||
case GPS_STATUS_SESSION_BEGIN:
|
||||
nsContentUtils::LogMessageToConsole("geo: GPS_STATUS_SESSION_BEGIN\n");
|
||||
break;
|
||||
case GPS_STATUS_SESSION_END:
|
||||
nsContentUtils::LogMessageToConsole("geo: GPS_STATUS_SESSION_END\n");
|
||||
break;
|
||||
case GPS_STATUS_ENGINE_ON:
|
||||
nsContentUtils::LogMessageToConsole("geo: GPS_STATUS_ENGINE_ON\n");
|
||||
break;
|
||||
case GPS_STATUS_ENGINE_OFF:
|
||||
nsContentUtils::LogMessageToConsole("geo: GPS_STATUS_ENGINE_OFF\n");
|
||||
break;
|
||||
default:
|
||||
nsContentUtils::LogMessageToConsole("geo: Unknown GPS status\n");
|
||||
break;
|
||||
}
|
||||
const char* msgStream=0;
|
||||
switch (status->status) {
|
||||
case GPS_STATUS_NONE:
|
||||
msgStream = "geo: GPS_STATUS_NONE\n";
|
||||
break;
|
||||
case GPS_STATUS_SESSION_BEGIN:
|
||||
msgStream = "geo: GPS_STATUS_SESSION_BEGIN\n";
|
||||
break;
|
||||
case GPS_STATUS_SESSION_END:
|
||||
msgStream = "geo: GPS_STATUS_SESSION_END\n";
|
||||
break;
|
||||
case GPS_STATUS_ENGINE_ON:
|
||||
msgStream = "geo: GPS_STATUS_ENGINE_ON\n";
|
||||
NS_DispatchToMainThread(new NotifyObserversGPSTask( MOZ_UTF16("GPSStarting")));
|
||||
break;
|
||||
case GPS_STATUS_ENGINE_OFF:
|
||||
msgStream = "geo: GPS_STATUS_ENGINE_OFF\n";
|
||||
NS_DispatchToMainThread(new NotifyObserversGPSTask( MOZ_UTF16("GPSShutdown")));
|
||||
break;
|
||||
default:
|
||||
msgStream = "geo: Unknown GPS status\n";
|
||||
break;
|
||||
}
|
||||
if (gDebug_isLoggingEnabled){
|
||||
nsContentUtils::LogMessageToConsole(msgStream);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,10 +11,14 @@
|
|||
* and create derivative works of this document.
|
||||
*/
|
||||
|
||||
enum ScrollRestoration { "auto", "manual" };
|
||||
|
||||
interface History {
|
||||
[Throws]
|
||||
readonly attribute unsigned long length;
|
||||
[Throws]
|
||||
attribute ScrollRestoration scrollRestoration;
|
||||
[Throws]
|
||||
readonly attribute any state;
|
||||
[Throws, UnsafeInPrerendering]
|
||||
void go(optional long delta = 0);
|
||||
|
|
|
@ -21,7 +21,7 @@ This introduced shadow layers and edit lists and was originally done for e10s v1
|
|||
|
||||
- 3d transforms (September 2011 - Bug 505115)
|
||||
|
||||
- OMTC (December 2012 - Bug 711168)
|
||||
- OMTC (December 2011 - Bug 711168)
|
||||
This was prototyped on OS X but shipped first for Fennec
|
||||
|
||||
- Tiling v1 (April 2012 - Bug 739679)
|
||||
|
@ -34,7 +34,12 @@ painting.
|
|||
- C++ Async pan zoom controller (July 2012 - Bug 750974)
|
||||
The existing APZ code was in Java for Fennec so this was reimplemented.
|
||||
|
||||
- Streaming WebGL Buffers (February 2013 - Bug 716859)
|
||||
Infrastructure to allow OMTC WebGL and avoid the need to glFinish() every
|
||||
frame.
|
||||
|
||||
- Compositor API (April 2013 - Bug 825928)
|
||||
The planing for this started around November 2012.
|
||||
Layers refactoring created a compositor API that abstracted away the differences between the
|
||||
D3D vs OpenGL. The main piece of API is DrawQuad.
|
||||
|
||||
|
@ -48,3 +53,8 @@ of the sync messages to the compositor.
|
|||
|
||||
The slow performance of allocating was directly addressed by bug 959089 which allowed us
|
||||
to allocate gralloc buffers without sync messages to the compositor thread.
|
||||
|
||||
- B2G WebGL performance (May 2014 - Bug 1006957, 1001417, 1024144)
|
||||
This work improved the synchronization mechanism between the compositor
|
||||
and the producer.
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "GeckoProfiler.h"
|
||||
#include "FrameUniformityData.h"
|
||||
#include "TreeTraversal.h"
|
||||
#include "VsyncSource.h"
|
||||
|
||||
struct nsCSSValueSharedList;
|
||||
|
||||
|
@ -1378,7 +1379,6 @@ AsyncCompositionManager::TransformShadowTree(TimeStamp aCurrentFrame,
|
|||
// code also includes Fennec which is rendered async. Fennec uses
|
||||
// its own platform-specific async rendering that is done partially
|
||||
// in Gecko and partially in Java.
|
||||
wantNextFrame |= SampleAPZAnimations(LayerMetricsWrapper(root), aCurrentFrame);
|
||||
bool foundRoot = false;
|
||||
Maybe<ParentLayerIntRect> clipDeferredFromChildren;
|
||||
if (ApplyAsyncContentTransformToTree(root, &foundRoot, clipDeferredFromChildren)) {
|
||||
|
@ -1402,6 +1402,15 @@ AsyncCompositionManager::TransformShadowTree(TimeStamp aCurrentFrame,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Advance APZ animations to the next expected vsync timestamp, if we can
|
||||
// get it.
|
||||
TimeStamp nextFrame = aCurrentFrame;
|
||||
TimeDuration vsyncrate = gfxPlatform::GetPlatform()->GetHardwareVsync()->GetGlobalDisplay().GetVsyncRate();
|
||||
if (vsyncrate != TimeDuration::Forever()) {
|
||||
nextFrame += vsyncrate;
|
||||
}
|
||||
wantNextFrame |= SampleAPZAnimations(LayerMetricsWrapper(root), nextFrame);
|
||||
}
|
||||
|
||||
LayerComposite* rootComposite = root->AsLayerComposite();
|
||||
|
|
|
@ -129,6 +129,7 @@ bool LaunchApp(const std::vector<std::string>& argv,
|
|||
break;
|
||||
case PROCESS_ARCH_PPC:
|
||||
cpu_types[0] = CPU_TYPE_POWERPC;
|
||||
break;
|
||||
default:
|
||||
cpu_types[0] = CPU_TYPE_ANY;
|
||||
break;
|
||||
|
|
|
@ -1330,6 +1330,8 @@ if test "$GNU_CXX"; then
|
|||
_WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wsign-compare"
|
||||
_WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wtype-limits"
|
||||
|
||||
MOZ_CXX_SUPPORTS_WARNING(-W, class-varargs, ac_cxx_has_wclass_varargs)
|
||||
|
||||
# Treat some warnings as errors if --enable-warnings-as-errors:
|
||||
if test "$MOZ_ENABLE_WARNINGS_AS_ERRORS"; then
|
||||
_WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Werror=char-subscripts"
|
||||
|
|
|
@ -1036,7 +1036,7 @@ BacktrackingAllocator::tryMergeReusedRegister(VirtualRegister& def, VirtualRegis
|
|||
MOZ_ASSERT(!inputRange->hasUses());
|
||||
|
||||
JitSpew(JitSpew_RegAlloc, " splitting reused input at %u to try to help grouping",
|
||||
inputOf(def.ins()));
|
||||
inputOf(def.ins()).bits());
|
||||
|
||||
LiveBundle* firstBundle = inputRange->bundle();
|
||||
input.removeRange(inputRange);
|
||||
|
|
|
@ -165,7 +165,7 @@ SafepointWriter::writeGcSlots(LSafepoint* safepoint)
|
|||
|
||||
#ifdef JS_JITSPEW
|
||||
for (uint32_t i = 0; i < slots.length(); i++)
|
||||
JitSpew(JitSpew_Safepoints, " gc slot: %d", slots[i]);
|
||||
JitSpew(JitSpew_Safepoints, " gc slot: %u", slots[i].slot);
|
||||
#endif
|
||||
|
||||
MapSlotsToBitset(frameSlots_, argumentSlots_, stream_, slots);
|
||||
|
@ -195,7 +195,7 @@ SafepointWriter::writeValueSlots(LSafepoint* safepoint)
|
|||
|
||||
#ifdef JS_JITSPEW
|
||||
for (uint32_t i = 0; i < slots.length(); i++)
|
||||
JitSpew(JitSpew_Safepoints, " gc value: %d", slots[i]);
|
||||
JitSpew(JitSpew_Safepoints, " gc value: %u", slots[i].slot);
|
||||
#endif
|
||||
|
||||
MapSlotsToBitset(frameSlots_, argumentSlots_, stream_, slots);
|
||||
|
|
|
@ -126,7 +126,7 @@ AccessibleCaret::SetSelectionBarEnabled(bool aEnabled)
|
|||
return;
|
||||
}
|
||||
|
||||
AC_LOG("Set selection bar %s", __FUNCTION__, aEnabled ? "Enabled" : "Disabled");
|
||||
AC_LOG("Set selection bar %s", aEnabled ? "Enabled" : "Disabled");
|
||||
|
||||
ErrorResult rv;
|
||||
CaretElement()->ClassList()->Toggle(NS_LITERAL_STRING("no-bar"),
|
||||
|
|
|
@ -2084,6 +2084,11 @@ nsDocumentViewer::Hide(void)
|
|||
|
||||
nsCOMPtr<nsIDocShell> docShell(mContainer);
|
||||
if (docShell) {
|
||||
#ifdef DEBUG
|
||||
nsCOMPtr<nsIContentViewer> currentViewer;
|
||||
docShell->GetContentViewer(getter_AddRefs(currentViewer));
|
||||
MOZ_ASSERT(currentViewer == this);
|
||||
#endif
|
||||
nsCOMPtr<nsILayoutHistoryState> layoutState;
|
||||
mPresShell->CaptureHistoryState(getter_AddRefs(layoutState));
|
||||
}
|
||||
|
|
|
@ -18,8 +18,8 @@ class nsPresState;
|
|||
template<typename> struct already_AddRefed;
|
||||
|
||||
#define NS_ILAYOUTHISTORYSTATE_IID \
|
||||
{ 0x5208993e, 0xd812, 0x431e, \
|
||||
{ 0x95, 0x9c, 0xc3, 0x84, 0x5b, 0x6e, 0x5a, 0xce } }
|
||||
{ 0xaef27cb3, 0x4df9, 0x4eeb, \
|
||||
{ 0xb0, 0xb0, 0xac, 0x56, 0xcf, 0x86, 0x1d, 0x04 } }
|
||||
|
||||
class nsILayoutHistoryState : public nsISupports {
|
||||
public:
|
||||
|
@ -53,6 +53,11 @@ class nsILayoutHistoryState : public nsISupports {
|
|||
* or all possible history
|
||||
*/
|
||||
virtual void SetScrollPositionOnly(const bool aFlag) = 0;
|
||||
|
||||
/**
|
||||
* Resets nsPresState::GetScrollState of all nsPresState objects to 0,0.
|
||||
*/
|
||||
virtual void ResetScrollState() = 0;
|
||||
};
|
||||
|
||||
NS_DEFINE_STATIC_IID_ACCESSOR(nsILayoutHistoryState,
|
||||
|
|
|
@ -170,6 +170,7 @@ PrintDisplayItemTo(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem,
|
|||
nsDisplayList* list = aItem->GetChildren();
|
||||
const DisplayItemClip& clip = aItem->GetClip();
|
||||
nsRegion opaque = aItem->GetOpaqueRegion(aBuilder, &snap);
|
||||
|
||||
#ifdef MOZ_DUMP_PAINTING
|
||||
if (aDumpHtml && aItem->Painted()) {
|
||||
nsCString string(aItem->Name());
|
||||
|
@ -178,6 +179,7 @@ PrintDisplayItemTo(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem,
|
|||
aStream << nsPrintfCString("<a href=\"javascript:ViewImage('%s')\">", string.BeginReading());
|
||||
}
|
||||
#endif
|
||||
|
||||
aStream << nsPrintfCString("%s p=0x%p f=0x%p(%s) %sbounds(%d,%d,%d,%d) layerBounds(%d,%d,%d,%d) visible(%d,%d,%d,%d) componentAlpha(%d,%d,%d,%d) clip(%s) scrollClip(%s)%s ref=0x%p agr=0x%p",
|
||||
aItem->Name(), aItem, (void*)f, NS_ConvertUTF16toUTF8(contentData).get(),
|
||||
(aItem->ZIndex() ? nsPrintfCString("z=%d ", aItem->ZIndex()).get() : ""),
|
||||
|
@ -188,7 +190,7 @@ PrintDisplayItemTo(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem,
|
|||
clip.ToString().get(),
|
||||
DisplayItemScrollClip::ToString(aItem->ScrollClip()).get(),
|
||||
aItem->IsUniform(aBuilder, &color) ? " uniform" : "",
|
||||
aItem->ReferenceFrame(), *aItem->GetAnimatedGeometryRoot());
|
||||
aItem->ReferenceFrame(), aItem->GetAnimatedGeometryRoot());
|
||||
|
||||
nsRegionRectIterator iter(opaque);
|
||||
for (const nsRect* r = iter.Next(); r; r = iter.Next()) {
|
||||
|
|
|
@ -36,7 +36,8 @@ public:
|
|||
HasStates() const override;
|
||||
virtual void
|
||||
SetScrollPositionOnly(const bool aFlag) override;
|
||||
|
||||
virtual void
|
||||
ResetScrollState() override;
|
||||
|
||||
private:
|
||||
~nsLayoutHistoryState() {}
|
||||
|
@ -94,3 +95,14 @@ nsLayoutHistoryState::SetScrollPositionOnly(const bool aFlag)
|
|||
{
|
||||
mScrollPositionOnly = aFlag;
|
||||
}
|
||||
|
||||
void
|
||||
nsLayoutHistoryState::ResetScrollState()
|
||||
{
|
||||
for (auto iter = mStates.Iter(); !iter.Done(); iter.Next()) {
|
||||
nsPresState* state = iter.UserData();
|
||||
if (state) {
|
||||
state->SetScrollState(nsPoint(0, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -423,7 +423,7 @@ nsContainerFrame::CreateViewForFrame(nsIFrame* aFrame,
|
|||
|
||||
NS_FRAME_LOG(NS_FRAME_TRACE_CALLS,
|
||||
("nsContainerFrame::CreateViewForFrame: frame=%p view=%p",
|
||||
aFrame));
|
||||
aFrame, view));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include "mozilla/AsyncEventDispatcher.h"
|
||||
#include "mozilla/Logging.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/SizePrintfMacros.h"
|
||||
#include "mozilla/Snprintf.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "nsCORSListenerProxy.h"
|
||||
|
@ -792,7 +793,7 @@ FontFaceSet::UpdateRules(const nsTArray<nsFontFaceRuleContainer>& aRules)
|
|||
mUserFontSet->mLocalRulesUsed = false;
|
||||
|
||||
if (LOG_ENABLED() && !mRuleFaces.IsEmpty()) {
|
||||
LOG(("userfonts (%p) userfont rules update (%s) rule count: %d",
|
||||
LOG(("userfonts (%p) userfont rules update (%s) rule count: %" PRIuSIZE,
|
||||
mUserFontSet.get(),
|
||||
(modified ? "modified" : "not modified"),
|
||||
mRuleFaces.Length()));
|
||||
|
|
|
@ -1813,7 +1813,7 @@ Loader::SheetComplete(SheetLoadData* aLoadData, nsresult aStatus)
|
|||
SheetLoadData* data = datasToNotify[i];
|
||||
NS_ASSERTION(data && data->mMustNotify, "How did this data get here?");
|
||||
if (data->mObserver) {
|
||||
LOG((" Notifying observer 0x%x for data 0x%x. wasAlternate: %d",
|
||||
LOG((" Notifying observer %p for data %p. wasAlternate: %d",
|
||||
data->mObserver.get(), data, data->mWasAlternate));
|
||||
data->mObserver->StyleSheetLoaded(data->mSheet, data->mWasAlternate,
|
||||
aStatus);
|
||||
|
@ -1823,7 +1823,7 @@ Loader::SheetComplete(SheetLoadData* aLoadData, nsresult aStatus)
|
|||
nsCOMPtr<nsICSSLoaderObserver> obs;
|
||||
while (iter.HasMore()) {
|
||||
obs = iter.GetNext();
|
||||
LOG((" Notifying global observer 0x%x for data 0x%s. wasAlternate: %d",
|
||||
LOG((" Notifying global observer %p for data %p. wasAlternate: %d",
|
||||
obs.get(), data, data->mWasAlternate));
|
||||
obs->StyleSheetLoaded(data->mSheet, data->mWasAlternate, aStatus);
|
||||
}
|
||||
|
|
|
@ -869,6 +869,7 @@ void TransportLayerDtls::Handshake() {
|
|||
MOZ_MTLOG(ML_ERROR, LAYER_INFO << "Malformed DTLS message; ignoring");
|
||||
// If this were TLS (and not DTLS), this would be fatal, but
|
||||
// here we're required to ignore bad messages, so fall through
|
||||
MOZ_FALLTHROUGH;
|
||||
case PR_WOULD_BLOCK_ERROR:
|
||||
MOZ_MTLOG(ML_NOTICE, LAYER_INFO << "Handshake would have blocked");
|
||||
PRIntervalTime timeout;
|
||||
|
|
|
@ -756,10 +756,14 @@ SessionStore.prototype = {
|
|||
entry.contentType = aEntry.contentType;
|
||||
}
|
||||
|
||||
let x = {}, y = {};
|
||||
aEntry.getScrollPosition(x, y);
|
||||
if (x.value != 0 || y.value != 0) {
|
||||
entry.scroll = x.value + "," + y.value;
|
||||
if (aEntry.scrollRestorationIsManual) {
|
||||
entry.scrollRestorationIsManual = true;
|
||||
} else {
|
||||
let x = {}, y = {};
|
||||
aEntry.getScrollPosition(x, y);
|
||||
if (x.value != 0 || y.value != 0) {
|
||||
entry.scroll = x.value + "," + y.value;
|
||||
}
|
||||
}
|
||||
|
||||
if (aEntry.owner) {
|
||||
|
@ -862,7 +866,9 @@ SessionStore.prototype = {
|
|||
shEntry.stateData.initFromBase64(aEntry.structuredCloneState, aEntry.structuredCloneVersion);
|
||||
}
|
||||
|
||||
if (aEntry.scroll) {
|
||||
if (aEntry.scrollRestorationIsManual) {
|
||||
shEntry.scrollRestorationIsManual = true;
|
||||
} else if (aEntry.scroll) {
|
||||
let scrollPos = aEntry.scroll.split(",");
|
||||
scrollPos = [parseInt(scrollPos[0]) || 0, parseInt(scrollPos[1]) || 0];
|
||||
shEntry.setScrollPosition(scrollPos[0], scrollPos[1]);
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "nsAutoPtr.h"
|
||||
|
||||
#include "nsWindowsDllInterceptor.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "mozilla/WindowsVersion.h"
|
||||
#include "nsWindowsHelpers.h"
|
||||
|
||||
|
@ -478,8 +479,8 @@ DllBlockSet::Write(HANDLE file)
|
|||
::LeaveCriticalSection(&sLock);
|
||||
}
|
||||
|
||||
static
|
||||
wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname)
|
||||
static UniquePtr<wchar_t[]>
|
||||
getFullPath (PWCHAR filePath, wchar_t* fname)
|
||||
{
|
||||
// In Windows 8, the first parameter seems to be used for more than just the
|
||||
// path name. For example, its numerical value can be 1. Passing a non-valid
|
||||
|
@ -494,14 +495,14 @@ wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
wchar_t* full_fname = new wchar_t[pathlen+1];
|
||||
auto full_fname = MakeUnique<wchar_t[]>(pathlen+1);
|
||||
if (!full_fname) {
|
||||
// couldn't allocate memory?
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// now actually grab it
|
||||
SearchPathW(sanitizedFilePath, fname, L".dll", pathlen + 1, full_fname,
|
||||
SearchPathW(sanitizedFilePath, fname, L".dll", pathlen + 1, full_fname.get(),
|
||||
nullptr);
|
||||
return full_fname;
|
||||
}
|
||||
|
@ -529,7 +530,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
|||
|
||||
int len = moduleFileName->Length / 2;
|
||||
wchar_t *fname = moduleFileName->Buffer;
|
||||
nsAutoArrayPtr<wchar_t> full_fname;
|
||||
UniquePtr<wchar_t[]> full_fname;
|
||||
|
||||
// The filename isn't guaranteed to be null terminated, but in practice
|
||||
// it always will be; ensure that this is so, and bail if not.
|
||||
|
@ -652,23 +653,23 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
|
|||
}
|
||||
|
||||
if (info->flags & DllBlockInfo::USE_TIMESTAMP) {
|
||||
fVersion = GetTimestamp(full_fname);
|
||||
fVersion = GetTimestamp(full_fname.get());
|
||||
if (fVersion > info->maxVersion) {
|
||||
load_ok = true;
|
||||
}
|
||||
} else {
|
||||
DWORD zero;
|
||||
DWORD infoSize = GetFileVersionInfoSizeW(full_fname, &zero);
|
||||
DWORD infoSize = GetFileVersionInfoSizeW(full_fname.get(), &zero);
|
||||
|
||||
// If we failed to get the version information, we block.
|
||||
|
||||
if (infoSize != 0) {
|
||||
nsAutoArrayPtr<unsigned char> infoData(new unsigned char[infoSize]);
|
||||
auto infoData = MakeUnique<unsigned char[]>(infoSize);
|
||||
VS_FIXEDFILEINFO *vInfo;
|
||||
UINT vInfoLen;
|
||||
|
||||
if (GetFileVersionInfoW(full_fname, 0, infoSize, infoData) &&
|
||||
VerQueryValueW(infoData, L"\\", (LPVOID*) &vInfo, &vInfoLen))
|
||||
if (GetFileVersionInfoW(full_fname.get(), 0, infoSize, infoData.get()) &&
|
||||
VerQueryValueW(infoData.get(), L"\\", (LPVOID*) &vInfo, &vInfoLen))
|
||||
{
|
||||
fVersion =
|
||||
((unsigned long long)vInfo->dwFileVersionMS) << 32 |
|
||||
|
@ -704,7 +705,7 @@ continue_loading:
|
|||
return STATUS_DLL_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (IsVistaOrLater() && !CheckASLR(full_fname)) {
|
||||
if (IsVistaOrLater() && !CheckASLR(full_fname.get())) {
|
||||
printf_stderr("LdrLoadDll: Blocking load of '%s'. XPCOM components must support ASLR.\n", dllName);
|
||||
return STATUS_DLL_NOT_FOUND;
|
||||
}
|
||||
|
|
|
@ -21,46 +21,27 @@ using mozilla::dom::ContentParent;
|
|||
using mozilla::LogLevel;
|
||||
using mozilla::Unused;
|
||||
|
||||
#define kAPP NS_LITERAL_CSTRING("app")
|
||||
#define kGRE NS_LITERAL_CSTRING("gre")
|
||||
#define kAPP "app"
|
||||
#define kGRE "gre"
|
||||
|
||||
nsresult
|
||||
nsResProtocolHandler::Init()
|
||||
{
|
||||
nsresult rv;
|
||||
nsAutoCString appURI, greURI;
|
||||
rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::APP, appURI);
|
||||
rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::APP, mAppURI);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::GRE, greURI);
|
||||
rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::GRE, mGREURI);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
//
|
||||
// make resource:/// point to the application directory or omnijar
|
||||
//
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
rv = NS_NewURI(getter_AddRefs(uri), appURI.Length() ? appURI : greURI);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = SetSubstitution(EmptyCString(), uri);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
//
|
||||
// make resource://app/ point to the application directory or omnijar
|
||||
//
|
||||
rv = SetSubstitution(kAPP, uri);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
//
|
||||
// make resource://gre/ point to the GRE directory
|
||||
//
|
||||
if (appURI.Length()) { // We already have greURI in uri if appURI.Length() is 0.
|
||||
rv = NS_NewURI(getter_AddRefs(uri), greURI);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
// mozilla::Omnijar::GetURIString always returns a string ending with /,
|
||||
// and we want to remove it.
|
||||
mGREURI.Truncate(mGREURI.Length() - 1);
|
||||
if (mAppURI.Length()) {
|
||||
mAppURI.Truncate(mAppURI.Length() - 1);
|
||||
} else {
|
||||
mAppURI = mGREURI;
|
||||
}
|
||||
|
||||
rv = SetSubstitution(kGRE, uri);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
//XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
|
||||
// but once I finish multiple chrome registration I'm not sure that it is needed
|
||||
|
||||
|
@ -83,20 +64,36 @@ NS_IMPL_RELEASE_INHERITED(nsResProtocolHandler, SubstitutingProtocolHandler)
|
|||
nsresult
|
||||
nsResProtocolHandler::GetSubstitutionInternal(const nsACString& root, nsIURI **result)
|
||||
{
|
||||
// try invoking the directory service for "resource:root"
|
||||
nsAutoCString uri;
|
||||
|
||||
nsAutoCString key;
|
||||
key.AssignLiteral("resource:");
|
||||
key.Append(root);
|
||||
|
||||
nsCOMPtr<nsIFile> file;
|
||||
nsresult rv = NS_GetSpecialDirectory(key.get(), getter_AddRefs(file));
|
||||
if (NS_FAILED(rv))
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
rv = IOService()->NewFileURI(file, result);
|
||||
if (NS_FAILED(rv))
|
||||
if (!ResolveSpecialCases(root, NS_LITERAL_CSTRING("/"), uri)) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
return NS_NewURI(result, uri);
|
||||
}
|
||||
|
||||
bool
|
||||
nsResProtocolHandler::ResolveSpecialCases(const nsACString& aHost,
|
||||
const nsACString& aPath,
|
||||
nsACString& aResult)
|
||||
{
|
||||
if (aHost.Equals("") || aHost.Equals(kAPP)) {
|
||||
aResult.Assign(mAppURI);
|
||||
} else if (aHost.Equals(kGRE)) {
|
||||
aResult.Assign(mGREURI);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
aResult.Append(aPath);
|
||||
return true;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsResProtocolHandler::SetSubstitution(const nsACString& aRoot, nsIURI* aBaseURI)
|
||||
{
|
||||
MOZ_ASSERT(!aRoot.Equals(""));
|
||||
MOZ_ASSERT(!aRoot.Equals(kAPP));
|
||||
MOZ_ASSERT(!aRoot.Equals(kGRE));
|
||||
return SubstitutingProtocolHandler::SetSubstitution(aRoot, aBaseURI);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ public:
|
|||
NS_DECL_NSIRESPROTOCOLHANDLER
|
||||
|
||||
NS_FORWARD_NSIPROTOCOLHANDLER(mozilla::SubstitutingProtocolHandler::)
|
||||
NS_FORWARD_NSISUBSTITUTINGPROTOCOLHANDLER(mozilla::SubstitutingProtocolHandler::)
|
||||
|
||||
nsResProtocolHandler()
|
||||
: SubstitutingProtocolHandler("resource", URI_STD | URI_IS_UI_RESOURCE | URI_IS_LOCAL_RESOURCE,
|
||||
|
@ -32,9 +31,33 @@ public:
|
|||
|
||||
nsresult Init();
|
||||
|
||||
NS_IMETHOD SetSubstitution(const nsACString& aRoot, nsIURI* aBaseURI) override;
|
||||
|
||||
NS_IMETHOD GetSubstitution(const nsACString& aRoot, nsIURI** aResult) override
|
||||
{
|
||||
return mozilla::SubstitutingProtocolHandler::GetSubstitution(aRoot, aResult);
|
||||
}
|
||||
|
||||
NS_IMETHOD HasSubstitution(const nsACString& aRoot, bool* aResult) override
|
||||
{
|
||||
return mozilla::SubstitutingProtocolHandler::HasSubstitution(aRoot, aResult);
|
||||
}
|
||||
|
||||
NS_IMETHOD ResolveURI(nsIURI *aResURI, nsACString& aResult) override
|
||||
{
|
||||
return mozilla::SubstitutingProtocolHandler::ResolveURI(aResURI, aResult);
|
||||
}
|
||||
|
||||
protected:
|
||||
nsresult GetSubstitutionInternal(const nsACString& aRoot, nsIURI** aResult) override;
|
||||
virtual ~nsResProtocolHandler() {}
|
||||
|
||||
bool ResolveSpecialCases(const nsACString& aHost, const nsACString& aPath,
|
||||
nsACString& aResult) override;
|
||||
|
||||
private:
|
||||
nsCString mAppURI;
|
||||
nsCString mGREURI;
|
||||
};
|
||||
|
||||
#endif /* nsResProtocolHandler_h___ */
|
||||
|
|
|
@ -113,7 +113,7 @@ static const char kEquifax_Secure_eBusiness_CA_1Fingerprint[] =
|
|||
|
||||
/* FacebookBackup */
|
||||
static const char kFacebookBackupFingerprint[] =
|
||||
"1ww8E0AYsR2oX5lndk2hwp2Uosk=";
|
||||
"q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ=";
|
||||
|
||||
/* GOOGLE_PIN_DigiCertECCSecureServerCA */
|
||||
static const char kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint[] =
|
||||
|
@ -213,7 +213,7 @@ static const char kGo_Daddy_Root_Certificate_Authority___G2Fingerprint[] =
|
|||
|
||||
/* GoogleBackup2048 */
|
||||
static const char kGoogleBackup2048Fingerprint[] =
|
||||
"vq7OyjSnqOco9nyMCDGdy77eijM=";
|
||||
"IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=";
|
||||
|
||||
/* Network Solutions Certificate Authority */
|
||||
static const char kNetwork_Solutions_Certificate_AuthorityFingerprint[] =
|
||||
|
@ -221,11 +221,11 @@ static const char kNetwork_Solutions_Certificate_AuthorityFingerprint[] =
|
|||
|
||||
/* SpiderOak2 */
|
||||
static const char kSpiderOak2Fingerprint[] =
|
||||
"D0fS/hquA6QprluciyO1hlFUAxg=";
|
||||
"7Y3UnxbffL8aFPXsOJBpGasgpDmngpIhAxGKdQRklQQ=";
|
||||
|
||||
/* SpiderOak3 */
|
||||
static const char kSpiderOak3Fingerprint[] =
|
||||
"l5JoIXv4lztZ+C6TJWgxZCHQzS4=";
|
||||
"LkER54vOdlygpTsbYvlpMq1CE/lDAG1AP9xmdtwvV2A=";
|
||||
|
||||
/* Starfield Class 2 CA */
|
||||
static const char kStarfield_Class_2_CAFingerprint[] =
|
||||
|
@ -257,19 +257,19 @@ static const char kTestSPKIFingerprint[] =
|
|||
|
||||
/* Tor1 */
|
||||
static const char kTor1Fingerprint[] =
|
||||
"juNxSTv9UANmpC9kF5GKpmWNx3Y=";
|
||||
"bYz9JTDk89X3qu3fgswG+lBQso5vI0N1f0Rx4go4nLo=";
|
||||
|
||||
/* Tor2 */
|
||||
static const char kTor2Fingerprint[] =
|
||||
"lia43lPolzSPVIq34Dw57uYcLD8=";
|
||||
"xXCxhTdn7uxXneJSbQCqoAvuW3ZtQl2pDVTf2sewS8w=";
|
||||
|
||||
/* Tor3 */
|
||||
static const char kTor3Fingerprint[] =
|
||||
"rzEyQIKOh77j87n5bjWUNguXF8Y=";
|
||||
"CleC1qwUR8JPgH1nXvSe2VHxDe5/KfNs96EusbfSOfo=";
|
||||
|
||||
/* Twitter1 */
|
||||
static const char kTwitter1Fingerprint[] =
|
||||
"Vv7zwhR9TtOIN/29MFI4cgHld40=";
|
||||
"vU9M48LzD/CF34wE5PPf4nBwRyosy06X21J0ap8yS5s=";
|
||||
|
||||
/* UTN USERFirst Email Root CA */
|
||||
static const char kUTN_USERFirst_Email_Root_CAFingerprint[] =
|
||||
|
@ -329,11 +329,11 @@ static const char kXRamp_Global_CA_RootFingerprint[] =
|
|||
|
||||
/* YahooBackup1 */
|
||||
static const char kYahooBackup1Fingerprint[] =
|
||||
"uwnZN/atr9+khywDukPzmD9kFiY=";
|
||||
"2fRAUXyxl4A1/XHrKNBmc8bTkzA7y4FB/GLJuNAzCqY=";
|
||||
|
||||
/* YahooBackup2 */
|
||||
static const char kYahooBackup2Fingerprint[] =
|
||||
"Ui85k1YWcCl0z/4IlMvrDmI5zEo=";
|
||||
"dolnbtzEBnELx/9lOEQ22e6OZO/QNb6VSSX2XHA3E7A=";
|
||||
|
||||
/* thawte Primary Root CA */
|
||||
static const char kthawte_Primary_Root_CAFingerprint[] =
|
||||
|
@ -498,16 +498,9 @@ static const StaticPinset kPinset_test = {
|
|||
&kPinset_test_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_google_sha1_Data[] = {
|
||||
kGoogleBackup2048Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_google_sha1 = {
|
||||
sizeof(kPinset_google_sha1_Data) / sizeof(const char*),
|
||||
kPinset_google_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_google_sha256_Data[] = {
|
||||
kGOOGLE_PIN_GoogleG2Fingerprint,
|
||||
kGoogleBackup2048Fingerprint,
|
||||
kGeoTrust_Global_CAFingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_google_sha256 = {
|
||||
|
@ -516,25 +509,18 @@ static const StaticFingerprints kPinset_google_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_google = {
|
||||
&kPinset_google_sha1,
|
||||
nullptr,
|
||||
&kPinset_google_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_tor_sha1_Data[] = {
|
||||
kTor1Fingerprint,
|
||||
kTor2Fingerprint,
|
||||
kTor3Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_tor_sha1 = {
|
||||
sizeof(kPinset_tor_sha1_Data) / sizeof(const char*),
|
||||
kPinset_tor_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_tor_sha256_Data[] = {
|
||||
kTor3Fingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityX1Fingerprint,
|
||||
kTor1Fingerprint,
|
||||
kGOOGLE_PIN_RapidSSLFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityX2Fingerprint,
|
||||
kTor2Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_tor_sha256 = {
|
||||
sizeof(kPinset_tor_sha256_Data) / sizeof(const char*),
|
||||
|
@ -542,18 +528,10 @@ static const StaticFingerprints kPinset_tor_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_tor = {
|
||||
&kPinset_tor_sha1,
|
||||
nullptr,
|
||||
&kPinset_tor_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_twitterCom_sha1_Data[] = {
|
||||
kTwitter1Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_twitterCom_sha1 = {
|
||||
sizeof(kPinset_twitterCom_sha1_Data) / sizeof(const char*),
|
||||
kPinset_twitterCom_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_twitterCom_sha256_Data[] = {
|
||||
kVerisign_Class_2_Public_Primary_Certification_Authority___G2Fingerprint,
|
||||
kVerisign_Class_3_Public_Primary_Certification_Authority___G2Fingerprint,
|
||||
|
@ -575,6 +553,7 @@ static const char* kPinset_twitterCom_sha256_Data[] = {
|
|||
kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
|
||||
kDigiCert_Global_Root_CAFingerprint,
|
||||
kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
|
||||
kTwitter1Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_twitterCom_sha256 = {
|
||||
sizeof(kPinset_twitterCom_sha256_Data) / sizeof(const char*),
|
||||
|
@ -582,18 +561,10 @@ static const StaticFingerprints kPinset_twitterCom_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_twitterCom = {
|
||||
&kPinset_twitterCom_sha1,
|
||||
nullptr,
|
||||
&kPinset_twitterCom_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_twitterCDN_sha1_Data[] = {
|
||||
kTwitter1Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_twitterCDN_sha1 = {
|
||||
sizeof(kPinset_twitterCDN_sha1_Data) / sizeof(const char*),
|
||||
kPinset_twitterCDN_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_twitterCDN_sha256_Data[] = {
|
||||
kVerisign_Class_2_Public_Primary_Certification_Authority___G2Fingerprint,
|
||||
kComodo_Trusted_Services_rootFingerprint,
|
||||
|
@ -635,6 +606,7 @@ static const char* kPinset_twitterCDN_sha256_Data[] = {
|
|||
kDigiCert_Global_Root_CAFingerprint,
|
||||
kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
|
||||
kComodo_AAA_Services_rootFingerprint,
|
||||
kTwitter1Fingerprint,
|
||||
kAddTrust_Qualified_Certificates_RootFingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_twitterCDN_sha256 = {
|
||||
|
@ -643,7 +615,7 @@ static const StaticFingerprints kPinset_twitterCDN_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_twitterCDN = {
|
||||
&kPinset_twitterCDN_sha1,
|
||||
nullptr,
|
||||
&kPinset_twitterCDN_sha256
|
||||
};
|
||||
|
||||
|
@ -677,18 +649,11 @@ static const StaticPinset kPinset_dropbox = {
|
|||
&kPinset_dropbox_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_facebook_sha1_Data[] = {
|
||||
kFacebookBackupFingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_facebook_sha1 = {
|
||||
sizeof(kPinset_facebook_sha1_Data) / sizeof(const char*),
|
||||
kPinset_facebook_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_facebook_sha256_Data[] = {
|
||||
kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kGOOGLE_PIN_SymantecClass3EVG3Fingerprint,
|
||||
kFacebookBackupFingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_facebook_sha256 = {
|
||||
sizeof(kPinset_facebook_sha256_Data) / sizeof(const char*),
|
||||
|
@ -696,20 +661,13 @@ static const StaticFingerprints kPinset_facebook_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_facebook = {
|
||||
&kPinset_facebook_sha1,
|
||||
nullptr,
|
||||
&kPinset_facebook_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_spideroak_sha1_Data[] = {
|
||||
static const char* kPinset_spideroak_sha256_Data[] = {
|
||||
kSpiderOak2Fingerprint,
|
||||
kSpiderOak3Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_spideroak_sha1 = {
|
||||
sizeof(kPinset_spideroak_sha1_Data) / sizeof(const char*),
|
||||
kPinset_spideroak_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_spideroak_sha256_Data[] = {
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kGeoTrust_Global_CAFingerprint,
|
||||
};
|
||||
|
@ -719,20 +677,12 @@ static const StaticFingerprints kPinset_spideroak_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_spideroak = {
|
||||
&kPinset_spideroak_sha1,
|
||||
nullptr,
|
||||
&kPinset_spideroak_sha256
|
||||
};
|
||||
|
||||
static const char* kPinset_yahoo_sha1_Data[] = {
|
||||
kYahooBackup2Fingerprint,
|
||||
kYahooBackup1Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_yahoo_sha1 = {
|
||||
sizeof(kPinset_yahoo_sha1_Data) / sizeof(const char*),
|
||||
kPinset_yahoo_sha1_Data
|
||||
};
|
||||
|
||||
static const char* kPinset_yahoo_sha256_Data[] = {
|
||||
kYahooBackup1Fingerprint,
|
||||
kVerisign_Class_2_Public_Primary_Certification_Authority___G2Fingerprint,
|
||||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
|
||||
kGeoTrust_Primary_Certification_AuthorityFingerprint,
|
||||
|
@ -740,6 +690,7 @@ static const char* kPinset_yahoo_sha256_Data[] = {
|
|||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
|
||||
kYahooBackup2Fingerprint,
|
||||
kGeoTrust_Global_CAFingerprint,
|
||||
kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
|
||||
kGeoTrust_Universal_CAFingerprint,
|
||||
|
@ -753,7 +704,7 @@ static const StaticFingerprints kPinset_yahoo_sha256 = {
|
|||
};
|
||||
|
||||
static const StaticPinset kPinset_yahoo = {
|
||||
&kPinset_yahoo_sha1,
|
||||
nullptr,
|
||||
&kPinset_yahoo_sha256
|
||||
};
|
||||
|
||||
|
@ -764,7 +715,7 @@ struct TransportSecurityPreload {
|
|||
const bool mTestMode;
|
||||
const bool mIsMoz;
|
||||
const int32_t mId;
|
||||
const StaticPinset *pinset;
|
||||
const StaticPinset* pinset;
|
||||
};
|
||||
|
||||
/* Sort hostnames for binary search. */
|
||||
|
@ -1225,4 +1176,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1458993517672000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1459598124230000);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
300651.ru: did not receive HSTS header
|
||||
302.nyc: could not connect to host
|
||||
3chit.cf: could not connect to host
|
||||
4sqsu.eu: could not connect to host
|
||||
56ct.com: did not receive HSTS header
|
||||
activiti.alfresco.com: did not receive HSTS header
|
||||
ad-notam.com: did not receive HSTS header
|
||||
|
@ -10,11 +11,13 @@ ad-notam.de: did not receive HSTS header
|
|||
ad-notam.fr: did not receive HSTS header
|
||||
ad-notam.it: did not receive HSTS header
|
||||
ad-notam.us: did not receive HSTS header
|
||||
ada.is: max-age too low: 7776000
|
||||
ada.is: max-age too low: 2592000
|
||||
adamkostecki.de: could not connect to host
|
||||
adamstas.com: could not connect to host
|
||||
adhs-chaoten.net: did not receive HSTS header
|
||||
admin.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
adsfund.org: could not connect to host
|
||||
adviespuntklokkenluiders.nl: did not receive HSTS header
|
||||
aes256.ru: could not connect to host
|
||||
aevpn.net: did not receive HSTS header
|
||||
aeyoun.com: did not receive HSTS header
|
||||
|
@ -34,7 +37,7 @@ altmv.com: max-age too low: 7776000
|
|||
amigogeek.net: did not receive HSTS header
|
||||
andreasbreitenlohner.de: did not receive HSTS header
|
||||
andreasolsson.se: could not connect to host
|
||||
anime.my: could not connect to host
|
||||
animurecs.com: could not connect to host
|
||||
ankakaak.com: could not connect to host
|
||||
anycoin.me: could not connect to host
|
||||
apachelounge.com: did not receive HSTS header
|
||||
|
@ -65,7 +68,7 @@ auto4trade.nl: could not connect to host
|
|||
av.de: did not receive HSTS header
|
||||
axado.com.br: max-age too low: 0
|
||||
az.search.yahoo.com: did not receive HSTS header
|
||||
azabani.com: did not receive HSTS header
|
||||
azabani.com: could not connect to host
|
||||
azprep.us: could not connect to host
|
||||
bagelsbakery.com: could not connect to host
|
||||
balcan-underground.net: could not connect to host
|
||||
|
@ -102,10 +105,8 @@ bowlroll.net: max-age too low: 0
|
|||
br.search.yahoo.com: max-age too low: 172800
|
||||
braintreepayments.com: did not receive HSTS header
|
||||
brainvation.de: did not receive HSTS header
|
||||
brakstad.org: did not receive HSTS header
|
||||
bran.cc: could not connect to host
|
||||
branchtrack.com: did not receive HSTS header
|
||||
breeswish.org: could not connect to host
|
||||
brks.xyz: could not connect to host
|
||||
browserid.org: did not receive HSTS header
|
||||
brrr.fr: could not connect to host
|
||||
|
@ -149,6 +150,7 @@ chrome.google.com: did not receive HSTS header (error ignored - included regardl
|
|||
chroniclesofgeorge.com: did not receive HSTS header
|
||||
citiagent.cz: did not receive HSTS header
|
||||
cl.search.yahoo.com: max-age too low: 172800
|
||||
classicspublishing.com: could not connect to host
|
||||
climaprecio.es: did not receive HSTS header
|
||||
cloudcert.org: did not receive HSTS header
|
||||
cloudflare.com: did not receive HSTS header
|
||||
|
@ -171,23 +173,24 @@ console.python.org: did not receive HSTS header
|
|||
cordial-restaurant.com: did not receive HSTS header
|
||||
core.mx: could not connect to host
|
||||
coursella.com: did not receive HSTS header
|
||||
cqchome.com: could not connect to host
|
||||
cr.search.yahoo.com: did not receive HSTS header
|
||||
crate.io: did not receive HSTS header
|
||||
crbug.com: did not receive HSTS header
|
||||
crowdcurity.com: did not receive HSTS header
|
||||
crowdjuris.com: could not connect to host
|
||||
crypto.is: max-age too low: 7776000
|
||||
cryptobells.com: could not connect to host
|
||||
crysadm.com: max-age too low: 1
|
||||
csawctf.poly.edu: could not connect to host
|
||||
csgokings.eu: could not connect to host
|
||||
ct.search.yahoo.com: did not receive HSTS header
|
||||
cujanovic.com: did not receive HSTS header
|
||||
culinae.nl: did not receive HSTS header
|
||||
cyanogenmod.xxx: could not connect to host
|
||||
cybershambles.com: could not connect to host
|
||||
cydia-search.io: could not connect to host
|
||||
cyphertite.com: could not connect to host
|
||||
daniel-steuer.de: did not receive HSTS header
|
||||
dark-x.cf: could not connect to host
|
||||
darlo.co.uk: could not connect to host
|
||||
data-abundance.com: could not connect to host
|
||||
datenkeks.de: did not receive HSTS header
|
||||
|
@ -196,12 +199,10 @@ datsound.ru: did not receive HSTS header
|
|||
daylightcompany.com: did not receive HSTS header
|
||||
de.search.yahoo.com: max-age too low: 172800
|
||||
debtkit.co.uk: did not receive HSTS header
|
||||
decafu.co: could not connect to host
|
||||
decibelios.li: did not receive HSTS header
|
||||
deliciisanatoase.ro: did not receive HSTS header
|
||||
demo.swedbank.se: could not connect to host
|
||||
demuzere.com: could not connect to host
|
||||
demuzere.eu: could not connect to host
|
||||
demuzere.net: could not connect to host
|
||||
depixion.agency: did not receive HSTS header
|
||||
derevtsov.com: did not receive HSTS header
|
||||
dergeilstestammderwelt.de: did not receive HSTS header
|
||||
|
@ -282,14 +283,12 @@ fixingdns.com: did not receive HSTS header
|
|||
fj.search.yahoo.com: did not receive HSTS header
|
||||
fliexer.com: did not receive HSTS header
|
||||
floweslawncare.com: did not receive HSTS header
|
||||
flowlo.me: could not connect to host
|
||||
fm83.nl: did not receive HSTS header
|
||||
fonetiq.io: could not connect to host
|
||||
food4health.guide: could not connect to host
|
||||
footballmapped.com: could not connect to host
|
||||
foreignexchangeresource.com: did not receive HSTS header
|
||||
fotiu.com: could not connect to host
|
||||
foxdev.io: did not receive HSTS header
|
||||
fr.search.yahoo.com: max-age too low: 172800
|
||||
fr33d0m.link: did not receive HSTS header
|
||||
freifunk-luenen.de: did not receive HSTS header
|
||||
|
@ -305,8 +304,11 @@ geekandi.com: max-age too low: 7776000
|
|||
geekcast.co.uk: did not receive HSTS header
|
||||
getable.com: did not receive HSTS header
|
||||
getlantern.org: did not receive HSTS header
|
||||
getsport.mobi: did not receive HSTS header
|
||||
gfwsb.ml: could not connect to host
|
||||
ggp2.com: could not connect to host
|
||||
gigacloud.org: could not connect to host
|
||||
gilly.berlin: did not receive HSTS header
|
||||
gizzo.sk: could not connect to host
|
||||
gl.search.yahoo.com: did not receive HSTS header
|
||||
glass.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
|
@ -348,17 +350,19 @@ h2check.org: could not connect to host
|
|||
hack.li: could not connect to host
|
||||
hao2taiwan.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 134" data: no]
|
||||
happyfabric.me: did not receive HSTS header
|
||||
hardh.at: could not connect to host
|
||||
harristony.com: did not receive HSTS header
|
||||
hasilocke.de: did not receive HSTS header
|
||||
haste.ch: could not connect to host
|
||||
hatoko.net: could not connect to host
|
||||
haveeruexaminer.com: could not connect to host
|
||||
heart.ge: max-age too low: 0
|
||||
heftkaufen.de: did not receive HSTS header
|
||||
heh.ee: could not connect to host
|
||||
helpadmin.net: could not connect to host
|
||||
helpium.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 134" data: no]
|
||||
henriknoerr.com: could not connect to host
|
||||
herzbotschaft.de: max-age too low: 0
|
||||
hetmer.com: did not receive HSTS header
|
||||
hexony.com: did not receive HSTS header
|
||||
hicn.gq: could not connect to host
|
||||
hk.search.yahoo.com: max-age too low: 172800
|
||||
|
@ -378,6 +382,7 @@ hsts.date: could not connect to host
|
|||
hstspreload.appspot.com: did not receive HSTS header
|
||||
hu.search.yahoo.com: did not receive HSTS header
|
||||
iban.is: could not connect to host
|
||||
icq-project.net: could not connect to host
|
||||
id-co.in: could not connect to host
|
||||
id-conf.com: did not receive HSTS header
|
||||
id.search.yahoo.com: max-age too low: 172800
|
||||
|
@ -395,9 +400,11 @@ infogrfx.com: max-age too low: 0
|
|||
inksupply.com: did not receive HSTS header
|
||||
inleaked.com: could not connect to host
|
||||
inmyarea.com: did not receive HSTS header
|
||||
innophate-security.nl: could not connect to host
|
||||
instacart.com: did not receive HSTS header
|
||||
intercom.io: did not receive HSTS header
|
||||
interserved.com: did not receive HSTS header
|
||||
ionas-law.ro: did not receive HSTS header
|
||||
ionas-law.ro: could not connect to host
|
||||
iop.intuit.com: max-age too low: 86400
|
||||
iostips.ru: could not connect to host
|
||||
ipmimagazine.com: did not receive HSTS header
|
||||
|
@ -411,9 +418,11 @@ itshost.ru: could not connect to host
|
|||
ivk.website: could not connect to host
|
||||
izdiwho.com: could not connect to host
|
||||
j0s.at: did not receive HSTS header
|
||||
jackyyf.com: could not connect to host
|
||||
jamesdoylephoto.com: did not receive HSTS header
|
||||
janus-engineering.de: did not receive HSTS header
|
||||
jayblock.com: did not receive HSTS header
|
||||
jbn.mx: could not connect to host
|
||||
jetaprices.com: max-age too low: 0
|
||||
jhburton.co.uk: could not connect to host
|
||||
jkb.pics: could not connect to host
|
||||
|
@ -424,8 +433,8 @@ jonas-keidel.de: did not receive HSTS header
|
|||
jonathan.ir: could not connect to host
|
||||
jonathandowning.uk: [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 134" data: no]
|
||||
jottit.com: could not connect to host
|
||||
jrvar.com: did not receive HSTS header
|
||||
julian-kipka.de: did not receive HSTS header
|
||||
juniwalk.cz: could not connect to host
|
||||
justlikethat.hosting: did not receive HSTS header
|
||||
jwilsson.me: could not connect to host
|
||||
k-dev.de: could not connect to host
|
||||
|
@ -443,16 +452,15 @@ kingmanhall.org: could not connect to host
|
|||
kinnon.enterprises: did not receive HSTS header
|
||||
kirkforcongress.com: could not connect to host
|
||||
kirkforsenate.com: did not receive HSTS header
|
||||
kirkpatrickdavis.com: did not receive HSTS header
|
||||
kirkpatrickdavis.com: max-age too low: 3153600
|
||||
kitsta.com: could not connect to host
|
||||
kiwiirc.com: max-age too low: 5256000
|
||||
klaxn.com: could not connect to host
|
||||
klaxn.org: could not connect to host
|
||||
klingeletest.de: could not connect to host
|
||||
komandakovalchuk.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 134" data: no]
|
||||
koop-bremen.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 134" data: no]
|
||||
koordinate.net: did not receive HSTS header
|
||||
korni22.org: could not connect to host
|
||||
korni22.org: did not receive HSTS header
|
||||
kotarac.net: did not receive HSTS header
|
||||
kpvpn.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 134" data: no]
|
||||
kr.search.yahoo.com: did not receive HSTS header
|
||||
|
@ -461,7 +469,6 @@ kryptera.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERRO
|
|||
kryx.de: did not receive HSTS header
|
||||
kweddingplanning.com: did not receive HSTS header
|
||||
kz.search.yahoo.com: did not receive HSTS header
|
||||
labaia.info: did not receive HSTS header
|
||||
labina.com.tr: did not receive HSTS header
|
||||
lachlankidson.net: did not receive HSTS header
|
||||
laf.in.net: did not receive HSTS header
|
||||
|
@ -478,7 +485,7 @@ library.linode.com: did not receive HSTS header
|
|||
libraryfreedomproject.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 134" data: no]
|
||||
lifeguard.aecom.com: max-age too low: 86400
|
||||
linguaquote.com: did not receive HSTS header
|
||||
litespeed.io: could not connect to host
|
||||
loftboard.eu: did not receive HSTS header
|
||||
login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
|
||||
lognot.net: could not connect to host
|
||||
logotype.se: did not receive HSTS header
|
||||
|
@ -491,6 +498,7 @@ luxus-russen.de: did not receive HSTS header
|
|||
lv.search.yahoo.com: did not receive HSTS header
|
||||
m.gparent.org: could not connect to host
|
||||
maderwin.com: could not connect to host
|
||||
mahamed91.pw: could not connect to host
|
||||
mail-settings.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
mail.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
makerstuff.net: did not receive HSTS header
|
||||
|
@ -502,13 +510,14 @@ markhaehnel.de: did not receive HSTS header
|
|||
markprof.ru: [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 134" data: no]
|
||||
marshut.net: could not connect to host
|
||||
martijnvhoof.nl: could not connect to host
|
||||
masa.li: did not receive HSTS header
|
||||
mb-is.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 134" data: no]
|
||||
mbdb.jp: max-age too low: 0
|
||||
mdfnet.se: did not receive HSTS header
|
||||
mebio.us: did not receive HSTS header
|
||||
medallia.io: could not connect to host
|
||||
mediacru.sh: could not connect to host
|
||||
meetings2.com: did not receive HSTS header
|
||||
meetings2.com: could not connect to host
|
||||
megaplan.cz: did not receive HSTS header
|
||||
megashur.se: did not receive HSTS header
|
||||
megaxchange.com: did not receive HSTS header
|
||||
|
@ -525,11 +534,14 @@ minnesotadata.com: could not connect to host
|
|||
mirindadomo.ru: did not receive HSTS header
|
||||
mirrorx.com: did not receive HSTS header
|
||||
mitchellrenouf.ca: could not connect to host
|
||||
mkw.st: could not connect to host
|
||||
mnemotiv.com: could not connect to host
|
||||
mobilethreat.net: could not connect to host
|
||||
mobilethreatnetwork.net: could not connect to host
|
||||
modemagazines.co.uk: did not receive HSTS header
|
||||
mondwandler.de: did not receive HSTS header
|
||||
monitman.com: could not connect to host
|
||||
monitman.solutions: could not connect to host
|
||||
moparisthebest.biz: could not connect to host
|
||||
moparisthebest.info: could not connect to host
|
||||
moriz.net: did not receive HSTS header
|
||||
|
@ -572,9 +584,10 @@ nl.search.yahoo.com: max-age too low: 172800
|
|||
nmctest.net: could not connect to host
|
||||
no.search.yahoo.com: max-age too low: 172800
|
||||
nodebrewery.com: could not connect to host
|
||||
nodetemple.com: could not connect to host
|
||||
nodetemple.com: did not receive HSTS header
|
||||
noexpect.org: could not connect to host
|
||||
nope.website: did not receive HSTS header
|
||||
notalone.gov: could not connect to host
|
||||
noworrywp.com: did not receive HSTS header
|
||||
np.search.yahoo.com: did not receive HSTS header
|
||||
nu3.co.uk: did not receive HSTS header
|
||||
|
@ -591,7 +604,7 @@ orhideous.name: could not connect to host
|
|||
ottospora.nl: could not connect to host
|
||||
ourbank.com: max-age too low: 604800
|
||||
ouvirmusica.com.br: did not receive HSTS header
|
||||
override.io: could not connect to host
|
||||
override.io: did not receive HSTS header
|
||||
ownmovies.fr: could not connect to host
|
||||
p.linode.com: could not connect to host
|
||||
p8r.de: could not connect to host
|
||||
|
@ -605,6 +618,7 @@ passwords.google.com: did not receive HSTS header (error ignored - included rega
|
|||
paste.linode.com: could not connect to host
|
||||
pastebin.linode.com: could not connect to host
|
||||
patterson.mp: could not connect to host
|
||||
pauladamsmith.com: did not receive HSTS header
|
||||
pbprint.ru: max-age too low: 0
|
||||
pe.search.yahoo.com: max-age too low: 172800
|
||||
peissen.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 134" data: no]
|
||||
|
@ -616,10 +630,9 @@ pfd-nz.com: did not receive HSTS header
|
|||
ph.search.yahoo.com: max-age too low: 172800
|
||||
phongmay24h.com: could not connect to host
|
||||
phurl.de: could not connect to host
|
||||
pic.gov: could not connect to host
|
||||
picksin.club: could not connect to host
|
||||
pinesandneedles.com: did not receive HSTS header
|
||||
piratedb.com: did not receive HSTS header
|
||||
piratedot.com: did not receive HSTS header
|
||||
piratenlogin.de: could not connect to host
|
||||
pirati.cz: max-age too low: 604800
|
||||
pisidia.de: did not receive HSTS header
|
||||
|
@ -656,28 +669,31 @@ pypa.io: could not connect to host
|
|||
qc.search.yahoo.com: max-age too low: 172800
|
||||
qingxuan.info: did not receive HSTS header
|
||||
quotehex.com: did not receive HSTS header
|
||||
qvitoo.com: did not receive HSTS header
|
||||
raiseyourflag.com: did not receive HSTS header
|
||||
rapidresearch.me: could not connect to host
|
||||
rasing.me: could not connect to host
|
||||
ravchat.com: did not receive HSTS header
|
||||
rawstorieslondon.com: could not connect to host
|
||||
raydobe.me: could not connect to host
|
||||
recommended.reviews: could not connect to host
|
||||
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 134" data: no]
|
||||
redlatam.org: did not receive HSTS header
|
||||
redports.org: could not connect to host
|
||||
regar42.fr: did not receive HSTS header
|
||||
regenerescence.com: did not receive HSTS header
|
||||
renem.net: max-age too low: 0
|
||||
reserve-online.net: did not receive HSTS header
|
||||
reviews.anime.my: max-age too low: 5184000
|
||||
rewardstock.com: max-age too low: 0
|
||||
rid-wan.com: did not receive HSTS header
|
||||
rika.me: could not connect to host
|
||||
rippleunion.com: did not receive HSTS header
|
||||
ristioja.ee: could not connect to host
|
||||
rme.li: did not receive HSTS header
|
||||
ro.search.yahoo.com: max-age too low: 172800
|
||||
roan24.pl: did not receive HSTS header
|
||||
robteix.com: could not connect to host
|
||||
roddis.net: did not receive HSTS header
|
||||
roeitijd.nl: did not receive HSTS header
|
||||
romans-place.me.uk: did not receive HSTS header
|
||||
ronvandordt.info: did not receive HSTS header
|
||||
rr.in.th: could not connect to host
|
||||
|
@ -700,7 +716,6 @@ schreiber-netzwerk.eu: did not receive HSTS header
|
|||
scooshonline.co.uk: did not receive HSTS header
|
||||
scrambl.is: could not connect to host
|
||||
scrambler.in: could not connect to host
|
||||
screenlight.tv: did not receive HSTS header
|
||||
scribe.systems: could not connect to host
|
||||
script.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
sdsl-speedtest.de: could not connect to host
|
||||
|
@ -708,18 +723,18 @@ se.search.yahoo.com: max-age too low: 172800
|
|||
search-one.de: max-age too low: 0
|
||||
secure-games.us: could not connect to host
|
||||
security.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
selectel.ru: did not receive HSTS header
|
||||
sello.com: did not receive HSTS header
|
||||
semenkovich.com: did not receive HSTS header
|
||||
seminariruum.ee: could not connect to host
|
||||
seo.consulting: could not connect to host
|
||||
seomobo.com: did not receive HSTS header
|
||||
seowarp.net: max-age too low: 1576800
|
||||
serverdensity.io: did not receive HSTS header
|
||||
servergno.me: did not receive HSTS header
|
||||
seyahatsagliksigortalari.com: could not connect to host
|
||||
sg.search.yahoo.com: max-age too low: 172800
|
||||
shamka.ru: could not connect to host
|
||||
shamka.ru: max-age too low: 0
|
||||
shanewadleigh.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 134" data: no]
|
||||
shellsec.pw: did not receive HSTS header
|
||||
shiinko.com: could not connect to host
|
||||
shoprose.ru: did not receive HSTS header
|
||||
shops.neonisi.com: could not connect to host
|
||||
|
@ -731,6 +746,7 @@ simon.butcher.name: max-age too low: 2629743
|
|||
simplelearner.com: could not connect to host
|
||||
simplyfixit.co.uk: [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 134" data: no]
|
||||
sites.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
slicketl.com: did not receive HSTS header
|
||||
slix.io: could not connect to host
|
||||
slovakiana.sk: did not receive HSTS header
|
||||
smartcoin.com.br: did not receive HSTS header
|
||||
|
@ -738,11 +754,12 @@ smartlend.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERR
|
|||
smkn1lengkong.sch.id: did not receive HSTS header
|
||||
smksi2.com: could not connect to host
|
||||
snailing.org: could not connect to host
|
||||
sneakynote.com: could not connect to host
|
||||
sneberger.cz: could not connect to host
|
||||
soccergif.com: did not receive HSTS header
|
||||
soci.ml: could not connect to host
|
||||
sockeye.cc: could not connect to host
|
||||
sol.io: could not connect to host
|
||||
soondy.com: did not receive HSTS header
|
||||
souyar.de: could not connect to host
|
||||
souyar.net: could not connect to host
|
||||
souyar.us: could not connect to host
|
||||
|
@ -757,7 +774,6 @@ stassi.ch: did not receive HSTS header
|
|||
stillyarts.com: did not receive HSTS header
|
||||
stocktrade.de: could not connect to host
|
||||
streamingmagazin.de: could not connect to host
|
||||
stricted.net: did not receive HSTS header
|
||||
strongest-privacy.com: could not connect to host
|
||||
studydrive.net: did not receive HSTS header
|
||||
subrosa.io: could not connect to host
|
||||
|
@ -783,7 +799,6 @@ tanzhijun.com: did not receive HSTS header
|
|||
tapka.cz: did not receive HSTS header
|
||||
tbarter.com: did not receive HSTS header
|
||||
tcao.info: could not connect to host
|
||||
teamnorthgermany.de: could not connect to host
|
||||
techhub.ml: could not connect to host
|
||||
techloaner.com: could not connect to host
|
||||
technotonic.com.au: did not receive HSTS header
|
||||
|
@ -801,7 +816,8 @@ thecoffeehouse.xyz: could not connect to host
|
|||
thehistory.me: did not receive HSTS header
|
||||
thepartywarehouse.co.uk: did not receive HSTS header
|
||||
therapyportal.com: did not receive HSTS header
|
||||
theyosh.nl: did not receive HSTS header
|
||||
thetomharling.com: did not receive HSTS header
|
||||
thinkindifferent.net: could not connect to host
|
||||
thorncreek.net: did not receive HSTS header
|
||||
thumbtack.com: did not receive HSTS header
|
||||
thundr.eu: could not connect to host
|
||||
|
@ -811,7 +827,7 @@ tinyvpn.net: could not connect to host
|
|||
tinyvpn.org: could not connect to host
|
||||
tirex.media: did not receive HSTS header
|
||||
titties.ml: could not connect to host
|
||||
tlo.xyz: did not receive HSTS header
|
||||
tlo.network: did not receive HSTS header
|
||||
tm-solutions.eu: [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 134" data: no]
|
||||
tollmanz.com: did not receive HSTS header
|
||||
tollsjekk.no: did not receive HSTS header
|
||||
|
@ -822,7 +838,6 @@ topodin.com: did not receive HSTS header
|
|||
topshelfguild.com: could not connect to host
|
||||
tosecure.link: could not connect to host
|
||||
totem-eshop.cz: could not connect to host
|
||||
tpbcdn.com: did not receive HSTS header
|
||||
tr.search.yahoo.com: max-age too low: 172800
|
||||
track.plus: did not receive HSTS header
|
||||
tradingcentre.com.au: did not receive HSTS header
|
||||
|
@ -832,6 +847,7 @@ trendberry.ru: did not receive HSTS header
|
|||
trinitycore.org: max-age too low: 2592000
|
||||
trybind.com: could not connect to host
|
||||
tuturulianda.com: could not connect to host
|
||||
tuzaijidi.com: could not connect to host
|
||||
tv.search.yahoo.com: could not connect to host
|
||||
tvtubeflix.com: did not receive HSTS header
|
||||
tw.search.yahoo.com: max-age too low: 172800
|
||||
|
@ -843,7 +859,6 @@ uk.search.yahoo.com: max-age too low: 172800
|
|||
ukas.com: did not receive HSTS header
|
||||
unapp.me: could not connect to host
|
||||
unbanthe.net: did not receive HSTS header
|
||||
unila.edu.br: could not connect to host
|
||||
univz.com: could not connect to host
|
||||
unun.fi: could not connect to host
|
||||
uonstaffhub.com: could not connect to host
|
||||
|
@ -855,20 +870,20 @@ uy.search.yahoo.com: did not receive HSTS header
|
|||
uz.search.yahoo.com: did not receive HSTS header
|
||||
vaddder.com: could not connect to host
|
||||
vallis.net: could not connect to host
|
||||
valmagus.com: could not connect to host
|
||||
vbhelp.org: could not connect to host
|
||||
vbulletin-russia.com: could not connect to host
|
||||
vbulletinrussia.com: could not connect to host
|
||||
vcsjones.com: did not receive HSTS header
|
||||
ve.search.yahoo.com: max-age too low: 172800
|
||||
vermontcareergateway.org: did not receive HSTS header
|
||||
vhost.co.id: could not connect to host
|
||||
viennan.net: could not connect to host
|
||||
vmrdev.com: could not connect to host
|
||||
vn.search.yahoo.com: max-age too low: 172800
|
||||
voliere-info.nl: did not receive HSTS header
|
||||
vortexhobbies.com: did not receive HSTS header
|
||||
votocek.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 134" data: no]
|
||||
votockova.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 134" data: no]
|
||||
vox.vg: could not connect to host
|
||||
vyncke.org: max-age too low: 2678400
|
||||
vzk.io: could not connect to host
|
||||
waze.com: max-age too low: 0
|
||||
|
@ -925,11 +940,12 @@ y-o-w.com: did not receive HSTS header
|
|||
yaporn.tv: max-age too low: 0
|
||||
yenniferallulli.moda: could not connect to host
|
||||
yetii.net: did not receive HSTS header
|
||||
yingyj.com: did not receive HSTS header
|
||||
yingyj.com: could not connect to host
|
||||
yokeepo.com: max-age too low: 0
|
||||
yoloprod.fr: could not connect to host
|
||||
yoloseo.com: could not connect to host
|
||||
yu.gg: did not receive HSTS header
|
||||
z0rro.net: could not connect to host
|
||||
za.search.yahoo.com: did not receive HSTS header
|
||||
zachborboa.com: did not receive HSTS header
|
||||
zarooba.com: did not receive HSTS header
|
||||
|
@ -939,6 +955,6 @@ zentraler-kreditausschuss.de: max-age too low: 0
|
|||
zh.search.yahoo.com: did not receive HSTS header
|
||||
zirtue.io: could not connect to host
|
||||
zixiao.wang: could not connect to host
|
||||
zking.ga: did not receive HSTS header
|
||||
zoo24.de: did not receive HSTS header
|
||||
zx6rninja.de: did not receive HSTS header
|
||||
zzsec.org: did not receive HSTS header
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
/*****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1461412207122000);
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1462017148534000);
|
||||
|
||||
class nsSTSPreload
|
||||
{
|
||||
|
@ -96,7 +96,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "adsfund.org", true },
|
||||
{ "advanced-online.eu", true },
|
||||
{ "advancis.net", true },
|
||||
{ "adviespuntklokkenluiders.nl", true },
|
||||
{ "aerolog.co", true },
|
||||
{ "aes256.ru", true },
|
||||
{ "affinitysync.com", true },
|
||||
|
@ -333,7 +332,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "beercandle.com", true },
|
||||
{ "beholdthehurricane.com", true },
|
||||
{ "beier.io", true },
|
||||
{ "ben-energy.com", true },
|
||||
{ "ben-energy.com", false },
|
||||
{ "benchling.com", true },
|
||||
{ "bendechrai.com", true },
|
||||
{ "beneathvt.com", true },
|
||||
|
@ -455,6 +454,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "brainster.co", false },
|
||||
{ "braintreegateway.com", true },
|
||||
{ "brakemanpro.com", true },
|
||||
{ "brakstad.org", true },
|
||||
{ "bran.cc", true },
|
||||
{ "brandbuilderwebsites.com", true },
|
||||
{ "brandon.so", true },
|
||||
|
@ -604,7 +604,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "cig-dem.com", true },
|
||||
{ "cimballa.com", true },
|
||||
{ "cio.gov", true },
|
||||
{ "cip.md", true },
|
||||
{ "cip.md", false },
|
||||
{ "cipherli.st", true },
|
||||
{ "cirope.com", true },
|
||||
{ "ciscodude.net", true },
|
||||
|
@ -755,6 +755,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "ctoforhire.com.au", true },
|
||||
{ "cube.de", true },
|
||||
{ "cubewano.com", true },
|
||||
{ "culinae.nl", false },
|
||||
{ "cupcake.io", true },
|
||||
{ "cupcake.is", true },
|
||||
{ "curiosity-driven.org", true },
|
||||
|
@ -1213,6 +1214,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "forum.linode.com", false },
|
||||
{ "forum.quantifiedself.com", false },
|
||||
{ "fotofaerie.net", true },
|
||||
{ "foxdev.io", false },
|
||||
{ "foxelbox.com", true },
|
||||
{ "fralef.me", false },
|
||||
{ "fraye.net", true },
|
||||
|
@ -1298,7 +1300,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "getnikola.com", true },
|
||||
{ "getsello.com", true },
|
||||
{ "getspire.com", true },
|
||||
{ "getsport.mobi", true },
|
||||
{ "gfournier.ca", true },
|
||||
{ "ggp2.com", true },
|
||||
{ "gha.st", true },
|
||||
|
@ -1307,7 +1308,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "giacomopelagatti.it", true },
|
||||
{ "giftservices.nl", true },
|
||||
{ "gigacloud.org", true },
|
||||
{ "gilly.berlin", false },
|
||||
{ "gipsamsfashion.com", true },
|
||||
{ "github.com", true },
|
||||
{ "github.party", false },
|
||||
|
@ -1426,7 +1426,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "hardfalcon.net", true },
|
||||
{ "hardh.at", true },
|
||||
{ "harmoney.com", true },
|
||||
{ "harristony.com", true },
|
||||
{ "harvestapp.com", true },
|
||||
{ "harvester.fr", false },
|
||||
{ "haselsteiner.me", true },
|
||||
|
@ -1471,6 +1470,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "herbert.io", true },
|
||||
{ "herocentral.de", true },
|
||||
{ "herpaderp.net", true },
|
||||
{ "hetmer.com", true },
|
||||
{ "heute-kaufen.de", true },
|
||||
{ "heutger.net", true },
|
||||
{ "hex2013.com", true },
|
||||
|
@ -1604,7 +1604,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "insighti.org", true },
|
||||
{ "insouciant.org", true },
|
||||
{ "inspiroinc.com", true },
|
||||
{ "instacart.com", true },
|
||||
{ "instant-hack.com", true },
|
||||
{ "instant.io", true },
|
||||
{ "instasex.ch", true },
|
||||
|
@ -1726,11 +1725,11 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "joshstroup.me", true },
|
||||
{ "jpbike.cz", true },
|
||||
{ "jrc9.ca", true },
|
||||
{ "jrvar.com", false },
|
||||
{ "juergenhecht.de", true },
|
||||
{ "julianmeyer.de", true },
|
||||
{ "juliansimioni.com", true },
|
||||
{ "junethack.net", true },
|
||||
{ "juniwalk.cz", true },
|
||||
{ "junqtion.com", false },
|
||||
{ "jurriaan.ninja", true },
|
||||
{ "justyy.com", true },
|
||||
|
@ -1853,6 +1852,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "kurtmclester.com", true },
|
||||
{ "kylinj.com", true },
|
||||
{ "kynaston.org.uk", true },
|
||||
{ "labaia.info", true },
|
||||
{ "labrador-retrievers.com.au", true },
|
||||
{ "labradorpuppiesforsalebyregisteredlabradorbreeders.com", true },
|
||||
{ "labs.directory", true },
|
||||
|
@ -1868,7 +1868,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "lashstuff.com", true },
|
||||
{ "lasst-uns-beten.de", true },
|
||||
{ "lastpass.com", false },
|
||||
{ "latenitefilms.com", true },
|
||||
{ "latenitefilms.com", false },
|
||||
{ "lateralsecurity.com", true },
|
||||
{ "latrine.cz", true },
|
||||
{ "laukstein.com", true },
|
||||
|
@ -1899,7 +1899,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "leonklingele.de", true },
|
||||
{ "leppis-it.de", true },
|
||||
{ "les-corsaires.net", true },
|
||||
{ "levinus.de", false },
|
||||
{ "levinus.de", true },
|
||||
{ "lexway.pk", true },
|
||||
{ "libertyrp.org", true },
|
||||
{ "libfte.org", true },
|
||||
|
@ -1955,7 +1955,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "locomore.com", true },
|
||||
{ "lodash.com", true },
|
||||
{ "loenshotel.de", true },
|
||||
{ "loftboard.eu", true },
|
||||
{ "logement-saisonnier.com", true },
|
||||
{ "logentries.com", false },
|
||||
{ "logfile.at", true },
|
||||
|
@ -2057,7 +2056,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "martijnvhoof.nl", true },
|
||||
{ "marumagic.com", true },
|
||||
{ "masa-yoga.com", true },
|
||||
{ "masa.li", true },
|
||||
{ "masjidtawheed.net", true },
|
||||
{ "massivum.de", false },
|
||||
{ "masters.black", true },
|
||||
|
@ -2205,7 +2203,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "modmountain.com", true },
|
||||
{ "mojapraca.sk", true },
|
||||
{ "mokote.com", true },
|
||||
{ "mondwandler.de", true },
|
||||
{ "moniquedekermadec.com", true },
|
||||
{ "monitman.solutions", true },
|
||||
{ "moparcraft.com", true },
|
||||
|
@ -2532,7 +2529,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "patriksimek.cz", true },
|
||||
{ "patt.us", true },
|
||||
{ "patterson.mp", true },
|
||||
{ "pauladamsmith.com", true },
|
||||
{ "paulproell.at", true },
|
||||
{ "paulschreiber.com", true },
|
||||
{ "pay.gigahost.dk", true },
|
||||
|
@ -2596,6 +2592,8 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "pilgermaske.org", true },
|
||||
{ "piligrimname.com", true },
|
||||
{ "pimpmymac.ru", true },
|
||||
{ "piratedb.com", true },
|
||||
{ "piratedot.com", true },
|
||||
{ "pirateproxy.la", true },
|
||||
{ "pirateproxy.pl", true },
|
||||
{ "pirateproxy.sx", true },
|
||||
|
@ -2731,6 +2729,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "quli.nl", true },
|
||||
{ "quppa.net", true },
|
||||
{ "quuz.org", true },
|
||||
{ "qvitoo.com", true },
|
||||
{ "r3s1stanc3.me", false },
|
||||
{ "raah.co", true },
|
||||
{ "raconconsulting.co.uk", true },
|
||||
|
@ -2771,7 +2770,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "refundo.cz", true },
|
||||
{ "refundo.sk", true },
|
||||
{ "reg.ru", false },
|
||||
{ "regar42.fr", false },
|
||||
{ "reishunger.de", true },
|
||||
{ "release-monitoring.org", true },
|
||||
{ "reliable-mail.de", true },
|
||||
|
@ -2801,6 +2799,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "richiemail.net", true },
|
||||
{ "ricki-z.com", true },
|
||||
{ "ricochet.im", true },
|
||||
{ "rid-wan.com", true },
|
||||
{ "rideworks.com", true },
|
||||
{ "riesenmagnete.de", true },
|
||||
{ "riesenweber.id.au", true },
|
||||
|
@ -2836,7 +2835,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "rodolfo.gs", true },
|
||||
{ "rodosto.com", true },
|
||||
{ "roeckx.be", true },
|
||||
{ "roeitijd.nl", true },
|
||||
{ "roeper.party", true },
|
||||
{ "rohlik.cz", true },
|
||||
{ "roland.io", true },
|
||||
|
@ -2938,6 +2936,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "scrambl.is", true },
|
||||
{ "scrambler.in", false },
|
||||
{ "scrap.tf", true },
|
||||
{ "screenlight.tv", true },
|
||||
{ "scribe.systems", true },
|
||||
{ "script.google.com", true },
|
||||
{ "sdrobs.com", true },
|
||||
|
@ -2968,6 +2967,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "segurosocial.gov", false },
|
||||
{ "seifried.org", true },
|
||||
{ "selecadm.name", true },
|
||||
{ "selectel.ru", true },
|
||||
{ "selfici.com", true },
|
||||
{ "selfici.cz", true },
|
||||
{ "sellme.biz", true },
|
||||
|
@ -2993,7 +2993,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "shasso.com", true },
|
||||
{ "shaundanielz.com", true },
|
||||
{ "sheilasdrivingschool.com", true },
|
||||
{ "shellsec.pw", true },
|
||||
{ "shellvatore.us", true },
|
||||
{ "shenyuqi.com", true },
|
||||
{ "sherbers.de", true },
|
||||
|
@ -3060,7 +3059,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "sleio.com", true },
|
||||
{ "slever.cz", true },
|
||||
{ "slevomat.cz", true },
|
||||
{ "slicketl.com", true },
|
||||
{ "slidebatch.com", true },
|
||||
{ "slix.io", true },
|
||||
{ "slope.haus", true },
|
||||
|
@ -3100,6 +3098,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "solihulllionsclub.org.uk", true },
|
||||
{ "solsystems.ru", true },
|
||||
{ "sonafe.info", true },
|
||||
{ "soondy.com", true },
|
||||
{ "soply.com", true },
|
||||
{ "soporte.cc", true },
|
||||
{ "sorz.org", true },
|
||||
|
@ -3186,6 +3185,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "strasweb.fr", false },
|
||||
{ "streampanel.net", true },
|
||||
{ "stretchmyan.us", true },
|
||||
{ "stricted.net", true },
|
||||
{ "stripe.com", true },
|
||||
{ "strongest-privacy.com", true },
|
||||
{ "strugee.net", true },
|
||||
|
@ -3330,9 +3330,9 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "therewill.be", true },
|
||||
{ "theshadestore.com", true },
|
||||
{ "thestagchorleywood.co.uk", true },
|
||||
{ "thetomharling.com", true },
|
||||
{ "theunitedstates.io", true },
|
||||
{ "theweilai.com", false },
|
||||
{ "theyosh.nl", true },
|
||||
{ "thinkindifferent.net", true },
|
||||
{ "thinklikeanentrepreneur.com", true },
|
||||
{ "thom4s.info", true },
|
||||
|
@ -3367,7 +3367,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "tipsyk.ru", true },
|
||||
{ "tittelbach.at", true },
|
||||
{ "tlo.link", true },
|
||||
{ "tlo.network", true },
|
||||
{ "tlo.xyz", true },
|
||||
{ "tls.li", true },
|
||||
{ "tls1914.org", true },
|
||||
{ "tm-solutions.eu", true },
|
||||
|
@ -3428,6 +3428,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "touch.mail.ru", true },
|
||||
{ "tox.im", true },
|
||||
{ "toxme.se", true },
|
||||
{ "tpbcdn.com", true },
|
||||
{ "tpbproxy.co", true },
|
||||
{ "tpe-edu.com", true },
|
||||
{ "tppleague.me", true },
|
||||
|
@ -3551,6 +3552,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "vbhelp.org", true },
|
||||
{ "vbulletin-russia.com", true },
|
||||
{ "vbulletinrussia.com", true },
|
||||
{ "vcsjones.com", true },
|
||||
{ "veblen.com", true },
|
||||
{ "vechkasov.ru", true },
|
||||
{ "venicerealdeal.com", true },
|
||||
|
@ -3585,6 +3587,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "vocaloid.my", true },
|
||||
{ "voicesuk.co.uk", true },
|
||||
{ "vokeapp.com", true },
|
||||
{ "voliere-info.nl", true },
|
||||
{ "vomitb.in", true },
|
||||
{ "vorlif.org", true },
|
||||
{ "votocek.cz", true },
|
||||
|
@ -3731,7 +3734,7 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "wm-talk.net", true },
|
||||
{ "wo2forum.nl", true },
|
||||
{ "wodka-division.de", true },
|
||||
{ "wohlgemuth.rocks", true },
|
||||
{ "wohlgemuth.rocks", false },
|
||||
{ "wohnsitz-ausland.com", true },
|
||||
{ "wolfemg.com", true },
|
||||
{ "wonderhost.info", true },
|
||||
|
@ -3917,7 +3920,6 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "zifb.in", true },
|
||||
{ "zirtue.io", true },
|
||||
{ "zixiao.wang", true },
|
||||
{ "zking.ga", true },
|
||||
{ "zlatosnadno.cz", true },
|
||||
{ "zlavomat.sk", true },
|
||||
{ "zoneminder.com", true },
|
||||
|
@ -3927,4 +3929,5 @@ static const nsSTSPreload kSTSPreloadList[] = {
|
|||
{ "zotero.org", true },
|
||||
{ "zravypapir.cz", true },
|
||||
{ "ztan.tk", true },
|
||||
{ "zx6rninja.de", true },
|
||||
};
|
||||
|
|
|
@ -5083,7 +5083,7 @@ nsWindow::ProcessMessage(UINT msg, WPARAM& wParam, LPARAM& lParam,
|
|||
case WM_MOUSEMOVE:
|
||||
{
|
||||
if (!mMousePresent) {
|
||||
// First MOOUSEMOVE over the client area. Ask for MOUSELEAVE
|
||||
// First MOUSEMOVE over the client area. Ask for MOUSELEAVE
|
||||
TRACKMOUSEEVENT mTrack;
|
||||
mTrack.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||
mTrack.dwFlags = TME_LEAVE;
|
||||
|
|
Загрузка…
Ссылка в новой задаче