the Chromium logo

The Chromium Projects

Making Chrome Independent of Extensions

This work is complementary to the work currently underway to reduce the dependence of extensions on Chrome. There may be cases where this work is blocked by that work, but there is also much that can be done toward this goal in parallel with that complementary work. The components team (most notably, yoz@ and joi@) have been involved in discussions on this work and are in agreement both on tackling the problem and on the basic approach.

Approach

****Take a given class Foo outside of extensions that directly uses extensions-related code.****

****Add observer and/or delegate interfaces to Foo that enable moving knowledge of extensions out of Foo.****

****Once Foo no longer knows anything about extensions, add a DEPS restriction such that knowledge of extensions cannot be added back to Foo. When a given directory is cleaned of extensions knowledge, this DEPS restriction can be generalized to the directory.****

****Goto 1.****
  1. When all such knowledge is removed, remove the dependence on browser_extensions from the chrome_browser target.

FAQ