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

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

Issue 515563003: Remove dependency of chrome in WebRequestPermissions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated. Created 6 years, 3 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 "apps/metrics_names.h" 9 #include "apps/metrics_names.h"
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 &icon_small_exists); 153 &icon_small_exists);
154 value->SetString("icon_small", icon_small.spec()); 154 value->SetString("icon_small", icon_small.spec());
155 value->SetBoolean("icon_small_exists", icon_small_exists); 155 value->SetBoolean("icon_small_exists", icon_small_exists);
156 value->SetInteger("launch_container", 156 value->SetInteger("launch_container",
157 extensions::AppLaunchInfo::GetLaunchContainer(extension)); 157 extensions::AppLaunchInfo::GetLaunchContainer(extension));
158 ExtensionPrefs* prefs = ExtensionPrefs::Get(service->profile()); 158 ExtensionPrefs* prefs = ExtensionPrefs::Get(service->profile());
159 value->SetInteger("launch_type", extensions::GetLaunchType(prefs, extension)); 159 value->SetInteger("launch_type", extensions::GetLaunchType(prefs, extension));
160 value->SetBoolean("is_component", 160 value->SetBoolean("is_component",
161 extension->location() == extensions::Manifest::COMPONENT); 161 extension->location() == extensions::Manifest::COMPONENT);
162 value->SetBoolean("is_webstore", 162 value->SetBoolean("is_webstore",
163 extension->id() == extension_misc::kWebStoreAppId); 163 extension->id() == extensions::kWebStoreAppId);
164 164
165 AppSorting* sorting = prefs->app_sorting(); 165 AppSorting* sorting = prefs->app_sorting();
166 syncer::StringOrdinal page_ordinal = sorting->GetPageOrdinal(extension->id()); 166 syncer::StringOrdinal page_ordinal = sorting->GetPageOrdinal(extension->id());
167 if (!page_ordinal.IsValid()) { 167 if (!page_ordinal.IsValid()) {
168 // Make sure every app has a page ordinal (some predate the page ordinal). 168 // Make sure every app has a page ordinal (some predate the page ordinal).
169 // The webstore app should be on the first page. 169 // The webstore app should be on the first page.
170 page_ordinal = extension->id() == extension_misc::kWebStoreAppId ? 170 page_ordinal = extension->id() == extensions::kWebStoreAppId ?
171 sorting->CreateFirstAppPageOrdinal() : 171 sorting->CreateFirstAppPageOrdinal() :
172 sorting->GetNaturalAppPageOrdinal(); 172 sorting->GetNaturalAppPageOrdinal();
173 sorting->SetPageOrdinal(extension->id(), page_ordinal); 173 sorting->SetPageOrdinal(extension->id(), page_ordinal);
174 } 174 }
175 value->SetInteger("page_index", 175 value->SetInteger("page_index",
176 sorting->PageStringOrdinalAsInteger(page_ordinal)); 176 sorting->PageStringOrdinalAsInteger(page_ordinal));
177 177
178 syncer::StringOrdinal app_launch_ordinal = 178 syncer::StringOrdinal app_launch_ordinal =
179 sorting->GetAppLaunchOrdinal(extension->id()); 179 sorting->GetAppLaunchOrdinal(extension->id());
180 if (!app_launch_ordinal.IsValid()) { 180 if (!app_launch_ordinal.IsValid()) {
181 // Make sure every app has a launch ordinal (some predate the launch 181 // Make sure every app has a launch ordinal (some predate the launch
182 // ordinal). The webstore's app launch ordinal is always set to the first 182 // ordinal). The webstore's app launch ordinal is always set to the first
183 // position. 183 // position.
184 app_launch_ordinal = extension->id() == extension_misc::kWebStoreAppId ? 184 app_launch_ordinal = extension->id() == extensions::kWebStoreAppId ?
185 sorting->CreateFirstAppLaunchOrdinal(page_ordinal) : 185 sorting->CreateFirstAppLaunchOrdinal(page_ordinal) :
186 sorting->CreateNextAppLaunchOrdinal(page_ordinal); 186 sorting->CreateNextAppLaunchOrdinal(page_ordinal);
187 sorting->SetAppLaunchOrdinal(extension->id(), app_launch_ordinal); 187 sorting->SetAppLaunchOrdinal(extension->id(), app_launch_ordinal);
188 } 188 }
189 value->SetString("app_launch_ordinal", app_launch_ordinal.ToInternalValue()); 189 value->SetString("app_launch_ordinal", app_launch_ordinal.ToInternalValue());
190 } 190 }
191 191
192 void AppLauncherHandler::RegisterMessages() { 192 void AppLauncherHandler::RegisterMessages() {
193 registrar_.Add(this, chrome::NOTIFICATION_APP_INSTALLED_TO_NTP, 193 registrar_.Add(this, chrome::NOTIFICATION_APP_INSTALLED_TO_NTP,
194 content::Source<WebContents>(web_ui()->GetWebContents())); 194 content::Source<WebContents>(web_ui()->GetWebContents()));
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 // Prompt the user to re-enable the application if disabled. 499 // Prompt the user to re-enable the application if disabled.
500 if (!extension) { 500 if (!extension) {
501 PromptToEnableApp(extension_id); 501 PromptToEnableApp(extension_id);
502 return; 502 return;
503 } 503 }
504 504
505 Profile* profile = extension_service_->profile(); 505 Profile* profile = extension_service_->profile();
506 506
507 WindowOpenDisposition disposition = args->GetSize() > 3 ? 507 WindowOpenDisposition disposition = args->GetSize() > 3 ?
508 webui::GetDispositionFromClick(args, 3) : CURRENT_TAB; 508 webui::GetDispositionFromClick(args, 3) : CURRENT_TAB;
509 if (extension_id != extension_misc::kWebStoreAppId) { 509 if (extension_id != extensions::kWebStoreAppId) {
510 CHECK_NE(launch_bucket, extension_misc::APP_LAUNCH_BUCKET_INVALID); 510 CHECK_NE(launch_bucket, extension_misc::APP_LAUNCH_BUCKET_INVALID);
511 CoreAppLauncherHandler::RecordAppLaunchType(launch_bucket, 511 CoreAppLauncherHandler::RecordAppLaunchType(launch_bucket,
512 extension->GetType()); 512 extension->GetType());
513 } else { 513 } else {
514 CoreAppLauncherHandler::RecordWebStoreLaunch(); 514 CoreAppLauncherHandler::RecordWebStoreLaunch();
515 } 515 }
516 516
517 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB || 517 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB ||
518 disposition == NEW_WINDOW) { 518 disposition == NEW_WINDOW) {
519 // TODO(jamescook): Proper support for background tabs. 519 // TODO(jamescook): Proper support for background tabs.
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 Browser* browser = chrome::FindBrowserWithWebContents( 841 Browser* browser = chrome::FindBrowserWithWebContents(
842 web_ui()->GetWebContents()); 842 web_ui()->GetWebContents());
843 extension_uninstall_dialog_.reset( 843 extension_uninstall_dialog_.reset(
844 extensions::ExtensionUninstallDialog::Create( 844 extensions::ExtensionUninstallDialog::Create(
845 extension_service_->profile(), 845 extension_service_->profile(),
846 browser->window()->GetNativeWindow(), 846 browser->window()->GetNativeWindow(),
847 this)); 847 this));
848 } 848 }
849 return extension_uninstall_dialog_.get(); 849 return extension_uninstall_dialog_.get();
850 } 850 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698