| Index: chrome/browser/dom_ui/app_launcher_handler.cc
 | 
| diff --git a/chrome/browser/dom_ui/app_launcher_handler.cc b/chrome/browser/dom_ui/app_launcher_handler.cc
 | 
| index 77e3ee072ef36ac81f75dc3b32aaf97ae0d8edef..e57dfdcf19e28438ad92cc4532fd69f4bc6bc4e3 100644
 | 
| --- a/chrome/browser/dom_ui/app_launcher_handler.cc
 | 
| +++ b/chrome/browser/dom_ui/app_launcher_handler.cc
 | 
| @@ -190,6 +190,14 @@ void AppLauncherHandler::FillAppDictionary(DictionaryValue* dictionary) {
 | 
|    bool showLauncher =
 | 
|        CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableAppLauncher);
 | 
|    dictionary->SetBoolean("showLauncher", showLauncher);
 | 
| +
 | 
| +#if defined(OS_MACOSX)
 | 
| +  // App windows are not yet implemented on mac.
 | 
| +  bool disable_app_window_launch = true;
 | 
| +#else
 | 
| +  bool disable_app_window_launch = false;
 | 
| +#endif
 | 
| +  dictionary->SetBoolean("disableAppWindowLaunch", disable_app_window_launch);
 | 
|  }
 | 
|  
 | 
|  void AppLauncherHandler::HandleGetApps(const ListValue* args) {
 | 
| @@ -248,8 +256,18 @@ void AppLauncherHandler::HandleLaunchApp(const ListValue* args) {
 | 
|      old_contents = browser->GetSelectedTabContents();
 | 
|  
 | 
|    AnimateAppIcon(extension, rect);
 | 
| +
 | 
| +  extension_misc::LaunchContainer launch_container =
 | 
| +      extension->launch_container();
 | 
| +  ExtensionPrefs::LaunchType prefs_launch_type =
 | 
| +      extensions_service_->extension_prefs()->GetLaunchType(extension_id);
 | 
| +
 | 
| +  // If the user chose to open in a window, change the container type.
 | 
| +  if (prefs_launch_type == ExtensionPrefs::LAUNCH_WINDOW)
 | 
| +    launch_container = extension_misc::LAUNCH_WINDOW;
 | 
| +
 | 
|    TabContents* new_contents = Browser::OpenApplication(
 | 
| -      profile, extension, extension->launch_container(), old_contents);
 | 
| +      profile, extension, launch_container, old_contents);
 | 
|  
 | 
|    if (new_contents != old_contents && browser->tab_count() > 1)
 | 
|      browser->CloseTabContents(old_contents);
 | 
| @@ -310,7 +328,7 @@ void AppLauncherHandler::HandleHideAppsPromo(const ListValue* args) {
 | 
|    extensions_service_->default_apps()->SetPromoHidden();
 | 
|  }
 | 
|  
 | 
| -//static
 | 
| +// static
 | 
|  void AppLauncherHandler::RecordWebStoreLaunch(bool promo_active) {
 | 
|    if (!promo_active) return;
 | 
|  
 | 
| @@ -319,7 +337,7 @@ void AppLauncherHandler::RecordWebStoreLaunch(bool promo_active) {
 | 
|                              extension_misc::PROMO_BUCKET_BOUNDARY);
 | 
|  }
 | 
|  
 | 
| -//static
 | 
| +// static
 | 
|  void AppLauncherHandler::RecordAppLaunch(bool promo_active) {
 | 
|    // TODO(jstritar): record app launches that occur when the promo is not
 | 
|    // active using a different histogram.
 | 
| 
 |