;(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

Por 9 a 1, STF decide manter Weintraub no inquérito das fake news

Ministro da Educação, Abraham Weintraub - ADRIANO MACHADO
Ministro da Educação, Abraham Weintraub Imagem: ADRIANO MACHADO

Rafael Moraes Moura

Brasília

17/06/2020 14h34Atualizada em 17/06/2020 15h43

Por 9 a 1, o STF (Supremo Tribunal Federal) decidiu manter o ministro da Educação, Abraham Weintraub, na mira do inquérito que apura ameaças, ofensas e fake news disparadas contra integrantes da corte e seus familiares.

Os ministros Luiz Fux, Gilmar Mendes, Ricardo Lewandowski, Rosa Weber, Celso de Mello, Cármen Lúcia, Luís Roberto Barroso e o presidente do STF, Dias Toffoli, acompanharam o entendimento do relator, ministro Edson Fachin, de que não cabe habeas corpus contra decisão de um integrante da corte.

Este Supremo Tribunal tem jurisprudência consolidada no sentido de não caber habeas corpus contra ato de ministro no exercício da atividade
Edson Fachin, ministro do STF

O julgamento foi realizado por meio do plenário virtual do STF, no qual os ministros votam por meio de um sistema eletrônico. No plenário virtual, os ministros têm um prazo de uma semana para votar nos processos. O julgamento do habeas corpus de Weintraub começou no dia 12 e iria até o dia 19.

Hoje, o STF retomou também o julgamento da legalidade do inquérito das fake news. O tema está sendo analisado em sessão do plenário do Supremo, que durante a pandemia do novo coronavírus tem sido realizadas por meio de videoconferência.

O habeas corpus em favor de Weintraub também tem como objetivo beneficiar outros investigados no inquérito das fake news — empresários, blogueiros e ativistas que foram alvo de ofensiva da Polícia Federal recentemente. A ação contesta a atuação do relator do caso, Alexandre de Moraes, que se declarou impedido de julgar o caso.

Por outro lado, o ministro Marco Aurélio votou a favor do recurso, sob a alegação de que o habeas corpus é "ação constitucional voltada a preservar a liberdade de ir e vir do cidadão".

O próprio Planalto, por meio do ministro da Justiça, André Mendonça, enviou o habeas corpus ao Supremo. O pedido veio após Weintraub ter sido chamado a prestar esclarecimentos sobre as declarações contra o STF na reunião ministerial de 22 de abril, mas se estende "a todos aqueles que tenham sido objeto de diligências" no âmbito das investigações. Na reunião, Weintraub disse: "Botava esses vagabundos todos na cadeia, começando no STF".

Ao levantar o sigilo do vídeo da reunião ministerial, Celso de Mello apontou aparente "prática criminosa" cometida por Weintraub. Segundo o decano, a "gravíssima aleivosia" feita por Weintraub, "num discurso contumelioso e aparentemente ofensivo ao patrimônio moral" dos ministros, põe em evidência que tal afirmação configuraria possível delito contra a honra (como o crime de injúria).

Mello ainda determinou que se oficiem todos os ministros do STF sobre o fato, enviando a eles cópia de sua decisão, para que possam, "querendo, adotar as medidas que julgarem pertinentes".