| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "apps/app_shim/extension_app_shim_handler_mac.h" | 5 #include "apps/app_shim/extension_app_shim_handler_mac.h" |
| 6 | 6 |
| 7 #include "apps/app_lifetime_monitor_factory.h" | 7 #include "apps/app_lifetime_monitor_factory.h" |
| 8 #include "apps/app_shim/app_shim_host_manager_mac.h" | 8 #include "apps/app_shim/app_shim_host_manager_mac.h" |
| 9 #include "apps/app_shim/app_shim_messages.h" | 9 #include "apps/app_shim/app_shim_messages.h" |
| 10 #include "apps/app_window.h" | 10 #include "apps/app_window.h" |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 handler->OnShimFocus(host, | 260 handler->OnShimFocus(host, |
| 261 APP_SHIM_FOCUS_NORMAL, | 261 APP_SHIM_FOCUS_NORMAL, |
| 262 std::vector<base::FilePath>()); | 262 std::vector<base::FilePath>()); |
| 263 } else { | 263 } else { |
| 264 FocusWindows( | 264 FocusWindows( |
| 265 apps::AppWindowRegistry::Get(profile)->GetAppWindowsForApp(app_id)); | 265 apps::AppWindowRegistry::Get(profile)->GetAppWindowsForApp(app_id)); |
| 266 } | 266 } |
| 267 } | 267 } |
| 268 | 268 |
| 269 // static | 269 // static |
| 270 bool ExtensionAppShimHandler::RequestUserAttentionForWindow( | 270 bool ExtensionAppShimHandler::ActivateAndRequestUserAttentionForWindow( |
| 271 AppWindow* app_window) { | 271 AppWindow* app_window) { |
| 272 ExtensionAppShimHandler* handler = GetInstance(); | 272 ExtensionAppShimHandler* handler = GetInstance(); |
| 273 Profile* profile = Profile::FromBrowserContext(app_window->browser_context()); | 273 Profile* profile = Profile::FromBrowserContext(app_window->browser_context()); |
| 274 Host* host = handler->FindHost(profile, app_window->extension_id()); | 274 Host* host = handler->FindHost(profile, app_window->extension_id()); |
| 275 if (host) { | 275 if (host) { |
| 276 // Bring the window to the front without showing it. | 276 // Bring the window to the front without showing it. |
| 277 AppWindowRegistry::Get(profile)->AppWindowActivated(app_window); | 277 AppWindowRegistry::Get(profile)->AppWindowActivated(app_window); |
| 278 host->OnAppRequestUserAttention(); | 278 host->OnAppRequestUserAttention(APP_SHIM_ATTENTION_INFORMATIONAL); |
| 279 return true; | 279 return true; |
| 280 } else { | 280 } else { |
| 281 // Just show the app. | 281 // Just show the app. |
| 282 SetAppHidden(profile, app_window->extension_id(), false); | 282 SetAppHidden(profile, app_window->extension_id(), false); |
| 283 return false; | 283 return false; |
| 284 } | 284 } |
| 285 } | 285 } |
| 286 | 286 |
| 287 // static | 287 // static |
| 288 bool ExtensionAppShimHandler::RequestUserAttentionForWindow( |
| 289 AppWindow* app_window, |
| 290 AppShimAttentionType attention_type) { |
| 291 ExtensionAppShimHandler* handler = GetInstance(); |
| 292 Profile* profile = Profile::FromBrowserContext(app_window->browser_context()); |
| 293 Host* host = handler->FindHost(profile, app_window->extension_id()); |
| 294 if (host) |
| 295 host->OnAppRequestUserAttention(attention_type); |
| 296 return host; |
| 297 } |
| 298 |
| 299 // static |
| 288 void ExtensionAppShimHandler::OnChromeWillHide() { | 300 void ExtensionAppShimHandler::OnChromeWillHide() { |
| 289 // Send OnAppHide to all the shims so that they go into the hidden state. | 301 // Send OnAppHide to all the shims so that they go into the hidden state. |
| 290 // This is necessary so that when the shim is next focused, it will know to | 302 // This is necessary so that when the shim is next focused, it will know to |
| 291 // unhide. | 303 // unhide. |
| 292 ExtensionAppShimHandler* handler = GetInstance(); | 304 ExtensionAppShimHandler* handler = GetInstance(); |
| 293 for (HostMap::iterator it = handler->hosts_.begin(); | 305 for (HostMap::iterator it = handler->hosts_.begin(); |
| 294 it != handler->hosts_.end(); | 306 it != handler->hosts_.end(); |
| 295 ++it) { | 307 ++it) { |
| 296 it->second->OnAppHide(); | 308 it->second->OnAppHide(); |
| 297 } | 309 } |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 if (hosts_.empty()) | 547 if (hosts_.empty()) |
| 536 delegate_->MaybeTerminate(); | 548 delegate_->MaybeTerminate(); |
| 537 } | 549 } |
| 538 | 550 |
| 539 void ExtensionAppShimHandler::OnAppStop(Profile* profile, | 551 void ExtensionAppShimHandler::OnAppStop(Profile* profile, |
| 540 const std::string& app_id) {} | 552 const std::string& app_id) {} |
| 541 | 553 |
| 542 void ExtensionAppShimHandler::OnChromeTerminating() {} | 554 void ExtensionAppShimHandler::OnChromeTerminating() {} |
| 543 | 555 |
| 544 } // namespace apps | 556 } // namespace apps |
| OLD | NEW |