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

Side by Side Diff: chrome/browser/ui/webui/ntp/app_launcher_handler.cc

Issue 12316077: Move the parsing of app.launch related keys out of Extension class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + review comments addressed Created 7 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" 5 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 18 matching lines...) Expand all
29 #include "chrome/browser/profiles/profile.h" 29 #include "chrome/browser/profiles/profile.h"
30 #include "chrome/browser/ui/browser_finder.h" 30 #include "chrome/browser/ui/browser_finder.h"
31 #include "chrome/browser/ui/browser_tabstrip.h" 31 #include "chrome/browser/ui/browser_tabstrip.h"
32 #include "chrome/browser/ui/browser_window.h" 32 #include "chrome/browser/ui/browser_window.h"
33 #include "chrome/browser/ui/extensions/application_launch.h" 33 #include "chrome/browser/ui/extensions/application_launch.h"
34 #include "chrome/browser/ui/extensions/extension_enable_flow.h" 34 #include "chrome/browser/ui/extensions/extension_enable_flow.h"
35 #include "chrome/browser/ui/tabs/tab_strip_model.h" 35 #include "chrome/browser/ui/tabs/tab_strip_model.h"
36 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 36 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
37 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h" 37 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
38 #include "chrome/common/chrome_notification_types.h" 38 #include "chrome/common/chrome_notification_types.h"
39 #include "chrome/common/extensions/app_launcher_info.h"
39 #include "chrome/common/extensions/extension.h" 40 #include "chrome/common/extensions/extension.h"
40 #include "chrome/common/extensions/extension_constants.h" 41 #include "chrome/common/extensions/extension_constants.h"
41 #include "chrome/common/extensions/extension_icon_set.h" 42 #include "chrome/common/extensions/extension_icon_set.h"
42 #include "chrome/common/extensions/extension_resource.h" 43 #include "chrome/common/extensions/extension_resource.h"
43 #include "chrome/common/pref_names.h" 44 #include "chrome/common/pref_names.h"
44 #include "chrome/common/url_constants.h" 45 #include "chrome/common/url_constants.h"
45 #include "chrome/common/web_apps.h" 46 #include "chrome/common/web_apps.h"
46 #include "content/public/browser/notification_service.h" 47 #include "content/public/browser/notification_service.h"
47 #include "content/public/browser/web_ui.h" 48 #include "content/public/browser/web_ui.h"
48 #include "content/public/common/favicon_url.h" 49 #include "content/public/common/favicon_url.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 const Extension* extension, 108 const Extension* extension,
108 const extensions::AppNotification* notification, 109 const extensions::AppNotification* notification,
109 ExtensionService* service, 110 ExtensionService* service,
110 DictionaryValue* value) { 111 DictionaryValue* value) {
111 value->Clear(); 112 value->Clear();
112 113
113 // The Extension class 'helpfully' wraps bidi control characters that 114 // The Extension class 'helpfully' wraps bidi control characters that
114 // impede our ability to determine directionality. 115 // impede our ability to determine directionality.
115 string16 name = UTF8ToUTF16(extension->name()); 116 string16 name = UTF8ToUTF16(extension->name());
116 base::i18n::UnadjustStringForLocaleDirection(&name); 117 base::i18n::UnadjustStringForLocaleDirection(&name);
117 NewTabUI::SetUrlTitleAndDirection(value, name, extension->GetFullLaunchURL()); 118 NewTabUI::SetUrlTitleAndDirection(
119 value, name, extensions::AppLauncherInfo::GetFullLaunchURL(extension));
118 120
119 bool enabled = service->IsExtensionEnabled(extension->id()) && 121 bool enabled = service->IsExtensionEnabled(extension->id()) &&
120 !service->GetTerminatedExtension(extension->id()); 122 !service->GetTerminatedExtension(extension->id());
121 extension->GetBasicInfo(enabled, value); 123 extension->GetBasicInfo(enabled, value);
122 124
123 value->SetBoolean("mayDisable", extensions::ExtensionSystem::Get( 125 value->SetBoolean("mayDisable", extensions::ExtensionSystem::Get(
124 service->profile())->management_policy()->UserMayModifySettings( 126 service->profile())->management_policy()->UserMayModifySettings(
125 extension, NULL)); 127 extension, NULL));
126 128
127 bool icon_big_exists = true; 129 bool icon_big_exists = true;
128 // Instead of setting grayscale here, we do it in apps_page.js. 130 // Instead of setting grayscale here, we do it in apps_page.js.
129 GURL icon_big = 131 GURL icon_big =
130 ExtensionIconSource::GetIconURL(extension, 132 ExtensionIconSource::GetIconURL(extension,
131 extension_misc::EXTENSION_ICON_LARGE, 133 extension_misc::EXTENSION_ICON_LARGE,
132 ExtensionIconSet::MATCH_BIGGER, 134 ExtensionIconSet::MATCH_BIGGER,
133 false, &icon_big_exists); 135 false, &icon_big_exists);
134 value->SetString("icon_big", icon_big.spec()); 136 value->SetString("icon_big", icon_big.spec());
135 value->SetBoolean("icon_big_exists", icon_big_exists); 137 value->SetBoolean("icon_big_exists", icon_big_exists);
136 bool icon_small_exists = true; 138 bool icon_small_exists = true;
137 GURL icon_small = 139 GURL icon_small =
138 ExtensionIconSource::GetIconURL(extension, 140 ExtensionIconSource::GetIconURL(extension,
139 extension_misc::EXTENSION_ICON_BITTY, 141 extension_misc::EXTENSION_ICON_BITTY,
140 ExtensionIconSet::MATCH_BIGGER, 142 ExtensionIconSet::MATCH_BIGGER,
141 false, &icon_small_exists); 143 false, &icon_small_exists);
142 value->SetString("icon_small", icon_small.spec()); 144 value->SetString("icon_small", icon_small.spec());
143 value->SetBoolean("icon_small_exists", icon_small_exists); 145 value->SetBoolean("icon_small_exists", icon_small_exists);
144 value->SetInteger("launch_container", extension->launch_container()); 146 value->SetInteger("launch_container",
147 extensions::AppLauncherInfo::GetLaunchContainer(extension));
145 ExtensionPrefs* prefs = service->extension_prefs(); 148 ExtensionPrefs* prefs = service->extension_prefs();
146 value->SetInteger("launch_type", 149 value->SetInteger("launch_type",
147 prefs->GetLaunchType(extension, 150 prefs->GetLaunchType(extension,
148 ExtensionPrefs::LAUNCH_DEFAULT)); 151 ExtensionPrefs::LAUNCH_DEFAULT));
149 value->SetBoolean("is_component", 152 value->SetBoolean("is_component",
150 extension->location() == extensions::Manifest::COMPONENT); 153 extension->location() == extensions::Manifest::COMPONENT);
151 value->SetBoolean("is_webstore", 154 value->SetBoolean("is_webstore",
152 extension->id() == extension_misc::kWebStoreAppId); 155 extension->id() == extension_misc::kWebStoreAppId);
153 156
154 if (extension->HasAPIPermission( 157 if (extension->HasAPIPermission(
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
897 ExtensionUninstallDialog* AppLauncherHandler::GetExtensionUninstallDialog() { 900 ExtensionUninstallDialog* AppLauncherHandler::GetExtensionUninstallDialog() {
898 if (!extension_uninstall_dialog_.get()) { 901 if (!extension_uninstall_dialog_.get()) {
899 Browser* browser = chrome::FindBrowserWithWebContents( 902 Browser* browser = chrome::FindBrowserWithWebContents(
900 web_ui()->GetWebContents()); 903 web_ui()->GetWebContents());
901 extension_uninstall_dialog_.reset( 904 extension_uninstall_dialog_.reset(
902 ExtensionUninstallDialog::Create(extension_service_->profile(), 905 ExtensionUninstallDialog::Create(extension_service_->profile(),
903 browser, this)); 906 browser, this));
904 } 907 }
905 return extension_uninstall_dialog_.get(); 908 return extension_uninstall_dialog_.get();
906 } 909 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698