;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Toffoli repudia agressões a jornalistas: 'Sem imprensa, não há democracia'

Sérgio Lima/AFP
Imagem: Sérgio Lima/AFP

Do UOL, em São Paulo

06/05/2020 14h51Atualizada em 06/05/2020 15h15

O presidente do STF (Supremo Tribunal Federal), Dias Toffoli, repudiou as agressões sofridas por profissionais do jornal O Estado de S.Paulo durante manifestação bolsonarista no último domingo (3), em Brasília. O ministro disse que, junto aos jornalistas, também foi agredida a democracia e que os ataques são "lamentáveis e intoleráveis".

"Foram agredidos profissionais e, assim, também foi agredida a democracia. Em nome da Corte, queria deixar registrado o nosso repúdio a todo e qualquer tipo de agressão aos profissionais de imprensa. Sem imprensa livre, não há liberdade de expressão e de informação. Sem imprensa livre, não há democracia", defendeu Toffoli na abertura da sessão plenária de hoje.

O ministro lembrou que no domingo, dia das agressões, celebrava-se o Dia Mundial da Liberdade de Imprensa. A data, definida pela ONU (Organização das Nações Unidas), homenageia o artigo 19 da Declaração Universal dos Direitos Humanos, que define que todo ser humano "tem direito à liberdade de opinião e expressão".

O direito, citou Toffoli, inclui a liberdade de, sem interferência, ter opiniões e de procurar, receber e transmitir informações por quaisquer meios e independentemente de fronteiras. "Trata-se, portanto, de data de elevada importância em um Estado democrático de direito, o que torna as agressões ainda mais lamentáveis e intoleráveis", condena o ministro.

Ele ainda creditou à imprensa grande parte dos avanços conquistados desde a promulgação da Constituição atual, em 1988. Segundo o presidente do STF, os jornalistas ampliaram "as fronteiras do o à informação" e têm realizado "um trabalho de excelência" durante a pandemia do novo coronavírus.

"Mais do que nunca, é momento de união. Devemos prestigiar a concórdia, a tolerância e o diálogo, bem como exercitar a solidariedade e o espírito coletivo. As divergências existem, pois elas são naturais na democracia. Como disse a filósofa Hannah Arendt —-e como venho reverberando—, o poder que não é plural é violência", acrescentou Toffoli.

Resposta às críticas ao STF

Dias Toffoli - Mateus Bonomi/AGIF/Estadão Conteúdo - Mateus Bonomi/AGIF/Estadão Conteúdo
Imagem: Mateus Bonomi/AGIF/Estadão Conteúdo

No pronunciamento, o ministro ainda rebateu os ataques ao Supremo, uma das bandeiras levantadas nas manifestações do último dia 3. Toffoli disse que as insatisfações contra decisões proferidas pela Corte devem se dar por meio dos recursos cabíveis, "jamais por meio de agressões ou de ameaças".

"O Supremo Tribunal Federal", continuou o ministro, "é a última trincheira da defesa dos direitos fundamentais e dos direitos humanos em nosso País. Estamos trabalhando para garantir segurança jurídica, a fim de que cruzemos esse momento dramático tendo como prioridade a defesa da saúde e da vida das pessoas, aliada à defesa do emprego e da capacidade produtiva."

Ao final, Toffoli reiterou não haver solução para as crises fora da legalidade constitucional e da democracia, ambas salvaguardadas pelo STF. "Todos os poderes da República e todas as instituições do Estado brasileiro devem atuar dentro dos limites da Constituição de 1988 e das leis do País, com total respeito aos valores democráticos", concluiu.