AppShell uses content::ShellBrowserContext, which is intended for testing |
||
Issue descriptionBy default, content_shell uses "content_shell" for its data path (similar to the user data dir in Chrome). app_shell uses the same, which is confusing and could create conflicts. This is where app settings, local storage and the app_shell.log file are stored. On Linux, for example, app_shell stores its browser context data in: $HOME/.config/content_shell We should change this to: $HOME/.config/app_shell by overwriting the relevant parts of ShellBrowserContext.
,
Feb 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c55719602e534de85f9a4abe7a3a33d2ecf4232a commit c55719602e534de85f9a4abe7a3a33d2ecf4232a Author: Michael Giuffrida <michaelpg@chromium.org> Date: Fri Feb 09 17:10:35 2018 Fix AppShell BrowserContextKeyedServices creation AppShell's BrowserContextKeyedServiceFactories are currently registered after the BrowserContext is created, which means that none of the services which are supposed to be created at startup are actually created. This prevents factory dependencies from working right, since factory A might declare it DependsOn factory B, but factory B's service is expected to be created with the context. Since factory B isn't registered until after the context is created, chaos ensues. Refactor ShellBrowserMainParts to register BCKSFactories first, then create the ShellBrowserContext. This also resolves a longstanding TODO to create the ShellExtensionSystem after the factories (actually, it can now participate in the normal dependency graph). It also makes the system saner: we construct globals like the ExtensionsBrowserClient first, then create a BrowserContext and its associated services. This was a bit tricky because AppShell's ShellBrowserContext derives from content_shell's content::ShellBrowserContext, whose constructor creates the services that should be created with the context. This is too early for an extensions embedder, which needs a context and prefs for ExtensionsBrowserClient to exist first. ProfileImpl gets around this by loading prefs before creating BCKS's. Bug: 724725 Change-Id: Iab23269aa1245785857a0591d683046836c3ca4f Reviewed-on: https://chromium-review.googlesource.com/908091 Reviewed-by: Ben Wells <benwells@chromium.org> Reviewed-by: Peter Beverloo <peter@chromium.org> Commit-Queue: Michael Giuffrida <michaelpg@chromium.org> Cr-Commit-Position: refs/heads/master@{#535738} [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/content/shell/browser/shell_browser_context.cc [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/content/shell/browser/shell_browser_context.h [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/BUILD.gn [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_browser_context.cc [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_browser_context_keyed_service_factories.cc [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_browser_main_parts.cc [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_browser_main_parts.h [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_extensions_browser_client.cc [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_extensions_browser_client.h [modify] https://crrev.com/c55719602e534de85f9a4abe7a3a33d2ecf4232a/extensions/shell/browser/shell_nacl_browser_delegate.cc
,
May 5 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by michae...@chromium.org
, Feb 8 2018