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

Mauricio Stycer

Coppolla critica CNN Brasil pela "injustiça" que cometeu ao demitir Narloch

Caio Coppolla disse que a CNN Brasil cometeu uma "injustiça" ao demitir o comentarista Leandro Narloch - Reprodução
Caio Coppolla disse que a CNN Brasil cometeu uma "injustiça" ao demitir o comentarista Leandro Narloch Imagem: Reprodução

Colunista do UOL

19/08/2020 13h30

Um dos comentaristas com mais prestígio na CNN Brasil, Caio Coppolla criticou a decisão do canal de demitir o jornalista Leandro Narloch em julho. Durante a sua participação no "Grande Debate", nesta terça-feira (18), o comentarista classificou a atitude do canal como uma "injustiça" e atribuiu o "linchamento" sofrido pelo comentarista à colocação de uma vírgula inexistente na sua fala.

Na visão de Coppolla, Narloch não associou os homossexuais à promiscuidade, como se depreendeu do comentário feito no dia 8 de julho. O jornalista "foi tachado de homofóbico e preconceituoso" por causa de uma má "interpretação gramatical de texto", defendeu o comentarista.

Naquele dia, Narloch falou num telejornal do canal sobre o fim da restrição à doação de sangue por homens gays, decidida pelo STF em maio e oficializada pela Anvisa em julho. A sua fala sofreu três questionamentos principais.

O comentarista usou o termo "opção sexual" em vez de "orientação sexual" para se referir aos homossexuais. Disse que "os homens gays têm uma chance muito maior de ter Aids". E, por fim, e mais grave, associou esta parte da população a um comportamento promíscuo.

Coppolla classificou o primeiro ponto como uma "crítica lateral", citou pesquisas publicadas em jornais que confirmam, segundo ele, a correção do segundo ponto e observou que houve má interpretação do terceiro ponto.

Foi em relação a este terceiro tópico que Coppolla se referiu mais detidamente: "Ele disse claramente: 'O critério já restringe os gays que tem comportamento promíscuo'. Não tem vírgula na frase. Portanto, ele não faz referência a todos os gays, mas a uma amostra promíscua dentro desse grupo, assim como existe entre os heterossexuais", defendeu.

Coppolla recorreu, segundo ele, às normas internas de redação da CNN para fazer esta crítica ao canal.

Disse ele: "Em solidariedade ao colega, e seguindo o manifesto desta emissora, que privilegia os fatos em detrimento de suas enviesadas interpretações, eu retomo alguns trechos da fala do Leandro Narloch para que a nossa audiência tenha a exata dimensão da injustiça perpetrada contra ele sob a égide da cultura do cancelamento e do politicamente correto."

E acrescentou: "Pelos seus comentários, foi tachado de homofóbico e preconceituoso, acusações que são bem distantes da realidade que nós, aqui da redação, conhecemos. Pior, ele teve prejuízos financeiros por causa do episódio, que afetou, inclusive, a sua vida profissional".

Fiz duas perguntas à CNN Brasil. Por que Narloch foi demitido? Concorda que foi uma "injustiça" a demissão? A resposta enviada pelo canal não aborda diretamente nenhuma das duas questões.

"O comentário feito por Caio Coppolla reflete a liberdade que garantimos a nossos debatedores para levarem suas opiniões ao público. É mais uma prova da transparência com que a CNN lida com os debates e entrevistas", disse o canal.

"Sobre demissões ou contratações de profissionais, elas são decididas em ambiente corporativo da CNN Brasil, de forma rotineira e técnica, levando em conta necessidades e interesses corporativos, como é comum em qualquer companhia."