зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it explicit and remove the CSS value. Differential Revision: https://phabricator.services.mozilla.com/D161552
This commit is contained in:
Родитель
5c5c337a98
Коммит
58a308d108
|
@ -284,7 +284,7 @@ function is_hidden(element) {
|
|||
if (style.visibility != "visible") {
|
||||
return true;
|
||||
}
|
||||
if (style.display == "-moz-popup") {
|
||||
if (XULPopupElement.isInstance(element)) {
|
||||
return ["hiding", "closed"].includes(element.state);
|
||||
}
|
||||
|
||||
|
|
|
@ -5596,7 +5596,7 @@ class OverflowableToolbar {
|
|||
let style = win.getComputedStyle(child);
|
||||
if (
|
||||
style.display == "none" ||
|
||||
style.display == "-moz-popup" ||
|
||||
win.XULPopupElement.isInstance(child) ||
|
||||
(style.position != "static" && style.position != "relative")
|
||||
) {
|
||||
continue;
|
||||
|
|
|
@ -39,14 +39,15 @@ const EVENT_TYPES = [
|
|||
* they need to read style or layout information, like other code normally does.
|
||||
*/
|
||||
function is_visible(element) {
|
||||
var style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return false;
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return false;
|
||||
}
|
||||
if (style.display == "-moz-popup" && element.state != "open") {
|
||||
if (win.XULPopupElement.isInstance(element) && element.state != "open") {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,14 +68,15 @@ function taskify(fun) {
|
|||
}
|
||||
|
||||
function is_hidden(element) {
|
||||
var style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return true;
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return true;
|
||||
}
|
||||
if (style.display == "-moz-popup") {
|
||||
if (win.XULPopupElement.isInstance(element)) {
|
||||
return ["hiding", "closed"].includes(element.state);
|
||||
}
|
||||
|
||||
|
@ -88,14 +89,15 @@ function is_hidden(element) {
|
|||
}
|
||||
|
||||
function is_visible(element) {
|
||||
var style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return false;
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return false;
|
||||
}
|
||||
if (style.display == "-moz-popup" && element.state != "open") {
|
||||
if (win.XULPopupElement.isInstance(element) && element.state != "open") {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -3486,7 +3486,7 @@ nsresult EventStateManager::PostHandleEvent(nsPresContext* aPresContext,
|
|||
|
||||
// If the mousedown happened inside a popup, don't try to set focus on
|
||||
// one of its containing elements
|
||||
if (frame->StyleDisplay()->mDisplay == StyleDisplay::MozPopup) {
|
||||
if (frame->IsMenuPopupFrame()) {
|
||||
newFocus = nullptr;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -8,14 +8,13 @@ function init()
|
|||
var c1 = document.getElementById("c1");
|
||||
var f1 = document.getElementById("f1");
|
||||
var a1 = document.getElementById("a1");
|
||||
|
||||
|
||||
function first()
|
||||
{
|
||||
f1.style.display = "-moz-popup";
|
||||
c1.style.height = "2em";
|
||||
window.status = "A";
|
||||
}
|
||||
|
||||
|
||||
function second()
|
||||
{
|
||||
c1.style.position = "absolute";
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<body>
|
||||
|
||||
<div style="display: -moz-popup"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -113,7 +113,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
</q>
|
||||
</q>
|
||||
</p>
|
||||
<p style=" display: -moz-popup; direction: ltr;">
|
||||
<p style=" direction: ltr;">
|
||||
<q style=" display: table-header-group; ">
|
||||
<q style=" display: table-cell; ">
|
||||
<q style=" display: table; direction: ltr;">
|
||||
|
@ -314,7 +314,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" position: fixed; direction: rtl;">
|
||||
<s style=" display: -moz-inline-box; direction: rtl;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
</s>
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
</bdo>
|
||||
</s>
|
||||
</bdo>
|
||||
|
@ -345,7 +345,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<s style=" position: fixed; direction: rtl;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden; ">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
</q>
|
||||
</bdo>
|
||||
|
@ -378,12 +378,12 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<s style=" position: fixed; direction: rtl;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
</q>
|
||||
</bdo>
|
||||
</s>
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
</q>
|
||||
</bdo>
|
||||
|
@ -414,7 +414,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
</q>
|
||||
</bdo>
|
||||
|
@ -448,7 +448,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
</q>
|
||||
</bdo>
|
||||
|
@ -479,7 +479,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
<samp style=" display: inherit; position: fixed; direction: ltr;">mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
||||
<nobr style=" display: -moz-inline-box; position: absolute; direction: ltr;">
|
||||
|
@ -553,7 +553,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -598,7 +598,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -639,7 +639,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -699,7 +699,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -740,7 +740,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -780,7 +780,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<q style=" display: list-item; direction: ltr;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
|
@ -880,7 +880,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
<bdo style=" display: inline-block; direction: rtl;">
|
||||
|
@ -919,7 +919,7 @@ mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m mm m
|
|||
<s style=" display: table-cell;">
|
||||
<bdo style=" display: -moz-box;">
|
||||
<bdo style="overflow: scroll; display: -moz-box; float: right;">
|
||||
<bdo style="overflow: hidden; display: -moz-popup; ">
|
||||
<bdo style="overflow: hidden;">
|
||||
<s style="overflow: auto; display: inline-table; ">
|
||||
<s style=" display: table-column-group; direction: rtl;">
|
||||
<bdo style=" display: inline-block; direction: rtl;">
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" style="display: table;">
|
||||
<box style="display: -moz-popup;"/>
|
||||
</window>
|
||||
<panel/>
|
||||
</window>
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg"><foreignObject id="fo">
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: -moz-popup;"></div></foreignObject><script>
|
||||
|
||||
function boom()
|
||||
{
|
||||
document.getElementById("fo").style.MozAppearance = "menuitem";
|
||||
}
|
||||
|
||||
window.addEventListener("load", boom, false);
|
||||
|
||||
</script></svg>
|
||||
|
До Ширина: | Высота: | Размер: 320 B |
|
@ -137,7 +137,6 @@ load 369547-2.html
|
|||
load 369945-1.xhtml
|
||||
load 371681-1.xhtml
|
||||
load 372237-1.html
|
||||
load 372475-1.xhtml
|
||||
load 372550-1.html
|
||||
load 373628-1.html
|
||||
load 374297-1.html
|
||||
|
@ -328,7 +327,6 @@ load 595039-1.html
|
|||
load 597924-1.html
|
||||
load 606432-1.html
|
||||
load 609821-1.xhtml
|
||||
load 613817-1.svg
|
||||
load 615146-1.html
|
||||
load 615781-1.xhtml
|
||||
load 616495-single-side-composite-color-border.html
|
||||
|
|
|
@ -2399,14 +2399,12 @@ nsIFrame* nsCSSFrameConstructor::ConstructDocElementFrame(
|
|||
} else if (display->mDisplay == StyleDisplay::Flex ||
|
||||
display->mDisplay == StyleDisplay::WebkitBox ||
|
||||
display->mDisplay == StyleDisplay::Grid ||
|
||||
display->mDisplay == StyleDisplay::MozBox ||
|
||||
display->mDisplay == StyleDisplay::MozPopup) {
|
||||
display->mDisplay == StyleDisplay::MozBox) {
|
||||
auto func = [&] {
|
||||
if (display->mDisplay == StyleDisplay::Grid) {
|
||||
return NS_NewGridContainerFrame;
|
||||
}
|
||||
if ((display->mDisplay == StyleDisplay::MozBox ||
|
||||
display->mDisplay == StyleDisplay::MozPopup) &&
|
||||
if (display->mDisplay == StyleDisplay::MozBox &&
|
||||
!computedStyle->StyleVisibility()->EmulateMozBoxWithFlex()) {
|
||||
return NS_NewBoxFrame;
|
||||
}
|
||||
|
@ -4022,6 +4020,8 @@ const nsCSSFrameConstructor::FrameConstructionData*
|
|||
nsCSSFrameConstructor::FindXULTagData(const Element& aElement,
|
||||
ComputedStyle& aStyle) {
|
||||
MOZ_ASSERT(aElement.IsXULElement());
|
||||
static constexpr FrameConstructionData kPopupData(
|
||||
NS_NewMenuPopupFrame, FCDATA_IS_POPUP | FCDATA_SKIP_ABSPOS_PUSH);
|
||||
|
||||
static constexpr FrameConstructionDataByTag sXULTagData[] = {
|
||||
SIMPLE_XUL_CREATE(image, NS_NewImageBoxFrame),
|
||||
|
@ -4047,7 +4047,11 @@ nsCSSFrameConstructor::FindXULTagData(const Element& aElement,
|
|||
SIMPLE_XUL_CREATE(splitter, NS_NewSplitterFrame),
|
||||
SIMPLE_XUL_CREATE(slider, NS_NewSliderFrame),
|
||||
SIMPLE_XUL_CREATE(scrollbar, NS_NewScrollbarFrame),
|
||||
SIMPLE_XUL_CREATE(scrollbarbutton, NS_NewScrollbarButtonFrame)};
|
||||
SIMPLE_XUL_CREATE(scrollbarbutton, NS_NewScrollbarButtonFrame),
|
||||
{nsGkAtoms::panel, kPopupData},
|
||||
{nsGkAtoms::menupopup, kPopupData},
|
||||
{nsGkAtoms::tooltip, kPopupData},
|
||||
};
|
||||
|
||||
return FindDataByTag(aElement, aStyle, sXULTagData, ArrayLength(sXULTagData));
|
||||
}
|
||||
|
@ -4457,11 +4461,6 @@ nsCSSFrameConstructor::FindDisplayData(const nsStyleDisplay& aDisplay,
|
|||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeRuby));
|
||||
return &data;
|
||||
}
|
||||
case StyleDisplayInside::MozPopup: {
|
||||
static constexpr FrameConstructionData data(
|
||||
NS_NewMenuPopupFrame, FCDATA_IS_POPUP | FCDATA_SKIP_ABSPOS_PUSH);
|
||||
return &data;
|
||||
}
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE("unknown 'display' value");
|
||||
return nullptr;
|
||||
|
@ -5465,15 +5464,6 @@ void nsCSSFrameConstructor::ConstructFramesFromItem(
|
|||
nsContainerFrame* aParentFrame, nsFrameList& aFrameList) {
|
||||
FrameConstructionItem& item = aIter.item();
|
||||
ComputedStyle* computedStyle = item.mComputedStyle;
|
||||
|
||||
const auto* disp = computedStyle->StyleDisplay();
|
||||
MOZ_ASSERT(!disp->IsAbsolutelyPositionedStyle() ||
|
||||
disp->DisplayInside() != StyleDisplayInside::MozBox,
|
||||
"This may be a frame that was previously blockified "
|
||||
"but isn't any longer! It probably needs explicit "
|
||||
"'display:block' to preserve behavior");
|
||||
Unused << disp; // (unused in configs that define the assertion away)
|
||||
|
||||
if (item.mIsText) {
|
||||
// If this is collapsible whitespace next to a line boundary,
|
||||
// don't create a frame. item.IsWhitespace() also sets the
|
||||
|
@ -5843,10 +5833,6 @@ bool nsCSSFrameConstructor::IsValidSibling(nsIFrame* aSibling,
|
|||
}
|
||||
|
||||
StyleDisplay display = aDisplay.value();
|
||||
if (LayoutFrameType::Menu == parentType) {
|
||||
return (StyleDisplay::MozPopup == display) ==
|
||||
(StyleDisplay::MozPopup == siblingDisplay);
|
||||
}
|
||||
// To have decent performance we want to return false in cases in which
|
||||
// reordering the two siblings has no effect on display. To ensure
|
||||
// correctness, we MUST return false in cases where the two siblings have
|
||||
|
|
|
@ -422,8 +422,7 @@ bool nsFrameIterator::IsPopupFrame(nsIFrame* aFrame) {
|
|||
if (mSkipPopupChecks) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (aFrame && aFrame->StyleDisplay()->mDisplay == StyleDisplay::MozPopup);
|
||||
return aFrame && aFrame->IsMenuPopupFrame();
|
||||
}
|
||||
|
||||
// nsVisualIterator implementation
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<div>Foo</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,8 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body onload="document.getElementById('f1').style.display = '';">
|
||||
<div id="f1" style="display: -moz-popup;">Foo</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1314,7 +1314,6 @@ fuzzy(0-1,0-5) == 482659-1d.html 482659-1-ref.html
|
|||
== 488685-1.html 488685-1-ref.html
|
||||
== 488692-1.html 488692-1-ref.html
|
||||
== 489868-1.svg 489868-1-ref.svg
|
||||
== 490173-1.html 490173-1-ref.html
|
||||
== 490173-2.html 490173-2-ref.html
|
||||
== 490176-1.html 490176-1-ref.html
|
||||
== 490177-1.svg 490177-1-ref.svg
|
||||
|
|
|
@ -68,7 +68,7 @@ window.addEventListener("MozReftestInvalidate", boom);
|
|||
</div>
|
||||
|
||||
<div style="display:table; border-spacing:10px; background-color:teal">
|
||||
<div id="target10" style="display:-moz-popup">target</div>
|
||||
<div id="target10">target</div>
|
||||
</div>
|
||||
|
||||
<div style="display:table; border-spacing:10px; background-color:SkyBlue ">
|
||||
|
|
|
@ -91,8 +91,6 @@ enum class StyleDisplay : uint16_t {
|
|||
StyleDisplayFrom(StyleDisplayOutside::Block, StyleDisplayInside::MozBox),
|
||||
MozInlineBox =
|
||||
StyleDisplayFrom(StyleDisplayOutside::Inline, StyleDisplayInside::MozBox),
|
||||
MozPopup =
|
||||
StyleDisplayFrom(StyleDisplayOutside::XUL, StyleDisplayInside::MozPopup),
|
||||
};
|
||||
// The order of the StyleDisplay values isn't meaningful.
|
||||
bool operator<(const StyleDisplay&, const StyleDisplay&) = delete;
|
||||
|
|
|
@ -19,7 +19,6 @@ const NON_CONTENT_ACCESSIBLE_VALUES = {
|
|||
"-moz-autofill-background",
|
||||
],
|
||||
"display": [
|
||||
"-moz-popup",
|
||||
"-moz-box",
|
||||
"-moz-inline-box",
|
||||
],
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="Crash [@ DoDeletingFrameSubtree] after reloading a xul page a few times with display: -moz-popup and menuitem">
|
||||
<menuitem style="display: -moz-popup;">
|
||||
<box style="display: -moz-popup;">
|
||||
<box style="display: -moz-popup;"/>
|
||||
</box>
|
||||
</menuitem>
|
||||
</window>
|
|
@ -16,7 +16,6 @@ skip-if(Android) load chrome://reftest/content/crashtests/layout/xul/crashtests/
|
|||
load 329407-1.xml
|
||||
load chrome://reftest/content/crashtests/layout/xul/crashtests/336962-1.xhtml
|
||||
skip-if(Android) load chrome://reftest/content/crashtests/layout/xul/crashtests/344228-1.xhtml
|
||||
load chrome://reftest/content/crashtests/layout/xul/crashtests/350460.xhtml
|
||||
skip-if(Android) load chrome://reftest/content/crashtests/layout/xul/crashtests/365151.xhtml
|
||||
load chrome://reftest/content/crashtests/layout/xul/crashtests/366112-1.xhtml
|
||||
skip-if(Android) load chrome://reftest/content/crashtests/layout/xul/crashtests/366203-1.xhtml
|
||||
|
|
|
@ -15,7 +15,6 @@ support-files =
|
|||
|
||||
[test_blockify_moz_box.html]
|
||||
[test_bug159346.xhtml]
|
||||
[test_bug372685.xhtml]
|
||||
[test_bug381167.xhtml]
|
||||
[test_bug398982-1.xhtml]
|
||||
[test_bug398982-2.xhtml]
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
title="Test for Bug 372685">
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=372685
|
||||
-->
|
||||
|
||||
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
|
||||
<menuitem id="a" style="display: -moz-box;">
|
||||
<box id="b" style="display: -moz-popup; ">
|
||||
<box id="c" style="position: fixed; display: block;"></box>
|
||||
</box>
|
||||
</menuitem>
|
||||
|
||||
<script class="testbody" type="application/javascript">
|
||||
<![CDATA[
|
||||
|
||||
function removestyles(i){
|
||||
document.getElementById('a').removeAttribute('style');
|
||||
var x=document.getElementById('html_body').offsetHeight;
|
||||
is(0, 0, "this is a crash test, so always ok if we survive this far");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
function do_test() {
|
||||
setTimeout(removestyles,200);
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<body id="html_body" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=372685">Mozilla Bug 372685</a>
|
||||
<p id="display"></p>
|
||||
|
||||
<pre id="test">
|
||||
</pre>
|
||||
<script>
|
||||
addLoadEvent(do_test);
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
||||
</window>
|
|
@ -104,8 +104,6 @@ pub enum DisplayInside {
|
|||
WebkitBox,
|
||||
#[cfg(feature = "gecko")]
|
||||
MozBox,
|
||||
#[cfg(feature = "gecko")]
|
||||
MozPopup,
|
||||
}
|
||||
|
||||
#[allow(missing_docs)]
|
||||
|
@ -217,8 +215,6 @@ impl Display {
|
|||
pub const MozBox: Self = Self::new(DisplayOutside::Block, DisplayInside::MozBox);
|
||||
#[cfg(feature = "gecko")]
|
||||
pub const MozInlineBox: Self = Self::new(DisplayOutside::Inline, DisplayInside::MozBox);
|
||||
#[cfg(feature = "gecko")]
|
||||
pub const MozPopup: Self = Self::new(DisplayOutside::XUL, DisplayInside::MozPopup);
|
||||
|
||||
/// Make a raw display value from <display-outside> and <display-inside> values.
|
||||
#[inline]
|
||||
|
@ -597,8 +593,6 @@ impl Parse for Display {
|
|||
"-moz-box" if moz_display_values_enabled(context) => Display::MozBox,
|
||||
#[cfg(feature = "gecko")]
|
||||
"-moz-inline-box" if moz_display_values_enabled(context) => Display::MozInlineBox,
|
||||
#[cfg(feature = "gecko")]
|
||||
"-moz-popup" if moz_display_values_enabled(context) => Display::MozPopup,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -295,14 +295,15 @@ var BrowserTestUtils = {
|
|||
* @return {boolean}
|
||||
*/
|
||||
is_hidden(element) {
|
||||
var style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return true;
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return true;
|
||||
}
|
||||
if (style.display == "-moz-popup") {
|
||||
if (win.XULPopupElement.isInstance(element)) {
|
||||
return ["hiding", "closed"].includes(element.state);
|
||||
}
|
||||
|
||||
|
@ -323,14 +324,15 @@ var BrowserTestUtils = {
|
|||
* @return {boolean}
|
||||
*/
|
||||
is_visible(element) {
|
||||
var style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return false;
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return false;
|
||||
}
|
||||
if (style.display == "-moz-popup" && element.state != "open") {
|
||||
if (win.XULPopupElement.isInstance(element) && element.state != "open") {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,12 +27,15 @@ var NarrateTestUtils = {
|
|||
FORWARD: ".narrate-skip-next",
|
||||
|
||||
isVisible(element) {
|
||||
let style = element.ownerGlobal.getComputedStyle(element);
|
||||
let win = element.ownerGlobal;
|
||||
let style = win.getComputedStyle(element);
|
||||
if (style.display == "none") {
|
||||
return false;
|
||||
} else if (style.visibility != "visible") {
|
||||
}
|
||||
if (style.visibility != "visible") {
|
||||
return false;
|
||||
} else if (style.display == "-moz-popup" && element.state != "open") {
|
||||
}
|
||||
if (win.XULPopupElement.isInstance(element) && element.state != "open") {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@
|
|||
return NodeFilter.FILTER_REJECT;
|
||||
}
|
||||
// but it may be a popup element, in which case we look at "state"...
|
||||
if (cs.display == "-moz-popup" && node.state != "open") {
|
||||
if (XULPopupElement.isInstance(node) && node.state != "open") {
|
||||
return NodeFilter.FILTER_REJECT;
|
||||
}
|
||||
// OK - the node seems visible, so it is a candidate.
|
||||
|
|
|
@ -270,7 +270,6 @@ panel {
|
|||
menupopup,
|
||||
panel,
|
||||
tooltip {
|
||||
display: -moz-popup;
|
||||
position: absolute;
|
||||
-moz-top-layer: top;
|
||||
/* Popups can't have overflow */
|
||||
|
|
Загрузка…
Ссылка в новой задаче