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