Merge mozilla-central to autoland. a=merge CLOSED TREE

This commit is contained in:
Margareta Eliza Balazs 2018-01-16 23:49:24 +02:00
commit 757c55dc4f
28 changed files with 293 additions and 294 deletions

View File

@ -4601,6 +4601,9 @@
<certItem issuerName="MIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNQ==">
<serialNumber>UWMOvf4tj/x5cQN2PXVSww==</serialNumber>
</certItem>
<certItem issuerName="MHIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJUWDEQMA4GA1UEBxMHSG91c3RvbjEVMBMGA1UEChMMY1BhbmVsLCBJbmMuMS0wKwYDVQQDEyRjUGFuZWwsIEluYy4gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=">
<serialNumber>NlLRZJFLco/An3cLAGjGgQ==</serialNumber>
</certItem>
<certItem issuerName="MFwxCzAJBgNVBAYTAkJFMRUwEwYDVQQLEwxUcnVzdGVkIFJvb3QxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExGzAZBgNVBAMTElRydXN0ZWQgUm9vdCBDQSBHMg==">
<serialNumber>e/fIfg2Dj2tkYIWVu2r82Cc=</serialNumber>
</certItem>

View File

@ -1180,6 +1180,8 @@ FragmentOrElement::RemoveChildAt_Deprecated(uint32_t aIndex, bool aNotify)
void
FragmentOrElement::RemoveChildNode(nsIContent* aKid, bool aNotify)
{
// Let's keep the node alive.
nsCOMPtr<nsIContent> kungFuDeathGrip = aKid;
doRemoveChildAt(IndexOf(aKid), aNotify, aKid, mAttrsAndChildren);
}
@ -2307,10 +2309,9 @@ FragmentOrElement::SetInnerHTMLInternal(const nsAString& aInnerHTML, ErrorResult
mozAutoDocUpdate updateBatch(doc, UPDATE_CONTENT_MODEL, true);
// Remove childnodes.
uint32_t childCount = target->GetChildCount();
nsAutoMutationBatch mb(target, true, false);
for (uint32_t i = 0; i < childCount; ++i) {
target->RemoveChildAt_Deprecated(0, true);
while (target->HasChildren()) {
target->RemoveChildNode(target->GetFirstChild(), true);
}
mb.RemovalDone();

View File

@ -7454,10 +7454,10 @@ nsDOMAttributeMap::BlastSubtreeToPieces(nsINode *aNode)
}
}
uint32_t count = aNode->GetChildCount();
for (uint32_t i = 0; i < count; ++i) {
BlastSubtreeToPieces(aNode->GetFirstChild());
aNode->RemoveChildAt_Deprecated(0, false);
while (aNode->HasChildren()) {
nsIContent* node = aNode->GetFirstChild();
BlastSubtreeToPieces(node);
aNode->RemoveChildNode(node, false);
}
}
@ -7655,9 +7655,7 @@ nsIDocument::AdoptNode(nsINode& aAdoptedNode, ErrorResult& rv)
// Remove from parent.
nsCOMPtr<nsINode> parent = adoptedNode->GetParentNode();
if (parent) {
int32_t idx = parent->IndexOf(adoptedNode);
MOZ_ASSERT(idx >= 0);
parent->RemoveChildAt_Deprecated(idx, true);
parent->RemoveChildNode(adoptedNode->AsContent(), true);
} else {
MOZ_ASSERT(!adoptedNode->IsInUncomposedDoc());

View File

@ -776,29 +776,39 @@ nsGenericDOMDataNode::SplitText(uint32_t aOffset, nsIDOMText** aReturn)
return rv;
}
/* static */ int32_t
nsGenericDOMDataNode::FirstLogicallyAdjacentTextNode(nsIContent* aParent,
int32_t aIndex)
static nsIContent*
FirstLogicallyAdjacentTextNode(nsIContent* aNode)
{
while (aIndex-- > 0) {
nsIContent* sibling = aParent->GetChildAt_Deprecated(aIndex);
if (!sibling->IsNodeOfType(nsINode::eTEXT))
return aIndex + 1;
nsCOMPtr<nsIContent> parent = aNode->GetParent();
while (aNode) {
nsIContent* sibling = aNode->GetPreviousSibling();
if (!sibling || !sibling->IsNodeOfType(nsINode::eTEXT)) {
return aNode;
}
aNode = sibling;
}
return 0;
return parent->GetFirstChild();
}
/* static */ int32_t
nsGenericDOMDataNode::LastLogicallyAdjacentTextNode(nsIContent* aParent,
int32_t aIndex,
uint32_t aCount)
static nsIContent*
LastLogicallyAdjacentTextNode(nsIContent* aNode)
{
while (++aIndex < int32_t(aCount)) {
nsIContent* sibling = aParent->GetChildAt_Deprecated(aIndex);
if (!sibling->IsNodeOfType(nsINode::eTEXT))
return aIndex - 1;
nsCOMPtr<nsIContent> parent = aNode->GetParent();
while (aNode) {
nsIContent* sibling = aNode->GetNextSibling();
if (!sibling) break;
if (!sibling->IsNodeOfType(nsINode::eTEXT)) {
return aNode;
}
aNode = sibling;
}
return aCount - 1;
return parent->GetLastChild();
}
nsresult
@ -815,20 +825,25 @@ nsGenericDOMDataNode::GetWholeText(nsAString& aWholeText)
"Trying to use .wholeText with an anonymous"
"text node child of a binding parent?");
NS_ENSURE_TRUE(index >= 0, NS_ERROR_DOM_NOT_SUPPORTED_ERR);
int32_t first =
FirstLogicallyAdjacentTextNode(parent, index);
int32_t last =
LastLogicallyAdjacentTextNode(parent, index, parent->GetChildCount());
nsCOMPtr<nsIContent> first = FirstLogicallyAdjacentTextNode(this);
nsCOMPtr<nsIContent> last = LastLogicallyAdjacentTextNode(this);
aWholeText.Truncate();
nsCOMPtr<nsIDOMText> node;
nsAutoString tmp;
do {
node = do_QueryInterface(parent->GetChildAt_Deprecated(first));
while (true) {
node = do_QueryInterface(first);
node->GetData(tmp);
aWholeText.Append(tmp);
} while (first++ < last);
if (first == last) {
break;
}
first = first->GetNextSibling();
}
return NS_OK;
}

