mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-27 03:59:25 +00:00
Issue #2499 - Part 3: Add CSS clip overflow support with serialization fixes
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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,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,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,2 +1,2 @@
|
||||
<!DOCTYPE html>
|
||||
<html style="clip-path: url("#404"); overflow: -moz-hidden-unscrollable;"><body style="height: 400px; outline: 171787972850px solid green;"></body></html>
|
||||
<html style="clip-path: url("#404"); overflow: clip;"><body style="height: 400px; outline: 171787972850px solid green;"></body></html>
|
||||
|
||||
@@ -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>
|
||||
@@ -6,7 +6,7 @@
|
||||
position: absolute;
|
||||
}
|
||||
#s1 {
|
||||
overflow: -moz-hidden-unscrollable;
|
||||
overflow: clip;
|
||||
}
|
||||
#s3 {
|
||||
position: relative;
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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,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,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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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,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,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,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,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,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,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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -4554,6 +4554,7 @@ CSS_PROP_POSITION(
|
||||
offsetof(nsStylePosition, mZIndex),
|
||||
eStyleAnimType_Coord)
|
||||
|
||||
|
||||
#ifdef USED_CSS_PROP
|
||||
|
||||
#undef USED_CSS_PROP
|
||||
|
||||
@@ -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 }
|
||||
};
|
||||
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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 */
|
||||
@@ -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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user