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

Drew Barrymore lembra rejeição de Hollywood por vício em drogas aos 12 anos

Drew Barrymore se diz grata por ter carreira ativa hoje em dia
Drew Barrymore se diz grata por ter carreira ativa hoje em dia
Reprodução/Instagram

De Splash, em São Paulo

04/10/2020 09h04

Drew Barrymore se sente sortuda por ter uma carreira ativa hoje em dia, mesmo que tenha sido colocada em uma "lista proibida" de astros problemáticos de Hollywood aos 12 anos, quando foi revelado que ela era viciada em cocaína.

Hoje em dia, eu aprecio todos os trabalhos que me dão. Eu sei como é perder, sei como é trabalhar duro pelas coisas, sei como é ser sortuda e ter oportunidades incríveis. Sei tudo isso, e tudo que está no meio disso." Drew Barrymore ao The Sun

Continua depois da publicidade
Drew Barrymore aos sete anos de idade, em 'E.T.: O Extraterrestre' (1982) - Reprodução/IMDb - Reprodução/IMDb
Drew Barrymore aos sete anos de idade, em 'E.T.: O Extraterrestre' (1982)
Imagem: Reprodução/IMDb

Família atribulada

Drew desenvolveu o vício em substâncias ilegais quando sua mãe, Jaid, ou a levá-la para o infame Studio 54, a boate das estrelas de Hollywood. Aos 12 anos, ela se descrevia como uma "garota festeira", e saía para beber pelo menos cinco vezes por semana.

Drew Barrymore, aos 17 anos, em 'Relação Indecente' (1992) - Reprodução/IMDb - Reprodução/IMDb
Drew Barrymore, aos 17 anos, em 'Relação Indecente' (1992)
Imagem: Reprodução/IMDb

Após agem por clínica de reabilitação aos 13 anos e tentativa de suicídio aos 14, ela conseguiu se emancipar da mãe e, aos poucos, reconstruir a vida e a carreira. Em 1995, aos 20 anos, fundou a companhia de produção Flower Films, para criar suas próprias oportunidades.

As Panteras se reúnem (com distanciamento social) no 'The Drew Barrymore Show' - Reprodução/YouTube - Reprodução/YouTube
As Panteras se reúnem (com distanciamento social) no 'The Drew Barrymore Show'
Imagem: Reprodução/YouTube
Continua depois da publicidade

Hoje, ela é a mãe orgulhosa de duas meninas (Olive, de oito anos; e Frankie, de seis) e apresentadora do "The Drew Barrymore Show", que estreou no mês ado com uma reunião entre Drew e suas colegas de "As Panteras", Lucy Liu e Cameron Diaz.

Eu sempre estou lutando, e falhando! Uma das coisas mais importantes que eu quero ensinar para as minhas filhas — e para mim mesma, conforme cresço junto com elas — é que a mudança é algo muito importante. Mudança no mundo, mas também em você mesma." Drew Barrymore

Drew é uma inspiração!