Не пойму, если писать как у вас public interface Callback <? extends T> - выдает ошибку "Cannot resolve symbol T". Если писать void callback (Map '<'String, ? extends T'>' data); - становится не валидным вызов метода private void callback (Map'<'String, Color'>' data) { ... }
pygame: Александр Аксентьев: есть один способ не менять курсор, когда под ним iframe или любой другой элемент с отличным от default'ного стиля курсора, использует баги хрома (работает до сих пор) и лисе, во всяком случае, в лисе летом точно работало, сейчас - нет, но я ещё не разбирался в причине неработоспособности в лисе. О способе, к сожалению, сказать не могу, но я его нашел довольно быстро с опытом программирования на JS'е в 4 месяца.
Ну а если кнопку в iframe обернуть в блок с другим стилем курсора, при наведении на него все равно будет стиль курсора из iframe.
А я делал все тоже самое, но только курсор не поинтер, а default, или если у элемента, который находится под курсором другой стиль - принимает стиль того элемента. Костыльный способ был, но работает в хроме 47 таки.
Прочтите мой ответ на ваш предыдущий вопрос, я там показал, как можно в элемент с плюсиком добавить data атрибут c aid, и далл ссылки на ванильный/jquery'евские обработчики событий, в которых можно получить data атрибут плюсика, на который кликнули, и вызывать фи-ию, передав этот data атрибут с aid аргументом. Ну а уж как получить data атрибут - загуглите сами, дело 20 секунд, только что лично проверил.
А song.owner_id - я так понял, это id пользователя, чью запись ты слушаешь в данный момент, а не пользователя, которому ты хочешь эту запись добавить в список аудиозаписей.