Чтобы включить изменения скинов во время выполнения, которые используют правила, специфичные для браузера, мне нужно объединить две возможности CSS-ресурса — подстановку во время выполнения и литерал.
Например, чтобы иметь динамический градиент кнопки, я бы сделал что-то вроде этого:
button {
background: literal("-moz-linear-gradient(top, lightBg 0%, darkBg 100%)");
background: literal("-webkit-linear-gradient(top, lightBg 0%, darkBg 100%)");
background: literal("-o-linear-gradient(top, lightBg 0%, darkBg 100%)");
background: literal("-ms-linear-gradient(top, lightBg 0%, darkBg 100%)");
background: linear-gradient(top, lightBg 0%, darkBg 100%);
}
где lightBg и darkBg оцениваются во время выполнения с использованием @eval.
Проблема в том, что GWT не анализирует литеральную строку, поэтому не оценивает эти два значения. См. здесь.
Является ли это возможным? Спасибо.