Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: apps/shell/shell_extensions_browser_client.cc

Issue 151893002: Reorganize apps/shell into app, browser and common directories (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase (subdirs) Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « apps/shell/shell_extensions_browser_client.h ('k') | apps/shell/shell_extensions_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "apps/shell/shell_extensions_browser_client.h"
6
7 #include "apps/shell/shell_app_sorting.h"
8 #include "apps/shell/shell_extension_system.h"
9 #include "base/prefs/pref_service.h"
10 #include "base/prefs/pref_service_factory.h"
11 #include "base/prefs/testing_pref_store.h"
12 #include "components/user_prefs/pref_registry_syncable.h"
13 #include "components/user_prefs/user_prefs.h"
14 #include "extensions/browser/app_sorting.h"
15 #include "extensions/browser/extension_prefs.h"
16
17 using content::BrowserContext;
18
19 namespace extensions {
20 namespace {
21
22 // See chrome::RegisterProfilePrefs() in chrome/browser/prefs/browser_prefs.cc
23 void RegisterPrefs(user_prefs::PrefRegistrySyncable* registry) {
24 ExtensionPrefs::RegisterProfilePrefs(registry);
25 }
26
27 } // namespace
28
29
30 ShellExtensionsBrowserClient::ShellExtensionsBrowserClient(
31 BrowserContext* context)
32 : browser_context_(context) {
33 // Set up the preferences service.
34 base::PrefServiceFactory factory;
35 factory.set_user_prefs(new TestingPrefStore);
36 factory.set_extension_prefs(new TestingPrefStore);
37 // app_shell should not require syncable preferences, but for now we need to
38 // recycle some of the RegisterProfilePrefs() code in Chrome.
39 // TODO(jamescook): Convert this to user_prefs::PrefRegistrySimple.
40 user_prefs::PrefRegistrySyncable* pref_registry =
41 new user_prefs::PrefRegistrySyncable;
42 // Prefs should be registered before the PrefService is created.
43 RegisterPrefs(pref_registry);
44 prefs_ = factory.Create(pref_registry).Pass();
45 user_prefs::UserPrefs::Set(browser_context_, prefs_.get());
46 }
47
48 ShellExtensionsBrowserClient::~ShellExtensionsBrowserClient() {}
49
50 bool ShellExtensionsBrowserClient::IsShuttingDown() {
51 return false;
52 }
53
54 bool ShellExtensionsBrowserClient::AreExtensionsDisabled(
55 const CommandLine& command_line,
56 BrowserContext* context) {
57 return false;
58 }
59
60 bool ShellExtensionsBrowserClient::IsValidContext(BrowserContext* context) {
61 return context == browser_context_;
62 }
63
64 bool ShellExtensionsBrowserClient::IsSameContext(BrowserContext* first,
65 BrowserContext* second) {
66 return first == second;
67 }
68
69 bool ShellExtensionsBrowserClient::HasOffTheRecordContext(
70 BrowserContext* context) {
71 return false;
72 }
73
74 BrowserContext* ShellExtensionsBrowserClient::GetOffTheRecordContext(
75 BrowserContext* context) {
76 // app_shell only supports a single context.
77 return NULL;
78 }
79
80 BrowserContext* ShellExtensionsBrowserClient::GetOriginalContext(
81 BrowserContext* context) {
82 return context;
83 }
84
85 PrefService* ShellExtensionsBrowserClient::GetPrefServiceForContext(
86 BrowserContext* context) {
87 return prefs_.get();
88 }
89
90 bool ShellExtensionsBrowserClient::DeferLoadingBackgroundHosts(
91 BrowserContext* context) const {
92 return false;
93 }
94
95 bool ShellExtensionsBrowserClient::IsBackgroundPageAllowed(
96 BrowserContext* context) const {
97 return true;
98 }
99
100 void ShellExtensionsBrowserClient::OnExtensionHostCreated(
101 content::WebContents* web_contents) {
102 }
103
104 bool ShellExtensionsBrowserClient::DidVersionUpdate(BrowserContext* context) {
105 // TODO(jamescook): We might want to tell extensions when app_shell updates.
106 return false;
107 }
108
109 scoped_ptr<AppSorting> ShellExtensionsBrowserClient::CreateAppSorting() {
110 return scoped_ptr<AppSorting>(new apps::ShellAppSorting).Pass();
111 }
112
113 bool ShellExtensionsBrowserClient::IsRunningInForcedAppMode() {
114 return false;
115 }
116
117 content::JavaScriptDialogManager*
118 ShellExtensionsBrowserClient::GetJavaScriptDialogManager() {
119 // TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
120 // content_shell.
121 NOTREACHED();
122 return NULL;
123 }
124
125 std::vector<BrowserContextKeyedServiceFactory*>
126 ShellExtensionsBrowserClient::GetExtensionSystemDependencies() {
127 return ShellExtensionSystem::GetDependencies();
128 }
129
130 ExtensionSystem* ShellExtensionsBrowserClient::CreateExtensionSystem(
131 BrowserContext* context) {
132 return new ShellExtensionSystem(context);
133 }
134
135 } // namespace extensions
OLDNEW
« no previous file with comments | « apps/shell/shell_extensions_browser_client.h ('k') | apps/shell/shell_extensions_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698