DescriptionAdding an IO Data and keyed service to previews/
Due to the need to have inter-thread communication for black listing and
other features of previews/, an IO Data object and KeyedService are
introduced. ProfileIOData owns the PreviewsIOData and a new
KeyedService, PreviewsService owns a PreviewsUIService object. The major
implementation remains in previews/, but the KeyedService is exposed to
TabHelpers (chrome/ based WebContentsObservers) and any other UI objects
that might need to access previews/. The IOData object is similarly
accessible on the IO thread, typically by embedding a raw pointer into
objects that need it (e.g., OfflinePageRequestInterceptor,
PreviewsNetworkDelegate).
The inter-thread communication model will be consumed by the previews/
opt-out black list, which will need to access the black list on the IO
thread for synchronous calls and access previews/ on the UI thread with
asynchronous calls.
BUG=639087
Committed: https://crrev.com/41832e5474cea7ddeafefac5872134408fdfefdc
Cr-Commit-Position: refs/heads/master@{#417668}
Patch Set 1 #Patch Set 2 : comment fix #Patch Set 3 : paren #Patch Set 4 : unittests #Patch Set 5 : change to unittest #
Total comments: 12
Patch Set 6 : bengr comments #Patch Set 7 : adding an owners file #
Total comments: 17
Patch Set 8 : thestig comments #
Total comments: 6
Patch Set 9 : thestig comments #
Total comments: 1
Messages
Total messages: 56 (36 generated)
|