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/ui/webui/extensions/extension_activity_ui.h" | 5 #include "chrome/browser/ui/webui/extensions/extension_activity_ui.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" | 10 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 source->AddLocalizedString("extensionActivityApiBlock", | 34 source->AddLocalizedString("extensionActivityApiBlock", |
35 IDS_EXTENSION_ACTIVITY_API_BLOCK); | 35 IDS_EXTENSION_ACTIVITY_API_BLOCK); |
36 source->AddLocalizedString("extensionActivityContentScript", | 36 source->AddLocalizedString("extensionActivityContentScript", |
37 IDS_EXTENSION_ACTIVITY_CONTENT_SCRIPT); | 37 IDS_EXTENSION_ACTIVITY_CONTENT_SCRIPT); |
38 source->set_use_json_js_format_v2(); | 38 source->set_use_json_js_format_v2(); |
39 source->set_json_path("strings.js"); | 39 source->set_json_path("strings.js"); |
40 | 40 |
41 // Resources. | 41 // Resources. |
42 source->add_resource_path("extension_activity.js", IDR_EXTENSION_ACTIVITY_JS); | 42 source->add_resource_path("extension_activity.js", IDR_EXTENSION_ACTIVITY_JS); |
43 source->set_default_resource(IDR_EXTENSION_ACTIVITY_HTML); | 43 source->set_default_resource(IDR_EXTENSION_ACTIVITY_HTML); |
44 | 44 profile_ = Profile::FromWebUI(web_ui); |
45 Profile* profile = Profile::FromWebUI(web_ui); | 45 ChromeURLDataManager::AddDataSourceImpl(profile_, source); |
46 ChromeURLDataManager::AddDataSourceImpl(profile, source); | 46 ChromeURLDataManager::AddDataSource( |
47 ChromeURLDataManager::AddDataSource(profile, new SharedResourcesDataSource()); | 47 profile_, new SharedResourcesDataSource()); |
48 | 48 |
49 // Callback handlers. | 49 // Callback handlers. |
50 web_ui->RegisterMessageCallback("requestExtensionData", | 50 web_ui->RegisterMessageCallback("requestExtensionData", |
51 base::Bind(&ExtensionActivityUI::HandleRequestExtensionData, | 51 base::Bind(&ExtensionActivityUI::HandleRequestExtensionData, |
52 base::Unretained(this))); | 52 base::Unretained(this))); |
53 } | 53 } |
54 | 54 |
55 ExtensionActivityUI::~ExtensionActivityUI() { | 55 ExtensionActivityUI::~ExtensionActivityUI() { |
56 if (extension_) | 56 if (extension_) |
57 extensions::ActivityLog::GetInstance()->RemoveObserver(extension_, this); | 57 extensions::ActivityLog::GetInstance(profile_)->RemoveObserver( |
| 58 extension_, this); |
58 } | 59 } |
59 | 60 |
60 void ExtensionActivityUI::HandleRequestExtensionData( | 61 void ExtensionActivityUI::HandleRequestExtensionData( |
61 const base::ListValue* args) { | 62 const base::ListValue* args) { |
62 DCHECK_EQ(1U, args->GetSize()); | 63 DCHECK_EQ(1U, args->GetSize()); |
63 | 64 |
64 std::string extension_id; | 65 std::string extension_id; |
65 if (!args->GetString(0, &extension_id)) | 66 if (!args->GetString(0, &extension_id)) |
66 return; | 67 return; |
67 | 68 |
68 ExtensionService* extension_service = Profile::FromWebUI(web_ui())-> | 69 ExtensionService* extension_service = profile_->GetExtensionService(); |
69 GetExtensionService(); | |
70 extension_ = extension_service->GetExtensionById(extension_id, false); | 70 extension_ = extension_service->GetExtensionById(extension_id, false); |
71 if (!extension_) | 71 if (!extension_) |
72 return; | 72 return; |
73 | 73 |
74 GURL icon = | 74 GURL icon = |
75 ExtensionIconSource::GetIconURL(extension_, | 75 ExtensionIconSource::GetIconURL(extension_, |
76 extension_misc::EXTENSION_ICON_MEDIUM, | 76 extension_misc::EXTENSION_ICON_MEDIUM, |
77 ExtensionIconSet::MATCH_BIGGER, | 77 ExtensionIconSet::MATCH_BIGGER, |
78 false, NULL); | 78 false, NULL); |
79 | 79 |
80 DictionaryValue* extension_data = new DictionaryValue(); // Owned by result. | 80 DictionaryValue* extension_data = new DictionaryValue(); // Owned by result. |
81 extension_data->SetString("id", extension_->id()); | 81 extension_data->SetString("id", extension_->id()); |
82 extension_data->SetString("name", extension_->name()); | 82 extension_data->SetString("name", extension_->name()); |
83 extension_data->SetString("version", extension_->version()->GetString()); | 83 extension_data->SetString("version", extension_->version()->GetString()); |
84 extension_data->SetString("description", extension_->description()); | 84 extension_data->SetString("description", extension_->description()); |
85 extension_data->SetString("icon", icon.spec()); | 85 extension_data->SetString("icon", icon.spec()); |
86 | 86 |
87 DictionaryValue result; | 87 DictionaryValue result; |
88 result.Set("extension", extension_data); | 88 result.Set("extension", extension_data); |
89 | 89 |
90 web_ui()->CallJavascriptFunction("extension_activity.handleExtensionData", | 90 web_ui()->CallJavascriptFunction("extension_activity.handleExtensionData", |
91 result); | 91 result); |
92 | 92 |
93 extensions::ActivityLog::GetInstance()->AddObserver(extension_, this); | 93 extensions::ActivityLog::GetInstance(profile_)->AddObserver(extension_, this); |
94 } | 94 } |
95 | 95 |
96 void ExtensionActivityUI::OnExtensionActivity( | 96 void ExtensionActivityUI::OnExtensionActivity( |
97 const extensions::Extension* extension, | 97 const extensions::Extension* extension, |
98 extensions::ActivityLog::Activity activity, | 98 extensions::ActivityLog::Activity activity, |
99 const std::vector<std::string>& messages) { | 99 const std::string& message) { |
100 scoped_ptr<ListValue> messages_list(new ListValue()); | 100 scoped_ptr<ListValue> messages_list(new ListValue()); |
101 messages_list->AppendStrings(messages); | 101 messages_list->AppendString(message); |
102 | 102 |
103 DictionaryValue result; | 103 DictionaryValue result; |
104 result.SetInteger("activity", activity); | 104 result.SetInteger("activity", activity); |
105 result.Set("messages", messages_list.release()); | 105 result.Set("messages", messages_list.release()); |
106 | 106 |
107 web_ui()->CallJavascriptFunction("extension_activity.handleExtensionActivity", | 107 web_ui()->CallJavascriptFunction("extension_activity.handleExtensionActivity", |
108 result); | 108 result); |
109 } | 109 } |
OLD | NEW |