Introduce lock screen app context to extension features
The context will be used for platform apps that are runnable
on Chrome OS lock screen - the context will be derived from the
containing browser process. Apps running in sign-in profile after
the user was logged in will run in 'lock screen' script context.
Because sign-in profile is Chrome concept, unknown to extensions
layer, the information will have to be relayed to extensions system.
The script context is determined in two places:
* ScriptContextSet, which determines script context used in the render
process. The script context set will be flagged as lock screen
context during renderer initialization - it will be sent from the
browser process in SetSessionInfo IPC message.
* ProcessMap, used in browser process. ProcessMaps are created per
browser context - process maps belonging to sign-in profile will be
marked as lock screen context process map (as before that point, the
sign-in profile will be used for login)
BUG=715781
Review-Url: https://codereview.chromium.org/2892403002
Cr-Commit-Position: refs/heads/master@{#478506}
diff --git a/extensions/browser/test_extensions_browser_client.h b/extensions/browser/test_extensions_browser_client.h
index ee572fa..b052034d 100644
--- a/extensions/browser/test_extensions_browser_client.h
+++ b/extensions/browser/test_extensions_browser_client.h
@@ -113,6 +113,7 @@
KioskDelegate* GetKioskDelegate() override;
scoped_refptr<update_client::UpdateClient> CreateUpdateClient(
content::BrowserContext* context) override;
+ bool IsLockScreenContext(content::BrowserContext* context) override;
ExtensionSystemProvider* extension_system_factory() {
return extension_system_factory_;