Issue #2499 - Part 3: Add CSS clip overflow support with serialization fixes

This commit is contained in:
MeladJM
2025-07-08 05:46:54 +08:00
committed by roytam1
parent 205ea844f4
commit 5e8e1208e7
40 changed files with 144 additions and 97 deletions
@@ -3411,7 +3411,7 @@ exports.CSS_PROPERTIES = {
"-moz-grid-line",
"-moz-groupbox",
"-moz-gtk-info-bar",
"-moz-hidden-unscrollable",
"clip",
"-moz-image-rect",
"-moz-inline-box",
"-moz-inline-grid",
@@ -8557,8 +8557,8 @@ exports.CSS_PROPERTIES = {
],
"supports": [],
"values": [
"-moz-hidden-unscrollable",
"auto",
"clip",
"hidden",
"inherit",
"initial",
@@ -8591,8 +8591,8 @@ exports.CSS_PROPERTIES = {
],
"supports": [],
"values": [
"-moz-hidden-unscrollable",
"auto",
"clip",
"hidden",
"inherit",
"initial",
@@ -8609,8 +8609,8 @@ exports.CSS_PROPERTIES = {
],
"supports": [],
"values": [
"-moz-hidden-unscrollable",
"auto",
"clip",
"hidden",
"inherit",
"initial",
+1 -1
View File
@@ -1809,7 +1809,7 @@ nsTextEditorState::InitializeRootNode()
if (!IsSingleLineTextControl()) {
// We can't just inherit the overflow because setting visible overflow will
// crash when the number of lines exceeds the height of the textarea and
// setting -moz-hidden-unscrollable overflow (NS_STYLE_OVERFLOW_CLIP)
// setting clip overflow (NS_STYLE_OVERFLOW_CLIP)
// doesn't paint the caret for some reason.
const nsStyleDisplay* disp = mBoundFrame->StyleDisplay();
if (disp->mOverflowX != NS_STYLE_OVERFLOW_VISIBLE &&
+1 -1
View File
@@ -1,7 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html style="transform: skewY(0.08turn); overflow: -moz-hidden-unscrollable; position: absolute;">
<html style="transform: skewY(0.08turn); overflow: clip; position: absolute;">
<body style="border-bottom: thick solid; transform: skewX(30grad);">
<table style="visibility: collapse; display: list-item;"></table>
</body>
+1 -1
View File
@@ -1,3 +1,3 @@
<html class="reftest-print">
<body>
<b onfocus="event.target.setAttribute('tabindex', Math.floor(Math.random()*5)-9)"display: inline-table;position: fixed;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: always;page-break-inside: inherit; style="display: inline-table;position: fixed;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: always;page-break-inside: inherit;"><sup rowspan="12"display: table-caption;position: static;overflow: -moz-hidden-unscrollable;float: auto;direction: ltr;page-break-before: avoid;page-break-after: right;page-break-inside: inherit; style="display: table-caption;position: static;overflow: -moz-hidden-unscrollable;float: auto;direction: ltr;page-break-before: avoid;page-break-after: right;page-break-inside: inherit;"><bdo onfocus="event.target.parentNode.removeChild(event.target)"display: table-footer-group;position: absolute;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: right;page-break-inside: auto; style="display: table-footer-group;position: absolute;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: right;page-break-inside: auto;"><dir tabindex="12"display: -moz-grid;position: static;overflow: auto;float: left;direction: ltr;page-break-before: avoid;page-break-after: inherit;page-break-inside: inherit; style="display: -moz-grid;position: static;overflow: auto;float: left;direction: ltr;page-break-before: avoid;page-break-after: inherit;page-break-inside: inherit;"><i rowspan="1"display: -moz-stack;position: fixed;overflow: visible;float: right;direction: rtl;page-break-before: right;page-break-after: always;page-break-inside: avoid; style="display: -moz-stack;position: fixed;overflow: visible;float: right;direction: rtl;page-break-before: right;page-break-after: always;page-break-inside: avoid;"><select colspan="1"display: block;position: absolute;overflow: hidden;float: right;direction: auto;page-break-before: auto;page-break-after: avoid;page-break-inside: auto; style="display: block;position: absolute;overflow: hidden;float: right;direction: auto;page-break-before: auto;page-break-after: avoid;page-break-inside: auto;"></abbr></var></u></base></em></button></optgroup></menu></body>
<b onfocus="event.target.setAttribute('tabindex', Math.floor(Math.random()*5)-9)"display: inline-table;position: fixed;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: always;page-break-inside: inherit; style="display: inline-table;position: fixed;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: always;page-break-inside: inherit;"><sup rowspan="12"display: table-caption;position: static;overflow: clip;float: auto;direction: ltr;page-break-before: avoid;page-break-after: right;page-break-inside: inherit; style="display: table-caption;position: static;overflow: clip;float: auto;direction: ltr;page-break-before: avoid;page-break-after: right;page-break-inside: inherit;"><bdo onfocus="event.target.parentNode.removeChild(event.target)"display: table-footer-group;position: absolute;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: right;page-break-inside: auto; style="display: table-footer-group;position: absolute;overflow: hidden;float: left;direction: ltr;page-break-before: right;page-break-after: right;page-break-inside: auto;"><dir tabindex="12"display: -moz-grid;position: static;overflow: auto;float: left;direction: ltr;page-break-before: avoid;page-break-after: inherit;page-break-inside: inherit; style="display: -moz-grid;position: static;overflow: auto;float: left;direction: ltr;page-break-before: avoid;page-break-after: inherit;page-break-inside: inherit;"><i rowspan="1"display: -moz-stack;position: fixed;overflow: visible;float: right;direction: rtl;page-break-before: right;page-break-after: always;page-break-inside: avoid; style="display: -moz-stack;position: fixed;overflow: visible;float: right;direction: rtl;page-break-before: right;page-break-after: always;page-break-inside: avoid;"><select colspan="1"display: block;position: absolute;overflow: hidden;float: right;direction: auto;page-break-before: auto;page-break-after: avoid;page-break-inside: auto; style="display: block;position: absolute;overflow: hidden;float: right;direction: auto;page-break-before: auto;page-break-after: avoid;page-break-inside: auto;"></abbr></var></u></base></em></button></optgroup></menu></body>
+1 -1
View File
@@ -1,2 +1,2 @@
<!DOCTYPE html>
<html style="clip-path: url(&quot;#404&quot;); overflow: -moz-hidden-unscrollable;"><body style="height: 400px; outline: 171787972850px solid green;"></body></html>
<html style="clip-path: url(&quot;#404&quot;); overflow: clip;"><body style="height: 400px; outline: 171787972850px solid green;"></body></html>
+1 -1
View File
@@ -2,4 +2,4 @@
content: counter(c, none) "z";
display: flex;
</style>
><body style="overflow-x: -moz-hidden-unscrollable; ">><div class=error>
><body style="overflow-x: clip; ">><div class=error>
+1 -1
View File
@@ -6,7 +6,7 @@
position: absolute;
}
#s1 {
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
#s3 {
position: relative;
+1 -1
View File
@@ -18,7 +18,7 @@ o552.appendChild(o547);
o547.appendChild(o515);
o582=o569.createElement('dl');
o588=document.createElement('input');
o552.style.cssText = 'overflow: -moz-hidden-unscrollable; '
o552.style.cssText = 'overflow: clip; '
o552.style.position='absolute';
o600=o515.offsetParent;
o619=document.createElement('input');
+2 -2
View File
@@ -7,9 +7,9 @@ strike::before { content: "m m";}
</head>
<body>
<div style="display: -moz-box;">
<strike style="overflow: -moz-hidden-unscrollable; position: absolute;"></strike>
<strike style="overflow: clip; position: absolute;"></strike>
<fieldset style="position: relative;">
<strike style="overflow: -moz-hidden-unscrollable; position: absolute;"><small style="position: relative;">
<strike style="overflow: clip; position: absolute;"><small style="position: relative;">
<span style="position: absolute;"></span>
</small>
</strike>
+1 -1
View File
@@ -3,5 +3,5 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head><body onload="document.body.style.height = '2px';" style="float: right; height: 2px; -moz-column-width: 0pt;">
<div style="overflow: -moz-hidden-unscrollable;">a b</div>
<div style="overflow: clip;">a b</div>
</body></html>
+1 -1
View File
@@ -3,7 +3,7 @@
<div style="-moz-column-width: 60px;">
a
<div style="overflow: -moz-hidden-unscrollable; white-space: pre;" id="i">
<div style="overflow: clip; white-space: pre;" id="i">
b
</div>
</div>
+1 -1
View File
@@ -1,7 +1,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" style="direction: rtl;">
<body onload="document.getElementById('i').style.fontSize = '10em';">
<div style="-moz-column-width: 60px;"><div id="i" style="overflow: -moz-hidden-unscrollable; white-space: pre;">
<div style="-moz-column-width: 60px;"><div id="i" style="overflow: clip; white-space: pre;">
b
</div></div>
+1 -1
View File
@@ -1,7 +1,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" style="direction: rtl;">
<body onload="document.getElementById('i').style.fontSize = '10em';">
<div style="-moz-column-width: 60px;"><div id="i" style="overflow: -moz-hidden-unscrollable; white-space: pre;">
<div style="-moz-column-width: 60px;"><div id="i" style="overflow: clip; white-space: pre;">
b</div></div>
</body>
+1 -1
View File
@@ -16,7 +16,7 @@ function boom()
<body onload="boom();">
<div style="-moz-column-count: 1; position: fixed;"><div style="overflow: -moz-hidden-unscrollable; display: table-header-group; white-space: pre; position: absolute;">
<div style="-moz-column-count: 1; position: fixed;"><div style="overflow: clip; display: table-header-group; white-space: pre; position: absolute;">
<span id="ispan">
</span></div></div>
+1 -1
View File
@@ -10,7 +10,7 @@ document.body.offsetHeight;
<body style="direction: rtl; -moz-column-count: 2;" onload="document.body.offsetHeight; setTimeout(replacestyles,0);">
<div id="a">
<pre style="overflow: -moz-hidden-unscrollable;">
<pre style="overflow: clip;">
text
+1 -1
View File
@@ -20,7 +20,7 @@ window.onload = initCF;
></title>
<link href=/tests/SimpleTest/test.css<b></b><frame>MS|;yTvb=DyYx=lZ5?NTu=.N@mwsqT!v:=zew_XR7O8YY1o%1=$Oqh=2%a|{M?e/q6]/0VH?s,l4wf!00M7BMNP+j*T?E:POnu? yKL8[Y_nlz+u%QSJB9<csaction>><bdi>w!7RF+P3o}#/~=5hL{2dypxHnV4|@}.jSm@IQ-Ia*i[^/cip/.PKGEX|`bu6+/2RG6}m_*iFTeK~5iI/Zvl.*~32e(_$L#f|1UEh~[Oc_Ej;5Ff:#-?/*W=SLD,kda-7.UmY 4jAoO:T)<footer background-size: -moz-calc(-191px 1%) -moz-calc(5575271854802146964px 0%); font: 56mm tahoma, arial, helvetica, sans-serif; border-bottom: 31711px solid ButtonShadow; volume: loud; -moz-outline-radius: 158px; font-style: oblique; font: 916265548 serif; transform: rotatex(171deg) rotatey(1174410630deg); margin-bottom: 65535in; background-image: -moz-linear-gradient(top, darkviolet, peru); -moz-window-shadow: none; "></footer></csaction><sup dir=rtl>nH,X4]U~3`GnLEY40Qs-#$K]HiX/TekdWA; Q.IGJJwTi%sB^TF^_MFf%3q; wo#]Jy[t8hywiU`ev+8no:+1!Vo?A1tbO{A$iee~-@3Xmt?jzISs1u]B!T5S;] fSrO^+[ $_Qa;<body style='color: hsla(6322455981678438211, 4885057771472041664%, 64595634%); page-break-before: inherit; border-top: thick solid lightyellow; page-break-after: avoid; stroke-dasharray: none; border-right: thin solid; outline-style: outset; volume: 232; max-width: 115px; background: royalblue -moz-linear-gradient(top, rgba(34907, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 4705143634018575181, 134.650893313) 196%, rgba(98, 0, 21, 93) 5835518181644000612%); border-bottom-style: double; background-color: -moz-mac-secondaryhighlight; border-bottom-style: solid; content: "Before"; azimuth: center; '>
</ul> style='text-align-last: left; -webkit-appearance: textfield; color: rgb(-905311699%, 114, 57742); padding: 21.8234098837em 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em 9.51366390673em 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999em; border-color: rgba(202, 9223372036854775808, -127, 4.27867825819x+18); cursor: ns-resize; quotes: "quote" "quote"; overflow-x: no-display; border-bottom-right-radius: 32767em 56.2654742136em; box-shadow: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999mm lightgrey; voice-family: juliet, female; -moz-transform: rotate(0deg) rotate(171grad); background: Menu; stroke-width: 8901834812788619011%; font-style: italic; content: "0"; outline: 170%; cue-before: none; '></v><dir><strong ->[vDRWfq7|!j5~J^5eQL.?J5VYFl{Vgied3%-fH^bH6?O 4mTi#]%o1xFl.O5hoZ3B;ZRx;1$T2,mgbh5dOeQ*m01547dC1/0V#Y.~WW$ragJ0n!EvBkg8Uegi+]ou1j/^QO*femQC2O!P!j,M5Vk@.-`g`$$+f+^ VP~G{1U</mi><noscript></noscript><rdf>Z[kyp(Mt0@4F~xj@v b=,K#nikG!cNac%qU(O/iUs62cwzV#,6jC[!1y5,PBNr@,Gh~Yn43l1B}p1KEh$m|bn}saNpLjZaspCwM4}XA?CWl)%V]lmIORhh y}o(CHz*vog3iSJ#On-w65NZ=}?5lh/x;xgps-#FD6l,MuASFyd$r.}x6;:v0iM4-S`El`hX%x</rdf><sub></sub><textarea>Fi~{@7J{EVzWdri*Uy+C2nP=gmz.Y;Wvp*:F]]VIVMqdJM=oU,.`Veo:L_x~1u`*f2(!*SGS*!Tsm+VYIeWA^CD10rrxyeMbNhM:SL-}Zf*A4Lf= 81Ka{/gieIN3Ru?#*Sl@~tYe]D.~pEm=s.=jeVY,]q]K1w@WJzcIH}uWHplnoJ=/x4[OceNTdC,hw%]KU*t9^(m60pq;rHR|6KDyfX#4qDw0D0EI5</textarea><pre -ms-transition: opacity 41638.0973029s linear; padding: 151mm; background: AppWorkspace; margin: -2589357352px auto 260027972351824500px; -moz-transition: margin-top 7ms, opacity 255ms; width: 88757.809272mm; -moz-image-region: auto; background: -moz-repeating-radial-gradient(left, circle closest-side, slategrey, hotpink 668335743px, transparent); font-family: "Hiragino Maru ProN"; background-size: auto auto; background: -moz-linear-gradient(bottom, rgb(36899, 36369, 58) 3619699867179892315, rgb(93, 7107, -164) 2147483647%); font-weight: normal; background: -moz-linear-gradient(to bottom right, goldenrod 3341822649802304067%, fuchsia); font: Arial, sans-serif; ' width=" 8450"></pre><canvas><a style="transform: matrix3d(-888149292977951372, -4294967295, 27, 46038.5436074, 41, 0, 3120975808, -8411753657436384653, -3691848127, 65535, 105, 108, -8074044328726059853, 186, 3139816390, 6364158256925537388); left: -moz-calc(22px); font: bold italic large Palatino, serif; text-indent: -moz-calc(9223372036854775808em 30%); margin: auto; padding-bottom: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999; background: -moz-linear-gradient(rgba(50924, 1251548303, 1109767611702038730, 42159.1644524), rgba(55, 2591341078, 10, 143) 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, rgba(43, 246, 149, 1.28599451055x+18) 58741%, rgba(-69, 8229554636392401175, 33463, 67.9323179507)); border-top: -67.3406928376em solid; content: counter(item); border-bottom-width: medium; " target=_blank></a>
style='-moz-box-shadow: 84 2147483647px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px rgba(-2858581034, 110, 2460321770, 164.188187767), inset 18 255px -2461791714 rgba(65, 2147483647, 118, 120365.670275); border-color: khaki rgb(9223372036854775808, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) cornsilk rgb(2147483647, 3410481331, -255); background: -moz-linear-gradient(top, hsl(-6511, 132%, 67%), hsl(65535, 127%, 130%)); border-inline-end-width: 5361121852315046626; content: "»"; box-shadow: inset -148 6598830410571865803 -255px hsla(65535, -61299%, 6601653806716150645%, 144.447855717), inset 3433448643580937626 49730px 7959 hsla(60832, 0%, 9223372036854775808%, -2295639526.68); transform: translate3d(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 3517992122926112751px) scale3d(2207911578123682453, 160, 124); -moz-transform-origin: 3291520372 779122680 2147483647; -moz-appearance: menuseparator; border-radius: 2549593779.31px 2.00538639825x+18px 65px 28px; transform: translate(127px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px) translate(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, -176px); margin-left: 210.617676718em; border-inline-start: dotted lightgreen 37018px; word-spacing: 2174513215933018269ch; border-left: solid; columns: 64383 auto -3982463664em; -moz-transform: scale(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); stroke-width: 3.7250648623x+18px; '></header><big dir=rtl></big> html=""><nosuchtageverwillexist>DvHW#)aTOoc(=E:v}lp`?)_zpj%f#fy$q~~w1,;%.rsdVNR9=AW8h#y**wpXSlY}R/L|vnxW7?EC`lK,4GcMz[9}{V#d+@d (`JUMD2gD:N1ci7Q#i_hR-p.,dM|s/D-bzFn@8g[.qr;+Kh!]tI3B?2xM;E,oW`GHsjqV>b(vf_HY9If%6.t7z2@ql6|L@SrsUoaG^AX{46e5^;p;8Pphf5f3_],qD)X!kizvdkcp8YtJZe!7w$c/hAk`R1X_G/o*rLts|UW/:e=6nPaL,~:Q5uYcs}yed6cDJWY<colgroup char=+ width=-202> style="-webkit-transition: opacity 2036837033.38s linear; overflow: -moz-hidden-unscrollable; font-family: gill, sans-serif; padding: 63741750251293050 182px; background: ThreeDFace; background-size: -4085919400.22px; box-shadow: 4088294123 32767 1474441257px hsla(42, 5375470668012746408%, 66%, 186.554651712) inset, 32767 109px 5283789617678015210 hsla(2147483647, 163%, 14226%, 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); border-width: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px -170px 3284222322px 5.14851574865x+17px; box-shadow: inset 113 -0 -4px hsla(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 35273%, 2245175778%, 47085.004822), inset 9223372036854775808 76px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 hsla(2375057167019052381, 4294967295%, 127%, 5.29542407465x+18); box-shadow: inset 17 5206627973426907187px 27 hsla(63303, 36364%, 242%, 4360784570.91), inset 18428 0px 138 hsla(-357953447, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, 8058132474996186951%, 100.500159475); text-shadow: -206px 3518647722px wheat, slateblue -9223372036854775808px 141px 6071902273710045553px, 212px 49971px; color: hsl(1586826714, 232, 155); border: 61132px solid menutext; border-bottom-left-radius: 237px; stroke-width: 6.74219888253x+18; -o-flow-into: flowB; "><legend>>>>>>></wbr>>> id=content lang=ja style="display: none">
style='-moz-box-shadow: 84 2147483647px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px rgba(-2858581034, 110, 2460321770, 164.188187767), inset 18 255px -2461791714 rgba(65, 2147483647, 118, 120365.670275); border-color: khaki rgb(9223372036854775808, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) cornsilk rgb(2147483647, 3410481331, -255); background: -moz-linear-gradient(top, hsl(-6511, 132%, 67%), hsl(65535, 127%, 130%)); border-inline-end-width: 5361121852315046626; content: "»"; box-shadow: inset -148 6598830410571865803 -255px hsla(65535, -61299%, 6601653806716150645%, 144.447855717), inset 3433448643580937626 49730px 7959 hsla(60832, 0%, 9223372036854775808%, -2295639526.68); transform: translate3d(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, 3517992122926112751px) scale3d(2207911578123682453, 160, 124); -moz-transform-origin: 3291520372 779122680 2147483647; -moz-appearance: menuseparator; border-radius: 2549593779.31px 2.00538639825x+18px 65px 28px; transform: translate(127px, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px) translate(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px, -176px); margin-left: 210.617676718em; border-inline-start: dotted lightgreen 37018px; word-spacing: 2174513215933018269ch; border-left: solid; columns: 64383 auto -3982463664em; -moz-transform: scale(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); stroke-width: 3.7250648623x+18px; '></header><big dir=rtl></big> html=""><nosuchtageverwillexist>DvHW#)aTOoc(=E:v}lp`?)_zpj%f#fy$q~~w1,;%.rsdVNR9=AW8h#y**wpXSlY}R/L|vnxW7?EC`lK,4GcMz[9}{V#d+@d (`JUMD2gD:N1ci7Q#i_hR-p.,dM|s/D-bzFn@8g[.qr;+Kh!]tI3B?2xM;E,oW`GHsjqV>b(vf_HY9If%6.t7z2@ql6|L@SrsUoaG^AX{46e5^;p;8Pphf5f3_],qD)X!kizvdkcp8YtJZe!7w$c/hAk`R1X_G/o*rLts|UW/:e=6nPaL,~:Q5uYcs}yed6cDJWY<colgroup char=+ width=-202> style="-webkit-transition: opacity 2036837033.38s linear; overflow: clip; font-family: gill, sans-serif; padding: 63741750251293050 182px; background: ThreeDFace; background-size: -4085919400.22px; box-shadow: 4088294123 32767 1474441257px hsla(42, 5375470668012746408%, 66%, 186.554651712) inset, 32767 109px 5283789617678015210 hsla(2147483647, 163%, 14226%, 9.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999); border-width: 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999px -170px 3284222322px 5.14851574865x+17px; box-shadow: inset 113 -0 -4px hsla(9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 35273%, 2245175778%, 47085.004822), inset 9223372036854775808 76px 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 hsla(2375057167019052381, 4294967295%, 127%, 5.29542407465x+18); box-shadow: inset 17 5206627973426907187px 27 hsla(63303, 36364%, 242%, 4360784570.91), inset 18428 0px 138 hsla(-357953447, 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%, 8058132474996186951%, 100.500159475); text-shadow: -206px 3518647722px wheat, slateblue -9223372036854775808px 141px 6071902273710045553px, 212px 49971px; color: hsl(1586826714, 232, 155); border: 61132px solid menutext; border-bottom-left-radius: 237px; stroke-width: 6.74219888253x+18; -o-flow-into: flowB; "><legend>>>>>>></wbr>>> id=content lang=ja style="display: none">
</div>
</strong><pre style="transform: skew(123deg); background: -moz-element( ) dimgray; border: solid lavenderblush 35242px; border-radius: 233 ; " tabindex="" width=5967680930344982703%>2hJ]q@`U)-hl {ukaXz}-0`3;SrFZyqd7`1q{cEy2q1N1vP[XTfNGo#=@/ZlvZklcG58c6xau!G}6Lxc#W@RBhKV4];9G`RX 2x.~.u9S^ wThGK vo8#Z<script class=testbody type=text/javascript>
+21 -3
View File
@@ -1934,14 +1934,15 @@ ApplyOverflowClipping(nsDisplayListBuilder* aBuilder,
const nsStyleDisplay* aDisp,
DisplayListClipState::AutoClipMultiple& aClipState)
{
// Only -moz-hidden-unscrollable is handled here (and 'hidden' for table
// Only clip is handled here (and 'hidden' for table
// frames, and any non-visible value for blocks in a paginated context).
// We allow -moz-hidden-unscrollable to apply to any kind of frame. This
// We allow clip to apply to any kind of frame. This
// is required by comboboxes which make their display text (an inline frame)
// have clipping.
if (!nsFrame::ShouldApplyOverflowClipping(aFrame, aDisp)) {
return;
}
nsRect clipRect;
bool haveRadii = false;
nscoord radii[8];
@@ -1955,6 +1956,23 @@ ApplyOverflowClipping(nsDisplayListBuilder* aBuilder,
aBuilder->ToReferenceFrame(aFrame);
// XXX border-radius
}
// Support per-axis clipping: If only one axis has 'clip' or 'hidden' value,
// only clip that axis by extending the clip rect to infinity on the other axis
bool clipX = (aDisp->mOverflowX == NS_STYLE_OVERFLOW_CLIP || aDisp->mOverflowX == NS_STYLE_OVERFLOW_HIDDEN);
bool clipY = (aDisp->mOverflowY == NS_STYLE_OVERFLOW_CLIP || aDisp->mOverflowY == NS_STYLE_OVERFLOW_HIDDEN);
if (clipX && !clipY) {
// Only clip X axis - extend Y to infinity
clipRect.y = nscoord_MIN / 2;
clipRect.height = nscoord_MAX;
} else if (clipY && !clipX) {
// Only clip Y axis - extend X to infinity
clipRect.x = nscoord_MIN / 2;
clipRect.width = nscoord_MAX;
}
// If both axes are clip/hidden, use the normal rect (no modification needed)
aClipState.ClipContainingBlockDescendantsExtra(clipRect, haveRadii ? radii : nullptr);
}
@@ -2826,7 +2844,7 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder,
clipState.SetScrollClipForContainingBlockDescendants(aBuilder, nullptr);
}
// Setup clipping for the parent's overflow:-moz-hidden-unscrollable,
// Setup clipping for the parent's overflow:clip,
// or overflow:hidden on elements that don't support scrolling (and therefore
// don't create nsHTML/XULScrollFrame). This clipping needs to not clip
// anything directly rendered by the parent, only the rendering of its
+5 -3
View File
@@ -623,14 +623,16 @@ public:
static bool ShouldApplyOverflowClipping(const nsIFrame* aFrame,
const nsStyleDisplay* aDisp)
{
// clip overflow:-moz-hidden-unscrollable, except for nsListControlFrame,
// clip overflow:clip, except for nsListControlFrame,
// which is an nsHTMLScrollFrame.
if (MOZ_UNLIKELY(aDisp->mOverflowX == NS_STYLE_OVERFLOW_CLIP &&
// Support per-axis clipping: clip on either axis should enable clipping
if (MOZ_UNLIKELY((aDisp->mOverflowX == NS_STYLE_OVERFLOW_CLIP ||
aDisp->mOverflowY == NS_STYLE_OVERFLOW_CLIP) &&
aFrame->GetType() != nsGkAtoms::listControlFrame)) {
return true;
}
// and overflow:hidden that we should interpret as -moz-hidden-unscrollable
// and overflow:hidden that we should interpret as clip
if (aDisp->mOverflowX == NS_STYLE_OVERFLOW_HIDDEN &&
aDisp->mOverflowY == NS_STYLE_OVERFLOW_HIDDEN) {
// REVIEW: these are the frame types that set up clipping.
+1 -1
View File
@@ -784,7 +784,7 @@ nsHTMLScrollFrame::PlaceScrollArea(ScrollReflowInput& aState,
// outlines (the outline would go on this scrollframe instead).
// Using FinishAndStoreOverflow is needed so the overflow rect
// gets set correctly. It also messes with the overflow rect in the
// -moz-hidden-unscrollable case, but scrolled frames can't have
// clip case, but scrolled frames can't have
// 'overflow' either.
// This needs to happen before SyncFrameViewAfterReflow so
// HasOverflowRect() will return the correct value.
+1 -1
View File
@@ -11,7 +11,7 @@
button,p,select,span,table,object {
width: 14px;
text-indent: 20px;
overflow: -moz-hidden-unscrollable;
overflow: clip;
padding-left:6px;
padding-right:17px;
outline: 1px solid blue;
+1 -1
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class="reftest-print" style="margin: 0; padding: 0;">
<body style="margin: 0; padding: 0;">
<div style="overflow: -moz-hidden-unscrollable; height: 5in;">
<div style="overflow: clip; height: 5in;">
<div style="height: 1.25in; border: 0.25in solid green"></div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html class="reftest-print" style="margin: 0; padding: 0; overflow: hidden">
<body style="margin: 0; padding: 0; overflow: -moz-hidden-unscrollable; height: 5in;">
<body style="margin: 0; padding: 0; overflow: clip; height: 5in;">
<div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html class="reftest-print" style="margin: 0; padding: 0;">
<body style="margin: 0; padding: 0; overflow: -moz-hidden-unscrollable; height: 5in;">
<body style="margin: 0; padding: 0; overflow: clip; height: 5in;">
<div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
<div style="height: 1.25in; border: 0.25in solid green"></div>
+1 -1
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class="reftest-print">
<body>
<div style="overflow: -moz-hidden-unscrollable; height: 3in;">
<div style="overflow: clip; height: 3in;">
<div style="height: 10in;"></div>
</div>
Some text
+1 -1
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class="reftest-print">
<body>
<div style="overflow: -moz-hidden-unscrollable; height: 3in;
<div style="overflow: clip; height: 3in;
padding-bottom: 0.5in; margin-bottom: 5in">
<div style="height: 10in;"></div>
</div>
+1 -1
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class="reftest-print">
<body>
<div style="overflow: -moz-hidden-unscrollable; height: 1in;
<div style="overflow: clip; height: 1in;
padding-bottom: 1in; border-bottom: 1in solid transparent">
<div style="height: 10in;"></div>
</div>
@@ -32,7 +32,7 @@
</div>
</div>
<div class="outer">
<div class="inner" style="overflow-x:-moz-hidden-unscrollable;">
<div class="inner" style="overflow-x:clip;">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
@@ -47,7 +47,7 @@
</div>
</div>
<div class="outer">
<div class="inner" style="overflow:-moz-hidden-unscrollable;">
<div class="inner" style="overflow:clip;">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
@@ -62,7 +62,7 @@
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
<div class="outer" style="overflow-x:-moz-hidden-unscrollable;">
<div class="outer" style="overflow-x:clip;">
<div class="inner">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
@@ -77,7 +77,7 @@
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
<div class="outer" style="overflow:-moz-hidden-unscrollable;">
<div class="outer" style="overflow:clip;">
<div class="inner">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
@@ -32,7 +32,7 @@
</div>
</div>
<div class="outer">
<div class="inner" style="overflow-y:-moz-hidden-unscrollable;">
<div class="inner" style="overflow-y:clip;">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
@@ -47,7 +47,7 @@
</div>
</div>
<div class="outer">
<div class="inner" style="overflow:-moz-hidden-unscrollable;">
<div class="inner" style="overflow:clip;">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
@@ -62,7 +62,7 @@
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
<div class="outer" style="overflow-y:-moz-hidden-unscrollable;">
<div class="outer" style="overflow-y:clip;">
<div class="inner">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
@@ -77,7 +77,7 @@
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
</div>
<div class="outer" style="overflow:-moz-hidden-unscrollable;">
<div class="outer" style="overflow:clip;">
<div class="inner">
<img width="400px" height="10px" src="data:image/gif;base64,R0lGODlhAQABAIABAAD/AP///ywAAAAAAQABAAACAkQBADs=">
</div>
+9 -2
View File
@@ -1087,10 +1087,17 @@ Declaration::GetPropertyValueInternal(
xValue->AppendToString(eCSSProperty_overflow_x, aValue, aSerialization);
} else {
// Check if either value is clip - if so, shorthand cannot be serialized
if (xValue->GetUnit() == eCSSUnit_Enumerated && yValue->GetUnit() == eCSSUnit_Enumerated) {
if (xValue->GetUnit() == eCSSUnit_Enumerated) {
int32_t xVal = xValue->GetIntValue();
if (xVal == NS_STYLE_OVERFLOW_CLIP) {
// When clip is mixed with other values, shorthand cannot be serialized
aValue.Truncate();
break;
}
}
if (yValue->GetUnit() == eCSSUnit_Enumerated) {
int32_t yVal = yValue->GetIntValue();
if (xVal == NS_STYLE_OVERFLOW_CLIP || yVal == NS_STYLE_OVERFLOW_CLIP) {
if (yVal == NS_STYLE_OVERFLOW_CLIP) {
// When clip is mixed with other values, shorthand cannot be serialized
aValue.Truncate();
break;
-1
View File
@@ -72,7 +72,6 @@ CSS_KEY(-moz-grid, _moz_grid)
CSS_KEY(-moz-groupbox, _moz_groupbox)
CSS_KEY(-moz-gtk-info-bar, _moz_gtk_info_bar)
CSS_KEY(-moz-gtk-info-bar-text, _moz_gtk_info_bar_text)
CSS_KEY(-moz-hidden-unscrollable, _moz_hidden_unscrollable)
CSS_KEY(-moz-hyperlinktext, _moz_hyperlinktext)
CSS_KEY(-moz-html-cellhighlight, _moz_html_cellhighlight)
CSS_KEY(-moz-html-cellhighlighttext, _moz_html_cellhighlighttext)
+1
View File
@@ -4554,6 +4554,7 @@ CSS_PROP_POSITION(
offsetof(nsStylePosition, mZIndex),
eStyleAnimType_Coord)
#ifdef USED_CSS_PROP
#undef USED_CSS_PROP
-3
View File
@@ -1876,7 +1876,6 @@ const KTableEntry nsCSSProps::kOverflowKTable[] = {
{ eCSSKeyword__moz_scrollbars_none, NS_STYLE_OVERFLOW_HIDDEN },
{ eCSSKeyword__moz_scrollbars_horizontal, NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL },
{ eCSSKeyword__moz_scrollbars_vertical, NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL },
{ eCSSKeyword__moz_hidden_unscrollable, NS_STYLE_OVERFLOW_CLIP },
{ eCSSKeyword_UNKNOWN, -1 }
};
@@ -1892,8 +1891,6 @@ const KTableEntry nsCSSProps::kOverflowSubKTable[] = {
{ eCSSKeyword_hidden, NS_STYLE_OVERFLOW_HIDDEN },
{ eCSSKeyword_scroll, NS_STYLE_OVERFLOW_SCROLL },
{ eCSSKeyword_clip, NS_STYLE_OVERFLOW_CLIP },
// Deprecated:
{ eCSSKeyword__moz_hidden_unscrollable, NS_STYLE_OVERFLOW_CLIP },
{ eCSSKeyword_UNKNOWN, -1 }
};
+29 -19
View File
@@ -4745,30 +4745,38 @@ nsComputedDOMStyle::DoGetWillChange()
return valueList.forget();
}
// Helper for overflow computed value remapping according to CSS Overflow-3 spec.
static nsCSSKeyword ComputeOverflowKeyword(int32_t selfEnum, int32_t otherEnum, const KTableEntry* table) {
nsCSSKeyword selfKw = nsCSSProps::ValueToKeywordEnum(selfEnum, table);
nsCSSKeyword otherKw = nsCSSProps::ValueToKeywordEnum(otherEnum, table);
// The visible/clip values of overflow compute to auto/hidden (respectively)
// if one of overflow-x or overflow-y is neither visible nor clip.
if (selfKw == eCSSKeyword_visible && otherKw != eCSSKeyword_visible && otherKw != eCSSKeyword_clip) {
selfKw = eCSSKeyword_auto;
}
if (selfKw == eCSSKeyword_clip && otherKw != eCSSKeyword_visible && otherKw != eCSSKeyword_clip) {
selfKw = eCSSKeyword_hidden;
}
return selfKw;
}
already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetOverflow()
{
const nsStyleDisplay* display = StyleDisplay();
if (display->mOverflowX == display->mOverflowY) {
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
val->SetIdent(nsCSSProps::ValueToKeywordEnum(display->mOverflowX,
nsCSSProps::kOverflowKTable));
return val.forget();
}
nsCSSKeyword xKeyword = ComputeOverflowKeyword(display->mOverflowX, display->mOverflowY, nsCSSProps::kOverflowKTable);
nsCSSKeyword yKeyword = ComputeOverflowKeyword(display->mOverflowY, display->mOverflowX, nsCSSProps::kOverflowKTable);
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
if (xKeyword == yKeyword) {
val->SetIdent(xKeyword);
return val.forget();
}
nsAutoString result;
nsCSSKeyword xKeyword = nsCSSProps::ValueToKeywordEnum(display->mOverflowX,
nsCSSProps::kOverflowKTable);
nsCSSKeyword yKeyword = nsCSSProps::ValueToKeywordEnum(display->mOverflowY,
nsCSSProps::kOverflowKTable);
result.AppendASCII(nsCSSKeywords::GetStringValue(xKeyword).get());
result.Append(char16_t(' '));
result.AppendASCII(nsCSSKeywords::GetStringValue(yKeyword).get());
val->SetString(result);
return val.forget();
}
@@ -4777,9 +4785,9 @@ already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetOverflowX()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
val->SetIdent(
nsCSSProps::ValueToKeywordEnum(StyleDisplay()->mOverflowX,
nsCSSProps::kOverflowSubKTable));
const nsStyleDisplay* display = StyleDisplay();
nsCSSKeyword kw = ComputeOverflowKeyword(display->mOverflowX, display->mOverflowY, nsCSSProps::kOverflowSubKTable);
val->SetIdent(kw);
return val.forget();
}
@@ -4787,9 +4795,9 @@ already_AddRefed<CSSValue>
nsComputedDOMStyle::DoGetOverflowY()
{
RefPtr<nsROCSSPrimitiveValue> val = new nsROCSSPrimitiveValue;
val->SetIdent(
nsCSSProps::ValueToKeywordEnum(StyleDisplay()->mOverflowY,
nsCSSProps::kOverflowSubKTable));
const nsStyleDisplay* display = StyleDisplay();
nsCSSKeyword kw = ComputeOverflowKeyword(display->mOverflowY, display->mOverflowX, nsCSSProps::kOverflowSubKTable);
val->SetIdent(kw);
return val.forget();
}
@@ -6782,3 +6790,5 @@ nsComputedDOMStyle::UnregisterPrefChangeCallbacks()
#undef CSS_PROP
#undef UNREGISTER_CALLBACK
}
+23 -10
View File
@@ -6406,22 +6406,35 @@ nsRuleNode::ComputeDisplayData(void* aStartStruct,
parentDisplay->mOverflowY,
NS_STYLE_OVERFLOW_VISIBLE);
// CSS3 overflow-x and overflow-y require some fixup as well in some
// cases. NS_STYLE_OVERFLOW_VISIBLE is meaningful only when used in both dimensions.
// NS_STYLE_OVERFLOW_CLIP is now a standard value and should be preserved.
if (display->mOverflowX != display->mOverflowY &&
(display->mOverflowX == NS_STYLE_OVERFLOW_VISIBLE ||
display->mOverflowY == NS_STYLE_OVERFLOW_VISIBLE)) {
// We can't store in the rule tree since a more specific rule might
// change these conditions.
// The visible/clip values of overflow compute to auto/hidden (respectively)
// if one of overflow-x or overflow-y is neither visible nor clip.
if (display->mOverflowX != display->mOverflowY) {
conditions.SetUncacheable();
// Note: clip values are now preserved as-is when axes differ
// Convert visible->auto only when paired with non-visible, non-clip values
if (display->mOverflowX == NS_STYLE_OVERFLOW_VISIBLE &&
display->mOverflowY != NS_STYLE_OVERFLOW_CLIP) {
display->mOverflowX = NS_STYLE_OVERFLOW_AUTO;
}
if (display->mOverflowY == NS_STYLE_OVERFLOW_VISIBLE &&
display->mOverflowX != NS_STYLE_OVERFLOW_CLIP) {
display->mOverflowY = NS_STYLE_OVERFLOW_AUTO;
}
// Convert clip->hidden when paired with non-visible, non-clip values
if (display->mOverflowX == NS_STYLE_OVERFLOW_CLIP &&
display->mOverflowY != NS_STYLE_OVERFLOW_VISIBLE) {
display->mOverflowX = NS_STYLE_OVERFLOW_HIDDEN;
}
if (display->mOverflowY == NS_STYLE_OVERFLOW_CLIP &&
display->mOverflowX != NS_STYLE_OVERFLOW_VISIBLE) {
display->mOverflowY = NS_STYLE_OVERFLOW_HIDDEN;
}
}
// When 'contain: paint', update overflow from 'visible' to 'clip'.
if (display->IsContainPaint()) {
// XXX This actually sets overflow-[x|y] to -moz-hidden-unscrollable.
// XXX This actually sets overflow-[x|y] to clip.
if (display->mOverflowX == NS_STYLE_OVERFLOW_VISIBLE) {
// This uncacheability (and the one below) could be fixed by adding
// mOriginalOverflowX and mOriginalOverflowY fields, if necessary.
+2 -2
View File
@@ -245,7 +245,7 @@ select {
border-width: 2px;
border-style: inset;
text-indent: 0;
overflow: -moz-hidden-unscrollable;
overflow: clip;
text-shadow: none;
/* No text-decoration reaching inside, by default */
display: inline-block;
@@ -326,7 +326,7 @@ select:empty {
}
*|*::-moz-display-comboboxcontrol-frame {
overflow: -moz-hidden-unscrollable;
overflow: clip;
padding-inline-start: 4px;
padding-inline-end: 0;
color: inherit;
+1 -1
View File
@@ -678,7 +678,7 @@ img[usemap], object[usemap] {
frameset {
display: block ! important;
overflow: -moz-hidden-unscrollable;
overflow: clip;
position: static ! important;
float: none ! important;
border: none ! important;
+3 -3
View File
@@ -3651,7 +3651,7 @@ var gCSSProperties = {
prerequisites: { "display": "block", "contain": "none" },
subproperties: [ "overflow-x", "overflow-y" ],
initial_values: [ "visible" ],
other_values: [ "auto", "scroll", "hidden", "clip", "-moz-hidden-unscrollable", "-moz-scrollbars-none" ],
other_values: [ "auto", "scroll", "hidden", "clip", "-moz-scrollbars-none" ],
invalid_values: []
},
"overflow-x": {
@@ -3660,7 +3660,7 @@ var gCSSProperties = {
type: CSS_TYPE_LONGHAND,
prerequisites: { "display": "block", "overflow-y": "visible", "contain": "none" },
initial_values: [ "visible" ],
other_values: [ "auto", "scroll", "hidden", "clip", "-moz-hidden-unscrollable" ],
other_values: [ "auto", "scroll", "hidden", "clip" ],
invalid_values: []
},
"overflow-y": {
@@ -3669,7 +3669,7 @@ var gCSSProperties = {
type: CSS_TYPE_LONGHAND,
prerequisites: { "display": "block", "overflow-x": "visible", "contain": "none" },
initial_values: [ "visible" ],
other_values: [ "auto", "scroll", "hidden", "clip", "-moz-hidden-unscrollable" ],
other_values: [ "auto", "scroll", "hidden", "clip" ],
invalid_values: []
},
"padding": {
+7 -7
View File
@@ -55,40 +55,40 @@ span.ac-emphasize-text {
.autocomplete-richlistitem[type="gloda-single-tag"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-single-tag-item");
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-richlistitem[type="gloda-single-identity"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-single-identity-item");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-richlistitem[type="gloda-fulltext-single"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-fulltext-single-item");
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-richlistitem[type="gloda-fulltext-any"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-fulltext-any-item");
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-richlistitem[type="gloda-fulltext-all"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-fulltext-all-item");
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
richlistitem[type="gloda-contact-chunk"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-contact-chunk");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-richlistitem[type="gloda-multi"] {
-moz-binding: url("chrome://gloda/content/glodacomplete.xml#gloda-multi-item");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
/* .autocomplete-history-dropmarker wants to be optional, but we don't care */
+1 -1
View File
@@ -59,7 +59,7 @@
<binding id="progressmeter-undetermined"
extends="chrome://global/content/bindings/progressmeter.xml#progressmeter">
<content>
<xul:stack class="progress-remainder" flex="1" anonid="stack" style="overflow: -moz-hidden-unscrollable;">
<xul:stack class="progress-remainder" flex="1" anonid="stack" style="overflow: clip;">
<xul:spacer class="progress-bar" anonid="spacer" top="0" style="margin-right: -1000px;"/>
</xul:stack>
</content>
+6 -6
View File
@@ -83,7 +83,7 @@ menulist[editable="true"] {
window,
page {
overflow: -moz-hidden-unscrollable;
overflow: clip;
-moz-box-orient: vertical;
}
@@ -184,7 +184,7 @@ notificationbox {
}
.notificationbox-stack {
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
notification {
@@ -844,7 +844,7 @@ panel[type="autocomplete-richlistbox"] {
.autocomplete-richlistitem {
-moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistitem");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
%else
@@ -884,7 +884,7 @@ panel[type="autocomplete-richlistbox"] {
.autocomplete-richlistitem {
-moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistitem");
-moz-box-orient: vertical;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
.autocomplete-treerows {
@@ -1125,12 +1125,12 @@ prefpane > .content-box {
}
prefwindow[type="child"] > .paneDeckContainer {
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
prefwindow[type="child"] > prefpane > .content-box {
-moz-box-flex: 1;
overflow: -moz-hidden-unscrollable;
overflow: clip;
}
preferences {