Nas versões antigas do Firefox para PC, todo o navegador era executado num único processo do sistema operativo. Em particular, o JavaScript que executa a IU do navegador (também conhecido como "código do chrome") executa o mesmo processo como o código nas páginas da Web (também conhecido como "conteúdo" ou "conteúdo da Web").
As últimas versões do Firefox executam a IU do navegador num processo separado do conteúdo da Web. Na primeira iteração dessa arquitetura, todos os separadores do navegador funcionam no mesmo processo e a IU do navegador é executada num processo diferente. Em iterações futuras, nós esperamos ter mais doque um processo de conteúdo. O projeto que está a distribuir 'Multiprocessos do Firefox' é chamado de Electrolysis, por vezes abreviado para e10s.
As páginas da Web normais não são afetadas pelo 'Multiprocessos do Firefox'. As pessoas que trabalham no próprio Firefox e os programadores de extras do Firefox não serão afetados se o seu código depende de ser capaz de aceder diretamente ao conteúdo da Web.
Em vez de aceder ao conteúdo da web diretamente, o código do chrome terá que utilizar o gestor de mensagens. Para ajudar a facilitar esta transição, nós implementamos Cross Process Object Wrappers e alguns shims de compatibilidade para os programadores de extras. Se é um programador de extras perguntando-se a si mesmo se está ou não afetado por esta alteração, consulte o guia para trabalhar com multiprocessos do Firefox.
- Resumo técnico
- A very high-level view of how multiprocess Firefox is implemented.
- Guia de compatibilidade do conteúdo da Web
- Guidelines and details on potential Web site compatibility issues that may arise due to the transition. Tip: there aren't very many!
- Glossário
- Uma referência para o gíria utilizada em 'Multiprocessos do Firefox'.
- Gestor de mensagens
- Complete guide to the objects used to communicate between chrome and content.
- Extras baseados em SDK
- How to migrate add-ons developed using the Add-on SDK.
- Quais os URIs que carregam e onde
- A quick guide to which URIs - chrome:, about:, file:, resource: - are loaded into which process.
- Motivação
- Why we are implementing multiprocess Firefox: performance, security, and stability.
- Guia de migração de extras
- If you are an add-on developer, find out if you are affected and how to update your code.
- Cross Process Object Wrappers
- Cross Process Object Wrappers are a migration aid, giving chrome code synchronous access to content.
- Depuração de processos do conteúdo
- How to debug code running in the content process, including frame and process scripts.
- Seleção de separador nos multiprocessos do Firefox
- How switching tabs works in multiprocess Firefox.
- Limitações de chrome scripts
- Práticas que já não irão funcionar no código de chrome, e como as fixar.
- Limitações de frame scripts
- Práticas que já não irão funcionar dentro de frame scripts, e o que fazer.
Contacte-nos
Saiba mais sobre o projeto, participe, ou coloque as suas perguntas.
- Página do Projeto de Electrolysis (EN): https://wiki.mozilla.org/Electrolysis
- IRC: #e10s on irc.mozilla.org
- Lista de endereços/discussão: dev.tech.electrolysis