mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Merge m-c to autoland on a CLOSED TREE. a=merge
This commit is contained in:
commit
7af8f38714
@ -207,7 +207,7 @@ function getTabId(tab) {
|
||||
if (tab.browser) // fennec
|
||||
return tab.id
|
||||
|
||||
return String.split(tab.linkedPanel, 'panel').pop();
|
||||
return String(tab.linkedPanel).split('panel').pop();
|
||||
}
|
||||
exports.getTabId = getTabId;
|
||||
|
||||
|
@ -336,7 +336,7 @@ var isValidURI = exports.isValidURI = function (uri) {
|
||||
}
|
||||
|
||||
function isLocalURL(url) {
|
||||
if (String.indexOf(url, './') === 0)
|
||||
if (String(url).indexOf('./') === 0)
|
||||
return true;
|
||||
|
||||
try {
|
||||
|
@ -303,9 +303,9 @@ let gDecoderDoctorHandler = {
|
||||
histogram.add(decoderDoctorReportId, TELEMETRY_DDSTAT_SHOWN_FIRST);
|
||||
} else {
|
||||
// Split existing formats into an array of strings.
|
||||
let existing = formatsInPref.split(",").map(String.trim);
|
||||
let existing = formatsInPref.split(",").map(x => x.trim());
|
||||
// Keep given formats that were not already recorded.
|
||||
let newbies = formats.split(",").map(String.trim)
|
||||
let newbies = formats.split(",").map(x => x.trim())
|
||||
.filter(x => !existing.includes(x));
|
||||
// And rewrite pref with the added new formats (if any).
|
||||
if (newbies.length) {
|
||||
|
@ -320,7 +320,9 @@ class BasePopup {
|
||||
this.viewNode.style.maxHeight = `${height}px`;
|
||||
} else {
|
||||
this.browser.style.width = `${width}px`;
|
||||
this.browser.style.minWidth = `${width}px`;
|
||||
this.browser.style.height = `${height}px`;
|
||||
this.browser.style.minHeight = `${height}px`;
|
||||
}
|
||||
|
||||
let event = new this.window.CustomEvent("WebExtPopupResized", {detail});
|
||||
@ -488,11 +490,12 @@ class ViewPopup extends BasePopup {
|
||||
let browser = this.browser;
|
||||
yield this.createBrowser(this.viewNode);
|
||||
|
||||
this.ignoreResizes = false;
|
||||
|
||||
this.browser.swapDocShells(browser);
|
||||
this.destroyBrowser(browser);
|
||||
|
||||
this.ignoreResizes = false;
|
||||
if (this.dimensions) {
|
||||
if (this.dimensions && !this.fixedWidth) {
|
||||
this.resizeBrowser(this.dimensions);
|
||||
}
|
||||
|
||||
|
@ -46,6 +46,7 @@ support-files =
|
||||
[browser_ext_incognito_views.js]
|
||||
[browser_ext_incognito_popup.js]
|
||||
[browser_ext_lastError.js]
|
||||
[browser_ext_omnibox.js]
|
||||
[browser_ext_optionsPage_privileges.js]
|
||||
[browser_ext_pageAction_context.js]
|
||||
[browser_ext_pageAction_popup.js]
|
||||
@ -97,12 +98,14 @@ support-files =
|
||||
[browser_ext_webRequest.js]
|
||||
[browser_ext_webNavigation_frameId0.js]
|
||||
[browser_ext_webNavigation_getFrames.js]
|
||||
[browser_ext_webNavigation_urlbar_transitions.js]
|
||||
[browser_ext_windows.js]
|
||||
[browser_ext_windows_create.js]
|
||||
tags = fullscreen
|
||||
[browser_ext_windows_create_params.js]
|
||||
[browser_ext_windows_create_tabId.js]
|
||||
[browser_ext_windows_create_url.js]
|
||||
[browser_ext_windows_events.js]
|
||||
[browser_ext_windows_size.js]
|
||||
skip-if = os == 'mac' # Fails when windows are randomly opened in fullscreen mode
|
||||
[browser_ext_windows_update.js]
|
||||
|
@ -2,10 +2,7 @@
|
||||
tags = webextensions in-process-webextensions
|
||||
|
||||
[browser_ext_legacy_extension_context_contentscript.js]
|
||||
[browser_ext_omnibox.js]
|
||||
[browser_ext_webNavigation_urlbar_transitions.js]
|
||||
[browser_ext_windows_allowScriptsToClose.js]
|
||||
[browser_ext_windows_events.js]
|
||||
|
||||
[include:browser-common.ini]
|
||||
[parent:browser-common.ini]
|
||||
|
@ -180,7 +180,7 @@ function* testPopupSize(standardsMode, browserWin = window, arrowSide = "top") {
|
||||
|
||||
// Wait long enough to make sure the initial resize debouncing timer has
|
||||
// expired.
|
||||
yield new Promise(resolve => setTimeout(resolve, 100));
|
||||
yield delay(100);
|
||||
|
||||
let dims = yield promiseContentDimensions(browser);
|
||||
|
||||
@ -295,9 +295,11 @@ add_task(function* testBrowserActionMenuResizeBottomArrow() {
|
||||
break;
|
||||
}
|
||||
|
||||
yield new Promise(resolve => setTimeout(resolve, 100));
|
||||
yield delay(100);
|
||||
}
|
||||
|
||||
yield SimpleTest.promiseFocus(win);
|
||||
|
||||
yield testPopupSize(true, win, "bottom");
|
||||
|
||||
yield BrowserTestUtils.closeWindow(win);
|
||||
|
@ -73,6 +73,8 @@ function* testExecuteBrowserActionWithOptions(options = {}) {
|
||||
|
||||
yield extension.startup();
|
||||
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
if (options.inArea) {
|
||||
let widget = getBrowserActionWidget(extension);
|
||||
CustomizableUI.addWidgetToArea(widget.id, options.inArea);
|
||||
|
@ -228,6 +228,8 @@ add_task(function* () {
|
||||
yield setup();
|
||||
yield extension.startup();
|
||||
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
yield testInputEvents();
|
||||
|
||||
// Test the heuristic result with default suggestions.
|
||||
|
@ -2,10 +2,6 @@
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
let delay = ms => new Promise(resolve => {
|
||||
setTimeout(resolve, ms);
|
||||
});
|
||||
|
||||
add_task(function* testPageActionPopupResize() {
|
||||
let browser;
|
||||
|
||||
@ -39,17 +35,8 @@ add_task(function* testPageActionPopupResize() {
|
||||
|
||||
browser = yield awaitExtensionPanel(extension);
|
||||
|
||||
function* waitForSize(size) {
|
||||
let dims = yield promiseContentDimensions(browser);
|
||||
for (let i = 0; i < 100 && dims.window.innerWidth != size; i++) {
|
||||
yield delay(50);
|
||||
dims = yield promiseContentDimensions(browser);
|
||||
}
|
||||
return dims;
|
||||
}
|
||||
|
||||
function* checkSize(expected) {
|
||||
let dims = yield waitForSize(expected);
|
||||
let dims = yield promiseContentDimensions(browser);
|
||||
let {body, root} = dims;
|
||||
|
||||
is(dims.window.innerHeight, expected, `Panel window should be ${expected}px tall`);
|
||||
@ -83,9 +70,7 @@ add_task(function* testPageActionPopupResize() {
|
||||
yield checkSize(size);
|
||||
}
|
||||
|
||||
yield alterContent(browser, setSize, 1400);
|
||||
|
||||
let dims = yield waitForSize(800);
|
||||
let dims = yield alterContent(browser, setSize, 1400);
|
||||
let {body, root} = dims;
|
||||
|
||||
is(dims.window.innerWidth, 800, "Panel window width");
|
||||
@ -147,13 +132,6 @@ add_task(function* testPageActionPopupReflow() {
|
||||
|
||||
let dims = yield alterContent(browser, setSize, 18);
|
||||
|
||||
if (AppConstants.platform == "win") {
|
||||
while (dims.window.innerWidth < 800) {
|
||||
yield delay(50);
|
||||
dims = yield promiseContentDimensions(browser);
|
||||
}
|
||||
}
|
||||
|
||||
is(dims.window.innerWidth, 800, "Panel window should be 800px wide");
|
||||
is(dims.body.clientWidth, 800, "Panel body should be 800px wide");
|
||||
is(dims.body.clientWidth, dims.body.scrollWidth,
|
||||
|
@ -105,6 +105,7 @@ add_task(function* test_webnavigation_urlbar_typed_transitions() {
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
yield extension.awaitMessage("ready");
|
||||
|
||||
@ -150,6 +151,7 @@ add_task(function* test_webnavigation_urlbar_bookmark_transitions() {
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
yield extension.awaitMessage("ready");
|
||||
|
||||
@ -195,6 +197,7 @@ add_task(function* test_webnavigation_urlbar_keyword_transition() {
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
yield extension.awaitMessage("ready");
|
||||
|
||||
@ -235,6 +238,7 @@ add_task(function* test_webnavigation_urlbar_search_transitions() {
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
yield SimpleTest.promiseFocus(window);
|
||||
|
||||
yield extension.awaitMessage("ready");
|
||||
|
||||
|
@ -104,6 +104,8 @@ add_task(function* testWindowsEvents() {
|
||||
info(`Close browser window 1`);
|
||||
yield BrowserTestUtils.closeWindow(win1);
|
||||
|
||||
currentWindow.focus();
|
||||
|
||||
winId = yield extension.awaitMessage(`window-removed`);
|
||||
is(winId, win1Id, "Got removed event for the correct window ID.");
|
||||
|
||||
|
@ -97,7 +97,7 @@ function promisePopupHidden(popup) {
|
||||
});
|
||||
}
|
||||
|
||||
function promiseContentDimensions(browser) {
|
||||
function promisePossiblyInaccurateContentDimensions(browser) {
|
||||
return ContentTask.spawn(browser, null, function* () {
|
||||
function copyProps(obj, props) {
|
||||
let res = {};
|
||||
@ -121,18 +121,39 @@ function promiseContentDimensions(browser) {
|
||||
});
|
||||
}
|
||||
|
||||
function* awaitPopupResize(browser) {
|
||||
return BrowserTestUtils.waitForEvent(browser, "WebExtPopupResized",
|
||||
event => event.detail === "delayed");
|
||||
function delay(ms = 0) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
async function promiseContentDimensions(browser) {
|
||||
// For remote browsers, each resize operation requires an asynchronous
|
||||
// round-trip to resize the content window. Since there's a certain amount of
|
||||
// unpredictability in the timing, mainly due to the unpredictability of
|
||||
// reflows, we need to wait until the content window dimensions match the
|
||||
// <browser> dimensions before returning data.
|
||||
|
||||
let dims = await promisePossiblyInaccurateContentDimensions(browser);
|
||||
while (browser.clientWidth !== dims.window.innerWidth ||
|
||||
browser.clientHeight !== dims.window.innerHeight) {
|
||||
await delay(50);
|
||||
dims = await promisePossiblyInaccurateContentDimensions(browser);
|
||||
}
|
||||
|
||||
return dims;
|
||||
}
|
||||
|
||||
async function awaitPopupResize(browser) {
|
||||
await BrowserTestUtils.waitForEvent(browser, "WebExtPopupResized",
|
||||
event => event.detail === "delayed");
|
||||
|
||||
return promiseContentDimensions(browser);
|
||||
}
|
||||
|
||||
function alterContent(browser, task, arg = null) {
|
||||
return Promise.all([
|
||||
ContentTask.spawn(browser, arg, task),
|
||||
awaitPopupResize(browser),
|
||||
]).then(() => {
|
||||
return promiseContentDimensions(browser);
|
||||
});
|
||||
]).then(([, dims]) => dims);
|
||||
}
|
||||
|
||||
function getPanelForNode(node) {
|
||||
|
@ -15,13 +15,15 @@ add_task(function() {
|
||||
try {
|
||||
// Setup a public tab and a private tab
|
||||
info("Setting up public tab");
|
||||
tab1 = yield BrowserTestUtils.openNewForegroundTab(gBrowser, URL_PUBLIC);
|
||||
tab1 = gBrowser.addTab(URL_PUBLIC);
|
||||
yield promiseBrowserLoaded(tab1.linkedBrowser);
|
||||
|
||||
info("Setting up private tab");
|
||||
tab2 = yield BrowserTestUtils.openNewForegroundTab(gBrowser);
|
||||
tab2 = gBrowser.addTab();
|
||||
yield promiseBrowserLoaded(tab2.linkedBrowser);
|
||||
yield setUsePrivateBrowsing(tab2.linkedBrowser, true);
|
||||
tab2.linkedBrowser.loadURI(URL_PRIVATE);
|
||||
yield BrowserTestUtils.browserLoaded(tab2.linkedBrowser, false, URL_PRIVATE);
|
||||
yield promiseBrowserLoaded(tab2.linkedBrowser);
|
||||
|
||||
info("Flush to make sure chrome received all data.");
|
||||
yield TabStateFlusher.flush(tab1.linkedBrowser);
|
||||
@ -30,15 +32,16 @@ add_task(function() {
|
||||
info("Checking out state");
|
||||
let state = yield promiseRecoveryFileContents();
|
||||
|
||||
info("State: " + state);
|
||||
// Ensure that sessionstore.js only knows about the public tab
|
||||
ok(state.indexOf(URL_PUBLIC) != -1, "State contains public tab");
|
||||
ok(state.indexOf(URL_PRIVATE) == -1, "State does not contain private tab");
|
||||
|
||||
// Ensure that we can close and undo close the public tab but not the private tab
|
||||
yield BrowserTestUtils.removeTab(tab2);
|
||||
gBrowser.removeTab(tab2);
|
||||
tab2 = null;
|
||||
|
||||
yield BrowserTestUtils.removeTab(tab1);
|
||||
gBrowser.removeTab(tab1);
|
||||
tab1 = null;
|
||||
|
||||
tab1 = ss.undoCloseTab(window, 0);
|
||||
@ -48,10 +51,10 @@ add_task(function() {
|
||||
|
||||
} finally {
|
||||
if (tab1) {
|
||||
yield BrowserTestUtils.removeTab(tab1);
|
||||
gBrowser.removeTab(tab1);
|
||||
}
|
||||
if (tab2) {
|
||||
yield BrowserTestUtils.removeTab(tab2);
|
||||
gBrowser.removeTab(tab2);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -64,13 +67,14 @@ add_task(function () {
|
||||
forgetClosedWindows();
|
||||
|
||||
// Create a new window to attach our frame script to.
|
||||
let win = yield BrowserTestUtils.openNewBrowserWindow();
|
||||
let win = yield promiseNewWindowLoaded();
|
||||
let mm = win.getGroupMessageManager("browsers");
|
||||
mm.loadFrameScript(FRAME_SCRIPT, true);
|
||||
|
||||
// Create a new tab in the new window that will load the frame script.
|
||||
let tab = yield BrowserTestUtils.openNewForegroundTab(win.gBrowser, "about:mozilla");
|
||||
let tab = win.gBrowser.addTab("about:mozilla");
|
||||
let browser = tab.linkedBrowser;
|
||||
yield promiseBrowserLoaded(browser);
|
||||
yield TabStateFlusher.flush(browser);
|
||||
|
||||
// Check that we consider the tab as private.
|
||||
@ -78,12 +82,13 @@ add_task(function () {
|
||||
ok(state.isPrivate, "tab considered private");
|
||||
|
||||
// Ensure we don't allow restoring closed private tabs in non-private windows.
|
||||
yield BrowserTestUtils.removeTab(tab);
|
||||
win.gBrowser.removeTab(tab);
|
||||
is(ss.getClosedTabCount(win), 0, "no tabs to restore");
|
||||
|
||||
// Create a new tab in the new window that will load the frame script.
|
||||
tab = yield BrowserTestUtils.openNewForegroundTab(win.gBrowser, "about:mozilla");
|
||||
tab = win.gBrowser.addTab("about:mozilla");
|
||||
browser = tab.linkedBrowser;
|
||||
yield promiseBrowserLoaded(browser);
|
||||
yield TabStateFlusher.flush(browser);
|
||||
|
||||
// Check that we consider the tab as private.
|
||||
@ -101,11 +106,12 @@ add_task(function () {
|
||||
forgetClosedWindows();
|
||||
|
||||
// Create a new window to attach our frame script to.
|
||||
let win = yield BrowserTestUtils.openNewBrowserWindow({private: true});
|
||||
let win = yield promiseNewWindowLoaded({private: true});
|
||||
|
||||
// Create a new tab in the new window that will load the frame script.
|
||||
let tab = yield BrowserTestUtils.openNewForegroundTab(win.gBrowser, "about:mozilla");
|
||||
let tab = win.gBrowser.addTab("about:mozilla");
|
||||
let browser = tab.linkedBrowser;
|
||||
yield promiseBrowserLoaded(browser);
|
||||
yield TabStateFlusher.flush(browser);
|
||||
|
||||
// Check that we consider the tab as private.
|
||||
@ -113,7 +119,7 @@ add_task(function () {
|
||||
ok(state.isPrivate, "tab considered private");
|
||||
|
||||
// Ensure that closed tabs in a private windows can be restored.
|
||||
yield BrowserTestUtils.removeTab(tab);
|
||||
win.gBrowser.removeTab(tab);
|
||||
is(ss.getClosedTabCount(win), 1, "there is a single tab to restore");
|
||||
|
||||
// Ensure that closed private windows can never be restored.
|
||||
|
@ -23,10 +23,6 @@ registerCleanupFunction(() => {
|
||||
for (let script of FRAME_SCRIPTS) {
|
||||
mm.removeDelayedFrameScript(script, true);
|
||||
}
|
||||
|
||||
// Force a garbage collect after the end of each test run, to make sure that it
|
||||
// won't interfere with the timing of the next test to be run from the suite.
|
||||
window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).garbageCollect();
|
||||
});
|
||||
|
||||
const {Promise} = Cu.import("resource://gre/modules/Promise.jsm", {});
|
||||
|
@ -34,7 +34,7 @@ function test() {
|
||||
// the epoch.
|
||||
// This is not the correct value of the timestamp, but good enough for
|
||||
// comparison.
|
||||
return Date.parse("T" + String.trim(value.textContent));
|
||||
return Date.parse("T" + String(value.textContent).trim());
|
||||
});
|
||||
|
||||
let minTimestamp = Math.min.apply(null, aTimestampMilliseconds);
|
||||
|
@ -176,7 +176,7 @@ var items = [
|
||||
});
|
||||
|
||||
function compareAddonNames(nameA, nameB) {
|
||||
return String.localeCompare(nameA.name, nameB.name);
|
||||
return String(nameA.name).localeCompare(nameB.name);
|
||||
}
|
||||
enabledAddons.sort(compareAddonNames);
|
||||
disabledAddons.sort(compareAddonNames);
|
||||
|
@ -20,7 +20,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=742156
|
||||
|
||||
/** Test for Bug 742156 **/
|
||||
|
||||
var nativeToString = ("" + String.replace).replace("replace", "EventTarget");
|
||||
var nativeToString = ("" + String).replace("String", "EventTarget");
|
||||
try {
|
||||
var eventTargetToString = "" + EventTarget;
|
||||
is(eventTargetToString, nativeToString,
|
||||
|
@ -182,7 +182,7 @@ function testStreamingOptions()
|
||||
}
|
||||
|
||||
function arrayFromString(s) {
|
||||
return s.split('').map(function(c){return String.charCodeAt(c)});
|
||||
return s.split('').map(function(c){return c.charCodeAt(0)});
|
||||
}
|
||||
|
||||
function testArrayOfStrings(test)
|
||||
|
@ -2906,12 +2906,14 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
NS_ENSURE_ARG(aPresContext);
|
||||
NS_ENSURE_ARG_POINTER(aStatus);
|
||||
|
||||
bool dispatchedToContentProcess = HandleCrossProcessEvent(aEvent,
|
||||
aStatus);
|
||||
|
||||
mCurrentTarget = aTargetFrame;
|
||||
mCurrentTargetContent = nullptr;
|
||||
|
||||
bool dispatchedToContentProcess = HandleCrossProcessEvent(aEvent, aStatus);
|
||||
// NOTE: the above call may have destroyed aTargetFrame, please use
|
||||
// mCurrentTarget henceforth. This is to avoid using it accidentally:
|
||||
aTargetFrame = nullptr;
|
||||
|
||||
// Most of the events we handle below require a frame.
|
||||
// Add special cases here.
|
||||
if (!mCurrentTarget && aEvent->mMessage != eMouseUp &&
|
||||
@ -3168,7 +3170,7 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
ScrollbarsForWheel::MayInactivate();
|
||||
WidgetWheelEvent* wheelEvent = aEvent->AsWheelEvent();
|
||||
nsIScrollableFrame* scrollTarget =
|
||||
do_QueryFrame(ComputeScrollTarget(aTargetFrame, wheelEvent,
|
||||
do_QueryFrame(ComputeScrollTarget(mCurrentTarget, wheelEvent,
|
||||
COMPUTE_DEFAULT_ACTION_TARGET));
|
||||
if (scrollTarget) {
|
||||
scrollTarget->ScrollSnap();
|
||||
@ -3191,7 +3193,7 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
// because if the scroll target is a plugin, the default action should be
|
||||
// chosen by the plugin rather than by our prefs.
|
||||
nsIFrame* frameToScroll =
|
||||
ComputeScrollTarget(aTargetFrame, wheelEvent,
|
||||
ComputeScrollTarget(mCurrentTarget, wheelEvent,
|
||||
COMPUTE_DEFAULT_ACTION_TARGET);
|
||||
nsPluginFrame* pluginFrame = do_QueryFrame(frameToScroll);
|
||||
|
||||
@ -3211,7 +3213,7 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
// For scrolling of default action, we should honor the mouse wheel
|
||||
// transaction.
|
||||
|
||||
ScrollbarsForWheel::PrepareToScrollText(this, aTargetFrame, wheelEvent);
|
||||
ScrollbarsForWheel::PrepareToScrollText(this, mCurrentTarget, wheelEvent);
|
||||
|
||||
if (aEvent->mMessage != eWheel ||
|
||||
(!wheelEvent->mDeltaX && !wheelEvent->mDeltaY)) {
|
||||
@ -3221,8 +3223,8 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
nsIScrollableFrame* scrollTarget = do_QueryFrame(frameToScroll);
|
||||
ScrollbarsForWheel::SetActiveScrollTarget(scrollTarget);
|
||||
|
||||
nsIFrame* rootScrollFrame = !aTargetFrame ? nullptr :
|
||||
aTargetFrame->PresContext()->PresShell()->GetRootScrollFrame();
|
||||
nsIFrame* rootScrollFrame = !mCurrentTarget ? nullptr :
|
||||
mCurrentTarget->PresContext()->PresShell()->GetRootScrollFrame();
|
||||
nsIScrollableFrame* rootScrollableFrame = nullptr;
|
||||
if (rootScrollFrame) {
|
||||
rootScrollableFrame = do_QueryFrame(rootScrollFrame);
|
||||
@ -3259,7 +3261,7 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
if (!intDelta) {
|
||||
break;
|
||||
}
|
||||
DoScrollZoom(aTargetFrame, intDelta);
|
||||
DoScrollZoom(mCurrentTarget, intDelta);
|
||||
break;
|
||||
}
|
||||
case WheelPrefs::ACTION_SEND_TO_PLUGIN:
|
||||
@ -3289,7 +3291,7 @@ EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
||||
// by looking at the scroll overflow values on mCanTriggerSwipe
|
||||
// events after they have been processed.
|
||||
allDeltaOverflown =
|
||||
!ComputeScrollTarget(aTargetFrame, wheelEvent,
|
||||
!ComputeScrollTarget(mCurrentTarget, wheelEvent,
|
||||
COMPUTE_DEFAULT_ACTION_TARGET);
|
||||
}
|
||||
} else {
|
||||
|
@ -57,8 +57,11 @@ SafeOptionListMutation::SafeOptionListMutation(nsIContent* aSelect,
|
||||
: mSelect(HTMLSelectElement::FromContentOrNull(aSelect))
|
||||
, mTopLevelMutation(false)
|
||||
, mNeedsRebuild(false)
|
||||
, mNotify(aNotify)
|
||||
, mInitialSelectedIndex(-1)
|
||||
{
|
||||
if (mSelect) {
|
||||
mInitialSelectedIndex = mSelect->SelectedIndex();
|
||||
mTopLevelMutation = !mSelect->mMutating;
|
||||
if (mTopLevelMutation) {
|
||||
mSelect->mMutating = true;
|
||||
@ -67,13 +70,13 @@ SafeOptionListMutation::SafeOptionListMutation(nsIContent* aSelect,
|
||||
// option list must be up-to-date before inserting or removing options.
|
||||
// Fortunately this is called only if mutation event listener
|
||||
// adds or removes options.
|
||||
mSelect->RebuildOptionsArray(aNotify);
|
||||
mSelect->RebuildOptionsArray(mNotify);
|
||||
}
|
||||
nsresult rv;
|
||||
if (aKid) {
|
||||
rv = mSelect->WillAddOptions(aKid, aParent, aIndex, aNotify);
|
||||
rv = mSelect->WillAddOptions(aKid, aParent, aIndex, mNotify);
|
||||
} else {
|
||||
rv = mSelect->WillRemoveOptions(aParent, aIndex, aNotify);
|
||||
rv = mSelect->WillRemoveOptions(aParent, aIndex, mNotify);
|
||||
}
|
||||
mNeedsRebuild = NS_FAILED(rv);
|
||||
}
|
||||
@ -88,6 +91,16 @@ SafeOptionListMutation::~SafeOptionListMutation()
|
||||
if (mTopLevelMutation) {
|
||||
mSelect->mMutating = false;
|
||||
}
|
||||
if (mSelect->SelectedIndex() != mInitialSelectedIndex) {
|
||||
// We must have triggered the SelectSomething() codepath, which can cause
|
||||
// our validity to change. Unfortunately, our attempt to update validity
|
||||
// in that case may not have worked correctly, because we actually call it
|
||||
// before we have inserted the new <option>s into the DOM! Go ahead and
|
||||
// update validity here as needed, because by now we know our <option>s
|
||||
// are where they should be.
|
||||
mSelect->UpdateValueMissingValidityState();
|
||||
mSelect->UpdateState(mNotify);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
mSelect->VerifyOptionsArray();
|
||||
#endif
|
||||
@ -1774,6 +1787,15 @@ HTMLSelectElement::IsValueMissing()
|
||||
|
||||
for (uint32_t i = 0; i < length; ++i) {
|
||||
RefPtr<HTMLOptionElement> option = Item(i);
|
||||
// Check for a placeholder label option, don't count it as a valid value.
|
||||
if (i == 0 && !Multiple() && Size() <= 1 && option->GetParent() == this) {
|
||||
nsAutoString value;
|
||||
MOZ_ALWAYS_SUCCEEDS(option->GetValue(value));
|
||||
if (value.IsEmpty()) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!option->Selected()) {
|
||||
continue;
|
||||
}
|
||||
@ -1782,11 +1804,7 @@ HTMLSelectElement::IsValueMissing()
|
||||
continue;
|
||||
}
|
||||
|
||||
nsAutoString value;
|
||||
MOZ_ALWAYS_SUCCEEDS(option->GetValue(value));
|
||||
if (!value.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -106,6 +106,11 @@ private:
|
||||
bool mTopLevelMutation;
|
||||
/** true if it is known that the option list must be recreated. */
|
||||
bool mNeedsRebuild;
|
||||
/** Whether we should be notifying when we make various method calls on
|
||||
mSelect */
|
||||
const bool mNotify;
|
||||
/** The selected index at mutation start. */
|
||||
int32_t mInitialSelectedIndex;
|
||||
/** Option list must be recreated if more than one mutation is detected. */
|
||||
nsMutationGuard mGuard;
|
||||
};
|
||||
|
@ -143,16 +143,18 @@ function checkInvalidWhenValueMissing(element)
|
||||
select.add(new Option(), null);
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
||||
// The placeholder label can only be the first option, so a selected empty second option is valid
|
||||
select.options[1].selected = true;
|
||||
checkSufferingFromBeingMissing(select);
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
||||
select.selectedIndex = 0;
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
||||
select.selectedIndex = 1;
|
||||
select.add(select.options[0]);
|
||||
select.selectedIndex = 0;
|
||||
checkSufferingFromBeingMissing(select);
|
||||
|
||||
select.remove(1);
|
||||
select.remove(0);
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
||||
select.options[0].disabled = true;
|
||||
@ -182,8 +184,13 @@ function checkInvalidWhenValueMissing(element)
|
||||
select.size = 4;
|
||||
checkSufferingFromBeingMissing(select);
|
||||
|
||||
// Setting defaultSelected to true should not make the option selected
|
||||
select.add(new Option("", "", true), null);
|
||||
checkSufferingFromBeingMissing(select);
|
||||
checkSufferingFromBeingMissing(select, true);
|
||||
select.remove(0);
|
||||
|
||||
select.add(new Option("", "", true, true), null);
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
||||
select.add(new Option("foo", "foo"), null);
|
||||
select.remove(0);
|
||||
@ -203,13 +210,13 @@ function checkInvalidWhenValueMissing(element)
|
||||
checkSufferingFromBeingMissing(select);
|
||||
|
||||
select.add(new Option("", "", true), null);
|
||||
checkSufferingFromBeingMissing(select);
|
||||
checkSufferingFromBeingMissing(select, true);
|
||||
|
||||
select.add(new Option("", "", true), null);
|
||||
checkSufferingFromBeingMissing(select);
|
||||
checkSufferingFromBeingMissing(select, true);
|
||||
|
||||
select.add(new Option("foo"), null);
|
||||
checkSufferingFromBeingMissing(select);
|
||||
checkSufferingFromBeingMissing(select, true);
|
||||
|
||||
select.options[2].selected = true;
|
||||
checkNotSufferingFromBeingMissing(select);
|
||||
|
@ -88,17 +88,17 @@ function checkSelectElement(aElement)
|
||||
checkPseudoClass(aElement, false);
|
||||
|
||||
aElement.blur();
|
||||
checkPseudoClass(aElement, true);
|
||||
checkPseudoClass(aElement, !aElement.multiple);
|
||||
|
||||
// Focusing while :-moz-ui-invalid applies,
|
||||
// the pseudo-class should apply while changing selection if appropriate.
|
||||
aElement.focus();
|
||||
checkPseudoClass(aElement, true);
|
||||
checkPseudoClass(aElement, !aElement.multiple);
|
||||
|
||||
aElement.selectedIndex = 1;
|
||||
checkPseudoClass(aElement, false);
|
||||
aElement.selectedIndex = 0;
|
||||
checkPseudoClass(aElement, true);
|
||||
checkPseudoClass(aElement, !aElement.multiple);
|
||||
}
|
||||
|
||||
checkElement(document.getElementsByTagName('input')[0]);
|
||||
|
@ -121,6 +121,10 @@ function checkSelectElement(aElement)
|
||||
|
||||
aElement.blur();
|
||||
aElement.required = true;
|
||||
// select set with multiple is only invalid if no option is selected
|
||||
if (aElement.multiple) {
|
||||
aElement.selectedIndex = -1;
|
||||
}
|
||||
checkPseudoClass(aElement, false);
|
||||
|
||||
// Focusing while :-moz-ui-invalid applies,
|
||||
@ -131,7 +135,7 @@ function checkSelectElement(aElement)
|
||||
aElement.selectedIndex = 1;
|
||||
checkPseudoClass(aElement, true);
|
||||
aElement.selectedIndex = 0;
|
||||
checkPseudoClass(aElement, false);
|
||||
checkPseudoClass(aElement, aElement.multiple);
|
||||
}
|
||||
|
||||
checkElement(document.getElementsByTagName('input')[0]);
|
||||
|
@ -34,10 +34,10 @@ function runTest()
|
||||
|
||||
isnot(select.selectedIndex, -1, "Something should have been selected");
|
||||
|
||||
ok(!select.matches(":-moz-ui-valid"),
|
||||
":-moz-ui-valid should not apply");
|
||||
todo(!select.matches(":-moz-ui-invalid"),
|
||||
":-moz-ui-invalid should not apply");
|
||||
ok(!select.matches(":-moz-ui-invalid"),
|
||||
":-moz-ui-invalid should not apply");
|
||||
todo(!select.matches(":-moz-ui-valid"),
|
||||
":-moz-ui-valid should not apply");
|
||||
|
||||
SimpleTest.finish();
|
||||
}, false);
|
||||
|
@ -16,7 +16,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=622597
|
||||
<form>
|
||||
<input required>
|
||||
<textarea required></textarea>
|
||||
<select required><option>foo</option><option value="">bar</option></select>
|
||||
<select required><option value="">foo</option><option selected>bar</option></select>
|
||||
<button>submit</button>
|
||||
</form>
|
||||
</div>
|
||||
@ -65,7 +65,7 @@ textarea.addEventListener("focus", function() {
|
||||
SimpleTest.executeSoon(function() {
|
||||
checkPseudoClasses(textarea, false, true);
|
||||
form.noValidate = true;
|
||||
select.selectedIndex = 1;
|
||||
select.selectedIndex = 0;
|
||||
select.focus();
|
||||
});
|
||||
});
|
||||
|
@ -80,14 +80,18 @@ MediaDecoderReader::MediaDecoderReader(AbstractMediaDecoder* aDecoder)
|
||||
{
|
||||
MOZ_COUNT_CTOR(MediaDecoderReader);
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
}
|
||||
|
||||
nsresult
|
||||
MediaDecoderReader::Init()
|
||||
{
|
||||
if (mDecoder && mDecoder->DataArrivedEvent()) {
|
||||
mDataArrivedListener = mDecoder->DataArrivedEvent()->Connect(
|
||||
mTaskQueue, this, &MediaDecoderReader::NotifyDataArrived);
|
||||
}
|
||||
|
||||
// Dispatch initialization that needs to happen on that task queue.
|
||||
mTaskQueue->Dispatch(NewRunnableMethod(this, &MediaDecoderReader::InitializationTask));
|
||||
return InitInternal();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -87,7 +87,7 @@ public:
|
||||
|
||||
// Initializes the reader, returns NS_OK on success, or NS_ERROR_FAILURE
|
||||
// on failure.
|
||||
virtual nsresult Init() { return NS_OK; }
|
||||
nsresult Init();
|
||||
|
||||
// Called by MDSM in dormant state to release resources allocated by this
|
||||
// reader. The reader can resume decoding by calling Seek() to a specific
|
||||
@ -325,6 +325,8 @@ protected:
|
||||
MediaEventProducer<void> mOnMediaNotSeekable;
|
||||
|
||||
private:
|
||||
virtual nsresult InitInternal() { return NS_OK; }
|
||||
|
||||
// Does any spinup that needs to happen on this task queue. This runs on a
|
||||
// different thread than Init, and there should not be ordering dependencies
|
||||
// between the two (even though in practice, Init will always run first right
|
||||
|
@ -558,7 +558,7 @@ MediaFormatReader::InitLayersBackendType()
|
||||
}
|
||||
|
||||
nsresult
|
||||
MediaFormatReader::Init()
|
||||
MediaFormatReader::InitInternal()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread.");
|
||||
|
||||
|
@ -33,8 +33,6 @@ public:
|
||||
|
||||
virtual ~MediaFormatReader();
|
||||
|
||||
nsresult Init() override;
|
||||
|
||||
size_t SizeOfVideoQueueInFrames() override;
|
||||
size_t SizeOfAudioQueueInFrames() override;
|
||||
|
||||
@ -86,6 +84,7 @@ public:
|
||||
void SetVideoBlankDecode(bool aIsBlankDecode) override;
|
||||
|
||||
private:
|
||||
nsresult InitInternal() override;
|
||||
|
||||
bool HasVideo() const { return mVideo.mTrackDemuxer; }
|
||||
bool HasAudio() const { return mAudio.mTrackDemuxer; }
|
||||
|
@ -673,7 +673,7 @@ function runTest() {
|
||||
reqHeaders =
|
||||
escape(Object.keys(test.headers)
|
||||
.filter(isUnsafeHeader)
|
||||
.map(String.toLowerCase)
|
||||
.map(s => s.toLowerCase())
|
||||
.sort()
|
||||
.join(","));
|
||||
req.url += reqHeaders ? "&requestHeaders=" + reqHeaders : "";
|
||||
|
@ -759,7 +759,7 @@ function testModeCors() {
|
||||
reqHeaders =
|
||||
escape(Object.keys(test.headers)
|
||||
.filter(isUnsafeHeader)
|
||||
.map(String.toLowerCase)
|
||||
.map(s => s.toLowerCase())
|
||||
.sort()
|
||||
.join(","));
|
||||
req.url += reqHeaders ? "&requestHeaders=" + reqHeaders : "";
|
||||
|
@ -3235,6 +3235,27 @@ HTMLEditor::ContentInserted(nsIDocument* aDocument,
|
||||
eInserted);
|
||||
}
|
||||
|
||||
bool
|
||||
HTMLEditor::IsInObservedSubtree(nsIDocument* aDocument,
|
||||
nsIContent* aContainer,
|
||||
nsIContent* aChild)
|
||||
{
|
||||
if (!aChild) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Element* root = GetRoot();
|
||||
// To be super safe here, check both ChromeOnlyAccess and GetBindingParent.
|
||||
// That catches (also unbound) native anonymous content, XBL and ShadowDOM.
|
||||
if (root &&
|
||||
(root->ChromeOnlyAccess() != aChild->ChromeOnlyAccess() ||
|
||||
root->GetBindingParent() != aChild->GetBindingParent())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return !aChild->ChromeOnlyAccess() && !aChild->GetBindingParent();
|
||||
}
|
||||
|
||||
void
|
||||
HTMLEditor::DoContentInserted(nsIDocument* aDocument,
|
||||
nsIContent* aContainer,
|
||||
@ -3242,7 +3263,7 @@ HTMLEditor::DoContentInserted(nsIDocument* aDocument,
|
||||
int32_t aIndexInContainer,
|
||||
InsertedOrAppended aInsertedOrAppended)
|
||||
{
|
||||
if (!aChild) {
|
||||
if (!IsInObservedSubtree(aDocument, aContainer, aChild)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -3290,6 +3311,10 @@ HTMLEditor::ContentRemoved(nsIDocument* aDocument,
|
||||
int32_t aIndexInContainer,
|
||||
nsIContent* aPreviousSibling)
|
||||
{
|
||||
if (!IsInObservedSubtree(aDocument, aContainer, aChild)) {
|
||||
return;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIHTMLEditor> kungFuDeathGrip(this);
|
||||
|
||||
if (SameCOMIdentity(aChild, mRootElement)) {
|
||||
|
@ -940,6 +940,10 @@ protected:
|
||||
int32_t& aMarginLeft,
|
||||
int32_t& aMarginTop);
|
||||
|
||||
bool IsInObservedSubtree(nsIDocument* aDocument,
|
||||
nsIContent* aContainer,
|
||||
nsIContent* aChild);
|
||||
|
||||
// resizing
|
||||
bool mIsObjectResizingEnabled;
|
||||
bool mIsResizing;
|
||||
|
@ -25,7 +25,6 @@
|
||||
#include "nsError.h"
|
||||
#include "nsGkAtoms.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsIDOMCharacterData.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMElement.h"
|
||||
#include "nsIDOMNode.h"
|
||||
@ -482,26 +481,24 @@ TextEditRules::CollapseSelectionToTrailingBRIfNeeded(Selection* aSelection)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
static inline already_AddRefed<nsIDOMNode>
|
||||
GetTextNode(Selection* selection,
|
||||
EditorBase* editor)
|
||||
static inline already_AddRefed<nsINode>
|
||||
GetTextNode(Selection* selection)
|
||||
{
|
||||
int32_t selOffset;
|
||||
nsCOMPtr<nsIDOMNode> selNode;
|
||||
nsCOMPtr<nsINode> selNode;
|
||||
nsresult rv =
|
||||
editor->GetStartNodeAndOffset(selection,
|
||||
getter_AddRefs(selNode), &selOffset);
|
||||
EditorBase::GetStartNodeAndOffset(selection,
|
||||
getter_AddRefs(selNode), &selOffset);
|
||||
NS_ENSURE_SUCCESS(rv, nullptr);
|
||||
if (!editor->IsTextNode(selNode)) {
|
||||
// Get an nsINode from the nsIDOMNode
|
||||
nsCOMPtr<nsINode> node = do_QueryInterface(selNode);
|
||||
// if node is null, return it to indicate there's no text
|
||||
NS_ENSURE_TRUE(node, nullptr);
|
||||
if (!EditorBase::IsTextNode(selNode)) {
|
||||
// This should be the root node, walk the tree looking for text nodes
|
||||
RefPtr<NodeIterator> iter =
|
||||
new NodeIterator(node, nsIDOMNodeFilter::SHOW_TEXT, NodeFilterHolder());
|
||||
while (!editor->IsTextNode(selNode)) {
|
||||
if (NS_FAILED(iter->NextNode(getter_AddRefs(selNode))) || !selNode) {
|
||||
new NodeIterator(selNode, nsIDOMNodeFilter::SHOW_TEXT,
|
||||
NodeFilterHolder());
|
||||
while (!EditorBase::IsTextNode(selNode)) {
|
||||
IgnoredErrorResult rv;
|
||||
selNode = iter->NextNode(rv);
|
||||
if (!selNode) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
@ -1385,13 +1382,10 @@ TextEditRules::HideLastPWInput()
|
||||
nsContentUtils::GetSelectionInTextControl(selection, mTextEditor->GetRoot(),
|
||||
start, end);
|
||||
|
||||
nsCOMPtr<nsIDOMNode> selNode = GetTextNode(selection, mTextEditor);
|
||||
nsCOMPtr<nsINode> selNode = GetTextNode(selection);
|
||||
NS_ENSURE_TRUE(selNode, NS_OK);
|
||||
|
||||
nsCOMPtr<nsIDOMCharacterData> nodeAsText(do_QueryInterface(selNode));
|
||||
NS_ENSURE_TRUE(nodeAsText, NS_OK);
|
||||
|
||||
nodeAsText->ReplaceData(mLastStart, mLastLength, hiddenText);
|
||||
selNode->GetAsText()->ReplaceData(mLastStart, mLastLength, hiddenText);
|
||||
selection->Collapse(selNode, start);
|
||||
if (start != end) {
|
||||
selection->Extend(selNode, end);
|
||||
|
@ -400,7 +400,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||
}
|
||||
|
||||
if (!retVal) {
|
||||
gfxCriticalNote << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize << ", Data: " << hexa(aData) << ", Stride: " << aStride;
|
||||
gfxCriticalNote << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize << ", Data: " << hexa((void *)aData) << ", Stride: " << aStride;
|
||||
}
|
||||
|
||||
return retVal.forget();
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "ReadbackManagerD3D11.h"
|
||||
#include "mozilla/gfx/DeviceManagerDx.h"
|
||||
#include "mozilla/gfx/Logging.h"
|
||||
#include "mozilla/layers/CompositorBridgeChild.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@ -1194,11 +1195,42 @@ CompositingRenderTargetD3D11::GetSize() const
|
||||
return TextureSourceD3D11::GetSize();
|
||||
}
|
||||
|
||||
SyncObjectD3D11::SyncObjectD3D11(SyncHandle aHandle)
|
||||
SyncObjectD3D11::SyncObjectD3D11(SyncHandle aSyncHandle)
|
||||
: mSyncHandle(aSyncHandle)
|
||||
{
|
||||
MOZ_ASSERT(aHandle);
|
||||
}
|
||||
|
||||
mHandle = aHandle;
|
||||
bool
|
||||
SyncObjectD3D11::Init()
|
||||
{
|
||||
if (mKeyedMutex) {
|
||||
return true;
|
||||
}
|
||||
|
||||
RefPtr<ID3D11Device> device = DeviceManagerDx::Get()->GetContentDevice();
|
||||
|
||||
HRESULT hr = device->OpenSharedResource(
|
||||
mSyncHandle,
|
||||
__uuidof(ID3D11Texture2D),
|
||||
(void**)(ID3D11Texture2D**)getter_AddRefs(mD3D11Texture));
|
||||
if (FAILED(hr) || !mD3D11Texture) {
|
||||
gfxCriticalNote << "Failed to OpenSharedResource for SyncObjectD3D11: " << hexa(hr);
|
||||
if (!CompositorBridgeChild::CompositorIsInGPUProcess() &&
|
||||
!DeviceManagerDx::Get()->HasDeviceReset())
|
||||
{
|
||||
gfxDevCrash(LogReason::D3D11FinalizeFrame) << "Without device reset: " << hexa(hr);
|
||||
}
|
||||
}
|
||||
|
||||
hr = mD3D11Texture->QueryInterface(__uuidof(IDXGIKeyedMutex), getter_AddRefs(mKeyedMutex));
|
||||
if (FAILED(hr) || !mKeyedMutex) {
|
||||
// Leave both the critical error and MOZ_CRASH for now; the critical error lets
|
||||
// us "save" the hr value. We will probably eventuall replace this with gfxDevCrash.
|
||||
gfxCriticalError() << "Failed to get KeyedMutex (2): " << hexa(hr);
|
||||
MOZ_CRASH("GFX: Cannot get D3D11 KeyedMutex");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
@ -1210,71 +1242,44 @@ SyncObjectD3D11::RegisterTexture(ID3D11Texture2D* aTexture)
|
||||
void
|
||||
SyncObjectD3D11::FinalizeFrame()
|
||||
{
|
||||
if (!mD3D11SyncedTextures.size()) {
|
||||
return;
|
||||
}
|
||||
if (!Init()) {
|
||||
return;
|
||||
}
|
||||
|
||||
HRESULT hr;
|
||||
AutoTextureLock lock(mKeyedMutex, hr, 20000);
|
||||
|
||||
if (!mD3D11Texture && mD3D11SyncedTextures.size()) {
|
||||
RefPtr<ID3D11Device> device = DeviceManagerDx::Get()->GetContentDevice();
|
||||
|
||||
hr = device->OpenSharedResource(mHandle, __uuidof(ID3D11Texture2D), (void**)(ID3D11Texture2D**)getter_AddRefs(mD3D11Texture));
|
||||
|
||||
if (FAILED(hr) || !mD3D11Texture) {
|
||||
gfxCriticalError() << "Failed to D3D11 OpenSharedResource for frame finalization: " << hexa(hr);
|
||||
|
||||
if (DeviceManagerDx::Get()->HasDeviceReset()) {
|
||||
return;
|
||||
}
|
||||
|
||||
gfxDevCrash(LogReason::D3D11FinalizeFrame) << "Without device reset: " << hexa(hr);
|
||||
}
|
||||
|
||||
// test QI
|
||||
RefPtr<IDXGIKeyedMutex> mutex;
|
||||
hr = mD3D11Texture->QueryInterface((IDXGIKeyedMutex**)getter_AddRefs(mutex));
|
||||
|
||||
if (FAILED(hr) || !mutex) {
|
||||
// Leave both the critical error and MOZ_CRASH for now; the critical error lets
|
||||
// us "save" the hr value. We will probably eventuall replace this with gfxDevCrash.
|
||||
gfxCriticalError() << "Failed to get KeyedMutex (2): " << hexa(hr);
|
||||
MOZ_CRASH("GFX: Cannot get D3D11 KeyedMutex");
|
||||
if (hr == WAIT_TIMEOUT) {
|
||||
if (DeviceManagerDx::Get()->HasDeviceReset()) {
|
||||
gfxWarning() << "AcquireSync timed out because of device reset.";
|
||||
return;
|
||||
}
|
||||
gfxDevCrash(LogReason::D3D11SyncLock) << "Timeout on the D3D11 sync lock";
|
||||
}
|
||||
|
||||
if (mD3D11SyncedTextures.size()) {
|
||||
RefPtr<IDXGIKeyedMutex> mutex;
|
||||
hr = mD3D11Texture->QueryInterface((IDXGIKeyedMutex**)getter_AddRefs(mutex));
|
||||
{
|
||||
AutoTextureLock lock(mutex, hr, 20000);
|
||||
D3D11_BOX box;
|
||||
box.front = box.top = box.left = 0;
|
||||
box.back = box.bottom = box.right = 1;
|
||||
|
||||
if (hr == WAIT_TIMEOUT) {
|
||||
if (DeviceManagerDx::Get()->HasDeviceReset()) {
|
||||
gfxWarning() << "AcquireSync timed out because of device reset.";
|
||||
return;
|
||||
}
|
||||
gfxDevCrash(LogReason::D3D11SyncLock) << "Timeout on the D3D11 sync lock";
|
||||
}
|
||||
|
||||
D3D11_BOX box;
|
||||
box.front = box.top = box.left = 0;
|
||||
box.back = box.bottom = box.right = 1;
|
||||
|
||||
RefPtr<ID3D11Device> dev = DeviceManagerDx::Get()->GetContentDevice();
|
||||
if (!dev) {
|
||||
if (DeviceManagerDx::Get()->HasDeviceReset()) {
|
||||
return;
|
||||
}
|
||||
MOZ_CRASH("GFX: Invalid D3D11 content device");
|
||||
}
|
||||
|
||||
RefPtr<ID3D11DeviceContext> ctx;
|
||||
dev->GetImmediateContext(getter_AddRefs(ctx));
|
||||
|
||||
for (auto iter = mD3D11SyncedTextures.begin(); iter != mD3D11SyncedTextures.end(); iter++) {
|
||||
ctx->CopySubresourceRegion(mD3D11Texture, 0, 0, 0, 0, *iter, 0, &box);
|
||||
}
|
||||
RefPtr<ID3D11Device> dev = DeviceManagerDx::Get()->GetContentDevice();
|
||||
if (!dev) {
|
||||
if (DeviceManagerDx::Get()->HasDeviceReset()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mD3D11SyncedTextures.clear();
|
||||
MOZ_CRASH("GFX: Invalid D3D11 content device");
|
||||
}
|
||||
|
||||
RefPtr<ID3D11DeviceContext> ctx;
|
||||
dev->GetImmediateContext(getter_AddRefs(ctx));
|
||||
|
||||
for (auto iter = mD3D11SyncedTextures.begin(); iter != mD3D11SyncedTextures.end(); iter++) {
|
||||
ctx->CopySubresourceRegion(mD3D11Texture, 0, 0, 0, 0, *iter, 0, &box);
|
||||
}
|
||||
|
||||
mD3D11SyncedTextures.clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -421,9 +421,13 @@ public:
|
||||
void RegisterTexture(ID3D11Texture2D* aTexture);
|
||||
|
||||
private:
|
||||
bool Init();
|
||||
|
||||
private:
|
||||
SyncHandle mSyncHandle;
|
||||
RefPtr<ID3D11Texture2D> mD3D11Texture;
|
||||
RefPtr<IDXGIKeyedMutex> mKeyedMutex;
|
||||
std::vector<ID3D11Texture2D*> mD3D11SyncedTextures;
|
||||
SyncHandle mHandle;
|
||||
};
|
||||
|
||||
inline uint32_t GetMaxTextureSizeForFeatureLevel(D3D_FEATURE_LEVEL aFeatureLevel)
|
||||
|
@ -296,6 +296,24 @@ CompositorBridgeChild::ChildProcessHasCompositorBridge()
|
||||
return sCompositorBridge != nullptr;
|
||||
}
|
||||
|
||||
/* static */ bool
|
||||
CompositorBridgeChild::CompositorIsInGPUProcess()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
if (XRE_IsParentProcess()) {
|
||||
return !!GPUProcessManager::Get()->GetGPUChild();
|
||||
}
|
||||
|
||||
MOZ_ASSERT(XRE_IsContentProcess());
|
||||
CompositorBridgeChild* bridge = CompositorBridgeChild::Get();
|
||||
if (!bridge) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return bridge->OtherPid() != dom::ContentChild::GetSingleton()->OtherPid();
|
||||
}
|
||||
|
||||
PLayerTransactionChild*
|
||||
CompositorBridgeChild::AllocPLayerTransactionChild(const nsTArray<LayersBackend>& aBackendHints,
|
||||
const uint64_t& aId,
|
||||
|
@ -88,6 +88,10 @@ public:
|
||||
|
||||
static bool ChildProcessHasCompositorBridge();
|
||||
|
||||
// Returns whether the compositor is in the GPU process (false if in the UI
|
||||
// process). This may only be called on the main thread.
|
||||
static bool CompositorIsInGPUProcess();
|
||||
|
||||
void AddOverfillObserver(ClientLayerManager* aLayerManager);
|
||||
|
||||
virtual mozilla::ipc::IPCResult
|
||||
|
@ -23,7 +23,7 @@ load 370967.html
|
||||
load 373586-1.xhtml
|
||||
load 375299.html
|
||||
load 378369.html
|
||||
asserts(4-10) load 378413-1.xhtml # bug 424225, bug 402850?
|
||||
load 378413-1.xhtml
|
||||
load 380116-1.xhtml
|
||||
load 382212-1.xhtml
|
||||
load 382610-1.html
|
||||
|
@ -110,6 +110,7 @@ public:
|
||||
virtual void ComputeInvalidationRegion(nsDisplayListBuilder* aBuilder,
|
||||
const nsDisplayItemGeometry* aGeometry,
|
||||
nsRegion *aInvalidRegion) override;
|
||||
virtual nsRect GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap) override;
|
||||
NS_DISPLAY_DECL_NAME("FieldSetBorderBackground", TYPE_FIELDSET_BORDER_BACKGROUND)
|
||||
};
|
||||
|
||||
@ -155,6 +156,19 @@ nsDisplayFieldSetBorderBackground::ComputeInvalidationRegion(nsDisplayListBuilde
|
||||
nsDisplayItem::ComputeInvalidationRegion(aBuilder, aGeometry, aInvalidRegion);
|
||||
}
|
||||
|
||||
nsRect
|
||||
nsDisplayFieldSetBorderBackground::GetBounds(nsDisplayListBuilder* aBuilder,
|
||||
bool* aSnap)
|
||||
{
|
||||
// Just go ahead and claim our frame's overflow rect as the bounds, because we
|
||||
// may have border-image-outset or other features that cause borders to extend
|
||||
// outside the border rect. We could try to duplicate all the complexity
|
||||
// nsDisplayBorder has here, but keeping things in sync would be a pain, and
|
||||
// this code is not typically performance-sensitive.
|
||||
*aSnap = false;
|
||||
return Frame()->GetVisualOverflowRectRelativeToSelf() + ToReferenceFrame();
|
||||
}
|
||||
|
||||
void
|
||||
nsFieldSetFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
const nsRect& aDirtyRect,
|
||||
@ -217,14 +231,12 @@ nsFieldSetFrame::PaintBorder(
|
||||
nsPoint aPt,
|
||||
const nsRect& aDirtyRect)
|
||||
{
|
||||
// if the border is smaller than the legend. Move the border down
|
||||
// to be centered on the legend.
|
||||
// If the border is smaller than the legend, move the border down
|
||||
// to be centered on the legend. We call VisualBorderRectRelativeToSelf() to
|
||||
// compute the border positioning.
|
||||
// FIXME: This means border-radius clamping is incorrect; we should
|
||||
// override nsIFrame::GetBorderRadii.
|
||||
WritingMode wm = GetWritingMode();
|
||||
nsRect rect = VisualBorderRectRelativeToSelf();
|
||||
nscoord off = wm.IsVertical() ? rect.x : rect.y;
|
||||
rect += aPt;
|
||||
nsRect rect = VisualBorderRectRelativeToSelf() + aPt;
|
||||
nsPresContext* presContext = PresContext();
|
||||
|
||||
PaintBorderFlags borderFlags = aBuilder->ShouldSyncDecodeImages()
|
||||
@ -237,55 +249,39 @@ nsFieldSetFrame::PaintBorder(
|
||||
this, rect);
|
||||
|
||||
if (nsIFrame* legend = GetLegend()) {
|
||||
Side legendSide = wm.PhysicalSide(eLogicalSideBStart);
|
||||
nscoord legendBorderWidth =
|
||||
StyleBorder()->GetComputedBorderWidth(legendSide);
|
||||
// We want to avoid drawing our border under the legend, so clip out the
|
||||
// legend while drawing our border. We don't want to use mLegendRect here,
|
||||
// because we do want to draw our border under the legend's inline-start and
|
||||
// -end margins. And we use GetNormalRect(), not GetRect(), because we do
|
||||
// not want relative positioning applied to the legend to change how our
|
||||
// border looks.
|
||||
nsRect legendRect = legend->GetNormalRect() + aPt;
|
||||
|
||||
// Use the rect of the legend frame, not mLegendRect, so we draw our
|
||||
// border under the legend's inline-start and -end margins.
|
||||
LogicalRect legendRect(wm, legend->GetRect() + aPt, rect.Size());
|
||||
|
||||
// Compute clipRect using logical coordinates, so that the legend space
|
||||
// will be clipped out of the appropriate physical side depending on mode.
|
||||
LogicalRect clipRect = LogicalRect(wm, rect, rect.Size());
|
||||
DrawTarget* drawTarget = aRenderingContext.GetDrawTarget();
|
||||
gfxContext* gfx = aRenderingContext.ThebesContext();
|
||||
// We set up a clip path which has our rect clockwise and the legend rect
|
||||
// counterclockwise, with FILL_WINDING as the fill rule. That will allow us
|
||||
// to paint within our rect but outside the legend rect. For "our rect" we
|
||||
// use our visual overflow rect (relative to ourselves, so it's not affected
|
||||
// by transforms), because we can have borders sticking outside our border
|
||||
// box (e.g. due to border-image-outset).
|
||||
RefPtr<PathBuilder> pathBuilder =
|
||||
drawTarget->CreatePathBuilder(FillRule::FILL_WINDING);
|
||||
int32_t appUnitsPerDevPixel = presContext->AppUnitsPerDevPixel();
|
||||
AppendRectToPath(pathBuilder,
|
||||
NSRectToSnappedRect(GetVisualOverflowRectRelativeToSelf() + aPt,
|
||||
appUnitsPerDevPixel,
|
||||
*drawTarget),
|
||||
true);
|
||||
AppendRectToPath(pathBuilder,
|
||||
NSRectToSnappedRect(legendRect, appUnitsPerDevPixel,
|
||||
*drawTarget),
|
||||
false);
|
||||
RefPtr<Path> clipPath = pathBuilder->Finish();
|
||||
|
||||
// draw inline-start portion of the block-start side of the border
|
||||
clipRect.ISize(wm) = legendRect.IStart(wm) - clipRect.IStart(wm);
|
||||
clipRect.BSize(wm) = legendBorderWidth;
|
||||
gfxContext* gfx = aRenderingContext.ThebesContext();
|
||||
|
||||
gfx->Save();
|
||||
gfx->Clip(NSRectToSnappedRect(clipRect.GetPhysicalRect(wm, rect.Size()),
|
||||
appUnitsPerDevPixel, *drawTarget));
|
||||
result &=
|
||||
nsCSSRendering::PaintBorder(presContext, aRenderingContext, this,
|
||||
aDirtyRect, rect, mStyleContext, borderFlags);
|
||||
gfx->Restore();
|
||||
|
||||
// draw inline-end portion of the block-start side of the border
|
||||
clipRect = LogicalRect(wm, rect, rect.Size());
|
||||
clipRect.ISize(wm) = clipRect.IEnd(wm) - legendRect.IEnd(wm);
|
||||
clipRect.IStart(wm) = legendRect.IEnd(wm);
|
||||
clipRect.BSize(wm) = legendBorderWidth;
|
||||
|
||||
gfx->Save();
|
||||
gfx->Clip(NSRectToSnappedRect(clipRect.GetPhysicalRect(wm, rect.Size()),
|
||||
appUnitsPerDevPixel, *drawTarget));
|
||||
result &=
|
||||
nsCSSRendering::PaintBorder(presContext, aRenderingContext, this,
|
||||
aDirtyRect, rect, mStyleContext, borderFlags);
|
||||
gfx->Restore();
|
||||
|
||||
// draw remainder of the border (omitting the block-start side)
|
||||
clipRect = LogicalRect(wm, rect, rect.Size());
|
||||
clipRect.BStart(wm) += legendBorderWidth;
|
||||
clipRect.BSize(wm) = BSize(wm) - (off + legendBorderWidth);
|
||||
|
||||
gfx->Save();
|
||||
gfx->Clip(NSRectToSnappedRect(clipRect.GetPhysicalRect(wm, rect.Size()),
|
||||
appUnitsPerDevPixel, *drawTarget));
|
||||
gfx->Clip(clipPath);
|
||||
result &=
|
||||
nsCSSRendering::PaintBorder(presContext, aRenderingContext, this,
|
||||
aDirtyRect, rect, mStyleContext, borderFlags);
|
||||
@ -345,42 +341,6 @@ nsFieldSetFrame::GetPrefISize(nsRenderingContext* aRenderingContext)
|
||||
}
|
||||
|
||||
/* virtual */
|
||||
LogicalSize
|
||||
nsFieldSetFrame::ComputeSize(nsRenderingContext *aRenderingContext,
|
||||
WritingMode aWM,
|
||||
const LogicalSize& aCBSize,
|
||||
nscoord aAvailableISize,
|
||||
const LogicalSize& aMargin,
|
||||
const LogicalSize& aBorder,
|
||||
const LogicalSize& aPadding,
|
||||
ComputeSizeFlags aFlags)
|
||||
{
|
||||
LogicalSize result =
|
||||
nsContainerFrame::ComputeSize(aRenderingContext, aWM,
|
||||
aCBSize, aAvailableISize,
|
||||
aMargin, aBorder, aPadding, aFlags);
|
||||
|
||||
// XXX The code below doesn't make sense if the caller's writing mode
|
||||
// is orthogonal to this frame's. Not sure yet what should happen then;
|
||||
// for now, just bail out.
|
||||
if (aWM.IsVertical() != GetWritingMode().IsVertical()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
// Fieldsets never shrink below their min width.
|
||||
|
||||
// If we're a container for font size inflation, then shrink
|
||||
// wrapping inside of us should not apply font size inflation.
|
||||
AutoMaybeDisableFontInflation an(this);
|
||||
|
||||
nscoord minISize = GetMinISize(aRenderingContext);
|
||||
if (minISize > result.ISize(aWM)) {
|
||||
result.ISize(aWM) = minISize;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void
|
||||
nsFieldSetFrame::Reflow(nsPresContext* aPresContext,
|
||||
ReflowOutput& aDesiredSize,
|
||||
@ -428,18 +388,6 @@ nsFieldSetFrame::Reflow(nsPresContext* aPresContext,
|
||||
LogicalSize legendAvailSize = aReflowInput.ComputedSizeWithPadding(legendWM);
|
||||
innerAvailSize.BSize(innerWM) = legendAvailSize.BSize(legendWM) =
|
||||
NS_UNCONSTRAINEDSIZE;
|
||||
NS_ASSERTION(!inner ||
|
||||
nsLayoutUtils::IntrinsicForContainer(aReflowInput.mRenderingContext,
|
||||
inner,
|
||||
nsLayoutUtils::MIN_ISIZE) <=
|
||||
innerAvailSize.ISize(innerWM),
|
||||
"Bogus availSize.ISize; should be bigger");
|
||||
NS_ASSERTION(!legend ||
|
||||
nsLayoutUtils::IntrinsicForContainer(aReflowInput.mRenderingContext,
|
||||
legend,
|
||||
nsLayoutUtils::MIN_ISIZE) <=
|
||||
legendAvailSize.ISize(legendWM),
|
||||
"Bogus availSize.ISize; should be bigger");
|
||||
|
||||
// get our border and padding
|
||||
LogicalMargin border = aReflowInput.ComputedLogicalBorderPadding() -
|
||||
@ -603,11 +551,8 @@ nsFieldSetFrame::Reflow(nsPresContext* aPresContext,
|
||||
MOZ_ASSERT_UNREACHABLE("unexpected GetLogicalAlign value");
|
||||
}
|
||||
} else {
|
||||
// otherwise make place for the legend
|
||||
// otherwise just start-align it.
|
||||
mLegendRect.IStart(wm) = innerContentRect.IStart(wm);
|
||||
innerContentRect.ISize(wm) = mLegendRect.ISize(wm);
|
||||
contentRect.ISize(wm) = mLegendRect.ISize(wm) +
|
||||
aReflowInput.ComputedLogicalPadding().IStartEnd(wm);
|
||||
}
|
||||
|
||||
// place the legend
|
||||
|
@ -24,15 +24,6 @@ public:
|
||||
nsLayoutUtils::IntrinsicISizeType);
|
||||
virtual nscoord GetMinISize(nsRenderingContext* aRenderingContext) override;
|
||||
virtual nscoord GetPrefISize(nsRenderingContext* aRenderingContext) override;
|
||||
virtual mozilla::LogicalSize
|
||||
ComputeSize(nsRenderingContext *aRenderingContext,
|
||||
mozilla::WritingMode aWritingMode,
|
||||
const mozilla::LogicalSize& aCBSize,
|
||||
nscoord aAvailableISize,
|
||||
const mozilla::LogicalSize& aMargin,
|
||||
const mozilla::LogicalSize& aBorder,
|
||||
const mozilla::LogicalSize& aPadding,
|
||||
ComputeSizeFlags aFlags) override;
|
||||
virtual nscoord GetLogicalBaseline(mozilla::WritingMode aWritingMode) const override;
|
||||
|
||||
/**
|
||||
|
@ -47,22 +47,3 @@ nsGfxCheckboxControlFrame::AccessibleType()
|
||||
return a11y::eHTMLCheckboxType;
|
||||
}
|
||||
#endif
|
||||
|
||||
//------------------------------------------------------------
|
||||
bool
|
||||
nsGfxCheckboxControlFrame::IsChecked()
|
||||
{
|
||||
nsCOMPtr<nsIDOMHTMLInputElement> elem(do_QueryInterface(mContent));
|
||||
bool retval = false;
|
||||
elem->GetChecked(&retval);
|
||||
return retval;
|
||||
}
|
||||
|
||||
bool
|
||||
nsGfxCheckboxControlFrame::IsIndeterminate()
|
||||
{
|
||||
nsCOMPtr<nsIDOMHTMLInputElement> elem(do_QueryInterface(mContent));
|
||||
bool retval = false;
|
||||
elem->GetIndeterminate(&retval);
|
||||
return retval;
|
||||
}
|
||||
|
@ -25,11 +25,6 @@ public:
|
||||
#ifdef ACCESSIBILITY
|
||||
virtual mozilla::a11y::AccType AccessibleType() override;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
|
||||
bool IsChecked();
|
||||
bool IsIndeterminate();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -26,7 +26,10 @@ fieldset { border-right:7px solid blue; font-size: 16px; }
|
||||
|
||||
#test5 { position:fixed; top:12em; width:200px; }
|
||||
#test5 fieldset { background:lime;}
|
||||
#test5 .legend { margin-left: 193px; background:pink; }
|
||||
/* Percentage margins don't get counted in intrinsic width, so make sure that
|
||||
our fixed-size margins sum to 0, so they also do not affect intrinsic width
|
||||
either. */
|
||||
#test5 .legend { margin-left: 193px; background:pink; margin-right: -193px; }
|
||||
|
||||
#test6 { position:fixed; left:20px; top:15em; width:400px; }
|
||||
#test6 fieldset { width:300px; }
|
||||
|
@ -5,7 +5,7 @@ fuzzy-if(skiaContent,2,6) needs-focus == select-dyn-disabled.html select-disable
|
||||
fuzzy-if(skiaContent,1,3) needs-focus == select-dyn-not-disabled.html select-ref.html
|
||||
needs-focus == select-required-invalid.html select-required-ref.html
|
||||
needs-focus == select-required-valid.html select-required-ref.html
|
||||
needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html
|
||||
needs-focus == select-required-multiple-still-valid.html select-required-multiple-ref.html
|
||||
fuzzy-if(skiaContent,1,250) needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
|
||||
fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
|
||||
fails-if(Android) fuzzy-if(skiaContent&&!Android,2,3) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
|
||||
|
@ -1,10 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!-- Test: if select is required and has all selected option value set to the
|
||||
string string, :valid should not apply. -->
|
||||
<!-- Test: if select is required and has all selected option values set to the
|
||||
empty string, :invalid should still not apply. -->
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<select class='notvalid' required multiple>
|
||||
<select class='notinvalid' required multiple>
|
||||
<option selected></option>
|
||||
<option selected value="">foo</option>
|
||||
</select>
|
@ -5,7 +5,7 @@ fuzzy-if(skiaContent,1,5) needs-focus == select-dyn-disabled.html select-disable
|
||||
fuzzy-if(skiaContent,2,5) needs-focus == select-dyn-not-disabled.html select-ref.html
|
||||
needs-focus == select-required-invalid.html select-required-ref.html
|
||||
needs-focus == select-required-valid.html select-required-ref.html
|
||||
needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html
|
||||
needs-focus == select-required-multiple-still-valid.html select-required-multiple-ref.html
|
||||
fuzzy-if(skiaContent,1,250) needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
|
||||
fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
|
||||
fails-if(Android) fuzzy-if(skiaContent&&!Android,1,3) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
|
||||
|
@ -1,10 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!-- Test: if select is required and has all selected option value set to the
|
||||
string string, :invalid should apply. -->
|
||||
empty string, :valid should still apply. -->
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<select class='invalid' required multiple>
|
||||
<select class='valid' required multiple>
|
||||
<option selected></option>
|
||||
<option selected value="">foo</option>
|
||||
</select>
|
BIN
layout/reftests/forms/fieldset/blue-1x1.png
Normal file
BIN
layout/reftests/forms/fieldset/blue-1x1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 69 B |
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
div {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
}
|
||||
</style>
|
||||
<div></div>
|
13
layout/reftests/forms/fieldset/fieldset-border-image-1a.html
Normal file
13
layout/reftests/forms/fieldset/fieldset-border-image-1a.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
}
|
||||
</style>
|
||||
<fieldset></fieldset>
|
13
layout/reftests/forms/fieldset/fieldset-border-image-1b.html
Normal file
13
layout/reftests/forms/fieldset/fieldset-border-image-1b.html
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
}
|
||||
</style>
|
||||
<fieldset><legend></legend></fieldset>
|
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
div {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
transform: scale(0.5);
|
||||
}
|
||||
</style>
|
||||
<div></div>
|
14
layout/reftests/forms/fieldset/fieldset-border-image-2a.html
Normal file
14
layout/reftests/forms/fieldset/fieldset-border-image-2a.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
transform: scale(0.5);
|
||||
}
|
||||
</style>
|
||||
<fieldset></fieldset>
|
14
layout/reftests/forms/fieldset/fieldset-border-image-2b.html
Normal file
14
layout/reftests/forms/fieldset/fieldset-border-image-2b.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
padding: 0;
|
||||
margin: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
border: 10px solid;
|
||||
border-image-source: url(blue-1x1.png);
|
||||
border-image-outset: 10px;
|
||||
transform: scale(0.5);
|
||||
}
|
||||
</style>
|
||||
<fieldset><legend></legend></fieldset>
|
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<fieldset style="width: -moz-fit-content">
|
||||
Longwordgoeshere
|
||||
</fieldset>
|
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<fieldset style="width: 0">
|
||||
Longwordgoeshere
|
||||
</fieldset>
|
@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<body style="width: 0">
|
||||
<fieldset style="width: 0">
|
||||
Longwordgoeshere
|
||||
</fieldset>
|
||||
</body>
|
@ -0,0 +1,2 @@
|
||||
<!DOCTYPE html>
|
||||
<fieldset style="width: -moz-fit-content">‌<!-- To give us the right height --></fieldset>
|
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<fieldset style="width: 0; min-width: 0">
|
||||
<div style="visibility: hidden">Longwordgoeshere</div>
|
||||
</fieldset>
|
@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<body style="width: 0">
|
||||
<fieldset style="min-width: 0">
|
||||
<div style="visibility: hidden">Longwordgoeshere</div>
|
||||
</fieldset>
|
||||
</body>
|
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
width: 0;
|
||||
}
|
||||
legend {
|
||||
width: 100px;
|
||||
height: 20px;
|
||||
background: white;
|
||||
}
|
||||
</style>
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
</fieldset>
|
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
width: 0;
|
||||
}
|
||||
legend {
|
||||
width: 100px;
|
||||
height: 20px;
|
||||
}
|
||||
</style>
|
||||
<fieldset>
|
||||
<legend></legend>
|
||||
</fieldset>
|
@ -8,9 +8,20 @@ fuzzy-if(skiaContent,2,13) == dynamic-legend-scroll-1.html dynamic-legend-scroll
|
||||
fuzzy-if(winWidget&&!layersGPUAccelerated,121,276) == positioned-container-1.html positioned-container-1-ref.html
|
||||
== relpos-legend-1.html relpos-legend-1-ref.html
|
||||
== relpos-legend-2.html relpos-legend-2-ref.html
|
||||
== relpos-legend-3.html relpos-legend-3-ref.html
|
||||
== relpos-legend-4.html relpos-legend-4-ref.html
|
||||
== sticky-legend-1.html sticky-legend-1-ref.html
|
||||
fuzzy-if(skiaContent,1,40768) == abs-pos-child-sizing.html abs-pos-child-sizing-ref.html
|
||||
== overflow-hidden.html overflow-hidden-ref.html
|
||||
== legend-rtl.html legend-rtl-ref.html
|
||||
== fieldset-grid-001.html fieldset-grid-001-ref.html
|
||||
== fieldset-flexbox-001.html fieldset-flexbox-001-ref.html
|
||||
== fieldset-min-width-1a.html fieldset-min-width-1-ref.html
|
||||
== fieldset-min-width-1b.html fieldset-min-width-1-ref.html
|
||||
== fieldset-min-width-2a.html fieldset-min-width-2-ref.html
|
||||
== fieldset-min-width-2b.html fieldset-min-width-2-ref.html
|
||||
== legend-overlapping-right-border-1.html legend-overlapping-right-border-1-ref.html
|
||||
== fieldset-border-image-1a.html fieldset-border-image-1-ref.html
|
||||
== fieldset-border-image-1b.html fieldset-border-image-1-ref.html
|
||||
== fieldset-border-image-2a.html fieldset-border-image-2-ref.html
|
||||
== fieldset-border-image-2b.html fieldset-border-image-2-ref.html
|
||||
|
8
layout/reftests/forms/fieldset/relpos-legend-3-ref.html
Normal file
8
layout/reftests/forms/fieldset/relpos-legend-3-ref.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<fieldset>
|
||||
<legend><div style="position:relative; left:20px">Legend</div></legend>
|
||||
</fieldset>
|
||||
</body>
|
||||
</html>
|
8
layout/reftests/forms/fieldset/relpos-legend-3.html
Normal file
8
layout/reftests/forms/fieldset/relpos-legend-3.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<fieldset>
|
||||
<legend style="position:relative; left:20px">Legend</legend>
|
||||
</fieldset>
|
||||
</body>
|
||||
</html>
|
8
layout/reftests/forms/fieldset/relpos-legend-4-ref.html
Normal file
8
layout/reftests/forms/fieldset/relpos-legend-4-ref.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<fieldset>
|
||||
<legend><span style="position:relative; left:20px">Legend</span></legend>
|
||||
</fieldset>
|
||||
</body>
|
||||
</html>
|
8
layout/reftests/forms/fieldset/relpos-legend-4.html
Normal file
8
layout/reftests/forms/fieldset/relpos-legend-4.html
Normal file
@ -0,0 +1,8 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<body>
|
||||
<fieldset>
|
||||
<legend style="display:inline; position:relative; left:20px">Legend</legend>
|
||||
</fieldset>
|
||||
</body>
|
||||
</html>
|
@ -97,7 +97,7 @@ ServoCSSRuleList::InsertRule(const nsAString& aRule, uint32_t aIndex)
|
||||
nsresult rv = Servo_CssRules_InsertRule(mRawRules, mStyleSheet->RawSheet(),
|
||||
&rule, aIndex, nested, &type);
|
||||
if (!NS_FAILED(rv)) {
|
||||
mRules.InsertElementAt(type);
|
||||
mRules.InsertElementAt(aIndex, type);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
@ -443,6 +443,11 @@ static nsSize CalcViewportUnitsScale(nsPresContext* aPresContext)
|
||||
return viewportSize;
|
||||
}
|
||||
|
||||
// If |aStyleFont| is nullptr, aStyleContext->StyleFont() is used.
|
||||
//
|
||||
// In case that |aValue| is rem unit, if |aStyleContext| is null, callers must
|
||||
// specify a valid |aStyleFont| and |aUseProvidedRootEmSize| must be true so
|
||||
// that we can get the length from |aStyleFont|.
|
||||
static nscoord CalcLengthWith(const nsCSSValue& aValue,
|
||||
nscoord aFontSize,
|
||||
const nsStyleFont* aStyleFont,
|
||||
@ -459,8 +464,8 @@ static nscoord CalcLengthWith(const nsCSSValue& aValue,
|
||||
"not a length or calc unit");
|
||||
NS_ASSERTION(aStyleFont || aStyleContext,
|
||||
"Must have style data");
|
||||
NS_ASSERTION(!aStyleFont || !aStyleContext,
|
||||
"Duplicate sources of data");
|
||||
NS_ASSERTION(aStyleContext || aUseProvidedRootEmSize,
|
||||
"Must have style context or specify aUseProvidedRootEmSize");
|
||||
NS_ASSERTION(aPresContext, "Must have prescontext");
|
||||
|
||||
if (aValue.IsFixedLengthUnit()) {
|
||||
@ -555,21 +560,12 @@ static nscoord CalcLengthWith(const nsCSSValue& aValue,
|
||||
} else {
|
||||
// This is not the root element or we are calculating something other
|
||||
// than font size, so rem is relative to the root element's font size.
|
||||
RefPtr<nsStyleContext> rootStyle;
|
||||
const nsStyleFont *rootStyleFont = styleFont;
|
||||
Element* docElement = aPresContext->Document()->GetRootElement();
|
||||
|
||||
if (docElement) {
|
||||
nsIFrame* rootFrame = docElement->GetPrimaryFrame();
|
||||
if (rootFrame) {
|
||||
rootStyle = rootFrame->StyleContext();
|
||||
} else {
|
||||
rootStyle = aPresContext->StyleSet()->AsGecko()->ResolveStyleFor(docElement,
|
||||
nullptr);
|
||||
}
|
||||
rootStyleFont = rootStyle->StyleFont();
|
||||
// Find the root style context by walking up the style context tree.
|
||||
nsStyleContext* rootStyle = aStyleContext;
|
||||
while (rootStyle->GetParent()) {
|
||||
rootStyle = rootStyle->GetParent();
|
||||
}
|
||||
|
||||
const nsStyleFont *rootStyleFont = rootStyle->StyleFont();
|
||||
rootFontSize = rootStyleFont->mFont.size;
|
||||
}
|
||||
|
||||
@ -3364,15 +3360,19 @@ struct SetFontSizeCalcOps : public css::BasicCoordCalcOps,
|
||||
const nscoord mParentSize;
|
||||
const nsStyleFont* const mParentFont;
|
||||
nsPresContext* const mPresContext;
|
||||
nsStyleContext* const mStyleContext;
|
||||
const bool mAtRoot;
|
||||
RuleNodeCacheConditions& mConditions;
|
||||
|
||||
SetFontSizeCalcOps(nscoord aParentSize, const nsStyleFont* aParentFont,
|
||||
nsPresContext* aPresContext, bool aAtRoot,
|
||||
nsPresContext* aPresContext,
|
||||
nsStyleContext* aStyleContext,
|
||||
bool aAtRoot,
|
||||
RuleNodeCacheConditions& aConditions)
|
||||
: mParentSize(aParentSize),
|
||||
mParentFont(aParentFont),
|
||||
mPresContext(aPresContext),
|
||||
mStyleContext(aStyleContext),
|
||||
mAtRoot(aAtRoot),
|
||||
mConditions(aConditions)
|
||||
{
|
||||
@ -3387,7 +3387,7 @@ struct SetFontSizeCalcOps : public css::BasicCoordCalcOps,
|
||||
// between us and the parent is simply ignored.
|
||||
size = CalcLengthWith(aValue, mParentSize,
|
||||
mParentFont,
|
||||
nullptr, mPresContext, mAtRoot,
|
||||
mStyleContext, mPresContext, mAtRoot,
|
||||
true, mConditions);
|
||||
if (!aValue.IsRelativeLengthUnit() && mParentFont->mAllowZoom) {
|
||||
size = nsStyleFont::ZoomText(mPresContext, size);
|
||||
@ -3411,6 +3411,7 @@ struct SetFontSizeCalcOps : public css::BasicCoordCalcOps,
|
||||
|
||||
/* static */ void
|
||||
nsRuleNode::SetFontSize(nsPresContext* aPresContext,
|
||||
nsStyleContext* aContext,
|
||||
const nsRuleData* aRuleData,
|
||||
const nsStyleFont* aFont,
|
||||
const nsStyleFont* aParentFont,
|
||||
@ -3477,7 +3478,8 @@ nsRuleNode::SetFontSize(nsPresContext* aPresContext,
|
||||
sizeValue->GetUnit() == eCSSUnit_Percent ||
|
||||
sizeValue->IsCalcUnit()) {
|
||||
SetFontSizeCalcOps ops(aParentSize, aParentFont,
|
||||
aPresContext, aAtRoot,
|
||||
aPresContext, aContext,
|
||||
aAtRoot,
|
||||
aConditions);
|
||||
*aSize = css::ComputeCalc(*sizeValue, ops);
|
||||
if (*aSize < 0) {
|
||||
@ -3823,7 +3825,7 @@ nsRuleNode::SetFont(nsPresContext* aPresContext, nsStyleContext* aContext,
|
||||
aFont->mScriptMinSize =
|
||||
CalcLengthWith(*scriptMinSizeValue, aParentFont->mSize,
|
||||
aParentFont,
|
||||
nullptr, aPresContext, atRoot, true,
|
||||
aContext, aPresContext, atRoot, true /* aUseUserFontSet */,
|
||||
aConditions);
|
||||
}
|
||||
|
||||
@ -4065,7 +4067,8 @@ nsRuleNode::SetFont(nsPresContext* aPresContext, nsStyleContext* aContext,
|
||||
scriptLevelAdjustedParentSize !=
|
||||
scriptLevelAdjustedUnconstrainedParentSize;
|
||||
|
||||
SetFontSize(aPresContext, aRuleData, aFont, aParentFont,
|
||||
SetFontSize(aPresContext, aContext,
|
||||
aRuleData, aFont, aParentFont,
|
||||
&aFont->mSize,
|
||||
systemFont, aParentFont->mSize, scriptLevelAdjustedParentSize,
|
||||
aUsedStartStruct, atRoot, aConditions);
|
||||
@ -4095,7 +4098,8 @@ nsRuleNode::SetFont(nsPresContext* aPresContext, nsStyleContext* aContext,
|
||||
// already called SetUncacheable.
|
||||
RuleNodeCacheConditions unconstrainedConditions;
|
||||
|
||||
SetFontSize(aPresContext, aRuleData, aFont, aParentFont,
|
||||
SetFontSize(aPresContext, aContext,
|
||||
aRuleData, aFont, aParentFont,
|
||||
&aFont->mScriptUnconstrainedSize,
|
||||
systemFont, aParentFont->mScriptUnconstrainedSize,
|
||||
scriptLevelAdjustedUnconstrainedParentSize,
|
||||
|
@ -755,6 +755,7 @@ protected:
|
||||
|
||||
// helpers for |ComputeFontData| that need access to |mNoneBits|:
|
||||
static void SetFontSize(nsPresContext* aPresContext,
|
||||
nsStyleContext* aContext,
|
||||
const nsRuleData* aRuleData,
|
||||
const nsStyleFont* aFont,
|
||||
const nsStyleFont* aParentFont,
|
||||
|
@ -71,6 +71,7 @@ fieldset {
|
||||
padding-inline-start: 0.625em;
|
||||
padding-inline-end: 0.625em;
|
||||
border: 2px groove ThreeDLightShadow;
|
||||
min-width: -moz-min-content;
|
||||
}
|
||||
|
||||
label {
|
||||
|
@ -586,7 +586,7 @@ public class SearchEngineManager implements SharedPreferences.OnSharedPreference
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (Throwable e) {
|
||||
Log.e(LOG_TAG, "Error creating shipped search engine from name: " + name, e);
|
||||
} finally {
|
||||
try {
|
||||
|
@ -2040,7 +2040,7 @@ var BrowserApp = {
|
||||
// intl.accept_languages is a comma-separated list, with no q-value params. Those
|
||||
// are added when the header is generated.
|
||||
chosen = defaultAccept.split(",")
|
||||
.map(String.trim)
|
||||
.map((x) => x.trim())
|
||||
.filter((x) => (x != appLocale && x != osLocale));
|
||||
} else {
|
||||
chosen = [];
|
||||
|
@ -1235,6 +1235,16 @@ nsHttpChannelAuthProvider::PromptForIdentity(uint32_t level,
|
||||
if (!proxyAuth)
|
||||
mSuppressDefensiveAuth = true;
|
||||
|
||||
if (mConnectionBased) {
|
||||
// Connection can be reset by the server in the meantime user is entering
|
||||
// the credentials. Result would be just a "Connection was reset" error.
|
||||
// Hence, we drop the current regardless if the user would make it on time
|
||||
// to provide credentials.
|
||||
// It's OK to send the NTLM type 1 message (response to the plain "NTLM"
|
||||
// challenge) on a new connection.
|
||||
mAuthChannel->CloseStickyConnection();
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -11,8 +11,6 @@ Can't find hash in builtin certs for Chrome nickname GoDaddySecure, inserting GO
|
||||
Can't find hash in builtin certs for Chrome nickname ThawtePremiumServer, inserting GOOGLE_PIN_ThawtePremiumServer
|
||||
Can't find hash in builtin certs for Chrome nickname SymantecClass3EVG3, inserting GOOGLE_PIN_SymantecClass3EVG3
|
||||
Can't find hash in builtin certs for Chrome nickname DigiCertECCSecureServerCA, inserting GOOGLE_PIN_DigiCertECCSecureServerCA
|
||||
Can't find hash in builtin certs for Chrome nickname LetsEncryptAuthorityPrimary_X1_X3, inserting GOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3
|
||||
Can't find hash in builtin certs for Chrome nickname LetsEncryptAuthorityBackup_X2_X4, inserting GOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4
|
||||
Can't find hash in builtin certs for Chrome nickname COMODORSADomainValidationSecureServerCA, inserting GOOGLE_PIN_COMODORSADomainValidationSecureServerCA
|
||||
Writing pinset test
|
||||
Writing pinset google
|
||||
|
@ -155,14 +155,6 @@ static const char kGOOGLE_PIN_GoDaddySecureFingerprint[] =
|
||||
static const char kGOOGLE_PIN_GoogleG2Fingerprint[] =
|
||||
"7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=";
|
||||
|
||||
/* GOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4 */
|
||||
static const char kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint[] =
|
||||
"sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis=";
|
||||
|
||||
/* GOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3 */
|
||||
static const char kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint[] =
|
||||
"YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";
|
||||
|
||||
/* GOOGLE_PIN_RapidSSL */
|
||||
static const char kGOOGLE_PIN_RapidSSLFingerprint[] =
|
||||
"lT09gPUeQfbYrlxRtpsHrjDblj9Rpz+u7ajfCrg4qDM=";
|
||||
@ -255,6 +247,14 @@ static const char kGo_Daddy_Root_Certificate_Authority___G2Fingerprint[] =
|
||||
static const char kGoogleBackup2048Fingerprint[] =
|
||||
"IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=";
|
||||
|
||||
/* Let's Encrypt Authority X3 */
|
||||
static const char kLet_s_Encrypt_Authority_X3Fingerprint[] =
|
||||
"YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";
|
||||
|
||||
/* Let's Encrypt Authority X4 */
|
||||
static const char kLet_s_Encrypt_Authority_X4Fingerprint[] =
|
||||
"sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis=";
|
||||
|
||||
/* SpiderOak2 */
|
||||
static const char kSpiderOak2Fingerprint[] =
|
||||
"7Y3UnxbffL8aFPXsOJBpGasgpDmngpIhAxGKdQRklQQ=";
|
||||
@ -431,35 +431,11 @@ static const StaticFingerprints kPinset_google_root_pems = {
|
||||
kPinset_google_root_pems_Data
|
||||
};
|
||||
|
||||
static const char* const kPinset_mozilla_Data[] = {
|
||||
kGeoTrust_Global_CA_2Fingerprint,
|
||||
kthawte_Primary_Root_CA___G3Fingerprint,
|
||||
kthawte_Primary_Root_CAFingerprint,
|
||||
kDigiCert_Assured_ID_Root_CAFingerprint,
|
||||
kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
|
||||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
|
||||
kGeoTrust_Primary_Certification_AuthorityFingerprint,
|
||||
kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
|
||||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kBaltimore_CyberTrust_RootFingerprint,
|
||||
kthawte_Primary_Root_CA___G2Fingerprint,
|
||||
kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
|
||||
kGeoTrust_Universal_CA_2Fingerprint,
|
||||
kGeoTrust_Global_CAFingerprint,
|
||||
kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
|
||||
kGeoTrust_Universal_CAFingerprint,
|
||||
kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
|
||||
kDigiCert_Global_Root_CAFingerprint,
|
||||
kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_mozilla = {
|
||||
sizeof(kPinset_mozilla_Data) / sizeof(const char*),
|
||||
kPinset_mozilla_Data
|
||||
};
|
||||
|
||||
static const char* const kPinset_mozilla_services_Data[] = {
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kLet_s_Encrypt_Authority_X3Fingerprint,
|
||||
kDigiCert_Global_Root_CAFingerprint,
|
||||
kLet_s_Encrypt_Authority_X4Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_mozilla_services = {
|
||||
sizeof(kPinset_mozilla_services_Data) / sizeof(const char*),
|
||||
@ -496,10 +472,10 @@ static const StaticFingerprints kPinset_google = {
|
||||
static const char* const kPinset_tor_Data[] = {
|
||||
kTor3Fingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X3Fingerprint,
|
||||
kTor1Fingerprint,
|
||||
kGOOGLE_PIN_RapidSSLFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X4Fingerprint,
|
||||
kTor2Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_tor = {
|
||||
@ -656,9 +632,9 @@ static const StaticFingerprints kPinset_yahoo = {
|
||||
static const char* const kPinset_swehackCom_Data[] = {
|
||||
kSwehackFingerprint,
|
||||
kDST_Root_CA_X3Fingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X3Fingerprint,
|
||||
kGOOGLE_PIN_COMODORSADomainValidationSecureServerCAFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X4Fingerprint,
|
||||
kSwehackBackupFingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_swehackCom = {
|
||||
@ -672,11 +648,11 @@ static const char* const kPinset_nightx_Data[] = {
|
||||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
|
||||
kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
|
||||
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X3Fingerprint,
|
||||
kAddTrust_External_RootFingerprint,
|
||||
kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
|
||||
kDigiCert_Global_Root_CAFingerprint,
|
||||
kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
|
||||
kLet_s_Encrypt_Authority_X4Fingerprint,
|
||||
};
|
||||
static const StaticFingerprints kPinset_nightx = {
|
||||
sizeof(kPinset_nightx_Data) / sizeof(const char*),
|
||||
@ -698,8 +674,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "2mdn.net", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "accounts.firefox.com", true, false, true, 4, &kPinset_mozilla_services },
|
||||
{ "accounts.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla },
|
||||
{ "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla },
|
||||
{ "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla_services },
|
||||
{ "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla_services },
|
||||
{ "admin.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "android.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "api.accounts.firefox.com", true, false, true, 5, &kPinset_mozilla_services },
|
||||
@ -710,8 +686,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "appspot.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "at.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "au.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "aus4.mozilla.org", true, true, true, 3, &kPinset_mozilla },
|
||||
{ "aus5.mozilla.org", true, true, true, 7, &kPinset_mozilla },
|
||||
{ "aus4.mozilla.org", true, true, true, 3, &kPinset_mozilla_services },
|
||||
{ "aus5.mozilla.org", true, true, true, 7, &kPinset_mozilla_services },
|
||||
{ "az.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "be.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "bi.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
@ -725,8 +701,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "business.twitter.com", true, false, false, -1, &kPinset_twitterCom },
|
||||
{ "ca.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "cd.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "cdn.mozilla.net", true, false, true, -1, &kPinset_mozilla },
|
||||
{ "cdn.mozilla.org", true, false, true, -1, &kPinset_mozilla },
|
||||
{ "cdn.mozilla.net", true, false, true, -1, &kPinset_mozilla_services },
|
||||
{ "cdn.mozilla.org", true, false, true, -1, &kPinset_mozilla_services },
|
||||
{ "cg.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "ch.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "chart.apis.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
@ -749,6 +725,9 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "codereview.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "contributor.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "cr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "crash-reports-xpsp2.mozilla.com", false, false, true, 11, &kPinset_mozilla_services },
|
||||
{ "crash-reports.mozilla.com", false, false, true, 10, &kPinset_mozilla_services },
|
||||
{ "crash-stats.mozilla.com", false, false, true, 12, &kPinset_mozilla_services },
|
||||
{ "ct.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "de.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "dev.twitter.com", true, false, false, -1, &kPinset_twitterCom },
|
||||
@ -761,6 +740,7 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "docs.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "domains.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "download.mozilla.org", false, false, true, 14, &kPinset_mozilla_services },
|
||||
{ "drive.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "dropbox.com", true, false, false, -1, &kPinset_dropbox },
|
||||
{ "dropboxstatic.com", false, true, false, -1, &kPinset_dropbox },
|
||||
@ -1104,11 +1084,14 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "stats.g.doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "sv.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "swehack.org", true, true, false, -1, &kPinset_swehackCom },
|
||||
{ "sync.services.mozilla.com", true, false, true, 13, &kPinset_mozilla_services },
|
||||
{ "t.facebook.com", true, false, false, -1, &kPinset_facebook },
|
||||
{ "tablet.facebook.com", true, false, false, -1, &kPinset_facebook },
|
||||
{ "talk.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "talkgadget.google.com", true, false, false, -1, &kPinset_google_root_pems },
|
||||
{ "telemetry.mozilla.org", true, true, true, 8, &kPinset_mozilla_services },
|
||||
{ "test-mode.pinning.example.com", true, true, false, -1, &kPinset_mozilla_test },
|
||||
{ "testpilot.firefox.com", false, false, true, 9, &kPinset_mozilla_services },
|
||||
{ "th.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
{ "torproject.org", false, false, false, -1, &kPinset_tor },
|
||||
{ "touch.facebook.com", true, false, false, -1, &kPinset_facebook },
|
||||
@ -1161,8 +1144,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||
{ "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
|
||||
};
|
||||
|
||||
// Pinning Preload List Length = 464;
|
||||
// Pinning Preload List Length = 471;
|
||||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1488896689084000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1488984302204000);
|
||||
|
@ -1,4 +1,4 @@
|
||||
0.me.uk: could not connect to host
|
||||
0.me.uk: did not receive HSTS header
|
||||
020wifi.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
0p.no: did not receive HSTS header
|
||||
0x.sk: could not connect to host
|
||||
@ -57,6 +57,7 @@ abearofsoap.com: did not receive HSTS header
|
||||
abecodes.net: did not receive HSTS header
|
||||
abilitylist.org: did not receive HSTS header
|
||||
abioniere.de: could not connect to host
|
||||
abloop.com: could not connect to host
|
||||
about.ge: could not connect to host
|
||||
aboutmyip.info: did not receive HSTS header
|
||||
aboutyou-deals.de: did not receive HSTS header
|
||||
@ -102,11 +103,10 @@ adver.top: could not connect to host
|
||||
adviespuntklokkenluiders.nl: did not receive HSTS header
|
||||
aemoria.com: could not connect to host
|
||||
aerialmediapro.net: could not connect to host
|
||||
aes256.ru: did not receive HSTS header
|
||||
aes256.ru: could not connect to host
|
||||
aether.pw: could not connect to host
|
||||
aevpn.net: could not connect to host
|
||||
affinitysync.com: could not connect to host
|
||||
aficionados.com.br: did not receive HSTS header
|
||||
aficotroceni.ro: did not receive HSTS header
|
||||
afp548.tk: could not connect to host
|
||||
afrodigital.uk: could not connect to host
|
||||
@ -145,7 +145,6 @@ alcazaar.com: could not connect to host
|
||||
alecvannoten.be: did not receive HSTS header
|
||||
alenan.org: could not connect to host
|
||||
alessandro.pw: did not receive HSTS header
|
||||
alessandroz.pro: could not connect to host
|
||||
alethearose.com: did not receive HSTS header
|
||||
alexandre.sh: did not receive HSTS header
|
||||
alexhaydock.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 121" data: no]
|
||||
@ -256,11 +255,11 @@ ars.toscana.it: max-age too low: 0
|
||||
artistnetwork.nl: did not receive HSTS header
|
||||
arturkohut.com: could not connect to host
|
||||
as.se: could not connect to host
|
||||
asandu.eu: could not connect to host
|
||||
asasuou.pw: could not connect to host
|
||||
asc16.com: could not connect to host
|
||||
asdpress.cn: could not connect to host
|
||||
aserver.co: could not connect to host
|
||||
ashleymedway.com: could not connect to host
|
||||
asianodor.com: could not connect to host
|
||||
askfit.cz: did not receive HSTS header
|
||||
asmui.ga: could not connect to host
|
||||
@ -280,12 +279,14 @@ atbeckett.com: did not receive HSTS header
|
||||
athaliasoft.com: did not receive HSTS header
|
||||
athenelive.com: could not connect to host
|
||||
athul.xyz: did not receive HSTS header
|
||||
atlantischild.hu: could not connect to host
|
||||
atlex.nl: did not receive HSTS header
|
||||
atomik.pro: could not connect to host
|
||||
atop.io: could not connect to host
|
||||
attimidesigns.com: did not receive HSTS header
|
||||
au.search.yahoo.com: max-age too low: 172800
|
||||
aubiosales.com: did not receive HSTS header
|
||||
aucubin.moe: could not connect to host
|
||||
aufmerksamkeitsstudie.com: could not connect to host
|
||||
aujapan.ru: could not connect to host
|
||||
aurainfosec.com.au: could not connect to host
|
||||
@ -339,6 +340,7 @@ bckp.de: could not connect to host
|
||||
bcm.com.au: max-age too low: 0
|
||||
bcnx.de: max-age too low: 0
|
||||
bcsytv.com: could not connect to host
|
||||
bdikaros-network.net: could not connect to host
|
||||
be.search.yahoo.com: did not receive HSTS header
|
||||
beach-inspector.com: did not receive HSTS header
|
||||
beachi.es: could not connect to host
|
||||
@ -374,7 +376,7 @@ bettween.com: could not connect to host
|
||||
betz.ro: did not receive HSTS header
|
||||
beulahtabernacle.com: could not connect to host
|
||||
bevapehappy.com: did not receive HSTS header
|
||||
bezorg.ninja: could not connect to host
|
||||
bezorg.ninja: did not receive HSTS header
|
||||
bf.am: max-age too low: 0
|
||||
bgcparkstad.nl: did not receive HSTS header
|
||||
bgmn.net: could not connect to host
|
||||
@ -395,7 +397,6 @@ binderapp.net: could not connect to host
|
||||
biofam.ru: did not receive HSTS header
|
||||
biophysik-ssl.de: did not receive HSTS header
|
||||
bioshome.de: could not connect to host
|
||||
birkhoff.me: could not connect to host
|
||||
birkman.com: did not receive HSTS header
|
||||
bismarck.moe: did not receive HSTS header
|
||||
bitchan.it: could not connect to host
|
||||
@ -438,6 +439,7 @@ blucas.org: did not receive HSTS header
|
||||
blueliv.com: did not receive HSTS header
|
||||
bluetenmeer.com: did not receive HSTS header
|
||||
bm-trading.nl: did not receive HSTS header
|
||||
bmone.net: could not connect to host
|
||||
bngsecure.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
bobiji.com: did not receive HSTS header
|
||||
bodyblog.nl: did not receive HSTS header
|
||||
@ -459,12 +461,10 @@ bootjp.me: did not receive HSTS header
|
||||
boringsecurity.net: could not connect to host
|
||||
boris.one: did not receive HSTS header
|
||||
botox.bz: did not receive HSTS header
|
||||
bougeret.fr: could not connect to host
|
||||
bouwbedrijfpurmerend.nl: did not receive HSTS header
|
||||
bowlroll.net: max-age too low: 0
|
||||
boxcryptor.com: did not receive HSTS header
|
||||
br3in.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
brage.info: could not connect to host
|
||||
brain-e.co: could not connect to host
|
||||
braineet.com: did not receive HSTS header
|
||||
brainfork.ml: could not connect to host
|
||||
@ -490,6 +490,7 @@ browserid.org: did not receive HSTS header
|
||||
brunix.net: did not receive HSTS header
|
||||
bsagan.fr: could not connect to host
|
||||
bsdtips.com: could not connect to host
|
||||
bsquared.org: could not connect to host
|
||||
btcdlc.com: could not connect to host
|
||||
buchheld.at: did not receive HSTS header
|
||||
budgetthostels.nl: did not receive HSTS header
|
||||
@ -526,7 +527,6 @@ cabarave.com: could not connect to host
|
||||
cabusar.fr: could not connect to host
|
||||
caconnect.org: could not connect to host
|
||||
cadao.me: did not receive HSTS header
|
||||
cadmail.nl: could not connect to host
|
||||
cadusilva.com: did not receive HSTS header
|
||||
cafe-scientifique.org.ec: could not connect to host
|
||||
caim.cz: did not receive HSTS header
|
||||
@ -549,6 +549,7 @@ cannyfoxx.me: could not connect to host
|
||||
canyonshoa.com: did not receive HSTS header
|
||||
capecycles.co.za: did not receive HSTS header
|
||||
captchatheprize.com: could not connect to host
|
||||
capturethepen.co.uk: could not connect to host
|
||||
car-navi.ph: did not receive HSTS header
|
||||
carano-service.de: did not receive HSTS header
|
||||
caraudio69.cz: could not connect to host
|
||||
@ -608,7 +609,6 @@ chateauconstellation.ch: did not receive HSTS header
|
||||
chatup.cf: could not connect to host
|
||||
chaulootz.com: could not connect to host
|
||||
chcemvediet.sk: max-age too low: 1555200
|
||||
cheapgeekts.com: could not connect to host
|
||||
chebedara.com: could not connect to host
|
||||
checkout.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
cheerflow.com: could not connect to host
|
||||
@ -706,6 +706,7 @@ compalytics.com: could not connect to host
|
||||
comparejewelleryprices.co.uk: could not connect to host
|
||||
completionist.audio: could not connect to host
|
||||
computeremergency.com.au: did not receive HSTS header
|
||||
computersystems.guru: could not connect to host
|
||||
concord-group.co.jp: did not receive HSTS header
|
||||
condesaelectronics.com: max-age too low: 0
|
||||
confirm365.com: could not connect to host
|
||||
@ -733,6 +734,7 @@ corruption-rsps.net: could not connect to host
|
||||
corruption-server.net: could not connect to host
|
||||
corzntin.fr: could not connect to host
|
||||
count.sh: could not connect to host
|
||||
couragefound.org: could not connect to host
|
||||
couragewhispers.ca: did not receive HSTS header
|
||||
coursdeprogrammation.com: could not connect to host
|
||||
coursella.com: did not receive HSTS header
|
||||
@ -751,7 +753,6 @@ crazyhotseeds.com: did not receive HSTS header
|
||||
creativephysics.ml: could not connect to host
|
||||
creativeplayuk.com: did not receive HSTS header
|
||||
crendontech.com: could not connect to host
|
||||
crestasantos.com: could not connect to host
|
||||
crestoncottage.com: could not connect to host
|
||||
criena.net: could not connect to host
|
||||
critical.today: could not connect to host
|
||||
@ -797,7 +798,7 @@ cybershambles.com: could not connect to host
|
||||
cycleluxembourg.lu: did not receive HSTS header
|
||||
cydia-search.io: could not connect to host
|
||||
cyphertite.com: could not connect to host
|
||||
cysec.biz: could not connect to host
|
||||
d3xt3r01.tk: could not connect to host
|
||||
dad256.tk: could not connect to host
|
||||
dah5.com: did not receive HSTS header
|
||||
dailystormerpodcasts.com: did not receive HSTS header
|
||||
@ -808,7 +809,6 @@ daniel-steuer.de: did not receive HSTS header
|
||||
danieldk.eu: did not receive HSTS header
|
||||
danielworthy.com: did not receive HSTS header
|
||||
danijobs.com: could not connect to host
|
||||
dannyrohde.de: could not connect to host
|
||||
danpiel.net: could not connect to host
|
||||
danrl.de: did not receive HSTS header
|
||||
daolerp.xyz: could not connect to host
|
||||
@ -837,8 +837,10 @@ datenreiter.gq: could not connect to host
|
||||
datenreiter.ml: could not connect to host
|
||||
datenreiter.tk: could not connect to host
|
||||
datewon.net: did not receive HSTS header
|
||||
davescomputertips.com: did not receive HSTS header
|
||||
davidglidden.eu: could not connect to host
|
||||
davidhunter.scot: did not receive HSTS header
|
||||
davidmcevoy.org.uk: could not connect to host
|
||||
davidmessenger.co.uk: could not connect to host
|
||||
davidreinhardt.de: could not connect to host
|
||||
davidscherzer.at: could not connect to host
|
||||
@ -907,7 +909,6 @@ discovery.lookout.com: did not receive HSTS header
|
||||
dislocated.de: did not receive HSTS header
|
||||
dissimulo.me: could not connect to host
|
||||
dittvertshus.no: could not connect to host
|
||||
diycc.org: could not connect to host
|
||||
dizihocasi.com: did not receive HSTS header
|
||||
dizorg.net: could not connect to host
|
||||
dj4et.de: did not receive HSTS header
|
||||
@ -941,6 +942,7 @@ doridian.net: did not receive HSTS header
|
||||
doridian.org: could not connect to host
|
||||
dossplumbing.co.za: did not receive HSTS header
|
||||
dotadata.me: could not connect to host
|
||||
doublefun.net: could not connect to host
|
||||
dougferris.id.au: could not connect to host
|
||||
download.jitsi.org: did not receive HSTS header
|
||||
downsouthweddings.com.au: did not receive HSTS header
|
||||
@ -970,7 +972,6 @@ duch.cloud: could not connect to host
|
||||
duesee.org: could not connect to host
|
||||
dullsir.com: did not receive HSTS header
|
||||
duria.de: max-age too low: 3600
|
||||
dustri.org: could not connect to host
|
||||
dwhd.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
dxa.io: could not connect to host
|
||||
dycontrol.de: could not connect to host
|
||||
@ -1007,6 +1008,7 @@ edk.com.tr: did not receive HSTS header
|
||||
edmodo.com: did not receive HSTS header
|
||||
edp-collaborative.com: max-age too low: 2500
|
||||
eduvance.in: did not receive HSTS header
|
||||
edwardsnowden.com: could not connect to host
|
||||
eeqj.com: could not connect to host
|
||||
efficienthealth.com: did not receive HSTS header
|
||||
effortlesshr.com: did not receive HSTS header
|
||||
@ -1023,7 +1025,6 @@ elaintehtaat.fi: did not receive HSTS header
|
||||
elanguest.pl: could not connect to host
|
||||
elars.de: could not connect to host
|
||||
elbetech.net: could not connect to host
|
||||
eldinhadzic.com: could not connect to host
|
||||
electricianforum.co.uk: could not connect to host
|
||||
electromc.com: could not connect to host
|
||||
elemprendedor.com.ve: could not connect to host
|
||||
@ -1049,10 +1050,6 @@ enargia.jp: max-age too low: 0
|
||||
encode.space: did not receive HSTS header
|
||||
encoder.pw: could not connect to host
|
||||
encrypted.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
endohaus.ca: could not connect to host
|
||||
endohaus.com: could not connect to host
|
||||
endohaus.eu: could not connect to host
|
||||
endohaus.us: could not connect to host
|
||||
endzeit-architekten.com: did not receive HSTS header
|
||||
engelwerbung.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
englishforums.com: could not connect to host
|
||||
@ -1072,7 +1069,6 @@ eol34.com: did not receive HSTS header
|
||||
epanurse.com: could not connect to host
|
||||
ephry.com: could not connect to host
|
||||
epoxate.com: did not receive HSTS header
|
||||
epublibre.org: could not connect to host
|
||||
eq8.net.au: could not connect to host
|
||||
equate.net.au: max-age too low: 3600
|
||||
equatetechnologies.com.au: max-age too low: 3600
|
||||
@ -1140,6 +1136,7 @@ fabhub.io: could not connect to host
|
||||
fabianfischer.de: did not receive HSTS header
|
||||
factorable.net: did not receive HSTS header
|
||||
factorygw.com: did not receive HSTS header
|
||||
fadednet.com: could not connect to host
|
||||
fadilus.com: did not receive HSTS header
|
||||
faesser.com: did not receive HSTS header
|
||||
fail4free.de: did not receive HSTS header
|
||||
@ -1195,8 +1192,10 @@ first-time-offender.com: could not connect to host
|
||||
firstforex.co.uk: did not receive HSTS header
|
||||
fish2.me: did not receive HSTS header
|
||||
fit4medien.de: did not receive HSTS header
|
||||
fitiapp.com: could not connect to host
|
||||
fitnesswerk.de: could not connect to host
|
||||
fivestarsitters.com: did not receive HSTS header
|
||||
fixate.ru: could not connect to host
|
||||
fixatom.com: did not receive HSTS header
|
||||
fixingdns.com: did not receive HSTS header
|
||||
fizz.buzz: could not connect to host
|
||||
@ -1204,7 +1203,6 @@ fj.search.yahoo.com: did not receive HSTS header
|
||||
flags.ninja: could not connect to host
|
||||
flamewall.net: could not connect to host
|
||||
flawcheck.com: did not receive HSTS header
|
||||
fleximus.org: could not connect to host
|
||||
fliexer.com: did not receive HSTS header
|
||||
floless.co.uk: did not receive HSTS header
|
||||
florian-lillpopp.de: max-age too low: 10
|
||||
@ -1247,7 +1245,6 @@ franta.biz: did not receive HSTS header
|
||||
franta.email: did not receive HSTS header
|
||||
franzt.de: could not connect to host
|
||||
frasys.io: max-age too low: 7776000
|
||||
fraurichter.net: could not connect to host
|
||||
freeflow.tv: could not connect to host
|
||||
freekdevries.nl: could not connect to host
|
||||
freematthale.net: did not receive HSTS header
|
||||
@ -1308,6 +1305,7 @@ gamerslair.org: did not receive HSTS header
|
||||
gamesdepartment.co.uk: max-age too low: 0
|
||||
gamingmedia.eu: did not receive HSTS header
|
||||
gampenhof.de: did not receive HSTS header
|
||||
gancedo.com.es: could not connect to host
|
||||
gaptek.id: did not receive HSTS header
|
||||
garciamartin.me: could not connect to host
|
||||
gatilagata.com.br: did not receive HSTS header
|
||||
@ -1320,7 +1318,6 @@ geli-graphics.com: did not receive HSTS header
|
||||
gem-indonesia.net: could not connect to host
|
||||
genuu.com: could not connect to host
|
||||
genuxation.com: could not connect to host
|
||||
genuxtsg.com: could not connect to host
|
||||
genyaa.com: could not connect to host
|
||||
gerencianet.com.br: did not receive HSTS header
|
||||
get.zenpayroll.com: did not receive HSTS header
|
||||
@ -1345,7 +1342,7 @@ gh16.com.ar: could not connect to host
|
||||
gheorghesarcov.ga: could not connect to host
|
||||
gheorghesarcov.tk: could not connect to host
|
||||
gietvloergarant.nl: did not receive HSTS header
|
||||
gigacloud.org: did not receive HSTS header
|
||||
gigacloud.org: max-age too low: 0
|
||||
gilgaz.com: did not receive HSTS header
|
||||
gilly.berlin: did not receive HSTS header
|
||||
gingali.de: did not receive HSTS header
|
||||
@ -1376,7 +1373,7 @@ goabonga.com: could not connect to host
|
||||
goaltree.ch: did not receive HSTS header
|
||||
goarmy.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 121" data: no]
|
||||
goat.chat: did not receive HSTS header
|
||||
goat.xyz: did not receive HSTS header
|
||||
goat.xyz: could not connect to host
|
||||
goben.ch: could not connect to host
|
||||
goerner.me: did not receive HSTS header
|
||||
goge.site: could not connect to host
|
||||
@ -1406,7 +1403,6 @@ gracesofgrief.com: max-age too low: 86400
|
||||
grandmascookieblog.com: did not receive HSTS header
|
||||
graph.no: did not receive HSTS header
|
||||
gravity-net.de: could not connect to host
|
||||
graycell.net: could not connect to host
|
||||
grazetech.com: could not connect to host
|
||||
greboid.co.uk: could not connect to host
|
||||
greboid.com: could not connect to host
|
||||
@ -1420,7 +1416,6 @@ grigalanzsoftware.com: could not connect to host
|
||||
grossmann.gr: could not connect to host
|
||||
groups.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
grunex.com: did not receive HSTS header
|
||||
grunwasser.fr: could not connect to host
|
||||
gryffin.ga: could not connect to host
|
||||
gryffin.ml: could not connect to host
|
||||
gryffin.tk: could not connect to host
|
||||
@ -1451,7 +1446,6 @@ hack.li: did not receive HSTS header
|
||||
hacker.one: could not connect to host
|
||||
hackerforever.com: did not receive HSTS header
|
||||
hackerone-ext-adroll.com: could not connect to host
|
||||
hackerspace-ntnu.no: could not connect to host
|
||||
hackit.im: could not connect to host
|
||||
hadzic.co: could not connect to host
|
||||
hahayidu.org: could not connect to host
|
||||
@ -1507,7 +1501,7 @@ helpmebuild.com: did not receive HSTS header
|
||||
hemdal.se: could not connect to host
|
||||
hencagon.com: could not connect to host
|
||||
henriknoerr.com: could not connect to host
|
||||
hepteract.us: did not receive HSTS header
|
||||
heritagedentistry.ca: could not connect to host
|
||||
hermes-net.de: did not receive HSTS header
|
||||
herpaderp.net: did not receive HSTS header
|
||||
herzbotschaft.de: did not receive HSTS header
|
||||
@ -1524,7 +1518,6 @@ hiphopconvention.nl: could not connect to host
|
||||
hitoy.org: did not receive HSTS header
|
||||
hittipps.com: did not receive HSTS header
|
||||
hlyue.com: could not connect to host
|
||||
hm1ch.com: could not connect to host
|
||||
hmm.nyc: could not connect to host
|
||||
hn.search.yahoo.com: did not receive HSTS header
|
||||
hodne.io: could not connect to host
|
||||
@ -1534,6 +1527,7 @@ hohm.in: could not connect to host
|
||||
holifestival-freyung.de: could not connect to host
|
||||
holymoly.lu: did not receive HSTS header
|
||||
homa.website: could not connect to host
|
||||
homads.com: could not connect to host
|
||||
honeytracks.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
hongzhaxiaofendui.com: could not connect to host
|
||||
honoo.com: could not connect to host
|
||||
@ -1541,8 +1535,8 @@ hookandloom.com: did not receive HSTS header
|
||||
horosho.in: could not connect to host
|
||||
horseboners.xxx: did not receive HSTS header
|
||||
hortifarm.ro: did not receive HSTS header
|
||||
hosted-service.com: could not connect to host
|
||||
hostedbgp.net: could not connect to host
|
||||
hosmussynergie.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
hosted-service.com: did not receive HSTS header
|
||||
hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
hostgarou.com: did not receive HSTS header
|
||||
hostinaus.com.au: could not connect to host
|
||||
@ -1555,6 +1549,7 @@ housemaadiah.org: did not receive HSTS header
|
||||
housingstudents.org.uk: could not connect to host
|
||||
howbigismybuilding.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
howrandom.org: could not connect to host
|
||||
howtocuremysciatica.com: did not receive HSTS header
|
||||
hr-intranet.com: did not receive HSTS header
|
||||
hsir.me: could not connect to host
|
||||
hsts.date: could not connect to host
|
||||
@ -1616,7 +1611,6 @@ ilikerainbows.co.uk: could not connect to host
|
||||
ilmconpm.de: did not receive HSTS header
|
||||
ilona.graphics: max-age too low: 3600
|
||||
iluvscotland.co.uk: did not receive HSTS header
|
||||
imanolbarba.net: could not connect to host
|
||||
ime.moe: could not connect to host
|
||||
imguoguo.com: did not receive HSTS header
|
||||
imim.pw: did not receive HSTS header
|
||||
@ -1661,7 +1655,6 @@ inspiroinc.com: could not connect to host
|
||||
instacart.com: did not receive HSTS header
|
||||
instantdev.io: could not connect to host
|
||||
institutoflordelavida.com: could not connect to host
|
||||
integraelchen.de: could not connect to host
|
||||
intel.li: could not connect to host
|
||||
intelldynamics.com: could not connect to host
|
||||
interference.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
@ -1710,7 +1703,6 @@ itsadog.co.uk: did not receive HSTS header
|
||||
itsamurai.ru: max-age too low: 2592000
|
||||
itsecurityassurance.pw: did not receive HSTS header
|
||||
itshost.ru: could not connect to host
|
||||
ivancacic.com: could not connect to host
|
||||
ivi-fertility.com: max-age too low: 0
|
||||
ivi.es: max-age too low: 0
|
||||
ivk.website: could not connect to host
|
||||
@ -1761,6 +1753,7 @@ jbfp.dk: could not connect to host
|
||||
jbn.mx: could not connect to host
|
||||
jbradaric.me: could not connect to host
|
||||
jcch.de: could not connect to host
|
||||
jccrew.org: could not connect to host
|
||||
jcor.me: did not receive HSTS header
|
||||
jctf.io: could not connect to host
|
||||
jeff393.com: could not connect to host
|
||||
@ -1791,6 +1784,7 @@ jkb.pics: could not connect to host
|
||||
jkbuster.com: could not connect to host
|
||||
jmdekker.it: could not connect to host
|
||||
joakimalgroy.com: could not connect to host
|
||||
jobbkk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
jobmedic.com: did not receive HSTS header
|
||||
joedavison.me: could not connect to host
|
||||
jogi-server.de: did not receive HSTS header
|
||||
@ -1833,13 +1827,13 @@ jwilsson.me: could not connect to host
|
||||
jxm.in: could not connect to host
|
||||
k-dev.de: could not connect to host
|
||||
ka-clan.com: could not connect to host
|
||||
kab-s.de: did not receive HSTS header
|
||||
kabuabc.com: did not receive HSTS header
|
||||
kadioglumakina.com.tr: did not receive HSTS header
|
||||
kahopoon.net: could not connect to host
|
||||
kaisers.de: did not receive HSTS header
|
||||
kalami.nl: did not receive HSTS header
|
||||
kamikano.com: could not connect to host
|
||||
kamikatse.net: could not connect to host
|
||||
kaplatz.is: could not connect to host
|
||||
kapucini.si: max-age too low: 0
|
||||
karaoketonight.com: could not connect to host
|
||||
@ -1859,13 +1853,13 @@ keeley.gq: could not connect to host
|
||||
keeley.ml: could not connect to host
|
||||
keeleysam.me: could not connect to host
|
||||
keepclean.me: could not connect to host
|
||||
kenoschwalb.com: did not receive HSTS header
|
||||
kerangalam.com: did not receive HSTS header
|
||||
kerksanders.nl: did not receive HSTS header
|
||||
kermadec.net: could not connect to host
|
||||
kernl.us: did not receive HSTS header
|
||||
kevinapease.com: could not connect to host
|
||||
keymaster.lookout.com: did not receive HSTS header
|
||||
kfz-hantschel.de: did not receive HSTS header
|
||||
kg-rating.com: did not receive HSTS header
|
||||
kgxtech.com: max-age too low: 2592000
|
||||
kickass.al: could not connect to host
|
||||
@ -1925,6 +1919,7 @@ kropkait.pl: could not connect to host
|
||||
krouzkyliduska.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
krunut.com: did not receive HSTS header
|
||||
krypteia.org: could not connect to host
|
||||
kryptomech.com: could not connect to host
|
||||
ksfh-mail.de: could not connect to host
|
||||
kstan.me: could not connect to host
|
||||
kucom.it: did not receive HSTS header
|
||||
@ -2050,7 +2045,6 @@ loafbox.com: could not connect to host
|
||||
locktheirphone.com: could not connect to host
|
||||
locomotive.ca: did not receive HSTS header
|
||||
login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
|
||||
login.gov: could not connect to host
|
||||
loginseite.com: could not connect to host
|
||||
loli.bz: could not connect to host
|
||||
lolicore.ch: could not connect to host
|
||||
@ -2073,7 +2067,6 @@ lotsencafe.de: did not receive HSTS header
|
||||
lovelifelovelive.com: could not connect to host
|
||||
lovelycorral.com: did not receive HSTS header
|
||||
loveto.at: could not connect to host
|
||||
loveyounastya.com: could not connect to host
|
||||
lowhangingfruitgrabber.com: could not connect to host
|
||||
lpak.nl: could not connect to host
|
||||
lrhsclubs.com: could not connect to host
|
||||
@ -2116,11 +2109,16 @@ macbolo.com: could not connect to host
|
||||
macchaberrycream.com: could not connect to host
|
||||
macchedil.com: did not receive HSTS header
|
||||
macgeneral.de: did not receive HSTS header
|
||||
machbach.com: could not connect to host
|
||||
machbach.net: could not connect to host
|
||||
machon.biz: could not connect to host
|
||||
maco.org.uk: could not connect to host
|
||||
macosxfilerecovery.com: did not receive HSTS header
|
||||
madars.org: did not receive HSTS header
|
||||
maddin.ga: could not connect to host
|
||||
madebymagnitude.com: did not receive HSTS header
|
||||
maderwin.com: did not receive HSTS header
|
||||
madreacqua.org: could not connect to host
|
||||
madusecurity.com: could not connect to host
|
||||
mafamane.com: could not connect to host
|
||||
mafiareturns.com: max-age too low: 2592000
|
||||
@ -2143,7 +2141,6 @@ mannsolutions.co.uk: did not receive HSTS header
|
||||
mansion-note.com: could not connect to host
|
||||
marchagen.nl: did not receive HSTS header
|
||||
marcontrol.com: did not receive HSTS header
|
||||
marcush.de: could not connect to host
|
||||
marcuskoh.com: could not connect to host
|
||||
mariannematthew.com: could not connect to host
|
||||
marie-curie.fr: could not connect to host
|
||||
@ -2179,6 +2176,7 @@ mavisang.cf: did not receive HSTS header
|
||||
maya.mg: did not receive HSTS header
|
||||
mbinformatik.de: could not connect to host
|
||||
mca2017.org: did not receive HSTS header
|
||||
mcard.vn: could not connect to host
|
||||
mcc.re: could not connect to host
|
||||
mcdonalds.ru: did not receive HSTS header
|
||||
mclab.su: could not connect to host
|
||||
@ -2224,11 +2222,12 @@ metin2blog.de: did not receive HSTS header
|
||||
metis.pw: could not connect to host
|
||||
meuemail.pro: could not connect to host
|
||||
mexbt.com: could not connect to host
|
||||
meyercloud.de: could not connect to host
|
||||
mfcatalin.com: could not connect to host
|
||||
mfiles.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
mhealthdemocamp.com: could not connect to host
|
||||
mhict.nl: max-age too low: 0
|
||||
mia.to: could not connect to host
|
||||
michaelcullen.name: could not connect to host
|
||||
michaelfitzpatrickruth.com: could not connect to host
|
||||
michal-kral.cz: could not connect to host
|
||||
michalborka.cz: could not connect to host
|
||||
@ -2250,7 +2249,6 @@ mikonmaa.fi: could not connect to host
|
||||
miku.be: could not connect to host
|
||||
miku.hatsune.my: max-age too low: 5184000
|
||||
milesgeek.com: did not receive HSTS header
|
||||
mind-moves.es: could not connect to host
|
||||
mindoktor.se: did not receive HSTS header
|
||||
minecraftserverz.com: could not connect to host
|
||||
minecraftvoter.com: could not connect to host
|
||||
@ -2281,16 +2279,17 @@ mobilethreatnetwork.net: could not connect to host
|
||||
mobilpass.no: could not connect to host
|
||||
mocloud.eu: could not connect to host
|
||||
modemagazines.co.uk: could not connect to host
|
||||
modydev.club: could not connect to host
|
||||
moebel-nagel.de: did not receive HSTS header
|
||||
moelord.org: could not connect to host
|
||||
moen.io: did not receive HSTS header
|
||||
mogry.net: did not receive HSTS header
|
||||
momozeit.de: could not connect to host
|
||||
mona.lu: did not receive HSTS header
|
||||
monarca.systems: could not connect to host
|
||||
monasterialis.eu: could not connect to host
|
||||
mondar.io: could not connect to host
|
||||
mondopoint.com: could not connect to host
|
||||
moneycrownmedia.com: did not receive HSTS header
|
||||
monitman.com: could not connect to host
|
||||
moon.lc: could not connect to host
|
||||
moparisthebest.biz: could not connect to host
|
||||
@ -2299,13 +2298,12 @@ moparscape.org: did not receive HSTS header
|
||||
mor.gl: could not connect to host
|
||||
morbitzer.de: did not receive HSTS header
|
||||
morethanadream.lv: could not connect to host
|
||||
morganino.eu: could not connect to host
|
||||
morganino.it: could not connect to host
|
||||
moriz.net: could not connect to host
|
||||
morningcalculation.com: could not connect to host
|
||||
morotech.com.br: max-age too low: 2592000
|
||||
morpork.xyz: could not connect to host
|
||||
mortgagecentersmo.com: did not receive HSTS header
|
||||
morz.org: did not receive HSTS header
|
||||
mostwuat.com: could not connect to host
|
||||
motherbase.io: could not connect to host
|
||||
motionpicturesolutions.com: could not connect to host
|
||||
@ -2321,7 +2319,6 @@ mqas.net: could not connect to host
|
||||
mrnonz.com: max-age too low: 0
|
||||
mrpopat.in: did not receive HSTS header
|
||||
mrs-shop.com: did not receive HSTS header
|
||||
ms-alternativ.de: could not connect to host
|
||||
msc-seereisen.net: could not connect to host
|
||||
mszaki.com: did not receive HSTS header
|
||||
mt.me.uk: could not connect to host
|
||||
@ -2378,6 +2375,7 @@ nalifornia.com: did not receive HSTS header
|
||||
namacindia.com: did not receive HSTS header
|
||||
nametaken-cloud.duckdns.org: could not connect to host
|
||||
nanogeneinc.com: could not connect to host
|
||||
nanto.eu: could not connect to host
|
||||
nargileh.nl: could not connect to host
|
||||
natalia.io: could not connect to host
|
||||
natalt.org: did not receive HSTS header
|
||||
@ -2441,7 +2439,6 @@ ni.search.yahoo.com: did not receive HSTS header
|
||||
nibiisclaim.com: could not connect to host
|
||||
nicestresser.fr: could not connect to host
|
||||
nicky.io: did not receive HSTS header
|
||||
nicolas-hoizey.com: could not connect to host
|
||||
nicolasbettag.me: could not connect to host
|
||||
niconiconi.xyz: could not connect to host
|
||||
niconode.com: could not connect to host
|
||||
@ -2455,6 +2452,7 @@ ninhs.org: could not connect to host
|
||||
nippler.org: did not receive HSTS header
|
||||
nippombashi.net: did not receive HSTS header
|
||||
nipponcareers.com: did not receive HSTS header
|
||||
nixmag.net: could not connect to host
|
||||
nkinka.de: did not receive HSTS header
|
||||
nmctest.net: could not connect to host
|
||||
nnya.cat: did not receive HSTS header
|
||||
@ -2479,6 +2477,7 @@ norandom.com: could not connect to host
|
||||
norb.at: could not connect to host
|
||||
nosecretshop.com: did not receive HSTS header
|
||||
nossasenhoradaconceicao.com.br: could not connect to host
|
||||
notadd.com: did not receive HSTS header
|
||||
notnl.com: could not connect to host
|
||||
nottheonion.net: did not receive HSTS header
|
||||
nouvelle-vague-saint-cast.fr: did not receive HSTS header
|
||||
@ -2488,7 +2487,6 @@ nowak.ninja: did not receive HSTS header
|
||||
noworrywp.com: could not connect to host
|
||||
np.search.yahoo.com: did not receive HSTS header
|
||||
npol.de: did not receive HSTS header
|
||||
nspeaks.com: could not connect to host
|
||||
ntbs.pro: could not connect to host
|
||||
nu3.at: did not receive HSTS header
|
||||
nu3.ch: did not receive HSTS header
|
||||
@ -2514,7 +2512,7 @@ nutrienti.eu: did not receive HSTS header
|
||||
nutritionculture.com: could not connect to host
|
||||
nutsandboltsmedia.com: did not receive HSTS header
|
||||
nwgh.org: max-age too low: 86400
|
||||
nwork.media: did not receive HSTS header
|
||||
nwork.media: could not connect to host
|
||||
nyantec.com: did not receive HSTS header
|
||||
nysepho.pw: could not connect to host
|
||||
nystart.no: could not connect to host
|
||||
@ -2523,7 +2521,6 @@ nzb.cat: max-age too low: 7776000
|
||||
o0o.one: did not receive HSTS header
|
||||
oasis.mobi: did not receive HSTS header
|
||||
oasisim.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
obscuredfiles.com: could not connect to host
|
||||
obsydian.org: could not connect to host
|
||||
occentus.net: did not receive HSTS header
|
||||
ochaken.cf: could not connect to host
|
||||
@ -2546,7 +2543,6 @@ omgaanmetidealen.com: could not connect to host
|
||||
ominto.com: max-age too low: 0
|
||||
omniti.com: max-age too low: 1
|
||||
omquote.gq: could not connect to host
|
||||
omskit.ru: could not connect to host
|
||||
oneb4nk.com: could not connect to host
|
||||
onefour.co: could not connect to host
|
||||
oneminute.io: did not receive HSTS header
|
||||
@ -2637,7 +2633,6 @@ pants-off.xyz: could not connect to host
|
||||
pantsu.cat: did not receive HSTS header
|
||||
papeda.net: could not connect to host
|
||||
papercard.co.uk: did not receive HSTS header
|
||||
paperwork.co.za: could not connect to host
|
||||
papierniak.net: could not connect to host
|
||||
parent5446.us: could not connect to host
|
||||
parentmail.co.uk: did not receive HSTS header
|
||||
@ -2658,7 +2653,6 @@ paste.linode.com: could not connect to host
|
||||
pastebin.linode.com: could not connect to host
|
||||
pastenib.com: could not connect to host
|
||||
paster.li: did not receive HSTS header
|
||||
pastie.se: did not receive HSTS header
|
||||
patientinsight.net: could not connect to host
|
||||
patt.us: did not receive HSTS header
|
||||
patterson.mp: could not connect to host
|
||||
@ -2698,7 +2692,6 @@ petrolplus.ru: did not receive HSTS header
|
||||
pettsy.com: could not connect to host
|
||||
pewboards.com: could not connect to host
|
||||
pgpm.io: could not connect to host
|
||||
phantasie.cc: could not connect to host
|
||||
phillprice.com: could not connect to host
|
||||
phonenumberinfo.co.uk: could not connect to host
|
||||
phongmay24h.com: could not connect to host
|
||||
@ -2710,11 +2703,12 @@ pierre-denoblens.net: could not connect to host
|
||||
pijuice.com: could not connect to host
|
||||
piligrimname.com: could not connect to host
|
||||
pinesandneedles.com: did not receive HSTS header
|
||||
pinkhq.com: could not connect to host
|
||||
pippen.io: could not connect to host
|
||||
pir9.com: max-age too low: 2592000
|
||||
piratedb.com: could not connect to host
|
||||
piratedot.com: could not connect to host
|
||||
piratelist.online: did not receive HSTS header
|
||||
piratelist.online: could not connect to host
|
||||
piratenlogin.de: could not connect to host
|
||||
pirati.cz: max-age too low: 604800
|
||||
pirlitu.com: did not receive HSTS header
|
||||
@ -2737,7 +2731,7 @@ playkh.com: did not receive HSTS header
|
||||
playmaker.io: could not connect to host
|
||||
playnation.io: did not receive HSTS header
|
||||
playsoundevents.be: could not connect to host
|
||||
pleasure.forsale: could not connect to host
|
||||
plhdb.org: could not connect to host
|
||||
plixer.com: did not receive HSTS header
|
||||
plogable.co: could not connect to host
|
||||
plothost.com: did not receive HSTS header
|
||||
@ -2746,7 +2740,6 @@ pmnts.io: could not connect to host
|
||||
po.gl: did not receive HSTS header
|
||||
poiema.com.sg: did not receive HSTS header
|
||||
pol.in.th: could not connect to host
|
||||
polaire.org: did not receive HSTS header
|
||||
pole.net.nz: did not receive HSTS header
|
||||
poleartschool.com: could not connect to host
|
||||
polimat.org: could not connect to host
|
||||
@ -2769,7 +2762,7 @@ poussinooz.fr: could not connect to host
|
||||
povitria.net: could not connect to host
|
||||
power-of-interest.com: did not receive HSTS header
|
||||
power99press.com: did not receive HSTS header
|
||||
powerplannerapp.com: did not receive HSTS header
|
||||
powerplannerapp.com: could not connect to host
|
||||
powerxequality.com: could not connect to host
|
||||
ppr-truby.ru: could not connect to host
|
||||
ppy3.com: did not receive HSTS header
|
||||
@ -2797,6 +2790,7 @@ progg.no: could not connect to host
|
||||
prohostonline.fi: could not connect to host
|
||||
promecon-gmbh.de: did not receive HSTS header
|
||||
prontolight.com: did not receive HSTS header
|
||||
proposalonline.com: could not connect to host
|
||||
prosocialmachines.com: could not connect to host
|
||||
prosoft.sk: max-age too low: 0
|
||||
prosperident.com: did not receive HSTS header
|
||||
@ -2805,7 +2799,8 @@ proximato.com: could not connect to host
|
||||
proxybay.al: could not connect to host
|
||||
proxybay.club: could not connect to host
|
||||
proxybay.info: did not receive HSTS header
|
||||
prxio.site: could not connect to host
|
||||
prxio.date: could not connect to host
|
||||
prxio.site: did not receive HSTS header
|
||||
prytkov.com: did not receive HSTS header
|
||||
psw.academy: did not receive HSTS header
|
||||
psw.consulting: did not receive HSTS header
|
||||
@ -2834,7 +2829,6 @@ qorm.co.uk: did not receive HSTS header
|
||||
qrara.net: did not receive HSTS header
|
||||
qrlending.com: did not receive HSTS header
|
||||
quail.solutions: could not connect to host
|
||||
qualityology.com: could not connect to host
|
||||
quantacloud.ch: could not connect to host
|
||||
quantenteranik.eu: could not connect to host
|
||||
quantumcourse.org: did not receive HSTS header
|
||||
@ -2864,7 +2858,11 @@ ratajczak.fr: could not connect to host
|
||||
raulfraile.net: could not connect to host
|
||||
rawet.se: did not receive HSTS header
|
||||
rawstorieslondon.com: could not connect to host
|
||||
ray-home.de: could not connect to host
|
||||
ray-works.de: could not connect to host
|
||||
raydobe.me: could not connect to host
|
||||
raymd.de: could not connect to host
|
||||
rayworks.de: could not connect to host
|
||||
rc4.io: did not receive HSTS header
|
||||
rcafox.com: could not connect to host
|
||||
rcpcbd.com: did not receive HSTS header
|
||||
@ -2899,6 +2897,7 @@ renrenss.com: did not receive HSTS header
|
||||
rent-a-coder.de: did not receive HSTS header
|
||||
rentcarassist.com: could not connect to host
|
||||
renteater.com: could not connect to host
|
||||
repaxan.com: could not connect to host
|
||||
replacemychina.com: did not receive HSTS header
|
||||
reprolife.co.uk: max-age too low: 0
|
||||
res-rheingau.de: did not receive HSTS header
|
||||
@ -2950,7 +2949,6 @@ ronvandordt.info: did not receive HSTS header
|
||||
ronwo.de: max-age too low: 1
|
||||
room-checkin24.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
rootforum.org: did not receive HSTS header
|
||||
roots-example-project.com: could not connect to host
|
||||
rootservice.org: did not receive HSTS header
|
||||
rootwpn.com: could not connect to host
|
||||
rotterdamjazz.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
@ -2958,6 +2956,7 @@ roundtheme.com: did not receive HSTS header
|
||||
rous.se: could not connect to host
|
||||
rout0r.org: did not receive HSTS header
|
||||
rouvray.org: could not connect to host
|
||||
royalhop.co: could not connect to host
|
||||
rr.in.th: could not connect to host
|
||||
rrke.cc: did not receive HSTS header
|
||||
rsajeey.info: could not connect to host
|
||||
@ -2974,6 +2973,7 @@ rubyshop.nl: max-age too low: 604800
|
||||
rudeotter.com: did not receive HSTS header
|
||||
rudloff.pro: did not receive HSTS header
|
||||
rugirlfriend.com: could not connect to host
|
||||
ruh-veit.de: could not connect to host
|
||||
ruiming.me: could not connect to host
|
||||
runawebinar.nl: could not connect to host
|
||||
runementors.com: could not connect to host
|
||||
@ -3022,7 +3022,6 @@ saveaward.gov: could not connect to host
|
||||
saveyour.biz: did not receive HSTS header
|
||||
sawamura-rental.com: did not receive HSTS header
|
||||
sb-group.dk: did not receive HSTS header
|
||||
sbiewald.de: could not connect to host
|
||||
sbox-archives.com: could not connect to host
|
||||
sby.de: did not receive HSTS header
|
||||
sc4le.com: could not connect to host
|
||||
@ -3078,7 +3077,7 @@ semen3325.xyz: could not connect to host
|
||||
semenkovich.com: did not receive HSTS header
|
||||
semps-servers.de: could not connect to host
|
||||
semps.de: did not receive HSTS header
|
||||
senedirect.com: did not receive HSTS header
|
||||
senedirect.com: could not connect to host
|
||||
sensibus.com: did not receive HSTS header
|
||||
seo.consulting: did not receive HSTS header
|
||||
seomobo.com: could not connect to host
|
||||
@ -3086,12 +3085,12 @@ seon.me: did not receive HSTS header
|
||||
seowarp.net: did not receive HSTS header
|
||||
sep23.ru: could not connect to host
|
||||
seq.tf: did not receive HSTS header
|
||||
serathius.ovh: could not connect to host
|
||||
serfdom.io: did not receive HSTS header
|
||||
serized.pw: could not connect to host
|
||||
servercode.ca: did not receive HSTS header
|
||||
serverdensity.io: did not receive HSTS header
|
||||
servergno.me: did not receive HSTS header
|
||||
serverstuff.info: could not connect to host
|
||||
seryo.moe: could not connect to host
|
||||
setphaserstostun.org: could not connect to host
|
||||
setuid.de: could not connect to host
|
||||
@ -3107,7 +3106,7 @@ shanewadleigh.com: could not connect to host
|
||||
shaobin.wang: could not connect to host
|
||||
sharepass.pw: could not connect to host
|
||||
sharescope.co.uk: max-age too low: 14400
|
||||
sharevari.com: did not receive HSTS header
|
||||
sharevari.com: could not connect to host
|
||||
shareworx.net: could not connect to host
|
||||
shauncrowley.co.uk: could not connect to host
|
||||
shaunwheelhou.se: could not connect to host
|
||||
@ -3132,6 +3131,7 @@ shwongacc.com: could not connect to host
|
||||
siammedia.co: did not receive HSTS header
|
||||
siddhant.me: could not connect to host
|
||||
siebens.net: could not connect to host
|
||||
siebeve.be: could not connect to host
|
||||
sifls.com: could not connect to host
|
||||
silentcircle.org: could not connect to host
|
||||
silicagelpackets.ca: did not receive HSTS header
|
||||
@ -3173,15 +3173,16 @@ sluitkampzeist.nl: [Exception... "Component returned failure code: 0x80004005 (N
|
||||
slycurity.de: did not receive HSTS header
|
||||
smart-mirror.de: did not receive HSTS header
|
||||
smart-ov.nl: could not connect to host
|
||||
smartairkey.com: could not connect to host
|
||||
smartcoin.com.br: could not connect to host
|
||||
smartofficesandsmarthomes.com: did not receive HSTS header
|
||||
smartrak.co.nz: did not receive HSTS header
|
||||
smatch.com: did not receive HSTS header
|
||||
smet.us: could not connect to host
|
||||
smimea.com: could not connect to host
|
||||
smirkingwhorefromhighgarden.pro: could not connect to host
|
||||
smkn1lengkong.sch.id: did not receive HSTS header
|
||||
smksi2.com: max-age too low: 0
|
||||
sms1.ro: could not connect to host
|
||||
smusg.com: did not receive HSTS header
|
||||
snailing.org: could not connect to host
|
||||
snapappointments.com: did not receive HSTS header
|
||||
@ -3191,7 +3192,6 @@ sneberger.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERR
|
||||
snel4u.nl: could not connect to host
|
||||
snelwerk.be: did not receive HSTS header
|
||||
sng.my: could not connect to host
|
||||
sniderman.eu.org: could not connect to host
|
||||
snille.com: could not connect to host
|
||||
snoqualmiefiber.org: did not receive HSTS header
|
||||
sobabox.ru: could not connect to host
|
||||
@ -3207,6 +3207,7 @@ socialspirit.com.br: did not receive HSTS header
|
||||
sockeye.cc: could not connect to host
|
||||
socomponents.co.uk: did not receive HSTS header
|
||||
sogeek.me: did not receive HSTS header
|
||||
sokche.com: could not connect to host
|
||||
solidfuelappliancespares.co.uk: did not receive HSTS header
|
||||
solinter.com.br: did not receive HSTS header
|
||||
soll-i.ch: did not receive HSTS header
|
||||
@ -3264,6 +3265,7 @@ square.gs: could not connect to host
|
||||
squatldf.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
sqzryang.com: did not receive HSTS header
|
||||
srevilak.net: did not receive HSTS header
|
||||
sritest.io: did not receive HSTS header
|
||||
srna.sk: could not connect to host
|
||||
srrr.ca: could not connect to host
|
||||
ss.wtf: did not receive HSTS header
|
||||
@ -3334,6 +3336,8 @@ suksit.com: could not connect to host
|
||||
sumoatm.com: did not receive HSTS header
|
||||
sumoscout.de: did not receive HSTS header
|
||||
suncountrymarine.com: did not receive HSTS header
|
||||
sunflyer.cn: did not receive HSTS header
|
||||
sunnyfruit.ru: did not receive HSTS header
|
||||
sunshinepress.org: could not connect to host
|
||||
superbabysitting.ch: could not connect to host
|
||||
supereight.net: did not receive HSTS header
|
||||
@ -3360,6 +3364,7 @@ syncer.jp: did not receive HSTS header
|
||||
syncserve.net: did not receive HSTS header
|
||||
syneic.com: did not receive HSTS header
|
||||
syno.gq: could not connect to host
|
||||
syntheticmotoroil.org: did not receive HSTS header
|
||||
sysadmin.xyz: could not connect to host
|
||||
syso.name: could not connect to host
|
||||
szaszm.tk: max-age too low: 0
|
||||
@ -3371,10 +3376,12 @@ tadigitalstore.com: could not connect to host
|
||||
tafoma.com: did not receive HSTS header
|
||||
tageau.com: could not connect to host
|
||||
taglondon.org: did not receive HSTS header
|
||||
tails.com.ar: did not receive HSTS header
|
||||
talk.google.com: did not receive HSTS header (error ignored - included regardless)
|
||||
talktwincities.com: could not connect to host
|
||||
tallr.se: could not connect to host
|
||||
tallshoe.com: could not connect to host
|
||||
talsi.eu: could not connect to host
|
||||
tandarts-haarlem.nl: did not receive HSTS header
|
||||
tanzhijun.com: did not receive HSTS header
|
||||
tapfinder.ca: could not connect to host
|
||||
@ -3407,6 +3414,7 @@ techmatehq.com: could not connect to host
|
||||
technosavvyport.com: did not receive HSTS header
|
||||
techpointed.com: could not connect to host
|
||||
techvalue.gr: did not receive HSTS header
|
||||
tedovo.com: did not receive HSTS header
|
||||
tegelsensanitaironline.nl: did not receive HSTS header
|
||||
tekshrek.com: max-age too low: 0
|
||||
telefonnummer.online: could not connect to host
|
||||
@ -3420,7 +3428,7 @@ terra.by: could not connect to host
|
||||
terrax.berlin: could not connect to host
|
||||
terrax.info: could not connect to host
|
||||
testandroid.xyz: could not connect to host
|
||||
testbawks.com: could not connect to host
|
||||
testbawks.com: did not receive HSTS header
|
||||
testnode.xyz: could not connect to host
|
||||
texter-linz.at: did not receive HSTS header
|
||||
textoplano.xyz: could not connect to host
|
||||
@ -3440,7 +3448,6 @@ thecharlestonwaldorf.com: could not connect to host
|
||||
theclementinebutchers.com: could not connect to host
|
||||
thecoffeehouse.xyz: could not connect to host
|
||||
thediaryofadam.com: did not receive HSTS header
|
||||
thedisc.nl: could not connect to host
|
||||
theendofzion.com: did not receive HSTS header
|
||||
thefootballanalyst.com: could not connect to host
|
||||
thehiddenbay.me: could not connect to host
|
||||
@ -3510,6 +3517,7 @@ todo.is: did not receive HSTS header
|
||||
todobazar.es: could not connect to host
|
||||
tokyopopline.com: did not receive HSTS header
|
||||
tollmanz.com: did not receive HSTS header
|
||||
tomatenaufdenaugen.de: could not connect to host
|
||||
tomberek.info: could not connect to host
|
||||
tomeara.net: could not connect to host
|
||||
tomharling.co.uk: max-age too low: 86400
|
||||
@ -3560,6 +3568,7 @@ tuingereedschappen.net: could not connect to host
|
||||
tunai.id: could not connect to host
|
||||
tuningblog.eu: did not receive HSTS header
|
||||
turnik-67.ru: could not connect to host
|
||||
turtleduckstudios.com: could not connect to host
|
||||
tuturulianda.com: could not connect to host
|
||||
tuvalie.com: could not connect to host
|
||||
tuxcall.de: could not connect to host
|
||||
@ -3619,7 +3628,7 @@ university4industry.com: did not receive HSTS header
|
||||
univz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
unknownphenomena.net: could not connect to host
|
||||
unplugg3r.dk: could not connect to host
|
||||
unravel.ie: did not receive HSTS header
|
||||
unravel.ie: could not connect to host
|
||||
unterschicht.tv: could not connect to host
|
||||
unwiredbrain.com: could not connect to host
|
||||
uonstaffhub.com: could not connect to host
|
||||
@ -3804,7 +3813,6 @@ whyworldhot.com: could not connect to host
|
||||
wienholding.at: max-age too low: 0
|
||||
wieninternational.at: could not connect to host
|
||||
wiire.me: could not connect to host
|
||||
wiktoriaslife.com: could not connect to host
|
||||
wilf1rst.com: could not connect to host
|
||||
william.si: did not receive HSTS header
|
||||
willosagiede.com: did not receive HSTS header
|
||||
@ -3849,9 +3857,7 @@ wsscompany.com.ve: could not connect to host
|
||||
wufu.org: did not receive HSTS header
|
||||
wuhengmin.com: did not receive HSTS header
|
||||
wurzelzwerg.net: could not connect to host
|
||||
wvg.myds.me: could not connect to host
|
||||
ww2onlineshop.com: did not receive HSTS header
|
||||
www.amazon.com.au: did not receive HSTS header
|
||||
www.apollo-auto.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
www.braintreepayments.com: did not receive HSTS header
|
||||
www.calyxinstitute.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
@ -3888,7 +3894,7 @@ xendo.net: did not receive HSTS header
|
||||
xenesisziarovky.sk: could not connect to host
|
||||
xett.com: did not receive HSTS header
|
||||
xf-liam.com: could not connect to host
|
||||
xfive.de: did not receive HSTS header
|
||||
xfive.de: could not connect to host
|
||||
xiaody.me: could not connect to host
|
||||
xiaolvmu.me: could not connect to host
|
||||
xiaoxiao.im: could not connect to host
|
||||
@ -3932,7 +3938,6 @@ y-o-w.com: did not receive HSTS header
|
||||
y-s.pw: did not receive HSTS header
|
||||
yabrt.cn: could not connect to host
|
||||
yahvehyireh.com: did not receive HSTS header
|
||||
yalook.com: did not receive HSTS header
|
||||
yamaken.jp: did not receive HSTS header
|
||||
yamamo10.com: could not connect to host
|
||||
yaporn.tv: did not receive HSTS header
|
||||
@ -3945,6 +3950,7 @@ yenniferallulli.de: could not connect to host
|
||||
yenniferallulli.es: did not receive HSTS header
|
||||
yenniferallulli.moda: could not connect to host
|
||||
yenniferallulli.nl: could not connect to host
|
||||
yestees.com: did not receive HSTS header
|
||||
yetcore.io: could not connect to host
|
||||
yingyj.com: could not connect to host
|
||||
yjsoft.me: did not receive HSTS header
|
||||
@ -3966,7 +3972,6 @@ yuko.moe: could not connect to host
|
||||
yukontec.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
yunzhu.li: did not receive HSTS header
|
||||
yunzhu.org: could not connect to host
|
||||
yutabon.com: could not connect to host
|
||||
yux.io: did not receive HSTS header
|
||||
yzal.io: could not connect to host
|
||||
z33.ch: did not receive HSTS header
|
||||
@ -4003,6 +4008,7 @@ ziyuanabc.xyz: could not connect to host
|
||||
zking.ga: could not connect to host
|
||||
zocken.com: could not connect to host
|
||||
zomerschoen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 121" data: no]
|
||||
zomiac.pp.ua: could not connect to host
|
||||
zoneminder.com: did not receive HSTS header
|
||||
zoo24.de: did not receive HSTS header
|
||||
zoomingin.net: max-age too low: 2592000
|
||||
@ -4013,6 +4019,7 @@ zqhong.com: could not connect to host
|
||||
zrn.in: did not receive HSTS header
|
||||
ztan.tk: could not connect to host
|
||||
zten.org: could not connect to host
|
||||
zulu7.com: could not connect to host
|
||||
zvncloud.com: did not receive HSTS header
|
||||
zwy.me: did not receive HSTS header
|
||||
zyf.pw: could not connect to host
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -332,7 +332,7 @@ add_task(async function test_telemetry_integration() {
|
||||
ok(bme.validation.problems)
|
||||
equal(bme.validation.checked, server.length);
|
||||
equal(bme.validation.took, duration);
|
||||
bme.validation.problems.sort((a, b) => String.localeCompare(a.name, b.name));
|
||||
bme.validation.problems.sort((a, b) => String(a.name).localeCompare(b.name));
|
||||
equal(bme.validation.version, new BookmarkValidator().version);
|
||||
deepEqual(bme.validation.problems, [
|
||||
{ name: "badClientRoots", count: 3 },
|
||||
|
@ -39540,6 +39540,12 @@
|
||||
"url": "/html/semantics/embedded-content/the-img-element/update-src-complete.html"
|
||||
}
|
||||
],
|
||||
"html/semantics/forms/the-select-element/select-validity.html": [
|
||||
{
|
||||
"path": "html/semantics/forms/the-select-element/select-validity.html",
|
||||
"url": "/html/semantics/forms/the-select-element/select-validity.html"
|
||||
}
|
||||
],
|
||||
"uievents/order-of-events/focus-events/focus-automated-blink-webkit.html": [
|
||||
{
|
||||
"path": "uievents/order-of-events/focus-events/focus-automated-blink-webkit.html",
|
||||
|
@ -1,3 +0,0 @@
|
||||
[min-width-not-important.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
@ -0,0 +1,95 @@
|
||||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>HTMLSelectElement.checkValidity</title>
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/forms.html#the-select-element:attr-select-required-4">
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
|
||||
test(function() {
|
||||
var select = document.createElement('select');
|
||||
assert_true(select.willValidate, "A select element is a submittable element that is a candidate for constraint validation.");
|
||||
var placeholder = document.createElement('option');
|
||||
select.appendChild(placeholder);
|
||||
assert_true(select.checkValidity(), "Always valid when the select isn't a required value.");
|
||||
select.required = true;
|
||||
assert_true(placeholder.selected, "If display size is 1, multiple is absent and no options have selectedness true, the first option is selected.");
|
||||
assert_equals(select.value, "", "The placeholder's value should be the select's value right now");
|
||||
assert_false(select.checkValidity(), "A selected placeholder option should invalidate the select.");
|
||||
var emptyOption = document.createElement('option');
|
||||
select.appendChild(emptyOption);
|
||||
emptyOption.selected = true;
|
||||
assert_equals(select.value, "", "The empty value should be set.");
|
||||
assert_true(select.checkValidity(), "An empty non-placeholder option should be a valid choice.");
|
||||
var filledOption = document.createElement('option');
|
||||
filledOption.value = "test";
|
||||
select.appendChild(filledOption);
|
||||
filledOption.selected = true;
|
||||
assert_equals(select.value, "test", "The non-empty value should be set.");
|
||||
assert_true(select.checkValidity(), "A non-empty non-placeholder option should be a valid choice.");
|
||||
select.removeChild(placeholder);
|
||||
select.appendChild(emptyOption); // move emptyOption to second place
|
||||
emptyOption.selected = true;
|
||||
assert_equals(select.value, "", "The empty value should be set.");
|
||||
assert_true(select.checkValidity(), "Only the first option can be seen as a placeholder.");
|
||||
placeholder.disabled = true;
|
||||
select.insertBefore(placeholder, filledOption);
|
||||
placeholder.selected = true;
|
||||
assert_equals(select.value, "", "A disabled first placeholder option should result in an empty value.");
|
||||
assert_false(select.checkValidity(), "A disabled first placeholder option should invalidate the select.");
|
||||
}, "Placeholder label options within a select");
|
||||
|
||||
test(function() {
|
||||
var select = document.createElement('select');
|
||||
select.required = true;
|
||||
var optgroup = document.createElement('optgroup');
|
||||
var emptyOption = document.createElement('option');
|
||||
optgroup.appendChild(emptyOption);
|
||||
select.appendChild(optgroup);
|
||||
emptyOption.selected = true;
|
||||
assert_equals(select.value, "", "The empty value should be set.");
|
||||
assert_true(select.checkValidity(), "The first option is not considered a placeholder if it is located within an optgroup.");
|
||||
var otherEmptyOption = document.createElement('option');
|
||||
otherEmptyOption.value = "";
|
||||
select.appendChild(otherEmptyOption);
|
||||
otherEmptyOption.selected = true;
|
||||
assert_equals(select.value, "", "The empty value should be set.");
|
||||
assert_true(select.checkValidity(), "The empty option should be accepted as it is not the first option in the tree ordered list.");
|
||||
}, "Placeholder label-like options within optgroup");
|
||||
|
||||
test(function() {
|
||||
var select = document.createElement('select');
|
||||
select.required = true;
|
||||
select.size = 2;
|
||||
var emptyOption = document.createElement('option');
|
||||
select.appendChild(emptyOption);
|
||||
assert_false(emptyOption.selected, "Display size is not 1, so the first option should not be selected.");
|
||||
assert_false(select.checkValidity(), "If no options are selected the select must be seen as invalid.");
|
||||
emptyOption.selected = true;
|
||||
assert_true(select.checkValidity(), "If one option is selected, the select should be considered valid.");
|
||||
var otherEmptyOption = document.createElement('option');
|
||||
otherEmptyOption.value = "";
|
||||
select.appendChild(otherEmptyOption);
|
||||
otherEmptyOption.selected = true;
|
||||
assert_false(emptyOption.selected, "Whenever an option has its selectiveness set to true, the other options must be set to false.");
|
||||
otherEmptyOption.selected = false;
|
||||
assert_false(otherEmptyOption.selected, "It should be possible to set the selectiveness to false with a display size more than one.");
|
||||
assert_false(select.checkValidity(), "If no options are selected the select must be seen as invalid.");
|
||||
}, "Validation on selects with display size set as more than one");
|
||||
|
||||
test(function() {
|
||||
var select = document.createElement('select');
|
||||
select.required = true;
|
||||
select.multiple = true;
|
||||
var emptyOption = document.createElement('option');
|
||||
select.appendChild(emptyOption);
|
||||
assert_false(select.checkValidity(), "If no options are selected the select must be seen as invalid.");
|
||||
emptyOption.selected = true;
|
||||
assert_true(select.checkValidity(), "If one option is selected, the select should be considered valid.");
|
||||
var optgroup = document.createElement('optgroup');
|
||||
optgroup.appendChild(emptyOption); // Move option to optgroup
|
||||
select.appendChild(optgroup);
|
||||
assert_true(select.checkValidity(), "If one option within an optgroup or not is selected, the select should be considered valid.");
|
||||
}, "Validation on selects with multiple set");
|
||||
</script>
|
@ -474,7 +474,7 @@ this.ExtensionData = class {
|
||||
// Gecko-compatible variant. Currently, this means simply
|
||||
// replacing underscores with hyphens.
|
||||
normalizeLocaleCode(locale) {
|
||||
return String.replace(locale, /_/g, "-");
|
||||
return locale.replace(/_/g, "-");
|
||||
}
|
||||
|
||||
// Reads the locale file for the given Gecko-compatible locale code, and
|
||||
|
@ -122,7 +122,7 @@ function* testCookies(options) {
|
||||
while (enum_.hasMoreElements()) {
|
||||
cookies.push(enum_.getNext().QueryInterface(SpecialPowers.Ci.nsICookie2));
|
||||
}
|
||||
return cookies.sort((a, b) => String.localeCompare(a.name, b.name));
|
||||
return cookies.sort((a, b) => a.name.localeCompare(b.name));
|
||||
}
|
||||
|
||||
let cookies = getCookies(options.domain);
|
||||
|
@ -1510,6 +1510,13 @@ extends="chrome://global/content/bindings/popup.xml#popup">
|
||||
</xul:description>
|
||||
</xul:hbox>
|
||||
</content>
|
||||
<implementation>
|
||||
<constructor><![CDATA[
|
||||
// Unlike other autocomplete items, the height of the insecure warning
|
||||
// increases by wrapping.
|
||||
this._handleOverflow();
|
||||
]]></constructor>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="autocomplete-richlistitem" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
|
||||
|
@ -4,9 +4,7 @@
|
||||
|
||||
this.EXPORTED_SYMBOLS = ["PrivateBrowsingUtils"];
|
||||
|
||||
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
const kAutoStartPref = "browser.privatebrowsing.autostart";
|
||||
|
||||
@ -14,11 +12,14 @@ const kAutoStartPref = "browser.privatebrowsing.autostart";
|
||||
// line for the current session.
|
||||
var gTemporaryAutoStartMode = false;
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
|
||||
this.PrivateBrowsingUtils = {
|
||||
// Rather than passing content windows to this function, please use
|
||||
// isBrowserPrivate since it works with e10s.
|
||||
isWindowPrivate: function pbu_isWindowPrivate(aWindow) {
|
||||
if (!(aWindow instanceof Ci.nsIDOMChromeWindow)) {
|
||||
if (!(aWindow instanceof Components.interfaces.nsIDOMChromeWindow)) {
|
||||
dump("WARNING: content window passed to PrivateBrowsingUtils.isWindowPrivate. " +
|
||||
"Use isContentWindowPrivate instead (but only for frame scripts).\n"
|
||||
+ new Error().stack);
|
||||
@ -44,15 +45,9 @@ this.PrivateBrowsingUtils = {
|
||||
},
|
||||
|
||||
privacyContextFromWindow: function pbu_privacyContextFromWindow(aWindow) {
|
||||
let context = { usePrivateBrowsing: false };
|
||||
try {
|
||||
context = aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIWebNavigation)
|
||||
.QueryInterface(Ci.nsILoadContext);
|
||||
} catch (ex) {
|
||||
Cu.reportError(ex);
|
||||
}
|
||||
return context;
|
||||
return aWindow.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIWebNavigation)
|
||||
.QueryInterface(Ci.nsILoadContext);
|
||||
},
|
||||
|
||||
addToTrackingAllowlist(aURI) {
|
||||
@ -86,7 +81,7 @@ this.PrivateBrowsingUtils = {
|
||||
},
|
||||
|
||||
whenHiddenPrivateWindowReady: function pbu_whenHiddenPrivateWindowReady(cb) {
|
||||
Cu.import("resource://gre/modules/Timer.jsm");
|
||||
Components.utils.import("resource://gre/modules/Timer.jsm");
|
||||
|
||||
let win = Services.appShell.hiddenPrivateDOMWindow;
|
||||
function isNotLoaded() {
|
||||
|
@ -28,7 +28,7 @@ function init() {
|
||||
|
||||
var richlist = document.getElementById("addonList");
|
||||
var list = gArgs.list;
|
||||
list.sort(function(a, b) { return String.localeCompare(a.name, b.name); });
|
||||
list.sort((a, b) => String(a.name).localeCompare(b.name));
|
||||
for (let listItem of list) {
|
||||
let item = document.createElement("richlistitem");
|
||||
item.setAttribute("name", listItem.name);
|
||||
|
@ -1894,7 +1894,7 @@ var gCategories = {
|
||||
continue;
|
||||
// If the priorities are equal and the new type's name is earlier
|
||||
// alphabetically then this is the insertion point
|
||||
if (String.localeCompare(aName, node.getAttribute("name")) < 0)
|
||||
if (String(aName).localeCompare(node.getAttribute("name")) < 0)
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -15,10 +15,19 @@
|
||||
#include "nsINativeMenuService.h"
|
||||
#include "nsString.h"
|
||||
|
||||
class nsMenuBarX;
|
||||
class nsMenuX;
|
||||
class nsIWidget;
|
||||
class nsIContent;
|
||||
|
||||
// ApplicationMenuDelegate is used to receive Cocoa notifications.
|
||||
@interface ApplicationMenuDelegate : NSObject<NSMenuDelegate>
|
||||
{
|
||||
nsMenuBarX* mApplicationMenu; // weak ref
|
||||
}
|
||||
- (id)initWithApplicationMenu:(nsMenuBarX*)aApplicationMenu;
|
||||
@end
|
||||
|
||||
// The native menu service for creating native menu bars.
|
||||
class nsNativeMenuServiceX : public nsINativeMenuService
|
||||
{
|
||||
@ -108,6 +117,8 @@ public:
|
||||
void ForceNativeMenuReload(); // used for testing
|
||||
static char GetLocalizedAccelKey(const char *shortcutID);
|
||||
static void ResetNativeApplicationMenu();
|
||||
void SetNeedsRebuild();
|
||||
void ApplicationMenuOpened();
|
||||
|
||||
protected:
|
||||
void ConstructNativeMenus();
|
||||
@ -123,6 +134,8 @@ protected:
|
||||
nsTArray<mozilla::UniquePtr<nsMenuX>> mMenuArray;
|
||||
nsIWidget* mParentWindow; // [weak]
|
||||
GeckoNSMenu* mNativeMenu; // root menu, representing entire menu bar
|
||||
bool mNeedsRebuild;
|
||||
ApplicationMenuDelegate* mApplicationMenuDelegate;
|
||||
};
|
||||
|
||||
#endif // nsMenuBarX_h_
|
||||
|
@ -55,8 +55,38 @@ NS_IMETHODIMP nsNativeMenuServiceX::CreateNativeMenuBar(nsIWidget* aParent, nsIC
|
||||
return mb->Create(aParent, aMenuBarNode);
|
||||
}
|
||||
|
||||
//
|
||||
// ApplicationMenuDelegate Objective-C class
|
||||
//
|
||||
|
||||
@implementation ApplicationMenuDelegate
|
||||
|
||||
- (id)initWithApplicationMenu:(nsMenuBarX*)aApplicationMenu
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NIL;
|
||||
|
||||
if ((self = [super init])) {
|
||||
mApplicationMenu = aApplicationMenu;
|
||||
}
|
||||
return self;
|
||||
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK_NIL;
|
||||
}
|
||||
|
||||
- (void)menuWillOpen:(NSMenu*)menu
|
||||
{
|
||||
mApplicationMenu->ApplicationMenuOpened();
|
||||
}
|
||||
|
||||
- (void)menuDidClose:(NSMenu*)menu
|
||||
{
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
nsMenuBarX::nsMenuBarX()
|
||||
: nsMenuGroupOwnerX(), mParentWindow(nullptr)
|
||||
: nsMenuGroupOwnerX(), mParentWindow(nullptr), mNeedsRebuild(false),
|
||||
mApplicationMenuDelegate(nil)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
|
||||
|
||||
@ -92,6 +122,10 @@ nsMenuBarX::~nsMenuBarX()
|
||||
// before the registration hash table is destroyed.
|
||||
mMenuArray.Clear();
|
||||
|
||||
if (mApplicationMenuDelegate) {
|
||||
[mApplicationMenuDelegate release];
|
||||
}
|
||||
|
||||
[mNativeMenu release];
|
||||
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK;
|
||||
@ -178,6 +212,11 @@ void nsMenuBarX::ConstructFallbackNativeMenus()
|
||||
}
|
||||
|
||||
sApplicationMenu = [[[[NSApp mainMenu] itemAtIndex:0] submenu] retain];
|
||||
if (!mApplicationMenuDelegate) {
|
||||
mApplicationMenuDelegate =
|
||||
[[ApplicationMenuDelegate alloc] initWithApplicationMenu:this];
|
||||
}
|
||||
[sApplicationMenu setDelegate:mApplicationMenuDelegate];
|
||||
NSMenuItem* quitMenuItem = [[[NSMenuItem alloc] initWithTitle:labelStr
|
||||
action:@selector(menuItemHit:)
|
||||
keyEquivalent:keyStr] autorelease];
|
||||
@ -472,6 +511,22 @@ void nsMenuBarX::ResetNativeApplicationMenu()
|
||||
sApplicationMenuIsFallback = NO;
|
||||
}
|
||||
|
||||
void nsMenuBarX::SetNeedsRebuild()
|
||||
{
|
||||
mNeedsRebuild = true;
|
||||
}
|
||||
|
||||
void nsMenuBarX::ApplicationMenuOpened()
|
||||
{
|
||||
if (mNeedsRebuild) {
|
||||
if (!mMenuArray.IsEmpty()) {
|
||||
ResetNativeApplicationMenu();
|
||||
CreateApplicationMenu(mMenuArray[0].get());
|
||||
}
|
||||
mNeedsRebuild = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Hide the item in the menu by setting the 'hidden' attribute. Returns it in |outHiddenNode| so
|
||||
// the caller can hang onto it if they so choose. It is acceptable to pass nsull
|
||||
// for |outHiddenNode| if the caller doesn't care about the hidden node.
|
||||
@ -644,6 +699,12 @@ nsresult nsMenuBarX::CreateApplicationMenu(nsMenuX* inMenu)
|
||||
*/
|
||||
|
||||
if (sApplicationMenu) {
|
||||
if (!mApplicationMenuDelegate) {
|
||||
mApplicationMenuDelegate =
|
||||
[[ApplicationMenuDelegate alloc] initWithApplicationMenu:this];
|
||||
}
|
||||
[sApplicationMenu setDelegate:mApplicationMenuDelegate];
|
||||
|
||||
// This code reads attributes we are going to care about from the DOM elements
|
||||
|
||||
NSMenuItem *itemBeingAdded = nil;
|
||||
|
@ -450,8 +450,13 @@ void nsMenuX::MenuConstruct()
|
||||
|
||||
void nsMenuX::SetRebuild(bool aNeedsRebuild)
|
||||
{
|
||||
if (!gConstructingMenu)
|
||||
if (!gConstructingMenu) {
|
||||
mNeedsRebuild = aNeedsRebuild;
|
||||
if (mParent->MenuObjectType() == eMenuBarObjectType) {
|
||||
nsMenuBarX* mb = static_cast<nsMenuBarX*>(mParent);
|
||||
mb->SetNeedsRebuild();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nsresult nsMenuX::SetEnabled(bool aIsEnabled)
|
||||
|
@ -611,3 +611,22 @@ STUB(gdk_x11_window_get_drawable_impl)
|
||||
STUB(gdkx_visual_get)
|
||||
STUB(gtk_object_get_type)
|
||||
#endif
|
||||
|
||||
#ifndef GTK3_SYMBOLS
|
||||
// Only define the following workaround when using GTK3, which we detect
|
||||
// by checking if GTK3 stubs are not provided.
|
||||
#include <X11/Xlib.h>
|
||||
// Bug 1271100
|
||||
// We need to trick system Cairo into not using the XShm extension due to
|
||||
// a race condition in it that results in frequent BadAccess errors. Cairo
|
||||
// relies upon XShmQueryExtension to initially detect if XShm is available.
|
||||
// So we define our own stub that always indicates XShm not being present.
|
||||
// mozgtk loads before libXext/libcairo and so this stub will take priority.
|
||||
// Our tree usage goes through xcb and remains unaffected by this.
|
||||
MOZ_EXPORT Bool
|
||||
XShmQueryExtension(Display* aDisplay)
|
||||
{
|
||||
return False;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user