~chrisccoulson/oxide/+git/oxide:context-ownership-cleanup

Last commit made on 2016-09-23
Get this branch:
git clone -b context-ownership-cleanup https://git.launchpad.net/~chrisccoulson/oxide/+git/oxide
Only Chris Coulson can upload to this branch. If you are Chris Coulson please log in for upload directions.

Branch merges

Branch information

Name:
context-ownership-cleanup
Repository:
lp:~chrisccoulson/oxide/+git/oxide

Recent commits

5630412... by Chris Coulson

Add InProcessRendererObserver a bit earlier

4379466... by Chris Coulson

We need to ensure that a BrowserContext outlives any OTR BrowserContexts it created

d90892e... by Chris Coulson

Undo some unrelated changes, as this might need backporting

29a808b... by Chris Coulson

Merge remote-tracking branch 'origin/master' into context-ownership-cleanup

2124819... by Chris Coulson

Refactor ownership of BrowserContext (LP: #1503639, LP: #1626099)

Previously, BrowserContext was reference counted inside Oxide. However, it's not reference counted in Chromium which meant we needed an additional mechanism (BrowserContextDestroyer) to ensure that it outlives any RenderProcessHosts using it. As this required a custom trait for deletion, it lead to the weird scenario where BrowserContext (a non-threadsafe class inherited from base::NonThreadSafe) had to have a thread-safe reference count.

Now, the main BrowserContext is exclusively owned by the application, and is scheduled for deletion via BrowserContextDestroyer as soon as the application releases it. OTR BrowserContexts are owned by their corresponding main BrowserContext, and WebContentsUnloader schedules the OTR BrowserContext for deletion as soon as the last WebContents using it is scheduled for unload.

52d5381... by Chris Coulson

Make the ThreadChecker a member of Screen rather than a global LazyInstance, so that it can be used in Screen's destructor

b36c3b1... by Chris Coulson

Use a persistent store for the TLS Channel ID feature

9fc616d... by Chris Coulson

Ensure we actually initialize the elements of Clipboard::cached_info_ (LP: #1625122)

f098d2a... by Chris Coulson

The Screen destructor runs after the AtExitManager has already been torn down

d871252... by Chris Coulson

Ensure StoragePartitions are correctly shutdown