New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 874293 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Task



Sign in to add a comment

Split external and internal interfaces served by PrefetchService

Project Member Reported by carlosk@chromium.org, Aug 15

Issue description

PrefetchService currently implements both a small, external facing API and and internal API used but code in browser and component offline_pages folder and for the offline-internals page.

To isolate these two unrelated concerns we want to create separate classes for each of them.

*External API*

The external API will remain under a PrefetchService class that implements KeyedService but now will provide only the methods that should be visible to external clients. A break from the current approach is that it will offer those functions itself and not through other "components" accessible via its getters.

It will be implemented by a *new* PrefetchServiceImpl class

*Internal API* 

The internal API will be directly implemented -- no abstraction layer -- by a PrefetchComponents class, which will be born from the *current* PrefetchServiceImpl class. Internal users will depend directly on it instead of PrefetchService. It will remain being a "simple owner of components" and not implement any functionality itself.

Methods that are needed both externally and internally will be implemented by components owned by PrefetchComponents and PrefetchService will call into them.
 
Owner: carl...@google.com
Status: Assigned (was: Untriaged)

Sign in to add a comment