Merge mozilla-central to b2g-inbound

This commit is contained in:
Carsten "Tomcat" Book 2015-12-28 13:14:14 +01:00
Родитель 0708b0265d 0ec3174fe6
Коммит 760c01b77a
48 изменённых файлов: 740 добавлений и 293 удалений

Просмотреть файл

@ -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;">
&nbsp;</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(&currentScrollRestorationIsManual);
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;