import changes from `dev' branch of rmottola/Arctic-Fox:

- restore XP themes (115c82a208)
- Bug 1196062 - Fix the typo in the entry for onmozinterruptend in the atom table; r=baku (3dcac305a2)
- Bug 1190646 - Make all largeops vertical for sizing calculations. r=fredw (6b812ce880)
- Bug 1187673 - Reset CSS spacing properties on the <math> element. r=jkitch (982b4be7a6)
- Bug 895274 part.136 Rename NS_TIMEUPDATE to eTimeUpdate r=smaug (341a641669)
- Bug 1203431 - Move the 'password' atom into the generic section to unbreak --disable-accessibility builds. r=smaug (8aaa32de01)
- remove apparently unused atom attribute (772602d454)
- Bug 895274 part.137 Rename NS_ENDED to eEnded r=smaug (ece68ccb96)
- Bug 895274 part.138 Rename NS_RATECHANGE to eRateChange r=smaug (6b6d6e6c95)
- Bug 895274 part.139 Rename NS_DURATIONCHANGE to eDurationChange r=smaug (d2021b1395)
- Bug 895274 part.141 Get rid of NS_PLUGIN_FOCUS_EVENT due to unused r=smaug (0b859526b7)
- Bug 895274 part.142 Rename NS_PLUGIN_EVENT_START to ePluginEventFirst r=smaug (57194e8536)
- Bug 895274 part.143 Rename NS_PLUGIN_INPUT_EVENT to ePluginInputEvent r=smaug (efd9413f93)
- Bug 895274 part.144 Rename NS_SELECTION_EVENT_START to eSelectionEventFirst r=smaug (44a5a8ad93)
This commit is contained in:
2022-05-03 10:50:41 +08:00
parent 25ab890e25
commit cb0b39e4a5
25 changed files with 721 additions and 53 deletions
+10 -3
View File
@@ -615,7 +615,6 @@ GK_ATOM(mouseover, "mouseover")
GK_ATOM(mousethrough, "mousethrough")
GK_ATOM(mouseup, "mouseup")
GK_ATOM(mozaudiochannel, "mozaudiochannel")
GK_ATOM(mozasyncpanzoom, "mozasyncpanzoom")
GK_ATOM(mozfullscreenchange, "mozfullscreenchange")
GK_ATOM(mozfullscreenerror, "mozfullscreenerror")
GK_ATOM(mozpasspointerevents, "mozpasspointerevents")
@@ -948,6 +947,7 @@ GK_ATOM(parent, "parent")
GK_ATOM(parentapp, "parentapp")
GK_ATOM(parentfocused, "parentfocused")
GK_ATOM(parsetype, "parsetype")
GK_ATOM(password, "password")
GK_ATOM(pattern, "pattern")
GK_ATOM(patternSeparator, "pattern-separator")
GK_ATOM(perMille, "per-mille")
@@ -1909,7 +1909,7 @@ GK_ATOM(ondevicelight, "ondevicelight")
// Audio channel events
GK_ATOM(onmozinterruptbegin, "onmozinterruptbegin")
GK_ATOM(onmozinterruptend, "onmozinterruptbegin")
GK_ATOM(onmozinterruptend, "onmozinterruptend")
//---------------------------------------------------------------------------
// Special atoms
@@ -2141,6 +2141,9 @@ GK_ATOM(el, "el")
GK_ATOM(ga, "ga")
GK_ATOM(nl, "nl")
// mathematical language, used for MathML
GK_ATOM(x_math, "x-math")
// Names for editor transactions
GK_ATOM(TypingTxnName, "Typing")
GK_ATOM(IMETxnName, "IME")
@@ -2182,6 +2185,11 @@ GK_ATOM(physical_home_button, "physical-home-button")
GK_ATOM(windows_classic, "windows-classic")
GK_ATOM(windows_theme_aero, "windows-theme-aero")
GK_ATOM(windows_theme_aero_lite, "windows-theme-aero-lite")
GK_ATOM(windows_theme_luna_blue, "windows-theme-luna-blue")
GK_ATOM(windows_theme_luna_olive, "windows-theme-luna-olive")
GK_ATOM(windows_theme_luna_silver, "windows-theme-luna-silver")
GK_ATOM(windows_theme_royale, "windows-theme-royale")
GK_ATOM(windows_theme_zune, "windows-theme-zune")
GK_ATOM(windows_theme_generic, "windows-theme-generic")
// And the same again, as media query keywords.
@@ -2325,7 +2333,6 @@ GK_ATOM(menuitemradio, "menuitemradio")
GK_ATOM(mixed, "mixed")
GK_ATOM(multiline, "multiline")
GK_ATOM(navigation, "navigation")
GK_ATOM(password, "password")
GK_ATOM(polite, "polite")
GK_ATOM(posinset, "posinset")
GK_ATOM(presentation, "presentation")
+4 -4
View File
@@ -207,7 +207,7 @@ EVENT(drop,
EventNameType_HTMLXUL,
eDragEventClass)
EVENT(durationchange,
NS_DURATIONCHANGE,
eDurationChange,
EventNameType_HTML,
eBasicEventClass)
EVENT(emptied,
@@ -215,7 +215,7 @@ EVENT(emptied,
EventNameType_HTML,
eBasicEventClass)
EVENT(ended,
NS_ENDED,
eEnded,
EventNameType_HTML,
eBasicEventClass)
EVENT(input,
@@ -374,7 +374,7 @@ EVENT(progress,
EventNameType_HTML,
eBasicEventClass)
EVENT(ratechange,
NS_RATECHANGE,
eRateChange,
EventNameType_HTML,
eBasicEventClass)
EVENT(reset,
@@ -410,7 +410,7 @@ EVENT(suspend,
EventNameType_HTML,
eBasicEventClass)
EVENT(timeupdate,
NS_TIMEUPDATE,
eTimeUpdate,
EventNameType_HTML,
eBasicEventClass)
EVENT(toggle,
+1
View File
@@ -214,6 +214,7 @@ x-devanagari=x-devanagari
x-unicode=x-unicode
x-armn=x-armn
x-geor=x-geor
x-math=x-math
# These self-mappings are not necessary unless somebody use them to specify
# lang in (X)HTML/XML documents, which they shouldn't. (see bug 256257)
#x-beng=x-beng
+15 -15
View File
@@ -832,17 +832,17 @@ operator.\u29FC.prefix = lspace:0 rspace:0 stretchy fence symmetric mirrorable d
operator.\u29FD.postfix = lspace:0 rspace:0 stretchy fence symmetric mirrorable direction:vertical # right-pointing curved angle bracket
operator.\u29FE.infix = lspace:4 rspace:4 # tiny
operator.\u29FF.infix = lspace:4 rspace:4 # miny
operator.\u2A00.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigodot;
operator.\u2A01.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigoplus;
operator.\u2A02.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # &bigotimes;
operator.\u2A03.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary union operator with dot
operator.\u2A00.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &bigodot;
operator.\u2A01.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &bigoplus;
operator.\u2A02.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &bigotimes;
operator.\u2A03.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # n-ary union operator with dot
operator.\u2A04.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &biguplus;
operator.\u2A05.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary square intersection operator
operator.\u2A05.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # n-ary square intersection operator
operator.\u2A06.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &bigsqcup;
operator.\u2A07.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # two logical and operator
operator.\u2A08.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # two logical or operator
operator.\u2A09.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary times operator
operator.\u2A0A.prefix = lspace:1 rspace:2 largeop movablelimits symmetric mirrorable # modulo two sum
operator.\u2A07.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # two logical and operator
operator.\u2A08.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # two logical or operator
operator.\u2A09.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # n-ary times operator
operator.\u2A0A.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical mirrorable # modulo two sum
operator.\u2A0B.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # summation with integral
operator.\u2A0C.prefix = lspace:0 rspace:1 largeop symmetric direction:vertical integral mirrorable # quadruple integral operator
operator.\u2A0D.prefix = lspace:1 rspace:2 largeop symmetric direction:vertical integral mirrorable # finite part integral
@@ -1091,10 +1091,10 @@ operator.\u2AF8.infix = lspace:5 rspace:5 # triple nested greater-than
operator.\u2AF9.infix = lspace:5 rspace:5 # double-line slanted less-than or equal to
operator.\u2AFA.infix = lspace:5 rspace:5 # double-line slanted greater-than or equal to
operator.\u2AFB.infix = lspace:4 rspace:4 # triple solidus binary relation
operator.\u2AFC.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # large triple vertical bar operator
operator.\u2AFC.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # large triple vertical bar operator
operator.\u2AFD.infix = lspace:4 rspace:4 # double solidus operator
operator.\u2AFE.infix = lspace:3 rspace:3 # white vertical bar
operator.\u2AFF.prefix = lspace:1 rspace:2 largeop movablelimits symmetric # n-ary white vertical bar
operator.\u2AFF.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # n-ary white vertical bar
operator.\u2B45.infix = lspace:5 rspace:5 stretchy direction:horizontal # leftwards quadruple arrow
operator.\u2B46.infix = lspace:5 rspace:5 stretchy direction:horizontal # rightwards quadruple arrow
@@ -1130,10 +1130,10 @@ operator.\u2225.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:ve
operator.\u2282\u020D2.infix = lspace:5 rspace:5 # &NotSubset;
operator.\u2283\u020D2.infix = lspace:5 rspace:5 # &NotSuperset;
operator.\u228E.prefix = lspace:1 rspace:2 largeop movablelimits symmetric direction:vertical # &UnionPlus;
operator.\u2295.prefix = lspace:0 rspace:3 largeop movablelimits symmetric # &CirclePlus;
operator.\u2296.prefix = lspace:0 rspace:3 largeop movablelimits symmetric # &CircleMinus;
operator.\u2297.prefix = lspace:0 rspace:3 largeop movablelimits symmetric # &CircleTimes;
operator.\u2299.prefix = lspace:0 rspace:3 largeop movablelimits symmetric # &CircleDot;
operator.\u2295.prefix = lspace:0 rspace:3 largeop movablelimits symmetric direction:vertical # &CirclePlus;
operator.\u2296.prefix = lspace:0 rspace:3 largeop movablelimits symmetric direction:vertical # &CircleMinus;
operator.\u2297.prefix = lspace:0 rspace:3 largeop movablelimits symmetric direction:vertical # &CircleTimes;
operator.\u2299.prefix = lspace:0 rspace:3 largeop movablelimits symmetric direction:vertical # &CircleDot;
operator.\u23B0.prefix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &lmoustache; &lmoust;
operator.\u23B1.postfix = lspace:0 rspace:0 stretchy fence symmetric direction:vertical # &rmoustache; &rmoust;
operator.\u2500.infix = lspace:0 rspace:0 stretchy direction:horizontal # &HorizontalLine;
+4 -3
View File
@@ -11,8 +11,6 @@
/**************************************************************************/
/* <math> - outermost math element */
/* Put Cambria before Cambria Math as Cambria Math has neither bold nor */
/* italic. */
/**************************************************************************/
math {
@@ -22,7 +20,10 @@ math {
display: inline;
font-size: inherit;
font-style: normal;
font-family: MathJax_Main, STIXGeneral, Cambria, Cambria Math, XITS, Latin Modern Math, DejaVu Serif, DejaVu Sans, Times, Lucida Sans Unicode, OpenSymbol, Standard Symbols L, serif;
font-family: serif;
line-height: normal;
word-spacing: normal;
letter-spacing: normal;
text-rendering: optimizeLegibility;
-moz-float-edge: margin-box;
-moz-math-display: inline;
+4 -2
View File
@@ -1660,8 +1660,10 @@ nsMathMLChar::StretchInternal(nsPresContext* aPresContext,
// really shouldn't be doing things this way but for now
// insert fallbacks into the list
nsAutoTArray<nsString, 10> mathFallbacks;
gfxFontUtils::GetPrefsFontList("font.mathfont-family", mathFallbacks);
nsAutoTArray<nsString, 16> mathFallbacks;
gfxFontUtils::GetPrefsFontList("font.name.serif.x-math", mathFallbacks);
gfxFontUtils::AppendPrefsFontList("font.name-list.serif.x-math",
mathFallbacks);
InsertMathFallbacks(font.fontlist, mathFallbacks);
+3 -2
View File
@@ -453,8 +453,9 @@ nsMathMLmoFrame::ProcessOperatorData()
mEmbellishData.trailingSpace = trailingSpace;
// Now see if there are user-defined attributes that override the dictionary.
// XXX If an attribute can be forced to be true when it is false in the
// dictionary, then the following code has to change...
// XXX Bug 1197771 - forcing an attribute to true when it is false in the
// dictionary can cause conflicts in the rest of the stretching algorithms
// (e.g. all largeops are assumed to have a vertical direction)
// For each attribute overriden by the user, turn off its bit flag.
// symmetric|movablelimits|separator|largeop|accent|fence|stretchy|form
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS spacing properties</title>
<style type="text/css">
math {
line-height: normal;
word-spacing: normal;
letter-spacing: normal;
}
</style>
</head>
<body>
<p style="line-height: 30pt;
word-spacing: 2em;
letter-spacing: 2em;">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo>
<mtable rowspacing="0pt" columnspacing="0em">
<mtr>
<mtd><mtext>row 1 column 1</mtext></mtd>
<mtd><mtext>row 1 column 2</mtext></mtd>
</mtr>
<mtr>
<mtd><mtext>row 2 column 1</mtext></mtd>
<mtd><mtext>row 2 column 2</mtext></mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
</p>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS spacing properties</title>
</head>
<body>
<p style="line-height: 30pt;
word-spacing: 2em;
letter-spacing: 2em;">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo>
<mtable rowspacing="0pt" columnspacing="0em">
<mtr>
<mtd><mtext>row 1 column 1</mtext></mtd>
<mtd><mtext>row 1 column 2</mtext></mtd>
</mtr>
<mtr>
<mtd><mtext>row 2 column 1</mtext></mtd>
<mtd><mtext>row 2 column 2</mtext></mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
</p>
</body>
</html>
@@ -0,0 +1,13 @@
<html>
<head>
<title>default font</title>
<meta charset="utf-8"/>
</head>
<body style="font: 20px monospace;">
<math style="font-family: serif; font-size: 40px;">
<mn>x-math language</mn>
</math>
</body>
</html>
+14
View File
@@ -0,0 +1,14 @@
<html>
<head>
<title>default font</title>
<meta charset="utf-8"/>
</head>
<body style="font: 20px monospace;">
<!-- font.minimum-size.x-math set to 40 -->
<math>
<mn>x-math language</mn>
</math>
</body>
</html>
+13 -9
View File
@@ -10,6 +10,7 @@ fails == dir-8.html dir-8-ref.html
fails == dir-9.html dir-9-ref.html # Bug 787215
== dir-10.html dir-10-ref.html
random-if((B2G&&browserIsRemote)||Mulet) == dir-11.html dir-11-ref.html # Initial mulet triage: parity with B2G/B2G Desktop
== css-spacing-1.html css-spacing-1-ref.html
== displaystyle-1.html displaystyle-1-ref.html
== displaystyle-2.html displaystyle-2-ref.html
== displaystyle-3.html displaystyle-3-ref.html
@@ -39,7 +40,7 @@ skip-if((B2G&&browserIsRemote)||Mulet) random-if(smallScreen&&Android) fuzzy(255
!= mfenced-8.html mfenced-8-ref.html
== mfenced-9.html mfenced-9-ref.html
fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == mfenced-10.html mfenced-10-ref.html # Windows versions without Cambria Math, see bug 670592
fails-if(winWidget&&d2d) == mfenced-11.html mfenced-11-ref.html
== mfenced-11.html mfenced-11-ref.html
skip-if(Mulet) == mfenced-12.html mfenced-12-ref.html # MULET: Bug 1144079: Re-enable Mulet mochitests and reftests taskcluster-specific disables
== mi-mathvariant-1.xhtml mi-mathvariant-1-ref.xhtml
== mi-mathvariant-2.xhtml mi-mathvariant-2-ref.xhtml
@@ -82,6 +83,8 @@ fails == stretchy-mover-2a.html stretchy-mover-2-ref.html
!= stretchy-mover-2b.html stretchy-mover-2-ref.html
== stretchy-mover-3.html stretchy-mover-3-ref.html
== stretchy-largeop-1.html stretchy-largeop-1-ref.html
== stretchy-largeop-2.html stretchy-largeop-2-ref.html
== stretchy-largeop-3.html stretchy-largeop-3-ref.html
== table-width-1.xhtml table-width-1-ref.xhtml
== table-width-2.html table-width-2-ref.html
== table-width-3.html table-width-3-ref.html
@@ -139,9 +142,9 @@ random-if(winWidget&&!/^Windows\x20NT\x205\.1/.test(http.oscpu)) == semantics-1.
== mpadded-5.html mpadded-5-ref.html
== mpadded-1-2.html mpadded-1-2-ref.html
== mpadded-6.html mpadded-6-ref.html
fails-if(B2G||Mulet) == mpadded-7.html mpadded-7-ref.html # B2G: slight character width variation # MULET: Bug 1144079: Re-enable Mulet mochitests and reftests taskcluster-specific disables
fails-if(B2G) == mpadded-8.html mpadded-8-ref.html # B2G: slight character width variation
fails-if(B2G) == mpadded-9.html mpadded-9-ref.html # B2G: slight character width variation
fails-if(Mulet) == mpadded-7.html mpadded-7-ref.html # MULET: Bug 1144079: Re-enable Mulet mochitests and reftests taskcluster-specific disables
== mpadded-8.html mpadded-8-ref.html
== mpadded-9.html mpadded-9-ref.html
== math-display.html math-display-ref.html
== scriptlevel-1.html scriptlevel-1-ref.html
== scriptlevel-movablelimits-1.html scriptlevel-movablelimits-1-ref.html
@@ -198,7 +201,7 @@ random-if(winWidget&&!d2d) == opentype-stretchy.html opentype-stretchy-ref.html
== operator-1.xhtml operator-1-ref.xhtml
== scriptshift-1.xhtml scriptshift-1-ref.xhtml
== number-size-1.xhtml number-size-1-ref.xhtml
random-if((B2G&&browserIsRemote)||Mulet) == multiscripts-1.html multiscripts-1-ref.html # B2G - slight height variation from font metrics # Initial mulet triage: parity with B2G/B2G Desktop
random-if((B2G&&browserIsRemote)||Mulet) fails-if(winWidget&&/^Windows\x20NT\x205\.1/.test(http.oscpu)) == multiscripts-1.html multiscripts-1-ref.html # B2G - slight height variation from font metrics # Initial mulet triage: parity with B2G/B2G Desktop
== mathml-mmultiscript-base.html mathml-mmultiscript-base-ref.html
== mathml-mmultiscript-mprescript.html mathml-mmultiscript-mprescript-ref.html
!= menclose-1a.html menclose-1-ref.html
@@ -345,23 +348,24 @@ fails-if(B2G||Mulet||Android||/^Windows\x20NT\x205\.1/.test(http.oscpu)||OSX) ==
== mfrac-A-7.html mfrac-A-7-ref.html
== mfrac-A-8.html mfrac-A-8-ref.html
== mfrac-B-1.html mfrac-B-1-ref.html
random-if(winWidget&&!/^Windows\x20NT\x205\.1/.test(http.oscpu)) == mfrac-B-2.html mfrac-B-2-3-ref.html
random-if(winWidget&&!/^Windows\x20NT\x205\.1/.test(http.oscpu)) == mfrac-B-3.html mfrac-B-2-3-ref.html
fails-if(winWidget) == mfrac-B-2.html mfrac-B-2-3-ref.html
fails-if(winWidget) == mfrac-B-3.html mfrac-B-2-3-ref.html
== mfrac-B-4.html mfrac-B-4-5-ref.html
== mfrac-B-5.html mfrac-B-4-5-ref.html
== mfrac-B-6.html mfrac-B-6-7-ref.html
== mfrac-B-7.html mfrac-B-6-7-ref.html
fuzzy-if(OSX,1,100) == mfrac-C-1.html mfrac-C-1-ref.html
random-if(winWidget&&!/^Windows\x20NT\x205\.1/.test(http.oscpu)) == mfrac-C-2.html mfrac-C-2-ref.html
fails-if(winWidget) == mfrac-C-2.html mfrac-C-2-ref.html
== mfrac-C-3.html mfrac-C-3-ref.html
== mfrac-C-4.html mfrac-C-4-ref.html
fuzzy-if(OSX,1,100) == mfrac-D-1.html mfrac-D-1-ref.html
random-if(winWidget&&!/^Windows\x20NT\x205\.1/.test(http.oscpu)) == mfrac-D-2.html mfrac-D-2-ref.html
fails-if(winWidget) == mfrac-D-2.html mfrac-D-2-ref.html
== mfrac-D-3.html mfrac-D-3-ref.html
== mfrac-D-4.html mfrac-D-4-ref.html
== mfrac-E-1.html mfrac-E-1-ref.html
test-pref(dom.webcomponents.enabled,true) == shadow-dom-1.html shadow-dom-1-ref.html
pref(font.size.inflation.emPerLine,25) == font-inflation-1.html font-inflation-1-ref.html
test-pref(font.minimum-size.x-math,40) == default-font.html default-font-ref.html
!= radicalbar-1.html about:blank
!= radicalbar-1a.html about:blank
!= radicalbar-1b.html about:blank
@@ -0,0 +1,111 @@
<!doctype html>
<!-- Test that non-stretchy largeops are bigger in display mode -->
<html>
<head>
<title>Largeop stretching</title>
<meta charset="utf-8"/>
</head>
<body>
<p>
<math displaystyle="true">
<mo id="mo0">&bigodot;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo1">&bigoplus;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo2">&#x2a03;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo3">&#x2a05;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo4">&#x2a07;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo5">&#x2a08;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo6">&#x2a09;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo7">&#x2a0a;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo8">&#x2afc;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo9">&#x2aff;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef0">&bigodot;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef1">&bigoplus;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef2">&#x2a03;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef3">&#x2a05;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef4">&#x2a07;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef5">&#x2a08;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef6">&#x2a09;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef7">&#x2a0a;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef8">&#x2afc;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef9">&#x2aff;</mo>
</math>
</p>
</body>
</html>
@@ -0,0 +1,137 @@
<!doctype html>
<!-- Test that non-stretchy largeops are bigger in display mode -->
<html class="reftest-wait">
<head>
<title>Largeop stretching</title>
<meta charset="utf-8"/>
<script type="text/javascript">
function verifyGreaterThan(aElement, aReference) {
/* Verify that the height of the element is greater than that of the
reference, and otherwise paint the element in red. */
var element = document.getElementById(aElement);
var ref = document.getElementById(aReference);
if (element.getBoundingClientRect().height -
ref.getBoundingClientRect().height <= 1) {
element.setAttribute("mathcolor", "red");
}
}
function doTest() {
/* Ensure that largeops are bigger in displaystyle */
var numTests = 10; // zero indexed
var opPrefix = "mo";
var refPrefix = "moRef";
for (var i = 0; i < numTests; i++)
{
verifyGreaterThan(opPrefix + i, refPrefix + i);
}
document.documentElement.removeAttribute("class");
}
</script>
</head>
<body onload="doTest();">
<p>
<math displaystyle="true">
<mo id="mo0">&bigodot;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo1">&bigoplus;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo2">&#x2a03;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo3">&#x2a05;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo4">&#x2a07;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo5">&#x2a08;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo6">&#x2a09;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo7">&#x2a0a;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo8">&#x2afc;</mo>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="mo9">&#x2aff;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef0">&bigodot;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef1">&bigoplus;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef2">&#x2a03;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef3">&#x2a05;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef4">&#x2a07;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef5">&#x2a08;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef6">&#x2a09;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef7">&#x2a0a;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef8">&#x2afc;</mo>
</math>
</p>
<p>
<math>
<mo id="moRef9">&#x2aff;</mo>
</math>
</p>
</body>
</html>
@@ -0,0 +1,123 @@
<!doctype html>
<!-- Test that non-stretchy largeops do not stretch -->
<html>
<head>
<title>Largeop stretching</title>
<meta charset="utf-8" />
</head>
<body>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo0">&bigodot;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo1">&bigoplus;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo2">&#x2a03;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo3">&#x2a05;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo4">&#x2a07;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo5">&#x2a08;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo6">&#x2a09;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo7">&#x2a0a;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo8">&#x2afc;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo9">&#x2aff;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="moRef0">&bigodot;</mo>
</math>
<math displaystyle="true">
<mo id="moRef1">&bigoplus;</mo>
</math>
<math displaystyle="true">
<mo id="moRef2">&#x2a03;</mo>
</math>
<math displaystyle="true">
<mo id="moRef3">&#x2a05;</mo>
</math>
<math displaystyle="true">
<mo id="moRef4">&#x2a07;</mo>
</math>
<math displaystyle="true">
<mo id="moRef5">&#x2a08;</mo>
</math>
<math displaystyle="true">
<mo id="moRef6">&#x2a09;</mo>
</math>
<math displaystyle="true">
<mo id="moRef7">&#x2a0a;</mo>
</math>
<math displaystyle="true">
<mo id="moRef8">&#x2afc;</mo>
</math>
<math displaystyle="true">
<mo id="moRef9">&#x2aff;</mo>
</math>
</p>
</body>
</html>
@@ -0,0 +1,156 @@
<!doctype html>
<!-- Test that non-stretchy largeops do not stretch -->
<html class="reftest-wait">
<head>
<title>Largeop stretching</title>
<meta charset="utf-8" />
<script type="text/javascript">
function almostEqual(aX, aY) {
var epsilon = 2;
return Math.abs(aX - aY) < epsilon;
}
function verifySize(aElement, aReference) {
/* Verify if the size of the element matches the reference, and
otherwise paint the element in red. */
var element = document.getElementById(aElement);
var ref = document.getElementById(aReference);
if (!almostEqual(element.getBoundingClientRect().height,
ref.getBoundingClientRect().height) ||
!almostEqual(element.getBoundingClientRect().width,
ref.getBoundingClientRect().width)) {
element.setAttribute("mathcolor", "red");
}
}
function doTest() {
/* Ensure that largeops are bigger in displaystyle */
var numTests = 10; // zero indexed
var opPrefix = "mo";
var refPrefix = "moRef";
for (var i = 0; i < numTests; i++)
{
verifySize(opPrefix + i, refPrefix + i);
}
document.documentElement.removeAttribute("class");
}
</script>
</head>
<body onload="doTest();">
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo0">&bigodot;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo1">&bigoplus;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo2">&#x2a03;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo3">&#x2a05;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo4">&#x2a07;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo5">&#x2a08;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo6">&#x2a09;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo7">&#x2a0a;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo8">&#x2afc;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mrow>
<mspace height="3em" />
<mo id="mo9">&#x2aff;</mo>
</mrow>
</math>
</p>
<p>
<math displaystyle="true">
<mo id="moRef0">&bigodot;</mo>
</math>
<math displaystyle="true">
<mo id="moRef1">&bigoplus;</mo>
</math>
<math displaystyle="true">
<mo id="moRef2">&#x2a03;</mo>
</math>
<math displaystyle="true">
<mo id="moRef3">&#x2a05;</mo>
</math>
<math displaystyle="true">
<mo id="moRef4">&#x2a07;</mo>
</math>
<math displaystyle="true">
<mo id="moRef5">&#x2a08;</mo>
</math>
<math displaystyle="true">
<mo id="moRef6">&#x2a09;</mo>
</math>
<math displaystyle="true">
<mo id="moRef7">&#x2a0a;</mo>
</math>
<math displaystyle="true">
<mo id="moRef8">&#x2afc;</mo>
</math>
<math displaystyle="true">
<mo id="moRef9">&#x2aff;</mo>
</math>
</p>
</body>
</html>
+7
View File
@@ -298,6 +298,13 @@ nsHTMLStyleSheet::RulesMatching(ElementRuleProcessorData* aData)
if (aData->mElement->GetAttr(kNameSpaceID_XML, nsGkAtoms::lang, lang)) {
ruleWalker->Forward(LangRuleFor(lang));
}
// Set the language to "x-math" on the <math> element, so that appropriate
// font settings are used for MathML.
if (aData->mElement->IsMathMLElement(nsGkAtoms::math)) {
nsGkAtoms::x_math->ToString(lang);
ruleWalker->Forward(LangRuleFor(lang));
}
}
// Test if style is dependent on content state
+2
View File
@@ -132,6 +132,8 @@ public: // for mLangRuleTable structures only
// Rule to handle xml:lang attributes, of which we have exactly one
// per language string, maintained in mLangRuleTable.
// We also create one extra rule for the "x-math" language string, used on
// <math> elements.
class LangRule final : public nsIStyleRule {
private:
~LangRule() {}
-1
View File
@@ -282,7 +282,6 @@ this.OnRefTestLoad = function OnRefTestLoad(win)
gBrowser.setAttribute("id", "browser");
gBrowser.setAttribute("type", "content-primary");
gBrowser.setAttribute("remote", gBrowserIsRemote ? "true" : "false");
gBrowser.setAttribute("mozasyncpanzoom", "true");
// Make sure the browser element is exactly 800x1000, no matter
// what size our window is
gBrowser.setAttribute("style", "padding: 0px; margin: 0px; border:none; min-width: 800px; min-height: 1000px; max-width: 800px; max-height: 1000px");
+29 -3
View File
@@ -2204,7 +2204,10 @@ pref("intl.hyphenation-alias.no-*", "nb");
pref("intl.hyphenation-alias.nb-*", "nb");
pref("intl.hyphenation-alias.nn-*", "nn");
pref("font.mathfont-family", "Latin Modern Math, XITS Math, STIX Math, Cambria Math, Asana Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Termes Math, Neo Euler, Lucida Bright Math, MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Standard Symbols L, DejaVu Sans");
pref("font.name.serif.x-math", "Latin Modern Math");
pref("font.name-list.serif.x-math", "Latin Modern Math, XITS Math, Cambria Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Schola, TeX Gyre Termes Math, STIX Math, Asana Math, MathJax_Main, STIXGeneral, DejaVu Serif, DejaVu Sans, Standard Symbols L, serif");
pref("font.name.sans-serif.x-math", "sans-serif");
pref("font.name.monospace.x-math", "monospace");
// Some CJK fonts have bad underline offset, their CJK character glyphs are overlapped (or adjoined) to its underline.
// These fonts are ignored the underline offset, instead of it, the underline is lowered to bottom of its em descent.
@@ -2987,6 +2990,10 @@ pref("font.minimum-size.zh-TW", 0);
pref("font.size.variable.zh-TW", 16);
pref("font.size.fixed.zh-TW", 16);
// mathml.css sets font-size to "inherit" and font-family to "serif" so only
// font.name.*.x-math and font.minimum-size.x-math are really relevant.
pref("font.minimum-size.x-math", 0);
/*
* A value greater than zero enables font size inflation for
* pan-and-zoom UIs, so that the fonts in a block are at least the size
@@ -3309,8 +3316,12 @@ pref("font.name-list.monospace.x-tibt", "Tibetan Machine Uni, Jomolhari, Microso
pref("font.minimum-size.th", 10);
pref("font.default.x-devanagari", "sans-serif");
pref("font.name.serif.x-math", "Latin Modern Math");
// We have special support for Monotype Symbol on Windows.
pref("font.mathfont-family", "MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Asana Math, Symbol, DejaVu Sans, Cambria Math");
pref("font.name-list.serif.x-math", "Latin Modern Math, XITS Math, Cambria Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Schola, TeX Gyre Termes Math, STIX Math, Asana Math, MathJax_Main, STIXGeneral, DejaVu Serif, DejaVu Sans, Symbol, Times New Roman");
pref("font.name.sans-serif.x-math", "Arial");
pref("font.name.monospace.x-math", "Courier New");
pref("font.name.cursive.x-math", "Comic Sans MS");
// cleartype settings - false implies default system settings
@@ -3743,8 +3754,13 @@ pref("font.size.variable.zh-CN", 15);
pref("font.size.variable.zh-HK", 15);
pref("font.size.variable.zh-TW", 15);
pref("font.name.serif.x-math", "Latin Modern Math");
// Apple's Symbol is Unicode so use it
pref("font.mathfont-family", "Latin Modern Math, XITS Math, STIX Math, Cambria Math, Asana Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Termes Math, Neo Euler, Lucida Bright Math, MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXGeneral, Symbol, DejaVu Sans");
pref("font.name-list.serif.x-math", "Latin Modern Math, XITS Math, Cambria Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Schola, TeX Gyre Termes Math, STIX Math, Asana Math, MathJax_Main, STIXGeneral, DejaVu Serif, DejaVu Sans, Symbol, Times");
pref("font.name.sans-serif.x-math", "Helvetica");
pref("font.name.monospace.x-math", "Courier");
pref("font.name.cursive.x-math", "Apple Chancery");
pref("font.name.fantasy.x-math", "Papyrus");
// individual font faces to be treated as independent families
// names are Postscript names of each face
@@ -4097,6 +4113,11 @@ pref("font.name.sans-serif.zh-TW", "Fira Sans");
pref("font.name.monospace.zh-TW", "Fira Mono");
pref("font.name-list.sans-serif.zh-TW", "Fira Sans,Droid Sans Fallback");
pref("font.name.serif.x-math", "Latin Modern Math");
pref("font.name-list.serif.x-math", "Latin Modern Math, XITS Math, Cambria Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Schola, TeX Gyre Termes Math, STIX Math, Asana Math, MathJax_Main, STIXGeneral, DejaVu Serif, DejaVu Sans, Charis SIL Compact");
pref("font.name.sans-serif.x-math", "Fira Sans");
pref("font.name.monospace.x-math", "Fira Mono");
#elif defined(ANDROID)
// We use the bundled fonts for Firefox for Android
@@ -4170,6 +4191,11 @@ pref("font.name-list.serif.zh-TW", "Droid Serif, Droid Sans Fallback");
pref("font.name-list.sans-serif.zh-TW", "Roboto, Droid Sans, Noto Sans TC, Noto Sans SC, Droid Sans Fallback");
pref("font.name-list.monospace.zh-TW", "Droid Sans Fallback");
pref("font.name.serif.x-math", "Latin Modern Math");
pref("font.name-list.serif.x-math", "Latin Modern Math, XITS Math, Cambria Math, TeX Gyre Bonum Math, TeX Gyre Pagella Math, TeX Gyre Schola, TeX Gyre Termes Math, STIX Math, Asana Math, MathJax_Main, STIXGeneral, DejaVu Serif, DejaVu Sans, Charis SIL Compact");
pref("font.name.sans-serif.x-math", "Clear Sans");
pref("font.name.monospace.x-math", "Droid Sans Mono");
#endif
#if OS_ARCH==AIX
+1 -1
View File
@@ -757,7 +757,7 @@ nsViewManager::DispatchEvent(WidgetGUIEvent *aEvent,
mouseEvent->mMessage != eMouseEnterIntoWidget) ||
aEvent->HasKeyEventMessage() ||
aEvent->HasIMEEventMessage() ||
aEvent->mMessage == NS_PLUGIN_INPUT_EVENT) {
aEvent->mMessage == ePluginInputEvent) {
gLastUserEventTime = PR_IntervalToMicroseconds(PR_IntervalNow());
}
+8 -9
View File
@@ -260,10 +260,10 @@ NS_EVENT_MESSAGE(eCanPlay, eMediaEventFirst + 11)
NS_EVENT_MESSAGE(eCanPlayThrough, eMediaEventFirst + 12)
NS_EVENT_MESSAGE(eSeeking, eMediaEventFirst + 13)
NS_EVENT_MESSAGE(eSeeked, eMediaEventFirst + 14)
NS_EVENT_MESSAGE(NS_TIMEUPDATE, eMediaEventFirst + 15)
NS_EVENT_MESSAGE(NS_ENDED, eMediaEventFirst + 16)
NS_EVENT_MESSAGE(NS_RATECHANGE, eMediaEventFirst + 17)
NS_EVENT_MESSAGE(NS_DURATIONCHANGE, eMediaEventFirst + 18)
NS_EVENT_MESSAGE(eTimeUpdate, eMediaEventFirst + 15)
NS_EVENT_MESSAGE(eEnded, eMediaEventFirst + 16)
NS_EVENT_MESSAGE(eRateChange, eMediaEventFirst + 17)
NS_EVENT_MESSAGE(eDurationChange, eMediaEventFirst + 18)
NS_EVENT_MESSAGE(NS_VOLUMECHANGE, eMediaEventFirst + 19)
// paint notification events
@@ -289,14 +289,13 @@ NS_EVENT_MESSAGE(NS_SIMPLE_GESTURE_EDGE_CANCELED, NS_SIMPLE_GESTURE_EVENT_START
NS_EVENT_MESSAGE(NS_SIMPLE_GESTURE_EDGE_COMPLETED, NS_SIMPLE_GESTURE_EVENT_START + 14)
// These are used to send native events to plugins.
NS_EVENT_MESSAGE(NS_PLUGIN_EVENT_START, 3600)
NS_EVENT_MESSAGE(NS_PLUGIN_INPUT_EVENT, NS_PLUGIN_EVENT_START)
NS_EVENT_MESSAGE(NS_PLUGIN_FOCUS_EVENT, NS_PLUGIN_EVENT_START + 1)
NS_EVENT_MESSAGE(ePluginEventFirst, 3600)
NS_EVENT_MESSAGE(ePluginInputEvent, ePluginEventFirst)
// Events to manipulate selection (WidgetSelectionEvent)
NS_EVENT_MESSAGE(NS_SELECTION_EVENT_START, 3700)
NS_EVENT_MESSAGE(eSelectionEventFirst, 3700)
// Clear any previous selection and set the given range as the selection
NS_EVENT_MESSAGE(NS_SELECTION_SET, NS_SELECTION_EVENT_START)
NS_EVENT_MESSAGE(NS_SELECTION_SET, eSelectionEventFirst)
// Events of commands for the contents
NS_EVENT_MESSAGE(NS_CONTENT_COMMAND_EVENT_START, 3800)
+1 -1
View File
@@ -23,7 +23,7 @@ nsWindowBase::DispatchPluginEvent(const MSG& aMsg)
if (!PluginHasFocus()) {
return false;
}
WidgetPluginEvent pluginEvent(true, NS_PLUGIN_INPUT_EVENT, this);
WidgetPluginEvent pluginEvent(true, ePluginInputEvent, this);
nsIntPoint point(0, 0);
InitEvent(pluginEvent, &point);
NPEvent npEvent;