Multiprocessos do Firefox

You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!

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.