mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Merge mozilla-central to autoland. a=merge CLOSED TREE
This commit is contained in:
commit
4d6f578f08
@ -1357,7 +1357,8 @@ var delayedStartupPromise = new Promise(resolve => {
|
||||
|
||||
var gBrowserInit = {
|
||||
delayedStartupFinished: false,
|
||||
idleTasksFinished: false,
|
||||
idleTasksFinishedPromise: null,
|
||||
idleTaskPromiseResolve: null,
|
||||
|
||||
_tabToAdopt: undefined,
|
||||
|
||||
@ -1986,7 +1987,7 @@ var gBrowserInit = {
|
||||
// timeouts) should execute in order. Note that this observer notification is
|
||||
// not guaranteed to fire, since the window could close before we get here.
|
||||
scheduleIdleTask(() => {
|
||||
this.idleTasksFinished = true;
|
||||
this.idleTaskPromiseResolve();
|
||||
Services.obs.notifyObservers(window, "browser-idle-startup-tasks-finished");
|
||||
});
|
||||
},
|
||||
@ -2159,6 +2160,10 @@ var gBrowserInit = {
|
||||
},
|
||||
};
|
||||
|
||||
gBrowserInit.idleTasksFinishedPromise = new Promise(resolve => {
|
||||
gBrowserInit.idleTaskPromiseResolve = resolve;
|
||||
});
|
||||
|
||||
function HandleAppCommandEvent(evt) {
|
||||
switch (evt.command) {
|
||||
case "Back":
|
||||
|
@ -393,9 +393,8 @@ add_task(async function testTabCreateRelated() {
|
||||
});
|
||||
|
||||
add_task(async function testLastTabRemoval() {
|
||||
const CLOSE_WINDOW_PREF = "browser.tabs.closeWindowWithLastTab";
|
||||
await SpecialPowers.pushPrefEnv({set: [
|
||||
[CLOSE_WINDOW_PREF, false],
|
||||
["browser.tabs.closeWindowWithLastTab", false],
|
||||
]});
|
||||
|
||||
async function background() {
|
||||
@ -429,7 +428,7 @@ add_task(async function testLastTabRemoval() {
|
||||
|
||||
await extension.unload();
|
||||
await BrowserTestUtils.closeWindow(newWin);
|
||||
SpecialPowers.clearUserPref(CLOSE_WINDOW_PREF);
|
||||
await SpecialPowers.popPrefEnv();
|
||||
});
|
||||
|
||||
add_task(async function testTabActivationEvent() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
This is the PDF.js project output, https://github.com/mozilla/pdf.js
|
||||
|
||||
Current extension version is: 2.2.189
|
||||
Current extension version is: 2.2.199
|
||||
|
||||
Taken from upstream commit: f652cf8e
|
||||
Taken from upstream commit: 63014eb8
|
||||
|
@ -123,8 +123,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||
"use strict";
|
||||
|
||||
|
||||
var pdfjsVersion = '2.2.189';
|
||||
var pdfjsBuild = 'f652cf8e';
|
||||
var pdfjsVersion = '2.2.199';
|
||||
var pdfjsBuild = '63014eb8';
|
||||
|
||||
var pdfjsSharedUtil = __w_pdfjs_require__(1);
|
||||
|
||||
@ -1304,7 +1304,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
|
||||
|
||||
return worker.messageHandler.sendWithPromise('GetDocRequest', {
|
||||
docId,
|
||||
apiVersion: '2.2.189',
|
||||
apiVersion: '2.2.199',
|
||||
source: {
|
||||
data: source.data,
|
||||
url: source.url,
|
||||
@ -1976,7 +1976,7 @@ class LoopbackPort {
|
||||
}
|
||||
|
||||
terminate() {
|
||||
this._listeners = [];
|
||||
this._listeners.length = 0;
|
||||
}
|
||||
|
||||
}
|
||||
@ -2296,8 +2296,8 @@ class WorkerTransport {
|
||||
waitOn.push(page._destroy());
|
||||
}
|
||||
});
|
||||
this.pageCache = [];
|
||||
this.pagePromises = [];
|
||||
this.pageCache.length = 0;
|
||||
this.pagePromises.length = 0;
|
||||
const terminated = this.messageHandler.sendWithPromise('Terminate', null);
|
||||
waitOn.push(terminated);
|
||||
Promise.all(waitOn).then(() => {
|
||||
@ -3100,9 +3100,9 @@ const InternalRenderTask = function InternalRenderTaskClosure() {
|
||||
return InternalRenderTask;
|
||||
}();
|
||||
|
||||
const version = '2.2.189';
|
||||
const version = '2.2.199';
|
||||
exports.version = version;
|
||||
const build = 'f652cf8e';
|
||||
const build = '63014eb8';
|
||||
exports.build = build;
|
||||
|
||||
/***/ }),
|
||||
|
755
browser/extensions/pdfjs/content/build/pdf.worker.js
vendored
755
browser/extensions/pdfjs/content/build/pdf.worker.js
vendored
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@ origin:
|
||||
|
||||
# Human-readable identifier for this version/release
|
||||
# Generally "version NNN", "tag SSS", "bookmark SSS"
|
||||
release: version 2.2.189
|
||||
release: version 2.2.199
|
||||
|
||||
# The package's license, where possible using the mnemonic from
|
||||
# https://spdx.org/licenses/
|
||||
|
@ -80,7 +80,7 @@ bool GLXLibrary::EnsureInitialized() {
|
||||
// which trigger glibc bug
|
||||
// http://sourceware.org/bugzilla/show_bug.cgi?id=12225
|
||||
const char* libGLfilename = "libGL.so.1";
|
||||
#ifdef __OpenBSD__
|
||||
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
libGLfilename = "libGL.so";
|
||||
#endif
|
||||
|
||||
|
@ -44,6 +44,12 @@ const char* FeatureStatusToString(FeatureStatus aStatus) {
|
||||
return "blocked-no-gfx-info";
|
||||
case FeatureStatus::BlockedOverride:
|
||||
return "blocked-override";
|
||||
case FeatureStatus::BlockedReleaseChannelIntel:
|
||||
return "blocked-release-channel-intel";
|
||||
case FeatureStatus::BlockedReleaseChannelAMD:
|
||||
return "blocked-release-channel-amd";
|
||||
case FeatureStatus::BlockedReleaseChannelBattery:
|
||||
return "blocked-release-channel-battery";
|
||||
case FeatureStatus::Blacklisted:
|
||||
return "blacklisted";
|
||||
case FeatureStatus::OptIn:
|
||||
|
@ -40,6 +40,9 @@ enum class FeatureStatus {
|
||||
BlockedScreenUnknown,
|
||||
BlockedNoGfxInfo,
|
||||
BlockedOverride,
|
||||
BlockedReleaseChannelIntel,
|
||||
BlockedReleaseChannelAMD,
|
||||
BlockedReleaseChannelBattery,
|
||||
|
||||
// This feature has been blocked by the graphics blacklist.
|
||||
Blacklisted,
|
||||
|
@ -2617,27 +2617,9 @@ static FeatureState& WebRenderHardwareQualificationStatus(
|
||||
FeatureStatus::BlockedDeviceUnknown, "Bad device id",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_BAD_DEVICE_ID"));
|
||||
} else {
|
||||
#ifdef NIGHTLY_BUILD
|
||||
// For AMD/Intel devices, if we have a battery, ignore it if the screen
|
||||
// is small enough. Note that we always check for a battery with NVIDIA
|
||||
// because we do not have a limited/curated set of devices to support
|
||||
// WebRender on.
|
||||
const int32_t kMaxPixelsBattery = 1920 * 1200; // WUXGA
|
||||
const int32_t screenPixels = aScreenSize.width * aScreenSize.height;
|
||||
bool disableForBattery = aHasBattery;
|
||||
if ((adapterVendorID == u"0x8086" || adapterVendorID == u"0x1002") &&
|
||||
screenPixels > 0 && screenPixels <= kMaxPixelsBattery) {
|
||||
disableForBattery = false;
|
||||
}
|
||||
#else
|
||||
bool disableForBattery = aHasBattery;
|
||||
#endif
|
||||
|
||||
if (disableForBattery) {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedHasBattery, "Has battery",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_WR_HAS_BATTERY"));
|
||||
} else if (adapterVendorID == u"0x10de") {
|
||||
if (adapterVendorID == u"0x10de") {
|
||||
if (deviceID < 0x6c0) {
|
||||
// 0x6c0 is the lowest Fermi device id. Unfortunately some Tesla
|
||||
// devices that don't support D3D 10.1 have higher deviceIDs. They
|
||||
@ -2646,7 +2628,6 @@ static FeatureState& WebRenderHardwareQualificationStatus(
|
||||
FeatureStatus::BlockedDeviceTooOld, "Device too old",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
|
||||
}
|
||||
#ifdef EARLY_BETA_OR_EARLIER
|
||||
} else if (adapterVendorID == u"0x1002") { // AMD
|
||||
// AMD deviceIDs are not very well ordered. This
|
||||
// condition is based off the information in gpu-db
|
||||
@ -2659,13 +2640,17 @@ static FeatureState& WebRenderHardwareQualificationStatus(
|
||||
(deviceID >= 0x9830 && deviceID < 0x9870) ||
|
||||
(deviceID >= 0x9900 && deviceID < 0x9a00)) {
|
||||
// we have a desktop CAYMAN, SI, CIK, VI, or GFX9 device
|
||||
#ifndef EARLY_BETA_OR_EARLIER
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedReleaseChannelAMD,
|
||||
"Release channel and AMD",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_RELEASE_CHANNEL_AMD"));
|
||||
#endif // !EARLY_BETA_OR_EARLIER
|
||||
} else {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedDeviceTooOld, "Device too old",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
|
||||
}
|
||||
#endif
|
||||
#ifdef NIGHTLY_BUILD
|
||||
} else if (adapterVendorID == u"0x8086") { // Intel
|
||||
const uint16_t supportedDevices[] = {
|
||||
// skylake gt2+
|
||||
@ -2757,13 +2742,8 @@ static FeatureState& WebRenderHardwareQualificationStatus(
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!supported) {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedDeviceTooOld, "Device too old",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
|
||||
}
|
||||
# ifdef MOZ_WIDGET_GTK
|
||||
else {
|
||||
if (supported) {
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
// Performance is not great on 4k screens with WebRender + Linux.
|
||||
// Disable it for now if it is too large.
|
||||
const int32_t kMaxPixelsLinux = 3440 * 1440; // UWQHD
|
||||
@ -2775,15 +2755,50 @@ static FeatureState& WebRenderHardwareQualificationStatus(
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedScreenUnknown, "Screen size unknown",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_SCREEN_SIZE_UNKNOWN"));
|
||||
} else {
|
||||
#endif // MOZ_WIDGET_GTK
|
||||
#ifndef NIGHTLY_BUILD
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedReleaseChannelIntel,
|
||||
"Release channel and Intel",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_RELEASE_CHANNEL_INTEL"));
|
||||
#endif // !NIGHTLY_BUILD
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
}
|
||||
#endif // MOZ_WIDGET_GTK
|
||||
} else {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedDeviceTooOld, "Device too old",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_DEVICE_TOO_OLD"));
|
||||
}
|
||||
# endif // MOZ_WIDGET_GTK
|
||||
#endif // NIGHTLY_BUILD
|
||||
} else {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedVendorUnsupported, "Unsupported vendor",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_UNSUPPORTED_VENDOR"));
|
||||
}
|
||||
|
||||
// We leave checking the battery for last because we would like to know
|
||||
// which users were denied WebRender only because they have a battery.
|
||||
if (featureWebRenderQualified.IsEnabled() && aHasBattery) {
|
||||
// For AMD/Intel devices, if we have a battery, ignore it if the
|
||||
// screen is small enough. Note that we always check for a battery
|
||||
// with NVIDIA because we do not have a limited/curated set of devices
|
||||
// to support WebRender on.
|
||||
const int32_t kMaxPixelsBattery = 1920 * 1200; // WUXGA
|
||||
if ((adapterVendorID == u"0x8086" || adapterVendorID == u"0x1002") &&
|
||||
screenPixels > 0 && screenPixels <= kMaxPixelsBattery) {
|
||||
#ifndef NIGHTLY_BUILD
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedReleaseChannelBattery,
|
||||
"Release channel and battery",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_RELEASE_CHANNEL_BATTERY"));
|
||||
#endif // !NIGHTLY_BUILD
|
||||
} else {
|
||||
featureWebRenderQualified.Disable(
|
||||
FeatureStatus::BlockedHasBattery, "Has battery",
|
||||
NS_LITERAL_CSTRING("FEATURE_FAILURE_WR_HAS_BATTERY"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -776,6 +776,9 @@ nscoord nsBlockFrame::GetMinISize(gfxContext* aRenderingContext) {
|
||||
for (int32_t i = 0, i_end = line->GetChildCount(); i != i_end;
|
||||
++i, kid = kid->GetNextSibling()) {
|
||||
kid->AddInlineMinISize(aRenderingContext, &data);
|
||||
if (data.mTrailingWhitespace) {
|
||||
data.OptionallyBreak();
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG
|
||||
|
@ -722,7 +722,7 @@ void nsContainerFrame::DoInlineIntrinsicISize(
|
||||
nscoord clonePBM = 0; // PBM = PaddingBorderMargin
|
||||
const bool sliceBreak =
|
||||
styleBorder->mBoxDecorationBreak == StyleBoxDecorationBreak::Slice;
|
||||
if (!GetPrevContinuation()) {
|
||||
if (!GetPrevContinuation() || MOZ_UNLIKELY(!sliceBreak)) {
|
||||
nscoord startPBM =
|
||||
// clamp negative calc() to 0
|
||||
std::max(GetCoord(stylePadding->mPadding.Get(startSide), 0), 0) +
|
||||
@ -742,6 +742,7 @@ void nsContainerFrame::DoInlineIntrinsicISize(
|
||||
GetCoord(styleMargin->mMargin.Get(endSide), 0);
|
||||
if (MOZ_UNLIKELY(!sliceBreak)) {
|
||||
clonePBM += endPBM;
|
||||
aData->mCurrentLine += clonePBM;
|
||||
}
|
||||
|
||||
const nsLineList_iterator* savedLine = aData->mLine;
|
||||
|
87
layout/reftests/bidi/clone-intrinsic-size-bidi-ref.html
Normal file
87
layout/reftests/bidi/clone-intrinsic-size-bidi-ref.html
Normal file
@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Reference: min/max-content size on box-decoration-break:clone inline box with bidi text</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
white-space: pre;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
-webkit-box-decoration-break: clone;
|
||||
box-decoration-break: clone;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div><span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa</div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div><span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- FIXME -->
|
||||
<div style="white-space: normal;"><span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- FIXME -->
|
||||
<div style="white-space: normal;"><span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>bc</span><span></span><span>a</span><br><span>d‮e‭f</span></div>
|
||||
<div><span>‮a‭bc</span><br>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><br>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span></span><br><span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- FIXME -->
|
||||
<div style="white-space: normal;"><span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- FIXME -->
|
||||
<div style="white-space: normal;"><span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa</div>
|
||||
</f>
|
113
layout/reftests/bidi/clone-intrinsic-size-bidi.html
Normal file
113
layout/reftests/bidi/clone-intrinsic-size-bidi.html
Normal file
@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Test: min/max-content size on box-decoration-break:clone inline box with bidi text</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-break-3/#break-decoration">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1552357">
|
||||
<link rel="match" href="clone-intrinsic-size-bidi-ref.html">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
-webkit-box-decoration-break: clone;
|
||||
box-decoration-break: clone;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div>
|
||||
<span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa </div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div>
|
||||
<span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- Bug 1556444 -->
|
||||
<div>
|
||||
<span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- Bug 1556444 -->
|
||||
<div>
|
||||
<span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<!-- Bug 1556444 -->
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- Bug 1556444 -->
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa </div>
|
||||
</f>
|
@ -175,3 +175,5 @@ fuzzy-if(Android,207-207,32-32) random-if(/^Windows\x20NT\x206\.1/.test(http.osc
|
||||
== 1231175-1.html 1231175-1-ref.html
|
||||
== 1366623-1.html 1366623-1-ref.html
|
||||
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 1426042-1.html 1426042-1-ref.html # Bug 1392106
|
||||
== clone-intrinsic-size-bidi.html clone-intrinsic-size-bidi-ref.html
|
||||
== slice-intrinsic-size-bidi.html slice-intrinsic-size-bidi-ref.html
|
||||
|
85
layout/reftests/bidi/slice-intrinsic-size-bidi-ref.html
Normal file
85
layout/reftests/bidi/slice-intrinsic-size-bidi-ref.html
Normal file
@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Reference: min/max-content size on box-decoration-break:slice inline box with bidi text</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
white-space: pre;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
.l { margin-right:0; border-right-width:0; padding-right:0 }
|
||||
.r { margin-left:0; border-left-width:0; padding-left:0 }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div><span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa</div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div><span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><br><span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- FIXME -->
|
||||
<div style="white-space:normal;"><span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span class="l">bc</span><span>‮a‭</span><br><span class="r">d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><br>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><br>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span class="l">bc</span>aa<span>‮a‭</span><br><span class="r">d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span><br>aa<br><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa<br><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div><span>‮a‭bc</span>aa</div>
|
||||
</f>
|
108
layout/reftests/bidi/slice-intrinsic-size-bidi.html
Normal file
108
layout/reftests/bidi/slice-intrinsic-size-bidi.html
Normal file
@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Test: min/max-content size on box-decoration-break:slice inline box with bidi text</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-break-3/#break-decoration">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1552357">
|
||||
<link rel="match" href="slice-intrinsic-size-bidi-ref.html">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div>
|
||||
<span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa </div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div>
|
||||
<span>‮a‭bc</span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> <span>d‮e‭f</span>
|
||||
</div>
|
||||
<!-- Bug 1556444 -->
|
||||
<div>
|
||||
<span>‮a‭bc </span><span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span><span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc </span>aa<span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa<span> d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span> aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa <span>d‮e‭f</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>‮a‭bc</span>aa </div>
|
||||
</f>
|
File diff suppressed because it is too large
Load Diff
@ -530,9 +530,8 @@ Tester.prototype = {
|
||||
},
|
||||
|
||||
async promiseMainWindowReady() {
|
||||
if (window.gBrowserInit && !gBrowserInit.idleTasksFinished) {
|
||||
await this.TestUtils.topicObserved("browser-idle-startup-tasks-finished",
|
||||
subject => subject === window);
|
||||
if (window.gBrowserInit) {
|
||||
await window.gBrowserInit.idleTasksFinishedPromise;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -139,11 +139,29 @@ def log_crashes(logger,
|
||||
# determining the appropriate frame for the crash signature.
|
||||
ABORT_SIGNATURES = (
|
||||
"Abort(char const*)",
|
||||
"GeckoCrash",
|
||||
"NS_DebugBreak",
|
||||
# This signature is part of Rust panic stacks on some platforms. On
|
||||
# others, it includes a template parameter containing "core::panic::" and
|
||||
# is automatically filtered out by that pattern.
|
||||
"core::ops::function::Fn::call",
|
||||
"gkrust_shared::panic_hook",
|
||||
"intentional_panic",
|
||||
"mozalloc_abort",
|
||||
"static void Abort(const char *)",
|
||||
)
|
||||
|
||||
# Similar to above, but matches if the substring appears anywhere in the
|
||||
# frame's signature.
|
||||
ABORT_SUBSTRINGS = (
|
||||
# On some platforms, Rust panic frames unfortunately appear without the
|
||||
# std::panicking or core::panic namespaces.
|
||||
"_panic_",
|
||||
"core::panic::",
|
||||
"core::result::unwrap_failed",
|
||||
"std::panicking::",
|
||||
)
|
||||
|
||||
|
||||
class CrashInfo(object):
|
||||
"""Get information about a crash based on dump files.
|
||||
@ -296,7 +314,9 @@ class CrashInfo(object):
|
||||
func = match.group(1).strip()
|
||||
signature = "@ %s" % func
|
||||
|
||||
if func not in ABORT_SIGNATURES:
|
||||
if not (func in ABORT_SIGNATURES or
|
||||
any(pat in func
|
||||
for pat in ABORT_SUBSTRINGS)):
|
||||
break
|
||||
break
|
||||
else:
|
||||
|
@ -248,16 +248,8 @@ TalosPowersService.prototype = {
|
||||
// down, since some caching that can influence future runs in this profile
|
||||
// keys off of that notification.
|
||||
let topWin = BrowserWindowTracker.getTopWindow();
|
||||
if (topWin &&
|
||||
topWin.gBrowserInit &&
|
||||
!topWin.gBrowserInit.idleTasksFinished) {
|
||||
await new Promise(resolve => {
|
||||
let obs = (subject, topic, data) => {
|
||||
Services.obs.removeObserver(obs, "browser-idle-startup-tasks-finished");
|
||||
resolve();
|
||||
};
|
||||
Services.obs.addObserver(obs, "browser-idle-startup-tasks-finished");
|
||||
});
|
||||
if (topWin && topWin.gBrowserInit) {
|
||||
await topWin.gBrowserInit.idleTasksFinishedPromise;
|
||||
}
|
||||
|
||||
for (let domWindow of Services.wm.getEnumerator(null)) {
|
||||
|
@ -0,0 +1,84 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Reference: min/max-content size on box-decoration-break:clone inline box</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
white-space: pre;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
-webkit-box-decoration-break: clone;
|
||||
box-decoration-break: clone;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div><span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span> <span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa </span><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><span> aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span> aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa </span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa<span> aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span> aa <span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa <span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa</div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div><span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><br><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><br><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><span><br>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><br>aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><br>aa<span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa<span><br>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span><br>aa<br><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa<br><span>aaa</span>
|
||||
</div>
|
||||
<div><span>aaa</span>aa</div>
|
||||
</f>
|
@ -0,0 +1,109 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Test: min/max-content size on box-decoration-break:clone inline box</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-break-3/#break-decoration">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1552357">
|
||||
<link rel="match" href="clone-intrinsic-size-ref.html">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
-webkit-box-decoration-break: clone;
|
||||
box-decoration-break: clone;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div>
|
||||
<span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span><span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa </div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div>
|
||||
<span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span><span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa </div>
|
||||
</f>
|
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Reference: min/max-content size on box-decoration-break:slice inline box</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
white-space: pre;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div><span>aaa</span><span>aaa</span></div>
|
||||
<div><span>aaa</span>aa<span>aaa</span></div>
|
||||
<div><span>aaa</span> <span>aaa</span></div>
|
||||
<div><span>aaa </span><span>aaa</span></div>
|
||||
<div><span>aaa</span><span> aaa</span></div>
|
||||
<div><span>aaa</span> aa<span>aaa</span></div>
|
||||
<div><span>aaa </span>aa<span>aaa</span></div>
|
||||
<div><span>aaa</span>aa<span> aaa</span></div>
|
||||
<div><span>aaa</span> aa <span>aaa</span></div>
|
||||
<div><span>aaa</span>aa <span>aaa</span></div>
|
||||
<div><span>aaa</span>aa</div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div><span>aaa</span><span>aaa</span></div>
|
||||
<div><span>aaa</span>aa<span>aaa</span></div>
|
||||
<div><span>aaa</span><br><span>aaa</span></div>
|
||||
<div><span>aaa</span><br><span>aaa</span></div>
|
||||
<div><span>aaa</span><span><br>aaa</span></div>
|
||||
<div><span>aaa</span><br>aa<span>aaa</span></div>
|
||||
<div><span>aaa</span><br>aa<span>aaa</span></div>
|
||||
<div><span>aaa</span>aa<span><br>aaa</span></div>
|
||||
<div><span>aaa</span><br>aa<br><span>aaa</span></div>
|
||||
<div><span>aaa</span>aa<br><span>aaa</span></div>
|
||||
<div><span>aaa</span>aa</div>
|
||||
</f>
|
@ -0,0 +1,110 @@
|
||||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>CSS Test: min/max-content size on box-decoration-break:slice inline box</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-break-3/#break-decoration">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1552357">
|
||||
<link rel="match" href="slice-intrinsic-size-ref.html">
|
||||
<style>
|
||||
html,body {
|
||||
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
||||
}
|
||||
|
||||
div {
|
||||
border: 5px solid blue;
|
||||
}
|
||||
.max > div {
|
||||
width: -moz-max-content;
|
||||
width: -webkit-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
.min > div {
|
||||
width: -moz-min-content;
|
||||
width: -webkit-min-content;
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
span {
|
||||
border: 2px solid gray;
|
||||
padding: 0 10px 0 6px;
|
||||
border-width: 0 8px 0 5px;
|
||||
margin: 0 4px 0 3px;
|
||||
background: yellow;
|
||||
/* for clarity: */
|
||||
-webkit-box-decoration-break: slice;
|
||||
box-decoration-break: slice;
|
||||
}
|
||||
|
||||
f { margin-right: 30px; float: left; }
|
||||
</style>
|
||||
<body>
|
||||
<f class="max">
|
||||
<div>
|
||||
<span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span><span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa </div>
|
||||
</f>
|
||||
|
||||
<f class="min">
|
||||
<div>
|
||||
<span>aaa</span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span><span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span><span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa </span>aa<span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa<span> aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span> aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa <span>aaa</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>aaa</span>aa </div>
|
||||
</f>
|
@ -201,7 +201,7 @@ void glxtest() {
|
||||
"The MOZ_AVOID_OPENGL_ALTOGETHER environment variable is defined");
|
||||
|
||||
///// Open libGL and load needed symbols /////
|
||||
#ifdef __OpenBSD__
|
||||
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
||||
# define LIBGL_FILENAME "libGL.so"
|
||||
#else
|
||||
# define LIBGL_FILENAME "libGL.so.1"
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
"name": "Quitter",
|
||||
"description": "Quit",
|
||||
"version": "2018.04.03",
|
||||
"version": "2019.06.03",
|
||||
"author": "Mozilla",
|
||||
|
||||
"background": {
|
||||
|
@ -8,7 +8,11 @@ this.quitter = class extends ExtensionAPI {
|
||||
getAPI(context) {
|
||||
return {
|
||||
quitter: {
|
||||
quit() {
|
||||
async quit() {
|
||||
let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");
|
||||
if (browserWindow && browserWindow.gBrowserInit) {
|
||||
await browserWindow.gBrowserInit.idleTasksFinishedPromise;
|
||||
}
|
||||
Services.startup.quit(Ci.nsIAppStartup.eForceQuit);
|
||||
},
|
||||
},
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user