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

Professor: Termo usado por Barroso associa pessoas negras a algo negativo

Do UOL, em São Paulo

05/10/2021 13h23Atualizada em 05/10/2021 15h27

Para o professor Wallace Corbo, da FGV (Fundação Getúlio Vargas), é preciso que a sociedade reflita sobre o uso de expressões que, no fundo, escondem ideias racistas e associam pessoas negras a questões negativas.

"Inveja branca é dizer que existe uma inveja negra, que é a ruim, e a inveja branca, que é uma inveja boa", disse o professor de Direito na FGV Rio em entrevista ao UOL News, programa do Canal UOL.

O termo inveja branca foi utilizado ontem por Luis Roberto Barroso, ministro do STF (Supremo Tribunal Federal) e presidente do TSE (Tribunal Superior Eleitoral), em entrevista a duas jornalistas negras — Aline Midlej e Flávia Oliveira — no canal GloboNews.

Na ocasião, Barroso disse estar sentindo uma "inveja branca" das jornalistas por elas estarem, ao contrário dele, no Rio de Janeiro. Em seguida, o ministro do Supremo, entendendo prontamente que havia utilizado um termo racista, se corrigiu e pediu desculpas.

"Perdão, perdão, imediatamente. A gente, na vida, deve saber pedir desculpas. Então, vou começar de novo. Boa noite, Aline, boa noite, Flávia, que bom que vocês estão aí no Rio. Estamos ralando aqui em Brasília", disse em seguida.

No mês ado, a apresentadora Ana Maria Braga usou a mesma expressão durante o "Mais Você", da TV Globo. No programa do dia seguinte, ela se desculpou e disse que aquilo não se repetiria.

Para Corbo, é preciso refletir sobre termos utilizados no cotidiano. "O que isso diz sobre pessoas negras?", afirmou ele, citando, como outro exemplo, a palavra denegrir — "é associar pessoas negras a algo como sujar a imagem de alguém", esclareceu.

"Essas falas, piadas e comentários são violentos para pessoas negras", explicou. "Construímos de maneira não intencional, de maneira inconsciente, esse simbolismo que associa pessoas negras a um lugar negativo", prosseguiu.

Todas as pessoas, inclusive as que se posicionam como antirracistas, estão sujeitas a acabar utilizando essas expressões, pontuou Corbo. A questão central, segundo ele, é que deve ocorrer uma constante reflexão para que esses termos sejam, gradualmente, abandonados.

"É como, de fato, parece ter acontecido com o Barroso, na medida em que ele errou e, no momento do equívoco, percebeu a gravidade do erro, pediu desculpas e tentou se corrigir", frisou.