View File

@ -234,13 +234,6 @@ protected:
nsresult GetWholeText(nsAString& aWholeText);
static int32_t FirstLogicallyAdjacentTextNode(nsIContent* aParent,
int32_t aIndex);
static int32_t LastLogicallyAdjacentTextNode(nsIContent* aParent,
int32_t aIndex,
uint32_t aCount);
nsresult SetTextInternal(uint32_t aOffset, uint32_t aCount,
const char16_t* aBuffer, uint32_t aLength,
bool aNotify,

View File

@ -3102,12 +3102,12 @@ nsGenericHTMLElement::SetInnerText(const nsAString& aValue)
UPDATE_CONTENT_MODEL, true);
nsAutoMutationBatch mb;
uint32_t childCount = GetChildCount();
mb.Init(this, true, false);
for (uint32_t i = 0; i < childCount; ++i) {
RemoveChildAt_Deprecated(0, true);
while (HasChildren()) {
RemoveChildNode(nsINode::GetFirstChild(), true);
}
mb.RemovalDone();
nsString str;

View File

@ -260,6 +260,9 @@ CSP_ContentTypeToDirective(nsContentPolicyType aType)
case nsIContentPolicy::TYPE_CSP_REPORT:
return nsIContentSecurityPolicy::NO_DIRECTIVE;
case nsIContentPolicy::TYPE_SAVEAS_DOWNLOAD:
return nsIContentSecurityPolicy::NO_DIRECTIVE;
// Fall through to error for all other directives
default:
MOZ_ASSERT(false, "Can not map nsContentPolicyType to CSPDirective");

View File

@ -384,9 +384,9 @@ nsXBLPrototypeBinding::AttributeChanged(nsAtom* aAttribute,
kNameSpaceID_XUL) &&
dstAttr == nsGkAtoms::value)) {
// Flush out all our kids.
uint32_t childCount = realElement->GetChildCount();
for (uint32_t i = 0; i < childCount; i++)
realElement->RemoveChildAt_Deprecated(0, aNotify);
while (realElement->HasChildren()) {
realElement->RemoveChildNode(realElement->GetFirstChild(), aNotify);
}
if (!aRemoveFlag) {
// Construct a new text node and insert it.

View File

@ -180,8 +180,7 @@ XULSortServiceImpl::SortContainer(nsIContent *aContainer, nsSortState* aSortStat
// into the same parent. This is necessary as multiple rules
// may generate results which get placed in different locations.
items[i].parent = parent;
int32_t index = parent->IndexOf(child);
parent->RemoveChildAt_Deprecated(index, true);
parent->RemoveChildNode(child, true);
}
}

View File

@ -527,9 +527,15 @@ WebRenderCommandBuilder::GenerateFallbackData(nsDisplayItem* aItem,
return nullptr;
}
// Some display item may draw exceed the paintSize, we need prepare a larger
// draw target to contain the result.
auto scaledBounds = bounds * LayoutDeviceToLayerScale(1);
scaledBounds.Scale(scale.width, scale.height);
LayerIntSize dtSize = RoundedToInt(scaledBounds).Size();
bool needPaint = true;
LayoutDeviceIntPoint offset = RoundedToInt(bounds.TopLeft());
aImageRect = LayoutDeviceRect(offset, LayoutDeviceSize(RoundedToInt(bounds.Size())));
aImageRect = LayoutDeviceRect(offset, LayoutDeviceSize(RoundedToInt(bounds).Size()));
LayerRect paintRect = LayerRect(LayerPoint(0, 0), LayerSize(paintSize));
nsDisplayItemGeometry* geometry = fallbackData->GetGeometry();
@ -581,7 +587,7 @@ WebRenderCommandBuilder::GenerateFallbackData(nsDisplayItem* aItem,
});
RefPtr<gfx::DrawTarget> dummyDt =
gfx::Factory::CreateDrawTarget(gfx::BackendType::SKIA, gfx::IntSize(1, 1), format);
RefPtr<gfx::DrawTarget> dt = gfx::Factory::CreateRecordingDrawTarget(recorder, dummyDt, paintSize.ToUnknownSize());
RefPtr<gfx::DrawTarget> dt = gfx::Factory::CreateRecordingDrawTarget(recorder, dummyDt, dtSize.ToUnknownSize());
if (!fallbackData->mBasicLayerManager) {
fallbackData->mBasicLayerManager = new BasicLayerManager(BasicLayerManager::BLM_INACTIVE);
}
@ -593,7 +599,7 @@ WebRenderCommandBuilder::GenerateFallbackData(nsDisplayItem* aItem,
if (isInvalidated) {
Range<uint8_t> bytes((uint8_t *)recorder->mOutputStream.mData, recorder->mOutputStream.mLength);
wr::ImageKey key = mManager->WrBridge()->GetNextImageKey();
wr::ImageDescriptor descriptor(paintSize.ToUnknownSize(), 0, dt->GetFormat(), isOpaque);
wr::ImageDescriptor descriptor(dtSize.ToUnknownSize(), 0, dt->GetFormat(), isOpaque);
if (!aResources.AddBlobImage(key, descriptor, bytes)) {
return nullptr;
}
@ -612,7 +618,7 @@ WebRenderCommandBuilder::GenerateFallbackData(nsDisplayItem* aItem,
bool isInvalidated = false;
{
UpdateImageHelper helper(imageContainer, imageClient, paintSize.ToUnknownSize(), format);
UpdateImageHelper helper(imageContainer, imageClient, dtSize.ToUnknownSize(), format);
{
RefPtr<gfx::DrawTarget> dt = helper.GetDrawTarget();
if (!dt) {
@ -622,9 +628,9 @@ WebRenderCommandBuilder::GenerateFallbackData(nsDisplayItem* aItem,
fallbackData->mBasicLayerManager = new BasicLayerManager(mManager->GetWidget());
}
isInvalidated = PaintItemByDrawTarget(aItem, dt, paintRect, offset,
aDisplayListBuilder,
fallbackData->mBasicLayerManager, scale,
highlight);
aDisplayListBuilder,
fallbackData->mBasicLayerManager, scale,
highlight);
}
if (isInvalidated) {

View File

@ -3755,15 +3755,12 @@ EvalInThread(JSContext* cx, unsigned argc, Value* vp, bool cooperative)
CooperativeBeginWait(cx);
}
auto thread = js_new<Thread>(Thread::Options().setStackSize(gMaxStackSize + 128 * 1024));
if (!thread || !thread->init(WorkerMain, input)) {
ReportOutOfMemory(cx);
if (cooperative) {
cooperationState->numThreads--;
CooperativeYield();
CooperativeEndWait(cx);
}
return false;
Thread* thread;
{
AutoEnterOOMUnsafeRegion oomUnsafe;
thread = js_new<Thread>(Thread::Options().setStackSize(gMaxStackSize + 128 * 1024));
if (!thread || !thread->init(WorkerMain, input))
oomUnsafe.crash("EvalInThread");
}
if (cooperative) {

View File

@ -1309,7 +1309,10 @@ nsTextControlFrame::UpdateValueDisplay(bool aNotify,
}
if (aBeforeEditorInit && value.IsEmpty()) {
mRootNode->RemoveChildAt_Deprecated(0, true);
nsIContent* node = mRootNode->GetFirstChild();
if (node) {
mRootNode->RemoveChildNode(node, true);
}
return NS_OK;
}

View File

@ -0,0 +1,14 @@
<html>
<head>
<style>
#sel {
left: 10px;
width: 101px;
position: absolute;
}
</style>
</head>
<body>
<select id="sel"></select>
</body>
</html>

View File

@ -0,0 +1,14 @@
<html>
<head>
<style>
#sel {
left: 10.4px;
width: 100.4px;
position: absolute;
}
</style>
</head>
<body>
<select id="sel"></select>
</body>
</html>

View File

@ -2051,5 +2051,6 @@ needs-focus != 1377447-1.html 1377447-2.html
test-pref(font.size.systemFontScale,200) == 1412743.html 1412743-ref.html
== 1419820-1.html 1419820-1-ref.html
== 1420946-1.html 1420946-1-ref.html
== 1424177.html 1424177-ref.html
== 1424680.html 1424680-ref.html
== 1424798-1.html 1424798-ref.html

View File

@ -2725,8 +2725,8 @@ var NativeWindow = {
_getContextType: function(element) {
// For anchor nodes, we try to use the scheme to pick a string
if (ChromeUtils.getClassName(element) === "HTMLAnchorElement") {
let uri = this.makeURI(this._getLinkURL(element));
try {
let uri = this.makeURI(this._getLinkURL(element));
return Strings.browser.GetStringFromName("browser.menu.context." + uri.scheme);
} catch(ex) { }
}

View File

@ -23,10 +23,7 @@ namespace net {
CacheObserver* CacheObserver::sSelf = nullptr;
static int32_t const kDefaultHalfLifeExperiment = -1; // Disabled
int32_t CacheObserver::sHalfLifeExperiment = kDefaultHalfLifeExperiment;
static float const kDefaultHalfLifeHours = 1.0F; // 1 hour
static float const kDefaultHalfLifeHours = 24.0F; // 24 hours
float CacheObserver::sHalfLifeHours = kDefaultHalfLifeHours;
static bool const kDefaultUseDiskCache = true;
@ -183,52 +180,8 @@ CacheObserver::AttachToPreferences()
"browser.cache.disk.parent_directory", NS_GET_IID(nsIFile),
getter_AddRefs(mCacheParentDirectoryOverride));
// First check the default value. If it is at -1, the experient
// is turned off. If it is at 0, then use the user pref value
// instead.
sHalfLifeExperiment = mozilla::Preferences::GetInt(
"browser.cache.frecency_experiment", kDefaultHalfLifeExperiment,
PrefValueKind::Default);
if (sHalfLifeExperiment == 0) {
// Default preferences indicate we want to run the experiment,
// hence read the user value.
sHalfLifeExperiment = mozilla::Preferences::GetInt(
"browser.cache.frecency_experiment", sHalfLifeExperiment);
}
if (sHalfLifeExperiment == 0) {
// The experiment has not yet been initialized but is engaged, do
// the initialization now.
srand(time(NULL));
sHalfLifeExperiment = (rand() % 4) + 1;
// Store the experiemnt value, since we need it not to change between
// browser sessions.
mozilla::Preferences::SetInt(
"browser.cache.frecency_experiment", sHalfLifeExperiment);
}
switch (sHalfLifeExperiment) {
case 1: // The experiment is engaged
sHalfLifeHours = 0.083F; // ~5 mintues
break;
case 2:
sHalfLifeHours = 0.25F; // 15 mintues
break;
case 3:
sHalfLifeHours = 1.0F;
break;
case 4:
sHalfLifeHours = 6.0F;
break;
case -1:
default: // The experiment is off or broken
sHalfLifeExperiment = -1;
sHalfLifeHours = std::max(0.01F, std::min(1440.0F, mozilla::Preferences::GetFloat(
"browser.cache.frecency_half_life_hours", kDefaultHalfLifeHours)));
break;
}
sHalfLifeHours = std::max(0.01F, std::min(1440.0F, mozilla::Preferences::GetFloat(
"browser.cache.frecency_half_life_hours", kDefaultHalfLifeHours)));
mozilla::Preferences::AddBoolVarCache(
&sSanitizeOnShutdown, "privacy.sanitize.sanitizeOnShutdown", kDefaultSanitizeOnShutdown);

View File

@ -56,8 +56,6 @@ class CacheObserver : public nsIObserver
{ return sCompressionLevel; }
static uint32_t HalfLifeSeconds()
{ return sHalfLifeHours * 60.0F * 60.0F; }
static int32_t HalfLifeExperiment()
{ return sHalfLifeExperiment; }
static bool ClearCacheOnShutdown()
{ return sSanitizeOnShutdown && sClearCacheOnShutdown; }
static bool CacheFSReported()
@ -101,7 +99,6 @@ private:
static uint32_t sMaxDiskPriorityChunksMemoryUsage;
static uint32_t sCompressionLevel;
static float sHalfLifeHours;
static int32_t sHalfLifeExperiment;
static bool sSanitizeOnShutdown;
static bool sClearCacheOnShutdown;
static bool sCacheFSReported;

View File

@ -156,12 +156,6 @@ void
AccumulateCacheHitTelemetry(CacheDisposition hitOrMiss)
{
Telemetry::Accumulate(Telemetry::HTTP_CACHE_DISPOSITION_2_V2, hitOrMiss);
int32_t experiment = CacheObserver::HalfLifeExperiment();
if (experiment > 0 && hitOrMiss == kCacheMissed) {
Telemetry::Accumulate(Telemetry::HTTP_CACHE_MISS_HALFLIFE_EXPERIMENT_2,
experiment - 1);
}
}
// Computes and returns a SHA1 hash of the input buffer. The input buffer

View File

@ -241,11 +241,8 @@ nsHtml5TreeOperation::Detach(nsIContent* aNode, nsHtml5DocumentBuilder* aBuilder
MOZ_ASSERT(aBuilder->IsInDocUpdate());
nsCOMPtr<nsINode> parent = aNode->GetParentNode();
if (parent) {
nsHtml5OtherDocUpdate update(parent->OwnerDoc(),
aBuilder->GetDocument());
int32_t pos = parent->IndexOf(aNode);
NS_ASSERTION((pos >= 0), "Element not found as child of its parent");
parent->RemoveChildAt_Deprecated(pos, true);
nsHtml5OtherDocUpdate update(parent->OwnerDoc(), aBuilder->GetDocument());
parent->RemoveChildNode(aNode, true);
}
}
@ -262,7 +259,7 @@ nsHtml5TreeOperation::AppendChildrenToNewParent(nsIContent* aNode,
bool didAppend = false;
while (aNode->HasChildren()) {
nsCOMPtr<nsIContent> child = aNode->GetFirstChild();
aNode->RemoveChildAt_Deprecated(0, true);
aNode->RemoveChildNode(child, true);
nsresult rv = aParent->AppendChildTo(child, false);
NS_ENSURE_SUCCESS(rv, rv);
didAppend = true;

View File

@ -1161,4 +1161,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1524509866086000);
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1524603384405000);

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,8 @@
/*****************************************************************************/
#include <stdint.h>
const PRTime gPreloadListExpirationTime = INT64_C(1526929053720000);
const PRTime gPreloadListExpirationTime = INT64_C(1527022571784000);
%%
0-1.party, 1
0.me.uk, 1
0005pay.com, 1
0010100.net, 1
@ -225,6 +224,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1526929053720000);
24ip.fr, 1
24kbet.com, 1
256k.me, 1
256pages.com, 1
25reinyan25.net, 1
2600edinburgh.org, 1
2600hq.com, 1
@ -275,7 +275,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1526929053720000);
33scc.com, 1
3473-wiki.de, 1
360ds.co.in, 1
360live.fr, 1
360woodworking.com, 1
365365.com, 1
365beautyworld.com, 1
@ -330,7 +329,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1526929053720000);
41-where.com, 1
41199.com, 1
411film.com, 1
411movie.com, 1
41844.de, 1
41where.com, 1
420java.com, 1
@ -451,7 +449,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1526929053720000);
87577.com, 1
8833445.com, 1
8887999.com, 0
888azino.com, 1
888msc.vip, 1
88laohu.cc, 1
88laohu.com, 1
@ -1587,6 +1584,7 @@ analyticum.eu, 1
analyticum.net, 1
analyzemyfriends.com, 1
ananke.io, 1
anankecosmetics.com, 1
anantshri.info, 1
anarchistischegroepnijmegen.nl, 0
anarka.org, 1
@ -2207,6 +2205,7 @@ arvindhariharan.com, 1
arvindhariharan.me, 1
arvutiladu.ee, 1
arw.me, 1
arxell.com, 1
aryan-nation.com, 1
aryasenna.net, 1
arzid.com, 1
@ -2727,7 +2726,6 @@ baer.im, 0
baer.one, 0
baffinlee.com, 1
bag.bg, 1
bageez.us, 1
bagelsbakery.com, 0
bageluncle.com, 1
baggy.me.uk, 1
@ -2741,7 +2739,6 @@ bahnbonus-praemienwelt.de, 1
baifubao.com, 1
baiker.info, 1
bailakomigo.com.br, 1
bailbondsaffordable.com, 1
baildonbouncycastles.co.uk, 1
baildonhottubs.co.uk, 1
baileebee.com, 1
@ -3261,7 +3258,6 @@ besthotsales.com, 1
bestlashesandbrows.com, 1
bestlashesandbrows.hu, 1
bestleftwild.com, 1
bestmodels.su, 1
bestmotherfucking.website, 1
bestoliveoils.com, 1
bestpartyhire.com, 1
@ -3325,7 +3321,6 @@ beyond-infinity.org, 1
beyond-rational.com, 1
beyondalderaan.net, 1
beyondbounce.co.uk, 1
beyondpricing.com, 1
beyondthecode.io, 1
beyondtodaymediagroup.com, 1
beyondtrust.com, 1
@ -3438,6 +3433,7 @@ bilalkilic.de, 1
bilbayt.com, 1
bilder-designs.de, 1
bildermachr.de, 1
bildschirmflackern.de, 1
biletru.net, 1
bilgo.com, 1
bilimoe.com, 1
@ -3472,6 +3468,7 @@ binaryappdev.com, 1
binaryevolved.com, 1
binarystud.io, 1
binding-problem.com, 1
binfind.com, 1
bingcheung.com, 1
bingcheung.org, 1
bingo-wear.com, 1
@ -3882,6 +3879,7 @@ bodhi.fedoraproject.org, 1
bodixite.com, 1
bodrumfarm.com, 1
bodsch.com, 1
bodybuilding.events, 1
bodybuildingworld.com, 1
bodyconshop.com, 1
bodygearguide.com, 1
@ -4012,7 +4010,6 @@ bosworthdental.co.uk, 1
botlab.ch, 1
botmanager.pl, 1
botserver.de, 1
botstack.host, 1
bottaerisposta.net, 1
bottineauneighborhood.org, 1
bottke.berlin, 1
@ -4207,7 +4204,6 @@ brahmins.com, 1
brahmstaedt.de, 1
braiampeguero.xyz, 1
brailsford.xyz, 1
brain-e.co, 1
brain-force.ch, 1
brainball.fr, 1
brainfork.org, 1
@ -4902,7 +4898,6 @@ carauctionsillinois.com, 1
carbon-designz.com, 1
carbon12.org, 1
carbon12.software, 1
carboneselectricosnettosl.info, 1
carbonmade.com, 0
carbono.uy, 1
carck.co.uk, 1
@ -5305,6 +5300,7 @@ chaos.run, 1
chaoscastles.co.uk, 1
chaoschemnitz.de, 1
chaosdorf.de, 1
chaosfield.at, 1
chaoslab.org, 1
chaospott.de, 1
chaotichive.com, 1
@ -5700,7 +5696,7 @@ cirugiasplasticas.com.mx, 1
cirujanooral.com, 1
cirurgicagervasio.com.br, 1
cirurgicalucena.com.br, 1
ciscodude.net, 1
ciscodude.net, 0
cisoaid.com, 1
ciss.ltd, 1
cisy.me, 1
@ -7115,7 +7111,6 @@ danna-salary.com, 1
danny.fm, 1
dannyrohde.de, 1
dannystevens.co.uk, 1
danonsecurity.com, 1
danotage.tv, 1
danova.de, 1
danoz.net, 1
@ -8700,7 +8695,7 @@ e-wishlist.net, 1
e-worksmedia.com, 1
e.mail.ru, 1
e024.org, 1
e11even.nl, 1
e11even.nl, 0
e191.com, 1
e2feed.com, 1
e30.ee, 1
@ -8870,7 +8865,6 @@ edisonlee55.com, 1
edisonluiz.com, 1
edisonnissanparts.com, 1
edit.yahoo.com, 0
edited.de, 1
edition-bambou.com, 1
edition-sonblom.de, 1
editoraacademiacrista.com.br, 1
@ -9154,7 +9148,6 @@ eloge.se, 1
elonbase.com, 1
elosrah.com, 1
elosuite.com, 1
eloxt.com, 1
elpado.de, 1
elpo.net, 1
elpoderdelespiritu.org, 1
@ -9305,6 +9298,7 @@ enersaveapp.org, 1
enersec.co.uk, 1
enet-navigator.de, 1
enfantsdelarue.ch, 1
enfield-kitchens.co.uk, 1
enflow.nl, 1
enfoqueseguro.com, 1
enfu.se, 1
@ -9452,6 +9446,7 @@ eprofitacademy.com, 1
epsilon.dk, 1
epsorting.cz, 1
epublibre.org, 1
epulsar.ru, 1
eq-serve.com, 1
eqorg.com, 1
equalcloud.com, 1
@ -10000,6 +9995,7 @@ facanabota.com, 1
facanabota.com.br, 1
facciadastile.it, 1
facealacrise.fr, 1
facebattle.com, 1
facebook-atom.appspot.com, 1
facebook.ax, 1
facebook.com, 0
@ -10205,6 +10201,7 @@ fcapartsdb.com, 1
fcburk.de, 1
fcforum.net, 1
fcitasc.com, 1
fckd.net, 1
fcprovadia.com, 1
fdevs.ch, 1
fdlibre.eu, 1
@ -10312,7 +10309,6 @@ fetlife.com, 1
fettlaus.de, 1
feudalisten.de, 1
feuerwehr-dachaufsetzer.de, 1
feuerwehr-heiligenberg.de, 1
feuerwehr-illmensee.de, 1
feuerwehr-oberkotzau.de, 1
feuerwerksmanufaktur.de, 1
@ -12129,6 +12125,7 @@ grandcapital.cn, 1
grandcapital.id, 1
grandcapital.ru, 1
grandcastles.co.uk, 1
grandchamproofing.com, 1
grandchene.ch, 1
grande.coffee, 1
grandefratellonews.com, 1
@ -12381,7 +12378,6 @@ gume4you.com, 1
gumi.ca, 1
gummibande.noip.me, 1
gunhunter.com, 1
guniram.com, 1
gunwatch.co.uk, 1
guochang.xyz, 1
guoke.com, 1
@ -13062,7 +13058,6 @@ hiddenhillselectrical.com, 1
hiddenmalta.net, 1
hiddenprocess.com, 1
hideallip.com, 1
hidedd.com, 1
hideouswebsite.com, 1
hidroshop.com.br, 1
hieu.com.au, 1
@ -14334,7 +14329,6 @@ internetofdon.gs, 1
internetoffensive.fail, 1
internetovehazardnihry.cz, 1
internetpro.me, 1
internetradiocharts.de, 1
internetstaff.com, 1
internetzentrale.net, 1
interociter-enterprises.com, 1
@ -14652,6 +14646,7 @@ itfh.eu, 1
itfix.cz, 1
itforge.nl, 1
ithenrik.com, 1
itilo.de, 1
itiomassagem.com.br, 1
itis.gov, 1
itis4u.ch, 1
@ -15682,6 +15677,7 @@ kapseli.net, 1
kaptadata.com, 1
kaptamedia.com, 1
kara-fabian.com, 1
karabas.com, 1
karabijnhaken.nl, 0
karachi.dating, 1
karamna.com, 1
@ -15711,6 +15707,7 @@ karmabaker.com, 1
karmaflux.com, 1
karmainsurance.ca, 1
karmaplatform.com, 1
karmaspa.se, 1
karmic.com, 1
karn.nu, 1
karneid.info, 1
@ -16287,7 +16284,6 @@ kongbaofang.com, 1
konicaprinterdriver.com, 1
koniecfica.sk, 1
konijntjes.nl, 1
konings.it, 1
koningskwartiertje.nl, 1
konklone.com, 1
konkurs.ba, 1
@ -16789,7 +16785,6 @@ latenitefilms.com, 0
lateralsecurity.com, 1
latestdeals.co.uk, 1
latetrain.cn, 1
latg.com, 1
lathamlabs.com, 1
lathamlabs.net, 1
lathamlabs.org, 1
@ -16833,6 +16828,7 @@ lavaux.lv, 1
lavenderx.org, 1
laviedalex.ovh, 1
lavita.de, 1
lavitrine-une-collection.be, 1
lavolte.net, 1
lavval.com, 0
law-peters.de, 1
@ -17229,7 +17225,6 @@ lidow.eu, 1
liduan.com, 1
liduan.net, 1
liebel.org, 1
liebestarot.at, 1
lied8.eu, 1
liehuojun.com, 1
lifanov.com, 1
@ -17783,7 +17778,6 @@ luckycastles.co.uk, 1
luckyfrog.hk, 1
luckystarfishing.com, 1
lucy.science, 1
lucyparsonslabs.com, 1
lucysan.net, 1
ludikovsky.name, 1
ludovic-muller.fr, 1
@ -18123,7 +18117,6 @@ malenyflorist.com.au, 1
malesbdsm.com, 1
malgraph.net, 1
maliar.fr, 1
malibubeachrecoverycenter.com, 1
malibuelectrical.com, 1
malik.id, 1
malikussa.id, 1
@ -18342,6 +18335,7 @@ markt-heiligenstadt.de, 0
marktcontact.com, 1
marktissink.nl, 1
markup-ua.com, 1
markus-dev.com, 1
markus-ullmann.de, 1
markus.design, 1
markusehrlicher.de, 1
@ -18414,7 +18408,6 @@ massdrop.com, 1
masse.org, 1
massflix.com, 1
masshiro.blog, 1
massivum.de, 0
massoni.pl, 1
massotherapeutique.com, 1
masta.ch, 1
@ -19268,7 +19261,6 @@ mission-orange.de, 1
missionsgemeinde.de, 1
missip.nl, 1
missjoias.com.br, 1
misskey.xyz, 1
missoy.me, 1
misssex.de, 1
missualready.com, 1
@ -19386,10 +19378,10 @@ moa.moe, 1
mobal.com, 1
mobeforlife.com, 1
mobidea.com, 1
mobifinans.ru, 1
mobil-bei-uns.de, 1
mobilcom-debitel-empfehlen.de, 1
mobilcom-debitel.de, 1
mobile-gesundheit.org, 1
mobile.eti.br, 1
mobile.united.com, 0
mobile.usaa.com, 0
@ -20275,7 +20267,6 @@ naro.se, 1
narodsovety.ru, 1
naroska.name, 1
narrativasdigitais.pt, 1
narrenverein-wolkenschieber.de, 1
narthollis.net, 0
nasarawanewsonline.com, 1
nasbi.pl, 1
@ -20857,7 +20848,6 @@ ninetaillabs.xyz, 1
ninfora.com, 1
ning.so, 1
ninja-galerie.de, 1
ninjan.co, 1
ninofink.com, 1
nintendoforum.no, 1
ninthfloor.org, 1
@ -21294,6 +21284,7 @@ ocolere.ch, 1
ocotg.com, 1
ocrn.nl, 1
ocsigroup.fr, 1
ocsr.nl, 1
octal.es, 1
octanio.com, 1
octav.name, 0
@ -23144,6 +23135,7 @@ postfalls-naturopathic.com, 1
postfinance.ch, 1
postmatescode.com, 1
postn.eu, 1
postpot.co.kr, 1
posttigo.com, 1
potatiz.com, 1
potatofrom.space, 0
@ -23306,6 +23298,7 @@ prifo.se, 1
primaconsulting.net, 1
primalinea.pro, 1
primates.com, 1
primecaplending.com, 1
primewho.org, 1
primordialsnooze.com, 1
primotiles.co.uk, 1
@ -23983,7 +23976,6 @@ ralph.bike, 1
ralphwoessner.com, 1
ram-it.nl, 1
ram.nl, 1
ramatola.uk, 1
rambii.de, 1
ramblingrf.tech, 1
rametrix.com, 1
@ -24100,7 +24092,6 @@ reactivarte.es, 1
read.sc, 1
reades.co.uk, 1
readheadcopywriting.com, 1
readify.com.au, 1
readingandmath.org, 1
readism.io, 1
readityourself.net, 1
@ -24691,6 +24682,7 @@ robert-flynn.de, 1
robertabittle.com, 1
robertattfield.com, 1
robertg.me, 1
robertglastra.com, 1
roberthurlbut.com, 1
robertkrueger.de, 1
robertlysik.com, 1
@ -25556,7 +25548,6 @@ schritt4fit.de, 1
schrodingersscat.com, 1
schrodingersscat.org, 1
schroeder-immobilien-sundern.de, 1
schroepfglas-versand.de, 1
schroepfi.de, 1
schrolm.de, 1
schsrch.org, 1
@ -25876,6 +25867,7 @@ selfici.com, 1
selfici.cz, 1
selfishness.com, 1
selfloath.in, 1
selfmade4u.de, 1
selfserverx.com, 0
selkiemckatrick.com, 1
sellajoch.com, 1
@ -26252,7 +26244,6 @@ shopdopastor.com.br, 1
shopifycloud.com, 1
shopkini.com, 1
shoplandia.co, 1
shopods.com, 1
shoppia.se, 1
shopping24.de, 1
shoppingreview.org, 1
@ -26445,7 +26436,6 @@ silviamacallister.com, 1
silvine.xyz, 1
silvistefi.com, 1
sim-karten.net, 1
sim-sim.appspot.com, 1
sim4seed.org, 1
simam.de, 1
simbeton.nl, 1
@ -26757,6 +26747,7 @@ sma-gift.com, 1
smackhappy.com, 1
smallchat.nl, 1
smalldata.tech, 1
smalldogbreeds.net, 1
smallhadroncollider.com, 1
smallpath.me, 1
smallplanet.ch, 1
@ -27513,6 +27504,7 @@ status2u.com, 1
statusbot.io, 1
statuscode.ch, 1
stav.io, 1
stavebnice.net, 1
stavros.ovh, 1
staxflax.tk, 1
stay.black, 1
@ -27685,7 +27677,6 @@ stonewuu.com, 1
stony.com, 1
stonystratford.org, 1
stopakwardhandshakes.org, 1
stopbreakupnow.org, 1
stopbullying.gov, 1
stopfraud.gov, 1
stopthethyroidmadness.com, 1
@ -27896,7 +27887,6 @@ sundayfundayjapan.com, 1
suneilpatel.com, 1
sunfeathers.net, 1
sunfireshop.com.br, 1
sunflyer.cn, 0
sunfox.cz, 1
sunfulong.me, 1
sunjaydhama.com, 1
@ -29202,7 +29192,6 @@ tintencenter.com, 1
tintenfix.net, 1
tintenfux.de, 1
tintenland.de, 1
tintenprofi.de, 1
tinyhousefinance.com.au, 1
tinylan.com, 1
tinyspeck.com, 1
@ -29254,7 +29243,6 @@ tkn.tokyo, 1
tkts.cl, 1
tkusano.jp, 1
tkw01536.de, 1
tlach.cz, 1
tlca.org, 1
tlcnet.info, 1
tlehseasyads.com, 1
@ -30353,7 +30341,6 @@ upplevelse.com, 1
upr-info.org, 1
upr.com.ua, 1
upsiteseo.com, 1
uptimed.com, 1
uptimenotguaranteed.com, 1
uptodateinteriors.com, 1
uptogood.org, 1
@ -30390,6 +30377,7 @@ url.cab, 1
url.fi, 1
url.fm, 1
url.rw, 1
url0.eu, 1
urlachershop.com.br, 1
urlaub-leitner.at, 1
urlscan.io, 1
@ -30404,6 +30392,7 @@ usaa.com, 0
usabackground.com, 1
usability.gov, 1
usaestaonline.com, 1
usafuelservice.com, 1
usajobs.com, 1
usajobs.gov, 1
usakitchensandflooring.com, 1
@ -30579,7 +30568,6 @@ vantru.is, 1
vanvoro.us, 0
vanwunnik.com, 1
vapecom-shop.com, 1
vapecraftinc.com, 1
vapehour.com, 1
vapemania.eu, 1
vaperolles.ch, 1
@ -31272,7 +31260,6 @@ watashi.bid, 1
watch-wiki.org, 1
watchface.watch, 1
watchfreeonline.co.uk, 1
watchinventory.com, 1
watchparts-and-tools-okayama.co.jp, 1
watchstyle.com, 1
watchtv-online.pw, 1
@ -31285,6 +31272,7 @@ waterschaplimburg.nl, 1
watertrails.io, 1
waterworkscondos.com, 1
watsonwork.me, 1
wattechweb.com, 1
wave-ola.es, 1
wavesboardshop.com, 1
wavesoftime.com, 1
@ -31850,7 +31838,6 @@ windscribe.com, 1
windsock-app.com, 1
windwoodmedia.com, 1
windwoodweb.com, 1
windycitydubfest.com, 1
wine-importer.ru, 1
winebid.com, 1
wineworksonline.com, 1
@ -32580,6 +32567,7 @@ xuming.studio, 1
xuntaosms.com, 1
xuntier.ch, 1
xupeng.me, 1
xuri.me, 0
xuwei.de, 1
xvt-blog.tk, 1
xwalck.se, 1
@ -32716,7 +32704,6 @@ yhori.xyz, 1
yhwj.top, 1
yibaoweilong.top, 1
yibin0831.com, 1
yicknam.my, 0
yii2.cc, 1
yikeyong.com, 1
yin8888.tv, 1

View File

@ -2904,13 +2904,6 @@
"n_values": 5,
"description": "HTTP Cache v2 Hit, Reval, Failed-Reval, Miss"
},
"HTTP_CACHE_MISS_HALFLIFE_EXPERIMENT_2": {
"record_in_processes": ["main", "content"],
"expires_in_version": "never",
"kind": "enumerated",
"n_values": 4,
"description": "HTTP Cache v2 Miss by half-life value (5 min, 15 min, 1 hour, 6 hours)"
},
"HTTP_CACHE_ENTRY_RELOAD_TIME": {
"record_in_processes": ["main", "content"],
"expires_in_version": "never",

View File

@ -251,7 +251,6 @@
"HTTP_CACHE_ENTRY_ALIVE_TIME",
"HTTP_CACHE_ENTRY_RELOAD_TIME",
"HTTP_CACHE_ENTRY_REUSE_COUNT",
"HTTP_CACHE_MISS_HALFLIFE_EXPERIMENT_2",
"HTTP_CONNECTION_ENTRY_CACHE_HIT_1",
"HTTP_DISK_CACHE_OVERHEAD",
"HTTP_KBREAD_PER_CONN",
@ -901,7 +900,6 @@
"HTTP_CACHE_ENTRY_ALIVE_TIME",
"HTTP_CACHE_ENTRY_RELOAD_TIME",
"HTTP_CACHE_ENTRY_REUSE_COUNT",
"HTTP_CACHE_MISS_HALFLIFE_EXPERIMENT_2",
"HTTP_CONNECTION_ENTRY_CACHE_HIT_1",
"HTTP_CONTENT_ENCODING",
"HTTP_DISK_CACHE_OVERHEAD",

View File

@ -167,7 +167,7 @@ bool UIRunProgram(const std::string& exename,
bool wait = false);
// Read the environment variable specified by name
std::string UIGetEnv(const std::string name);
std::string UIGetEnv(const std::string& name);
#ifdef _MSC_VER
# pragma warning( pop )

View File

@ -163,7 +163,7 @@ std::ofstream* UIOpenWrite(const string& filename,
return new std::ofstream(filename.c_str(), mode);
}
string UIGetEnv(const string name)
string UIGetEnv(const string& name)
{
const char *var = getenv(name.c_str());
if (var && *var) {

View File

@ -1605,7 +1605,7 @@ bool UIRunProgram(const string& exename,
}
string
UIGetEnv(const string name)
UIGetEnv(const string& name)
{
const wchar_t *var = _wgetenv(UTF8ToWide(name).c_str());
if (var && *var) {