mirror of
https://github.com/black7375/Firefox-UI-Fix.git
synced 2025-12-06 02:30:54 -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-module("Convert to str [fn]") {
|
||||||
@include test("simple") {
|
@include test("simple") {
|
||||||
@include assert-equal(
|
@include assert-equal(
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
@use "true" as *;
|
@use "true" as *;
|
||||||
@use "example" as *;
|
@use "example" as *;
|
||||||
@use "../src/utils/native_menu";
|
@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 test("simple") {
|
||||||
@include assert {
|
@include assert {
|
||||||
@include output {
|
@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 "example" as *;
|
||||||
@use "../src/utils/os" as *;
|
@use "../src/utils/os" as *;
|
||||||
|
|
||||||
// TODO: Need more tests..
|
@include test-module("Create OS related media - ESR [mix]") {
|
||||||
@include test-module("Create OS related media [mix]") {
|
@include ESR-MODE;
|
||||||
|
|
||||||
@include test("win7") {
|
@include test("win7") {
|
||||||
@include assert {
|
@include assert {
|
||||||
@include output {
|
@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 xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||||
@namespace html "http://www.w3.org/1999/xhtml";
|
@namespace html "http://www.w3.org/1999/xhtml";
|
||||||
|
|
||||||
|
@include ESR-MODE;
|
||||||
/** Default Theme - Contrast **************************************************/
|
/** Default Theme - Contrast **************************************************/
|
||||||
@include Option("userChrome.theme.built_in_contrast") {
|
@include Option("userChrome.theme.built_in_contrast") {
|
||||||
@import "theme/built_in";
|
@import "theme/built_in";
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||||
@namespace html url("http://www.w3.org/1999/xhtml");
|
@namespace html url("http://www.w3.org/1999/xhtml");
|
||||||
|
|
||||||
|
@include ESR-MODE;
|
||||||
/** Compatibility *************************************************************/
|
/** Compatibility *************************************************************/
|
||||||
@import "contents/compatibility";
|
@import "contents/compatibility";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,25 @@
|
||||||
@function remove($list, $value, $recursive: false) {
|
@function remove($list, $value, $recursive: false) {
|
||||||
$result: ();
|
$result: ();
|
||||||
|
|
||||||
@for $i from 1 through length($list) {
|
@each $item in $list {
|
||||||
@if type-of(nth($list, $i)) == list and $recursive {
|
@if type-of($item) == list and $recursive {
|
||||||
$result: append($result, remove(nth($list, $i), $value, $recursive));
|
$result: append($result, remove($item, $value, $recursive));
|
||||||
} @else if nth($list, $i) != $value {
|
} @else if $item != $value {
|
||||||
$result: append($result, nth($list, $i));
|
$result: append($result, $item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@return $result;
|
@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) {
|
@function to-string($list, $glue: '', $is-nested: false) {
|
||||||
$result: null;
|
$result: null;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,13 +31,14 @@ $_win-media: (
|
||||||
$_win-media: map.set($_win-media, $_win-key, $result-template);
|
$_win-media: map.set($_win-media, $_win-key, $result-template);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$_moz-platform-windows: list.nth($_win-template, 2);
|
||||||
@function _win-only-result() {
|
@function _win-only-result() {
|
||||||
$result-template: ();
|
$result-template: ();
|
||||||
|
|
||||||
@each $_win-value in map.values($_win-media) {
|
@each $_win-value in map.values($_win-media) {
|
||||||
$result-template: list.append($result-template, list.nth($_win-value, 1));
|
$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(
|
$_win-media: map.merge(
|
||||||
|
|
@ -54,7 +55,24 @@ $_os-media: map.merge(
|
||||||
);
|
);
|
||||||
|
|
||||||
//== Mixin =====================================================================
|
//== Mixin =====================================================================
|
||||||
|
$osESR: false !default;
|
||||||
|
|
||||||
|
@mixin ESR-MODE() {
|
||||||
|
$osESR: true !global;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin STANDARD-MODE() {
|
||||||
|
$osESR: false !global;
|
||||||
|
}
|
||||||
|
|
||||||
@mixin OS($osNames...) {
|
@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: ();
|
$osMedias: ();
|
||||||
@each $osName in $osNames {
|
@each $osName in $osNames {
|
||||||
$osMedia: map.get($_os-media, $osName);
|
$osMedia: map.get($_os-media, $osName);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue