Throughout the chrome for android and chrome layers there are features which rely directly on WebContents and NavigationController. We care about supporting some of these in Blimp (see integration doc) so we need to decouple the dependency.
For chrome for android, these mainly consist of Java layer or front end dependencies. We can remove these by having the call sites directly hit Tab or access a NavigationController interface from Tab.
For chrome/, most of these are already hidden behind interfaces to support Bling. We just need a different implementation of that interface.
Here are a few of the more important areas to fix:
- tab_state.cc: GetContentsStateAsByteBuffer
- Toolbar.java and LocationBar.java (look throughout all of the UI)
- SyncedTabDelegateAndroid
- Look through the Java code and either remove WebContents usage or make sure the feature can handle a Tab without one.
Other interesting ones that aren't quite as critical for this release.
- TopSitesObserver
- AutofillDriver (depends on how we flesh out autofill)
- ContentSettingsProvider
Comment 1 by amineer@chromium.org
, May 25 2016