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/background/background_contents_service.h" | 5 #include "chrome/browser/background/background_contents_service.h" |
6 | 6 |
7 #include "apps/app_load_service.h" | 7 #include "apps/app_load_service.h" |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 // Restart the extension. | 461 // Restart the extension. |
462 RestartForceInstalledExtensionOnCrash(extension, profile); | 462 RestartForceInstalledExtensionOnCrash(extension, profile); |
463 } | 463 } |
464 break; | 464 break; |
465 } | 465 } |
466 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: | 466 case chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED: |
467 switch (content::Details<UnloadedExtensionInfo>(details)->reason) { | 467 switch (content::Details<UnloadedExtensionInfo>(details)->reason) { |
468 case UnloadedExtensionInfo::REASON_DISABLE: // Fall through. | 468 case UnloadedExtensionInfo::REASON_DISABLE: // Fall through. |
469 case UnloadedExtensionInfo::REASON_TERMINATE: // Fall through. | 469 case UnloadedExtensionInfo::REASON_TERMINATE: // Fall through. |
470 case UnloadedExtensionInfo::REASON_UNINSTALL: // Fall through. | 470 case UnloadedExtensionInfo::REASON_UNINSTALL: // Fall through. |
471 case UnloadedExtensionInfo::REASON_BLACKLIST: | 471 case UnloadedExtensionInfo::REASON_BLACKLIST: // Fall through. |
| 472 case UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN: |
472 ShutdownAssociatedBackgroundContents(base::ASCIIToUTF16( | 473 ShutdownAssociatedBackgroundContents(base::ASCIIToUTF16( |
473 content::Details<UnloadedExtensionInfo>(details)-> | 474 content::Details<UnloadedExtensionInfo>(details)-> |
474 extension->id())); | 475 extension->id())); |
475 SendChangeNotification(content::Source<Profile>(source).ptr()); | 476 SendChangeNotification(content::Source<Profile>(source).ptr()); |
476 break; | 477 break; |
477 case UnloadedExtensionInfo::REASON_UPDATE: { | 478 case UnloadedExtensionInfo::REASON_UPDATE: { |
478 // If there is a manifest specified background page, then shut it down | 479 // If there is a manifest specified background page, then shut it down |
479 // here, since if the updated extension still has the background page, | 480 // here, since if the updated extension still has the background page, |
480 // then it will be loaded from LOADED callback. Otherwise, leave | 481 // then it will be loaded from LOADED callback. Otherwise, leave |
481 // BackgroundContents in place. | 482 // BackgroundContents in place. |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 bool user_gesture, | 787 bool user_gesture, |
787 bool* was_blocked) { | 788 bool* was_blocked) { |
788 Browser* browser = chrome::FindLastActiveWithProfile( | 789 Browser* browser = chrome::FindLastActiveWithProfile( |
789 Profile::FromBrowserContext(new_contents->GetBrowserContext()), | 790 Profile::FromBrowserContext(new_contents->GetBrowserContext()), |
790 chrome::GetActiveDesktop()); | 791 chrome::GetActiveDesktop()); |
791 if (browser) { | 792 if (browser) { |
792 chrome::AddWebContents(browser, NULL, new_contents, disposition, | 793 chrome::AddWebContents(browser, NULL, new_contents, disposition, |
793 initial_pos, user_gesture, was_blocked); | 794 initial_pos, user_gesture, was_blocked); |
794 } | 795 } |
795 } | 796 } |
OLD | NEW |