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

Jornalista denuncia masturbação com vídeo seu e recebe resposta revoltante

De Universa, em São Paulo

19/10/2022 11h34Atualizada em 19/10/2022 17h30

A jornalista Bárbara Coelho, apresentadora do "Esporte Espetacular", da TV Globo, relatou nesta quarta-feira (19) um episódio de assédio online. Um homem identificado como Rodrigo publicou um vídeo em sua conta do Twitter se masturbando com uma gravação da apresentadora.

Ao ver a publicação, na qual foi marcada, a jornalista enviou uma mensagem dizendo que o processaria. Bárbara também pediu ajuda de seus seguidores para denunciar o perfil. "Eu não quero 'ser forte' de novo. Eu estou revoltada", afirmou a apresentadora em suas redes. "Definitivamente não tenho estômago para repostar o vídeo. Mas gostaria do apoio de vocês para denunciar", disse.

Universa procurou a apresentadora. Ela afirmou que, no momento, não gostaria de falar sobre o assunto.

Bárbara, no entanto, publicou o print da mensagem do homem em seu perfil no Twitter. O usuário @rodrigo11417397 afirma que não será preso por estar se masturbando dentro de casa. "Até quem molesta mulheres nas ruas ou estupram não vão presos. Imagina eu por causa de um vídeo dentro da minha própria casa", escreveu.

Apresentadora foi vítima de 'golpe do cheiro' no Uber

Em agosto, Bárbara relatou ter sido vítima de uma tentativa de dopagem em um carro de aplicativo, conhecido como 'Golpe do cheiro'.

Ela descreveu o caso durante participação no programa "Encontro". "Quando entrei no carro eu não senti nada, eu percebi que o carro estava com um aspecto muito ruim, sujo, mas eu entrei já distraída. A gente fica muito no telefone hoje em dia", contou.

Outro lado

Procurada por Universa, a assessoria de imprensa do Twitter afirmou, por meio de nota, que a plataforma atuou de acordo com a "política de comportamento abusivo", que proíbe, por exemplo, "tweets que contenham avanços sexuais indesejados e conteúdo que objetifique sexualmente um indivíduo sem o seu consentimento".

No entanto, a nota ressalta que as medidas cabíveis nestes casos "não se restringem à suspensão da conta", por isso apenas os dois tweets com referência à Bárbara Coelho foram removidos.

Veja a nota na íntegra:

"O Twitter atuou em conteúdos da referida conta por violação à política de comportamento abusivo. Essa política proíbe, por exemplo, Tweets que contenham avanços sexuais indesejados e conteúdo que objetifique sexualmente um indivíduo sem o seu consentimento. As opções de medidas cabíveis não se restringem à suspensão da conta e variam de acordo com a violação em questão. Nesse caso, os dois Tweets foram removidos."