mirror of
https://github.com/black7375/Firefox-UI-Fix.git
synced 2025-12-05 18:20:44 -08:00
Fix: Utils - STANDARD-MODE for OS #744
This commit is contained in:
parent
0686d16346
commit
8ad0d18e14
7 changed files with 317 additions and 9 deletions
|
|
@ -21,6 +21,22 @@ $dupList: (ab cd efgh efgh efgh ijk);
|
|||
}
|
||||
}
|
||||
|
||||
@include test-module("Remove at list using list [fn]") {
|
||||
@include test("simple") {
|
||||
@include assert-equal(
|
||||
list.remove-list($simpleList, ("cd" "efgh")),
|
||||
(ab ijk)
|
||||
);
|
||||
}
|
||||
|
||||
@include test("duplicate") {
|
||||
@include assert-equal(
|
||||
list.remove-list($dupList, ("cd" "efgh")),
|
||||
(ab ijk)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@include test-module("Convert to str [fn]") {
|
||||
@include test("simple") {
|
||||
@include assert-equal(
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
@use "true" as *;
|
||||
@use "example" as *;
|
||||
@use "../src/utils/native_menu";
|
||||
@use "../src/utils/os" as OS;
|
||||
|
||||
@include test-module("Native Menu Option - ESR [mix]") {
|
||||
@include OS.ESR-MODE;
|
||||
|
||||
@include test-module("Native Menu Option [mix]") {
|
||||
@include test("simple") {
|
||||
@include assert {
|
||||
@include output {
|
||||
|
|
@ -117,3 +120,121 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test-module("Native Menu Option - Standard [mix]") {
|
||||
@include OS.STANDARD-MODE;
|
||||
|
||||
@include test("simple") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include native_menu.NativeToolkitMenu {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.NativeMenuPopup {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@supports -moz-bool-pref("widget.macos.native-context-menus") or -moz-bool-pref("widget.gtk.native-context-menus") {
|
||||
@include example;
|
||||
}
|
||||
menupopup:is(#historyMenuPopup, #bookmarksMenuPopup),
|
||||
menupopup:not([placespopup="true"]) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@include test("native menu - with windows media") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include native_menu.NativeMenu(true) {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.NonNativeMenu(true) {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.WinNativeMenu(true) {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.WinNonNativeMenu(true) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media not (-moz-windows-non-native-menus) {
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@supports not -moz-bool-pref("userChrome.theme.non_native_menu") {
|
||||
@media (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@media (-moz-windows-non-native-menus) {
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@supports -moz-bool-pref("userChrome.theme.non_native_menu") {
|
||||
@media (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@media not (-moz-windows-non-native-menus) {
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@media (-moz-windows-non-native-menus) {
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@include test("native menu - without windows media") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include native_menu.NativeMenu {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.NonNativeMenu {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.WinNativeMenu {
|
||||
@include example;
|
||||
}
|
||||
@include native_menu.WinNonNativeMenu {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media not (-moz-windows-non-native-menus) {
|
||||
@include example;
|
||||
}
|
||||
@supports not -moz-bool-pref("userChrome.theme.non_native_menu") {
|
||||
@media (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@media (-moz-windows-non-native-menus) {
|
||||
@include example;
|
||||
}
|
||||
@supports -moz-bool-pref("userChrome.theme.non_native_menu") {
|
||||
@media (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@media not (-moz-windows-non-native-menus) {
|
||||
@include example;
|
||||
}
|
||||
@media (-moz-windows-non-native-menus) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@
|
|||
@use "example" as *;
|
||||
@use "../src/utils/os" as *;
|
||||
|
||||
// TODO: Need more tests..
|
||||
@include test-module("Create OS related media [mix]") {
|
||||
@include test-module("Create OS related media - ESR [mix]") {
|
||||
@include ESR-MODE;
|
||||
|
||||
@include test("win7") {
|
||||
@include assert {
|
||||
@include output {
|
||||
|
|
@ -145,3 +146,145 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test-module("Create OS related media - Standard [mix]") {
|
||||
@include STANDARD-MODE;
|
||||
|
||||
@include test("win7") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win7) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
// IGNORE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("win8") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win8) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
// IGNORE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("win10") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win10) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
// AS Windows
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("linux") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($linux) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("mac") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($mac) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("bigsur") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($bigsur) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media (-moz-mac-big-sur-theme: 0) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("win") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media (-moz-platform: windows) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("all os - win7, win8, win10, mac, bigsur, linux") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win7, $win8, $win10, $mac, $bigsur, $linux) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media (-moz-platform: windows), (-moz-mac-big-sur-theme: 0), (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include test("all os - win, mac, bigsur, linux") {
|
||||
@include assert {
|
||||
@include output {
|
||||
@include OS($win, $mac, $bigsur, $linux) {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
@include expect {
|
||||
@media (-moz-platform: windows), (-moz-mac-big-sur-theme: 0), (-moz-gtk-csd-available) {
|
||||
@include example;
|
||||
}
|
||||
@supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled") {
|
||||
@include example;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
@namespace html "http://www.w3.org/1999/xhtml";
|
||||
|
||||
@include ESR-MODE;
|
||||
/** Default Theme - Contrast **************************************************/
|
||||
@include Option("userChrome.theme.built_in_contrast") {
|
||||
@import "theme/built_in";
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
@namespace html url("http://www.w3.org/1999/xhtml");
|
||||
|
||||
@include ESR-MODE;
|
||||
/** Compatibility *************************************************************/
|
||||
@import "contents/compatibility";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,17 +4,25 @@
|
|||
@function remove($list, $value, $recursive: false) {
|
||||
$result: ();
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
@if type-of(nth($list, $i)) == list and $recursive {
|
||||
$result: append($result, remove(nth($list, $i), $value, $recursive));
|
||||
} @else if nth($list, $i) != $value {
|
||||
$result: append($result, nth($list, $i));
|
||||
@each $item in $list {
|
||||
@if type-of($item) == list and $recursive {
|
||||
$result: append($result, remove($item, $value, $recursive));
|
||||
} @else if $item != $value {
|
||||
$result: append($result, $item);
|
||||
}
|
||||
}
|
||||
|
||||
@return $result;
|
||||
}
|
||||
|
||||
@function remove-list($list, $removeList, $recursive: false) {
|
||||
@each $removeItem in $removeList {
|
||||
$list: remove($list, $removeItem, $recursive);
|
||||
}
|
||||
|
||||
@return $list;
|
||||
}
|
||||
|
||||
@function to-string($list, $glue: '', $is-nested: false) {
|
||||
$result: null;
|
||||
|
||||
|
|
|
|||
|
|
@ -31,13 +31,14 @@ $_win-media: (
|
|||
$_win-media: map.set($_win-media, $_win-key, $result-template);
|
||||
}
|
||||
|
||||
$_moz-platform-windows: list.nth($_win-template, 2);
|
||||
@function _win-only-result() {
|
||||
$result-template: ();
|
||||
|
||||
@each $_win-value in map.values($_win-media) {
|
||||
$result-template: list.append($result-template, list.nth($_win-value, 1));
|
||||
}
|
||||
@return list.append($result-template, list.nth($_win-template, 2))
|
||||
@return list.append($result-template, $_moz-platform-windows)
|
||||
}
|
||||
|
||||
$_win-media: map.merge(
|
||||
|
|
@ -54,7 +55,24 @@ $_os-media: map.merge(
|
|||
);
|
||||
|
||||
//== Mixin =====================================================================
|
||||
$osESR: false !default;
|
||||
|
||||
@mixin ESR-MODE() {
|
||||
$osESR: true !global;
|
||||
}
|
||||
|
||||
@mixin STANDARD-MODE() {
|
||||
$osESR: false !global;
|
||||
}
|
||||
|
||||
@mixin OS($osNames...) {
|
||||
$_os-media: $_os-media; // as local
|
||||
@if not $osESR {
|
||||
$osNames: list-utils.remove-list($osNames, ($win7 $win8));
|
||||
$_os-media: map.set($_os-media, $win10, $_moz-platform-windows);
|
||||
$_os-media: map.set($_os-media, $win, $_moz-platform-windows);
|
||||
}
|
||||
|
||||
$osMedias: ();
|
||||
@each $osName in $osNames {
|
||||
$osMedia: map.get($_os-media, $osName);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue