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

Em julho, Johnny Depp voltará ao tribunal por outra acusação de agressão

Membro da equipe do filme "Cidade de Mentiras" diz ter sido socado por Johnny Depp em 2017 - Cliff Owen/Getty Images
Membro da equipe do filme 'Cidade de Mentiras' diz ter sido socado por Johnny Depp em 2017 Imagem: Cliff Owen/Getty Images

De Splash, em São Paulo

30/05/2022 11h49

O processo de difamação movido por Johnny Depp contra Amber Heard deve chegar ao fim amanhã, mas o ator tem outra batalha judicial pela frente.

No dia 25 de julho, ele deverá comparecer a um tribunal em Los Angeles para prestar depoimento ao júri sobre uma outra acusação de agressão — desta vez, feita por um membro da equipe do filme "Cidade de Mentiras" (2018).

Gregg "Rocky" Brooks abriu o processo em junho de 2018. Na época, a BBC teve o aos documentos do processo, em que ele detalha a suposta agressão.

Segundo a agência de notícias britânica, ele diz ter sido agredido pelo ator em abril de 2017, após tentar encerrar uma gravação que já havia ado do horário predeterminado.

Brooks afirma que fez um alerta sobre o horário para o diretor do filme, que respondeu: "Por que você não diz isso para Johnny Depp?"

Ele então tentou abordar um policial de plantão no set de gravações, e Depp gritou: "Você não tem o direito de me dizer o que fazer!"

Depois, o ator deu dois socos na costela dele e ofereceu US$ 100 mil para que ele o socasse de volta. Nos documentos do processo, Brooks também diz que Johnny Depp costumava usar drogas no set e estava bêbado durante a gravação.

Segundo o site The Blast, Johnny Depp já prestou um depoimento sobre o caso em 2019 e alegou que interveio após ver que Brooks estava ofendendo uma mulher idosa em situação de rua no set de filmagens.

Além de Johnny Depp, Brooks também processou o diretor Brad Furman, a produtora Miriam Furman e a empresa Good Film Productions por demissão injusta — ele afirma que foi demitido após se recusar a uma declaração dizendo que não processaria a empresa.