| Index: chrome/browser/ui/webui/ntp/app_launcher_handler.cc
|
| diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
|
| index 0801e68cfb2ac77322df028ccc854f64103a02ba..cdfbc8218a0b79c4cc71ce25b78eedffe9bab68d 100644
|
| --- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
|
| +++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc
|
| @@ -117,24 +117,27 @@ void AppLauncherHandler::CreateAppInfo(const Extension* extension,
|
| bool enabled = service->IsExtensionEnabled(extension->id()) &&
|
| !service->GetTerminatedExtension(extension->id());
|
| bool icon_big_exists = true;
|
| + // Instead of setting grayscale here, we do it in apps_page.js in NTP4.
|
| + bool grayscale = NewTabUI::NTP4Enabled() ? false : !enabled;
|
| GURL icon_big =
|
| ExtensionIconSource::GetIconURL(extension,
|
| Extension::EXTENSION_ICON_LARGE,
|
| ExtensionIconSet::MATCH_EXACTLY,
|
| - !enabled, &icon_big_exists);
|
| + grayscale, &icon_big_exists);
|
| bool icon_small_exists = true;
|
| GURL icon_small =
|
| ExtensionIconSource::GetIconURL(extension,
|
| Extension::EXTENSION_ICON_BITTY,
|
| ExtensionIconSet::MATCH_BIGGER,
|
| - !enabled, &icon_small_exists);
|
| + grayscale, &icon_small_exists);
|
|
|
| value->Clear();
|
| value->SetString("id", extension->id());
|
| value->SetString("name", extension->name());
|
| value->SetString("description", extension->description());
|
| value->SetString("launch_url", extension->GetFullLaunchURL().spec());
|
| - if (enabled)
|
| + value->SetBoolean("enabled", enabled);
|
| + if (NewTabUI::NTP4Enabled() || enabled)
|
| value->SetString("options_url", extension->options_url().spec());
|
| value->SetBoolean("can_uninstall",
|
| Extension::UserMayDisable(extension->location()));
|
| @@ -147,6 +150,7 @@ void AppLauncherHandler::CreateAppInfo(const Extension* extension,
|
| value->SetInteger("launch_type",
|
| prefs->GetLaunchType(extension->id(),
|
| ExtensionPrefs::LAUNCH_DEFAULT));
|
| + value->SetBoolean("offline_enabled", extension->offline_enabled());
|
| value->SetBoolean("is_component",
|
| extension->location() == Extension::COMPONENT);
|
| value->SetBoolean("is_webstore",
|
| @@ -319,8 +323,14 @@ void AppLauncherHandler::Observe(int type,
|
| }
|
|
|
| scoped_ptr<DictionaryValue> app_info(GetAppInfo(extension));
|
| - if (app_info.get())
|
| - web_ui_->CallJavascriptFunction("ntp4.appRemoved", *app_info);
|
| + scoped_ptr<base::FundamentalValue> uninstall_value(
|
| + Value::CreateBooleanValue(
|
| + Details<UnloadedExtensionInfo>(details)->reason ==
|
| + extension_misc::UNLOAD_REASON_UNINSTALL));
|
| + if (app_info.get()) {
|
| + web_ui_->CallJavascriptFunction(
|
| + "ntp4.appRemoved", *app_info, *uninstall_value);
|
| + }
|
| break;
|
| }
|
| case chrome::NOTIFICATION_EXTENSION_LAUNCHER_REORDERED:
|
|
|