Bug 1477553: Hide display: -moz-box|-moz-inline-box from content on Nightly and early beta. r=xidorn

Differential Revision: https://phabricator.services.mozilla.com/D2288

MozReview-Commit-ID: F9BeAneKY6e
This commit is contained in:
Emilio Cobos Álvarez 2018-07-22 16:10:23 +02:00
parent 5c4b6e9d2e
commit e8373c682f
9 changed files with 50 additions and 14 deletions

View File

@ -67,6 +67,15 @@ let whitelist = [
isFromDevTools: true},
];
if (!Services.prefs.getBoolPref("layout.css.xul-box-display-values.content.enabled")) {
// These are UA sheets which use non-content-exposed `display` values.
whitelist.push({
sourceName: /(skin\/shared\/Heartbeat|((?:res|gre-resources)\/(ua|html)))\.css$/i,
errorMessage: /Error in parsing value for .*\bdisplay\b/i,
isFromDevTools: false
})
}
if (!Services.prefs.getBoolPref("full-screen-api.unprefix.enabled")) {
whitelist.push({
sourceName: /(?:res|gre-resources)\/(ua|html)\.css$/i,

View File

@ -652,8 +652,8 @@ load 1233607.html
load 1234701-1.html
load 1234701-2.html
load 1271765.html
asserts(2) asserts-if(Android,1) load 1272983-1.html # bug 586628
asserts(2) asserts-if(Android,1) load 1272983-2.html # bug 586628
pref(layout.css.xul-box-display-values.content.enabled,true) asserts(2) asserts-if(Android,1) load 1272983-1.html # bug 586628
pref(layout.css.xul-box-display-values.content.enabled,true) asserts(2) asserts-if(Android,1) load 1272983-2.html # bug 586628
load 1275059.html
load 1278007.html
load 1278080.html

View File

@ -1,4 +1,4 @@
== box-ordinal-with-out-of-flow-1.html box-ordinal-with-out-of-flow-1-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == box-ordinal-with-out-of-flow-1.html box-ordinal-with-out-of-flow-1-ref.html
== dynamic-1-remove-to-none-grouped.xul dynamic-1-ref.xul
== dynamic-1-add-to-one-grouped.xul dynamic-1-ref.xul
== dynamic-1-remove-to-one-grouped-1.xul dynamic-1-ref.xul

View File

@ -417,7 +417,7 @@ fuzzy-if(webrender&&winWidget,35-35,1-1) == 321402-3.xul 321402-3-ref.xul
== 321402-5.xul 321402-5-ref.xul
== 321402-6.xul 321402-6-ref.xul
== 321738-1.html 321738-1-ref.html
== 322436-1.html 322436-1-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == 322436-1.html 322436-1-ref.html
== 322461-1.xml 322461-1-ref.html
== 323656-1.html 323656-1-ref.html
== 323656-2.html 323656-2-ref.html
@ -956,7 +956,7 @@ fails == 411585-3.html 411585-3-ref.html # bug 426909
== 412607-1b.html 412607-1-ref.html
random-if(Android) == 412679-1.html 412679-1-ref.html
fuzzy-if(skiaContent,1,17) == 412679-2.html 412679-2-ref.html
== 413027-1.html 413027-1-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == 413027-1.html 413027-1-ref.html
fails == 413027-2.html 413027-2-ref.html
fails == 413027-3.html 413027-3-ref.html
== 413286-1a.html 413286-1-ref.html
@ -1409,7 +1409,7 @@ fuzzy-if(Android,5,2800) == 506481-1.html 506481-1-ref.html
== 507762-3.html 507762-1-ref.html
== 507762-4.html 507762-2-ref.html
random == 508816-1.xul 508816-1-ref.xul # Bug 1375012
== 508816-2.html 508816-2-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == 508816-2.html 508816-2-ref.html
skip-if(isDebugBuild) == 508908-1.xul 508908-1-ref.xul
== 508919-1.xhtml 508919-1-ref.xhtml
== 509155-1.xhtml 509155-1-ref.xhtml
@ -1449,7 +1449,7 @@ fuzzy-if(skiaContent,5,50) == 526463-1.html 526463-1-ref.html
== 528038-2.html 528038-2-ref.html
== 528096-1.html 528096-1-ref.html
== 530686-1.html 530686-1-ref.html
== 531098-1.html 531098-1-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == 531098-1.html 531098-1-ref.html
fuzzy-if(Android,2,48) == 531200-1.html 531200-1-ref.html
== 531371-1.html 531371-1-ref.html
== 534526-1a.html 534526-1-ref.html
@ -1564,7 +1564,7 @@ random-if(!winWidget) random-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == 5
random-if(!winWidget) fails-if(winWidget&&!dwrite) random-if(winWidget&&dwrite) != 574907-3.html 574907-3-notref.html
== 577838-1.html 577838-1-ref.html
== 577838-2.html 577838-2-ref.html
== 579323-1.html 579323-1-ref.html
pref(layout.css.xul-box-display-values.content.enabled,true) == 579323-1.html 579323-1-ref.html
== 579349-1.html 579349-1-ref.html
== 579655-1.html 579655-1-ref.html
skip-if(!haveTestPlugin) fails-if(Android) HTTP == 579808-1.html 579808-1-ref.html

View File

@ -139,8 +139,6 @@ function main() {
var dispValsThatComputeToBlockInAFlexContainer = [
"inline",
"inline-block",
"-moz-box",
"-moz-inline-box",
];
dispValsThatComputeToBlockInAFlexContainer.forEach(

View File

@ -18,7 +18,10 @@ const VALUES = [
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv(
{"set": [["layout.css.xul-display-values.content.enabled", true]]}
{"set": [
["layout.css.xul-display-values.content.enabled", true],
["layout.css.xul-box-display-values.content.enabled", true],
]}
).then(runTest);
function runTest() {

View File

@ -6,9 +6,8 @@
<script>
const NON_CONTENT_ACCESSIBLE_VALUES = {
"display": [
// FIXME(emilio, bug TBD): Remove from content these two too.
// "-moz-box",
// "-moz-inline-box",
"-moz-box",
"-moz-inline-box",
"-moz-grid",
"-moz-inline-grid",
"-moz-grid-group",

View File

@ -361,6 +361,20 @@ VARCACHE_PREF(
bool, false
)
// Pref to control whether display: -moz-box and display: -moz-inline-box are
// parsed in content pages.
#ifdef EARLY_BETA_OR_EARLIER
#define PREF_VALUE false
#else
#define PREF_VALUE true
#endif
VARCACHE_PREF(
"layout.css.xul-box-display-values.content.enabled",
layout_css_xul_box_display_values_content_enabled,
bool, PREF_VALUE
)
#undef PREF_VALUE
// Is support for CSS "grid-template-{columns,rows}: subgrid X" enabled?
VARCACHE_PREF(
"layout.css.grid-template-subgrid-value.enabled",

View File

@ -30,6 +30,17 @@ fn moz_display_values_enabled(context: &ParserContext) -> bool {
}
}
#[cfg(feature = "gecko")]
fn moz_box_display_values_enabled(context: &ParserContext) -> bool {
use gecko_bindings::structs;
use stylesheets::Origin;
context.stylesheet_origin == Origin::UserAgent ||
context.chrome_rules_enabled() ||
unsafe {
structs::StaticPrefs_sVarCache_layout_css_xul_box_display_values_content_enabled
}
}
#[allow(missing_docs)]
#[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, Parse, PartialEq,
SpecifiedValueInfo, ToComputedValue, ToCss)]
@ -80,8 +91,10 @@ pub enum Display {
#[cfg(feature = "gecko")]
WebkitInlineBox,
#[cfg(feature = "gecko")]
#[parse(condition = "moz_box_display_values_enabled")]
MozBox,
#[cfg(feature = "gecko")]
#[parse(condition = "moz_box_display_values_enabled")]
MozInlineBox,
#[cfg(feature = "gecko")]
#[parse(condition = "moz_display_values_enabled")]