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/automation/automation_provider_observers.h" | 5 #include "chrome/browser/automation/automation_provider_observers.h" |
6 | 6 |
7 #include <deque> | 7 #include <deque> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 #include "chrome/common/extensions/extension_constants.h" | 71 #include "chrome/common/extensions/extension_constants.h" |
72 #include "content/public/browser/dom_operation_notification_details.h" | 72 #include "content/public/browser/dom_operation_notification_details.h" |
73 #include "content/public/browser/navigation_controller.h" | 73 #include "content/public/browser/navigation_controller.h" |
74 #include "content/public/browser/notification_service.h" | 74 #include "content/public/browser/notification_service.h" |
75 #include "content/public/browser/render_process_host.h" | 75 #include "content/public/browser/render_process_host.h" |
76 #include "content/public/browser/render_view_host.h" | 76 #include "content/public/browser/render_view_host.h" |
77 #include "content/public/browser/web_contents.h" | 77 #include "content/public/browser/web_contents.h" |
78 #include "content/public/common/process_type.h" | 78 #include "content/public/common/process_type.h" |
79 #include "extensions/browser/process_manager.h" | 79 #include "extensions/browser/process_manager.h" |
80 #include "extensions/common/extension.h" | 80 #include "extensions/common/extension.h" |
| 81 #include "extensions/common/extension_set.h" |
81 #include "extensions/common/manifest.h" | 82 #include "extensions/common/manifest.h" |
82 #include "extensions/common/view_type.h" | 83 #include "extensions/common/view_type.h" |
83 #include "ui/gfx/codec/png_codec.h" | 84 #include "ui/gfx/codec/png_codec.h" |
84 #include "ui/gfx/rect.h" | 85 #include "ui/gfx/rect.h" |
85 #include "url/gurl.h" | 86 #include "url/gurl.h" |
86 | 87 |
87 using content::BrowserThread; | 88 using content::BrowserThread; |
88 using content::DomOperationNotificationDetails; | 89 using content::DomOperationNotificationDetails; |
89 using content::DownloadItem; | 90 using content::DownloadItem; |
90 using content::DownloadManager; | 91 using content::DownloadManager; |
(...skipping 1650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1741 content::DownloadManager* manager) { | 1742 content::DownloadManager* manager) { |
1742 delete this; | 1743 delete this; |
1743 } | 1744 } |
1744 | 1745 |
1745 namespace { | 1746 namespace { |
1746 | 1747 |
1747 // Returns a vector of dictionaries containing information about installed apps, | 1748 // Returns a vector of dictionaries containing information about installed apps, |
1748 // as identified from a given list of extensions. The caller takes ownership | 1749 // as identified from a given list of extensions. The caller takes ownership |
1749 // of the created vector. | 1750 // of the created vector. |
1750 std::vector<DictionaryValue*>* GetAppInfoFromExtensions( | 1751 std::vector<DictionaryValue*>* GetAppInfoFromExtensions( |
1751 const ExtensionSet* extensions, | 1752 const extensions::ExtensionSet* extensions, |
1752 ExtensionService* ext_service) { | 1753 ExtensionService* ext_service) { |
1753 std::vector<DictionaryValue*>* apps_list = | 1754 std::vector<DictionaryValue*>* apps_list = |
1754 new std::vector<DictionaryValue*>(); | 1755 new std::vector<DictionaryValue*>(); |
1755 for (ExtensionSet::const_iterator ext = extensions->begin(); | 1756 for (extensions::ExtensionSet::const_iterator ext = extensions->begin(); |
1756 ext != extensions->end(); ++ext) { | 1757 ext != extensions->end(); ++ext) { |
1757 // Only return information about extensions that are actually apps. | 1758 // Only return information about extensions that are actually apps. |
1758 if ((*ext)->is_app()) { | 1759 if ((*ext)->is_app()) { |
1759 DictionaryValue* app_info = new DictionaryValue(); | 1760 DictionaryValue* app_info = new DictionaryValue(); |
1760 AppLauncherHandler::CreateAppInfo(ext->get(), ext_service, app_info); | 1761 AppLauncherHandler::CreateAppInfo(ext->get(), ext_service, app_info); |
1761 app_info->SetBoolean( | 1762 app_info->SetBoolean( |
1762 "is_component_extension", | 1763 "is_component_extension", |
1763 (*ext)->location() == extensions::Manifest::COMPONENT); | 1764 (*ext)->location() == extensions::Manifest::COMPONENT); |
1764 | 1765 |
1765 // Convert the launch_type integer into a more descriptive string. | 1766 // Convert the launch_type integer into a more descriptive string. |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1812 // Collect information about the apps in the new tab page. | 1813 // Collect information about the apps in the new tab page. |
1813 ExtensionService* ext_service = extensions::ExtensionSystem::Get( | 1814 ExtensionService* ext_service = extensions::ExtensionSystem::Get( |
1814 automation_->profile())->extension_service(); | 1815 automation_->profile())->extension_service(); |
1815 if (!ext_service) { | 1816 if (!ext_service) { |
1816 AutomationJSONReply(automation_.get(), reply_message_.release()) | 1817 AutomationJSONReply(automation_.get(), reply_message_.release()) |
1817 .SendError("No ExtensionService."); | 1818 .SendError("No ExtensionService."); |
1818 return; | 1819 return; |
1819 } | 1820 } |
1820 // Process enabled extensions. | 1821 // Process enabled extensions. |
1821 ListValue* apps_list = new ListValue(); | 1822 ListValue* apps_list = new ListValue(); |
1822 const ExtensionSet* extensions = ext_service->extensions(); | 1823 const extensions::ExtensionSet* extensions = ext_service->extensions(); |
1823 std::vector<DictionaryValue*>* enabled_apps = GetAppInfoFromExtensions( | 1824 std::vector<DictionaryValue*>* enabled_apps = GetAppInfoFromExtensions( |
1824 extensions, ext_service); | 1825 extensions, ext_service); |
1825 for (std::vector<DictionaryValue*>::const_iterator app = | 1826 for (std::vector<DictionaryValue*>::const_iterator app = |
1826 enabled_apps->begin(); app != enabled_apps->end(); ++app) { | 1827 enabled_apps->begin(); app != enabled_apps->end(); ++app) { |
1827 (*app)->SetBoolean("is_disabled", false); | 1828 (*app)->SetBoolean("is_disabled", false); |
1828 apps_list->Append(*app); | 1829 apps_list->Append(*app); |
1829 } | 1830 } |
1830 delete enabled_apps; | 1831 delete enabled_apps; |
1831 // Process disabled extensions. | 1832 // Process disabled extensions. |
1832 const ExtensionSet* disabled_extensions = ext_service->disabled_extensions(); | 1833 const extensions::ExtensionSet* disabled_extensions = |
| 1834 ext_service->disabled_extensions(); |
1833 std::vector<DictionaryValue*>* disabled_apps = GetAppInfoFromExtensions( | 1835 std::vector<DictionaryValue*>* disabled_apps = GetAppInfoFromExtensions( |
1834 disabled_extensions, ext_service); | 1836 disabled_extensions, ext_service); |
1835 for (std::vector<DictionaryValue*>::const_iterator app = | 1837 for (std::vector<DictionaryValue*>::const_iterator app = |
1836 disabled_apps->begin(); app != disabled_apps->end(); ++app) { | 1838 disabled_apps->begin(); app != disabled_apps->end(); ++app) { |
1837 (*app)->SetBoolean("is_disabled", true); | 1839 (*app)->SetBoolean("is_disabled", true); |
1838 apps_list->Append(*app); | 1840 apps_list->Append(*app); |
1839 } | 1841 } |
1840 delete disabled_apps; | 1842 delete disabled_apps; |
1841 // Process terminated extensions. | 1843 // Process terminated extensions. |
1842 const ExtensionSet* terminated_extensions = | 1844 const extensions::ExtensionSet* terminated_extensions = |
1843 ext_service->terminated_extensions(); | 1845 ext_service->terminated_extensions(); |
1844 std::vector<DictionaryValue*>* terminated_apps = GetAppInfoFromExtensions( | 1846 std::vector<DictionaryValue*>* terminated_apps = GetAppInfoFromExtensions( |
1845 terminated_extensions, ext_service); | 1847 terminated_extensions, ext_service); |
1846 for (std::vector<DictionaryValue*>::const_iterator app = | 1848 for (std::vector<DictionaryValue*>::const_iterator app = |
1847 terminated_apps->begin(); app != terminated_apps->end(); ++app) { | 1849 terminated_apps->begin(); app != terminated_apps->end(); ++app) { |
1848 (*app)->SetBoolean("is_disabled", true); | 1850 (*app)->SetBoolean("is_disabled", true); |
1849 apps_list->Append(*app); | 1851 apps_list->Append(*app); |
1850 } | 1852 } |
1851 delete terminated_apps; | 1853 delete terminated_apps; |
1852 ntp_info_->Set("apps", apps_list); | 1854 ntp_info_->Set("apps", apps_list); |
(...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2645 if (automation_.get()) { | 2647 if (automation_.get()) { |
2646 AutomationJSONReply(automation_.get(), reply_message_.release()) | 2648 AutomationJSONReply(automation_.get(), reply_message_.release()) |
2647 .SendSuccess(NULL); | 2649 .SendSuccess(NULL); |
2648 } | 2650 } |
2649 delete this; | 2651 delete this; |
2650 } | 2652 } |
2651 } else { | 2653 } else { |
2652 NOTREACHED(); | 2654 NOTREACHED(); |
2653 } | 2655 } |
2654 } | 2656 } |
OLD | NEW |